Allowing inconsistency in a distributed client-server application
First Claim
1. A system for enabling multiple users to simultaneously access and change the contents of a database, comprising:
- means for storing a master copy of the database;
means for storing a plurality of working copies of one or more datasets of the database;
means for allowing a corresponding one of the users to access and manipulate the contents of each of two or more of the working copies so that the contents of the two or more working copies can be revised;
means for enabling at least one user of the two or more working copies to publish revisions made to a working copy by the at least one user;
means for updating the contents of the master copy of the database with the published revisions;
means for presenting to each user of a working copy of a dataset that is affected by the revisions the option to accept or reject the inclusion of the revisions in that working copy;
means for updating the working copy of each dataset with accepted published revisions that affect that dataset; and
means for preventing each user that has rejected the inclusion of revisions in the user'"'"'s working copy of a dataset from publishing revisions.
5 Assignments
0 Petitions
Accused Products
Abstract
The invention enables multiple users to simultaneously access and change the contents of a database in a flexible manner. Each user interacts with a working copy of a master copy of the database. The contents of each of the working copies of the database can be accessed and manipulated so that the contents of the working copy of the database can be revised. Each user has control over whether to the "publish" revisions made to the contents of that user'"'"'s working copy of the database, i.e., write the revisions to the master copy and present other users with the option of including the revisions in the working copies of those other users. Each user has the option to reject revisions published by other users so that the contents of each user'"'"'s working copy of the database may or may not be maintained consistent with other working copies of the database operated on by other users. However, in order to ensure data integrity of the master database, each user that rejects the inclusion of revisions published by another user is prospectively prevented from publishing revisions to other users, until the user accepts the previously rejected published revisions. The invention employs a distributed architecture that allows each user to interact with that user'"'"'s working copy of the database in a way that is controlled by that user without impairing the functionality of the database for other users. The database inconsistency allowed by the invention facilitates the performance by users of "what-if" analyses.
140 Citations
20 Claims
-
1. A system for enabling multiple users to simultaneously access and change the contents of a database, comprising:
-
means for storing a master copy of the database; means for storing a plurality of working copies of one or more datasets of the database; means for allowing a corresponding one of the users to access and manipulate the contents of each of two or more of the working copies so that the contents of the two or more working copies can be revised; means for enabling at least one user of the two or more working copies to publish revisions made to a working copy by the at least one user; means for updating the contents of the master copy of the database with the published revisions; means for presenting to each user of a working copy of a dataset that is affected by the revisions the option to accept or reject the inclusion of the revisions in that working copy; means for updating the working copy of each dataset with accepted published revisions that affect that dataset; and means for preventing each user that has rejected the inclusion of revisions in the user'"'"'s working copy of a dataset from publishing revisions. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9)
-
-
3. A method for enabling multiple users to simultaneously access and change the contents of a database, comprising:
-
storing a master copy of the database; storing a plurality of working copies of one or more datasets of the database; allowing a corresponding one of the users to access and manipulate the contents of each of two or more of the working copies so that the contents of the two or more working copies can be revised; enabling at least one user of the two or more working copies to publish revisions made to a working copy by the at least one user; updating the contents of the master copy of the database with the published revisions; presenting to each user of a working copy of a dataset that is affected by the revisions the option to accept or reject the inclusion of the revisions in that working copy; updating the working copy of each dataset with accepted published revisions that affect that dataset; and preventing each user that has rejected the inclusion of revisions in the user'"'"'s working copy of a dataset from publishing revisions.
-
-
10. A system for mediating use of a database by a plurality of users, comprising:
-
means for enabling each of the users to obtain a working copy of a dataset, each dataset including some portion or all of the data in the database; means for enabling a user to revise the data in a working copy of a dataset obtained by that user; means for enabling a user to publish a set of revisions made to a working copy of a dataset; means for determining, for each working copy of a dataset affected by a current set of published revisions, whether to accept or reject incorporation of the current set of published revisions into the affected working copy of the dataset; means for updating an affected working copy of a dataset with a set of accepted published revisions; and means for preventing publication of a set of revisions from, or acceptance of a set of published revisions by, each working copy of a dataset for which a previous set of published revisions was rejected. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for mediating use of a database by a plurality of users, comprising the steps of:
-
enabling each of the users to obtain a working copy of a dataset, each dataset including some portion or all of the data in the database; enabling a user to revise the data in a working copy of a dataset obtained by that user; enabling a user to publish a set of revisions made to a working copy of a dataset; determining, for each working copy of a dataset affected by a current set of published revisions, whether to accept or reject incorporation of the current set of published revisions into the affected working copy of the dataset; updating an affected working copy of a dataset with a set of accepted published revisions; and preventing publication of a set of revisions from, or acceptance of a set of published revisions by, each working copy of a dataset for which a previous set of published revisions was rejected. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification