Maintaining a file specifying a “donut” of dynamic, hierarchical, shared user-profile information. The donut contains a user profile or acts as a key to a data repository containing it, and it specifies user-profile information such as user characteristics, viewing preferences, hobbies, and spending habits. The donut is accessed by browser programs, associated web server programs, and other applications for use in routing content to the user associated with the donut.

Patent
   8621541
Priority
Sep 29 1999
Filed
Mar 04 2011
Issued
Dec 31 2013
Expiry
Mar 06 2020

TERM.DISCL.
Extension
159 days
Assg.orig
Entity
Large
62
303
EXPIRED
1. A method of compiling and maintaining information for use in routing and transmitting content to a machine via a network, the method comprising:
receiving user activity information from the machine;
updating a user profile based on the received user activity information;
determining a uniform resource identifier for identifying audio or video content to transmit to the machine based on the updated user profile;
inheriting user profile attributes into the user profile from a group of which the user is a member; and
storing the user profile in a hierarchical attribute value-pair data structure,
wherein the audio or video content is selected based on the user profile and on examination of at least one other user profile.
22. An apparatus to compile and maintain information for use in routing and transmitting content to a machine via a network by specifying particular fields within a computer-readable medium, the apparatus comprising:
a receiver for receiving user activity information for updating a user profile; and
a computer-readable medium comprising information of the user profile for determining a uniform resource identifier for identifying content to transmit to the machine and an identification of the machine,
wherein the user profile comprises information in a hierarchical attribute value-pair data structure and further comprises inherited user profile attributes from a group of which the user is a member, and
wherein the content is selected based on the user profile and on examination of at least one other user profile.
10. A method of accessing information for use in routing and transmitting content to a machine via a network, the method comprising:
accessing, via a network connection, a user profile comprising at least one hierarchical attribute value-pair data structure stored in a computer-readable medium on a server;
transmitting, to the server, data comprising an identification of the machine and information of the user profile comprising user activity information for determining a uniform resource identifier, wherein the data is stored on the server in the at least one hierarchical attribute value-pair data structure; and
inheriting user profile attributes into the user profile from a group of which the user is a member,
wherein the content is selected based on the user profile and on examination of at least one other user profile.
16. An apparatus to access information for use in routing and transmitting content to a machine via a network, comprising:
networking means for establishing a network connection from a machine;
accessing means for accessing via the network connection a hierarchical attribute-value pair data structure stored in a computer-readable medium;
inheritance means for inheriting user profile attributes into a user profile from a group of which a user is a member; and
transmitting means for transmitting information via the network connection for specifying in the data structure an identification of the machine, and information of the user profile comprising user activity information for determining a uniform resource indicator,
wherein the content is selected based on the user profile and on examination of at least one other user profile.
2. The method as claimed in claim 1, wherein the content comprises an executable object.
3. The method of claim 1, further comprising: specifying in the data structure information identifying preferences of the user.
4. The method of claim 1, further comprising: dynamically changing the user profile in the hierarchical structure based upon updated information.
5. The method of claim 1, further comprising: querying the user to obtain the user profile.
6. The method of claim 1, further comprising: transmitting content to the machine for a particular service based upon the user profile.
7. The method of claim 1, further comprising: dynamically updating the user profile.
8. The method of claim 1, further comprising: specifying the user profile for use in selecting at least one of the following to transmit to the machine: information available via a uniform resource identifier, video content, audio content, multimedia content, a particular video stream, or an executable object.
9. The method of claim 1, further comprising: specifying the address of one or more devices selected from the group consisting of a personal computer, a television, a cable box, a satellite box, video game console and a personal digital assistant.
11. The method of claim 10, wherein the content comprises an executable object.
12. The method of claim 10, further comprising: storing the data structure in a memory associated with the machine.
13. The method of claim 10, further comprising: storing the data structure in a memory associated with the server having the network connection with the machine.
14. The method of claim 10, further comprising: dynamically updating the user profile.
15. The method of claim 10, further comprising: selecting, based upon the user profile, at least one of the following for transmission to the machine: information available via a uniform resource identifier, video content, audio content, multimedia content, a particular video stream, or an executable object.
17. The apparatus of claim 16, further comprising: storage means associated with the machine for storing the data structure.
18. The apparatus of claim 16, further comprising: storage means associated with a server having the network connection with the machine, the storage means being arranged to store the data structure.
19. The apparatus of claim 16, further comprising: means for dynamically updating the user profile.
20. The apparatus of claim 16, further comprising: means for selecting, based upon the user profile, at least one of the following for transmission to the machine: information available via a uniform resource identifier, video content, audio content, multimedia content, a particular video stream, or an executable object.
21. The apparatus of claim 16, wherein the content comprises an executable object.
23. The apparatus of claim 22, wherein the content comprises an executable object.
24. The apparatus of claim 22, wherein the user profile further comprises information identifying preferences of the user.
25. The apparatus of claim 22, wherein the user profile is dynamically changed based upon updated information.
26. The apparatus of claim 22, wherein the user profile is obtained by querying the user.
27. The apparatus of claim 22, wherein the content is transmitted to the machine for a particular service based upon the user profile.
28. The apparatus of claim 22, wherein the user profile is dynamically updated.
29. The apparatus of claim 22, where the user profile is used to select at least one of the following to transmit to the machine: information available via a uniform resource identifier, video content, audio content, multimedia content, a particular video stream, or an executable object.
30. The apparatus of claim 22, wherein the machine is selected from the group consisting of a personal computer, a television, a cable box, a satellite box, video game console and a personal digital assistant.

This application is a Continuation of U.S. application Ser. No. 09/409,305, filed on Sep. 29, 1999, which is incorporated herein by reference in its entirety.

The following United States patents are incorporated herein by reference in their entirety: U.S. Pat. No. 6,513,069, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD FOR PROVIDING A DISTRIBUTED COMMUNITY NETWORK”; and U.S. Pat. No. 7,120,871, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD UTILIZING A WEB PAGE STAGING AREA.”

