Locking and row by row modification of a database stored in a single master table and multiple virtual tables of a plurality of concurrent users
First Claim
1. A relational database system for managing a relational database concurrently-used by a plurality of users comprising:
- means for maintaining a master copy of at least one said relational database in a Master Table;
locking means for locking said Master Table when one said user is accessing said Master Table;
means for creating a Virtual Table for each of a plurality of concurrent said users;
means for selecting a single row, containing a plurality of data fields, from a plurality of rows in said Master Table;
means for indicating currency in said single row;
means for comparing said indicated currency of said selected row with a corresponding row in one of said concurrent user'"'"'s Virtual Table;
means for modifying said selected single row; and
,means, in response to an output signal from said comparing means, for replacing said selected row in said Master Table with said modified selected row and for copying said modified selected row into said corresponding row in said one of said concurrent user'"'"'s Virtual Table.
1 Assignment
0 Petitions
Accused Products
Abstract
A database management system for use in designing integrated circuit chips. A large number of designers and users are given concurrent access to design data stored in a Master Table by providing each designer with a private copy of the Master Table called the designer'"'"'s Virtual Table. Each designer can independently alter data displayed from the designer'"'"'s Virtual Table without interfering with other designers. Whenever a designer alters the displayed data, the displayed row containing the altered data is written to the Master Table and the designer'"'"'s Virtual Table, provided that the Master Table row'"'"'s time-date stamp matches the corresponding Virtual Table row'"'"'s time-date stamp. If the time-date stamps do not match, then the Master Table row is copied into the Virtual Table, the designer receives an error message, and the designer is allowed to update the corrected row.
146 Citations
16 Claims
-
1. A relational database system for managing a relational database concurrently-used by a plurality of users comprising:
-
means for maintaining a master copy of at least one said relational database in a Master Table; locking means for locking said Master Table when one said user is accessing said Master Table; means for creating a Virtual Table for each of a plurality of concurrent said users; means for selecting a single row, containing a plurality of data fields, from a plurality of rows in said Master Table; means for indicating currency in said single row; means for comparing said indicated currency of said selected row with a corresponding row in one of said concurrent user'"'"'s Virtual Table; means for modifying said selected single row; and
,means, in response to an output signal from said comparing means, for replacing said selected row in said Master Table with said modified selected row and for copying said modified selected row into said corresponding row in said one of said concurrent user'"'"'s Virtual Table. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A relational database for concurrently designing integrated circuit chips by a plurality of users of a circuit Design Table comprising:
-
means for maintaining a copy of at least one said Design Table, said copy being a Master Table; locking means for locking said Master Table when one said user is accessing said Master Table; means for determining if said Master Table is locked; means for creating a Virtual Table for each of said users; means for displaying said Virtual Table; means for selecting a single row from a plurality of rows in said Master Table, wherein each said row comprises a plurality of data fields and a means for indicating currency; means for comparing said indicated currency of said selected row with a corresponding row in one of said users'"'"' Virtual Table; means for modifying said selected row; and means, in response to an output signal from said comparing means, for replacing said selected row in said Master Table with said modified selected row and for copying said modified selected row into said corresponding row in said one of said concurrent user'"'"'s Virtual Table.
-
-
8. A computer implemented method of managing a relational database for concurrent use by a plurality of users, said computer implemented method comprising the steps of:
-
a) copying said relational database into a Master Table; b) copying Master Table into a Virtual Table for each of said concurrent users; c) locking said Master Table when one said concurrent user is accessing said Master Table; d) retrieving a selected row from said Master Table whenever said one said concurrent users attempts to alter an item in said retrieved row and retrieving a corresponding row from said altering user'"'"'s Virtual Table; e) altering said selected row in said Master Table whenever said selected row from said Master Table and said retrieved row from said altering user'"'"'s Virtual Table are identical; and f) copying said altered selected row from said Master Table into said retrieved row of said altering user'"'"'s Virtual Table. - View Dependent Claims (7, 9, 10, 11, 12)
-
-
13. A computer implemented method of managing a relational database for concurrent use by a plurality of users, said method comprising the steps
a) copying said relational database into a Master Table, said Master Table comprised of a plurality of rows; -
b) copying said Master Table into a Virtual Table for each of said concurrent users; c) displaying said Virtual Table for each of said users; d) checking said Master Table for a lock whenever one of said concurrent users'"'"' attempts to alter an item in one of said rows; e) locking said Master Table; f) retrieving said one row from said Master Table and a corresponding row from said altering users'"'"' Virtual Table; g) altering said retrieved row in said Master Table when said retrieved row from said Master Table and said corresponding row from said altering user'"'"' Virtual Table are identical, otherwise notifying said altering user of an error condition; h) copying said altered retrieved row from said Master Table into said corresponding row of altering users'"'"' Virtual Table; and
, - View Dependent Claims (14)
-
-
15. A computer implemented method of integrated circuit chip design for designing an integrated circuit chip by a plurality of designers comprising the steps of:
-
a) creating a Master Table of design data; b) providing each of said designers with a copy of said Master Table, each of said designers'"'"' copy being maintained as a Virtual Table; c) displaying each of said designers'"'"' Virtual Table; d) updating at least one item by one of said designers; e) checking said Master Table for a lock; f) locking all of said designers except for said updating designer out of said Master Table; g) retrieving a row from said Master Table, said retrieved row containing said one item, and retrieving a corresponding row from said updating designer'"'"'s Virtual Table; h) comparing said retrieved row from said Master Table and said retrieved corresponding row from said updating desinged'"'"'s Virtual Table; i) updating said item in said Master Table and in said updating user'"'"'s Virtual Table if both said retrieved rows from said Master Table and said updating desinger'"'"'s Virtual Table are identical, otherwise, copying said retrieved row from said Master Table into said corresponding row of said updating designer'"'"'s Virtual Table and notifying said updating designer; and
,j) unlocking said Master Table. - View Dependent Claims (16)
-
Specification