Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM &Agr &Ngr D METHOD FOR PROVIDING A USER INTERFACE
Document Type and Number:
WIPO Patent Application WO/2005/022354
Kind Code:
A2
Abstract:
A system and method for providing a user interface is disclosed. In one embodiment, a system includes a user computer coupled to a data network to display a user interface usable to enter user preferences. The system may further include a server coupled to the data network to receive the user preferences from the user computer, and to generate non-broadcast content based on the user preferences. In one embodiment, the system further includes a broadcast-based client-side device, coupled to the network, to receive broadcast programming content from a broadcast source, and to receive the non-broadcast content from the server.

Inventors:
UPENDRAN MANISH (US)
VAKILI VALLA (US)
BEHHNAM-DEHKORDY HAMID-REZA (US)
ROWLEN MATTHEW (US)
Application Number:
PCT/US2004/028082
Publication Date:
March 10, 2005
Filing Date:
August 27, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
YAHOO INC (US)
UPENDRAN MANISH (US)
VAKILI VALLA (US)
BEHHNAM-DEHKORDY HAMID-REZA (US)
ROWLEN MATTHEW (US)
International Classes:
H04N7/173; G06F; (IPC1-7): G06F/
Domestic Patent References:
WO1999001984A11999-01-14
Attorney, Agent or Firm:
Lindsay, Jonathan M. (P.O. Box 14300 Washington, D.C., US)
Download PDF:
Claims:
CLAIMS What is claimed is:
1. A system comprising: a user computer, coupled to a data network, to display a user interface usable to enter a plurality of user preferences; and a server coupled to the data network to receive said plurality of user preferences from said user computer and to generate nonbroadcast content based on said plurality of user preferences; and . a broadcastbased clientside device, coupled to the network, to receive broadcast programming content from a broadcast source, and to receive said nonbroadcast content from said server.
2. The system of claim 1, wherein said data network is the Internet, said broadcast source is a television programming source, and said broadcast based clientside device includes a set top box that is coupled to the Internet and to said broadcast source.
3. The system of claim 1, wherein said user interface is used to access a user account prior to entering said plurality of user preferences, said user account to be used to associate said plurality of user preferences with a particular user.
4. The system of claim 3B wherein said plurality of user preferences relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content overlays, auctions and photos.
5. The system of claim 3, wherein said user, interface is to include a plurality of hyperlinks usable to access a plurality of submenus, said submenus usable to enter said plurality of user preferences.
6. The system of claim 5, wherein said plurality of submenus relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content overlays, auctions and photos.
7. The system of claim 3, wherein said user interface includes one or more drop down menus usable to enter said plurality of user preferences.
8. The system of claim 1, wherein said user interface is populated with server data from said server over said data network, said server data relating to said plurality of user preferences.
9. The system of claim 8, wherein said server is further to: generate said nonbroadcast content using said plurality of user preferences entered using said user interface ; receive a request from said broadcastbased clientside device; and transmit said nonbroadcast content to said broadcastbased client side device in response to said request.
10. The system of claim 9, wherein said broadcastbased clientside device is further to display said nonbroadcast content and said broadcast programming content on a display of said broadcastbased clientside device, and wherein said nonbroadcast content is displayed in accordance with said plurality of user preferences.
11. A method comprising: entering a plurality of user preferences using a user interface displayed on a user computer that is coupled to a data network ; receiving, by a server coupled to the data network, said plurality of user preferences from said user computer; generating, by said server, nonbroadcast content based on said plurality of user preferences; and receiving, by a broadcastbased clientside device coupled to the data network, broadcast programming content from a broadcast source and said nonbroadcast content from said server.
12. The method of claim 11, wherein said receiving by the broadcast based clientside device comprises receiving, by the broadcastbased client side device coupled to the data network, broadcast programming content from the broadcast source and said nonbroadcast content from said server, where said data network is the Internet, said broadcast source is a television programming source, and said broadcastbased clientside device includes a set top box that is coupled to the Internet and to said broadcast source.
13. The method of claim 11, further comprising accessing, using said user interface, a user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with a particular user.,.
14. The method of claim 13, wherein said accessing comprises accessing, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said plurality of user preferences relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content overlays, auctions and photos.
15. The method of claim 13, wherein said accessing comprises accessing, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes a plurality of hyperlinks usable to access a plurality of submenus, said submenus usable to enter said plurality of user preferences.
16. The method of claim 15, wherein said accessing comprises accessing, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes a plurality of hyperlinks usable to access a plurality of submenus that relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content'overlays, auctions and photos.
17. The method of claim 13, wherein said accessing comprises accessing, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes one or more drop down menus usable to enter said plurality of user preferences.
18. The method of claim 11, further comprising populating said user interface with server data from said server over said data network, said server data to relate to said plurality of user preferences.
19. The method of claim 18, further comprising: generating said nonbroadcast content using said plurality of user preferences entered using said user interface; receiving a request from said broadcastbased clientside device; and transmitting said nonbroadcast content to said broadcastbased clientside device in response to said request.
20. The method of claim 19, further comprising displaying, by said broadcastbased clientside device, said nonbroadcast content and said broadcast programming content on a display of said broadcastbased client side device, and wherein said nonbroadcast content is displayed in accordance with said plurality of user preferences.
21. A computer program product comprising : a computer usable medium having computer program code embodied therein to display information, the computer program product having : computer readable program code to enter a plurality of user preferences using a user interface displayed on a user computer that is coupled to a data network ; computer readable program code to receive, by a server coupled to the data network, said plurality of user preferences from said user computer; computer readable program code to generate, by said server, nonbroadcast content based on said plurality of user preferences; and computer readable program code to receive, by a broadcast based clientside device coupled to the data network, broadcast programming content from a broadcast source and said nonbroadcast content from said server.
22. The computer program product of claim 21, wherein said computer readable program code to receive by the broadcastbased clientside device comprises computer readable program code to receive, by the broadcast based clientside device coupled to the data network, broadcast programming content from the broadcast source and said nonbroadcast content from said server, where said data network is the Internet, said broadcast source is a television programming source, and said broadcast based clientside device includes a set top box that is coupled to the Internet and to said broadcast source.
23. The computer program product of claim 21, further comprising computer readable program code to access, using said user interface, a user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with a particular user.
24. The computer program product of claim 23, wherein said computer readable program code to access comprises computer readable program code to access, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said plurality of user preferences relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content overlays, auctions and photos.
25. The computer program product of claim 23, wherein said computer readable program code to access comprises computer readable program code to access, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes a plurality of hyperlinks usable to access a plurality of submenus, said submenus usable to enter said plurality of user preferences.
26. The computer program product of claim 25, wherein said computer readable program code to access comprises computer readable program code to access, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes a plurality of hyperlinks usable to access a plurality of submenus. that relate to one or more of games, personals, fantasy sports, movie content, music content, video on demand, content overlays, auctions and photos.
27. The computer program product of claim 23, wherein said computer readable program code to access comprises computer readable program code to access, using said user interface, the user account prior to said entering the plurality of user preferences, said user account to be used to associate said plurality of user preferences with the particular user, and wherein said user interface includes one or more drop down menus usable to enter said plurality of user preferences.
28. The computer program product of claim 21, further comprising computer readable program code to populate said user interface with server data from said server over said data network, said server data to relate to said plurality of user preferences.
29. The computer program product of claim 28, further having : computer readable program code to generate said non broadcast content using said plurality of user preferences entered using said user interface; computer readable program code to receive a request from said broadcastbased clientside device; and computer readable program code to transmit said non broadcast content to said broadcastbased clientside device in response to said request.
30. The computer program product of claim 29, further comprising computer readable program code to display, by said broadcastbased client side device, said nonbroadcast content and said broadcast programming content on a display of said broadcastbased clientside device, and wherein said nonbroadcast content is displayed in accordance with said plurality of user preferences.
Description:
SYSTEM AND METHOD FOR PROVIDING A USER INTERFACE CROSS REFERENCE TO RELATED APPLICATIONS This application is related to and claims priority from provisional application serial number 60/498ß99, entitled aSystem and Method for Integrating Data with Broadcast Content,"filed on August 29,2003.

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates in general to a system and method for integrating personalized data, services, content and community with broadcasted, recorded and/or downloaded content. The invention relates to providing a system to configure an interface for sending and receiving content.

2. Background of the invention Currently, the television viewing experience is a homogenous experience devoid of virtually any personalization. While users may be able to identify and choose from a set of favorite channels, there are few additional means in which a user may personalize their TV experience.

In contrast, substantial strides have been taken to personalize the online experience. For example, by registering with a given website, users are often able to customize the look and feel of the site. Similarly, users are often given options to specify what type of content they would like presented to them.

Unfortunately, there is yet to be a way to customize a user's TV viewing experience as has been the case in the online context. Accordingly, there is a need in the art to not only provide a customized TV viewing experience, but also a TV viewing experience that incorporates a user's online preferences and habits into their TV experience.

BRIEF SUMMARY OF THE INVENTION A system and method for providing a user interface is disclosed. In one embodiment, a system comprises a user computer that is coupled to a data network to display a user interface usable to enter a plurality of user preferences. The system may further include a server coupled to the data network to receive the plurality of user preferences from the user computer, and to generate non- broadcast content based on the plurality of user preferences. In one embodiment, the system further includes a broadcast-based client-side device, coupled to the network, to receive broadcast programming content from a broadcast source, and to receive the non-broadcast content from the server.

Other embodiments are disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS FIGs. 1A-1C depict simplified system diagrams of one or more aspects of the invention, according to one or more embodiments.

FIGs. 2A-2C depict additional system-level embodiments of one or more aspects of the invention; FIGs. 3A-3B are flow diagrams of how a client device request may be processed, according to one or more embodiments; FIGs. 4A-4B depicts one or more embodiments of a system-level diagram of various aspects of the invention, showing the interconnectivity relating thereto; FIG. 5A is one embodiment of a diagram showing some of the functions and services that are accessible through an online user interface; FIG. 5B is one embodiment of the online user interface of FIG. 5A; FIG. 5C illustrates another embodiment of the online user interface of FIG.

5A; FIG. 5D illustrates one embodiment of the Electronic Programming Guide provided through the use of the online user interface of FIG. 5C ; FIG. 5E illustrates one embodiment of the Schedule Recordings provided through the use of the online user interface of FIG. 5C; FIG. 5F illustrates one embodiment of the Preferences menu provided in accordance with the online user interface of FIG 5C.

FIG. 6A is one embodiment of a diagram showing an application tree structure that may implement one or more aspects of the present invention ; FIGs. 6B-6D depict one or more embodiments of display screens for display on a broadcast-based system with which a user may interact;

FIG. 7 depicts one embodiment of a program guide screenshot which implements one or more aspects of the invention ; FIGs 8A-8E illustrate one or more embodiments of overlays on a display screen or display device of a broadcast-based system, with which a user may interact; FIGs. 9A-9C illustrate one or more embodiments of display screens for games, for display on a broadcast-based system with which a user may interact ; and FIGs. 10A-10B illustrate embodiments of display screens for providing personals, for display on a broadcast-based system with which a user may interact.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS A system and method for customizing a userrs viewing experience disclosed. One aspect of the invention is to enable a viewer or user to select or specify his/her viewing and/or listening experience through an online system and process. By entering his/her preferences, the online preferences and/or habits may be incorporated into their viewing experience, such as a television viewing experience or to utilize available services provided by website, a server or any other medium. Once the user's preferences have been specified, he or she may access and/or incorporate his/her preferences in using available services, from any device that is connected to a network (such as a local area network, wide area network, a global network such as the Internet, etc.).

