System and method to synchronize two or more object management systems
First Claim
1. A system to synchronize object management systems having a plurality of object management system components, comprising:
- a distributed reader and writer'"'"'s lock for each of the plurality of object management system components that communicates over a language interface and controls access to information shared by a corresponding object management system component within multiple object management systems;
a module that creates the distributed reader and writer'"'"'s lock and serves as an agent for the object management system component; and
a list controller, which maintains a communications list and is adapted for communication with a communications controller, to which the distributed reader and writer'"'"'s lock offloads management of a stub interface;
wherein the distributed reader and writer'"'"'s lock functions to;
request a local read lock and release a read lock;
request a local write lock and release a local write lock; and
request a remote write lock and release a remote write lock.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed reader and writer'"'"'s lock to synchronize object management systems is disclosed. The purpose of the lock is to control access to information that is shared by corresponding object management system components on multiple object management systems. An object management system is a computer-based system for storing, naming, and manipulating objects. One lock is created for each object management system component associated with a particular service within the system. The locks communicate over an interface definition language interface. The reader/writer'"'"'s lock is created by a remote component synchronization module, which acts as an agent for the object management system component. The lock exposes functions to request or release a write lock and to request or release a read lock.
22 Citations
36 Claims
-
1. A system to synchronize object management systems having a plurality of object management system components, comprising:
-
a distributed reader and writer'"'"'s lock for each of the plurality of object management system components that communicates over a language interface and controls access to information shared by a corresponding object management system component within multiple object management systems;
a module that creates the distributed reader and writer'"'"'s lock and serves as an agent for the object management system component; and
a list controller, which maintains a communications list and is adapted for communication with a communications controller, to which the distributed reader and writer'"'"'s lock offloads management of a stub interface;
wherein the distributed reader and writer'"'"'s lock functions to;
request a local read lock and release a read lock;
request a local write lock and release a local write lock; and
request a remote write lock and release a remote write lock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of requesting a local write lock, comprising:
-
waiting for a drop in pending status of a write lock, if a write request is pending;
incrementing a pending semaphore;
incrementing a local write lock count, if a local module has the write lock;
locking a lock contention mutex and creating a random number for resolving write lock contention;
checking a variable dedicated to write lock arbitration counting;
incrementing the arbitration count;
setting the write lock'"'"'s arbitration identification and setting its priority by generating a bound random number;
releasing the lock contention mutex; and
making a write lock request. - View Dependent Claims (13, 14)
-
-
15. A method of requesting a local read lock, comprising:
-
passing a local read lock request to a local lock component;
granting or blocking the local read lock request;
retrying if the local read lock request is blocked; and
repeating until a maximum number of retries is reached. - View Dependent Claims (16)
-
-
17. A method of requesting a write lock from a remote module, comprising:
-
locking a lock contention mutex and checking an arbitration count;
resolving contention for a write lock or incrementing the arbitration count; and
releasing the lock contention mutex or forwarding the request to a lock component. - View Dependent Claims (18, 19, 20)
-
-
21. A method of releasing a local write lock, comprising:
-
setting a clear pending lock;
locking a write lock contention mutex and decrementing a write lock count;
clearing write lock contention variables, if the write lock count is zero;
releasing the lock contention mutex;
calling a write lock release function; and
releasing the clear pending lock. - View Dependent Claims (22, 23, 24)
-
-
25. A method of releasing a remote write lock, comprising:
-
setting a clear pending lock;
locking a write lock contention mutex and clearing write lock contention variables;
clearing a writer'"'"'s lock from a local lock component;
releasing the write lock contention mutex; and
clearing the clear pending lock. - View Dependent Claims (26)
-
-
27. A system for a local write lock request comprising a computer readable medium and a computer readable program code stored on the computer readable medium having instructions to:
-
wait for a drop in pending status of a write lock, if a write request is pending;
augment a pending semaphore;
augment a local write lock count, if a local module has the write lock;
lock a lock contention mutex and create a random number for resolving write lock contention;
check a variable dedicated to write lock arbitration counting;
augment the arbitration count;
set the write lock'"'"'s arbitration identification and set the write lock'"'"'s priority by generating a bound random number;
release the lock contention mutex; and
request a write lock. - View Dependent Claims (28)
-
-
29. A system for a local read lock request comprising a computer readable medium and a computer readable program code stored on the computer readable medium having instructions to:
-
pass a local read lock request to a local lock component;
award or deny the local read lock request;
retry if the local read lock request is denied; and
repeat until a maximum number of retries is reached. - View Dependent Claims (30)
-
-
31. A system for a remote write lock request comprising a computer readable medium and a computer readable program code stored on the computer readable medium having instructions to:
-
lock a lock contention mutex and check an arbitration count;
resolve contention for a write lock if the arbitration count is greater than zero, or augment the arbitration count if the arbitration count is not greater than zero; and
release the lock contention mutex or forward the request to a lock component. - View Dependent Claims (32)
-
-
33. A system for a local write lock release comprising a computer readable medium and a computer readable program code stored on the computer readable medium having instructions to:
-
set a clear pending lock;
lock a write lock contention mutex and decrement a write lock count;
clear write lock contention variables, if the write lock count is zero;
release the lock contention mutex;
call a write lock release function; and
release the clear pending lock. - View Dependent Claims (34)
-
-
35. A system for a remote write lock release comprising a computer readable medium and a computer readable program code stored on the computer readable medium having instructions to:
-
set a clear pending lock;
lock a write lock contention mutex and clear write lock contention variables;
clear a writer'"'"'s lock from a local lock component;
release the write lock contention mutex; and
clear the clear pending lock. - View Dependent Claims (36)
-
Specification