Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030005151 A1
Publication typeApplication
Application numberUS 10/217,637
Publication dateJan 2, 2003
Filing dateAug 12, 2002
Priority dateMar 8, 1996
Also published asCA2345149A1, CN1288313A, CN1375087A, CN100393051C, EP1087565A2, EP1087565A3, EP1107535A2, EP1107535A3, US6513069, WO2001020468A1
Publication number10217637, 217637, US 2003/0005151 A1, US 2003/005151 A1, US 20030005151 A1, US 20030005151A1, US 2003005151 A1, US 2003005151A1, US-A1-20030005151, US-A1-2003005151, US2003/0005151A1, US2003/005151A1, US20030005151 A1, US20030005151A1, US2003005151 A1, US2003005151A1
InventorsCraig Ullman, Jeffrey Harrington, Michael Abato, Carl Duda
Original AssigneeUllman Craig D., Harrington Jeffrey M., Abato Michael R., Duda Carl R.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Enhanced video programming system and method for providing a distributed community network
US 20030005151 A1
Abstract
A distributed community network for providing services to an arbitrarily large community of end users by distributing the load among many machines. The network uses hubs on the machines for routing packets. The hubs obtain routing instructions from a router and use those instructions for routing the packets. The packets include content for the machines based upon a particular network service, such as a chat service for permitting users to interact in chat rooms or a push/pull service for pushing content to the user machines either directly or based upon information received from the users.
Images(17)
Previous page
Next page
Claims(16)
1. A method for routing packets of information in a network, comprising:
at a routing device located on a network, establishing at least one directory comprising at least one routing instruction to one or more targets in the network;
receiving a message to modify the at least one routing instruction; and
modifying the at least one routing instruction.
2. The method of claim 1 further comprising:
receiving a packet at the routing device;
accessing the at least one directory comprising the at least one routing instruction to one or more targets in the network; and
routing the packet to the one or more targets in the network.
3. The method of claim 1 wherein the operation of receiving a message to modify the at least one routing instruction comprises:
receiving a message to add at least one routing instruction for at least one new target in the network to the at least one directory.
4. The method of claim 1 wherein the operation of receiving a message to modify the at least one routing instruction comprises:
receiving a message to delete at least one routing instruction for at least one new target in the network from the at least one directory.
5. The method of claim 1 wherein the routing device comprises a hub.
6. The method of claim 1 wherein the routing instruction comprises an identification of participants to receive the packet.
7. The method of claim 6 wherein the routing instruction further comprises an address on the network to send the packet.
8. A method for transmitting data packets of information to one or more client devices, comprising:
in a server, providing for at least one directory comprising at least one identification of a client and at least one identification of at least one type of content to transmit to the client;
accessing the at least one directory; and
transmitting a packet from the server, the packet corresponding with the at least one type of content, the packet comprising the at least one identification of the client.
9. The method of claim 8 further comprising:
receiving a message to modify the at least one directory; and
modifying the directory.
10. The method of claim 9 wherein the message to modify the at least one directory comprises an instruction to add at least one identification of a client.
11. The method of claim 9 wherein the message to modify the at least one directory comprises an instruction to add at least one identification of at least one type of content.
12. The method of claim 9 wherein the message to modify the at least one directory comprises an instruction to delete at least one identification of a client.
13. The method of claim 9 wherein the message to modify the at least one directory comprises an instruction to delete at least one identification of at least one type of content.
14. The method of claim 8 where the at least one type of content is selected from the group consisting of text data, video data, audio data, a uniform resource identifier, a uniform resource name, and a uniform resource locator.
15. The method of claim 8 wherein the operation of transmitting a packet from the server further comprises the operation of transmitting a packet from the server to a network.
16. The method of claim 15 wherein the network is selected from the group consisting of the Internet, a wide-area network, a local area network, an intranet, a cable TV distribution medium, a broadcast medium, and a satellite broadcast medium.
Description
    REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This application is a continuation of is a continuation of U.S. application Ser. No. 09/396,693 filed Sep. 15, 1999, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD FOR PROVIDING A DISTRIBUTED COMMUNITY NETWORK”, which is a continuation-in-part of U.S. application Ser. No. 09/109,945, filed Jul. 6, 1998, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD FOR INCORPORATING AND DISPLAYING RETRIEVED INTEGRATED INTERNET INFORMATION SEGMENTS,” which is a continuation-in-part of U.S. application Ser. No. 08/615,143, filed Mar. 14, 1996, entitled “ENHANCED VIDEO PROGRAMMING SYSTEM AND METHOD FOR INCORPORATING AND DISPLAYING RETRIEVED INTEGRATED INTERNET INFORMATION SEGMENTS,” which is a continuation-in-part of U.S. application Ser. No. 08/613,144, filed Mar. 8, 1996, entitled “INTEGRATED INTERACTIVE VIDEO AND INTERNET SYSTEM”, and is related to U.S. application Ser. No. 08/622,474 filed Mar. 25, 1996, now U.S. Pat. No. 5,774,664, all of which are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • [0002]
    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.
  • [0003]
    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.
  • [0004]
    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.
  • SUMMARY OF THE INVENTION
  • [0005]
    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.
  • [0006]
    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.
  • [0007]
    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.
  • [0008]
    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.
  • [0009]
    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.
  • [0010]
    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.
  • [0011]
    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.
  • [0012]
    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.
  • [0013]
    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.
  • [0014]
    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.
  • [0015]
    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.
  • [0016]
    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.
  • [0017]
    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.
  • [0018]
    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.
  • [0019]
    Methods and apparatus consistent with the present invention distribute functions for routing packets of information among multiple machines in a network. The machines include hubs for implementing routing functionality. The hubs receive the packets and, based upon information in the packets, determine target machines or other network entities for receiving the packet.
  • [0020]
    The methods and apparatus, in particular, transmit content associated with a media program to a user machine. They receive from the user machine a packet including an indication of hierarchical routing information and content using a particular service, and they determine targets for receiving the packet based upon the hierarchical routing information. Based upon the determination, the packet is transmitted to the targets.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0021]
    [0021]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.
  • [0022]
    [0022]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.
  • [0023]
    [0023]FIG. 3 is a flow diagram of the basic software design of the present invention.
  • [0024]
    [0024]FIG. 4 is a diagram showing another 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.
  • [0025]
    [0025]FIG. 5 is a diagram of another embodiment including a digital cable box.
  • [0026]
    [0026]FIG. 6 is a diagram of another embodiment including a digital T.V.
  • [0027]
    [0027]FIG. 7 is a diagram of a user interface illustrating a playlist.
  • [0028]
    [0028]FIG. 8 is a sample display provided to a student of a lesson.
  • [0029]
    [0029]FIG. 9 is a diagram of the distributed Com Server embodiment.
  • [0030]
    [0030]FIG. 10A is a diagram of an exemplary physical network configuration for a distributed community network.
  • [0031]
    [0031]FIG. 10B is a diagram of an exemplary physical network configuration for a particular application of a distributed community network.
  • [0032]
    [0032]FIG. 11A is a diagram of an exemplary logical structure for a distributed community network.
  • [0033]
    [0033]FIG. 11B is an exemplary diagram of a physical network configuration for a distributed community network illustrating an alternative source for a video signal.
  • [0034]
    [0034]FIG. 12A is a diagram of an exemplary content push packet flow in a distributed community network.
  • [0035]
    [0035]FIG. 12B is a diagram of an exemplary push/pull packet content for use in a distributed community network.
  • [0036]
    [0036]FIG. 13 is a diagram of an exemplary chat packet flow in a distributed community network.
  • [0037]
    [0037]FIG. 14A is a diagram of an exemplary implementation of a distributed community network as a small eSchool.
  • [0038]
    [0038]FIG. 14B is a diagram of an exemplary implementation of a distributed community network as a large eSchool.
  • [0039]
    [0039]FIG. 14C is a diagram of an exemplary implementation of a distributed community network as a simple network providing video and other content.
  • [0040]
    [0040]FIG. 14D is a diagram of an exemplary implementation of a distributed community network as a complex network providing video and other content.
  • DETAILED DESCRIPTION Video Programming System and Method
  • [0041]
    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 20 to retrieve related Web pages. These Web pages correspond to the 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.
  • [0042]
    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.
  • [0043]
    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.
  • [0044]
    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.
  • [0045]
    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.
  • [0046]
    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.
  • [0047]
    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.
  • [0048]
    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.
  • [0049]
    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.
  • [0050]
    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:
  • [0051]
    (<timecode>,<URL>,<label or title>,<additional information>,<additional information>, . . . )
  • [0052]
    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.
  • [0053]
    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.
  • [0054]
    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.
  • [0055]
    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.
  • [0056]
    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.
  • System Operation
  • [0057]
    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.
  • [0058]
    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.
  • [0059]
    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.
  • [0060]
    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.
  • [0061]
    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.
  • [0062]
    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.
  • [0063]
    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.
  • [0064]
    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.
  • [0065]
    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.
  • [0066]
    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.
  • [0067]
    [0067]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.
  • [0068]
    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.
  • [0069]
    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 MPEG 1, 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.
  • [0070]
    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.
  • [0071]
    [0071]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.
  • [0072]
    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.
  • [0073]
    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.
  • [0074]
    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.
  • [0075]
    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.
  • [0076]
    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.
  • [0077]
    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.
  • [0078]
    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.
  • [0079]
    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.
  • [0080]
    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.
  • [0081]
    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.
  • [0082]
    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.
  • [0083]
    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 Corn Server 180 are squares representing user stations 188. The Communication Servers 180 are organized in node relationships with one another.
  • [0084]
    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 “Corn 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 Corn Server 180.
  • [0085]
    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.
  • [0086]
    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.
  • [0087]
    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.
  • [0088]
    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.
  • [0089]
    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.
  • [0090]
    The destination will be cached so subsequent messages for that member or group may be more efficiently delivered.
  • [0091]
    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.
  • [0092]
    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.
  • [0093]
    This method and system works for global messages or for user to user messages.
  • [0094]
    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.
  • [0095]
    Users need not be informed as to the particular Corn 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.
  • [0096]
    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.
  • Distributed Community Network
  • [0097]
    A distributed community network provides services, including those discussed above, to an arbitrarily large community of end users by distributing the load among many machines, each providing specific parts of the community. All server functions could reside on one machine in a modest context, whereas in a network of potentially millions, the web of distribution could involve additional server-side hardware or even actual client machines. An implementation of the distributed community network permits routing of content to be spread among multiple machines, which eases the processing burden on the server and provides for dynamic reconfiguration of the network. The dynamic reconfiguration thus may involve adding or removing machines to or from the network due to, for example, new network users or machine failures. As users and machines are added to the network, for example, those machines may include software packet switching.
  • [0098]
    Examples of services maintained by the distributed community network include a chat service, whiteboard service, and content push/pull service. A chat service involves the ability of a particular group of users to interact, such as via chat frame 168 shown in FIG. 8. The interaction of a particular group of users is referred to as a room, and the distributed community network may dynamically change room assignments to add or delete users from a room. Users may be assigned to a particular room based upon their user profile. A whiteboard service involves the ability of users to receive frames of video information for network collaboration among the users. The whiteboard includes a frame of video information transmitted to users within the same network chat room. The users, depending upon their drawing privileges, may make modifications to the frame, and those modifications are transmitted to the other users. In this manner, the users may collaboratively draw upon the frame.
  • [0099]
    A content push/pull service involves the ability of users to receive content either directly or through the use of received URLs or other network address information such as Uniform Resource Identifiers (URIs). 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.
  • [0100]
    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.
  • [0101]
    The term “push” refers to the configuration shown in FIGS. 1-6 for automatic delivery of content to the user. The term “pull” refers to delivery of content requiring user interaction. A content push/pull service thus permits users to request content by, for example, selecting or “clicking on” an icon or URL in order to have content transmitted to their machine. In effect, the user “pulls” content to the user machine by requesting the content. The distributed community network may provide for other network-type services as well.
  • [0102]
    Control over these individual services resides centrally on a server providing the services. However, packet distribution for that service could be distributed over many server or client machines implementing logical entities referred to as hubs. A hub is implemented in software, for example, and it performs routing of packets. The hubs need not implement the specific services for which they distribute packets; rather, they typically need only know the routing protocol for the service. Similarly, centrally controlled routers maintain routing logic for implementing network services. For example, they dynamically update algorithms for optimizing room assignments for a chat service without disturbing routing implemented by the hubs.
  • [0103]
    In addition, rooms assignments for a chat service are organized hierarchically to facilitate distribution to a targeted audience. The chat service may be controlled by the client as in the case of simple chat service. It also may be controlled by a database and content push/pull service making use of custom knowledge about a client via a profile for use in advertising purposes. In particular, the service may select advertisements to push to a particular client or user based upon the user's profile. Clients may also belong to multiple rooms in a chat service, making it simpler for a push/pull service to create distribution channels for similar clients by subscribing them to the new rooms. The push/pull service may then send the same or similar content to all members of the new room.
  • [0104]
    [0104]FIG. 10A is a diagram of an exemplary physical network configuration for implementing a distributed community network 200. The configuration includes client machines 204, 206, 208 connected through a network 202 to a hub 220 within a server 210. Network 202 may represent, for example, the Internet, a wide-area network, a local area network, or an intranet. Network 202 may also comprise a cable TV distribution medium, broadcast medium, satellite broadcast, telephone lines, fiber optics, or any other conventional transmission medium. Each of the client machines includes access to particular services managed by corresponding servers. Client machine 204 provides donut, chat, and whiteboard services to a client or user at that machine, for example. Client machine 206 provides donut and whiteboard services. Client machine 208 is a conventional television. A client machine may also comprise a digital TV, a TV with a digital or analog cable box, or a computer connected with a TV.
  • [0105]
    A donut service refers to the ability to provide content to users based upon user-profile information. The donut services specifies a “donut” of dynamic, hierarchical, shared user-profile information. In particular, it maintains either user profiles or database keys into a data repository containing the profiles. The donut may be stored in a file-type structure on a computer-readable medium such as a memory and accessed by browser programs, associated web server programs, and other applications for use in routing content to the user associated with the donut.
  • [0106]
    Distributed community network 200 in this example includes three servers 210, 212, and 214. Server 210 includes hub 220 and a whiteboard service 216. Server 212 includes a hub 222 and a chat service 218. Server 214 includes a hub 224 connected to two exemplary services, a donut service 226 and a content push/pull service 228. Both services 226 and 228 are connected with a data repository 230. 31 Examples of information for storage in data repository 230 include user profiles, content for transmission to users, and web pages.
  • [0107]
    Each of the three servers 210, 212, 214 are interconnected via their respective hubs 220, 222, and 224. In addition, this embodiment includes an authoring client machine 232 connected with hub 224 in server 214. The exemplary services 216, 218, 226, and 228 are only examples of services provided by servers. Many more services could also be provided by the server.
  • [0108]
    For the services, the servers may provide many types of content such as, for example, video, audio, and multimedia. Web browsers for communicating with the server may be located in various places such as, for example, on a user machine, in a cable head end, in a satellite operations center, or in a set-top box. The web browsers may obtain the content in realtime, or it may be prefetched and cached either locally or on the server. In addition to web browsers, other entities may obtain content.
  • [0109]
    A distributed community network permits processing for these exemplary services to be distributed among multiple machines, such as servers 210, 212, and 214. The routing for providing the services to client machines 204, 206, and 208 are distributed among the multiple hubs of the servers. Therefore, in order to transmit content to the client machines, the hubs in the servers provide route content from an authoring client machine 232 through network 202 to client machines 204, 206, and 208.
  • [0110]
    Use of a distributed community network distributes processing among multiple machines in order to ease the burden of providing routing to multiple client machines. It also provides a dynamic reconfigurable network by shifting routing among multiple hubs so that additional client machines may be dynamically added to the network. Each of the client machines 204, 206, and 232 may be implemented with a conventional computer with communication capability for interacting through a network. Each of the servers 210, 212, and 214 may be implemented with a typical server machine.
  • [0111]
    [0111]FIG. 10B provides an example of use of the network in FIG. 10A for a particular application. For instance, during a Jets v. Giants professional football game, a user, Bob, first switches his cable set-top box to the appropriate video channel for the game. The video originates at a television operations center, is transmitted via satellite to a cable head end, then through a cable plant to Bob's set-top box. Bob also connects to the Internet 202 on his computer and accesses the matching HyperTV web page, involving a particular network service. This web page is located on a server in the point of presence for the service. The point of presence configures Bob's machine 204 into distributed community network 200. Machine 204 opens a persistent socket on configured hub A (220) and sends a subscribe message to configured chat service 218 via hub C (222). In response to the subscribe message, chat service 218 sends an announcement packet to all the members of the configured room via hub A (220) and the Internet 202. In addition, chat service 218 subscribes Bob to the appropriate push/pull service 228 via hubs C (222) and B (224).
  • [0112]
    Push/pull service 228 extracts Bob's user profile donut from database 230 and pushes the values of the profile down through hub B (224) and hub A (220) through the Internet 202 to Bob's machine 204. Since Bob's donut shows that he has previously indicated that he is a Giants fan, Bob is subscribed to a particular push room for Giant fans by push/pull service 228. As the game progresses, any pushed content for Giants fans and any chat messages from Bob's friends in the chat room are transmitted to him at machine 204 as well.
  • [0113]
    During the game, a content producer uses the authoring client 232 to send a web page detailing the biography of the Giants quarterback and supporting links to hub B (224). The pushed information is routed to push/pull service 228, which sends a message to Bob and all the other members of that push room by routing it first to hub B (224). Hub B (224) in turn routes it to hub A (220), which distributes it via Internet 202 to Bob's machine 204 and all his friends in the chat room. Hub B (224) might also have routed the message to other hubs that support other people in the same chat room.
  • [0114]
    Bob reviews the page on the Giants and decides he wants to play a prediction game about the quarterback's decisions from one of the displayed supporting links. Bob “clicks on” the link to select it and generate a pull request, which is transmitted through the persistent socket connection through the Internet 202. The request is routed via hub B (224) to push/pull service 228, which pulls the distributed object (a JAVA game) from database 230 and returns it via the same channel to Bob's machine 204.
  • [0115]
    As the game progresses, Bob makes predictions about the quarterback's behavior. After each play, data updating the game arrives from authoring client 232 into hub B (224), and is then routed to QB game service 217 via hub A (220) and hub B (224). The game service processes the authoring client's data and sends the resultant data to Bob via hub A (220) and the Internet 202. The data is presented by the distributed object JAVA game on Bob's client machine 204.
  • [0116]
    The quarterback fumbles. The producer at authoring client 232 pushes a dynamic HyperText Markup Language (DHTML) instruction in Javascript through hub B (224) and hub A (220) through the Internet 202 to Bob's machine 204. At Bob's machine, the DHTML is executed and Bob receives on his computer screen an animated image of the word Fumble!
  • [0117]
    [0117]FIG. 11A is a diagram of an exemplary logic structure 240 for distributed community network 200 shown in FIG. 10A. Logic structure 240 illustrates logical relationships among entities within physical distributed community network 200. In particular, an arrow represents a class/subclass relationship, and a diamond represents a relationship identifying an attribute of an entity. A client 244 may correspond with one of the client machines 204, 206, and 208 and it subscribes to a hub 248, which may correspond with hub 220, 222, or 224 within one of the servers 210, 212, and 214. A server 246 may correspond with one of the servers 210, 212, and 214, and it manages a service 250, which may correspond with one of the services 216, 218, 226, or 228.
  • [0118]
    Client 244 is a type of participant 242, which is a client machine subscribed to a particular service such as service 250. The client's status as participant 242 identifies it as a member of a particular room for a chat service. A directory 254 through a connection 252 provides communication for locating users for participant 242. In particular, connection 252 is a network connection between two participants over which packets can be sent, and directory 254 provides instructions for identifying which participants are to receive particular content, where they are located on the network, and which content they are to receive.
  • [0119]
    Router 256 maintains map of a portion of the distributed community network for resolving routing questions from hubs, adding new participants to the network, and adding participants to services, which involves adding connections. In particular, hubs request routing decisions from router 256, and in response router 256 provides instructions to the hubs for their use in routing packets. For example, if hub A (220) failed, router 256 can issue instructions to the remaining hubs to avoid routing packets through hub A (220).
  • [0120]
    Directory 254 includes information used in routing information among client machines, and it provides information to hub 248 for use in routing information. The term directory is used to refer to a room for a chat service or any other service. Directory 254 is a hierarchical collection of a directory, terminated with a room and it has a subdir (set of directories). A room is a directory and identifies a group of clients subscribed to a service, such as a chat service. A room has clients (set of participants) and hubs (set of hubs) where hubs is a subset of clients.
  • [0121]
    Packet 258 is a structured piece of information delivered from one client to another. It may include any type of content for various services such as a push/pull service or a chat service. For example, in the chat service client 244 creates a packet when the user enters information and sends it to a hub associated with the client's machine. The hub sends that packet to all the connections subscribed to that room. If the connections include another hub, the process iterates, thus distributing the packet to the room over multiple hubs. Packet 258 identifies hierarchical routing information including a source (participant), dir (directory), target (participant), conn (connection), and a route (set of participants).
  • [0122]
    The packet with the routing information may include a variety of types of information as its payload or transmitted content. The packet may include data to be displayed, for example, to a user in a particular frame on a display device. The packet may also include one or more distributed executable objects, and the objects may include data, executable code, or data in combination with executable code. The executable code may include, for example, a JAVA applet or any type of entity specifying executable code.
  • [0123]
    Hub 248 includes software for routing packets, and it may be used to push an application or content to multiple users. Examples of such applications or content include a whiteboard, a JAVA game, chat messages, text, and a file. By distributing hubs among multiple machines, the burden on a server of routing packets is decreased. Also, hub 248 includes a connection to a router 256 for obtaining routing information, if necessary. Table 1 includes an example of hub logic for use by hub 248 in routing packet 258; this logic may be implemented in software or firmware modules for execution by a corresponding machine.
  • [0124]
    [0124]FIG. 11B is an exemplary diagram of a physical network configuration 259 for a distributed community network illustrating an alternative source for a video signal. Configuration 259 illustrates conventional distribution of video or television content using cable television signals. An operations center 261 generates a cable television signal having content for distribution and transmits the cable television signal over a satellite link 263 to one or more cable head ends 265. Cable head end 265 can include a web browser for interacting with a network such as the Internet 202. Cable head end 265 receives the cable television signal from satellite link 263 and distributes the signal over cable lines to client machines 267. Alternatively, the operations center can transmit over a satellite link to the client machines, foregoing the cable route. Client machines 267 may represent conventional televisions or any machine capable of displaying cable television signals (such as a personal computer with a TV card or module for processing TV signals for display). Client machines 267 may also include connection to a network such as the Internet 202 for implementing a distributed community network.
  • [0125]
    [0125]FIG. 12A is a diagram of an exemplary content push packet flow 260 in distributed community network 200 for implementing a content push/pull service. The content push packet flow involves transmission of content via packets through the logic structure 240 shown in FIG. 11A as implemented in the physical distributed community network configuration 200 shown in FIGS. 10A and 10B. As described above, a system may provide to a user both video and other media content, such as any content available via a URI or a client-side script such as a JAVA script. The type of media content pushed to a user may depend upon the user's profile.
  • [0126]
    The media content may include, for example, video, audio, combined video and audio, or multimedia content. When transmitting different types of media content, such as both video and audio, the media content may be transmitted from the same or different sources. In addition, the content may be transmitted from a wide variety of sources such as, for example, television, broadcast television, cable, satellite, local video, and local CD-ROM or digital versatile disk (DVD). The local content may be stored on the hard disk drive of a user's machine.
  • [0127]
    As shown in FIG. 12A, a content push/pull packet flow 260 includes interaction of multiple machines transmitting the packets. The packets may originate from various sources such as a web browser on a client machine, a cable head end, or a server. Client machines 284, 276, and 268 may correspond with client machines shown in FIG. 10A and client logic elements shown in FIG. 11A. Client 284 includes a browser program which provides frames for the following services: media 286, chat 290, and content 288. Client 276 likewise includes a browser program providing frames for media 280, chat 282, and content 278 services. Client 268 includes frames for media 270, chat 272, and content 274 services. Clients 284, 276, and 268, as shown, typically have the same services or access to the same services; alternatively, they may each implement different services. Also, they may implement different network services than those shown, such as a whiteboard service as identified above.
  • [0128]
    As shown in FIG. 8, chat service may include an associated chat frame 168 on a user's machine; content may include web pages 176; and media frames may include transmitted video programs. Also, as explained in the embodiments provided above, the implementation of a chat service may use a digital television, digital cable box, or personal computer. In addition, the program from the program sources, such as those identified above, and the content from a network service, such as a chat service or a push/pull service, may be provided on the same or different physical machines. For example, both the program and the content may be provided on a television or on a personal computer, or they may be provided on separate physical machines such as providing the program on a television and providing the content for the network service on an associated personal computer.
  • [0129]
    As shown in FIG. 12A for the push/pull service flow, authoring client 262 includes an authoring application 264 for creating a packet 266. An authoring application includes any program for use in creating a packet containing or identifying particular content. A server 292 provides for routing of packet 266. In particular, it includes a hub 294 coupled to a content push/pull service 296 and a chat service 298. The routing of packets and their content for the exemplary content push/pull service is further explained in Table 2 illustrating packet structure throughout the flow.
  • [0130]
    Authoring client 262, using authoring application 264, creates packet P-0 (step 266) and transmits it to server 292 where it is received by hub 294 as packet P-1 (step 306). Hub 294 routes the packet to an individual target. In particular, content push/pull service 296 sends packet P-2 to an entire directory via hub 294 (step 308). Hub 294 routes packet P-3 to all members of the directory (step 306), and each client receives the packet P-4 (steps 312, 314, 316). Hub 294 may include software for routing packets, as illustrated by the logic in Table 1. The packets identify information in the header used by the hub logic in routing the packets for the push/pull service.
  • [0131]
    [0131]FIG. 12B is a diagram of an exemplary push/pull packet content 271 for use in distributed community network 260 as packet P-4. Packet 271 includes a primary URI 273 for use by client machines 262, 268, 276, and 284 in retrieving content to be pushed to the machines. Packet 271 also may include one or more URIs for use by the client machines in pulling content. For example, packet 271 includes a URI 275 for a first pull item, a URI 277 for a second pull item, and a URI 279 for a third pull item. The pull items may include an element to be displayed to the user, such as an icon, such that when the user “clicks on” or selects the item, the corresponding client machine uses the URI associated with the displayed item to retrieve content and display the content to the user. Packet 271 may include multiple URIs for pushed content, as well as the multiple URIs for pulled content.
    TABLE 2
    P-0 P-1 P-2 P-3 P-4
    source 2000 2000 2000 2000 2000
    service content content content content content
    push/pull push/pull push/pull push/pull push/pull
    target  200  200
    dir   5   5   5   5   5
    action PUSH PUSH PUSH PUSH PUSH
    note author 262 hub 294 routes service 296 hub 294 routes each client 268,
    creates packet packet P-1 to sends packet P- packet P-3 to 276, 284 in the
    P-0 containing a individual target, 2 to entire all members of directory receives
    URI to be service 296 directory via the directory packet P-4,
    displayed and hub 294 including the URI
    URIs to pull to be displayed
    information and the URIs to
    pull information
  • [0132]
    [0132]FIG. 13 is a diagram of exemplary chat packet flow 330 in distributed community network 200. This diagram includes the same logic elements as shown in FIG. 12A with routing for flow of a chat packet using chat service 298 and implementations include the various alternatives identified above with respect to FIG. 12A.
  • [0133]
    The routing of packets and their content for the exemplary chat service is further explained in Table 3 illustrating packet structure throughout the flow. In this example, client 284 creates a new chat message as packet P-0 (step 332). The client may use an application associated with the chat service to enter information, such as typing in a text string using an keyboard, and send it in packet form. The application may include, for example, scripts associated with the chat frame on the user machine.
  • [0134]
    Packet P-0 from client machine 284 is directed to the server 292 where it is received as packet P-1 (step 334). Hub 294 routes the packet to an individual target as identified in the header information of the packet. In particular, chat service 298, using hub 294, sends packet P-2 to the entire directory (step 336). Hub 294 routes packet P-3 to all members of the directory (step 338), in which case is received by each of the client machines in the directory as packet P-4 (steps 340, 342, 344). Hub 294 may include software for routing packets, as illustrated by the logic in Table 1.
  • [0135]
    Programs in each client machine 268, 276, 284 associated with the chat service, such as scripts associated with the chat frames in the client machine, receive packet P-4 and perform necessary processing to extract the content originally created by the user at machine 284 (packet P-0) and display that content in the chat frames 272, 282, 290.
  • Table 3
  • [0136]
    [0136]
    P-0 P-1 P-2 P-3 P-4
    source 3000 3000 3000 3000 3000
    service chat chat chat chat chat
    target  201  201
    dir   5   5   5   5   5
    Action SAY SAY SAY SAY SAY
    note client at hub 294 routes chat service 298 hub 294 routes each client
    machine 284 packet P-1 to sends packet P-2 packet P-3 to all 268, 276, 284
    enters new chat individual target, to entire members of the in the directory
    message, packet chat service 298 directory via hub directory receives packet
    P-0 294 P-4
  • [0137]
    FIGS. 14A-14D are examples of implementations for distributed community network 200. FIGS. 14A is a diagram of a distributed community network 350 for a small eSchool. Network 350 includes in this example a server 352 providing service for all chat rooms and whiteboards and is coupled to client machines 354, 356, 358, and 360. Each client machine thus may access chat room and whiteboard services as managed by the server. Server 352 may include a hub having software for routing information, as illustrated by the logic in Table 1. Server 352 may also include a connection with a network such as the Internet 202.
  • [0138]
    [0138]FIG. 14B is a diagram of an exemplary implementation of a distributed community network 200 as a large eSchool 362. Configuration 362 includes a router 364 connecting servers 366 and 368. Each server manages a separate chat room and may exchange information through router 364. Two clients 370 and 372 are connected with a server 366 for the first chat room. Two additional clients 374 and 376 are connected with server 368 for the second chat room. Servers 366 and 368 may include hubs having software for routing information, as illustrated by the logic in Table 1. Servers 366 and 368 may include a connection with a network such as the Internet 202.
  • [0139]
    [0139]FIG. 14C is a diagram of an exemplary implementation of distributed community network 200 as a simple configuration 378 providing video and other content. Configuration 378 includes a server 380 coupled to clients 382, 384, 386, and 388. Server 380 in this example includes two directories identified as teams 1 and 2. One directory includes clients 382 and 384, and the other includes clients 386 and 388. These directories identify rooms for participants of a chat service maintained by server 380. Server 380 also identifies the type of content to be transmitted to the clients in its directory by being pushed to the clients by a content push/pull service. In this example, a first advertisement is to be transmitted to clients 382 and 386, and a second advertisement is to be transmitted to clients 384 and 388. Therefore, server 380 via a directory structure may specifically identify the type of content to be transmitted to particular clients. Server 380 may include a hub having software for routing information, as illustrated by the logic in Table 1. Server 380 may also include a connection with a network such as the Internet 202.
  • [0140]
    [0140]FIG. 14D is a diagram of an exemplary implementation of a distributed community network as a complex configuration 390 providing video and other content. Configuration 390 includes a server 392 and a server 394 both connected with a server 396. Server 396 is connected with hubs 398 and 400. Hub 398 is connected with clients 402 and 404, and hub 400 is connected with clients 406 and 408. Servers 392, 394, and 396 may include hubs having software for routing information, as illustrated by the logic in Table 1.
  • [0141]
    Configuration 390 also includes its own directory structure for the routing of information. Server 396 routes to team 1 or hub 398, and provides separate advertisements for hubs 398 and 400. The teams identify rooms for participants of a chat service, and the advertisements refer to particular content to be pushed to users by a content push/pull service. The directory for server 394 includes a first advertisement to be transmitted to server 396 and a second advertisement to be transmitted to server 396. The directory for hub 398 includes a first team for clients 402 and 404, and hub 400 and server 396. It further includes the first advertisement to be transmitted to client 402, and a second advertisement to be transmitted to client 404. The directory for hub 400 includes a first team for clients 406 and 408 and hub 398. It also includes a first advertisement to be transmitted to client 406, and a second advertisement to be transmitted to client 408. Servers 392, 394, and 396 may also include a connection with a network such as the Internet 202.
  • [0142]
    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. Various embodiments for implementing a distributed community network consistent with the present invention are possible using different types of networks with or without use of the Internet.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4572509 *Sep 30, 1982Feb 25, 1986Sitrick David HVideo game network
