Method and apparatus for persistent real-time collaboration
First Claim
1. A server comprising:
- a storage device for storing an object data structure having a plurality of entries defining attributes of an object, the plurality of attributes apportioned into general entries and variable entries, the general entries including a list of members having access to the object and the variable entries including at least one item of persistent information associated with the object; and
broadcast logic for broadcasting changes to the object data structure to the at least one member having access to the object.
1 Assignment
0 Petitions
Accused Products
Abstract
A collaboration server is described that enables both real-time conferencing and content management. Thus, client applications can connect to the server to share data and collaborate in real-time. The server allows fine grained sharing of any type of content using generic shared objects (GSO). Each GSO holds one or more pieces of persistent information and defines a list of people who are allowed to access the information. Each GSO also represents a persistent conferencing session., i.e., if clients modify GSOs, modifications are broadcast to all the other clients on the list of the shared object if they are connected. The server also manages relationships between shared objects; i.e., shared objects could be contained in other shared objects or reference other shared objects.
-
Citations
21 Claims
-
1. A server comprising:
-
a storage device for storing an object data structure having a plurality of entries defining attributes of an object, the plurality of attributes apportioned into general entries and variable entries, the general entries including a list of members having access to the object and the variable entries including at least one item of persistent information associated with the object; and
broadcast logic for broadcasting changes to the object data structure to the at least one member having access to the object. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of sharing at least one item of information between a pair of clients coupled to a server, the method including the steps of:
-
associating an object with the item of information, the object including a member list indicating clients having access to the item of information, the member list including the pair of clients, a name of the item of information and a value of the information;
one of the clients of the pair of clients requesting modification of the object associated with the item of information;
selectively modifying the object in response to the request from the one of the clients; and
reflecting the modification of the object to the pair of clients. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A client device, coupled to a server, the client device including:
-
a storage device for storing an object data structure having a plurality of entries defining attributes of an object, the plurality of attributes apportioned into general entries and variable entries, the general entries including a list of members having access to the object and the variable entries including at least one item of persistent information associated with the object; and
an application programming interface enabling the client to communicate with a server, including logic for requesting changes to the object data structure associated with the object, and logic for updating the contents of the object data structure in response to communication from the server. - View Dependent Claims (15)
-
-
16. A method, at a client device coupled to a server, for maintaining a copy of an object associated with an item of information, the item of information being accessed by other clients coupled to the server device, the object including a data structure storing the item of information, the method including the steps of:
-
forwarding a request to a coupled object server, the request for modifying at least one attribute of the object associated with the item of information;
receiving, from the server, an updated copy of at least a portion of the object, the updated copy of at least a portion of the object reflecting the requested modification; and
replacing a corresponding portion of the object at the client device with the updated copy.
-
-
17. A system comprising:
a server comprising;
a storage device for storing an object data structure having a plurality of entries defining attributes of an object, the plurality of attributes apportioned into general entries and variable entries, the general entries including a list of members having access to the object and the variable entries including at least one item of persistent information associated with the object; and
broadcast logic for broadcasting changes to the object data structure to the at least one member having access to the object;
a pair of clients, coupled to the server, each client including;
a storage device for storing a copy of the object data structure including the at least one item of persistent information associated with the object; and
an application programming interface enabling the client to communicate with a server, including logic for requesting changes to the object data structure, and logic for updating the contents of the object data structure in response to communication from the server.
-
18. A data structure stored in a memory of a computer system having a mechanism for representing the data structure to at least two clients connected to the computer system, the data structure including:
-
a plurality of general entries including an entry identifying the at least two clients, wherein the modification of general entries is controlled by a central data structure server;
at least one variable entry, the variable entry being defined by one of the at least two clients, the variable entry including a name of an information item and a value of the information item.
-
-
19. A collaboration system comprising:
-
means for associating an item of information with a shared object, the shared object including an access list identifying members in the collaboration system having access to the object;
means for updating an attribute of the shared object in response to a requests from one member in the access list; and
means for notifying all members in the access list associated with the shared object of the updated attribute of the shared object.
-
-
20. A collaboration system comprising:
-
a plurality of objects, each object representing an item of information and having an access list identifying a group of members interested in the each object; and
a relation database for storing, for at least one object, at least one identifier of at least one interested object, wherein the identifier is used to notify members in the group of the at least one interested object of changes to the item of information of the at least one object.
-
-
21. A collaboration system comprising:
-
a first client device including a first storage device for storing a copy of at least one object to be shared with a second client device, the object having an attribute identifying information content associated with the object;
means for maintaining consistency of the information content associated with the object, including means for broadcasting changes to the information content made by the first client to the second client and means for updating the information content in response to an update notification received from the second client.
-
Specification