System and method for synchronization for enforcing mutual exclusion among multiple negotiators
First Claim
Patent Images
1. A method of synchronizing access comprising:
- providing a lock, wherein the lock includes a first part and a second part;
writing a first entry to the first part without determining that the second part is available, wherein the first entry includes an identifier associated with a first negotiator;
determining, subsequent to writing the first entry to the first part, that the second part is available;
writing a second entry to the second part based at least in part on the determination that the second part is available;
reading the first part;
determining whether the first entry is read from the first part; and
obtaining the lock if the first entry is read from the first part.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for providing a synchronization mechanism for access to shared information. According to an embodiment of the present invention, a lock with more than one part can be obtained or leased by writing to the first part, writing to the second part, reading the first part to determine whether the first part reads what was written to it, and obtaining the lock if what is read is the same as what was written.
-
Citations
21 Claims
-
1. A method of synchronizing access comprising:
-
providing a lock, wherein the lock includes a first part and a second part; writing a first entry to the first part without determining that the second part is available, wherein the first entry includes an identifier associated with a first negotiator; determining, subsequent to writing the first entry to the first part, that the second part is available; writing a second entry to the second part based at least in part on the determination that the second part is available; reading the first part; determining whether the first entry is read from the first part; and obtaining the lock if the first entry is read from the first part. - View Dependent Claims (2, 3, 4, 5, 6, 10, 11, 12)
-
-
7. A system of synchronizing access comprising:
-
a shared storage including a lock, wherein the lock includes a first part and a second part; and a plurality of negotiators, wherein at least one of the plurality of negotiators is configured to; write a first entry to the first part without determining that the second part is available, wherein the first entry includes an identifier associated with a first negotiator; determine, subsequent to writing the first entry to the first part, that the second part is available; write a second entry to the second part based at least in part on the determination that the second part is available, read the first part; determine whether the first entry is read from the first part; and obtain the lock if the first entry is read from the first part. - View Dependent Claims (13, 14, 15)
-
-
8. A system of synchronizing access comprising:
- a processor configured to;
write a first entry to a first part of a lock without determining that a second part of the lock is available, wherein the first entry includes an identifier associated with a first negotiator; determine, subsequent to writing the first entry to the first part, that the second part is available; write a second entry to the second part based at least in part on the determination that the second part is available; write a second entry to the second part of the lock; read the first part; determine whether the first entry is read from the first part; and obtain the lock if the first entry is read from the first part;
a memory coupled to the processor, the memory being configured to provide the processor with instructions. - View Dependent Claims (16, 17, 18)
- a processor configured to;
-
9. A computer program product for synchronizing access, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
-
providing a lock, wherein the lock includes a first part and a second part; writing a first entry to the first part without determining that the second part is available, wherein the first entry includes an identifier associated with a first negotiator; determining, subsequent to writing the first entry to the first part, that the second part is available; writing a second entry to the second part based at least in part on the determination that the second part is available; reading the first part; determining whether the first entry is read from the first part; and obtaining the lock if the first entry is read from the first part. - View Dependent Claims (19, 20, 21)
-
Specification