Another aspect of the invention is a system and method for providing a user interface to facilitate the selection and/or entry of a user's viewing preferences.

A further aspect of the invention is a system and method for providing a user interface to facilitate navigation through menus and selection features.

There is also currently no means for users to take their User experiences to different mediums like a personal computer, television etc. The data and content delivered is distinct among the various mediums. One embodiment of the invention bridges this gap by providing a method for making the data and content ubiquitous on the network. It provides a means to deliver content to differing user interfaces and devices while allowing the user to retain their personalization.

In accordance with the practices of persons skilled in the art of computer programming, the invention is described below with reference to symbolic representations of operations that are performed by a computer system or a like electronic system. Such operations are sometimes referred to as being computer- executed. It will be appreciated that operations that are symbolically represented include the manipulation by a processor, such as a central processing unit, of

electrical signals representing data bits and the maintenance of data bits at memory locations such as in system memory, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits. Thus, the term"server'is understood to include any electronic device that contains a processor, such as a central processing unit.

When implemented in software, the elements of the invention are essentially the code segments to perform the necessary tasks. The program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission medium or communication link. The"processor readable medium"may include any medium that can store or transfer information. Examples of the processor readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory or other non-volatile memory, a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc.

The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc. The code segments may be downloaded via computer networks such as the Internet, Intranet, etc.

Referring now to FIG. 1A, system 100 includes GUI 110 which may be used to input user preferences and/or personalized information. Based on the user input from GUI 110, non-broadcast content/data 115 may then be communicated to a client-side system 130 over a network 120. It should of course be appreciated that non-broadcast content/data 115 may include user-preference data, multimedia content and any other form of non-broadcast data. In the embodiment of FIG. 1A, the client-side system 130 may also receive broadcast content 140 and allow for simultaneous presentation of both non-broadcast content 115 and broadcast content 140 within the same user experience. One embodiment of integrating non-broadcast content 115 and broadcast content 140 is described in co-pending US Patent Application Serial Number, entitled

System and Method for Integrating Broadcast and Non-broadcast Content,"filed on January 6, 2004, which is assigned to the assignee of the present application, and incorporated herein by reference.

Continuing to refer to FIG. 1A, client-side system 130 is depicted as including processing logic 150, display engine 160 and display screen 170. While in one embodiment, processing logic 150 is a set-top box (STB) device, it should equally be appreciated that other connected devices with similar capabilities may be used to receive, decode and process both non-broadcast content/data 115 and broadcast content 140.

Processing logic 150 communicates with both network 120 and display engine 160, which may be used to render image/video for presentation on display screen 170. Thus, processing logic 150 may provide information back to a back- end system (not shown). In one embodiment, this information may relate to user viewing habits of broadcast content 140. While in one embodiment, display engine 160 and display screen 170 comprise a television, they may similarly comprise other broadcast-content-based display devices.

FIG. 1B depicts another embodiment of system 100 in which non-broadcast content/data 115 and broadcast content 140 are provided to processing logic 150, which in one embodiment may be a STB device. Processed image/video data may then be provided to display device 180. It should further be appreciated that processing logic 150 may further include recording functionality, such as the functionality provided by a digital video recorder (DVR). User input 190 may optionally be used to communicate with processing logic 150 and/or display device 180 for display control, channel selection, feature selection and the like. In one embodiment user input device 190 is a remote-control-type device. While in one embodiment user input device is a remote-control-type device, it may also be any other input means, such as a keyboard, voice recognition, touch screen, etc.

Referring now to FIG. 1C, yet another embodiment of system 100 is depicted. In this embodiment, non-broadcast content/data 115 and broadcast

content 140 are provided to display device 195, which includes processing logic 150, display engine 160 and display screen 170. In one embodiment, display device 195 is a television with built in processing logic which provides the functionality for decoding and processing the incoming data streams. It should further be appreciated that DVRtype device (not shown) may be incorporated into display device 195 or, alternatively, coupled to display device 195. User input device 190 may then be used to make on-screen selections based on available menu options and/or available content.

While non-broadcast content/data 115 may be provided by other processing logic devices coupled to network 120 according to the user preferences entered via GUI 110, it may also come from a third-party online source (music database, movie trailer database, etc.) that is accessed in accordance with the various user selections and preferences entered via GUI 110. Moreover, non- broadcast content/data 115 may be provided to or from a back-end server 125 that is also coupled to network 120.

Referring now to FIG. 2A, system 200 is another embodiment of the invention in which properties/services element 210 delivers a service to a client- side device 225 (e. g. , client-side system 130, processing logic 150, display device 195, etc. ) via a data plane 205 and an application service plane 230 comprised of a services adapter 220. In one embodiment, the data plane 205 retrieves data from available properties/services 210 (e. g. , content, services, etc. ) via the Services API 215. In one embodiment, the Services API 215 may be used to provide uniform access to content and services from underlying properties/services 210. While the Services API 215 may be implemented via standard data protocols (e. g., PHP, XML, SOAP, etc. ), other protocols may similarly be used as necessary to retrieve the data. The Services API 215 may function to wrap the existing properties/services 210 in a common interface or, alternatively, may provide a translation layer for external requests. For example, the internal communication between the Service API 215 and properties/services element 210 may be via PHP, while the external API is via Extensible Markup Language ("XML").

Continuing to refer to FIG. 2k, application service plane 230 is comprised of a services adapter 220 which may function as the entry point for all client-side requests. It should be appreciated that the service adapter 220 may reside either as a client adapter or directly on a back-end server (e. g., back-end server 125), or as an independent adapter connected via a network to both the data plane 205 and the client device 225. The services adapter 220 will be discussed in more detail below with reference to FIG. 2B. It should further be appreciated that the client device 225 may also directly retrieve a data stream from the Service API 215 via the Data Plane 205 if it has the capability to process the data directly. By way of example, an XML-aware device can directly request data from the Service API 215 relating to say stock quotes, and present it as appropriate in a proprietary user interface 240. The client device 225 may also directly communicate to the properties/services element 210 in order to stream content to it. For example, to send/receive audio stream from the Yahoo Launch or a video stream from Yahoo Movies.

FIG. 2A further depicts certain aspects of the client-side device 225 (as will be discussed in more detail below with reference to FIG. 2C), including the streaming audio/video 235 storage, proprietary user interface (UI) 240 and processing logic module 245. Referring now to FIG. 2B, one embodiment of certain aspects of a services adapter 220 is depicted. In particular, services adapter 220 is shown comprising an XML service module 250, HTML service module 255 and UPnP service module 260. The services adapter 220 may be responsible for i) acting as the point of interface between client-side devices and the Services API 215, ii) marshalling data from the data plane 205 based on client-side data requirements, and iii) applying the appropriate UI transformation as necessary on the returned data before forwarding to the client-side device. In one embodiment, the role of the services adapter 220 is to provide services to the client in any manner required using any protocol requires. The adapters (e. g., XML, HTML, UPnP, etc. ) are only some examples of possible service adapters. Furthermore, the role of UI transformation may be done either in the service adapter 220 or directly on the client device 225 as appropriate for the device. In one embodiment, there

may be multiple service adapters on a network responsible for different services.

For example, a service adapter 220 catering to finance may be different from one delivering the movie content service. Alternatively, services adapters may be defined in terms of the delivery protocol. For example, the XML service adapter may be separate from a HTML service adapter and may cater to different client devices on the network.

Referring now to FIG. 2C, certain additional aspects of one embodiment of client-side device 225 are depicted. In one embodiment, the processing logic module 245 is a platform-specific application framework that is downloaded to the client device 225 as part of its bootstrap or resides in nonvolatile memory on the device and invoked during bootstrap. In another embodiment, the processing logic framework may be responsible for one or more of the following: i) handling client data requests and interacting with the services adapter 220; ii) handling platform-specific events such as remote and keyboard handling; iii) providing a device translation layer between device-specific functions and application services (e. g. , setting device clock, getting client MAC address, etc.) ; and iv) formatting data appropriately for the display rendering engine 240. In one embodiment, for a client with a browser rendering engine, the process logic module 245 will construct the appropriate HTML with data retrieved from the service adapter 220.

It should be noted that the nature and function of the process logic module 245 may be dependent on the client device 225 and may not exist on devices that do not require a framework. For example, on digital media receivers (DMR), the service adapter 220 may directly deliver data to a third party application module that presents the data appropriately to the user. Finally, the client-side device 225 of FIG. 2C may also include middleware and operating system 265.

FIG. 3A depicts a simplified flow diagram for how a client device (e. g. , client-side system 130) requests data and services. In the embodiment of FIG. 3A, request process 300 begins at block 305 when a client device (e. g. , client-side system 130) submits a request, which in one embodiment may be submitted to back-end server 125. In another embodiment, the request made is sent to the data

plane 205 via services adapter 220 as discussed above. Regardless of how the request is issued, request process 300 may then continue to block 310 where the client device is identified based on a device ID. In one embodiment, the client device may identify itself to the services adapter 220 using a unique ID string.

While in one embodiment, the unique ID string is the Ethernet Media Access Control (MAC) address, it may also be a smart card address, wireless network address, CPU identifier, or simply an arbitrarily selected value.

Once the client device has been identified, the client device may then be authenticated at block 315. To that end, FIG. 3B is a flow diagram of one embodiment for the authentication process 330 of a client device. After the client device ID is provided at block 335, a validity determination may then be made at block 340. This may involve, for example, a determination that the provided device ID contains a particular number of characters or fits a particular data format. Once the ID is identified as valid, authentication process 330 may then continue to block 345 where a determination of the ID's authenticity is made. In one embodiment, this may involve mapping the client device ID against existing entries of a database, such as a database stored on back-end server 125. The use of certificates, encryption, hashing, secure sockets, and so on may also be used to prevent tampering with the device authentication. At this point, devices that have been authenticated may be provided with some privileges for accessing available data and services, but not necessarily all possible privileges. It should also be appreciated that invalid or unauthenticated device IDs may be provided with yet a more reduced level (eg., guest level) of access privileges.

Once an ID has been identified and authenticated as described above, the client device may be able to obtain additional privileges and services by allowing a user to login. To that end, process 330 continues to block 350 where a determination may be made as to whether a user ID is available. On HTML- capable client-side devices 130 where the user input device 190 is a keyboard (or a device capable of keyboard entry), user's may be presented with a username/password entry dialog box. Alternatively, on HTML-capable client-

side devices 130 with only remote control support, the user can be presented with a PIN entry dialog box. Finally, where the client-side device 130 is not HTML- enabled, user ID data may be submitted by the device to the Service Adapter 220 by another suitable means (e. g. , an HTTP post). The Service Adapter 220 may then perform the necessary data submission to the back-end server 125 on behalf of the client-side device 130.

When a user ID is available it may be mapped to the client device ID previously supplied. In one embodiment, this is accomplished by a backend server 125 where a record of various client device ID's is maintained against various user IDs. This may further be configurable via a backend server system and appear as a preference as described in FIG 5F. Irrespective of the implementation, the result is a many-to-one or a many-to-many mapping between user IDs and client IDs. This information can then be used to retrieve the user ID credentials given a client ID. At block 355, the user ID credentials may then be submitted to a database (e. g. , stored on back-end server 125) for server-side authentication. At this point, the authentication process may be completed at block 360 when one or more cookies (or other appropriate means of identification) may be established and used to allow the underlying data/services request to be filled. It should of course be understood that there are numerous other methods for authenticating a client device that are consistent with the principles of the invention.

Referring back to FIG. 3A, once the authentication process of block 315 is complete, request process 300 may then continue to block 320 where the user is actually authorized by the server-side system to receive/view the requested data/services. Since at this point, the type of client device involved will be known, it is possible to customize service/data offerings for a particular type of device (e. g. , no streaming video available for devices which do not support that feature, etc. ). Data/service delivery may then take place (block 325).

In one embodiment, the Service Adapter 220 may provide data in a stream format based on the specific client request. By way of example, one potential request may be a request for XML data, in which case data may be delivered in XML format. Where the request is for HTML data, the requested data may be delivered in HTML format and combined with the application UI and logic flow.

In one embodiment, the application UI and logic may be an HTML page with data appropriately positioned within it. For example, this may be a stock quotes HTML page that renders an overlay over existing broadcast content. Similarly, custom data streams may also be delivered via the Services Adapter 220 for client- side devices that are capable of parsing data streams that are arbitrarily delimited (e. g., comma separated values, etc. ). The process logic framework 245 and/or the service adapter 220 may do whatever is necessary to deliver the service to the user, based on knowledge of the capabilities of the device as derived from block 320.

Referring now to FIG. 4A, one embodiment of a system-level diagram showing the interconnectivity of various aspects of the invention is depicted. In this embodiment, Services API 215 is shown as being in communication with network 120 (i. e. , the Internet), client-side system 130 and back-end server (s) 125.

Additional optional back-end systems are also depicted (e. g., reporting and data mining, direct marketing, billing and subscriber management, etc.).

As shown in FIG. 4A, back-end server 125 may contain various data/services which may be requested by the client-side system 130 as detailed above in FIGs. 3A-3B. In one embodiment, such data and services may include some form of an Electronic Programming Guide (EPG), TV+, movies or video on demand, kids'programs, sports (including but not limited to fantasy sports), overlays (including but not limited to data and voice overlays), music, photos, auctions, games, personals and other items as may be appropriate for a given device. The nature and type of services delivered may be customized for that device given a prior understanding of its capabilities as identified in block 320 (see FIG. 3A). For example, another embodiment of the type of services that may be provided is described in co-pending US Patent Application Serial Number

entitled"System and-Method for Performing Purchase Transactions Utilizing a Broadcast-based Device~ filed on January 6, 2004, which is assigned to the assignee of the present application, and incorporated herein by reference. In addition to requesting data/services, the Services API 215 may be used to obtain user preferences and/or identification information from the back-end server 125.

In one embodiment, such data/services may include user preferences related to the data/services described above.

In one embodiment, the Services API 215 (via the Services Adapter 220-see FIG. 2A) performs the authentication functionality by mapping supplied device and user identification information against stored existing values. While in one embodiment, user/device ID information may be stored on back-end server 125 as mentioned above, it may also be stored on a separate user database 405 that may managed by a third party service provider.

As also shown in FIG. 4A, the Services API 215 may further be used to manage other user requests, such as billing and subscription inquiries (410).

Similarly, the Services API 215 may be used to facilitate data mining functionality (415) and to interface client-specific advertising content for direct marketing purposes (420). It is to be appreciated that given the identity of the user (e. g. , from the client device ID), the preferences and personalized services as they apply to the user on the network can now be directly applied to this same user on any device that can be identified with the user. In this fashion, a user may transfer L their personalization and individualism across devices and mediums. That is, once the preferences and/or personalized services have been specified and entered as described above, the user may choose to apply his/her preferences and/or personalization to use services accessible and/or provided by or through any device that is connectible or connected to the network. Such devices may include hand-held devices, such as personal digital assistants (PDAs), telephones, personal computers, notebooks, set top boxes, digital media receivers or other connected devices. Further, all infrastructure and services that are used to provide the online experience may be applied towards their multimedia experience.

It should also be appreciated that the network 120 may be the Internet, or may also be a wide area network, a local area network or any other type of connection. In one embodiment, all that is required is that the client-side device 130 be appropriately connected to a service adapter 220 that is capable of providing a service to the device. It should further be appreciated that the above- described functionality for Services API 215 may be divided between a plurality of APIs and/or a plurality of back-end servers.

FIG. 4B is another embodiment of system-level diagram showing the interconnectivity of various aspects of the invention. In this embodiment, the functionality of back-end server 125 has been allocated between online media storage 425 and personalization settings & services server 430. With online media storage 425 and server 430 coupled to network 120, a user can access/request various data/services from a client-side system 130 (e. g. , via modem 435). In this embodiment, the client-side system 130 comprises a bedroom portion, a home office portion and a living room portion. In one embodiment, a wireless router 440 may be used to interconnect the various client-side systems. It should of course be appreciated that the particular devices depicted in FIG. 4B that comprise the client-side system 130 are illustrative only, and numerous other configuration are equally consistent with the principles of the invention.

Referring now to FIG. 5A, a relational diagram 500 is depicted showing some of functions and services that may be accessible through GUI 110, which in one embodiment is a Web page. From the GUI 110 of FIG. 5A, a user may set preferences for content overlays 505, EPG settings 510, games 515, fantasy sports 520 and various other content-and services-related settings as depicted in FIG. 5A.

For example, one embodiment for providing fantasy sports 520 functionality is described in co-pending US Patent Application Serial Number, entitled "System and Method for Presenting Fantasy Sports Content with Broadcast Content,"filed on January 6,2004, which is assigned to the assignee of the present application, and incorporated herein by reference. Similarly, one embodiment of providing auctioning functionality is described in co-pending US Patent

Application Serial Number r entided'! System alld Method for Auctioning Utilizing a Broadcast-based Device,'J filed on January 6, 2004, which is assigned to the assignee of the present application, and incorporated herein by reference.

