Claims Analysis
Total Claims: 37
Claim 1
Independent Claim
115 words
A system for updating replicated state in a distributed collaborative application, comprising: a plurality of clients, each client comprising: the distributed collaborative application comprising one or more distributable components, wherein each component may be executed independently and communicate with other components; each component including one or more sets of related shared objects which are replicated at collaborating applications; and a collaborative client middleware, communicatively coupled to the application and to the network, adapted to communicate to and receive updates over the network to the state of a shared object; conflict detection means for detecting conflicting updates to the shared object; and conflict resolution means for resolving said conflicts, detachably coupled to the conflict detection means.
Claim 2
Independent Claim
115 words
A system for updating replicated state in a distributed collaborative application, comprising: a plurality of clients, each client comprising: the distributed collaborative application comprising one or more distributable components, wherein each component may be executed independently and communicate with other components; each component including one or more sets of related shared objects which are replicated at collaborating applications; and a collaborative client middleware, communicatively coupled to the application and to the network, adapted to communicate to and receive updates over the network to the state of a shared object; conflict detection means for detecting conflicting updates to the shared object; and conflict resolution means for resolving said conflicts, detachably coupled to the conflict detection means.
Claim 3
Dependent Claim
23 words
The system of claim 1, further comprising update event means for asynchronously and atomically updating one or more of said related shared objects.
Claim 4
Dependent Claim
32 words
The system of claim 1, further comprising add object means for adding an object to a local set replica of said shared objects and communicating an added object state to collaborating applications.
Claim 5
Dependent Claim
13 words
The system of claim 1, further comprising means for instantiating a collaborative team.
Claim 6
Dependent Claim
36 words
The system of claim 4 wherein the system includes a client-server system, further comprising: an optimistic event execution model; and team descriptor logic means for ordering events through the server and dispatching locally generated events immediately.
Claim 7
Dependent Claim
33 words
The system of claim 1, wherein the system is a client-server system, further comprising: a server coupled to the network, the server comprising means for maintaining a collaborative activity for each active collaboration.
Claim 8
Dependent Claim
33 words
The system of claim 6, the server further comprising: team server means for dynamically creating, updating and destroying a collaborative team, wherein each team has a unique name space in a collaborative activity.
Claim 9
Dependent Claim
19 words
The system of claim 6, the server further comprising team policy means for defining and implementing a team behavior.
Claim 10
Dependent Claim
28 words
The system of claim 1, further comprising context-sensitive state marhalling means for propagating state to one or more new or updated shared objects in the shared object sets.
Claim 11
Dependent Claim
20 words
The system of claim 1, further comprising cloning and reinitialization means for correcting diverging state among the shared object sets.
Claim 12
Dependent Claim
27 words
The system of claim 10, further comprising: context-sensitive state marhalling means for marshaling and unmarshaling clones of one or more shared objects in the shared object sets.
Claim 13
Dependent Claim
79 words
The system of claim 10, wherein said cloning and reinitializing means further comprises: clone subsetting means for making a clone of a subset of objects in the set and preserving pointers from inside the original subsets to objects outside the cloned subset; means for mapping references between objects inside the original subset into the cloned subset; means for exporting the cloned subset to other clients; and means for reinitializing the subset of objects based one of the cloned subsets.
Claim 14
Dependent Claim
29 words
The system of claim 1, wherein the events are the units of communication in the collaborative client, and each event has a name, a type, data, and a source.
Claim 15
Dependent Claim
35 words
The system of claim 13, wherein the collaborative client further comprises: means for instantiating a collaborative team; and team descriptor logic means for ordering of events posted to a team and dispatching of received events.
Claim 16
Dependent Claim
29 words
The system of claim 14, further comprising: an optimistic event execution model; and team descriptor logic means for ordering events through the server and dispatching locally generated events immediately.
Claim 17
Dependent Claim
26 words
The system of claim 15, said conflict detection means further comprising means for detecting an out-of-order event based on an event notification received from the server.
Claim 18
Dependent Claim
36 words
The system of claim 1, wherein the events are the units of communication in the collaborative client, further comprising: Late Event Modification (LEM) means for batching and modifying events after posting them to the shared set.
Claim 19
Dependent Claim
28 words
The system of claim 1, said conflict detection means further comprising means for detecting conflicts due to incorrectly ordered updates to the shared object and informing the application.
Claim 20
Dependent Claim
80 words
In a distributed collaborative application wherein one or more distributable components may be executed independently and communicate with other components, each component including one or more sets of replicated shared objects, a method for updating replicated state, comprising the steps of: a client communicating updates to and receiving updates to the state of a shared object; detecting diverging state among the shared object sets; and cloning and reinitializing the state among the shared object sets, in response to said detecting.
Claim 21
Dependent Claim
80 words
In a distributed collaborative application wherein one or more distributable components may be executed independently and communicate with other components, each component including one or more sets of replicated shared objects, a method for updating replicated state, comprising the steps of: a client communicating updates to and receiving updates to the state of a shared object; detecting diverging state among the shared object sets; and cloning and reinitializing the state among the shared object sets, in response to said detecting.
Claim 22
Dependent Claim
34 words
The method of claim 19, said detecting step further comprising the steps of: detecting conflicts due to incorrectly ordered updates to the shared object; and informing the application, in response to said detecting step.
Claim 23
Dependent Claim
25 words
The method of claim 19, further comprising the step of: marhalling and unmarshaling clones of one or more shared objects in the shared object sets.
Claim 24
Dependent Claim
77 words
The method of claim 19, wherein said cloning and reinitializing step further comprises the steps of: making a copy of a subset of objects in the set and preserving pointers from inside the original subsets to objects outside the cloned subset; mapping references between objects inside the original subset into the cloned subset; exporting the cloned subset to other clients; and re-initializing the subset of objects based on the cloned subset, in response to said exporting step.
Claim 25
Dependent Claim
29 words
The method of claim 19, further comprising the steps of: marhalling and propagating context-sensitive state to one or more new or updated shared objects in the shared object sets.
Claim 26
Dependent Claim
42 words
The method of claim 19, wherein the system is a client-server system, further comprising the steps of: said receiving step comprising receiving a shared event from the server; and detecting an out-of-order event based on the shared event received from the server.
Claim 27
Dependent Claim
29 words
The method of claim 19, wherein the system is a client-server system, each client further comprises a collaborative client middleware, communicatively coupled to the application and to the network.
Claim 28
Dependent Claim
105 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a method for updating replicated state in a distributed collaborative application wherein one or more distributable components may be executed independently and communicate with other components, each component including one or more sets of replicated shared objects, said method comprising the steps of: a client communicating updates to and receiving updates to the state of a shared object; detecting diverging state among the shared object sets; and cloning and reinitializing the state among the shared object sets, in response to said detecting.
Claim 29
Dependent Claim
105 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a method for updating replicated state in a distributed collaborative application wherein one or more distributable components may be executed independently and communicate with other components, each component including one or more sets of replicated shared objects, said method comprising the steps of: a client communicating updates to and receiving updates to the state of a shared object; detecting diverging state among the shared object sets; and cloning and reinitializing the state among the shared object sets, in response to said detecting.
Claim 30
Dependent Claim
24 words
The program storage device of claim 26, wherein each client comprises a collaborative client middleware, communicatively coupled to the application and to a network.
Claim 31
Dependent Claim
42 words
The program storage device of claim 26, wherein the system is a client-server system, further comprising the steps of dynamically creating, updating and destroying a collaborative team, wherein each team has a unique name space in a collaborative activity on the server.
Claim 32
Dependent Claim
23 words
The program storage device of claim 28, further comprising the step of defining and implementing a team behavior based on a team policy.
Claim 33
Dependent Claim
41 words
The program storage device of claim 26, further comprising the steps of: said detecting diverging state comprising the step of detecting conflicts due to incorrectly ordered updates to a shared object; and informing the application, in response to said detecting step.
Claim 34
Dependent Claim
31 words
The program storage device of claim 26, further comprising the step of: marhalling and propagating context-sensitive state to one or more new or updated shared objects in the shared object sets.
Claim 35
Dependent Claim
27 words
The program storage device of claim 26, further comprising the step of: marhalling and unmarshaling clones of one or more shared objects in the shared object sets.
Claim 36
Dependent Claim
79 words
The program storage device of claim 26, wherein said cloning and reinitializing step further comprises the steps of: making a copy of a subset of objects in the set and preserving pointers from inside the original subsets to objects outside the cloned subset; mapping references between objects inside the original subset into the cloned subset; exporting the cloned subset to other clients; and re-initializing the subset of objects based on the cloned subset, in response to said exporting step.
Claim 37
Dependent Claim
66 words
The program storage device of claim 26, wherein the events are the units of communication in the collaborative client, the method further comprising the steps of: posting an event to the shared object set; batching and modifying events after posting them to the shared object set; and marhalling and propagating context-sensitive state to one or more new or updated shared objects in the shared object sets.