Electrical computers and digital processing systems: multicomput – Remote data accessing – Using interconnected networks
Reexamination Certificate
1998-06-11
2002-01-08
Maung, Zarni (Department: 2152)
Electrical computers and digital processing systems: multicomput
Remote data accessing
Using interconnected networks
C709S203000, C709S205000
Reexamination Certificate
active
06338086
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to multi-user computer applications. More specifically, the present invention relates to a collaborative object architecture for use with networked computers.
BACKGROUND OF THE INVENTION
Advances in computer technology and the advent of the Internet have enabled geographically distributed computer users to execute computer programs from points around the world. Examples of distributed programs include computer chat rooms, conferencing programs and gaming programs, each of which allow multiple computer users to interactively exchange information in real time. For instance, a computer chat room can allow a number of distributed users to view conversational text as it is typed by any one of the individual users, a conferencing application may allow geographically distributed users to collectively draft and edit a single text document, and gaming programs can allow multiple users to compete or collaborate in a virtual gaming environment.
In order to perform distributed programming, it is necessary for two individual processes to maintain a bi-directional communication stream. The term “process” refers to an active execution of a computation, and is also commonly referred to as a task, job, or thread. Distributed programming is frequently based on the client-server paradigm, wherein a process executing on a client system communicates with a process executing on a server system.
In the client-server paradigm, a client process makes requests for access to, and information from, a server process. A client process and server process can be executing on the same computer system or they can be executing on separate networked systems. In an architecture where a server is accessible by a network, such as the Internet, a large number of client systems from around the world can make requests on a server system.
Distributed programs, however, typically are only distributed to the extent that multiple client systems have access to a program running on a server system that operates with request and wait remote procedure calls (RPCs). In these architectures, the client systems request a service from the server system and wait for a response before proceeding. Such architectures require substantial network resources to keep the client systems updated with changes to the program. As the number of users increases network and other computing resources required to provide satisfactory performance also increases. For these reasons, prior art distributed programs typically do not provide a scalable, near real time collaborative environment.
What is needed is an improved architecture that provides objects distributed among multiple computer systems that act as a single object.
SUMMARY OF THE INVENTION
A collaborative object architecture is described. A pod application runs on a server computer system. Applets run on one or more client computer systems coupled to the server computer system via a network. Each pod and a corresponding applet on each client computer system comprises a collaborative object. In one embodiment, pods have multiple constituent parts having corresponding constituent parts in each corresponding applet. Changes generated by a constituent part in an applet are processed locally and communicated to the pod. The applet continues normal operation without waiting for a response from the pod. When the pod receives the changes, the corresponding constituent part processes the changes and communicates the changes to the applets that have not processed the changes. In one embodiment, multiple changes are communicated in a single message packet.
REFERENCES:
patent: 5206934 (1993-04-01), Naef, III
patent: 5241625 (1993-08-01), Epard et al.
patent: 5541911 (1996-07-01), Nilakantan et al.
patent: 5613124 (1997-03-01), Atkinson et al.
patent: 5706502 (1998-01-01), Foley et al.
patent: 5794219 (1998-08-01), Brown
patent: 5796396 (1998-08-01), Rich
patent: 5812749 (1998-09-01), Fernandez et al.
patent: 5844553 (1998-12-01), Hao et al.
patent: 5890963 (1999-04-01), Yen
patent: 5907598 (1999-05-01), Mandalia et al.
patent: 5916302 (1999-06-01), Dunn et al.
patent: 5918229 (1999-06-01), Davis et al.
patent: 5922044 (1999-07-01), Banathia
patent: 5924116 (1999-07-01), Aggarwal et al.
patent: 5935249 (1999-08-01), Stern et al.
patent: 5944791 (1999-08-01), Scherpbier
patent: 5959621 (1999-09-01), Nawaz et al.
patent: 5964660 (1999-10-01), James et al.
patent: 5974441 (1999-10-01), Rogers et al.
patent: 6018343 (2000-01-01), Wang et al.
patent: 6023685 (2000-02-01), Brett et al.
patent: 6029175 (2000-02-01), Chow et al.
patent: 6044205 (2000-03-01), Reed
patent: 6044218 (2000-03-01), Faustini
patent: 6065051 (2000-05-01), Steele et al.
patent: 6075863 (2000-06-01), Krishnan et al.
patent: 6094673 (2000-07-01), Dilip et al.
patent: 6108687 (2000-08-01), Craig
patent: 6195685 (2001-02-01), Mukherjee et al.
Sun Microsystems, Inc., “Java Card 2.0: Programming Concepts”, Revision 1.0 Final, java.sun.com, pp. 1-33, Oct. 1997.*
International Preliminary Search Report dated Mar. 30, 2000 for corresponding application No. PCT/US(9/13158 (7 pages).
Avrahami, Gideon, et al., “A Two-View Approach to Constructing User Interfaces,” Computer Graphics, Jul. 1989, pp. 137-146.
Bartlett, Joel, “Don't Fidget with Widgets, Draw!” Proceedings 6th Annual X Technical Conference, Jan. 13-15, 1992, pp. 117-131.
Bharat, Krishna, et al., “Building Distributed, Multi-User Applications by Direct Manipulation,” Proceedings of the ACM Symposium on User Interface Software and Technology, Nov. 2-4, 1994, pp. 71-81.
Brown, Marc H., et al., “MMConf: An Infrastructure for Building Shared Multimedia Applications,” Proceedings of the Conference on Computer-Supported Cooperative Work, Oct. 7-10, 1990, pp. 329-342.
Curtis, Pavel, et al., “Lambda MOO Programmer's Manual,” Lambda MOO Version 1.8.0p5, May 1996.
Curtis, Pavel, et al., “MUDs Grow Up: Social Virtual Reality in the Real World,” Xerox PARC, May 5, 1993.
Curtis, Pavel, et al., “The Jupiter Audio/Video Architecture: Secure Multimedia in Network Places,” ACM Multimedia 95, pp. 79-90.
Danskin, John M., “Previewing PostScript over a Telephone in 3 Seconds Per Page,” Proceedings 9th Annual X Technical Conference, Jan. 30-Feb. 1, 1995, pp. 23-40.
Danskin, John, “Higher Bandwidth X,” Proceedings ACM Multimedia '94, Oct. 15-20, 1994, pp. 89-96.
Dewan, Prasun, et. al., “Primitives for Programming Multi-User Interfaces,” Proceedings of the ACM Symposium on User Interface Software and Technology, Nov. 11-13, 1991, pp. 69-78.
Ellis, C. A., et al., “Concurrency Control in Groupware Systems,” Proceedings of the 1989 ACM SIGMOD International Conference on the Management of Data Portland, Oregon, Jun. 1989, pp. 399-407.
Fulton, Jim, et al., “An Update on Low Bandwidth X (LBX) A Standard for X and Serial Lines,” Proceedings 7th Annual X Technical Conference, Jan. 18-20, 1993, pp. 251-266.
Gibbs, S.J., “LIZA: An Extensible Groupware Toolkit,” ‘Wings for the Mind’ Conference Proceedings, Apr. 30-May 4, 1989, pp. 29-35.
Karsenty, Alain, et al., “An Algorithm for Distributed Groupware Applications,” Proceedings The 13th International Conference on Distributed Computing Systems, May 25-28, 1993, pp. 195-202.
Knister, Michael, et al., “Issues in the Design of a Toolkit for Supporting Multiple Group Editors,” Computing Systems, Spring 1993, pp. 135-166.
Packard, Keith “Designing LBX An Experiment Based Standard,” Proceedings 8th Annual X Technical Conference, Jan. 24-26, 1994, pp. 121-133.
Patet, Dorab, et al., “A UNIX Toolkit for Distributed Synchronous Collaborative Applications,” Computing Systems, Spring 1993, pp. 105-133.
Patterson, John F., et al., “Rendezvous: An Architecture for Synchronous Multi-User Applications,” Proceedings of the Conference on Computer-Supported Cooperative Work, Oct. 7-10, 1990, pp. 317-328.
Pike, R., “The Blit: A Multiplexed Graphics Terminal,” AT&T Bell Laboratories Technical Journal Computing Science and Systems, Oct. 1984, pp. 1607-1631.
Pike Rob, “The Text Editor sam,” Software-Practice and Experie
Curtis Pavel
Dixon Michael D.
Nichols David A.
Cardone Jason D.
Finnegan Henderson Farabow Garrett & Dunner LLP
Maung Zarni
Placeware, Inc.
LandOfFree
Collaborative object architecture does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Collaborative object architecture, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Collaborative object architecture will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2836103