Moreover, one embodiment of providing photo/home movie content is described in co-pending US Patent Application Serial Number entitled"System and Method for Presenting Non-broadcast Content on a Broadcast-based Device, "filed on January 6,2004, which is assigned to the assignee of the present application, and incorporated herein by reference.

From GUI 110, an online user can navigate the various functions and/or services to set or modify user preferences for the non-broadcast content/services accessible through client-side device 130.

FIG. 5B depicts one embodiment of GUI 110 that may be used to enter user preference information, browse available online features and make content selections. In this embodiment, GUI 110 includes a content display window 525, a selection menu 530 and a feature window 535. Content display window 525 may be used to display information regarding available content (e. g., music, videos, pictures, etc. ), or may be used to display the content itself. Selection menu 530 may similarly be used to select among available content options, while feature window 535 may be used to display features options to a user for selection by the user.

FIG. 5C illustrates another embodiment of the online user interface of FIG.

5A. The online user interface or graphical user interface 110A of FIG. 5C may be used to enter user preference information, browse available online features and make content selections. In this embodiment, GUI 110A includes a content display window 525A, a first selection menu 530A, a feature window 535A, a services /content window 540, a second selection menu 545 and a third selection menu 550. Content display window 525A may be used to display information regarding available content (e. g. , music, videos, pictures, etc. ), or may be used to display the content itself. First selection menu 530A may similarly be used to

select among available content options, while feature window 535A may be used to display features options to a user for selection by the user. Services/content window 540 may be used to display various services or content available for selection, such as Fantasy Sports 540a, music 540b, photos 540c, movies 540d, or other services 540e. The second selection menu 550 facilitates selection of programming features 545a, user preferences 545b or premium features or services 545c. Additional features may of course be provided for selection. The third selection menu 550 may be used to provide prompts or alerts, such as an indication that a movie is not available for selection under the movies menu 530A.

The third selection menu 550 may also include a window for conducting searches 550b.

FIG. 5D illustrates one embodiment of the Electronic Programming Guide provided through the use of the online user interface of FIG. 5C. Upon selection of the programming feature 545a, a scheduled selection window 560a may be displayed on the GUI 110. The scheduled selection window 560a comprises recording window 560a illustrates the movies or programs that have been selected for recording, along with the dates and times (start times and length of program) for recording. The window 560a also includes a calendar 560b and a programming guide 560c of the shows or movies available for recording. The user may select a move or program for recording using an input device (e. g. , by selecting a key on a remote) and view his selections on the menu 570 as shown in FIG. 5E and described below.

FIG. 5E illustrates one embodiment of the Schedule Recordings provided through the use of the online user interface of FIG. 5C. The user may organize his or her selections for recording by viewing selection menu 570 as shown in FIG. 5E.

The user may select programs or movies (along with the corresponding size and media type of the selection) displayed on the menu 570 to delete the corresponding movie or program.

FIG. SF illustrates one embodiment of the Preferences menu provided in accordance with the online user interface of FIG 5C. Upon selecting the preferences window 545b on GUI 110, a preference menu 575 is displayed on the GUI 110. The preference menu 575 may include one or more preference menu sections 575a-575j for selecting or entering user preferences. In one embodiment, the preference menu sections 575a-575j comprise a General section 575a, a Parental Controls section 575b, a Channel Guide section 575c, a Movies/Video on Demand (VOD) section 575d, an Overlays section 575e, a Photos section 575f, an Auctions section 575g, a Games section 575h, a Personals section 575i, and other miscellaneous sections 575j.

Each of the preference menu sections 575a-575j may comprise one or more options for selecting preferences. These options may provide predetermined options which the user may scroll through and select. Alternatively, the user may specify his or her own preference (s). In the embodiment shown in FIG. 5F, the user is presented with a variety of predetermined options, which may be selected to enhance his or her viewing experience.

In the embodiment of FIG. 5F, the General section 575a may include options for enabling or disabling use by multiple users of any of the services or programs by selecting boxes 575a-1 or 575a-2 respectively. The user may also enable or disable the sending of automatic updates 575a-3. In this embodiment, the user may use an input device, such as a mouse, to click on the windows provided in section 575a to select his/her options.

Similarly, the user may make various selections under the Parental Controls section 575b. For example, the user may enable Timed Blockout and/or enable Channel Blockout through the selection of boxes 575b-1 and/or 575b-2 respectively. If selected, the user may specify the time period to block out and/or the channels to block out the time and/or channel through the use of selection box 575b-3 and/or 575b-4. In one embodiment, the user may scroll through the time periods and/or channels in the selection box 575b-3 and/or 575b-4 by clicking on

the up or down arrow (s) provided to the side of each selection box 575b-3 and/or 575b-4.

Likewise, the user may enter his/her channel preferences by entering selections in the Channel Guide section 575c. In this embodiment, the user may add channels to his/her list of favorite channels, selecting the viewing period, remove channels from his/her list of favorite channels and/or select the ratings for viewing. This may be accomplished through the use of selection boxes 575c-1, 575c-2, 575c-3 and/or 575c-4 respectively. As described earlier, the user may scroll through the selection boxes 575c-1, 575c-2, 575c-3 and/or 575c-4 by clicking on the up or down arrow (s) provided on the side of each selection box 575c-l, 575c-2, 575c-3 and/or 575c-4.

Movies and/or Videos on Demand (VOD) may also be selected using preference selection section 575d. The user may select, add or remove movies or videos by entering selections available in boxes 575d-1, 575d-2 and/or 575d-3. As before, the user may scroll through the selection boxes 575d-1, 575d-2 and/or 575d-3 by clicking on the up or down arrow (s) provided on the side of each selection box 575d-1, 575d-2 and/or 575d-3.

