|
| United States Patent | 7165213 |
| Busey | January 16, 2007 |
|
Method and system for coordinating media and messaging operations in an information processing system
|
|
| Abstract | |
|
| A method and system for coordinating media and messaging operations in an information processing system includes the ability for streaming media and messages in an information processing system from a switching mechanism to a plurality of user nodes. The invention receives a plurality of unsynchronized media and messages from said plurality of user nodes in a synchronizer. Instructions of the present invention further control the streaming of media and messages from said switching mechanism to said plurality of user nodes using said synchronizer. Streaming media may include, for example, chat, audio and video elements, video conference transmissions, teleconference transmissions, and combinations of such media elements. |
|
| Inventors: | Busey; Andrew T. (Austin, TX) |
| Assignee: | Avaya Technology Corp. (Basking Ridge, NJ) |
| Appl. No.: | 09/187,895 |
| Filed: | November 6, 1998 |
| PCT Pub Date: | January 23, 2007 |
|
|
| Current U.S. Class: | | | 715/500.1 709/202 709/227 709/238 |
| Current International Class: | | | G06F 15/00 (20060101) G06F 17/00 (20060101) |
| Field of Search: | | | 707/500.1 709/202,227,204,238 345/758,421,419 715/500.1 379/202.01 |
|
| [References Cited] - [Referenced By] | |
|
|
|
| U.S. Patent Documents | |
| 4837798 | June 1989 | Cohen et al. | |
| 4914586 | April 1990 | Swinehart et al. | |
| 5276679 | January 1994 | McKay et al. | |
| 5287103 | February 1994 | Kasprzyk et al. | |
| 5297249 | March 1994 | Bernstein et al. | |
| 5481666 | January 1996 | Nguyen et al. | |
| 5506984 | April 1996 | Miller | |
| 5528671 | June 1996 | Ryu et al. | |
| 5530852 | June 1996 | Meske, Jr. et al. | |
| 5537546 | July 1996 | Sauter | |
| 5539886 | July 1996 | Aldred et al. | |
| 5550906 | August 1996 | Chau et al. | |
| 5563988 | October 1996 | Maes et al. | |
| 5572643 | November 1996 | Judson | |
| 5617565 | April 1997 | Augenbraun et al. | |
| 5619650 | April 1997 | Bach et al. | |
| 5668863 | September 1997 | Bieselin et al. | |
| 5737619 | April 1998 | Judson | |
| 5764916 | June 1998 | Busey et al. | |
| 5790793 | August 1998 | Higley | |
| 5793365 | August 1998 | Tang et al. | |
| 5794006 | August 1998 | Sanderman | |
| 5796393 | August 1998 | MacNaughton et al. | |
| 5828839 | October 1998 | Moncreiff | |
| 5862230 | January 1999 | Darby | |
| 5862330 | January 1999 | Anupam et al. | |
| 5880731 | March 1999 | Liles et al. | |
| 5884029 | March 1999 | Brush, II et al. | |
| 5884032 | March 1999 | Bateman et al. | |
| 5907547 | May 1999 | Foladare et al. | |
| 5956038 | September 1999 | Rekimoto | |
| 5966130 | October 1999 | Benman, Jr. | |
| 5978835 | November 1999 | Ludwig et al. | |
| 6031836 | February 2000 | Haserodt | |
| 6385191 | May 2002 | Coffman et al. | |
|
| Foreign Patent Documents | |
| 0581722 | Feb., 1994 | EP | |
|
| Other References | |
McKenna, Patrick, Worlds Inc. & Diamond Multimedia To Deliver 3-D Chat, Newsbytes News Network, Dec. 13, 1995. cited by examiner .
Emigh, Jacqueline, Internetworld--Ziff-Davis, AOL, Others Rollout Products, Newsbytes News Network, Oct. 30, 1995, pp. 1-2. cited by examin- er .
Emigh, Jacqueline, Executives See The Internet For 1996, Newsbytes News Network, Dec. 22, 1995, pp. 1-3. cited by examiner .
Mohageg, Mike et al., A User Interface for Accessing 3D Content on the World Wide Web, Conference Proceedings on Human factors in computing systems, Apr. 1996, pp. 1-10. cited by examiner .
Rist, Thomas et al., Adding animated presentation agents to the interface, ACM Proceedings of the 1997 international conference on Intelligent user interfaces, Jan. 6-9, 1997, pp. 79-86. cited by examiner .
Volano, J., "VolanoChat Java Solution Turns Ordinary Web Sites Into Interactive Money Makers", Business Wire, p8270012, Aug. 27, 1996, pp. 1-2. cited by other .
Hamilton,P., "Black Sun Interactive offers free VRML browser for real-time 3d multi-user interaction of the Internet; Leading cyberspace technology developer to offer viewer, server and builder product set for Internet and Intranet virtual worlds", Business Wire, p02120140, Feb. 12, 1996, pp. 1-3. cited by other .
Mustang Software, "BBS Out Of The Gate: Wildcat 5 features HTML interface, realtime chat--Mustang, Seeking VARs, Launches Program", Computer Reseller News, P111, Apr. 1, 1996, p. 1. cited by other .
Moeller, M., "Sun is working on rebuilt HotJava as hosting environment. (Browsers Take New Turn (Sun Microsystems) (Product Development)", PC Week, v13, n9, Mar. 4, 1996, pp. 1-2. cited by other .
Hirshon, J., "WebMaster Announces First IRC Server Software for Windows NT-based Intranet; ConferenceRoom for Window NT Available at $249 Per Sever; Fully Supports Web and Intranet Applications Through International Standards, Plus Multimedia Functionality, OLE, Java, and Web Browser Support", Business Wire, p03270249, Mar. 27, 1996, pp. 1-2. cited by othe- r .
Amdur, D., "Virtually Speaking", Multimedia World, p. 114, Mar. 1996. cite- d by other .
Conatser, L., "RoundTable bring Web chat, file sharing to file", InfoWorld, p. 3-4, Aug. 5, 1996. cited by other .
Conatser, K., "VolcanoChat is simple way to add interactivity", InfoWorld, p. 12., Oct. 28, 1996. cited by other .
Conatser, K., "WebBoard builds powerful on-line forums effortlessly", InfoWorld, p. 4-5, May 13, 1996. cited by other .
Desmond, M., "The shape of Things to come: Alpha world Brings a 3-D Virtual World to the Internet," Multimedia World, p. 16-17, Sep. 1995. cited by other .
Hill, J., "Tribal voice: PowWow", PC Magazine, p. 118, Oct. 8, 1996. cited by other .
Jones, C., "Audio goes live on Web", InfoWorld, p. 15-16, Sep. 28, 1996. cited by other .
Kramer, M., "Neat ways to meet on the Net", PC Week, p. 82, Apr. 15, 1996. cited by other .
Kramer, M., "Web heeds conference call", PC Week: PC Weeklabs Reviews, p. 59, Feb. 26, 1996. cited by other .
Metz, E., "Java, Jfactory, and Network Development", Dr. Dobb's Journal, p. 78-87, Sep. 1996. cited by other .
Miller, M.J., "Being Virtual", PC Maganize, p. 29, Feb. 6, 1996. cited by other .
Pearlstein, J., "Serving up real-time Chat", Gateways, Jun. 3, 1996. cited by other .
Pearlstein, J., "Tapestry Eases HTML", Gateways, p. 20, Jun. 17, 1996. cit- ed by other .
Seminerio, M., "eShare Chats Up Intranets With Expressions Software", PC Week, p. 33, Feb. 24, 1997. cited by other .
Serrat, E.M., "A NetWare Chat Utility", Dr. Dobb's Journal, 7 pages, Nov. 1993. cited by other .
Staten, J., "Internet to get chattier", Gateways, p. 28, Aug. 7, 1995. cit- ed by other .
Thomas, R., "On-Line Conferencing and Reader Responses", UnixWorld, p. 111-113, Jan. 1989. cited by other .
Tweney, D., "Best Online Services", PC World, p. 153-162, Aug. 1996. cited by other .
Welch, N., "Custom Forums let users meet on-line", Gateways, p. 15, Nov. 19, 1991. cited by other .
Zimmerman, M.R., "OnLive software lets users converse over the Internet," PC Week, p. 14, Sep. 30, 1996. cited by other .
"Travlang Chat,"<http://chat.travlang.com/>, 1995-1998 Travlang. cit- ed by other .
"Chat," WBS,<http://wbs.net/wcc.html>,WebChat Communications, Inc., 1995-1998. cited by other .
"Tennis Chat," WebChat.TM., Internet Roundtable Society, JJ Unlimited, <http://www.tennisoucntry.com/chat.html>,1995. cited by other .
Busey, A., "The Other Side of Muds," Secrets of the Mud Wizards, Chapter 12 p. 215-433, Sama.net Publishing, 1995. cited by other .
Orman, N., "Upstart tech firm inks huge deal", Yahoo! for ichat, 1 page, Jan. 17-23, 1997, Austin Business Journal, vol. 16, No. 47. cited by othe- r .
Ramo, J., "Winner Take All", 8 pp., Business, Sep. 16, 1996, Time Magazine. cited by other .
Frentzen, J., "Real-time Internet conferencing Takes Off," PCWEEK, Feb. 20, 1995, v12, No. 7, p. 18, (Computer Select CD, Dec. 1995). cited by other .
Constance, P., "Interlink posts intelligence data on the Web for 100,000 curious surfers," Government Computer News, May 27, 1996, v15, No. 11, p. 60. (Computer Select CD, Dec. 1996). cited by other .
"Choose your topology", Release 1.0, Jun. 23, 1995, v95, No. 6, p. 15, (Computer Select CD, Dec. 1995). cited by other .
"Look who's talking", Computer Letter, Jul. 29, 1996, vol. 12, No. 25, p. 1 (computer Select CD, Dec. 1996). cited by other .
Blair, D., "MaxWeb 2.0: Interactive 3D Cinema on the World Wide Web", USENET posting Apr. 3, 1995, Internet-www.google.com/groups. cited by oth- er .
MIRC v.3.7 "Versions.txt"(Dec. 10, 1995) -retrieved from www.mirc.org. cit- ed by other .
Progressive Networks, Inc., "RealVideo Technical White Paper", 7 pages, Mar. 16, 1997, http://www.real.com/products/realvideo/overview/index.html. cited by othe- r.~
|
|
|
| Primary Examiner: | Bashore; William
|
| Attorney, Agent or Firm: | Volejnicek; David
|
|
|
| Parent Case Text | |
|
This patent application is a continuation-in-part of coassigned U.S. patent application Ser. No. 08/768,606, filed Dec. 18, 1996, now abandoned, which is a continuation-in-part of coassigned U.S. patent application Ser. No. 08/722,898, filed Sep. 27, 1996, now U.S. Pat. No. 5,764,916. |
|
|
| Claims | |
|
What is claimed is:
1. A method for coordinating a plurality of communications in a plurality of media in an information processing system, comprising: communicating between a user node and each of a plurality of media servers directly and not through other of said media servers, wherein each of the media servers communicates in a different one of the plurality of the media; and in response to control communications between one of the media servers and the user node, the one media server controlling the communicating between the user node and the plurality of the media servers to coordinate presentation of communications in the plurality of the media at the user node.
2. The method of claim 1 wherein: coordinating comprises in response to control communications between a chat server and the user node, the chat server controlling the communicating between the user node and the plurality of the media servers.
3. The method of claim 2 wherein: communicating comprises the user node communicating with the chat server and a streaming media server.
4. The method of claim 2 wherein: communicating comprises the user node communicating with the chat server, a streaming media server, and a web server.
5. The method of claim 1 wherein: controlling comprises the one media server receiving control communications from a user of the user node; and in response, the one media server controlling the communicating between the user node and the plurality of the media servers to coordinate the presentation of the communications in the plurality of the media to the user.
6. The method of claim 1 wherein: controlling comprises passing control communications between the one media server and a client of the one media server in the user node to coordinate the presentation of the communications in the plurality of the media at the user node; and cooperating between the one media server and the client of the one media server to present communications in the medium of the one media server at the user node.
7. The method of claim 6 wherein: passing control communications comprises selecting communications at the user node; and passing the control communications between the one media server and the client of the one media server to cause only the selected communications to be presented at the user node.
8. The method of claim 6 wherein: passing control communications comprises selecting media at the user node at a time; and passing the control communications between the one media server and the client of the media server to cause communications in the selected media to be presented at the user node at the time.
9. The method of claim 6 wherein: passing control communications comprises the client of the one media server receiving control signals from a user of the user node; and in response, the client of the one media server passing the control communications between the client and the one media server to coordinate presentation of the communications in the plurality of the media to the user.
10. The method of claim 1 wherein: communicating comprises communicating between each media server and that media server's own corresponding client in the user node to present the communications in the plurality of the media at the user node; and coordinating comprises the client of the one media server and the clients of other said media servers passing control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node; the client of the one media server and the one media server passing the control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node; the client of the one media server and the one media server cooperating to present communications in the medium of the one media server at the user node; and the one media server controlling communicating between others of the media servers and their corresponding clients to coordinate the presentation of the communications in the plurality of the media at the user node.
11. The method of claim 1 wherein: communicating comprises communicating between each of the media servers and each of a plurality of user nodes in the different one of the plurality of the media directly and not through another of said media servers; and coordinating comprises in response to control communications between the one media server and the clients of the one media server on the plurality of the user nodes, the one media server controlling the communicating between the plurality of the user nodes and the plurality of the media servers to coordinate presentation of the communications in the plurality of the media at each of the plurality of the user nodes.
12. The method of claim 11 wherein: communicating between each of the media servers and each of a plurality of user nodes comprises originating the communications in at least some of the media at some of the user nodes.
13. The method of claim 11 wherein: communicating between each of the media servers and each of a plurality of user nodes comprises originating the communications in at least some of the media at some of the user nodes; and presenting the originated communications at others of the user nodes.
14. The method of claim 11 wherein: the one media server controlling the communicating between the plurality of the user nodes and the plurality of the media servers comprises the one media server coordinating the presentation of the communications in the plurality of the media independently of each of multiple ones of the plurality of the user nodes.
15. The method of claim 11 wherein: the one media server controlling the communicating between the plurality of the user nodes and the plurality of the media servers comprises the one media server coordinating the presentation of the communications in the plurality of the media jointly at multiple ones of the plurality of the user nodes.
16. A system for coordinating a plurality of communications in a plurality of media in an information processing system, comprising: a plurality of media servers each for communicating in a different one of the plurality of the media with a user node directly and not through another of said media servers; and one of the media servers being responsive to control communications between the one media server and the user node for controlling the communicating between the user node and the plurality of the media servers to coordinate presentation of communications in the plurality of the media at the user node.
17. The system of claim 16 wherein: the one media server is a chat server.
18. The system of claim 17 wherein: another of the media servers is a streaming media server.
19. The system of claim 18 wherein: yet another of the media servers is a web server.
20. The system of claim 16 wherein: the one media server controls the communicating in the plurality of the media in response to control communications received from a user of the user node to coordinate presentation of the communications in the plurality of the media to the user.
21. The system of claim 16 further comprising: a client of the one media server in the user node, the client and the one media server passing control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node and cooperating to present communications in the medium of the one media server at the user node.
22. The system of claim 21 wherein: the client of the one media server and the one media server pass the control communications to cause only communications selected at the user node to be presented at the user node.
23. The system of claim 21 wherein: the client of the one media server and the one media server pass the control communications to cause communications in media selected at the user node to be presented at the user node at a time selected at the user node.
24. The system of claim 21 wherein: the client of the one media server responds to control signals received from a user of the user node by passing the control communications between the client and the one media server to coordinate presentation of the communications in the plurality of the media to the user.
25. The system of claim 16 further comprising: a corresponding client for each of the media servers in the user node, the client of the one media server and the clients of the other media servers passing control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node; wherein the client of the one media server and the one media server pass the control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node, and cooperate to present communications in the medium of the one media server at the user node; and the one media server controlling communicating between the others of the media servers and their corresponding clients to coordinate the presentation of the communications in the plurality of the media at the user node.
26. The system of claim 16 wherein: each of the plurality of the media servers communicates in the different one of the plurality of the media with a plurality of user nodes directly and not through another of said media servers; and the one media server is responsive to control communications between the one media server and the plurality of the user nodes for controlling the communicating between the plurality of the user nodes and the plurality of the media servers to coordinate presentation of the communications in the plurality of the media at each of the plurality of the user nodes.
27. The system of claim 26 wherein: the communications in at least some of the media originate at some of the user nodes.
28. The system of claim 26 wherein: the communications in at least some of the media originate at some of the user nodes and are presented at others of the user nodes.
29. The system of claim 26 wherein: the one media server coordinates the presentation of the communications in the plurality of the media independently at each of multiple ones of the plurality of the user nodes.
30. The system of claim 26 wherein: the one media server coordinates the presentation of the communications in the plurality of the media jointly at multiple ones of the plurality of the user nodes.
31. An interface for coordinating a plurality of communications in a plurality of media at a user node of an information processing system, comprising: a plurality of clients in the user node, each for communicating in a different one of a plurality of media with a corresponding one of a plurality of media servers directly and not through another of said media servers, and for presenting communications in the plurality of the media at the user node; and one of the clients passing control communications with its corresponding media server for causing the corresponding media server to control the communicating between the plurality of the clients and the plurality of the media servers to coordinate the presenting of the communications in the plurality of the media by the plurality of the clients at the user node.
32. The interface of claim 31 wherein: the one client is a chat client.
33. The interface of claim 32 wherein: another of the clients is a streaming media client.
34. The interface of claim 33 wherein: yet another of the clients is a web browser.
35. The interface of claim 31 wherein: the one client passes the control communications with the corresponding media server in response to control signals received from a user of the user node, for causing the corresponding media server to control the communicating between the plurality of the clients and the plurality of the media servers to coordinate presentation of the communications in the plurality of the media to the user and causing the corresponding media server to provide communications in the medium of the corresponding media server to the one client for presentation to the user.
36. The interface of claim 35 wherein: the one client passes the control communications to inform the corresponding media server of the user's selection of communications in any of the plurality of the media for the presentation to the user.
37. The interface of claim 35 wherein: the client passes the control communications to inform the corresponding media server of the user's selection of communications in any of the plurality of media for the presentation to the user at a particular time.
38. The interface of claim 31 wherein: the one client and other said clients further pass control communications between them to coordinate the presentation of the communications in the plurality of the media at the user node; and the one client cooperates with the corresponding media server to present communications in the medium of the corresponding media server at the user node.
39. The interface of claim 31 for an information processing system comprising a plurality of the user nodes, wherein: the communications in at least some of the media presented at said user node originate at others of the user nodes.
40. The interface of claim 31 for an information processing system comprising a plurality of the user nodes wherein: communications in at least some of the media originate at said user node and are presented at others of the user nodes.
41. The interface of claim 31 for an information processing system comprising a plurality of the user nodes wherein: the one client causes the corresponding media server to coordinate the presentation of the communications in the plurality of the media at said user node independently of presentation of the communications in the plurality of the media at others of the user nodes.
42. The interface of claim 31 for an information processing system comprising a plurality of the user nodes wherein: the one client causes the corresponding media server to coordinate the presentation of the communications in the plurality of the media at said user node jointly with presentation of the communications in the plurality of the media at others of the user nodes.
|
|
|
| Description | |
|
TECHNICAL FIELD OF THE INVENTION
This patent application relates in general to information processing systems and in particular to a method and system for coordinating media and chat operations in an information processing system.
BACKGROUND OF THE INVENTION
The Internet has experienced rapid user-based growth in business, home applications, and educational institutions and has received a vast set of content sources for the communication of a wide variety of media to its users. Technological evolution in streaming media has played an important part in both the attractiveness and versatility of the Web-based media applications. With previous techniques, computers have executed chat processes, Web browser processes, and media processes substantially independently of one another, so that coordination between chat operations, Web browser operations, and media operations rely extensively upon user requests at various points in time. In this manner, such processes are generally uncoordinated, and extensive reliance upon user requests for coordination is inconvenient.
Accordingly, a need has arisen for a method and system for coordinating media and chat operations in an information processing system, in which chat operations, Web browser operations, and media operations are more coordinated relative to previous techniques, and in which such coordination is less reliant upon user requests relative to previous techniques.
SUMMARY OF THE INVENTION
The present invention provides a method and system for coordinating media and messaging operations in an information processing systems that overcomes the limitations of previously uncoordinated methods of delivery.
According to one aspect of the present invention, there is provided a method and system for coordinating media and messaging operations in an information processing system which includes the ability for streaming media and messages in an information processing system from a switching mechanism to a plurality of user nodes. The invention receives a plurality of unsynchronized media and messages from said plurality of user nodes in a synchronizer. Instructions of the present invention further control the streaming of media and messages from said switching mechanism to said plurality of user nodes using said synchronizer. Streaming media may include, for example, chat, audio and video elements, video conference transmissions, teleconference transmissions, and other combinations of media elements.
It is a technical advantage that chat operations and media operations are more coordinated relative to previous techniques.
It is another technical advantage that such coordination is less reliant upon user requests relative to previous techniques.
BRIEF DESCRIPTION OF THE DRAWING
An illustrative embodiment and its advantages are better understood by referring to the following descriptions and accompanying drawing, in which:
FIG. 1 provides a block diagram of a coordinating system according to the illustrative embodiment;
FIG. 2 shows a first screen displayed by a display device using the system of FIG. 1;
FIG. 3 shows a second screen displayed by a monitor associated with the system of FIG. 1;
FIG. 4 depicts a third screen displayed by a display device of the system of FIG. 1;
FIG. 5 provides a fourth screen displayed by a display device of the system of FIG. 1;
FIG. 6 shows a fifth screen displayed by a display device of the system of FIG. 1;
FIG. 7 provides a block diagram of a coordinating system for an alternative embodiment of the present invention;
FIG. 8 shows a data flow diagram for the coordinating system of FIG. 1;
FIG. 9 gives a logical flow diagram for one process of the present invention;
FIG. 10 depicts a logic flow diagram for another process aspect of the present invention displayed by a display device of the system of FIG. 1;
FIG. 11 shows a logic flow diagram for yet another aspect of the present invention;
FIG. 12 shows a logic flow diagram for a process similar to that of FIG. 11;
FIG. 13 illustrates another screen display associated with the operation of the present invention;
FIG. 14 shows a logic flow diagram for a process similar to that of FIG. 9;
FIG. 15 provides a logic flow diagram for a process similar to that of FIG. 10;
FIG. 16 is an illustration of a yet another screen displayed by a display device of the system of FIG. 1; and
FIG. 17 depicts yet a further screen display that may appear on a monitor for a computer system employing the teachings of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
An illustrative embodiment and its advantages are better understood by referring to FIGS. 1 17 and the following associated text.
FIG. 1 is a block diagram of a system, indicated generally at 100, according to the illustrative embodiment. Coordinating system 100 includes clients 102, 104, 106 and 108, each for executing a respective client process. Further, coordinating system 100 includes transmission control protocol/internet protocol ("TCP/IP") network 110 for communicating with external communication equipment, media server computer 112 for executing a media server process, and communicating media information (e.g. real time continuously streaming video, real time continuously streaming audio, still photograph) in response thereto, chat server computer 114 for supporting a chat server process, and a Web server computer 116 for supporting a Web server process. Web server 116 connects to multiple Web site computers 118a through 118n. Accordingly, each of clients 102, 104, 106 and 108, network 110, server 112, server 114, server 116 and Web site computers 118a through 118n includes a respective computer for supporting respective processes and performing respective operations.
Also, as shown in FIG. 1, each of servers 112, 114 and 116 couples through network 110 to each of clients 102, 104, 106 and 108. Through TCP/IP network 110, information flows between servers 112, 114 and 116, and clients 102, 104, 106 and 108. Clients 102, 104, 106 and 108 are substantially identical to one another, and client 102 is a representative one of clients 102, 104, 106 and 108.
Client 102 includes human user 120, input devices 122, media devices 124, speakers 126, display device 128, print device 130 and client computer 132. Client computer 132 connects to input devices 122, media devices 124, speakers 126, display device 128 and print device 130. Display device may be, for example, a conventional electronic cathode ray tube display. Print device 130 may be, for example, a conventional electronic printer or plotter.
Moreover, client 102 includes computer-readable medium (or device) 134, such as a floppy computer diskette or a computer hard drive. Computer-readable medium 134 and client computer 132 structurally and functionally interrelate with one another. Each computer of the illustrative embodiment structurally and functionally interrelates with a respective computer-readable medium, similar to the manner in which client computer 132 structurally and functionally interrelates with computer-readable medium 134. Computer-readable medium 134 represents one of such computer-readable media.
Computer-readable medium 134 stores (or encodes, or records, or embodies) functional descriptive material (e.g., computer programs and/or computer applications, and data structures). Such functional descriptive material imparts functionality when encoded on computer-readable medium 134. Also, such functional descriptive material structurally and functionally interrelates to computer-readable medium 134.
Within such functional descriptive material, data structures define structural and functional interrelationships between such data structures and computer-readable medium 134 (and other aspects of coordinating system 100). Such interrelationships permit realizing functionality of the data structures. Also, within such functional descriptive material, computer programs define structural and functional interrelationships between such computer programs and computer-readable medium 134 (and other aspects of coordinating system 100). Such interrelationships permit realizing the computer programs' functionality.
For example, client computer 132 reads (or accesses, or copies) such functional descriptive material into a computer memory of client computer 132, and client computer 132 performs its operations (as described elsewhere herein) in response to such material which is stored in such computer memory. More particularly, client computer 132 performs the operation of processing a computer application (that is stored, encoded, recorded or embodied on a computer-readable medium) for causing client computer 132 to perform additional operations (as described elsewhere herein). Accordingly, such functional descriptive material exhibits a functional interrelationship with the way in which client computer 132 executes its processes and performs its operations.
Further, the computer-readable medium is an apparatus from which the computer application is accessible by client computer 132, and the computer application is processable by client computer 132 for causing client computer 132 to perform such additional operations. In addition to reading such functional descriptive material from computer-readable medium 134, client computer 132 is capable of reading such functional descriptive material from (or through) network 110 which is also a computer-readable medium (or apparatus). Moreover, the computer memory is itself a computer-readable medium (or apparatus).
User 120 and client computer 132 operate in association with one another. For example, in response to signals from client computer 132, display device 128 displays visual images, and user 120 views such visual images. Also, in response to signals from client computer 132, print device 130 prints visual images on paper, and user 120 views such visual images. Further, in response to signals from client computer 132, speakers 126 output audio frequencies, and user 120 listens to such audio frequencies. Moreover, user 120 operates input devices 122 and media devices 124 in order to output information to client computer 132, and client computer 132 receives such information from input devices 122 and media devices 124.
Input devices 122 include, for example, a conventional electronic keyboard and a pointing device such as a conventional electronic "mouse", rollerball or light pen. User 120 operates the keyboard to output alphanumeric text information to client computer 132, and client computer 132 receives such alphanumeric text information from the keyboard. User 120 operates the pointing device to output cursor-control information to client computer 132, and client computer 132 receives such cursor-control information from the pointing device.
User 120 operates media devices 124 in order to output information to client computer 132 in the form of media signals, and client computer 132 receives such media signals from media devices 124. Media signals include, for example, video signals and audio signals. Media devices 124 include, for example, a microphone, a video camera, a videocassette player, a CD-ROM (compact disc, read-only memory) player, and an electronic scanner device.
User 120 operates the microphone to translate audio frequencies from a surrounding environment into electronic audio signals, and user 120 operates client computer 132 to receive such audio signals from the microphone. Also, user 120 operates the video camera to translate visual images from the surrounding environment into electronic video signals, and user 120 operates client computer 132 to receive such video signals from the video camera. Further, user 120 operates the videocassette player to translate information from a videocassette tape media into electronic video signals and audio signals, and user 120 operates client computer 132 to receive such video signals and audio signals from the videocassette player. Moreover, user 120 operates the CD-ROM player to translate information from a CD media into electronic video signals and audio signals, and user 120 operates client computer 132 to receive such video signals and audio signals from the CD-ROM player. In addition, user 120 operates the scanner device to translate visual images from a piece of paper into electronic video signals, and user 120 operates client computer 132 to receive such video signals from the scanner device.
Although FIG. 1 shows only four clients (i.e. clients 102, 104, 106 and 108), it should be understood that other clients (substantially identical to clients 102, 104, 106 and/or 108) are connected to network 110. Each of the clients is associated with a respective user and has a respective client computer and a respective set of associated devices, similar to the manner in which client 102 is associated with user 120 and has its respective client computer 132 and respective set of associated devices (i.e. input devices 122, media devices 124, speakers 126, display device 128, print device 130 and computer-readable medium 134).
The internet operates according to a system of protocols for transferring information between a host computer (or "server" or "Web site"), such as any of Web site computers 118a through 118n, and a user's computer (or "client"), such as any of clients 102, 104, 106 and 108 and other clients connected to network 110. Accordingly, in the illustrative embodiment, coordinating system 100 is a global computer network. Chat server 114 is capable of executing multiple server processes, such as an HTTP server process, a Telnet/chat server process, an FTP server process, an internet Relay Chat ("IRC") server process, Gopher, Usenet and WAIS.
FIG. 2 shows visual image (or "screen") 200, such as may be displayed by display device 128 in response to signals from client computer 132. As previously mentioned hereinabove in connection with FIG. 1, servers 112, 114 and 116, and clients 102, 104, 106 and 108 communicate information to one another through TCP/IP network 110. Accordingly, screen 200 includes a Web browser window 202, a media window 204, and a window which, initially, may be a chat window 206. In the illustrative embodiment, chat window 206 functions within Web browser window 202, while media window 204 functions in chat window 206. In the following discussion, any information described as being displayed in chat window 206 could (in alternative embodiments) be displayed in media window 204.
Web browser window 202 includes URL field 208 for displaying an address of a Web site. User 120 may specify the address by operating input devices 122. In response to the specified address, client computer 132 outputs signals to display device 128, so that the address is displayed within URL field 208. Moreover, in response to the specified address, client computer 132 outputs information (e.g., the specified address) to Web server 116 through TCP/IP network 110.
In response to such information from client computer 132, Web server 116 initiates communication with a selected one of Web sites 118a through 118n associated with the specified address. Also, Web server 116 outputs information (e.g., information from the selected Web site) to client computer 132 through TCP/IP network 110. In response to such information from Web server 116, client computer 132 outputs signals to display device 128, so that such information is displayed within Web browser window 202. If such information is from one of Web sites 118a through 118n associated with an address different from the specified address from user 120, then Web server 116 outputs the different address to client computer 132, so that the different address is displayed within URL field 208. For clarity, such information from one of Web sites 118a through 118n is not shown in Web browser window 202, but an example of such information may appear as HTML pages 410, 420, 440, 446, 450, 456, 460, 466, 470, 476, 480 and 486 in FIGS. 4A J of co-assigned co-pending U.S. patent application Ser. No. 08/768,606, filed Dec. 18, 1996.
Media window 204 includes transmit/receive window 210 for displaying transmit menu 212 and receive menu button 214, as well as a media menu, indicated generally at 216. Accordingly, transmit/receive window 210 initially displays four "buttons" which are individually selectable by user 120 operating the pointing device of input devices 122, for example, to position cursor 218 overlapping with one of such buttons and activating a switch of the pointing device. As shown in FIG. 2, the four buttons of the transmit menu are video button 220, audio button 222, photo button 224, and capture button 226. Also, media window 204 includes attach button 228.
Chat window 206 includes view threaded message button 230. Further, chat window 206 includes message field 232 for displaying information (e.g., a "message") that user 120 specifies, for example, by operating an electronic keyboard of input devices 122. With the exception of information displayed in message field 232, chat window 206 is identically displayed to all enabled users who have joined a particular chat or "message session". For example, the respective user of each of clients 104, 106 and 108 may be enabled, such that the respective chat window viewed by each of such users through his or her respective associated display device is the same (i.e., displays the same information), except for information displayed in the each such user's respective message field. Also, in such a situation, each enabled user's respective Web browser window 202 is not necessarily the same as that of all other enabled users. Moreover, in a significant aspect of the illustrative embodiment, the media window displayed to each enabled user is not necessarily the same as that of all other enabled users.
Coordinating system 100 enables the moderator or leader of a group chat session to control the media windows and Web browser windows of clients individually or collectively for the group. For example, coordinating system 100 enables the moderator to show media or Web pages to a user individually or to multiple users collectively as a group. Also, coordinating system 100 enables the moderator to discuss such media or Web pages with such users 120 in the chat windows 206 respectively associated with such user(s). Moreover, coordinating system 100 enables the moderator to control the chat windows of clients individually or collectively as a group, as, for example, by specifying that a client continue a present message session or join a different message session (e.g., a different message session associated with a different Web page), or by suggesting that a client join a different message session.
In the example of FIG. 2, user 120 is named "User1", and User1 has operated the electronic keyboard of input devices 122 to type and output (hereinafter referred to as "type" or "typed" or "typing") three chat messages, as shown in FIG. 2, to all enabled users who have joined the particular message session. Also, in FIG. 2, User1 may operate pointing device of input devices 122 to position cursor 218.to overlap video button 220 of transmit/receive window 210 and has activated the switch of the pointing device (hereinafter referred to as "click" or "clicked" or "clicking").
By doing so, User1 causes client computer 132 to receive real time continuously streaming video signals and real time continuously streaming audio signals from the video camera and microphone of media devices 124. Alternatively, User1 may cause client computer 132 to receive continuously streaming video signals and continuously streaming audio signals from the video cassette player of media devices. In response to a suitable request by User1, client computer 132 translates such signals into digital information and outputs such digital information to display device 128, so that User1 is free to view the visual images represented by such signals, as well as to speakers 126, so that User1 is free to hear audio frequencies represented by such signals. In response to a suitable request that may be output to media server 112 through TCP/IP network 110 by another client, media server 112 outputs a request to client computer 132, for example, through TCP/IP network 110. In response to such a request from media server 112, client computer 132 translates the signals from media devices 124 into digital information and outputs such digital information to media server 112 through TCP/IP network 110 and ultimately to the requesting client for display on such client's associated display device and for output on such client's associated speakers.
Similarly, User1 may transmit audio only (i.e., audio without accompanying video) by clicking on (or "selecting") audio button 222 within transmit/receive window 210. Also, User1 is able to transmit a still photograph by clicking on photo button 224 within transmit/receive window 210.
In response to User1's "clicking" on video button 220, the video button 220 is surrounded by two curves instead of a single curve, and media menu 216 and respective media menus of other enabled clients of coordinating system 100 display User1's name, along with an indication that User1 has transmitted "video & audio". Likewise, media menu 216 displays the names of other enabled users (e.g., User2, User3 and User4) who have operated their respective transmit menus to transmit various types of media, as shown in FIG. 2. For example, client 104 is associated with User2, client 106 is associated with User3, and client 108 is associated with User4. Likewise, although FIG. 1 shows only four clients (i.e., clients 102, 104, 106 and 108, it should be understood that other clients substantially identical to clients 102, 104, 106 and/or 108 connect to network 110. Therefore, other enabled users associated with such other clients may join the particular message session.
As shown in FIG. 2, User2 may transmit audio, as "indicated by the "audio" designation adjacent to User2 in media menu 216. User3 and User4 have transmitted respective video & audio, as indicated by the "video and audio" designations adjacent to their names in media menu 216. Accordingly, the sources of the various media transmissions listed in media menu 216 are the clients associated with various enabled users of coordinating system 100. The enabled users communicate with one another by typing messages as shown in chat window 206. In that manner, each enabled user, who has joined the particular message session, is able to tell the other enabled users about the contents of transmissions, which may be identified in media menu 216, without such other enabled users necessarily having to view or hear such transmissions.
Even if a particular enabled user has not yet transmitted media, or has not yet typed a chat message, such user is nevertheless able to view the communicated chat messages in his/her associated chat window and the list of available media transmissions in his/her associated media menu 216 by viewing his/her associated display device connected to his/her associated client computer.
Media window 204 displays media to User1. In a significant aspect of the illustrative embodiment, User1 may select (for viewing and/or listening) any of the media transmissions listed in media menu 216, by clicking on the "YES" button adjacent to such media transmission's listing. Moreover, User1 may reject any of such media transmissions by clicking on the "NO" button adjacent to such media transmission's listing, so that such rejected media transmission is no longer listed in media menu 216.
As shown in FIG. 2, User1 may select User3's continuously streaming video & audio transmission (originating from a videocassette player of User3's associated media devices) by clicking on the "YES" button adjacent to User3's listing in media menu In response to User1's selection, client computer 132 outputs to media server 112 through TCP/IP network 110 a request for User3's media transmission. In response to such request, media server 112 and client 106 associated with User3 output User3's media transmission to client computer 132 for display on display device 128 and for output on speakers 126.
Accordingly, in FIG. 3, media window 204 displays User3's media transmission, along with an indication that such media transmission is received from User3. Notably, when media window 204 begins displaying User3's media transmission, transmit/receive window 210 displays a "receive menu" instead of the "transmit menu", although transmit/receive window 210 displays a "transmit menu" button, and media window 204 no longer displays media menu 216. The "receive menu" includes "End" button 240, "Pause" button 242, "Capture" button 244, "Repeat" button 246, "Forward" button 248, and "Reverse" button 250.
By clicking on End button 240, User1 causes client 102 to stop its receipt and output (e.g., the displaying on media window 204 and the outputting on speakers 126) of the most recently selected media transmission. By clicking on the Pause button 242, User1 causes client 102 to stop updating or freeze its receipt and output of the most recently selected media transmission. By clicking on Capture button 244, User1 causes client computer 132 to capture and store the most recently selected media transmission. By clicking on Repeat button 246, User1 causes client 102 to repeat the output of the previously captured-and-stored media transmission from its beginning to its end.
By clicking on Forward button 248, User1 causes client 102 to accelerate the output (e.g., resulting in updating of the display on media window 204 and the output on speakers 126) of the most recently selected media transmission, similar to the manner in which a "forward" button would function on a videocassette player. Accordingly, Forward button 248 does Not apply to real time or "live" media transmissions. By clicking on Reverse button 250, User1 causes client 102 to reverse the output of the most recently selected media transmission, similar to the manner in which a "reverse" button would function on a videocassette player.
As shown in FIG. 3, User1 may type a chat message. Although the chat message (typed by User1) may be only a single line in length, User1 may type a longer chat message, causing chat window 206 to display the longer chat message by scrolling it on a line-by-line basis. Also, User1 may click on "Media Menu" button 252, causing media menu 216 to be displayed again within media window 204. Also, as shown in FIG. 4, User1 may select User4's video & audio transmission by clicking on the "YES" button adjacent to User4's listing in media menu 216 (FIG. 2). Accordingly, media window 204 will display User4's media transmission, along with an indication that such media transmission is received from User4.
Notably, media window 204 FIG. 2 displays User4's media transmission partially overlapping User3's media transmission, because User1 selected User4's media transmission more recently than User3's media transmission. Also, when media window 204 begins displaying User4's media transmission, media window 204 no longer displays media menu 216. In media window 204, User1 clicks on User4's media transmission within media window 204 and, while continuing to activate the switch of the pointing device, User1 relocates User4's media transmission within media window 204. In a similar manner, User1 can relocate any window within screen 200.
Media window 204 may display User4's media transmission in a different location within media window 204. Also, User1 may click on "End" button 240, so that media window 204 stops displaying User4's media transmission.
In the operation of the present invention, User1 may type a chat message. Also, User1 may click on "Media Menu" button 252, so that media menu 216 appears again within media window 204. Also, User1 may select a separate video & audio transmission by clicking on "YES" button, adjacent to User1's listing in media menu 216. In response to User1's selection, media window 204 displays User1's media transmission, along with an indication that such media transmission is received from User1.
User1 may click on "Pause" button 242, so that media window 204 stops updating (i.e., freezes) its display of User1's media transmission. Also, User1 may type a chat message. In response to User1 clicking on "Pause" button 242, "Pause" button changes into a "Resume" button (Not shown). By clicking on "Resume" button 242, User1 causes client 102 to resume updating (i.e., stop freezing) its receipt and output of User1's media transmission.
User1 may click on User3's media transmission within media window 204, so that User3's media transmission is the most recently selected media transmission. Accordingly, media window 204 may display User3's media transmission partially overlapping User1's media transmission, because User1 selected User3's media transmission more recently than his own media transmission. Moreover, in response to User1 clicking on User3's media transmission, the "Resume" button changes back into "Pause" button 242, because User1 has Not paused User3's media transmission, which is the most recently selected media transmission.
User1 may click on "Capture" button 244, so that client computer 132 captures and stores User3's media transmission. By clicking on "Repeat" button 246, User1 causes client computer 132 to repeat the display on media window 204 of such captured-and-stored media transmission from the beginning of such capture to the end of such capture. Accordingly, in response to User1's clicking on the "Capture" button 244, "Capture" button 244 becomes surrounded by two curves, instead of a single curve.
User1 may click again on "Capture" button 244, thereby causing client computer 132 to end its capturing and storing of User3's media transmission. In response to User1's clicking again on "Capture" button 244, "Capture" button 244 becomes surrounded by a single curve, instead of two curves. Also, User1 may click on "End" button 240, so that media window 204 stops displaying User3's media transmission.
As shown in FIG. 5, chat window 206 may display a chat message from User2 with an adjacent "hear" button 256. Also, User1 may type a chat message and click on "Attach" button 228. In response to clicking on "Attach" button 228, through TCP/IP network 110 client computer 132 outputs the chat message to chat server 114 and other enabled clients of coordinating system 100 and the captured-and-stored media transmission from the beginning of such capture to the end of such capture. Accordingly, User3's previous media transmission that was captured and stored to media server 112 is provided to other enabled clients of coordinating system 100.
When User1's chat message is displayed in chat window 206 and in the chat windows respectively associated with such other enabled clients, User11s chat message may be displayed with an adjacent "see" button 254, in the same manner as User2's chat message is displayed in chat window 206 with adjacent "hear" button 256.
User1 may click on "hear" button 256 adjacent to User2's chat message in chat window 206. In response to User1's clicking on "hear" button 256, media server 112 and client 104 associated with User2 will output User2's media transmission to client computer 132. Client computer 132 will translate the digital information of such media transmission into signals and output such signals to speakers 126. This makes User1 free to hear audio frequencies represented by such signals.
User1 may click on "Media Menu" button 252, so that media menu 216 displays again within media window 204 FIG. 6. Also, User1 may reject User4's media transmission by clicking on "NO" button 258 adjacent to the listing of User4's media transmission FIG. 4. This causes User4's media transmission to no longer be listed in media menu 216. Further, User1 may type a chat message. Similarly, User1 may reject User3's media transmission by clicking on "NO" button adjacent to the listing of User3's media transmission, causing User3's media transmission to no longer be listed in media menu 216.
User1 may click on "End" button 240, causing client 102 to stop its receipt and output of User2's media transmission. User1 may also click on "see" button 254 adjacent to User1's chat message in chat window 206. In response to User1's clicking on "see" button 254, client computer 132 outputs User1's captured-and-stored media transmission from the beginning of such capture to the end of such capture. Accordingly, User3's previous media transmission will be captured and stored to display device 128 and speakers 126. Media window 204, therefore, will display User1's captured-and-stored media transmission along with an indication that such media transmission is received from User1.
User1 may also click on User1's first media transmission within media window 204, so that User1's first media transmission is the most recently selected media transmission. Therefore, media window 204 will display User1's first media transmission to partially overlap User1's second media transmission. This is because User1 selected his first media transmission more recently than his second media transmission. Moreover, in response to User1 clicking on his first media transmission, the "Pause" button changes back into the "Resume" button, because User1 earlier paused his first media transmission.
User1 may further click on "Resume" button, so that client 102 resumes updating (i.e. stops freezing) its receipt and output of User1's first media transmission. The content of User1's first media transmission has changed substantially between the earlier time when User1 paused the output of his first media transmission and the later time when User1 resumed the output of his first media transmission. In response to User1 clicking on "Resume" button 242, "Resume" button changes into the "Pause" button Moreover, media window 204 will stop displaying User1's second media transmission, because media window 204 will have finally displayed the end of the captured-and-stored media content of User1's second media transmission.
User1 may also click on "transmit menu" button 212 in transmit/receive window 210. In response to User1 clicking on "transmit menu" button 212, transmit/receive window 210 displays the "transmit menu" instead of the "receive menu", although transmit/receive window 210 displays "receive menu" button 214 FIG. 2. Notably, two curves instead of a single curve still surround "video" button of transmit/receive window 210 as was the case before transmit/receive window 210 displayed "receive menu" 210.
User1 may click on Capture button 244, causing client computer 132 to capture and store User1's media transmission. In response to User1's clicking on Capture button 244, Capture button 244 becomes surrounded by two curves instead of a single curve. User1 may click again on Capture button 244, so that client computer 132 ends its capturing and storing of User1's media transmission.
In response to User1's clicking again on Capture button 244, Capture button 244 becomes surrounded by a single curve instead of two curves. Further, User1 may type a chat message. User1 may click on "video" button 220 FIG. 2, causing client computer 132 to stop outputting User1's media transmission to display device 128, media server 112 and other enabled clients of coordinating system 100.
Accordingly, media window 204 will stop displaying User1's media transmission.
In FIG. 5, User1 may then click on "view threaded message" button 230 in chat window 206. In response, chat window 206 will display a "message window" instead of the "chat window" FIG. 6 and display "view sequence chat" button 231. The message window will display a list of topics. User1 may click on the "National Football League" topic, for example.
Accordingly, chat window 206 will display a list of titles of messages which have been typed by other enabled users of coordinating system 100 regarding, for example, the National Football League. Such an arrangement of message titles and their respective contents, grouped in a nested manner according to topic, are an example of "threaded" messages. Some of the message titles are listed adjacent to "see" button 254 and "hear" button 256, in the same manner as some chat messages were listed adjacent to "see" button 254 and "hear" button 256. In FIG. 6, User1 may click on "hear" button adjacent to the "New Coach" message title.
In response to User1's clicking on "hear" button 256, transmit/receive window 210 will display "receive menu" and display "transmit menu" button 212. Also, client computer 132 will output signals to speakers 126, thereby making User1 free to hear audio frequencies represented by such signals. Window 206 will display a message, such as, for example, "This is what the Lions' new coach said about the team's new players", the name ("Fred Smith") of the message's author, the global computer network identification ("FSmith@acme.com") of the message's author, and the date ("Apr. 15, 1997") when the message was created, all associated with the "New Coach" message title.
User1 may click on the "down" arrow adjacent to the list of message titles. Consequently, the list of message titles may "scrolls", causing chat window 206 to stop displaying the message title and instead begin displaying the next message title. Also, User1 may click on "End" button 240 in transmit/receive window 210 FIG. 5, causing client 102 to stop receipt and output of the prior sender's media transmission.
User1 may type a message and include brackets (i.e., "{ }") to distinguish the message's title from its remaining content. The list of message titles will be updated with User1's message. The title of User1's message is inserted at a location within the list as a subtitle to the above "New Coach" message title, for example. Such location within the list may be determined by the fact that User1 most recently clicked on the "New Coach" message title.
In FIG. 6, User1 may click on the "down" arrow adjacent to the list of topics. Consequently, the list of topics "scrolls", so that chat window 206 stops displaying the "NCAA Basketball" topic and instead begins displaying the "Politics" topic, for example. User1 may click on the "Politics" topic. In response, chat window 206 will display a list of titles of messages which have been typed by other enabled users of coordinating system 100 regarding politics.
User1 may click on "see" button 254 adjacent to a message title. In response to User1's clicking on "see" button 254, client computer 132 will output digital information to display device 128 and signal to speakers 126, so that User1 is free to view images represented by such digital information and to hear audio frequencies represented by such signals, and chat window 206 displays a message, the name of the message's author, the global computer network identification of the message's author, and the date when the message was created, all associated with the message title.
User1 may also click on the "End" button in transmit/receive window 210 FIG. 5, so that client 102 stops its receipt and output of media transmission.
Moreover, User1 may type a message. The portion of User1's message in brackets (i.e. "{ }") will distinguish the message's title from its remaining content. The insert embodiment also provides a list of message titles that is updated with User1's message. The title of User1's message is inserted at a location within the list as a subtitle to the message title. Such location within the list is determined by the fact that User1 most recently clicked on an associated message title.
User1 may click on "Attach" button 228. In response to clicking on "Attach" button 228, client computer 132 outputs through TCP/IP network 110 User1's message to server 114 and other enabled clients of coordinating system 100, as well as the captured-and-stored media transmission from the beginning of such capture to the end of such capture. User1's previous media transmission that was captured and stored to media server 112 is provided to other enabled clients of coordinating system 100.
The list of message titles will be updated with User1's message. The title of User1's message will be inserted at a location within the list as a subtitle to the message title. Such location within the list is determined by the fact that User1 most recently clicked on the particular message title. User1 may click on "see" button 254 adjacent to the message title.
In response to User1's clicking on "see" button 254, client computer 132 outputs digital information to display device 128 and signals to speakers 126 so that User1 is free to view images represented by such digital information and to hear audio frequencies represented by such signals. In addition, chat window 206 displays a message, the name of the message's author, the global computer network identification of the message's author, and the date when the message was created, all associated with the message title.
User1 may click on "End" button 240 in transmit/receive window 210 FIG. 5, so that client 102 stops its receipt and output of User1's media transmission. Even if User1 did not click on the "End" button, media window 204 would automatically stop displaying User1's media transmission after media window 204 finally displayed the end of the captured-and-stored media content of User1's media transmission.
FIG. 7 provides a block diagram of an alternative embodiment of coordinating system 100. In such an alternative embodiment, media server 112, chat server 114 and Web server 116 of FIG. 1 are replaced by a single server 260. Server 260 executes a media server process 262, a chat server process 264, and a Web server process 266. Media server process 262 is substantially identical to the process executed by media server 112 of FIG. 1. Also, chat server process 264 is substantially identical to the process executed by chat server 114 of FIG. 1. Moreover, Web server process 266 is substantially identical to the process executed by Web server 116 of FIG. 1. Media server process 262, chat server process 264, and Web server process 266 communicate with one another in a manner substantially identical to the manner in which the respective processes of media server 112, chat server 114 and Web server 116 communicate with one another.
FIG. 8 shows a data flow diagram, indicated generally at 300, of processes executed by coordinating system 100 of FIG. 1. More particularly, client computer 132 executes a client process 302. Likewise, clients 104, 106 and 108 may execute client processes 304, 306 and 308, respectively. For clarity, FIG. 8 shows detail only for client process 302. Nevertheless, client processes 302, 304, 306 and 308 are substantially identical to one another, and client process 302 is a representative one of client processes 302, 304, 306 and 308.
For example, client process 302 includes a media client process 310, a chat client process 312, and a Web browser process 314. Media client process 310 is for receiving signals from media devices 124, for outputting signals to speakers 126, for outputting information to display device 128 for display on media window 204, and for outputting and receiving information to and from chat client process 312 and media server process 262. Chat client process 312 is for receiving information and signals from input devices 122, for outputting information to display device 128 for display on chat window 206, and for outputting and receiving information to and from media client process 310, Web browser process 314 and chat server process 264. Web browser process 314 is for receiving information and signals from input devices 122, for outputting information to display device 128 for display on Web browser window 202, and for outputting and receiving information to and from chat client process 314 and Web server process 266.
Likewise, each of client processes 304, 306 and 308 includes a respective media client process, chat client process, and Web browser process, is connected to a respective display device, media devices, speakers and input devices and is further connected to media server process 262, chat server process 264 and Web server process 266.
Chat server process 264 includes client subprocess objects 316, 318, 320 and 322. As shown in FIG. 8, client subprocess object 316 is for outputting and receiving information to and from chat client process 312 of client process 302. Likewise, client subprocess object 318 is for outputting and receiving information to and from client process 304 and although not shown in FIG. 8 for clarity, client subprocess objects 320 and 322 are for outputting and receiving information to and from client processes 306 and 308, respectively. Each of client subprocess objects 316, 318, 320 and 322 is for outputting and receiving information to and from media server process 262 and Web server process 266. Also, client subprocess objects 316, 318, 320 and 322 output and receive information to and from one another.
In an alternative embodiment, chat server process 264 connects through a first link to media server process 262, a second link to Web server process 266, and respective links to client processes 302, 304, 306 and 308. Within chat server process 264, such links are distributed to client subprocess objects 316, 318, 320 and 322, so that such client subprocess objects do not have their own respective links external to chat server process 264.
Web browser process 314 communicates information with (i.e., sends and receives information to and from) chat client process 312 through an application program interface ("API"). Also, media client process 310 communicates information with chat client process 312 through an API.
Web server process 266 outputs and receives instructions or "requests" to and from Web browser process 314. In response to instructions and browser information received from Web server process 266, Web browser process 314 outputs suitable instructions to display device 128, so that display device 128 displays Web browser window 202 and such browser information therein. In response to instructions and chat information received from client subprocess object 316 of chat server process 264, chat client process 312 outputs suitable instructions to display device 128, so that display device 128 displays chat window 206 and such chat information therein. In response to instructions and media information received from media server process 262, media client process 310 outputs suitable instructions to display device 128, so that display device 128 displays media window 204 and such media information therein
Also, in response to instructions from user 120 via input devices 122 Web browser process 314 outputs suitable instructions to Web server process 266 which (in response thereto) outputs instructions to one or more of client processes 304, 306 and 308, and/or Web sites 118a through 118n of FIG. 1 as specified by user 120.
Also, responsive to user 120 instructions, chat client process 312 outputs suitable instructions and chat information to client subprocess object 316 which, in response thereto, outputs such instructions and chat information to selected one(s) of client subprocess objects 318, 320 and 322 for further output to selected one(s) of client processes 304, 306 and 308, respectively.
Moreover, in response to instructions from user 120 via input devices 122, chat client process 312 outputs suitable instructions to media client process 310 which, in response thereto, outputs suitable instructions and media information to media server process 262 for further output to selected one(s) of client processes 304, 306 and 308. Such further output to selected one(s) of client processes 304, 306 and 308 is coordinated by client subprocess objects 316, 318, 320 and 322, respectively. Client subprocess objects 316, 318, 320 and 322 perform such coordination according to a predetermined (or preselected) communications protocol, analogously to the manner in which internet "browsing" is coordinated in the illustrative embodiment with chat operations.
With a technique known as integrated HTML chat, internet "browsing" is coordinated with chat operations. According to the integrated HTML chat technique, a chat window 206 appears to the user as being embedded within an HTML Web page, such as Web browser window 202. For example, in one embodiment, chat server process 264 is an IRC chat server process. Accordingly, from chat server process 264, chat client process 312, which is executed by computer 132, receives the HTML Web page containing chat information for display by display device 128 within chat window 206. By using the electronic keyboard of input devices 122 to type a message or "chat" for display within chat window 206, user 120 revises the HTML Web page, and chat client process 312 outputs the revised HTML Web page to client subprocess object 316.
Various implementations of chat server process 264 to coordinate chat and browse operations of coordinating system 100 are possible and include a variety of instruction sets as well as linear and object oriented programming techniques. Illustratively, compiled C++ computer language is suitable for implementing chat server process 264, although other languages are also suitable. Another such language may be that known as LPC, which is an object-oriented interpreted language that is widely used for multi-user network processes, typically Multi-User Dungeons ("MUDs"). In the illustrative embodiment, chat server process 264 is formed by multiple core software objects within the LPC framework. Such core objects are client objects, connection objects, and room objects.
Preferably, chat server process 264 is implemented using object-oriented techniques. As shown in FIG. 8, clients 102, 104, 106 and 108 are associated with, and are represented within chat server process 264 as, client subprocess objects 316, 318, 320 and 322, respectively. With client objects (e.g., client subprocess objects 316, 318, 320 and 322), chat server process 264 identifies clients (e.g. clients 102, 104, 106 and 108, respectively) which communicate with and are connected to chat server process 264, and chat server process 264 distinguishes individual preferences of such clients. Each such client identifies itself, if desired, by outputting (to chat server process 264) attribute information such as a name, gender, address, e-mail address, URL, avatar, and description.
Chat server process 264 stores such attribute information with the client's associated client object. In response to a request from another client, chat server process 264 outputs such attribute information to the requesting client. Also, chat server process 264 stores, with the client's associated client object, the connection method by which the client is connected to chat server process 264.
The connection method is stored with connection objects. Client objects inherit associated connection objects and read the connection method therefrom. By varying connection objects, chat server process 264 is capable of supporting network connections according to a variety of standard network communication protocols. Such protocols include Telnet, HTML, IRC, and raw TCP/IP socket level communication protocols. A client connected to chat server process 264 can specify one or more of such protocols by specifying a suitable connection object for connecting to, and communicating with, chat server process 264 and other clients.
When a client connects to chat server process 264, chat server process 264 assigns an associated client object to the client. Also, chat server process 264 reads the preferences of such client from a database and implements such preferences. All objects within chat server process 264 identify actions that are invocable by a client object to support communication with other client objec | | |