Today, the capabilities of computers to provide massive amounts of educational and entertainment information has exploded with the Internet. The Internet has the power to transform society through unprecedented levels of information flow between members. Currently, on-line systems offer a variety of different services to users, including news feeds, electronic databases (either searchable by the user directly on the on-line system, or downloadable to the user's own computer), private message services, electronic newsletters, real time games for play by several users at the same time, and job placement services, to name a few. However, today, most on-line communications occur merely through text. This currently stands in great contrast to the audio/visual presentation of the alternative electronic medium, television. However, it is expected that as multi-media's incessant growth continues, audio/visual programs will proliferate and text will become less and less dominant in the on-line environment. Even though these programs will be introduced, the Internet, will remain essentially user unfriendly due to its very massiveness, organization, and randomness. Simply stated, there is no order or direction in the Internet. Specific pieces of information are many times hard to find, and harder yet, is the ability to put that piece of information into a meaningful context.

Television, on the other hand, has been criticized for being a passive medium—“chewing gum for the eyes,” as Fred Allen once observed. Television has always been something you watched, not something you do. Many social critics believe that the passivity television depends on has seeped into our entire culture, turning a nation of citizens into a nation of viewers. While interactive television systems have increased the level of user interaction, and thus, provided greater learning and entertainment opportunities, vast information resources such as databases are inaccessible from such a medium.

What is needed is a means to close the gap between video programming and the information superhighway of the Internet. What is needed is a wider, richer experience integrating audio/visual and textual database elements into an organized unique interactive, educational, entertainment experience. Currently, the Internet is a repository of information on virtually any subject. However, what is needed is a mechanism for combining the user-friendly visual experience of television with the vast information resources of the Internet. What is further needed is a system and method for distributing content with that mechanism combining television programming with Internet resources.

Systems consistent with the present invention combine broadcast television programming and/or video programming which appears on a VHS or Beta tape, CD-ROM, DVD or other medium, or particular content from the Internet, or video programming at a video server (hereinafter “video programming”) with the massive Internet, creating a new and powerful educational and entertainment medium. The system allows consumers to receive more information in a more efficient manner than either television or the Internet alone. Consumers not only can see a news report on television, but they can also read pertinent information about the report, as well as explore related information about the story. The program becomes the introduction to a particular subject, rather than the entire subject itself. The act of viewing a program has now become a more engaging, enriching experience.

The system can also create a more intimate relationship between the viewer and the program. The user might be solving problems or performing virtual experiments on the Internet site that a teacher is discussing in an educational television program. Similarly, the consumer might be solving problems that the fictional characters in a television program must solve. In both cases, the consumer is an active participant in the process, rather than a passive observer.

Instead of an undirected and unfocused exploration of Internet sites, by synching specific Internet pages to the video signal, the system puts the Internet in context. The television program producers now can decide what additional information to offer their audience. This material can now be seen in the context of the television program.

An additional advantage is that consumers don't have to search through the literally hundreds of millions of pages on the Internet to find appropriate material. The material has already been filtered by the program producers and delivered to the consumer automatically.

Another advantage of the system is that it changes the nature of advertising. Since additional information can be given to consumers automatically, advertising can now be more substantive, allowing customers to make more informed choices. Now, the act of purchasing a product seen on television can be streamlined—the consumer can be given the choice of buying the product instantly using the two-way capabilities of the system.

In addition, users can take advantage of the two-way capabilities of the Internet to respond to polls, to send e-mail or to link to additional sites. For example, a viewer watching a television news program, through the system of the invention, can receive a stream of Web pages which provide additional, specific information relating to the news content—whether background on the Presidential primaries or the latest change in interest rates.

The video programming and corresponding Internet pages can be viewed on personal computers equipped with a television card, but the open software-based approach enables anyone with a television set and JAVA enabled PC to experience the system of the invention.

By marrying the appeal of video with the two-way data transfer capabilities of the Internet, the system creates a powerful new medium: Video producers and Internet site creators can enhance their content to extend their brand identity and differentiate their program offerings to the millions of people who are spending more time navigating through the resources of the World Wide Web rather than watching television; advertisers can speak more directly to consumers by directly sending Web pages to the consumer instead of only displaying Web addresses in their commercials; and consumers can gain a new level of interest and interactivity over a video-based medium. In addition to providing significant and immediate benefits to broadcasters and advertisers, the system will also present educational programmers with a way to more effectively use Internet resources in the classroom.

Recently, several media companies have joined to create a system for linking the Internet and television on the personal computer, called “Intercast.” In this system, content will be provided simultaneously with the TV video signal. This system, however, requires that stripped down Web pages be sent in the vertical blanking interval (VBI) of the video signal, using up to three scan lines limiting effective bandwidth to approximately 28.8 kbps. This approach, however, requires specialized hardware to both insert the Web pages into the VBI and extract these codes at each PC since it takes up to three scan lines of the VBI. Thus, the complexity and cost of the PC is increased. Because the Web pages are transmitted with the video signal, the Intercast system is not a true “two-way” system, but merely a one-way “piggyback” system. In addition, the Intercast is an analog video product, and thus, cannot handle digital video data.

Systems consistent with the present invention, on the other hand, are much more flexible, but less complex, systems. The systems support either analog or digital television broadcasts without broadcasters or end-users having to alter their existing systems, thus enabling broadcasters to reach a wide audience within a short time.

In one embodiment, the actual Web pages are not forced into the very limited bandwidth of the vertical blanking interval (VBI). Instead, merely eight fields of line 21 of the VBI are used to deliver the relevant Internet Web page addresses to the PC. These addresses are called “uniform resource locators” (URLs). The system then directs the particular Web browser to retrieve the identified Web pages from the Internet. Upon receipt of the particular Web page(s), the system syncs the Web page(s) to the video signal, and at the appropriate times, presents the Web pages on one portion of the computer screen with the television video signal, shown in a window on another portion of the screen, and thus, provides the synergistic Internet and television experience. One of the advantages of the system of the present invention is that no specialized chip set need be produced and implemented into the standard PC. Thus, complexity is kept to a minimum.

In another embodiment of the present invention, the VBI is not used to transmit the URLs to the user. In this alternative embodiment, member broadcasters enter the Internet through a member account, and will be provided with a graphical user interface for pre-scheduling Internet addresses, or URLs, for transmission to users at particular times of day. This interface could also be used to transmit real time live transmissions of URLs to users at the same time as a broadcast. The URLs are stored in a “Link File” for later transmission over the Internet to the user at the broadcasters entered time, which corresponds to the broadcast time of an associated program. The timing of URLs could be determined in advance or can be sent out live. This embodiment eliminates the need to place the URLs in the VBI, and also allows the broadcaster to store more than one Link File for transmission to users in different time zones, for example. Further, more than one broadcaster could access the same master schedule if desired, and add or delete certain URLs to personalize the program for their local audiences. Also, personalization can be taken to the single user, or small group of users, by having the system send a different stream of URLs to each user, depending on a unique user profile, for example. Thus, the personalization feature of this embodiment allows each user to receive information uniquely relevant to their interests, demographics, history, etc. This embodiment makes the transmission of URLs to the user even less complex than other embodiments disclosed herein.

Another embodiment permits dynamic reconfiguration of a network for transmitting content, such as that located using the URLs. The network referred to as a distributed community network, includes hubs that may logically reside on any machine and provide control of routing packets containing the content. By using hubs to assist in routing of packets, the burden of routing control at a corresponding server is decreased, enhancing the reliability and efficiency of the network in transmitting content and permitting access to content.

Thus, embodiments consistent with the present invention provide order and direction to the Internet by using television signals to place, orient and control such information in a meaningful context. They also create a more intimate relationship between the viewer and the program by enriching the learning experience through the provision of more in-depth information.

An article of manufacture consistent with the present invention is used for compiling and maintaining information for use in routing and transmitting content to a machine via a network. It includes a computer-readable medium includes fields for specifying an identification of the machine, an address of the machine, and user-profile information for use in determining a type of content to transmit to the machine. The user-profile information is specified in an hierarchical structure.

A method consistent with the present invention includes compiling and maintaining information for use in routing and transmitting content to a machine via a network by specifying particular fields within a computer-readable medium. The method includes receiving information for use in generating a user profile and specifying in the medium, using the information, an identification of a machine, an address of the machine, and user-profile information for use in determining a type of content to transmit to the machine. The user-profile information is stored in an hierarchical attribute value pair data structure.

FIG. 1 is a diagram of the system design, showing the receipt and decoding of video signals at the subscriber location using the method of the present invention.

FIG. 2 is a diagram showing an alternative system embodiment to achieve the integration of the Internet information with the video content by decoding the uniform resource locators at a server site and then transmitting the URLs to the subscriber stations via the Internet.

FIG. 3 is a flow diagram of the basic software design of the present invention.

FIG. 4 is a diagram showing another preferred system embodiment to achieve the direct transmission of URLs over the Internet to the user at a broadcaster's entered time without encoding the URLs into the VBI.

FIG. 5 is a diagram of another preferred embodiment including a digital cable box.

FIG. 6 is a diagram of another preferred embodiment including a digital T.V.

FIG. 7 is a diagram of a user interface illustrating a playlist.

FIG. 8 is a sample display provided to a student of a lesson.

FIG. 9 is a diagram of the distributed Com Server embodiment.

FIG. 10 is a diagram of logical structure of a donut for implementing user-profile information.

FIGS. 11A, 11B, and 11C are a flow chart of a process for generating and implementing donuts specifying user-profile information.

One system consistent with the present invention combines the rich visual capabilities of video with the vast resources of the Internet. As shown in FIG. 1, an embodiment of the invention is a computer based system for receiving a video program along with embedded uniform resource locators (URLs)—which direct the user's computer 16 to address locations, or Web sites, on the Internet to retrieve related Web pages. These Web pages correspond to the 20 video presentation. The particular video programming can be delivered in analog, digital or digitally compressed formats (e.g., MPEG2) via any transmission means, including satellite, cable, wire, television broadcast or sent via the Web.

The video programming is preferably created at a centralized location, i.e., content creation 4 as shown in FIG. 1, for distribution to subscribers in their homes, for example. Program creation is accomplished according to any conventional means known in the art. After a video program is created, uniform resource locators are embedded, in one embodiment, into the vertical blank interval of the video programming by the URL encoder 8, shown in FIG. 1. In this embodiment, the URLs are encoded onto eight fields of line 21 of the VBI. Line 21 is the line associated with close captioning, among other things. However, the URLs could also be embedded in other fields of the VBI, in the horizontal portion of the video, as part of the audio channel, in any subcarrier to the video, or if digital, in one of the data fields.

Although FIG. 1 shows the video with URLs over the same transmission line, the URLs can be sent down independently of the video program on a data channel. In this embodiment, the URLs can be forwarded to the remote sites either prior to initiation or during the program. Preferably, the URLs have associated time stamps which indicate to the subscriber stations when, during the video program, to display the particular Web pages addressed by the URLs. Alternatively, the user can select when to call the particular Web pages for display with the video program.

The particular information in line 21 is not part of the visual part of the program, and thus, is not perceptible to the human eye, thereby making it ideal to send data information to the users. While the bandwidth capacity of line 21 is limited, because the system transmits only the uniform resource locators (URLs), and not full Web pages, there is more than enough capacity. Furthermore, no additional hardware is necessary at the PC 16 to implement the elements of the present invention. Thus, the present invention has the additional advantages of being very efficient and takes advantage of conventional hardware.

Once the video program is created, it can be transmitted to user sites over any transmission means, including broadcast, cable, satellite, or Internet, and may reside on video servers. Furthermore, the video program, with or without embedded URLs, can be encoded on a VHS or Beta tape, DVD or other medium.

Preferably, each receiver station comprises any Intel x86 machine (preferably a 486 processor, pentium processor, etc.), an Apple Computer, UNIX or any other type of standard computer workstation. The local PC 16 is preferably connected to either a cable and/or broadcast television connection or to a local VCR or other video source. At each subscriber site, the local personal computer 16 preferably receives the cable transmission by cable connection on the back of the personal computer 16. The video/audio program can then be processed for display on the computer screen using any conventional PC card capable of displaying NTSC signals on a computer monitor, such as a WinTV card. In addition to the cable connection, however, in the present invention there is also an Internet 20 connection created concurrently with the cable connection.

The Internet 20 connection can be via high-speed line, RF, conventional modem or by way of two-way cable carrying the video programming. The local PC 16 has Internet access via any of the current ASCII software mechanisms. In one embodiment, at each subscriber home, an associated local URL decoder 12 receives the cable video television program, as shown in FIG. 1. The local URL decoder 12 extracts the URLs, preferably embedded in the vertical blanking interval, with the use of any conventional VBI decoder device. The URL decoder 12 may be either a stand-alone unit or a card which is implemented into the personal computer 16.

In another embodiment shown in FIG. 2, the uniform resource locators (URLs) are encoded into the video in the same manner as described above. Again, the URLs are preferably encoded onto eight fields of line 21 of the VBI, but may also be sent independently of the video. In this embodiment, the URL decoder 24 is located at the server site, as opposed to the subscriber location. When the decoder 24 receives the video program signal, it strips out the URL codes on line 21 of the VBI and delivers these codes independently to an Internet server 28. The URL code is then subsequently delivered over the Internet 20 to the user PC 16. Simultaneously, the video is broadcast over conventional broadcast or cable transmission means 36 to the user's personal computer 16.

Another embodiment of the system, shown in FIG. 4, does not depend on, or even use, the VBI. In this embodiment, the system will run an online service over the Internet 20. This service will be in the form of an Internet Web site 62 that provides a user-interface to a database 78 and to one or more associated data servers 90. The service will provide member-accounts to TV broadcasters 66 who sign up to use the system of the invention in conjunction with their broadcasts. Each member broadcaster will enter the service at their computer 70 through Web browser software 74 using their member account by entering various identification and password information. Once within their account, the member will be provided with a graphical user interface for pre-scheduling URLs for transmission to users 118 over a direct Internet connection 94 at particular times of day. The same user interface, or a variation on it, can be used by broadcasters for live transmission 82 of URLs to users at the same time as a broadcast 86.

For example, one example of this interface might be a scheduling calendar (daily, weekly, monthly, yearly) in which the broadcaster 66 may allocate time periods which coincide with their broadcasts 86, and during which they will send out URLs to their users to link to Web pages. For each time period (for example, a particular hour long period during the day) determined by the broadcaster 66 to be a broadcast period (a period during which they want to transmit URLs that correspond to a television show being broadcast from their TV broadcast facility 110 to the external TV 114 of the user 118 at that time), the broadcaster 66 may then enter a series of URLs into an associated file (“Link File”) for transmission over the Internet 20 at that time. This Link File might have a user interface such as a spreadsheet, table, or list, or it could be simply a tab-delimited or paragraph-delimited text-file. As an example, each of the records in the Link File consists of a data structure which could contain information such as:

(<timecode>, <URL>, <label or title>, <additional information>, <additional information>, . . . )

The above data structure is just one example. The records in the Link File preferably specify the time, Internet address (i.e. URL), label (such as an associated name), and some optional additional information, for each Web page the broadcaster 66 desires to launch during a show.

When a broadcaster 66 modifies their calendar and/or the Link File associated with any given time period(s) in their calendar, this information is saved into the database 78 that is attached to the site 62. Each broadcaster 66 may maintain multiple calendars in the database 78 if they broadcast in different time zones, for example.

The database 78 provides the Link File records for upcoming time periods to a server 90, which may be one server or a distributed network of server programs on multiple computers across the network, to be utilized for scaling to large national or global audiences. The server 90 provides the Link File records, including the URLs, to the user's personal computer 16, which is connected via a network. Examples of possible networks include the public Internet 94, a direct private network, or even a wireless network.

One feature of the above embodiment is that one or more broadcasters 66 may utilize the same schedule in the database 78 for their own broadcasts 86 or during the same broadcast. For example, a network broadcaster may develop a master schedule and various affiliate broadcasters may subscribe to that schedule or copy it (in the database) and add or delete specific URLs in the schedule for their local audiences or unique programming. This scheme enables affiliates to insert URLs for local advertisers or local subjects into a sequence of more general URLs provided by their network broadcaster 66. In other words, the affiliate can add links that ride on the network feed and then redistribute it to their local audiences.

This embodiment can also enable personalization in the form of unique series of URLs specific to each user's unique profile, which is directly sent over the Internet 20 to each user's specific client software 106. This can be achieved from the broadcaster 66 to each individual user 118, or to particular collections of users. To accomplish personalization, the service may send a different stream of URLs to each user's client software program 106. The stream of URLs sent would depend on a user profile stored in the database 78 or the client software program 106, a user profile which is built on demand or over time for each user 118 based on criteria such as the location of the user, choices the user makes while using a client software program 106, or choices the broadcaster 66 makes during a broadcast 86, or automatic choices made by an algorithm (such as a filter) residing on the service 62. Personalization enables each user to receive URLs which are uniquely relevant to their interests, demographics, history, or behavior in the system.

Once the URLs have reached the personal computer 16, system operation is similar for all of the embodiments diagramed in FIGS. 1, 2, and 4.

In one embodiment, a JAVA enabled browser 98 as well as specialized software 106 for performing part of the method of the present invention are installed on the computer 16. The JAVA enabled browser 98 allows the computer 16 to retrieve the Web pages 102 and is preferred software, since it is platform independent, and thus, enables efficient and flexible transfer of programs, images, etc., over the Internet 20. The specialized interface software 106 (hereinafter, “client software”), attached as Appendix A, acts as an interface between the video programming and the Internet functions of the present invention. The client software 106 retrieves URLs from the video program (embodiment of FIG. 1) or directly from the Internet connection (embodiments of FIGS. 2 and 4), interprets these URLs and directs the JAVA enabled browser 98 to retrieve the particular relevant Web pages 102, and synchronizes the retrieved Web pages to the video content for display on the user's computer 16, as shown in FIGS. 3 and 4 and explained in more detail below.

In one method, the URLs are encoded and embedded into the video signal by inserting them into the vertical blanking interval (VBI), as mentioned above.

In another embodiment, the URLs are entered by member TV broadcasters 66 along with specified times for transmitting the URLs to the user. At the appropriate times, the URLs are sent directly over the Internet to the user's PC 16 via the client software 106 over a direct point-to-point or multicasting connection.

One method of the present invention has the capability to detect identical URLs sent directly after one another which causes the browser not to fetch URLs in these particular cases. As shown in FIG. 3, once the URL code is received at the computer, the client software 106 first interprets the URL and determines in step 42 whether the particular URL has been received previously. If it has already been received, the next received URL is interpreted for determination of prior receipt. If the particular URL has not been detected before, the software checks for misspelling in step 46 and any other errors, and if errors exist, corrects these particular errors. Once again, it is determined whether the URL has been previously detected. If it has, the next URL is accessed in step 38. If the URL has not been detected, the specific URL is added to the URL list in step 54. The specific URL is then sent to the Web browser, preferably a JAVA enabled browser 98. Upon receipt of the URL, the browser 98, in step 58, will access the Web site address 122 (FIG. 4) indicated by the URL and retrieve the cited Web page(s) 102 via the Internet.

Viewers can view the integrated presentation in the following manner. As mentioned above, the video signal is processed and displayed on a video window on the PC screen using a WinTV card, for example. The corresponding audio is forwarded to the audio card and sent to the PC speakers.

The actual retrieved Web pages 102, referenced by the URL, are optionally time stamped to be displayed on the computer screen when predetermined related video content is displayed in the video window, thus, enlightening and enhancing the video presentation by providing in-depth information related to the video content thereto. Another section on the screen is also preferably used to represent an operational control panel. This control panel provides a list of the URLs that have been broadcast and correspondingly received by the computer 16. This control panel is updated to add a URL code each time a new URL code is received by the PC 16. This list gives the subscriber the flexibility to go back and retrieve particularly informative or interesting Web pages that have already been displayed earlier in the program, or alternatively, to print them out for future reference. Furthermore, the list could include URLs referring to Web pages not displayed with the broadcast program, but that provide further information on a certain topic of interest to the viewer.

An exemplary implementation of the present invention can best be understood with reference to an example. A viewer can begin watching a musical video featuring a new band, for example. As the video is received by the PC 16, URLs are either being received with the video signal or are being received directly via the Internet 20 or another data channel, and are being interpreted by the client software 106. Upon direction and command, the JAVA enabled browser 98 retrieves particular Web pages 102 from Internet 20 Web sites identified in the URLs. These Web pages 102 will then be displayed on the video screen at particular times. Thus, for example, while the viewer is watching the music video, biographical information on the band can also be displayed adjacently to the video window. Web pages 102 could also include an upcoming concert schedule, or even audio clips of the band's music may be downloaded from the Internet 20. As another example, a user could be watching a program relating to financial news. While the narrator is shown discussing high tech stocks, Web pages corresponding to detailed financial performance information on high tech stocks, environment and characteristics can be displayed with the video on the computer screen. If the personalization features are included, Web pages associated with a particular user's stock can be fetched and displayed on the computer screen with the video program. When the program narrator switches to a discussion on the weekly performance of the Dow Jones, Web pages presenting related financial performance information can be simultaneously displayed. Thus, it is evident that the present invention profoundly enriches the viewing and learning experience.

It is understood that there can exist alternative embodiments for use with the present invention. For example, the user can view the interactive program using a television set 114 or other display monitor in conjunction with the display screen of the personal computer 16. In this embodiment, the relevant Web pages are shown on the personal computer 16 while the video program is displayed on the television monitor 114. In this alternative embodiment, a cable set top box receives the television program from the multichannel cable. The personal computer 16 also receives the video program from the multi-channel cable and extracts the URLs, embedded in the vertical blanking interval of the video signal or directly transmitted 94 over the Internet 20. The client software 106 extracts the URLs and retrieves the particular Web pages as described above. The Web pages are then synchronized with the particular video frames and presented to the user. It is understood that a hyperlink may exist on the Web site that will allow the user to automatically load the client software and call up the specific television channel referenced in the Web site. For example, someone browsing the Internet 20 may come upon a major television network's Web site. They scroll to an interesting story then click on an hyperlink to turn on the software which tunes the TV window to the network to enhance the information residing at the Web site.

Furthermore, instead of receiving the video program from a transmission means, the video program can be addressed directly from the user site if the video program, with or without embedded URLs, is stored on a VHS, Beta, DVD or other medium. In this embodiment, the user PC 16 and/or television 114 are connected to a VCR, DVD player or other appropriate device.

FIGS. 5 and 6 show two alternative embodiments for use with the present invention. For example, the user can view the interactive program using a television set 18 or other display monitor in conjunction with a digital cable box 140, as shown in FIG. 5. In this embodiment, the digital cable box 140 performs the functions of the personal computer 16 shown in FIGS. 1, 2 and 4. In the embodiment shown in FIG. 5, the client software is stored in memory in the digital cable box 140. In one embodiment, the digital cable box 140 includes two tuners, thus allowing both the Web Page and the Video program to be simultaneously viewed on the same screen. If Video and Webstream, however, are carried on one channel, then only one tuner is necessary.

The client software retrieves URLs from the received video program, directly from the Internet connection 20 or via a separate data channel, interprets these URLs and directs the Web enabled browser to retrieve the particular relevant Web pages, and synchronizes the retrieved Web pages to the video content for display on the television 18, as shown in FIG. 5. In this embodiment, the relevant Web pages are preferably shown in one frame of the television 18 while the video program is displayed in another frame. Alternatively, the web page can replace the video program on the display.

In this alternative embodiment, the digital cable set top box 140 receives the television program from the multichannel cable. The URLs can be encoded into the digital program channel using MPEG1, MPEG2, MPEG4, MPEG7 or any other compression video scheme. Alternatively, the URLs can be transmitted to the digital cable boxes 140 from an Internet server 148. The digital cable box 140 decodes the URLs from the digital video signal or directly transmitted over the Internet 20. The client software decodes the URLs and retrieves the particular Web pages as described above. The Web pages are then preferably synchronized with the particular video frames and presented to the user.

As with all the embodiments described above, instead of receiving the video program from a transmission means, the video program can be addressed directly from a local video source 144 if the video program, with or without embedded URLs, is stored on a VHS, Beta, DVD or other medium. In this embodiment, the digital cable box 140 is connected to a VCR, DVD player or other appropriate device.

FIG. 6 discloses an embodiment where a digital TV 152 is the remote reception unit. In this embodiment, the digital TV 152 performs the functions of the personal computer, shown in FIGS. 1, 2 and 4, and the digital cable box 140 shown in FIG. 5. In the embodiment shown in FIG. 6, a processor means and memory are incorporated into the digital TV 152. Further, the client software and Web browser software are implemented into memory in the digital TV 152. All of the functions described above with reference to the other embodiments are performed in a similar manner by the digital TV 152 embodiment.

Although the digital cable box/TV 140, 18 and digital TV 152, shown in FIGS. 5 and 6, are incorporated into the embodiment of FIG. 1, in substitution for the PC 16, they also could be substituted for the PC 16 shown in FIGS. 2 and 4.

The user can view the video and web content on one screen (in two windows), or with the video on one display screen and the Web content on a separate display monitor. Alternatively, the user can access the video or web content separately. Thus, the user can branch from video to web content and vice versa.

The present invention is well-suited to the education environment. In this embodiment, students and teachers access one or more Web servers. The software components include instructor and student user software, authoring software and database assessment software. In one such embodiment, an instructor uses content creation software on a personal computer to easily integrate into their curriculum current information published on the Web, through an easy to use interface 156 such as that shown in FIG. 7. The instructor creates a playlist (i.e. linkfile) 160, the playlist 160 comprising a listing of Web pages, text notes and questions. The Web sites and questions are set forth in a predetermined order and can be assigned times. Preferably, the URLs identifying the Web site and time stamps are sent automatically to the desktop of each student in the virtual community, either during playback of a pre-recorded program or during a live event.

At each of the student workstations, the program is directed by the playlist 160. In other words, the playlist 160 provides the structure for the program. At predetermined times as dictated by the playlist 160, the browser will go fetch and display a Web page in a frame on the computer screen. Because program events can be set up in this manner at predetermined times, the entire program and playlist can be prerecorded and stored in a Web database for later access by students.

A significant advantage of an embodiment for educational applications is that the students and the instructor can be located anywhere, as long as they are all connected to the Web. Because a server is essentially controlling the program, the instructor output comes from the server and the student workstations get automatically updated by the Web server.

This educational embodiment integrates Web content and other media with collaborative groupware functionality to create an interactive environment for students and teachers. In this embodiment, the student can receive a traditional video lesson through a frame in his or her Web browser, or from a television. Simultaneously, the present invention provides separate frames, an example of which is shown in FIG. 8, in the browser displaying: (1) Web pages 176 automatically delivered to each student's desktop with information or exercises that complement the video presentation; (2) a chat dialogue frame 168 for conversing with the instructor and/or other students online; and (3), an interactive playlist 164 of Web pages and questions comprising the lesson.

In the student interface of FIG. 8, each student can perform a virtual experiment during a physics lesson to learn about gravity, for example. Further, the students are conversing with one another and the instructor in the chat dialogue frame 168. They may also send Web pages to one another and provide answers to questions from the teacher via the chat dialogue frame 168 of the student interface 176. With the chat feature, students may break into subgroups for collaborative learning. Whenever a student in the group sends a message, the message is sent to the Internet server 20 and every other student in the subgroup receives and views the message in their Chat dialogue frame 168.

The instructor, however, may retain control over the chat feature. For example, the instructor can terminate the chat feature or web pushing to terminate unruly on-line conversations or the sending of Web pages by students.

Unlike conventional distance learning systems, systems consistent with the present invention are more powerful by allowing the instructor to freely and conveniently exercise almost any type of testing strategy. The instructor can test students using a combination of the Chat dialogue feature and Web pages. For example, multiple choice questions and short answer questions can appear in the Chat window 168. Essay questions, requiring longer answers, become Web pages. As mentioned above, students can perform virtual experiments on-line. Once the instructor's personal computer receives student answers, student scoring can be presented to the instructor in any format including tables, charts, diagrams, bar graphs, etc. The instructor, thus, can analyze the results and has the capability of providing real-time feedback to the students.

Students can also receive individualized feedback via branched interactive audio, video and/or graphics responses. For example, the workstation may branch to a particular audio response, preferably prerecorded in the instructor's own voice, based on the student response to a multiple choice question. In this embodiment, a plurality of potential audio responses are made available at the student's workstation according to any one of the methodologies set forth in U.S. Pat. No. 5,537,141, entitled DISTANCE LEARNING SYSTEM, herein incorporated by reference. Alternatively, personalized video, audio and graphics segments can be delivered and displayed to the student based on a student answer or personal profile in the manner set forth in U.S. Pat. No. 5,724,091, entitled COMPRESSED DIGITAL DATA INTERACTIVE PROGRAM SYSTEM, herein incorporated by reference.

Responses to student answers can be more substantive based on the memory feature of the system. The memory feature is an algorithm that selects an interactive response to the user based not only on the student's current answer selection, but also his or her previous responses, as discussed in the aforementioned applications. The algorithm, preferably stored in memory at each student's workstation and under processor control, merely selects an output interactive response based on student responses. As another example, if a student gets three answers in sequence right, he or she receives a more difficult question. If, however, the student misses one or more of the three questions, he or she receives an easier question.

In another embodiment of the present invention, a system is described capable of handling the education requirements of several schools in an efficiently designed network. The system shown in FIG. 9 solves the problems inherent in attempting to service large numbers of users, the most obvious obstacles being the issues of load and performance. In this embodiment shown in FIG. 9, communications servers 180 distribute and route messages across a LAN, WAN and the Internet. Referring to FIG. 9, in the center of the diagram is the Group Database server. Surrounding the database server are several Com Servers 180, each serving an area 192. Surrounding each Com Server 180 are squares representing user stations 188. The Communication Servers 180 are organized in node relationships with one another.

Each node is responsible for serving an Area 192. An Area 192 is defined as a Virtual location serviced by a single Communications Server 180 (or “Com Server”). An Area 192 may be a single school, an office, or may consist of several actual physical locations. The defining characteristic of an Area 192 is that messages sent from one member of an Area 192 to another need not be routed outside of the servicing Com Server 180.

An Area member is analogous to the frequently used term “user.” For example, a “user” may be a student in the educational embodiment described above with reference to FIGS. 7 and 8.

The Distributed Communication System of FIG. 9 shall permit the dynamic addition of Communication Servers 180 within a group with little or no administrative tasks as well as the addition of groups within an overall communications network. A Communication Server group consists of several defined Virtual Areas 192 (preferably, consisting of no more the 250 members each), each area 192 serviced by a single Com Server 180. This system shall allow members of one Area 192, or group to easily communicate with members of another Area 192 or group without any configuration changes.

Generally, service of very large numbers of users has required large expensive servers and networks. As the user base increases, performance suffers and hardware must be upgraded to service the demand.

The Distributed Communication System of the present invention allows the same, relatively inexpensive machines to serve an ever-increasing user base. The technique by which this will be accomplished will be through the routing of messages from one server to another when necessary.

The method essentially follows the same core pattern as IP routing and DNS lookups. If a message is for a member not belonging to the current Area 192 or group, the message shall be routed through the Distributed Communication System until its destination, or someone who knows the destination and can deliver the message, is found.

The destination will be cached so subsequent messages for that member or group may be more efficiently delivered.

Referring again to FIG. 9, if a message is posted by member “A” and is intended only for the members of group 1 the message shall never leave Area 1 Com Server. However, if the message is intended for members of Area 1 and the members of Area 2, the Area 1 Com server forwards the message to the group database server 184. The message shall be broadcast to the members of Area 1 and tagged in the database 184 as belonging to Area 2. The message is then routed to Area 2 and broadcast to Area 2 members. With this technique any member can potentially send a message to any other member. If the Area Com server 180 does not recognize the destination, the message is forwarded up the line. Each Com server 180 does not need to know about any other server 180. Messages are routed until they delivered. If undeliverable, the original sender is notified.

New Areas 192 can be added on the fly. When a new Com server 188 is added to the network, it registers itself with the database application. Henceforth, any message destined for the new Area 192 can be routed properly without altering the other Area Servers 180.

This method and system works for global messages or for user to user messages. Furthermore, new Groups may also be dynamically added. Once added, each new Group Database Server 184 registers itself with the existing database servers 184. This distribution of load permits nearly unlimited expansion with existing software and hardware. Each server manages a finite number of members, cumulatively serving a growing community.

Users need not be informed as to the particular Com Server 180 they should connect to. Members are directed to a single URL. The selection of the server for user connection is determined by load balancing software. In this manner, the network may appear to be a global network of Servers or simply a local classroom.

The unique aspects of this architecture, using database servers as routing gateways, using techniques resembling IP routing and DNS lookup, enables this system to serve with minimum administration and configuration and with lower end, cost-effective hardware.

Another embodiment consistent with the present invention specifies a “donut” of dynamic, hierarchical, shared user-profile information. A donut may specify the following: user characteristics, viewing preferences, hobbies, and spending habits. The donut contains a user profile or acts as a key to a data repository containing it, and it may be stored in a file-type structure on a computer-readable medium such as a memory. The donut is accessed by browser programs, associated web server programs, and other applications for use in routing content to the user's machine associated with the donut. The user machine may include a wide variety of devices such as, for example, a personal computer, a television, a cable box, a satellite box, video game console, and a personal digital assistant.

Browser programs typically include a file created by a web server to locally store data and track web sites, identified by URLs, accessed by the user through the browser program. These files are referred to as cookie files, which contain a range of URLs for which they are valid. When the browser encounters the URLs again, it sends the corresponding cookie files to the web server identified by the URLs.

In the present invention, browsers may access a donut file or database structure storing donuts, and web servers may include files or other database structures for storing copies of the donut. The donut file for a particular user is typically stored only on the server but could be stored locally on the user's machine or on both the server and the user's machine. The donut thus implements a dynamic store of shared profile data that is exchanged between client and server, with the flexibility to collect and process that data in three ways: client-side evaluation, http-based server-side evaluation, and network-based server-side evaluation. The donut has an advantage over a cookie file in that the donut file is database driven and typically stored on a server, preventing a user from deleting or otherwise tampering with the donut file. Cookie files, in comparison, are stored locally on a user's machine. In addition, by storing a donut file on a server, a user may log onto a network from any machine and still access the user's donut file and receive content based upon the donut file.

A donut, more specifically, is an hierarchical attribute value pair data structure including a collection of crumbs. A crumb is the smallest unit of data corresponding to a meaning value pair associated with a particular donut. For example, a user's age would be a crumb associated with the user's primary donut. The donut data structure includes names plus associated crumbs. At the top level of the hierarchy, a top donut is associated with a user, a chat room, a network service, or other appropriate business entity or service. Each donut contains a set of crumbs and a set of sub-donuts.

A sub-donut is a donut associated with another donut rather than an external entity such as, for example, a user. An example of a sub-donut is a user's address. The user's address references the user's primary donut and is stored in a sub-donut, and the sub-donut contains crumbs for each piece of information in the address. Donuts are stored with hierarchical relationships, meaning that a donut can have associated sub-donuts and the sub-donuts can also each have associated sub-donuts. The donut thus may have many levels of sub-donuts within its hierarchical structure.

Some donuts are owned by only one parent donut. Other donuts are shared among several or many parent donuts. These shared donuts profile a business entity, such as an individual program, that is common to all; an example includes members of the same chat room. This provides a way to identify a group of users for a chat service. Also, by sharing the donut a user need not enter a new profile for using different services; the services share and use the one donut.

FIG. 10 is a diagram of logical structure 200 of a donut for implementing user-profile information. This structure may be stored on a computer-readable medium, such as a memory, for access by an associated machine. The term “donut” is used only as a label and refers to information residing on a server and accessible by a client for use in pushing or assigning particular content to the client.

Structure 200 uses database tables for storing and maintaining the user-profile information, which includes any type of information identifying a user or corresponding client machine. Structure 200 includes a user table 202, identifying a particular network user, and each user would typically be identified by a separate table. Table 202 may also include information identifying each user's name and an associated password and identification (ID). A directory table 204 maintains a directory listing of the network users.

A separate donut table 206 maintains user-profile information for a particular user. Donut table 206 is associated with the corresponding table 202 for that user and with the directory table 204. Donut table 206 is also associated with a donut hierarchy table 208, which identifies and maintains hierarchical relationships for table 206. Each donut table 206 may include an associated crumb table 212 for use in identifying and maintaining particular attributes for the user-profile information. An associated attribute table 210 stores and maintains the information for those attributes.

The user profile may contain a wide variety of information concerning user characteristics for use in determining content to push to a user. As further explained below, the content may include any type of information such as video, audio, graphics, text, and multimedia content. Examples of content to be selectively pushed to the user based upon the user-profile information include, but are not limited to, the following: advertisements; player profiles for sporting events; music or other audio information; icons representing particular services; surveys; and program suggestions. Also, when a video program provides different video streams for different camera angles, such as a sporting event, the particular camera angle may be chosen based upon the user profile. In addition, particular drama presentations provide different video streams for various plot changes, and a video stream for a particular plot to be displayed to a user may be chosen based upon the user profile.

The surveys may involve selectively transmitting questions to a user based upon the user's donut. The user's answers to the questions may be used to further update the donut. As an example of survey content, consider an automobile manufacturer as an advertiser that has determined that the answers to ten questions, asked in a specific order, are vital to determining how the manufacturer is going to market to a particular user. In this example, the server or network uses the donut to maintain what questions have been answered and which have not been answered. The donut can be utilized to determine which of the ten possible questions should be pushed to the user when the network determines, according to a particular schedule, that it is time for the manufacturer's survey to be pushed to the user.

This example further illustrates how individual advertising may be selected for particular users. The answers to the surveys may be used to provide a second level of information within an advertisement pushed to a particular user. The network may use demographic data in the user's donut, for example, to determine which advertisement and survey to push to the user. The user's answers to the questions in the survey may be used to push additional advertisements to the user or additional content for the advertisement already pushed. Also, the network can tailor a survey to a particular user by selecting additional questions for the survey, and an order of presentation of the questions, based upon the user's answers. Accordingly, the network can dynamically modify and update a user's donut to further fine-tune the processing of selecting particular content to push to the user based upon the user's donut.

An execution environment for donuts may be implemented with an easily programmed JAVA module, an example of which is provided in Table 1 illustrating template-based code, generated by a graphical user interface (GUI). This module may be implemented as an application program interface (API) on a user's machine for accessing the user's donut file on a server. If the user's machine does not contain such a module, the user's machine may download it as a JAVA Archive (JAR) file for local execution.

TABLE 1
import actv.nub.* ;
public class PilotYankees implements Processor {
   public void process(Nub nub, Donut client, Donut action)
      throws NubException
   {
      if (client.check(“OWNS_PILOT”) &&
            action.getValue(“FAN_
            OF”).equals(“Yankees”) ) {
         nub.change(“content”, YankeePilotChallenge);
      }
   }
}

The module in Table 1 can obtain crumb values from a donut service, branch on those values and other conditions, set existing crumb values, and create new crumbs as desired. Additionally, the module can interact directly with systems such as a distributed community network for additional functionality, including dynamic assignment to content and advertising push channels. An example of a distributed community network is disclosed in U.S. application of Craig D. Ullman, Michael R. Abato, Jeffrey M. Harrington, and Carl R. Duda, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD FOR PROVIDING A DISTRIBUTED COMMUNITY NETWORK,” and filed on Sep. 15, 1999. The donut may be used with other types of networks as well.

A module processing a donut can execute in three modes: as an http servlet connected directly to a database for donut persistence; as a service responding to requests coming through a distributed community network and unconnected to a database for donut persistence; and on the client machine, which has direct access to user input, but uses the donut persistence by proxy through a distributed community network.

FIGS. 11A, 11B, and 11C are a flow chart of a process 220 for generating and implementing donuts specifying user-profile information. Process 220 may be implemented in software modules on a machine such as a web server in the exemplary network described above. In process 220, a user attempts to log onto the network (step 222). In response, the server determines if a donut exists in the database for this user (step 224). If a donut does not exist (step 226), the server queries the user, receives a response to the query, and generates a donut for the user based upon the response, using exemplary database structure 200 (step 232). An example of a query is provided below. Otherwise, if a donut does exist for the user (step 226), the server queries the user in order to update the donut (step 228) and implements the updates to the donut, using exemplary database structure 200 (step 230). The queries may involve the server transmitting a series of questions to the user and receiving from the user replies to the question. The queries may also involve survey questions as described above. The server may require a response in order for the user to receive content from the network.

The server may optionally receive user-profile content for the user from another source. For example, a user profile may already exist for the user from another network-based system, and the server may receive that profile. Upon optionally receiving the other user-profile content, such as a pre-existing user profile, the server selectively incorporates the content into the donut (step 234). The server may base the incorporation of the pre-existing other user-profile content on particular criteria such as the types of content required for the user profile and when the pre-existing user profile was updated. In addition, the server may incorporate all of the content or only selected portions of it.

The server assigns the user to a team based upon the user's donut and saves an indication of the assignment in the user's donut (step 236). A team specifies a chat room for this user for a chat service; the donut information may be used with other network services as well. If the user already had a donut in the system, the server may use a pre-existing room assignment as a default assignment, or assign the user to a new team, particularly if the user's donut has been substantially updated. The server stores the user's donut in the database and optionally transmits a copy of the donut or particular portions of it for storage on the user's machine (step 238). The user's machine, if it receives the donut, locally stores the donut or the updates to it.

After creating or updating a donut for the user, the server selects content for transmission to the user based upon the user-profile information stored in the user's donut (step 240). The selected content may be based upon particular criteria involving the user-profile information in the user's donut, and it may include a wide variety of types of information. The content may include networked content, meaning any type of information available via a Uniform Resource Identifier (URI) (step 254). A URI is a compact string of characters for identifying an abstract or physical resource. More specifically, URIs provide a simple and extensible means for identifying a resource, and a URI can be further classified as a locator, a name, or both. The specification of URI syntax and semantics is derived from concepts introduced by the World Wide Web global information initiative. URIs include, for example, URLs and Uniform Resource Names (URNs). A URL is a subset of a URI that identifies resources via a representation of their primary access mechanism, such as their network “location,” rather than identifying the resource by name or other attribute of that resource. The term URN refers to a subset of URI that is required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable.

The selected content may also include video content (step 255); audio content (step 256); or any type of multimedia content (step 257). The multimedia content may include, for example, particular types of animations or slide shows selected for transmission to the user's machine based upon the user's preferences or characteristics as identified in the user's donut. The video and audio content may include, for example, particular video and audio advertisements potentially of interest to the user and selected for transmission to the user's machine based upon the user's identified preferences. The video, audio, or multimedia content may include content related to a chat room discussion among the user and other members of the user's chat room or team. It may also include content related to a program being viewed by the user. For example, if the user views a sports program, the content may include statistics or videos of past sports programs between the same teams or players, depending on the user's identified preferences or interests as saved in the user's donut.

The selected content may also include a particular video stream, as identified above (step 258). In particular, several video streams captured from different camera angles may be available for a particular program. The server may select a video stream for display to the user based upon the user's stated preferences. For example, a user may have stated a preference for watching the quarterback during a football game and, therefore, a video stream following the quarterback is selected for transmission to the user's machine. Another user may have expressed an interest in watching wide receivers, for example, and a video stream of the receivers is selected for transmission to that user's machine. Technology for providing multiple video streams of a program is disclosed in U.S. Pat. No. 5,861,881, which is incorporated herein by reference.

The selected content may also include an executable object or application (step 259). For example, the server may transmit to the user a JAVA game or other types of electronic games based upon the user's preferences. The executable objects may also be used to dynamically push customized code to the user's machine while another application executes. In addition, selected executable objects may be used to facilitate electronic commerce transactions. In particular, identification of particular products available for purchase may be transmitted to the user based upon the user's preferences, and an executable object can be used to provide a common electronic “shopping cart” where the user can drag and drop identification of products to purchase among multiple vendors. The electronic shopping cart saves an identification of the products, and potentially other information, for use in transmitting and executing a purchase request for the products.

The selected content can include other types of content as well (step 260). Based upon the determination, the server pushes the particular content to the user's machine (step 242).

The server also monitors the user's activity in order to dynamically update the user's donut (step 244). The user's activity may involve any type of information relating to the user's interaction with the network or program content provided to the user. For example, the server may detect the following: the rate at which the user selects or “clicks on” URLs to request particular content; which URLs the user selects; the amount of elapsed time the user has remained logged onto the network; the extent to which the user participates in chat room discussions; and any other such information.

The server also determines whether to update the user's donut based upon the monitored user activity (step 246). This determination may be based upon particular criteria related to the user's activity. For example, the server may store particular types of activity or thresholds for activity and compare them to the user's monitored activity, providing for an update when the user's activity matches the particular types of activity or exceeds the thresholds. It may also be updated based upon survey questions. If the server has determined based on the criteria that the user's donut is to be updated (step 248), it dynamically updates the donut based on the user's activity, saves the updates, and optionally sends the updates to the user's machine (step 250). Otherwise, if the criteria have not been met, the server does not update the donut.

The server also detects whether the user has logged off the network (step 252). If the user remains logged onto the network, the server continues to select and push content to the user based upon the user's donut (steps 240, 242, 254-260), monitor the user's activity (step 244), and dynamically update the user's donut (steps 246, 248, and 250).

The following provides an example of use of a donut. During a program, the server sends a user, Bob Smith, a question which states, “Do you own a Personal Digital Assistant (PDA)?” Bob returns a “Yes” answer. The corresponding crumb includes the meaning value pair PDA=True, which is then sent via the Internet to a distributed community network, as identified above. This crumb is captured from the distributed community network and stored in the database as a crumb in the sub-donut “Technology” under Bob Smith's donut. A copy of the crumb is stored locally in the client browser on Bob Smith's machine.

Later in the program, the host of the television program is reviewing the latest PDAs. The producer of the program wants to send web content specific to all the users on-line about PDAs. The producer pushes to all the users on-line a playlist item, as identified above, parameterized on whether a user has a PDA. Bob Smith's browser receives the playlist item, which references his donut. The browser recalls the value pair PDA=True, and from the logic in the playlist item, determines that Bob should see in his browser a web page that offers a discount on a PDA upgrade, rather than a web page that offers the user the opportunity to buy a new PDA for the first time.

In addition to this route of the crumb and the decision making occurring on the client side, the same process can occur solely on the server side.

Table 2 provides an Extensible Markup Language (XML) code listing for an exemplary donut. Table 3 provides an XML code listing for an exemplary collection of donuts. In Tables 2 and 3 the indentation represents the hierarchical structure of the donuts.

TABLE 2
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE htvuser SYSTEM “donut.dtd” [ ]>
<htvuser name=“Bart Simpson” uid=“bart” pw=“dude!”>
 <donut desc=“bart” id=“bart”>
 <crumb desc=“email” value=“barf@fox.net” />
 <crumb dest=“ccn” value=“amex 5592 3800 0165 1872 exp 01” />
 <donut desc=“thebox”>
  <crumb desc=“style” value=“rock” />
  <crumb desc=“region” value=“NE” />
  <crumb desc=“fanof” value=“Offspring, Limp Bizkit” />
  <crumb desc=“sex” value=“yes” />
 </donut>
 </donut>
</htvuser>
<!--
Client code can refer to:
 bart.ccn
 bart.thebox.region
 bart.thebox.fanof
 etc.
-->

TABLE 3
<?ml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE teamlist SYSTEM “donut.dtd” [ ]>
<teamlist>
 <donut    desc=”team”
       id=”hot-sax-mets”
       shared=”true”
       members=”lisa,sally,lukas”>
 <crumb desc=”name”
   value=”Hot Saxophonists Lusting after the Met's Shortstop” />
 <crumb desc=”team-homepage”
   value=”http://home.springfield.net/~lisa/mitt-lusters.html” />
 <crumb desc=”trivia-tries” value=”22” />
 <crumb desc=”trivia-correct” value=”5” />
 <crumb desc=”trivia-prizes” value=”05” />
 </donut>
 <htvuser name=”Sally Brown” uid=”sally” pw=”beethoven”“>
 <donut desc=”sally” id=”sally”>
  <crumb desc=”email” value=”sally@shulz.net” />
  <crumb desc=”cnn” value=”mc 5592 3800 0165 1872 exp 012” />
  <donut desc=”espn” subs=”hot-sax-mets”>
  <crumb desc=”sports” value=”skiing” />
  <crumb desc=”agegroup” value=”2-5” />
  </donut>
 </donut>
 </htvuser>
 <htvuser name=”Lisa Simpson” uid=”lisa” pw=”’trane ”>
 <donut desc=”lisa” id=”lisa”>
  <crumb desc=”email” value=”lisa@fox.net” />
  <crumb desc=”ccn” value=”visa 5592 3800 0165 1872 exp 02” />
  <donut desc=”espn” subs=”hot-sax-mets”>
  <crumb desc=”sports” value=”curling,wwf” />
  <crumb desc=”agegroup” value=”5-1 0” />
  <crumb desc=”education” value=”Springfield” />
  </donut>
 </donut>
 </htvuser>
 <htvuser name=”Lukas Doright” uid=”duanne” pw=”tomgirl”>
 <donut desc=”lukas” id=”lukas”>
  <crumb desc=”email” value=”lukas@aol.com” />
  <crumb desc=”ccn” value=”amex 5592 3800 0165 1872 exp 00” />
  <donut desc=”espn” subs=”hot-sax-mets”>
  <crumb desc=”sports” value=”baseball” />
  <crumb desc=”agegroup” value=”18-24” />
  </donut>
 </donut>
 </htvuser>
</teamlist>

Using the foregoing embodiments, methods and processes, the system of the present invention creates a synergistic experience combining the vast resources of the Internet with the presentation capabilities of television.

Ullman, Craig, Harrington, Jeffrey M., Abato, Michael R., Duda, Carl R.

Patent Priority Assignee Title
10028026, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10028027, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10045084, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10057649, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10129597, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
10129598, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV services subscribers
10149015, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10154296, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10205998, Sep 29 1999 OPENTV, INC Enhanced video programming system and method utilizing user-profile information
10264303, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10277937, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10306321, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10341699, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10341730, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10349100, Mar 12 2007 BROADBAND ITV, INC Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
10349101, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10375428, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10491954, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
10491955, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV services subscribers
10506269, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10536750, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10536751, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
10555014, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10560733, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10567846, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10582243, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10623793, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
10785517, Jul 30 2004 Broadband iTV, Inc. Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
10791351, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
10893334, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
10931986, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11218752, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11218757, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11245942, Mar 12 2007 Broadband iTV, Inc. Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
11252459, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11252476, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
11259059, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11259060, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11259089, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
11265589, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11272233, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11272235, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11277669, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11290763, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11516525, Jul 30 2004 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11570500, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11570521, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11582498, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
11589093, Mar 12 2007 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11601697, Mar 12 2007 Broadband iTV, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
11695976, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9148684, Sep 29 1999 OPENTV, INC. Enhanced video programming system and method utilizing user-profile information
9661254, May 16 2014 RPX Corporation Video viewing system with video fragment location
9866909, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
9866910, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
9888287, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery system for providing video-on-demand services to TV services subscribers
9888288, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9894417, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9894419, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9936240, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9973825, Jun 26 2007 Broadband iTV, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
9998791, Jul 30 2004 Broadband iTV, Inc. Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
Patent Priority Assignee Title
4572509, Sep 30 1982 Video game network
4592546, Apr 26 1984 INTERACTIVE NETWORKS, INC Game of skill playable by remote participants in conjunction with a live event
4734764, May 06 1985 TVWorks, LLC Cable television system selectively distributing pre-recorded video and audio messages
4877408, Feb 09 1988 Competitive computer educational game
4894789, Feb 22 1988 TechSearch, LLC TV data capture device
4905094, Jun 30 1988 TVWorks, LLC System for audio/video presentation
4941040, Apr 29 1985 TVWorks, LLC Cable television system selectively distributing pre-recorded video and audio messages
5014125, May 05 1989 TVWorks, LLC Television system for the interactive distribution of selectable video presentations
5114155, Jun 15 1990 B I G THREE SIXTY, LLC System for automatic collection and distribution of player statistics for electronic dart games
5128752, Mar 10 1986 QUEST NETTECH CORPORATION System and method for generating and redeeming tokens
5140419, Apr 21 1983 The Weather Channel, LLC Communications system
5191410, Aug 04 1987 TVWorks, LLC Interactive multimedia presentation and communications system
5208659, Jun 03 1986 Cisco Technology, Inc Method and apparatus for independently transmitting and recapturing clock recovery burst and DC restoration signals in a MAC system
5243528, Sep 12 1990 Motorola, Inc. Land vehicle navigation apparatus with visual display
5262860, Apr 23 1992 International Business Machines Corporation Method and system communication establishment utilizing captured and processed visually perceptible data within a broadcast video signal
5264933, Jan 28 1992 SPORTVISION, INC Television displays having selected inserted indicia
5282028, Nov 19 1991 Cisco Technology, Inc Remote control for digital music terminal with synchronized communications
5285278, May 21 1992 Electronic redeemable coupon system via television
5291486, Aug 19 1991 Sony Corporation Data multiplexing apparatus and multiplexed data demultiplexing apparatus
5353283, May 28 1993 TTI Inventions A LLC General internet method for routing packets in a communications network
5359510, Nov 28 1990 MARTIN AUTOMATIC, INC Automated universal tournament management system
5365346, Mar 16 1987 Sharp Kabushiki Kaisha Image signal processor generating reduced memory consumption still images yet preserving image quality
5438355, Apr 16 1993 RPX Corporation Interactive system for processing viewer responses to television programming
5453794, Oct 08 1992 Sony Corporation Multistandard video signal decoder
5462275, Dec 20 1991 Gordon, Wilson; Danny D., Lowe Player interactive live action football game
5479268, Sep 10 1990 Rovi Guides, Inc User interface for television schedule system
5481542, Nov 10 1993 NDS Limited Interactive information services control system
5498000, Apr 17 1995 Goaltender simulator system
5526035, Nov 20 1991 OPENTV, INC Transaction based interactive television system
5534913, Mar 31 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Apparatus and method for integrating downstream data transfer over a cable television channel with upstream data carrier by other media
5537141, Apr 15 1994 OPENTV, INC Distance learning system providing individual television participation, audio responses and memory for every student
5539471, May 03 1994 Rovi Technologies Corporation System and method for inserting and recovering an add-on data signal for transmission with a video signal
5543849, Oct 13 1992 Gilbarco Inc Synchronization of prerecorded audio/video signals with multi-media controllers
5553221, Mar 20 1995 International Business Machine Corporation System and method for enabling the creation of personalized movie presentations and personalized movie collections
5557316, Sep 28 1990 ACTIVEVIDEO NETWORKS, INC System for distributing broadcast television services identically on a first bandwidth portion of a plurality of express trunks and interactive services over a second bandwidth portion of each express trunk on a subscriber demand basis
5564073, Apr 08 1993 Digital D.J. Inc. Broadcast system with associated data capabilities
5570295, Mar 18 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT System and method of capturing encoded data transmitted over a communications network in a video system
5572442, Jul 21 1994 Sony Corporation System for distributing subscription and on-demand audio programming
5579055, Jun 07 1993 Cisco Technology, Inc Electronic program guide and text channel data controller
5585858, Apr 15 1994 OPENTV, INC Simulcast of interactive signals with a conventional video signal
5586257, May 05 1994 Microsoft Technology Licensing, LLC Network architecture to support multiple site real-time video games
5586937, May 19 1993 CRANWAY LIMITED Interactive, computerised gaming system with remote terminals
5589892, Sep 09 1993 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Electronic television program guide schedule system and method with data feed access
5593349, Sep 09 1994 VALLEY RECREATION PRODUCTS, INC Automated league and tournament system for electronic games
5604542, Feb 08 1995 Intel Corporation Using the vertical blanking interval for transporting electronic coupons
5610653, Jan 11 1993 CustomPlay LLC Method and system for automatically tracking a zoomed video image
5612730, Mar 03 1995 1ST TELEPHONY LLC Interactive system for a closed cable network
5627978, Dec 16 1994 AVAYA Inc Graphical user interface for multimedia call set-up and call handling in a virtual conference on a desktop computer conferencing system
5633810, Dec 14 1995 Oracle America, Inc Method and apparatus for distributing network bandwidth on a media server
5633918, Aug 03 1994 Information distribution system
5637844, Jul 11 1992 Process and system for automated running of sports contests
5640193, Aug 15 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Multimedia service access by reading marks on an object
5643088, May 31 1995 INTERACTIVE NETWORK, INC Game of skill or chance playable by remote participants in conjunction with a common game event including inserted interactive advertising
5649284, Dec 17 1993 Sony Corporation Multiplex broadcasting system
5659366, May 10 1995 Panasonic Corporation of North America Notification system for television receivers
5667708, Mar 12 1996 Caterpillar Inc. Laser beam deflector for protection of underlying portions of an item during laser cutting of overlaying stock
5668592, Apr 06 1994 INTERAXX TELEVISION NETWORK, INC Interactive television terminal responsive to user commands which combines static service data and recurrently broadcast dynamic service data to produce composite service display signals
5677708, May 05 1995 Microsoft Technology Licensing, LLC System for displaying a list on a display screen
5679075, Nov 06 1995 Beanstalk Entertainment Enterprises Interactive multi-media game system and method
5686954, Sep 29 1994 Sony Corporation Program information broadcasting method program information display method, and receiving device
5691986, Jun 07 1995 Hitachi America, Ltd Methods and apparatus for the editing and insertion of data into an encoded bitstream
5694163, Sep 28 1995 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
5695400, Jan 30 1996 WELLS FARGO BANK, N A , AS COLLATERAL AGENT Method of managing multi-player game playing over a network
5696905, Mar 20 1995 GOOGLE LLC System and method for providing merchant information and establishing links to merchants while presenting a movie
5697844, Mar 10 1986 QUEST NETTECH CORPORATION System and method for playing games and rewarding successful players
5710884, Mar 29 1995 Intel Corporation System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use
5724091, Nov 25 1991 OPENTV, INC Compressed digital data interactive program system
5724103, Nov 13 1995 Intel Corporation CD ROM information references delivered to a personal computer using the vertical blanking intervals associated data technology from a nabts compliant television broadcast program
5724521, Nov 03 1994 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
5724567, Apr 25 1994 Apple Inc System for directing relevance-ranked data objects to computer users
5729252, Dec 27 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Multimedia program editing system and method
5730654, Dec 18 1995 HEALTH HERO NETWORK, INC Multi-player video game for health education
5734413, Nov 20 1991 OPENTV, INC Transaction based interactive television system
5734437, Oct 13 1995 SAMSUNG ELECTRONICS CO , LTD Character display apparatus for an intelligence television
5748186, Oct 02 1995 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Multimodal information presentation system
5748731, Jul 02 1996 Electronic trading cards
5757916, Oct 06 1995 Google Inc Method and apparatus for authenticating the location of remote users of networked computing systems
5758079, Oct 01 1993 Pragmatus AV LLC Call control in video conferencing allowing acceptance and identification of participants in a new incoming call during an active teleconference
5759101, Mar 10 1986 QUEST NETTECH CORPORATION Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing
5761602, Sep 13 1995 QUARTERHILL INC ; WI-LAN INC Hybrid multichannel data transmission system utilizing a broadcast medium
5761606, Feb 08 1996 OPENTV, INC Media online services access via address embedded in video or audio program
5771381, Dec 13 1994 Microsoft Technology Licensing, LLC Method and system for adding configuration files for a user
5774664, Mar 14 1996 OPENTV, INC Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
5778181, Mar 08 1996 OPENTV, INC Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
5779549, Apr 22 1996 Inventor Holdings, LLC Database driven online distributed tournament system
5782692, Jul 21 1994 Time-segmented multimedia game playing and authoring system
5784560, Dec 15 1994 EMC Corporaton Method and apparatus to secure distributed digital directory object changes
5793365, Jan 02 1996 Oracle America, Inc System and method providing a computer user interface enabling access to distributed workgroup members
5796393, Nov 08 1996 Meta Platforms, Inc System for intergrating an on-line service community with a foreign service
5796952, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
5801750, Jun 24 1994 Sony Corporation Information offering system
5813006, May 06 1996 SWITCHBOARD LLC On-line directory service with registration system
5818441, Jun 15 1995 Intel Corporation System and method for simulating two-way connectivity for one way data streams
5819261, Mar 28 1995 Canon Kabushiki Kaisha Method and apparatus for extracting a keyword from scheduling data using the keyword for searching the schedule data file
5823879, Dec 03 1996 BENEFICIAL INNOVATIONS, INC Network gaming system
5832496, Oct 12 1995 NCR Corporation System and method for performing intelligent analysis of a computer database
5846132, Apr 10 1996 Rovi Technologies Corporation Interactive system allowing simulated or real time participation in a league
5848373, Jun 24 1994 Garmin Switzerland GmbH Computer aided map location system
5848396, Apr 26 1996 Conversant, LLC Method and apparatus for determining behavioral profile of a computer user
5848397, Apr 19 1996 JUNO ONLINE SERVICES, INC Method and apparatus for scheduling the presentation of messages to computer users
5855516, Jan 27 1994 Weh GmbH, Eerbindungstechnik Method and system for automatic running of tournaments
5861881, Nov 25 1991 OPENTV, INC Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers
5867208, Oct 28 1997 OPENTV, INC Encoding system and method for scrolling encoded MPEG stills in an interactive television application
5870558, Jun 25 1996 Verizon Patent and Licensing Inc Intranet graphical user interface for SONET network management
5878222, Nov 14 1994 Intel Corporation Method and apparatus for controlling video/audio and channel selection for a communication signal based on channel data indicative of channel contents of a signal
5878223, May 07 1997 IBM Corporation System and method for predictive caching of information pages
5880720, Jul 26 1995 Kabushiki Kaisha Toshiba Television system for providing interactive television programs and server system for constructing the television system
5889950, Dec 20 1996 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Method and apparatus for distribution of broadcast data
5889951, May 13 1996 VIOS, INC Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
5890906, Jan 20 1995 MACRI, VINCENT J Method and apparatus for tutorial, self and assisted instruction directed to simulated preparation, training and competitive play and entertainment
5890963, Sep 30 1996 AILIVE HOLDING CORPORATION; YEN, WEI System and method for maintaining continuous and progressive game play in a computer network
5892909, Jan 31 1997 Open Text SA ULC Intranet-based system with methods for co-active delivery of information to multiple users
5894556, Mar 21 1996 Intel Corporation Network match maker matching requesters based on communication attribute between the requesters
5905865, Oct 30 1995 DISNEY ENTERPRISES, INC Apparatus and method of automatically accessing on-line services in response to broadcast of on-line addresses
5907322, Oct 16 1996 OPENTV, INC Television event marking system
5907680, Jun 24 1996 Oracle America, Inc Client-side, server-side and collaborative spell check of URL's
5912700, Jan 10 1996 SPORTSMEDIA TECHNOLOGY CORPORATION System for enhancing the television presentation of an object at a sporting event
5913040, Aug 22 1995 RPX Corporation Method and apparatus for transmitting and displaying information between a remote network and a local computer
5917725, Jun 27 1984 John, Klayh Tournament data system
5918009, Apr 25 1997 Sound View Innovations, LLC Technique for sharing information on world wide web
5918014, Dec 27 1995 GOOGLE LLC Automated collaborative filtering in world wide web advertising
5926179, Sep 30 1996 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
5929849, May 02 1996 KINGLITE HOLDINGS INC Integration of dynamic universal resource locators with television presentations
5929850, Jul 01 1996 OPENTV, INC Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
5933822, Jul 22 1997 Microsoft Technology Licensing, LLC Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
5940082, Feb 14 1997 System and method for distributed collaborative drawing
5940595, Sep 23 1996 HANGER SOLUTIONS, LLC Electronic network navigation device and method for linking to an electronic address therewith
5941774, Dec 27 1993 Kabushiki Kaisha Ace Denken Image display gaming system and gaming house management system
5947747, May 09 1996 Walker Digital, LLC; Inventor Holdings, LLC Method and apparatus for computer-based educational testing
5948040, Jun 24 1994 Delorme Publishing Co.; DELORME PUBLISHING COMPANY, INC Travel reservation information and planning system
5951636, Dec 04 1997 International Business Machines Corp. Accessing a post office system from a client computer using applets
5954798, Oct 06 1997 NCR Voyix Corporation Mechanism for dependably managing web synchronization and tracking operations among multiple browsers
5956038, Jul 12 1995 LINE CORPORATION Three-dimensional virtual reality space sharing method and system, an information recording medium and method, an information transmission medium and method, an information processing method, a client terminal, and a shared server terminal
5961603, Apr 10 1996 Comcast IP Holdings I, LLC Access system and method for providing interactive access to an information source through a networked distribution system
5973685, Jul 07 1997 OATH INC Scheme for the distribution of multimedia follow-up information
5978833, Dec 31 1996 Intel Corporation Method and apparatus for accessing and downloading information from the internet
5987454, Jun 09 1997 Red Hat, Inc Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
5987523, Jun 04 1997 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
5999664, Nov 14 1997 Xerox Corporation System for searching a corpus of document images by user specified document layout components
5999929, Sep 29 1997 Continuum Software, Inc World wide web link referral system and method for generating and providing related links for links identified in web pages
6005561, Dec 14 1994 PATENT PURCHASE MANAGER, L L C Interactive information delivery system
6006252, Oct 08 1996 GOOGLE LLC System and method for communicating information relating to a network resource
6006265, Apr 02 1998 Tata America International Corporation Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network
6009458, May 09 1996 ELECTRONIC ARTS INC Networked computer game system with persistent playing objects
6012083, Sep 24 1996 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
6018768, Mar 08 1996 OPENTV, INC Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
6023729, Jun 17 1997 Intel Corporation Method and apparatus for match making
6026375, Dec 05 1997 BlackBerry Limited Method and apparatus for processing orders from customers in a mobile environment
6029045, Dec 09 1997 Harmonic, Inc System and method for inserting local content into programming content
6029172, Aug 28 1996 U.S. Philips Corporation Method and system for selecting an information item
6029195, Nov 29 1994 Pinpoint Incorporated System for customized electronic identification of desirable objects
6044403, Dec 31 1997 AT&T Corp Network server platform for internet, JAVA server and video application server
6047235, Jul 26 1996 Aisin AW Co., Ltd. Vehicular navigation system
6049821, Jan 24 1997 Google Technology Holdings LLC Proxy host computer and method for accessing and retrieving information between a browser and a proxy
6055569, Jan 27 1998 GO AHEAD SOFTWARE INC Accelerating web access by predicting user action
6057856, Sep 30 1996 Sony Corporation 3D virtual reality multi-user interaction with superimposed positional information display for each user
6061738, Jun 27 1997 D&I Systems, Inc. Method and system for accessing information on a network using message aliasing functions having shadow callback functions
6065059, Dec 10 1996 International Business Machines Corporation Filtered utilization of internet data transfers to reduce delay and increase user control
6075527, Jul 31 1995 Kabushiki Kaisha Toshiba Interactive television system
6080063, Jan 06 1997 VK SERVICES, LLC Simulated real time game play with live event
6081830, Oct 09 1997 Gateway, Inc Automatic linking to program-specific computer chat rooms
6082887, Sep 20 1996 AMI ENTERTAINMENT NETWORK, INC Game machine with automated tournament mode
6094677, May 30 1997 GOOGLE LLC Methods, systems and computer program products for providing insertions during delays in interactive systems
6098085, Mar 17 1997 AT&T Corp Word-serial reader for network devices having limited display capabilities
6101180, Nov 12 1996 TUMBLEWEED HOLDINGS LLC High bandwidth broadcast system having localized multicast access to broadcast content
6102797, Oct 14 1997 SUPRA ENGINEERING LIMITED, A BVI CORPORATION Method and apparatus for conducting games of chance
6102969, Sep 20 1996 AT HOME BONDHOLDERS LIQUIDATING TRUST Method and system using information written in a wrapper description language to execute query on a network
6108703, Jul 14 1998 Massachusetts Institute of Technology Global hosting system
6112181, Nov 06 1997 INTERTRUST TECHNOLOGIES CORP Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
6112212, Sep 15 1997 The Pangea Project LLC Systems and methods for organizing and analyzing information stored on a computer network
6119165, Nov 17 1997 Trend Micro, Incorporated Controlled distribution of application programs in a computer network
6122647, May 19 1998 AT HOME BONDHOLDERS LIQUIDATING TRUST Dynamic generation of contextual links in hypertext documents
6122658, Jul 03 1997 Microsoft Technology Licensing, LLC Custom localized information in a networked server for display to an end user
6126547, Sep 20 1996 KONAMI CO , LTD Competitive video game system and method of displaying images in competitive video game system
6128482, Dec 22 1998 General Motors LLC Providing mobile application services with download of speaker independent voice model
6131120, Oct 24 1997 NETP&L, INC Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers
6134584, Nov 21 1997 IBM Corporation Method for accessing and retrieving information from a source maintained by a network server
6138144, Jun 24 1997 RPX Corporation Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network
6144848, Jun 07 1995 MOCE SOLUTIONS LIMITED LIABILITY COMPANY Handheld remote computer control and methods for secured interactive real-time telecommunications
6144991, Feb 19 1998 HANGER SOLUTIONS, LLC System and method for managing interactions between users in a browser-based telecommunications network
6151626, Feb 07 1997 HANGER SOLUTIONS, LLC Interactive television communication system
6163803, Oct 08 1997 Sony Corporation Transmitting apparatus, receiving apparatus, recording apparatus, and reproducing apparatus
6182072, Mar 26 1997 Microsoft Technology Licensing, LLC Method and apparatus for generating a tour of world wide web sites
6182116, Sep 12 1997 Matsushita Electric Industrial Co., Ltd. Virtual WWW server for enabling a single display screen of a browser to be utilized to concurrently display data of a plurality of files which are obtained from respective servers and to send commands to these servers
6192140, Jun 18 1996 Koenig & Bauer-Albert Aktiengesellschaft Process and device for the qualitative assessment of processed sheets
6192394, Jul 14 1998 Hewlett Packard Enterprise Development LP Inter-program synchronous communications using a collaboration software system
6193610, Jan 05 1996 VIRTUAL GAMING TECHNOLOGIES LLC Interactive television system and methodology
6199014, Dec 23 1997 Inventor Holdings, LLC System for providing driving directions with visual cues
6199045, Aug 15 1996 SNAP TRACK, INC Method and apparatus for providing position-related information to mobile recipients
6204842, Oct 06 1998 Sony Corporation; Sony Electronics Inc. System and method for a user interface to input URL addresses from captured video frames
6205582, Dec 09 1997 ACTIVEVIDEO NETWORKS, INC Interactive cable television system with frame server
6253228, Mar 31 1997 Apple Inc Method and apparatus for updating and synchronizing information between a client and a server
6260192, Jun 02 1997 Sony Corporation; Sony Electronics Filtering system based on pattern of usage
6266649, Sep 18 1998 Amazon Technologies, Inc Collaborative recommendations using item-to-item similarity mappings
6275705, Dec 22 1995 Cambridge Positioning Systems Limited Location and tracking system
6278942, Mar 21 2000 HERE GLOBAL B V Method and system for providing routing guidance
6279007, Nov 30 1998 Microsoft Technology Licensing, LLC Architecture for managing query friendly hierarchical values
6288753, Jul 07 1999 STANLEY BLACK & DECKER, INC System and method for live interactive distance learning
6289362, Sep 01 1998 REMBRANDT SOCIAL MEDIA, LP System and method for generating, transferring and using an annotated universal address
6292780, Aug 25 1995 Micra SoundCards, Inc. Talking trading card player system
6297748, Nov 14 1996 Microsoft Technology Licensing, LLC Interactive traffic display and trip planner
6298330, Dec 30 1998 Catalina Marketing Corporation Communicating with a computer based on the offline purchase history of a particular consumer
6317722, Sep 18 1998 Amazon Technologies, Inc Use of electronic shopping carts to generate personal recommendations
6317780, Sep 08 1998 Microsoft Technology Licensing, LLC System and method for distributing data over a communications network
6317791, Jun 30 1998 Microsoft Technology Licensing, LLC System and method for distributing data over a communications network for display during start-up
6326982, Jun 24 1999 HANGER SOLUTIONS, LLC Method and apparatus for automatically accessing web pages based on television programming information
6327574, Jul 07 1998 CALLAHAN CELLULAR L L C Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
6330592, Dec 05 1998 OPTIMIZE TECHNOLOGY SOLUTIONS, LLC Method, memory, product, and code for displaying pre-customized content associated with visitor data
6353933, Nov 21 2000 Larry W., Love. Combination stadium cushion and poncho
6366914, Aug 08 1997 THOMSON LICENSING SAS Audiovisual content distribution system
6397220, Oct 01 1998 GOOGLE LLC Common gateway which allows JAVA applets to make program calls to OLTP applications executing on an enterprise server reference to co-pending applications
6412011, Sep 14 1998 AT&T Properties, LLC; AT&T INTELLECTUAL PROPERTY II, L P Method and apparatus to enhance a multicast information stream in a communication network
6424979, Dec 30 1998 CGI TECHNOLOGIES AND SOLUTIONS INC System for presenting and managing enterprise architectures
6425012, Dec 28 1998 Koninklijke Philips Electronics N V System creating chat network based on a time of each chat access request
6442590, May 27 1999 YODLEE, INC Method and apparatus for a site-sensitive interactive chat network
6442598, Oct 27 1997 Microsoft Technology Licensing, LLC System and method for delivering web content over a broadcast medium
6442687, Dec 02 1999 PONOI CORP System and method for secure and anonymous communications
6457010, Dec 03 1998 PRIME RESEARCH ALLIANCE E , INC , A CORPORATION OF BRITISH VIRGIN ISLANDS Client-server based subscriber characterization system
6460180, Apr 20 1999 Rovi Technologies Corporation Enabling and/or disabling selected types of broadcast triggers
6463585, Dec 09 1992 Comcast IP Holdings I, LLC Targeted advertisement using television delivery systems
6466929, Nov 13 1998 University of Delaware System for discovering implicit relationships in data and a method of using the same
6466969, Mar 18 1998 SONY INTERNATIONAL EUROPE GMBH Notification subsystem
6480885, Sep 15 1998 TUMBLEWEED HOLDINGS LLC Dynamically matching users for group communications based on a threshold degree of matching of sender and recipient predetermined acceptance criteria
6486892, Apr 07 1999 GUILD FOREST LLC System and method for accessing, manipulating and viewing internet and non-internet related information and for controlling networked devices
6513069, Mar 08 1996 OPENTV, INC Enhanced video programming system and method for providing a distributed community network
6526041, Sep 14 1998 UNIFY, INC Apparatus and method for music-on-hold delivery on a communication system
6546387, Nov 15 1999 TRANSCOM SOFTWARE INC Computer network information management system and method using intelligent software agents
6571234, May 11 1999 CXT SYSTEMS, INC System and method for managing online message board
6577716, Dec 23 1998 Internet radio system with selective replacement capability
6578025, Jun 11 1999 ABUZZ TECHNOLOGIES, INC Method and apparatus for distributing information to users
6606657, Jun 22 1999 Mavenir LTD System and method for processing and presenting internet usage information
6611872, Jan 11 1999 GOOGLE LLC Performing multicast communication in computer networks by using overlay routing
6625624, Feb 03 1999 AT&T Corp Information access system and method for archiving web pages
6643691, Nov 14 1997 National Instruments Corporation Assembly of a graphical program for accessing data from a data source/target
6654735, Jan 08 1999 International Business Machines Corporation Outbound information analysis for generating user interest profiles and improving user productivity
6661372, Oct 09 1995 QUALCOMM INCORPORATED, A DELAWARE CORPORATION Client-server based remote locator device
6675162, Oct 01 1997 Microsoft Technology Licensing, LLC Method for scanning, analyzing and handling various kinds of digital information content
6701362, Feb 23 2000 MICRO FOCUS LLC Method for creating user profiles
6725159, Sep 06 1996 Snaptrack Incorporated GPS receiver and method for processing GPS signals
7568210, Dec 09 1992 Comcast IP Holdings I, LLC Method and apparatus for locally targeting virtual objects within a terminal
7949722, Sep 29 1999 OPENTV, INC Enhanced video programming system and method utilizing user-profile information
20010000537,
20020056129,
20020112002,
20020156909,
20020188943,
AU717399,
DE19545882,
DE4427046,
DE4431438,
EP163577,
EP314572,
EP562221,
EP673164,
EP757485,
EP805598,
EP837609,
EP879536,
EP952539,
EP982943,
EP1089201,
GB2132856,
GB2325537,
GB2327837,
GB2347055,
GB2350213,
GB2359449,
GB2359708,
GB2359958,
JP4127688,
JP5176306,
JP7288606,
JP7307813,
JP8008820,
RE35498, Feb 28 1990 u-blox AG Vehicle location system
RE37957, Jun 22 1994 Wizards of the Coast LLC Trading card game method of play
WO14987,
WO36836,
WO36886,
WO43892,
WO43899,
WO77664,
WO124027,
WO2065252,
WO2065318,
WO9306675,
WO9307713,
WO9311617,
WO9322877,
WO9413107,
WO9607270,
WO9608923,
WO9613124,
WO9702699,
WO9722207,
WO9727546,
WO9729591,
WO9733414,
WO9823080,
WO9829956,
WO9944159,
WO9945726,
WO9950778,
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 07 2010ACTV, IncOPENTV, INCMERGER SEE DOCUMENT FOR DETAILS 0269050468 pdf
Mar 04 2011OPENTV, INC.(assignment on the face of the patent)
Date Maintenance Fee Events
Nov 25 2013ASPN: Payor Number Assigned.
Jun 20 2017M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Aug 23 2021REM: Maintenance Fee Reminder Mailed.
Feb 07 2022EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Dec 31 20164 years fee payment window open
Jul 01 20176 months grace period start (w surcharge)
Dec 31 2017patent expiry (for year 4)
Dec 31 20192 years to revive unintentionally abandoned end. (for year 4)
Dec 31 20208 years fee payment window open
Jul 01 20216 months grace period start (w surcharge)
Dec 31 2021patent expiry (for year 8)
Dec 31 20232 years to revive unintentionally abandoned end. (for year 8)
Dec 31 202412 years fee payment window open
Jul 01 20256 months grace period start (w surcharge)
Dec 31 2025patent expiry (for year 12)
Dec 31 20272 years to revive unintentionally abandoned end. (for year 12)