Overlays may also be added for viewing by the user. In preference selection section 575e, the user may choose from a list of overlays, such as weather information, financial tickers, horoscopes, etc. provided in selection box 575e-1.

Current overlays are displayed in box 575e-2, where the user can parse through a list a overlays that have been selected for viewing. When viewing the display screen, the user may activate this feature through the use of an input device such as a remote controller or through selection of a button or key on the front panel of the display device.

Photos may likewise be selected for viewing, as shown in preference selection box 575f. The user may select a specific photo or group of photos, or other pictures, images, data, information, graphics or content, for viewing.

The user may participate in auctions. To do so, he or she may select to participate by selecting options available in the selection box 575g mder the preference selection section 575g. The options available may be"none", an auction site or other auction options.

Games are also available to the user. By reviewing and selecting the options available under preference selection box 575h, the user may select to one or more games for playing, through selection box 575h-1. The user may also delete previously selected games by parsing through and selecting games listed in selection box 575h-2. The user may also select to participate in Personals, as shown in preference selection box 575i. To do so, the user may select options available in selection box 575i-1. Other preferences may similarly be provided to the user through selection section 575j, to enhance the user's experience. It is understood that one or more of the above selection sections may be implemented.

In addition, a greater number of selection sections may also be implemented.

Once preferences have been determined, the user may access functions/data/services via a client-side device 130. Referring now to FIG. 6A, depicted is one embodiment of an application tree structure 600 for the functions/data/services that may be accessible to a user via a client-side device 130. As shown in FIG. 6A, main menu 605 will contain various selection options for a user to be able to access available data/services, including but not necessarily limited to non-broadcast data. In the embodiment of FIG. 6A, these selection options are the first set of sub-level menus 610, which includes a Guide, such as an Electronic Programming Guide (EPG), TV+, Movies/VOD, Kids programs, Sports (such as Fantasy Sports), Overlays (such as Data Overlays), Music, Photos, Auctions, Games, Personals, and Miscellaneous menus. For example, by selecting to view the EPG sub-level menu 610-a, users may browse channels and search for particular broadcast programming using the lower-level menus. Similarly, by selecting the TV+ sub-level menu 610-b, users may select to watch various outtakes on television programs; by selecting sub-level menu 610-c, users may select to watch movies and VODs ; by selecting sub-level menu 610-d, users may

select to watch Kids'programs ; by selecting sub-level menu 0-e users may select to view and/or participate in various sports programs, for example, fantasy sports. For example, one embodiment of providing the functionality for TV+ sub- level menu 610-b is described in co-pending US Patent Application Serial Number , entitled"System and Method for Accessing Specialized Content Associated with Broadcast Content, "filed on January 6,2004, which is assigned to the assignee of the present application, and incorporated herein by reference. In addition, by selecting the Overlays sub-level menu 610-f, users may view various overlays, such as financial information, weather information, horoscope, etc.; by selecting the Music sub-level menu 610-g, users may view and/or listen to music; by selecting the photo sub-level menu 620 from the main menu 605 a user may browse their photo albums, videos, etc.; by selecting any of the Auctions, Games and/or Personals sub-level menus 610-i, 610-j and 610-k, the user may: participate in one or more auctions, play games or view/participate in personals, respectively. The application tree structure 600 of FIG. 6A is but one embodiment of how a user may navigate through the various available data/services on a client-side device 130. For example, one embodiment of how a user may navigate the application tree structure 600 or corresponding display screens is described in co-pending US Patent Application Serial Number entitled"System and Method for Navigation of a Multimedia Interface,"filed on January 6,2004, which is assigned to the assignee of the present application, and incorporated herein by reference. Moreover, it should further be appreciated that additional functions/data/services may accessible using application tree structure 600, such as the embodiment of searching for content described in co-pending US Patent Application Serial Number entitled"System and Method for Searching Content Using a Multimedia Interface,"filed on January 6,2004, which is assigned to the assignee of the present application, and incorporated herein by reference.

FIG. 6B depicts one embodiment of how main menu 605 may be presented to a user. In this embodiment, display screen 625 is displayed on some display, such as display screen 170 of FIGs. 1A & 1C or the display device 180 of FIG. 1B.

In the embodiment of FIG. 6B, display screen 625 includes an optional graphic

portion 630 as well as the main menu 605. One embodiment of how display screen may be customized is described in co-pending US Patent Application Serial Number, entitled"System and Method for Customizing a Multimedia Interface,'filed onJanuary 6, 2004, which is assigned to the assignee of the present application, and incorporated herein by reference. As mentioned above, a user may use main menu 605 to select from a menu of available data/services (e. g., guide, movies, music, etc. ). In one embodiment, user input device 190 may be used to highlight a particular menu entry for selection. In particular, a user may scroll through selected menu options 635 to highlight a selected menu option 640. When the number of menu selection options is greater than a predetermined number of displayable options (which is five in the embodiment of FIG. 6B), a user may scroll through additional options using scroll buttons 645. Depending on the nature of the user input device 190, this may be accomplished by using the directional arrows of a remote control, or the directional keys on a keyboard.

Similarly, once a desired option has been highlighted, a user may select the highlighted option using an enter key on a keyboard, a selection button on a remote or any other number of input options.

In the embodiment of FIG. 6C, a user has used scroll buttons 645 to scroll the selection menu up and highlighted what is now selected menu option 640. It should be appreciated that the menu selection options shown in FIG. 6A are exemplary options only.

FIG. 7 depicts one embodiment of a program guide screenshot 700 which may be presented to a user who has selected the'guide'option from main menu 605. In this embodiment, a user may receive movie programming/recommendation functionality on a broadcast display device (e. g., TV) based on online movie information. Rating information 710 that is based on non-broadcast content/data 115 may be displayed to a user simultaneously with electronic programming guide (EPG) information 720, along with broadcast content 730.

