System for merging virtual partitions of a distributed database
First Claim
1. For a data base system providing a plurality of separate virtual partitions, each storing separate instances of an initial data base comprising an initial set of versions of data objects and initial directory data indicating primary and alternate paths of decendency relating successive versions of each data object,each virtual partition independently executing group updates with respect to a referenced group of data objects by adding descendant data object versions to paths of data objects of the referenced group, each virtual partition maintaining a separate change list describing all group updates that it executes,a method for execution by a virtual partition for providing a merged data base reflecting changes to the initial data base resulting from group updates described by change lists maintained by said plurality of separate virtual partitions, the method comprising the steps of:
- selecting a collection of group updates from among the group updates described by said change lists according to predetermined selection criteria subject to a restriction that when the collection includes a plurality of group updates adding data object versions to any one path of a data object, said plurality of group updates must all be described by a change list maintained by one of said plurality of separate virtual partitions;
executing the collection of group updates on versions of data objects included in said initial data base to produce a resulting set of data object versions;
generating additional data object versions, each additional data object version resulting from group updates described by said change lists other than group updates included in said collection; and
altering said initial directory data so that it indicates that the additional data object versions relate to data object versions of said resulting set by alternate paths of decendency.
1 Assignment
0 Petitions
Accused Products
Abstract
An object-oriented, distributed data base system separates into a plurality of virtual partitions following communication failure between sites accessing the data base. Each partition accesses a separate copy of an initial data base and independently updates groups of data objects included in the data base to add new versions of data objects to the data base. Each virtual partition maintains a copy of all previous versions of data objects and maintains a change list describing all group updates that it executes. Following restoration of communication between sites, each virtual partition merges the data bases maintained by separate partitions to form a consistent merged data base permitting versions of data objects and collections of data objects created by any one of the separate virtual partitions to be identified and accessed in the merged data base.
-
Citations
18 Claims
-
1. For a data base system providing a plurality of separate virtual partitions, each storing separate instances of an initial data base comprising an initial set of versions of data objects and initial directory data indicating primary and alternate paths of decendency relating successive versions of each data object,
each virtual partition independently executing group updates with respect to a referenced group of data objects by adding descendant data object versions to paths of data objects of the referenced group, each virtual partition maintaining a separate change list describing all group updates that it executes, a method for execution by a virtual partition for providing a merged data base reflecting changes to the initial data base resulting from group updates described by change lists maintained by said plurality of separate virtual partitions, the method comprising the steps of: -
selecting a collection of group updates from among the group updates described by said change lists according to predetermined selection criteria subject to a restriction that when the collection includes a plurality of group updates adding data object versions to any one path of a data object, said plurality of group updates must all be described by a change list maintained by one of said plurality of separate virtual partitions; executing the collection of group updates on versions of data objects included in said initial data base to produce a resulting set of data object versions; generating additional data object versions, each additional data object version resulting from group updates described by said change lists other than group updates included in said collection; and altering said initial directory data so that it indicates that the additional data object versions relate to data object versions of said resulting set by alternate paths of decendency. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. For a data base system providing a plurality of separate virtual partitions, each storing separate instances of an initial data base comprising an initial set of versions of data objects, each version of a particular data object, other than a first version of the data object, having been created by modifying an existing predecessor version of the data object,
the initial data base further comprising directory data associated with each data object of the initial set of versions of data objects, the directory data identifying paths of decendency for the associated data object, each path of decendency comprising sequentially created versions of the data object, wherein each data object version included in a path except a first data object version of the path directly descends from a last created data object version included in the path, the directory data classifying each data object version included in each path as being one of current and non-current, wherein only one data object version in each path is classified as current, each virtual partition independently executing group updates by carrying out operations with respect to a referenced group of data objects such that a path of a data object of the group is altered, and each virtual partition maintaining a separate change list describing all group updates that it executes, a method for execution by a virtual partition for providing a merged data base reflecting changes to the initial data base resulting from all group updates described by change lists maintained by said plurality of separate virtual partitions, the method comprising the steps of: -
selecting a collection of group updates from among all group updates described by said change lists according to predetermined selection criteria subject to a restriction that when the collection includes a plurality of group updates altering any one path of a data object, said plurality of group updates must be described by a change list maintained by one of said plurality of separate virtual partitions; executing the collection of group updates in sequence on said initial set of data objects to produce a resulting set of data objects; and adding additional data object versions to alternate paths of the resulting set of data objects, each additional data object version resulting from group updates described by said change lists other than group updates included in said collection. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. For a data base system providing a plurality of separate virtual partitions, each storing separate instances of an initial data base comprising an initial set of versions of data objects, each version of a particular data object, other than a first version of the data object, being created by modifying an existing predecessor version of the data object,
the initial data base further comprising an initial set of directory data associated with each data object of the initial set of versions of data objects, the directory data identifying paths of decendency for the associated data object, each path of decendency comprising sequentially created versions of the data object, wherein each data object version of the path except a first data object version of the path directly descends from a last created data object version of the path, the directory data classifying each path as one of principal and alternate, and classifying each ata object version of each path as being one of current and non-current, wherein only one path of each object is classified as principal and only one data object version of each path is classified as current, the initial data base further comprising an initial set of configuration specifications, each configuration specification referencing a group of said initial set of data object versions, at least one configuration specification providing at least one floating reference to a current data object version of a principal path of a data object, and each virtual partition independently executing group updates, each group update carrying out at least one of a set of operations with respect to a group of data objects referenced by a configuration specification, the set of operations including an operation that adds a new version of a data object to a path associated with the data object directly descending from a current data object version of the path, an operation that alters classifications of paths, an operation that alters classification of data object versions, and an operation that creates a new alternate path associated with a data object by creating a new version of the data object directly descending from a noncurrent version of the data object, and each virtual partition maintaining a separate change list describing all group updates that it executes, a method executed by a particular virtual partition for providing a merged data base reflecting changes to the initial data base resulting from all group updates described by change lists maintained by the separate virtual partitions, the method comprising the steps of: -
obtaining said change lists maintained by the separate virtual partitions; selecting a collection of group updates from among all group updates described by said change lists according to predetermined selection criteria subject to a requirement that the collection includes no two group updates described by differing change lists of the separate virtual partitions which two group updates alter a same data object path; executing the collection of group updates in sequence on said initial set of versions of data objects to produce a resulting set of data objects; and adding additional data object versions to alternate paths of the resulting set of data objects, each additional data object version resulting from group updates described by said change lists other than group updates included in said collection. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification