Method and apparatus for a distributed locking system for a collaborative computer system
First Claim
1. An apparatus for collaborative computing comprising:
- a plurality of workstations; and
a network connecting each of the plurality of workstations, wherein each of the plurality of workstations includes a collaborative computing module for engaging in a collaborative computing session, means for sending a lock request to each of the other workstations for the collaborative computing module when the apparatus seeks to obtain a lock for the collaborative computing session;
means for receiving an acknowledgement from each of the other workstations; and
a lock engine for obtaining and releasing the lock for the collaborative computing module, wherein the lock engine has an available state, for indicating that the lock is available;
a pending state, for indicating that the lock engine has sent the lock request to each of the other workstations and that the lock engine is awaiting the acknowledgement from each of the other workstations;
a held state, for indicating that the lock engine holds the lock; and
a locked state, for indicating that the lock is held by another lock engine at one of the other workstations.
6 Assignments
0 Petitions
Accused Products
Abstract
A distributed locking apparatus for a collaborative computing system permits members of a collaborative session to obtain and transfer a lock without the use of a central lock server. Each member of the collaborative session has a lock engine, which transitions among four states depending on the location of the lock. An Available state indicates that the lock is available. A Pending state indicates that the member has requested the lock. A Held state indicates that the member currently holds the lock. A Locked state indicates that another member currently holds the lock. A message structure permits the members to obtain and release the lock and to resolve conflicts over the lock between members of the session.
22 Citations
19 Claims
-
1. An apparatus for collaborative computing comprising:
-
a plurality of workstations; and
a network connecting each of the plurality of workstations, wherein each of the plurality of workstations includes a collaborative computing module for engaging in a collaborative computing session, means for sending a lock request to each of the other workstations for the collaborative computing module when the apparatus seeks to obtain a lock for the collaborative computing session;
means for receiving an acknowledgement from each of the other workstations; and
a lock engine for obtaining and releasing the lock for the collaborative computing module, wherein the lock engine has an available state, for indicating that the lock is available;
a pending state, for indicating that the lock engine has sent the lock request to each of the other workstations and that the lock engine is awaiting the acknowledgement from each of the other workstations;
a held state, for indicating that the lock engine holds the lock; and
a locked state, for indicating that the lock is held by another lock engine at one of the other workstations.- View Dependent Claims (2)
-
-
3. A digital processing system for engaging in a collaborative computing session with at least one other member digital processing system, comprising:
-
means for storing a record within the digital processing system of each of the at least one other members in the collaborative computing session;
means for sending a lock request message to each of the other members when the digital processing system seeks to obtain a lock for the collaborative computing session;
means for transitioning the digital processing system to a held state, indicating that the digital processing system holds the lock, if the digital processing system receives an affirmative acknowledgment from each of the other members after sending the lock request message; and
means for transitioning the digital processing system to a locked state, indicating that one of the other members holds the lock, if the digital processing system receives a negative acknowledgment from any of the other members after sending the lock request message. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for distributing a lock for a collaborative computing session among a plurality of workstations engaged in the collaborative computing session comprising the steps of:
-
sending a lock request message from a first of the workstations to each of the other workstations;
receiving at the first of the workstations a response from each of the other workstations; and
transitioning the first workstation to a held state, indicating the first workstation holds the lock, if the received response from each of the other workstations is an affirmative acknowledgement. - View Dependent Claims (17, 18, 19)
-
Specification