US4592546 *Apr 26, 1984Jun 3, 1986David B. LocktonGame of skill playable by remote participants in conjunction with a live event
US4734764 *May 6, 1985Mar 29, 1988Cableshare, Inc.Cable television system selectively distributing pre-recorded video and audio messages
US4894789 *Feb 22, 1988Jan 16, 1990Yee Keen YTV data capture device
US4905094 *Jun 30, 1988Feb 27, 1990Telaction CorporationSystem for audio/video presentation
US4941040 *Feb 10, 1988Jul 10, 1990Cableshare, Inc.Cable television system selectively distributing pre-recorded video and audio messages
US5114155 *Feb 20, 1991May 19, 1992Arachnid, Inc.System for automatic collection and distribution of player statistics for electronic dart games
US5128752 *Oct 25, 1990Jul 7, 1992Kohorn H VonSystem and method for generating and redeeming tokens
US5208659 *Dec 7, 1989May 4, 1993Scientific Atlanta, Inc.Method and apparatus for independently transmitting and recapturing clock recovery burst and DC restoration signals in a MAC system
US5282028 *Jan 8, 1992Jan 25, 1994Scientific-Atlanta, Inc.Remote control for digital music terminal with synchronized communications
US5291486 *Aug 7, 1992Mar 1, 1994Sony CorporationData multiplexing apparatus and multiplexed data demultiplexing apparatus
US5438355 *Apr 16, 1993Aug 1, 1995Palmer; Shelton L.Interactive system for processing viewer responses to television programming
US5498000 *Apr 17, 1995Mar 12, 1996Cuneo; GregoryGoaltender simulator system
US5539471 *May 3, 1994Jul 23, 1996Microsoft CorporationSystem and method for inserting and recovering an add-on data signal for transmission with a video signal
US5543849 *Oct 13, 1992Aug 6, 1996Gilbarco Inc.Synchronization of prerecorded audio/video signals with multi-media controllers
US5593349 *Sep 9, 1994Jan 14, 1997Valley Recreation Products Inc.Automated league and tournament system for electronic games
US5604542 *Feb 8, 1995Feb 18, 1997Intel CorporationUsing the vertical blanking interval for transporting electronic coupons
US5610653 *Apr 24, 1995Mar 11, 1997Abecassis; MaxMethod and system for automatically tracking a zoomed video image
US5612730 *Mar 3, 1995Mar 18, 1997Multimedia Systems CorporationInteractive system for a closed cable network
US5627978 *Dec 16, 1994May 6, 1997Lucent Technologies Inc.Graphical user interface for multimedia call set-up and call handling in a virtual conference on a desktop computer conferencing system
US5633810 *Dec 14, 1995May 27, 1997Sun Microsystems, Inc.Method and apparatus for distributing network bandwidth on a media server
US5633918 *Aug 3, 1994May 27, 1997Mankovitz; Roy J.Information distribution system
US5659366 *May 10, 1995Aug 19, 1997Matsushita Electric Corporation Of AmericaNotification system for television receivers
US5710884 *Mar 29, 1995Jan 20, 1998Intel CorporationSystem 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
US5729252 *Feb 28, 1997Mar 17, 1998Lucent Technologies, Inc.Multimedia program editing system and method
US5730654 *Dec 18, 1995Mar 24, 1998Raya Systems, Inc.Multi-player video game for health education
US5734413 *Nov 30, 1993Mar 31, 1998Thomson Multimedia S.A.Transaction based interactive television system
US5734437 *Oct 15, 1996Mar 31, 1998Samsung Electronics Co., Ltd.Character display apparatus for an intelligence television
US5748731 *Jul 2, 1996May 5, 1998Shepherd; Henry G.Electronic trading cards
US5757916 *Oct 6, 1995May 26, 1998International Series Research, Inc.Method and apparatus for authenticating the location of remote users of networked computing systems
US5758079 *Jun 7, 1996May 26, 1998Vicor, Inc.Call control in video conferencing allowing acceptance and identification of participants in a new incoming call during an active teleconference
US5759101 *Apr 11, 1994Jun 2, 1998Response Reward Systems L.C.Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing
US5761602 *Sep 13, 1995Jun 2, 1998Wagner Dsp TechnologiesHybrid multichannel data transmission system utilizing a broadcast medium
US5761606 *Feb 8, 1996Jun 2, 1998Wolzien; Thomas R.Media online services access via address embedded in video or audio program
US5774664 *Mar 25, 1996Jun 30, 1998Actv, Inc.Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5778181 *Mar 14, 1996Jul 7, 1998Actv, Inc.Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5779549 *Apr 22, 1996Jul 14, 1998Walker Assest Management Limited ParnershipDatabase driven online distributed tournament system
US5782692 *Mar 22, 1997Jul 21, 1998Stelovsky; JanTime-segmented multimedia game playing and authoring system
US5793365 *Jan 2, 1996Aug 11, 1998Sun Microsystems, Inc.System and method providing a computer user interface enabling access to distributed workgroup members
US5796952 *Mar 21, 1997Aug 18, 1998Dot Com Development, Inc.Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5855516 *Jan 27, 1995Jan 5, 1999Weh Gmbh, EerbindungstechnikMethod and system for automatic running of tournaments
US5867208 *Oct 28, 1997Feb 2, 1999Sun Microsystems, Inc.Encoding system and method for scrolling encoded MPEG stills in an interactive television application
US5878222 *Jul 7, 1997Mar 2, 1999Intel CorporationMethod and apparatus for controlling video/audio and channel selection for a communication signal based on channel data indicative of channel contents of a signal
US5880720 *Jul 24, 1996Mar 9, 1999Kabushiki Kaisha ToshibaTelevision system for providing interactive television programs and server system for constructing the television system
US5889950 *Dec 20, 1996Mar 30, 1999Intel CorporationMethod and apparatus for distribution of broadcast data
US5889951 *May 13, 1996Mar 30, 1999Viewpoint CorporationSystems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US5890963 *Sep 30, 1996Apr 6, 1999Yen; WeiSystem and method for maintaining continuous and progressive game play in a computer network
US5894556 *Mar 20, 1997Apr 13, 1999Mpath Interactive, Inc.Network match maker matching requesters based on communication attribute between the requesters
US5905865 *Oct 30, 1996May 18, 1999Web Pager, Inc.Apparatus and method of automatically accessing on-line services in response to broadcast of on-line addresses
US5907322 *Oct 16, 1996May 25, 1999Catch Tv Acquisition Corp.Television event marking system
US5907680 *Jun 24, 1996May 25, 1999Sun Microsystems, Inc.Client-side, server-side and collaborative spell check of URL's
US5912700 *Jan 10, 1996Jun 15, 1999Fox Sports Productions, Inc.System for enhancing the television presentation of an object at a sporting event
US5917725 *May 24, 1995Jun 29, 1999John KlayhTournament data system
US5926179 *Sep 29, 1997Jul 20, 1999Sony CorporationThree-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US5929849 *May 2, 1996Jul 27, 1999Phoenix Technologies, Ltd.Integration of dynamic universal resource locators with television presentations
US5929850 *Jul 1, 1996Jul 27, 1999Thomson Consumer Electronices, 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
US5940082 *Feb 14, 1997Aug 17, 1999Brinegar; DavidSystem and method for distributed collaborative drawing
US5940595 *Sep 23, 1996Aug 17, 1999Motorola, Inc.Electronic network navigation device and method for linking to an electronic address therewith
US5941774 *Nov 6, 1997Aug 24, 1999Kabushiki Kaisha Ace DenkenImage display gaming system and gaming house management system
US6018768 *Jul 6, 1998Jan 25, 2000Actv, Inc.Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6023729 *Jun 17, 1997Feb 8, 2000Mpath Interactive, Inc.Method and apparatus for match making
US6026369 *May 9, 1997Feb 15, 2000International Business Machines CorporationMethod for distributing advertising in a distributed web modification system
US6026375 *Dec 5, 1997Feb 15, 2000Nortel Networks CorporationMethod and apparatus for processing orders from customers in a mobile environment
US6029045 *Dec 9, 1997Feb 22, 2000Cogent Technology, Inc.System and method for inserting local content into programming content
US6029195 *Dec 5, 1997Feb 22, 2000Herz; Frederick S. M.System for customized electronic identification of desirable objects
US6044403 *Dec 31, 1997Mar 28, 2000At&T CorpNetwork server platform for internet, JAVA server and video application server
US6047235 *Jun 9, 1997Apr 4, 2000Aisin Aw Co., Ltd.Vehicular navigation system
US6055569 *Jan 27, 1998Apr 25, 2000Go Ahead Software Inc.Accelerating web access by predicting user action
US6057856 *Sep 16, 1997May 2, 2000Sony Corporation3D virtual reality multi-user interaction with superimposed positional information display for each user
US6061738 *Oct 28, 1997May 9, 2000D&I Systems, Inc.Method and system for accessing information on a network using message aliasing functions having shadow callback functions
US6075527 *Dec 17, 1998Jun 13, 2000Kabushiki Kaisha ToshibaInteractive television system
US6080063 *Jan 6, 1997Jun 27, 2000Khosla; VinodSimulated real time game play with live event
US6081830 *Oct 9, 1997Jun 27, 2000Gateway 2000, Inc.Automatic linking to program-specific computer chat rooms
US6082887 *Jun 18, 1998Jul 4, 2000Merit Industries, Inc.Game machine with automated tournament mode
US6094677 *May 30, 1997Jul 25, 2000International Business Machines CorporationMethods, systems and computer program products for providing insertions during delays in interactive systems
US6098085 *Mar 17, 1997Aug 1, 2000At&T Corp.Word-serial reader for network devices having limited display capabilities
US6101180 *Nov 12, 1997Aug 8, 2000Starguide Digital Networks, Inc.High bandwidth broadcast system having localized multicast access to broadcast content
US6102797 *Oct 14, 1997Aug 15, 2000Supra Engineering LimitedMethod and apparatus for conducting games of chance
US6108703 *May 19, 1999Aug 22, 2000Massachusetts Institute Of TechnologyGlobal hosting system
US6112192 *May 9, 1997Aug 29, 2000International Business Machines Corp.Method for providing individually customized content in a network
US6182072 *Mar 26, 1997Jan 30, 2001Webtv Networks, Inc.Method and apparatus for generating a tour of world wide web sites
US6182116 *Sep 14, 1998Jan 30, 2001Matsushita 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
US6192340 *Oct 19, 1999Feb 20, 2001Max AbecassisIntegration of music from a personal library with real-time information
US6193610 *Sep 29, 1997Feb 27, 2001William Junkin TrustInteractive television system and methodology
US6199014 *Dec 23, 1997Mar 6, 2001Walker Digital, LlcSystem for providing driving directions with visual cues
US6199045 *Aug 15, 1996Mar 6, 2001Spatial Adventures, Inc.Method and apparatus for providing position-related information to mobile recipients
US6204842 *Oct 6, 1998Mar 20, 2001Sony CorporationSystem and method for a user interface to input URL addresses from captured video frames
US6205582 *Sep 18, 1998Mar 20, 2001Ictv, Inc.Interactive cable television system with frame server
US6253228 *Mar 31, 1997Jun 26, 2001Apple Computer, Inc.Method and apparatus for updating and synchronizing information between a client and a server
US6275705 *Dec 23, 1996Aug 14, 2001Cambridge Positioning Systems Ltd.Location and tracking system
US6353933 *Nov 21, 2000Mar 12, 2002Larry W. Love.Combination stadium cushion and poncho
US6366914 *Aug 7, 1998Apr 2, 2002Qorvis Media Group, Inc.Audiovisual content distribution system
US6397220 *Oct 1, 1998May 28, 2002Unisys CorporationCommon gateway which allows JAVA applets to make program calls to OLTP applications executing on an enterprise server reference to co-pending applications
US6412011 *Sep 14, 1998Jun 25, 2002At&T Corp.Method and apparatus to enhance a multicast information stream in a communication network
US6510466 *Dec 14, 1998Jan 21, 2003International Business Machines CorporationMethods, systems and computer program products for centralized management of application programs on a network
US6526041 *Sep 14, 1998Feb 25, 2003Siemens Information & Communication Networks, Inc.Apparatus and method for music-on-hold delivery on a communication system
US6577716 *Dec 17, 1999Jun 10, 2003David D. MinterInternet radio system with selective replacement capability
US6725159 *Jan 9, 2003Apr 20, 2004Snaptrack IncorporatedGPS receiver and method for processing GPS signals
US20020056129 *Oct 5, 1999May 9, 2002Dean J. BlackketterTrigger having a time attribute
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7149776 *Aug 26, 2002Dec 12, 2006Oracle International Corp.System and method for real-time co-browsing
US7853563Aug 31, 2005Dec 14, 2010Seven Networks, Inc.Universal data aggregation
US7917468Mar 29, 2011Seven Networks, Inc.Linking of personal information management data
US7917505Mar 29, 2011Seven Networks, Inc.Methods for publishing content
US8010082Oct 19, 2005Aug 30, 2011Seven Networks, Inc.Flexible billing architecture
US8027293Jul 16, 2007Sep 27, 2011Cellport Systems, Inc.Communication channel selection and use
US8064583Nov 22, 2011Seven Networks, Inc.Multiple data store authentication
US8069166Nov 29, 2011Seven Networks, Inc.Managing user-to-user contact with inferred presence information
US8078158Dec 13, 2011Seven Networks, Inc.Provisioning applications for a mobile device
US8107921Jan 31, 2012Seven Networks, Inc.Mobile virtual network operator
US8116214Nov 30, 2005Feb 14, 2012Seven Networks, Inc.Provisioning of e-mail settings for a mobile terminal
US8127342Sep 23, 2010Feb 28, 2012Seven Networks, Inc.Secure end-to-end transport through intermediary nodes
US8166164Apr 24, 2012Seven Networks, Inc.Application and network-based long poll request detection and cacheability assessment therefor
US8190701May 29, 2012Seven Networks, Inc.Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8204953Jun 19, 2012Seven Networks, Inc.Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8209709Jun 26, 2012Seven Networks, Inc.Cross-platform event engine
US8291076Oct 16, 2012Seven Networks, Inc.Application and network-based long poll request detection and cacheability assessment therefor
US8316098Nov 20, 2012Seven Networks Inc.Social caching for device resource sharing and management
US8326985Dec 4, 2012Seven Networks, Inc.Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8356080Jan 15, 2013Seven Networks, Inc.System and method for a mobile device to use physical storage of another device for caching
US8364181Jan 29, 2013Seven Networks, Inc.Electronic-mail filtering for mobile devices
US8412675Apr 2, 2013Seven Networks, Inc.Context aware data presentation
US8417823Apr 9, 2013Seven Network, Inc.Aligning data transfer to optimize connections established for transmission over a wireless network
US8438633May 7, 2013Seven Networks, Inc.Flexible real-time inbox access
US8468126Jun 18, 2013Seven Networks, Inc.Publishing data in an information community
US8484314Oct 14, 2011Jul 9, 2013Seven Networks, Inc.Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8494510Dec 6, 2011Jul 23, 2013Seven Networks, Inc.Provisioning applications for a mobile device
US8539040Feb 28, 2012Sep 17, 2013Seven Networks, Inc.Mobile network background traffic data management with optimized polling intervals
US8549587Feb 14, 2012Oct 1, 2013Seven Networks, Inc.Secure end-to-end transport through intermediary nodes
US8561086May 17, 2012Oct 15, 2013Seven Networks, Inc.System and method for executing commands that are non-native to the native environment of a mobile device
US8621075Apr 27, 2012Dec 31, 2013Seven Metworks, Inc.Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8635339Aug 22, 2012Jan 21, 2014Seven Networks, Inc.Cache state management on a mobile device to preserve user experience
US8693494Mar 31, 2008Apr 8, 2014Seven Networks, Inc.Polling
US8700728May 17, 2012Apr 15, 2014Seven Networks, Inc.Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8719592Jan 22, 2008May 6, 2014Cellport Systems, Inc.Secure telematics
US8738050Jan 7, 2013May 27, 2014Seven Networks, Inc.Electronic-mail filtering for mobile devices
US8750123Jul 31, 2013Jun 10, 2014Seven Networks, Inc.Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8761756Sep 13, 2012Jun 24, 2014Seven Networks International OyMaintaining an IP connection in a mobile network
US8774844Apr 8, 2011Jul 8, 2014Seven Networks, Inc.Integrated messaging
US8775631Feb 25, 2013Jul 8, 2014Seven Networks, Inc.Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8782222Sep 5, 2012Jul 15, 2014Seven NetworksTiming of keep-alive messages used in a system for mobile network resource conservation and optimization
US8782726Mar 14, 2013Jul 15, 2014Network-1 Technologies, Inc.Method for taking action based on a request related to an electronic media work
US8787947Jun 18, 2008Jul 22, 2014Seven Networks, Inc.Application discovery on mobile devices
US8793305Dec 13, 2007Jul 29, 2014Seven Networks, Inc.Content delivery to a mobile device from a content service
US8799410Apr 13, 2011Aug 5, 2014Seven Networks, Inc.System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8805334Sep 5, 2008Aug 12, 2014Seven Networks, Inc.Maintaining mobile terminal information for secure communications
US8805425Jan 28, 2009Aug 12, 2014Seven Networks, Inc.Integrated messaging
US8811952May 5, 2011Aug 19, 2014Seven Networks, Inc.Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8812695Apr 3, 2013Aug 19, 2014Seven Networks, Inc.Method and system for management of a virtual network connection without heartbeat messages
US8831561Apr 28, 2011Sep 9, 2014Seven Networks, IncSystem and method for tracking billing events in a mobile wireless network for a network operator
US8832228Apr 26, 2012Sep 9, 2014Seven Networks, Inc.System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8838744Jan 28, 2009Sep 16, 2014Seven Networks, Inc.Web-based access to data objects
US8838783Jul 5, 2011Sep 16, 2014Seven Networks, Inc.Distributed caching for resource and mobile network traffic management
US8839412Sep 13, 2012Sep 16, 2014Seven Networks, Inc.Flexible real-time inbox access
US8843153Nov 1, 2011Sep 23, 2014Seven Networks, Inc.Mobile traffic categorization and policy for network use optimization while preserving user experience
US8849902Jun 24, 2011Sep 30, 2014Seven Networks, Inc.System for providing policy based content service in a mobile network
US8861354Dec 14, 2012Oct 14, 2014Seven Networks, Inc.Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US8862657Jan 25, 2008Oct 14, 2014Seven Networks, Inc.Policy based content service
US8868753Dec 6, 2012Oct 21, 2014Seven Networks, Inc.System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8873411Jan 12, 2012Oct 28, 2014Seven Networks, Inc.Provisioning of e-mail settings for a mobile terminal
US8874761Mar 15, 2013Oct 28, 2014Seven Networks, Inc.Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8886176Jul 22, 2011Nov 11, 2014Seven Networks, Inc.Mobile application traffic optimization
US8903954Nov 22, 2011Dec 2, 2014Seven Networks, Inc.Optimization of resource polling intervals to satisfy mobile device requests
US8904464Mar 13, 2013Dec 2, 2014Network-1 Technologies, Inc.Method for tagging an electronic media work to perform an action
US8904465Mar 14, 2013Dec 2, 2014Network-1 Technologies, Inc.System for taking action based on a request related to an electronic media work
US8909192Aug 11, 2011Dec 9, 2014Seven Networks, Inc.Mobile virtual network operator
US8909202Jan 7, 2013Dec 9, 2014Seven Networks, Inc.Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US8909759Oct 12, 2009Dec 9, 2014Seven Networks, Inc.Bandwidth measurement
US8914002Aug 11, 2011Dec 16, 2014Seven Networks, Inc.System and method for providing a network service in a distributed fashion to a mobile device
US8918503Aug 28, 2012Dec 23, 2014Seven Networks, Inc.Optimization of mobile traffic directed to private networks and operator configurability thereof
US8966066Oct 12, 2012Feb 24, 2015Seven Networks, Inc.Application and network-based long poll request detection and cacheability assessment therefor
US8977755Dec 6, 2012Mar 10, 2015Seven Networks, Inc.Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US8984581Jul 11, 2012Mar 17, 2015Seven Networks, Inc.Monitoring mobile application activities for malicious traffic on a mobile device
US8989728Sep 7, 2006Mar 24, 2015Seven Networks, Inc.Connection architecture for a mobile network
US9002828Jan 2, 2009Apr 7, 2015Seven Networks, Inc.Predictive content delivery
US9009250Dec 7, 2012Apr 14, 2015Seven Networks, Inc.Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021Dec 10, 2012Apr 28, 2015Seven Networks, Inc.Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9043433May 25, 2011May 26, 2015Seven Networks, Inc.Mobile network traffic coordination across multiple applications
US9043731Mar 30, 2011May 26, 2015Seven Networks, Inc.3D mobile user interface with configurable workspace management
US9047142Dec 16, 2010Jun 2, 2015Seven Networks, Inc.Intelligent rendering of information in a limited display environment
US9049179Jan 20, 2012Jun 2, 2015Seven Networks, Inc.Mobile network traffic coordination across multiple applications
US9055102Aug 2, 2010Jun 9, 2015Seven Networks, Inc.Location-based operations and messaging
US9060032May 9, 2012Jun 16, 2015Seven Networks, Inc.Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9065765Oct 8, 2013Jun 23, 2015Seven Networks, Inc.Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9077630Jul 8, 2011Jul 7, 2015Seven Networks, Inc.Distributed implementation of dynamic wireless traffic policy
US9084105Apr 19, 2012Jul 14, 2015Seven Networks, Inc.Device resources sharing for network resource conservation
US9100873Sep 14, 2012Aug 4, 2015Seven Networks, Inc.Mobile network background traffic data management
US9130930Sep 30, 2013Sep 8, 2015Cellport Systems, Inc.Secure telematics
US9131397Jun 6, 2013Sep 8, 2015Seven Networks, Inc.Managing cache to prevent overloading of a wireless network due to user activity
US9161258Mar 15, 2013Oct 13, 2015Seven Networks, LlcOptimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9173128Mar 6, 2013Oct 27, 2015Seven Networks, LlcRadio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9203864Feb 4, 2013Dec 1, 2015Seven Networks, LlcDynamic categorization of applications for network access in a mobile network
US9208123Dec 7, 2012Dec 8, 2015Seven Networks, LlcMobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US9239800Jul 11, 2012Jan 19, 2016Seven Networks, LlcAutomatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US9241314Mar 15, 2013Jan 19, 2016Seven Networks, LlcMobile device with application or context aware fast dormancy
US9251193Oct 28, 2007Feb 2, 2016Seven Networks, LlcExtending user relationships
US9256885Mar 13, 2013Feb 9, 2016Network-1 Technologies, Inc.Method for linking an electronic media work to perform an action
US9271238Mar 15, 2013Feb 23, 2016Seven Networks, LlcApplication or context aware fast dormancy
US9275163Oct 17, 2011Mar 1, 2016Seven Networks, LlcRequest and response characteristics based adaptation of distributed caching in a mobile network
US9277443Dec 7, 2012Mar 1, 2016Seven Networks, LlcRadio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9282359Mar 14, 2013Mar 8, 2016Network-1 Technologies, Inc.Method for taking action with respect to an electronic media work
US9300719Jan 14, 2013Mar 29, 2016Seven Networks, Inc.System and method for a mobile device to use physical storage of another device for caching
US9307493Mar 15, 2013Apr 5, 2016Seven Networks, LlcSystems and methods for application management of mobile device radio state promotion and demotion
US9325662Jan 9, 2012Apr 26, 2016Seven Networks, LlcSystem and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9326189Feb 4, 2013Apr 26, 2016Seven Networks, LlcUser as an end point for profiling and optimizing the delivery of content and data in a wireless network
US9330196Jun 14, 2012May 3, 2016Seven Networks, LlcWireless traffic management system cache optimization using http headers
US9348820Mar 15, 2013May 24, 2016Network-1 Technologies, Inc.System and method for taking action with respect to an electronic media work and logging event information related thereto
US9407713Jan 16, 2012Aug 2, 2016Seven Networks, LlcMobile application traffic optimization
US20020100039 *Jan 19, 2001Jul 25, 2002Nicholas IatropoulosMedia interactivity method and architecture
US20030084444 *Nov 18, 2002May 1, 2003Actv, Inc.Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US20040158579 *Feb 12, 2003Aug 12, 2004Palamalai GopalakrishnanServer side play-list
US20040185842 *Jan 28, 2004Sep 23, 2004Spaur Charles W.Secure telematics
US20050266879 *Apr 29, 2005Dec 1, 2005Cellport Systems, Inc.Method and apparatus for enabling discovery and use of a service by a client device
US20060084410 *Oct 19, 2005Apr 20, 2006Jay SutariaFlexible billing architecture
US20070027921 *Feb 27, 2006Feb 1, 2007Billy AlvaradoContext based action
US20070027930 *Aug 31, 2005Feb 1, 2007Billy AlvaradoUniversal data aggregation
US20070290787 *Feb 2, 2007Dec 20, 2007Trevor FiatalSystems and methods for group messaging
US20080001717 *Mar 27, 2007Jan 3, 2008Trevor FiatalSystem and method for group management
US20080133641 *Oct 28, 2007Jun 5, 2008Gent Robert Paul VanMethods for publishing content
US20080140665 *Oct 28, 2007Jun 12, 2008Ido ArielSharing of Data Utilizing Push Functionality and Privacy Settings
US20080148374 *Jan 22, 2008Jun 19, 2008Cellport Systems, Inc.Secure telematics
US20080298386 *Mar 31, 2008Dec 4, 2008Trevor FiatalPolling
US20090022095 *Jul 16, 2007Jan 22, 2009Cellport Systems, Inc.Communication Channel Selection and Use
US20090054034 *Sep 5, 2008Feb 26, 2009Ari BackholmMaintaining Mobile Terminal Information for Secure E-Mail Communications
US20090063647 *Aug 11, 2008Mar 5, 2009Seven Networks International OyMessaging centre for forwarding e-mail
US20090149203 *Dec 10, 2007Jun 11, 2009Ari BackholmElectronic-mail filtering for mobile devices
US20090164560 *Jan 25, 2008Jun 25, 2009Trevor FiatalPolicy based content service
US20090181641 *Jul 16, 2009Trevor FiatalMobile virtual network operator
US20090193130 *Jul 30, 2009Trevor FiatalWeb-Based Access to Data Objects
US20090241180 *Jan 28, 2009Sep 24, 2009Trevor FiatalSystem and Method for Data Transport
US20090248670 *Mar 31, 2008Oct 1, 2009Trevor FiatalContent search engine
US20090318171 *Dec 24, 2009Ari BackholmApplication Discovery on Mobile Devices
US20100146107 *Oct 12, 2009Jun 10, 2010Trevor FiatalBandwidth Measurement
US20100188573 *Jan 29, 2009Jul 29, 2010Usva KuusiholmaMedia metadata transportation
US20110099363 *Sep 23, 2010Apr 28, 2011Boynton Lee RSecure end-to-end transport through intermediary nodes
US20110165889 *Jul 7, 2011Trevor FiatalLocation-based operations and messaging
US20110190014 *Aug 4, 2011Trevor FiatalIntegrated messaging
US20110191474 *Aug 4, 2011Trevor FiatalSystem and method of a relay server for managing communications and notification between a mobile device and application server
US20110213898 *Sep 1, 2011Fiatal Trevor AMobile device power management in data synchronization over a mobile network with or without a trigger notification
US20110238772 *Sep 29, 2011Trevor FiatalSystem and method for facilitating mobile traffic in a mobile network
US20130262574 *Jun 22, 2011Oct 3, 2013Gabriel CohenInline User Addressing in Chat Sessions
USRE45348Mar 16, 2012Jan 20, 2015Seven Networks, Inc.Method and apparatus for intercepting events in a communication system
CN103095768A *Nov 3, 2011May 8, 2013上海凌攀信息科技有限公司Real-time information pushing method based on moving learning environment
Classifications
U.S. Classification709/238
International ClassificationH04N7/08, G06F13/00, H04N7/24, H04L29/06, H04N7/081, H04L29/08, H04L12/28, H04N5/00, G06F15/173
Cooperative ClassificationH04N21/4622, H04N21/4758, H04N21/435, H04N21/8547, G06K13/0825, H04N21/4305, H04N21/8586, H04N21/4782, H04N21/4882, H04L29/06027, H04N21/222, H04N21/235, H04L69/329, H04L67/1002, H04L67/16, H04L67/26, H04L65/1043
European ClassificationH04L29/06M2N3, H04L29/08N15, H04L29/06C2, H04L29/08N9A, H04L29/08A7, H04L29/08N25, H04N21/222, H04N21/4782, H04N21/43S1, H04N21/8547, H04N21/858U, H04N21/462S, H04N21/488M, H04N21/475V, H04N21/235, H04N21/435, G06K13/08A4
Legal Events
DateCodeEventDescription
Sep 17, 2002ASAssignment
Owner name: ACTV, INC., NEW YORK
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ULLMAN, CRAIG D.;HARRINGTON, JEFFREY M.;ABATO, MICHAEL R.;AND OTHERS;REEL/FRAME:013301/0737
Effective date: 19990910