Continuing to refer to FIG. 7, in one embodiment EPG 720 may be designed to allow users to navigate the programming schedule and select programs for viewing and recording. A list of networks and their associated channel numbers may be displayed, as well as some predetermined period of programming time (e. g., one hour, two hours, etc. ). Users may navigate the EPG 720 using the arrow keys on a user input device 190 (e. g., a remote control) to highlight a program. As they highlight programs, related information may be displayed for each program including: name, description, network, date, run time, original air date and the show's rating information 710. It should be appreciated that the rating information 710 can refer to a critic rating or ratings by other consumers.

Moreover, a user may be able to choose from a variety of rating options using the client-side device, or online using GUI 110.

The EPG 720 may also be community-based. Such community-based activity may involve live or recorded programs. For example, the user may select or identify certain programs and share their interest with the community. Such programs may be viewed live. Alternatively, if programs are selected to be recorded on a DVR, or if programs are selected to be saved on the DVR, then one's list of programs may be shared with a selected community. This may be accomplished without using an instant messenger platform or using the instant messenger buddy list. Thus, this enables one to share one's interests with a community (such as people who have the same interests).

FIG. 8A-8E illustrate one or more embodiments of overlays on a display screen or display device of a broadcast-based system with which a user may interact. The overlays may be superimposed on a show, movie, program, other information or content, and displayed on a display screen, such as display screen 170 of FIGs. 1A & 1C or the display device 180 of FIG. 1B. Upon selection of the user's preferences on preference selection section 575e, the user's selected overlays may be enabled via an input device such as a remote controller. Upon activation, the user may select or scroll through his/her preferred overlays, such as a simple weather overlay 810, as shown in FIG. 8A, a more detailed weather information

and forecast overlay 820e as shown in FIG. BB, a simple finance information overlay 830 as shown in FIG. 8C, a more detailed finance overlay 840 as shown in FIG. 8D and/or a horoscope information overlay 850, as shown in FIG. 8E. As is understood, other overlays may be thus implemented, and one or more overlays may be used or implemented. The overlays may be data, graphics, information, content, photographs and any other type of overlay, whether digital or analog.

The overlay may also be an audio overlay, such as music or a voice overlay.

FIGs. 9A-9C illustrate one or more embodiments of display screens for games, for display on a broadcast-based system with which a user may interact.

The games may be displayed on a display screen (shown as 900 in FIGs. 9A-9C), such as display. screen 170 of FIGs. 1A & 1C or the display device 180 of FIG. 1B.

Upon selection of the user's preferences on preference selection section 575h (see FIG. 5F), the user may enable the selection of games to play by selecting the games sub-level menu 910 through an input device such as a remote controller. The games sub-level menu 910 will then be displayed on display screen 900. In the embodiment shown in FIG. 9A, the Games sub-level menu 900 comprises a plurality of game selections, such as card games 920a, classic games 920b, TV game shows 920c, games for kids 920d, etc.. The games may be presented in selection boxes such as those shown in 920a-920d, or may be implemented in other formats, such as a selection box with a scrolling capability, etc.. As is understood fewer or a greater number of games may be presented. The user may also select to play against friends online, as discussed in detail in the following sections.

Upon selection of a game, for example, addiction solitaire (see FIG. 9B), a further sub-menu 930 is displayed. The user may select to play as a single player, with multiple players or join an online game by selecting the options shown in selection box (es) 940a, 940b and/or 940c, as shown in FIG. 9B. As is understood, one or more selection boxes may be presented, either in the format shown, or in other formats, including a window with scrolling capabilities, as described earlier.

The sub-menu 930 may also comprise a score information section 950, where the scores of various players are displayed. Upon selection of the game preferences,

the user may proceed to engage in play. FIG. 9C illustrates one embodiment of the selected game.

FIGs. 10A-lOB illustrate embodiments of display screens for providing Personals, for display on a broadcast-based system with which a user may interact. The Personals may be displayed on a display screen (shown as 1000 in FIGs. 10A-10B, such as display screen 170 of FIGs. 1A & 1C or the display device 180 of FIG. 1B. Upon selection of the user's preferences on preference selection section 575i (see FIG. 5F), the user may activate the viewing and/or participation in Personals by selecting the Personals sub-level menu 1010 through an input device such as a remote controller. The Personals sub-level menu 1010 will then be displayed on display screen 1000. In the embodiment shown, the user may specify his background, what he is seeking for, including the geographical location of his search, by entering his search parameters in selection boxes 1010a, 1010b and/or 1010c, respectively. Upon entering the information, the user may enable the search by selecting the search box 1010d. The user may also join on-line dating or Personals site by clicking on the link provided on 1020.

Upon activating the search, a search is conducted, and the results of the search may be presented on a display format such as display format 1030. The display format 1030 may comprise a photo section 1035, a selection menu 1040, a personal information section 1045, a selection menu 1050 and a summary section 1060. The photo section 1035 provides an image of the search result. The selection menu 1040 facilitates viewing of other search results. The user may scroll through the search results by clicking on the right or left arrow (s). The personal information section 1045 provides textual information of the search result. The user may scroll through this section to read more about the search result. The selection menu 1050 enables the user to respond or communicate with the person listed (i. e. , the search result) by clicking onto selection box 1050a. The selection menu 1050b also indicates if the person listed is currently online. Alerts, as provided in selection box 1050c may provide the user with asynchronous information such as updates, warnings, prompts or other messages that may be

provided to the user outside of the interface. Other options may also be available to provide further information to the user, via selection box 1050d. The summary section 1060 provides a summary of the person listed, such as age, horoscope sign, location and interests, as shown in boxes 1060as 1060b, 1060c and 1060d respectively. Fewer or a greater number of summary items may be provided. In addition, other summary items, different from those shown in the Figure, may also be implemented.

While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.