Method and apparatus for concurrency in an object oriented database using lock inheritance based on class objects
First Claim
1. A network having a client/server architecture comprising:
- a plurality of client applications;
a knowledge base server, the knowledge base server including a dynamic class manager, a connection manager, a query manager, a handle manager, a units manager, a database manager, and a file manager;
an object oriented hierarchical schema representing classes of instances as objects arranged in a hierarchy, said schema being fully connected with each class object including information as to any class object that is a parent in the hierarchy, and class objects that are descendants in the hierarchy, said class objects being managed by said dynamic class manager;
a concurrency control system for controlling access by said plurality of client applications by providing class share locks and not using instance locks, the concurrency control system including an object oriented lock manager, and a lock holder table, the lock manager being operative to control concurrent access by said client applications by granting class share locks for navigation of the schema, the lock manager being operative to control concurrent access by said client applications by granting tree exclusive locks for certain editing functions, and the lock manager being operative to control concurrent access by said client applications by granting tree update locks for certain limited functions as to which more concurrency may be provided as compared to functions as to which a tree exclusive lock is required; and
,the object oriented lock manager obtaining from the dynamic class manager information concerning the relationship between classes in determining whether locks requested by said client applications may be granted.
14 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for concurrency control in an object oriented database management system having a plurality of users accessing the system at the same time, and allowing editing of the database while other users are concurrently searching the database. The present invention may be advantageously used in a client/server architecture comprising a knowledge base client and a knowledge base server. In a preferred embodiment, the knowledge base server may include an object oriented lock manager, a dynamic class manager, a connection manager, a query manager, a handle manager, a units manager, a database manager, and a file manager. The concurrency control mechanism includes a lock holder table. The present invention provides a method and apparatus for providing concurrency control in an object oriented database managemant system using only three types of lock modes: a class share lock, a tree update lock, and a tree exclusive lock. In a preferred embodiment, a fourth type of lock mode may be provided: a tree share lock. The present invention provides a particularly advantageous concurrency control mechanism for an object oriented database management system that is read oriented.
151 Citations
2 Claims
-
1. A network having a client/server architecture comprising:
-
a plurality of client applications; a knowledge base server, the knowledge base server including a dynamic class manager, a connection manager, a query manager, a handle manager, a units manager, a database manager, and a file manager; an object oriented hierarchical schema representing classes of instances as objects arranged in a hierarchy, said schema being fully connected with each class object including information as to any class object that is a parent in the hierarchy, and class objects that are descendants in the hierarchy, said class objects being managed by said dynamic class manager; a concurrency control system for controlling access by said plurality of client applications by providing class share locks and not using instance locks, the concurrency control system including an object oriented lock manager, and a lock holder table, the lock manager being operative to control concurrent access by said client applications by granting class share locks for navigation of the schema, the lock manager being operative to control concurrent access by said client applications by granting tree exclusive locks for certain editing functions, and the lock manager being operative to control concurrent access by said client applications by granting tree update locks for certain limited functions as to which more concurrency may be provided as compared to functions as to which a tree exclusive lock is required; and
,the object oriented lock manager obtaining from the dynamic class manager information concerning the relationship between classes in determining whether locks requested by said client applications may be granted.
-
-
2. An object oriented database management system in a client/server architecture having a knowledge base client and a knowledge base server, the knowledge base server including a dynamic class manager, a connection manager, a query manager, a handle manager, a units manager, a database manager, and a file manager, comprising:
-
an object oriented hierarchical database structure including classes, where each class is represented by a class object data structure which includes hierarchical location identifying information for said class, said class object data structures being managed by said dynamic class manager; an object oriented lock manager for controlling access by a plurality of client applications, said object oriented lock manager providing concurrency control using class share locks, tree update locks, and tree exclusive locks, and not using instance locks; and
,a lock holder table, the lock holder table being used by the lock manager to control concurrent access by said client applications by granting appropriate locks to a client application when the requested lock does not conflict with an existing lock in the lock holder table.
-
Specification