US2002052932A1PendingUtilityA1

Collaborative object architecture

45
Assignee: PLACEWARE INCPriority: Jun 11, 1998Filed: Nov 27, 2001Published: May 2, 2002
Est. expiryJun 11, 2018(expired)· nominal 20-yr term from priority
H04L 9/40H04L 67/10H04L 67/01H04L 67/131H04L 69/329
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A collaborative object architecture with one or more of the following technologies: 1) lightweight asynchronous messaging; 2) collaborative objects; 3) optimistic concurrency control; and 4) transparent object serialization. Lightweight asynchronous messaging allows highly responsive interactivity and natural interactions with minimal network loads. Collaborative objects allow ubiquitous sharing and provides each user with the same copy of the shared object. Optimistic concurrency control allows full-duplex group editing and natural interactions. Transparent object serialization provides real world persistence and support for asynchronous changes. Thus, combination of these technologies provides a collaborative object architecture with several advantages over the prior art.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A collaborative-object architecture comprising: 
 a first computer system running a pod having a first set of constituent parts; and    a second computer system coupled to the first computer system, the second computer system running an applet having a second set of constituent parts, the pod and the applet together comprising a collaborative object, wherein the first set of constituent parts correspond to the second set of constituent parts such that changes to one of the second set of constituent parts cause corresponding changes to a corresponding constituent part in the first set of constituent parts;    wherein the applet receives input and generates a message to the pod in response to the input, and further wherein the applet applies the input without waiting for a response from the pod.    
     
     
         2 . The architecture of  claim 1 , wherein the applet generates a message packet to the pod comprising multiple messages, and further wherein the messages are optimized to reduce non-essential data included in each message.  
     
     
         3 . The architecture of  claim 1 , wherein data controlled by the pod is serialized and stored on a data storage device if a message packet is not received by the pod for a preselected period of time.  
     
     
         4 . The architecture of  claim 1 , wherein the pod receives message packets from the applet and communicates the packets to additional applets.  
     
     
         5 . The architecture of  claim 1 , wherein the pod receives message packets from multiple applets, determines an order in which to process the received message packets and communicates a set of data resulting from the processing to the multiple applets such that the multiple applets receive the set of data from messages originating from the pod.  
     
     
         6 . A method for a collaborative-object architecture comprising: 
 running a pod having a first set of constituent parts on a server computer system coupled to a first client computer system running a first applet having a second set of constituent parts and to a second client computer system running a second applet having a third set of constituent parts;    receiving a message from one of the second set of constituent parts indicating a change to data controlled by the constituent part;    processing the message by changing a corresponding constituent part in the first set of constituent parts based on the message, wherein the first applet continues normal execution prior to the processing of the message; and    sending an update to the second applet indicating the change corresponding to the message.    
     
     
         7 . The method of  claim 6 , wherein the step of receiving a message comprises receiving a message packet having multiple messages indicating changes to data controlled by the constituent part.  
     
     
         8 . The method of  claim 6 , wherein the update comprises multiple messages, and further wherein the messages are optimized to reduce non-essential data included in each message.  
     
     
         9 . The method of  claim 6 , wherein the step of receiving a message further comprises: 
 receiving a message from multiple applets;    determining an order in which to process the multiple messages; and    transforming incoming messages, if necessary, based on a state of the sending applet.    
     
     
         10 . A computer readable medium having stored thereon sequences of instructions which when executed cause a processor to: 
 run a pod having a first set of constituent parts on a server computer system, wherein the server computer system is coupled to a first client computer system running a first applet having a second set of constituent parts and to a second client computer system running a second applet having a third set of constituent parts;    receive a message from one of the second set of constituent parts indicating a change to data controlled by the constituent part;    process the message by changing a corresponding constituent part in the first set of constituent parts based on the message, wherein the first applet continues normal execution prior to the processing of the message; and    send an update to the second applet indicating the change corresponding to the message.    
     
     
         11 . The computer readable medium of  claim 10 , wherein the sequences of instructions further comprise sequences of instruction that, when executed, cause the processor to receive a message packet having multiple messages indicating changes to data controlled by the constituent part.  
     
     
         12 . The computer readable medium of  claim 10 , wherein the update comprises multiple messages, and further wherein the messages are optimized to reduce non-essential data included in each message.  
     
     
         13 . The computer readable medium of  claim 10 , wherein the sequences of instruction that cause the processor to receive a message further comprise sequences of instructions that cause the processor to: 
 receive a message from multiple applets;    determine an order in which to process the multiple messages; and    transform incoming messages, if necessary, based on a state of the sending applet.    
     
     
         14 . A method for a collaborative-object architecture comprising: 
 running an applet having a first set of constituent parts;    receiving an input that indicates a change to data controlled by one of the first set of constituent parts;    generating a message indicating the change to the data;    sending the message to a pod having a constituent part corresponding to the constituent part receiving the change; and    continuing running the applet without waiting for a response from the pod.    
     
     
         15 . The method of  claim 14 , wherein generating a message comprises generating multiple messages, and further wherein the messages are optimized to reduce non-essential data included in each message.  
     
     
         16 . The method of  claim 14 , further comprising: 
 receiving an update from the pod indicating changes to the data;    transforming the update, if necessary, based on the state of the pod when the update is generated; and    modifying the data based on the update.    
     
     
         17 . A computer readable medium having stored thereon sequences of instructions that, when executed, cause a processor to: 
 run an applet having a first set of constituent parts;    receive an input that indicates a change to data controlled by one of the first set of constituent parts;    generate a message indicating the change to the data;    send the message to a pod having a constituent part corresponding to the constituent part receiving the change; and    continue running the applet without waiting for a response from the pod.    
     
     
         18 . The computer readable medium of  claim 17 , wherein the sequences of instructions that cause the processor to generate a message further comprise sequences of instructions that cause the processor to generate multiple messages, wherein the messages are optimized to reduce non-essential data included in each message.  
     
     
         19 . The computer readable medium of  claim 17 , further comprising sequences of instruction that, when executed, cause the processor to: 
 receive an update from the pod indicating changes to the data;    transform the update, if necessary, based on the state of the pod when the update is generated; and    modify the data based on the update.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.