`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 1 of 19
`
`EXHIBIT 8
`
`EXHIBIT 8
`
`
`
`
`
`
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 2 of 19
`I 1111111111111111 11111 lllll lllll lllll lllll 111111111111111 111111111111111111
`US008583489B2
`
`c12) United States Patent
`Funk et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,583,489 B2
`*Nov. 12, 2013
`
`(54) GENERATING A MEDIA CONTENT
`AVAILABILITY NOTIFICATION
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(75)
`
`Inventors: Gregory Allan Funk, San Francisco,
`CA (US); Vincent Dureau, Palo Alto,
`CA (US); Rich Bragg, Los Altos, CA
`(US)
`
`(73)
`
`Assignee: Google, Inc., Mountain View, CA (US)
`
`( *)
`
`Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 13/595,737
`
`(22) Filed:
`
`Aug. 27, 2012
`
`(65)
`
`Prior Publication Data
`
`US 2013/0091215 Al
`
`Apr. 11, 2013
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 13/253,794, filed on
`Oct. 5, 2011, now Pat. No. 8,271,334.
`
`(51)
`
`Int. Cl.
`G06F 3/00
`G06F 17130
`(52) U.S. Cl.
`USPC ..................... 705/14.73; 705/14.19; 709/204;
`725/39; 725/101
`
`(2006.01)
`(2006.01)
`
`( 58) Field of Classification Search
`USPC .................................. 705/14.19; 725/39, 101
`See application file for complete search history.
`
`7,769,775 B2
`2002/0120564 Al
`2005/0071323 Al
`2005/0119936 Al*
`2006/0173985 Al
`2007/0073593 Al
`2007 /0208688 Al
`2007/0214485 Al*
`2008/0295131 Al *
`2009/0132527 Al
`2010/0153448 Al
`
`8/2010 Yuen
`8/2002 Strietzel
`3/2005 Gabriel et al.
`6/2005 Buchanan et al ............... 705/14
`8/2006 Moore
`3/2007 Perry et al.
`9/2007 Bandhole et al.
`9/2007 Bodin et al.
`.................. 725/101
`11/2008 Grover et al. ................... 725/39
`5/2009 Sheshagiri et al.
`6/2010 Harpur et al.
`
`FOREIGN PATENT DOCUMENTS
`
`KR
`KR
`
`1/2009
`10-2009-0006504
`5/2010
`10-2010-0053134
`OTHER PUBLICATIONS
`
`International Search Report and Written Opinion for PCT/US2012/
`054873, dated Mar. 11, 2013, 10 pages.
`
`* cited by examiner
`Primary Examiner -
`John G Weiss
`Assistant Examiner - Marilyn G Macasiano
`(74) Attorney, Agent, or Firm -Foley and Lardner LLP;
`John D. Lanza
`
`ABSTRACT
`(57)
`Systems and methods for bookmarking media content for
`future availability are described. The method includes receiv(cid:173)
`ing a receiving a request for media content and user account
`data for a plurality of unique online content sources. The
`method also includes requesting content availability data
`from the plurality of unique online content sources and using
`received content availability data to generate a notification.
`Pricing information, the media format, and notification pref(cid:173)
`erences may be used to further configure the searches and
`notifications.
`
`20 Claims, 5 Drawing Sheets
`
`400
`
`406
`
`408
`
`Processing Circuit
`
`Input
`
`Output
`
`404
`
`~--P_r_oc_e_ss_or __ +-~ 402
`DVR 1/ 418
`
`416
`
`Memory
`
`User Account
`Data
`
`Search
`Parameters
`
`Suggestion
`Engine
`
`Notification
`Settings
`
`Notification
`Generator
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 3 of 19
`
`U.S. Patent
`
`Nov. 12, 2013
`
`Sheet 1 of 5
`
`US 8,583,489 B2
`
`1 00~
`
`Content Source 1
`
`108
`
`Content Source n
`
`110
`
`Processor
`
`Memory
`
`• • •
`
`Processor
`
`Memory
`
`112
`
`Processor
`
`Memory
`
`Processor
`
`Memory
`
`FIG. 1
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 4 of 19
`
`U.S. Patent
`
`Nov. 12, 2013
`
`Sheet 2 of 5
`
`US 8,583,489 B2
`
`200,
`
`20 4 '-
`
`I
`
`202
`
`, I
`
`User Preferences - Content Sources
`
`.......... L...- 206
`
`Content Source
`
`lxvxv
`
`1 ~207
`
`Account Information
`
`IAAA
`
`1~208
`
`Preferred Source? 0~209
`
`Priority Rank
`
`I
`
`3 1~210
`
`FIG. 2A
`
`202
`
`200,
`
`216
`
`204
`
`~-..--212
`
`Season 6 of the Z-Files is
`now available on XYXY
`
`I> D 00
`
`FIG. 28
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 5 of 19
`
`U.S. Patent
`
`Nov. 12, 2013
`
`Sheet 3 of 5
`
`US 8,583,489 B2
`
`4
`20
`
`"-
`
`22
`0
`
`-
`
`22 4
`
`22 6
`
`200~
`
`-....
`
`\
`
`202
`I
`
`--
`Napoleon TNT (2001) -
`Watch Now - Streaming $5 I
`Notifications
`Content Sources
`Content Format
`Notification Format
`Related Content
`DVR It?
`Unavailable?
`Price
`
`222
`
`I A
`/ ,
`~
`
`r
`
`r
`
`r
`
`r
`
`I
`I
`I
`I
`I
`I
`I
`r
`~ 2 42
`
`FIG. 2C
`
`' • Bob suggests ...
`! You might like ...
`! The Z-Files is now
`
`playing
`
`300
`
`304
`
`312
`
`306
`
`308
`
`310
`
`314
`
`228
`230
`232
`234
`236
`238
`240
`
`FIG. 3
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 6 of 19
`
`U.S. Patent
`
`Nov. 12, 2013
`
`Sheet 4 of 5
`
`US 8,583,489 B2
`
`400
`
`406
`
`408
`
`Processing Circuit
`
`Input
`
`Output
`
`404
`
`402
`____ P_ro_c_e_ss_o_r ___ j--_
`
`Memory
`
`410
`
`- - - -..... 416
`
`DVR y
`
`-
`
`418
`
`User Account
`Data
`
`Search
`Parameters
`
`Notification
`Settings
`
`Notification
`Generator
`
`Suggestion
`Engine
`
`Search Engine
`
`FIG. 4
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 7 of 19
`
`U.S. Patent
`
`Nov. 12, 2013
`
`Sheet 5 of 5
`
`US 8,583,489 B2
`
`Receive a selection of media content and content delivery
`references
`
`500
`
`~
`
`504
`
`Request content availability data from a plurality of unique
`sources based on the selection of media content and
`content delivery preferences
`
`Receive the content availability data at a processing circuit
`
`Use the content availability data to generate a notification
`
`FIG. 5
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 8 of 19
`
`US 8,583,489 B2
`
`1
`GENERATING A MEDIA CONTENT
`AVAILABILITY NOTIFICATION
`
`CONTINUITY DATA
`
`The present application is a continuation of, and claims
`priority to, U.S. patent application Ser. No. 13/253,794 filed
`Oct. 5, 2011, which is incorporated by reference herein in its
`entirety.
`
`BACKGROUND
`
`5
`
`The present disclosure relates generally to determining if
`media content is available from different content sources. The
`present disclosure more specifically relates to notifying a user
`when the availability of the media content changes.
`In today's digital age, media content such as movies, video
`clips, television shows, music, etc., is becoming available
`from an ever-increasing number of different content sources.
`For example, the same movie may be shown in a movie
`theater, broadcast on television, released on physical media
`(e.g., DVD, Blu-Ray VHS, etc.), made available to certain
`entities ( e.g., institutions, hospitals, airlines, etc.), or placed
`on an online source for download or streaming. The timing of
`when media content is available from the different content
`sources can also differ. For example, a movie may only be
`shown in a movie theater for a limited period of time, fol(cid:173)
`lowed by a period of time in which it is available via on(cid:173)
`demand television or online streaming, before being released
`for download or on a physical media format. This increase in 30
`the number of different content sources, combined with the
`increase in disparate release schedules for media content,
`often leads to confusion among consumers.
`
`SUMMARY
`
`2
`and the user account data. The content availability data indi(cid:173)
`cates whether the selection of media content is available to a
`user account in the user account data. The processing circuit
`is further configured to receive the content availability data
`from the plurality of unique online content sources. The pro(cid:173)
`cessing circuit is additionally configured to use the content
`availability data to generate a notification for an electronic
`device. The notification indicates that the selection of media
`content is available to at least one user account in the user
`10 account data from at least one of the plurality of unique online
`content sources.
`A further implementation is one or more computer-read(cid:173)
`able media having instructions therein. The instructions are
`executable by one or more processors to execute a method.
`15 The method includes receiving, at the one or more processors,
`a selection of media content and content delivery preferences.
`The content delivery preferences include a selection of a
`plurality of unique online content sources and user account
`data for the plurality of unique online content sources. The
`20 method also includes requesting, over a network, content
`availability data from the plurality of unique online content
`sources based at least in part on the selection of media content
`and the user account data. The content availability data indi(cid:173)
`cates whether the selection of media content is available to a
`25 user account in the user account data. The method further
`includes receiving, at the one or more processors, the content
`availability data. The method additionally includes using the
`content availability data to generate a notification for an elec-
`tronic device. The notification indicates that the selection of
`media content is available to at least one user account in the
`user account data from at least one of the plurality of unique
`online content sources.
`These implementations are mentioned not to limit or define
`the scope of this disclosure, but to provide examples ofimple-
`35 mentations to aid in understanding thereof. Particular imple(cid:173)
`mentations can be developed to realize one or more of the
`following advantages.
`
`Implementations of the systems and methods for book(cid:173)
`marking media content for future availability are described
`herein. One implementation is a method for generating a
`media content availability notification. The method includes 40
`receiving, at a processing circuit, a selection of media content
`and content delivery preferences. The content delivery pref(cid:173)
`erences include a selection of a plurality of unique online
`content sources and user account data for the plurality of
`unique online content sources. The method also includes 45
`requesting, over a network, content availability data from the
`plurality of unique online content sources based at least in
`part on the selection of media content and the user account
`data. The content availability data indicates whether the
`selection of media content is available to a user account in the 50
`user account data. The method additionally includes receiv(cid:173)
`ing, at the processing circuit, the content availability data. The
`method further includes using the content availability data to
`generate a notification for an electronic device. The notifica(cid:173)
`tion indicates that the selection of media content is available 55
`to at least one user account in the user account data from at
`least one of the plurality of unique online content sources.
`Another implementation is a processing circuit configured
`to generate a media content availability notification. The pro(cid:173)
`cessing circuit is further configured to receive a selection of
`media content and content delivery preferences. The content
`delivery preferences include a selection of a plurality of
`unique online content sources and user account data for the
`plurality of unique online content sources. The processing
`circuit is also configured to request, over a network, content 65
`availability data from the plurality of unique online content
`sources based at least in part on the selection of media content
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The details of one or more implementations are set forth in
`the accompanying drawings and the description below. Other
`features, aspects, and advantages of the disclosure will
`become apparent from the description, the drawings, and the
`claims.
`FIG. 1 is a block diagram of a computer system in accor(cid:173)
`dance with a described implementation;
`FIG. 2A is an illustration of a system for searching media
`content, according to one example;
`FIG. 2B is an illustration of an application displayed by the
`system in FIG. 2A, according to another example;
`FIG. 2C is an illustration ofa search result screen displayed
`by the system in FIG. 2A, according to another example;
`FIG. 3 is an illustration of a mobile device, according to
`one implementation;
`FIG. 4 is a schematic block diagram of a processing circuit
`configured to search for media content; and
`FIG. 5 is a flow diagram of a process for generating a media
`content availability notification, according to one implemen-
`60 tation.
`
`DETAILED DESCRIPTION
`
`According to some aspects of the present disclosure, noti(cid:173)
`fications regarding the availability of media content from
`different content sources can be generated based on user
`preferences. In this way, media content may be "book-
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 9 of 19
`
`US 8,583,489 B2
`
`3
`marked" for future availability. Examples of user preferences
`include preferences that allow the user to specify which con(cid:173)
`tent sources to search, whether to also search for related
`content ( e.g., a single TV episode vs. an entire series, a book
`or video game related to a piece of content, etc.), and the 5
`format of the content ( e.g., broadcast television, online
`streaming, DVD, etc.). User authorizations to access various
`content sources can be stored in the system ( client and/or
`server side) and used to search only those content sources to
`which the user has access. Pricing information can also be
`used to further tailor the notifications. For example, a user can
`opt to be notified when a movie becomes available from a free
`source, from a free source with advertisements, from a pay
`service to which the user subscribes, and/or when the cost to
`view the content is below a certain price threshold.
`Referring to FIG. 1, a block diagram of a computer system
`in accordance with a described implementation is shown.
`System 100 is shown to include client 102 which communi(cid:173)
`cates with server 104 via network 106. System 100 also
`includes a plurality of content sources ranging from a first
`content source 108up to an nth content source 110. Client 102
`and/or server 104 also communicate with content sources
`108, 110 via network 106.
`Network 106 may be any form of computer network that
`relays information between client 102, server 104, and con(cid:173)
`tent sources 108, 110. For example, network 106 may include
`the Internet and/or other types of data networks, such as a
`local area network (LAN), a wide area network (WAN), a
`cellular network, satellite network, or other types of data
`networks. Network 106 may also include any number of
`computing devices ( e.g., computer, servers, routers, network
`switches, etc.) that are configured to receive and/or transmit
`data within network 106. Network 106 may further include
`any number of hardwired and/or wireless connections. For
`example, client 102 may communicate wirelessly (e.g., via 35
`WiFi, cellular, radar, etc.) with a transceiver that is hardwired
`(e.g., via a fiber optic cable, a CATS cable, etc.) to other
`computing devices in network 106.
`Client 102 may be any number of different user electronic
`devices configured to communicate via network 106 ( e.g., a 40
`laptop computer, a desktop computer, a tablet computer, a
`smartphone, a digital video recorder, a set-top box for a tele(cid:173)
`vision, a video game console, etc.). Client 102 is shown to
`include processor 112 and memory 114. Memory 114 stores
`machine instructions that, when executed by processor 112, 45
`cause processor 112 to implement one or more of the methods
`described herein. Processor 112 may include a microproces(cid:173)
`sor, ASIC, FPGA, etc., or combinations thereof. Memory 114
`may include, but is not limited to, electronic, optical, mag(cid:173)
`netic, or any other storage or transmission device capable of 50
`providing processor 112 with program instructions. Memory
`114 may further include a floppy disk, CD-ROM, DVD, mag(cid:173)
`netic disk, memory chip, ASIC, FPGA, ROM, RAM,
`EEPROM, EPROM, flash memory, optical media, or any
`other suitable memory from which processor 112 can read 55
`instructions. The instructions may include code from any
`suitable computer-programming language, such as, but not
`limited to, C, C++, C#, Java, JavaScript, Perl, Python and
`Visual Basic.
`Client 102 may also include one or more user interface
`devices. A user interface device may be any electronic device
`that conveys data to a user by generating sensory information
`(e.g., a visualization on a display, one or more sounds, etc.)
`and/ or converts received sensory information from a user into
`electronic signals ( e.g., a keyboard, a mouse, a pointing 65
`device, a touch screen display, a microphone, etc.). The one or
`more user interface devices may be internal to the housing of
`
`4
`client 102 ( e.g., a built-in display, microphone, etc.) or exter(cid:173)
`nal to the housing of client 102 ( e.g., a monitor connected to
`client 102, a speaker connected to client 102, etc.), according
`to various implementations.
`Content sources 108, 110 are also electronic devices con-
`nected to network 106 and provide media content to client
`102. For example, content sources 108,110 maybe computer
`servers (e.g., FTP servers, file sharing servers, web servers,
`etc.) or other devices that provide media content to client 102
`10 via network 106. In some cases, content sources 108,110 may
`not provide media content via network 106, but provide infor(cid:173)
`mation about the availability of other media formats. For
`example, a content source may provide a movie schedule, a
`television schedule, an electronic prograniming guide, avail-
`15 ability information regarding a physical media format ( e.g., a
`DVD, a Blu-Ray, a VHS tape, etc.), or other availability data
`to server 104. In some implementations, one or more content
`sources may utilize authorizations ( e.g., user accounts, pass(cid:173)
`words, encryption keys, etc.) to restrict access to media con-
`20 tent. For example, content source 108 may require a paid
`subscription to access its media content, while content source
`110 may charge for an individual piece of content. In some
`implementations, content sources 108, 110 may also include
`search functions that allow client 102, server 104, and/or
`25 other devices on network 106 to query the availability of
`media content. For example, client 102 may send a search
`request to content source 108 for a particular movie. In
`response, content source 108 may provide data back to client
`102 indicative of whether or not the content is available,
`30 whether or not a particular user account is authorized to
`access the content, pricing information, and other relevant
`information.
`Server 104 may be one or more computing devices on
`network 106 that facilitate the searching of content sources
`108, 110 for media content. In some implementations, server
`104 may provide one or more interfaces (e.g., displayed
`webpages, etc.) to an interface device of client 102. For
`example, client 102 may store a web browser that can receive
`web pages from server 104 to search for media content acces(cid:173)
`sibility. In other implementations, the search interfaces may
`be local to client 102 ( e.g., an application, program, script,
`etc., that is running on client 102) and updated using infor(cid:173)
`mation from server 104 (e.g., by making API calls, SQL
`queries, etc.). For example, client 102 may store a media
`player or other application in memory 114 that allows a user
`to access media content, when executed. The media player
`application may also include the ability to send search queries
`to server 104 for media content availability.
`Server 104 aggregates media content availability informa(cid:173)
`tion from content sources 108, 110, in response to receiving a
`selection of media content from client 102. In some imple(cid:173)
`mentations, server 104 may use the received selection to
`generate and send search queries to content sources 108, 110
`for the availability of the content. For example, client 102
`may receive a selection of a particular movie from an inter(cid:173)
`face device and request content availability information from
`server 104. In response to receiving the request, server 104
`may generate corresponding search requests for availability
`information from content sources 108, 110. Server 104 may
`60 then send one or more notifications back to client 102 that
`report the results of the searches of content server 108, 110.
`Notifications may include any form of electronic notifica(cid:173)
`tion for a user electronic device. For example, a notification
`may include text or other visual indicia for display by client
`102, one or more sounds generated by a speaker of client 102,
`and other ways of conveying information to a user via client
`102. Notification formats may include, in various implemen-
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 10 of 19
`
`US 8,583,489 B2
`
`5
`
`5
`tations, an email, a notification within a running application
`(e.g., a popup window, a notification icon, etc.), a text mes(cid:173)
`sage to a mobile device, a web feed or stream (e.g., an RSS
`feed, etc.), a notification via a social networking account, and
`other forms of notifications for notifying a user via an elec(cid:173)
`tronic device about the availability of media content. In other
`implementations, a notification may be a webpage that dis(cid:173)
`plays the availability of requested media content or an anno(cid:173)
`tation on a detail screen ( e.g., providing details about the
`media content) that highlights availability.
`Referring now to FIG. 2A, a system for searching media
`content is shown, according to one example. System 200
`includes media receiver 202 and display 204 ( e.g., a television
`set, a monitor, etc.). According to various implementations,
`media receiver 202 and display 204 may share the same
`housing or may be separate devices that communicate elec(cid:173)
`tronically with one another (such as in a case where media
`receiver is embodied as a set-top box). For example, display
`204 may be a television set that integrates the processing
`electronics of media receiver 202. In other implementations,
`system 200 may be a mobile device, a computer, or other user
`electronic device that includes a display coupled to a process(cid:173)
`ing circuit and performs the functions of media receiver 202
`described herein. Media receiver 202 may comprise any type
`of media processing device, such as an internet video stream- 25
`ing receiver box, a "Smart T.V.", a companion device, a web/
`t.v. integration device, a media player such as a Blu-Ray
`player or DVD player, a cable or satellite TV receiver, or other
`media receiver.
`Set-top box 202 receives media content from content pro(cid:173)
`viders via a network ( e.g., the Internet, a VPN, a WAN, etc.)
`and provides the media content to a user via display 204. For
`example, display 204 may be configured to play video and/or
`audio received via set-top box 202. Set-top box 202 is also
`configured to transmit data ( e.g., account information such as
`log-in credentials, search requests, etc.) to the content pro(cid:173)
`viders, in order to access the media content. Set-top box 202
`may include, for example, one or more applications that allow
`a user to define which content sources are to be accessed by
`set-top box 202.
`In some implementations, an application running on set(cid:173)
`top box 202 may provide one or more configuration screens
`that allow a user to configure the content sources to be
`accessed by set-top box 202. For example, configuration
`screen 206 may be presented by set-top box 202 to display
`204. Configuration screen 206 may include any number of
`different mechanisms for receiving input related to accessing
`a content source. For example, configuration screen 206 may
`include one or more check boxes, text fields, drop-down
`menus, icons, selectable graphics, and other mechanisms for
`receiving input from an interface device of display 204 ( e.g.,
`from a pointing device, a keypad, a touchscreen, etc.). Data
`relating to accessing a content source may include, for
`example, the name of the content source, an address for the
`content source on the network, account information for the
`content source, whether the content source is a preferred
`source, or a priority rank for the content source.
`As shown, configuration screen 206 includes input 207 for
`receiving an identifier of the content source. For example,
`input 207 may receive an identifier of the name of the content
`source and/or an address for the content source on the net(cid:173)
`work (e.g., a web address, an IP address, or other unique
`identifier). In some implementations, input 207 may be a
`dropdown box or other input field that allows a user to select
`the name of the content source. In such a case, the address of 65
`the content source may be associated with the selected name,
`thereby saving the user from having to enter the address. In
`
`6
`other implementations, input 207 may include multiple fields
`for input of the name of the content provider, as well as the
`address of the content provider.
`Configuration screen 206 also includes input 208 for
`receiving account information for the content source (e.g., a
`login identifier, a password, a digital certificate, etc.). If the
`content source entered in input 207 accepts user account
`information, the account information may be entered into
`input 208 and used by set-top box 202 to access the content
`10 source. Depending on the content source, account informa(cid:173)
`tion may or may not be required. For example, a content
`source may provide a free service that does not require an
`account and a restricted service that requires an account to
`access certain content ( e.g., paid content, content restricted to
`15 certain age groups, etc.). In another example, a content source
`may require an account to access any content that it provides.
`In further implementations, set-top box 202 may include a
`separate application that is specific to the content source and
`used to access the content source ( e.g., the content source has
`20 its own application on set-top box 202). In such cases, the
`account information may be stored via that application and
`configuration screen 206 may be used to create a configura(cid:173)
`tion that launches the content source-specific application
`when set-top box 202 accesses the content source.
`Configuration screen 206 may also include inputs 209 and
`210 for configuring the order in which content sources are
`accessed for a particular piece of media content. For example,
`input 209 may be used to receive an indication that the content
`source is a preferred source. If desired media content is avail-
`30 able from multiple sources, an indication that a particular
`content source is a preferred source may be used to select
`which content sources are accessed first. For example, if a
`particular movie is available from both a preferred source and
`a non-preferred source, set-top box 202 may retrieve the
`35 movie from the preferred content source. Similarly, configu(cid:173)
`ration screen 206 may include input 210 for receiving an
`indication of a priority rank. A priority rank may be used by
`set-top box 202 to further determine which content source is
`to be accessed, if a particular piece of media content is avail-
`40 able from multiple sources. For example, even among pre(cid:173)
`ferred sources, the user may have a preference as to which
`content source should be accessed first. In such a case, the
`priority rank received via input 210 may be used to select
`which content source is actually accessed for the media con-
`45 tent. In some implementations, a content source may include
`other applications on set-top box 202. For example, a particu(cid:173)
`lar piece of media content may also be available in another
`application (e.g., a media player, etc.) in set-top box 202.
`In some implementations, set-top box 202 is also in com-
`50 munication with a server that facilitates searching the content
`sources for content availability information. In such a case,
`the configuration data entered via configuration screen 206
`may be stored in the memory of set-top box 202, in the
`memory of the search server, or both. For example, configu-
`55 ration screen 206 may be part of a web page provided by the
`search server and stored on the server. In another example,
`configuration screen 206 may be part of a media player or
`other application running on set-top box 202. In such a case,
`the configuration data may then be sent to the search server
`60 for storage and/or stored within the memory of set-top box
`202 itself.
`The configuration information entered via configuration
`screen 206 may be used by the search server to search for
`media content. For example, system 200 may be configured to
`search three different content sources based on information
`entered via configuration screen 206. When a user selects to
`search for a particular piece of media content, the search
`
`
`
`Case 3:20-cv-03845 Document 1-8 Filed 06/11/20 Page 11 of 19
`
`US 8,583,489 B2
`
`7
`server may utilize the configuration information received via
`configuration screen 206 to determine which content sources
`are to be searched, whether account information is also to be
`used for the search, and the order in which the content sources
`are to be searched.
`Referring now to FIG. 2B, a displayed application is
`shown, according to one example. As shown, set-top box 202
`may provide application screen 212 to display 204. For
`example, application screen 212 may be provided by a media
`player that processes media content to produce audio and/or
`video via display 204 or a speaker. In such a case, application
`screen 212 may also include a number of controls 214 that
`allow a selection of how the media content is processed ( e.g.,
`inputs that control functions such as play, stop, pause, fast
`forward, rewind, etc.). The media player that provides appli(cid:173)
`cation screen 212 may be a stand-alone application or embed(cid:173)
`ded into a web page, according to various implementations. In
`further implementations, the media player may include digi-
`tal video recording (DVR) functions, thereby allowing media
`content to be stored in the memory of set-top box 202 for 20
`future use.
`Search input 216 may also be provided by set-top box 202
`to display 204. In one implementation, search input 216 may
`be part of the same application that provides application
`screen 212. For example, search input 216 may be provided 25
`by a media player that provides application screen 212 to
`display 204. In another implementation, search input 216
`may be part of a separate application. For example, search
`input 216 may be overlaid on top ofapplication screen 212 by
`another application or provided on a separate display screen 30
`entirely. In further implementations, search input 216 may be
`part ofa web page provided by the search server to set-top box
`202.
`Set-top box 202 uses search information received via
`search input 216 to search for media content. Search infor(cid:173)
`mation may include, for example, a title of the media content,
`a name of a person associated with the media content ( e.g., an
`actor, a musician, a director, etc.), or any other information
`that may be used to search for media content. In one imple(cid:173)
`mentation, set-top box 202 may send the search information
`to a remote search server that facilitates the search. The
`remote search server may use the search information to iden(cid:173)
`tify a particular piece of media content and to query the
`availability of the media content from a plurality of content
`sources.
`Notification 218 may also be provided by set-top box 202
`to display 204. Notification 218 provides an indication to
`display 204 that a particular piece of media content is avail(cid:173)
`able. For example, notification 218 may provide an indication
`of the name of the media content, the content source from 50
`which the media content is available, pricing information, and
`other information relating to the availability of the media
`content. As shown, notification 218 is provided by the same
`application that provides search input 216 to display 204
`(e.g., as part of a media player, overlaid on top of a media 55
`player application, etc.). In various implementations, notifi(cid:173)
`cation 218 may be an email, a notification within a running
`application ( e.g., a popup window, a notification icon, etc.), a
`text message to a mobile device, a web feed or stream ( e.g., an
`