US5333316A - 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 - Google Patents
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 Download PDFInfo
- Publication number
- US5333316A US5333316A US07/746,398 US74639891A US5333316A US 5333316 A US5333316 A US 5333316A US 74639891 A US74639891 A US 74639891A US 5333316 A US5333316 A US 5333316A
- Authority
- US
- United States
- Prior art keywords
- row
- master table
- user
- master
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Definitions
- This invention relates to database management systems and, more particularly to multi-user database systems which allow concurrent access to a relational database by an arbitrary number of database users.
- Collections of data called databases are well known. Computer systems which can be used by multiple users are also well known.
- problems may arise. If one user is reading from the database ,while another user is writing to the database, the data integrity of the data read by the first user is suspect. If two users are attempting to write data to the database, what is actually written is unpredictable and so data integrity is suspect. To minimize these and other data integrity problems, locking schemes were implemented, whereby only one user at a time was allowed to access the database.
- Locking a database meant that, whenever a user was reading from or writing to the database, only that user was allowed to access that database, while all other users were locked out. Thus, the problem of one user writing data to a database while another prior user is reading the same data from the database was eliminated. The problem of two users simultaneously writing to a database was also eliminated.
- locks were distinguished based on the type of user access to the database. Thus locks were distinguished as read locks or write locks. A user having a read lock merely prevented another user from writing to the database, while allowing other users to obtain read locks and, concurrently, to read from the same database. A user having a write lock excluded all access by other users until the user having the write lock released the write lock.
- a system having read locks and write locks to achieve concurrency is also known as "several readers and one writer" system.
- a relation has rows called tuples and columns. Each column has a unique name called the column's attribute. Each element in a tuple (or row) is called an item. Each item is identified by the attribute for the column in which it resides. If each tuple has an item or group of items which uniquely identify it, e.g., a row number, then the identifying item(s) is (are) called the tuple's key. If the key is a group of items, then the group is called a composite.
- a relational database system for use in designing integrated circuit chips is provided, which allows concurrent use of large tabular databases by a large number of designers and other users.
- a single master copy of a large table is stored and maintained.
- the table has a plurality of rows and columns. Each row has a time-date stamp in three columns which contains the time and date of the last modification to any of the items in the row and the identification of the user that made that modification.
- Each table user is given a private copy of the table called the user's virtual copy.
- a user To alter or update the master copy, a user first alters a display of a portion of the virtual copy and then attempts to store the altered display row into the master copy. If the time-date stamp for the Master Table row does not match the time-date stamp for the corresponding row in the altering user's virtual copy, then, the Virtual Table row is updated from the Master Table row and the user is notified that the attempt to update the Master Table was unsuccessful. Otherwise, if the time-date stamp in the Master Table row matches the time-date stamp for the corresponding row in the user's Virtual Table, then the time-date stamp is updated and the altered data is transferred from the display to the Virtual Table and
- FIG. 1 is an example of a computer display of a portion of a TIME managed database.
- FIG. 2 is a flow diagram of how a user enters the relational database management system of the present invention.
- FIG. 3 is a flow diagram of how a user updates a database managed by the relational database management system of the present invention.
- the preferred embodiment of the present invention is a Relational Database management method and system for use in design of integrated circuit chips and is called the "Technology Information Management Enhancer" or TIME.
- TIME is intended for any general purpose computer capable of multiprocessing and concurrent data access by multiple user's.
- the preferred computer is the IBM System 390 operating under the Multiple Virtual Storage (MVS) operating system.
- VMS Multiple Virtual Storage
- a user refers generally to any person, processor, or program being executed by a processor, capable of using data stored in a database.
- the above list is not intended to be an exclusive list of users, but merely to be an illustrative list of potential TIME users.
- FIG. 1 is an example of a computer display of a portion of a TIME managed Table 50.
- a row 52 of the relational database (table) 50 of the preferred method and system has 100 items 54 as data fields and 3 items 56 , 58 and 60 called the row's "time-date stamp", which contain the date 56 and time 58 of the last modification and the identification 60 of the user that made that modification.
- the row's time-date stamp is updated with the time and date of the change and identification of the user making the change.
- a row of the preferred table organization is 103 items, it is contemplated that the number of items in a row may be varied without significantly departing from the spirit of the invention. In particular the number of items provided as data fields may be much more or much less than 100. Also, the time, date and identification items or fields may be mixed, combined or further distinguished without departing from the spirit of the invention.
- FIG. 2 is a flow diagram of how a user enters TIME 100 and thus creates a Virtual Table.
- TIME Upon entering TIME, i.e., to obtain a virtual copy of a TIME managed relational database, TIME checks to determine if any user has a lock on the Master Table 102. Another user may have a lock on the Master Table either because the user is updating data in the table or, because the user is copying the Master Table into the user's Virtual Table. If the Master Table is in use (locked), then the user attempting to enter TIME must wait until it is no longer in use. If the Master Table is not in use or, once the Master Table is no longer in use, the user is given a lock on the Master Table. Once the user has the lock, the user "opens" the Master Table 104. "Opening the Master Table” 104 means that the user can read from or write to the Master Table.
- the user creates an empty virtual table in the user's memory space with each column having the same attributes as corresponding columns in the Master Table and then, the user copies the Master Table into the empty virtual table 106. After copying the Master Table 106, the user releases the lock on the Master Table 108. Thus, the user has a complete current copy of the Master Table in the user's Virtual Table.
- the Virtual Table is displayed for the user 110. In the preferred embodiment, the Virtual Table is displayed 110 at a computer terminal.
- display includes storage of a portion of the Virtual Table in a display buffer, in working registers or, any form of display suitable to the Virtual Table user is within the spirit and scope of the invention.
- the user has complete uninterrupted use of the Virtual Table.
- the user is free to read from or write to the Virtual Table without interfering with other users and without interference from other users. All alterations are first made to displayed data and then, if data integrity would not be affected, transferred to the Master Table. Alterations made to the Master Table by a user are reflected in the user's Virtual Table. However, a user's Virtual Table is not updated as the result of another user altering the Master Table until the time-date stamp for the row of the Master Table intended for alteration does not match the time-date stamp for the corresponding row in the updating user's Virtual Table.
- time-date stamps match then the time-date stamp is updated in both rows and the alterations are then transferred from the displayed data to the Master Table row and the updating user's Virtual Table. Otherwise, the updating user is notified that the row has been altered; the row is updated in the user's Virtual Table, and the user is allowed to alter the updated row. See FIG. 3 for a flow diagram of how the Master Table and the updating user's Virtual Table are updated.
- TIME checks to determine if the Master Table is locked 122. If the Master Table is locked, then TIME waits until the lock is released. Once the lock is released or, if the Master Table is not in use, then TIME opens the Master Table 124. Next, TIME selects the row in the Master Table which contains the altered data 126. The time-date stamp for the selected row is compared against the time-date stamp for the corresponding row in the user's Virtual Table 128. If the two time-date stamps match, then the selected row has not been altered since the user last copied it, i.e. the user's Virtual Table copy of the row was current and correct.
- TIME alters the selected Master Table row with the changes from the altered display data, modifies the Master Table row's time-date stamp, and closes the Master Table 130. After closing the Master Table 130, TIME modifies the corresponding row in the user's Virtual Table to accurately reflect the updated row in the Master Table 134 and displays the updated Virtual Table 136.
- TIME compares the two time-date stamps 128, and they do not match, then another prior user had already altered the selected Master Table row and the corresponding Virtual Table row is stale.
- the data integrity problems described above would occur by allowing a user to update a Master Table row while ignoring updates to the same row by a prior user. So, if the time/date stamps do not match 128 TIME sends the updating user an error message 132 which indicates that another user had modified some of the data in the selected row. Instead of updating the Master Table row 130, the Master Table row is copied into the Virtual Table 134 and the corrected Virtual Table is displayed 136.
- the error message 132 also notifies the user that the row was not updated with the user's intended alterations. If the user still wishes to alter the row, then the user must re-alter the corrected row and update the Master Table as provided above.
- the TIME system reduces wasted computer resources and time by supplying each user with an individual copy of a Table which is updated only if the update affects the user and only for the portion of the Table affecting the user.
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.
Description
This invention relates to database management systems and, more particularly to multi-user database systems which allow concurrent access to a relational database by an arbitrary number of database users.
Collections of data called databases are well known. Computer systems which can be used by multiple users are also well known. When more than one user on a multi-user system attempts to access a database, problems may arise. If one user is reading from the database ,while another user is writing to the database, the data integrity of the data read by the first user is suspect. If two users are attempting to write data to the database, what is actually written is unpredictable and so data integrity is suspect. To minimize these and other data integrity problems, locking schemes were implemented, whereby only one user at a time was allowed to access the database.
Locking a database meant that, whenever a user was reading from or writing to the database, only that user was allowed to access that database, while all other users were locked out. Thus, the problem of one user writing data to a database while another prior user is reading the same data from the database was eliminated. The problem of two users simultaneously writing to a database was also eliminated.
However, locking still did not solve all data integrity problems. For example: User one reads from a database; User two writes data into the same database; and then, user one writes data back into the database. User one may have overwritten the data which user two had written into the database without either user knowing that the data had been altered by the other.
In addition to data integrity problems, locking created system bottlenecks which severely impacted overall system performance, even in a small system with a small number of users. A single user could monopolize a database by gaining access and holding it locked. Other users were forced to wait for access until that first single user released the lock on the database. After the first user released the lock, a second user was free to gain access to the database and monopolize it just as the first user had. That time spent idly waiting was unproductive, wasted and, therefore, impaired system performance. For a larger system with a large number of users attempting to access the same database, the effective result was the same regardless of whether a single user was monopolizing the database. That was because even if no single user attempted to monopolize a single database, the aggregate time spent by all of the users attempting to access the database meant that each user spent a significant amount of time idly waiting for a turn in accessing the database.
In order to address this locking problem and to improve multi-user system performance by reducing the amount of time each user spent waiting for the same database, locks were distinguished based on the type of user access to the database. Thus locks were distinguished as read locks or write locks. A user having a read lock merely prevented another user from writing to the database, while allowing other users to obtain read locks and, concurrently, to read from the same database. A user having a write lock excluded all access by other users until the user having the write lock released the write lock. A system having read locks and write locks to achieve concurrency is also known as "several readers and one writer" system.
This "several readers and one writer" system was inefficient for database applications wherein many users use the same data and, therefore, each user maintains a private copy of the database. One way in which the "many readers and one writer" system was inefficient was that building such a database was slow because only one user at a time could write data to the database in order to update the database. First data was written by the user to the user's private copy. Next, the user transferred the updated private copy to a central master copy of the database. Then the updating user notified every other user of the update. Finally, each user copied the updated master copy into the user's private copy. The next user, wishing to update the database, repeated the steps taken by the previous user in updating the database. A user writing to the database was given a write lock which precluded other users from even reading the database during the write.
When a database is organized as a table, often each database user maintains a private copy. Databases organized as tables and called relations are described in C.F. Date, An Introduction to Database Systems, 4th edition; Addison-Wesley, 1986. A relation has rows called tuples and columns. Each column has a unique name called the column's attribute. Each element in a tuple (or row) is called an item. Each item is identified by the attribute for the column in which it resides. If each tuple has an item or group of items which uniquely identify it, e.g., a row number, then the identifying item(s) is (are) called the tuple's key. If the key is a group of items, then the group is called a composite. Typically, whenever any user modified a private copy of a table, that user had to notify other users that the table was modified, and then send a copy of the altered database to each user. Consequently, each user was then required to update the private copy and, possibly to re-execute calculations or instructions that the user had already executed on the data in the prior copy. Because, very often, each user was only interested in a small subset of the data in an entire table, alterations made to a part of the table by one user might not affect most of the other users. However, regardless of whether alterations to a table affected a user's area of interest, every user holding a private copy was required to update it. Thus, it was more likely than not that the majority of users were unnecessarily forced to update a private copy which wasted valuable computer time and resources. Furthermore, this waste was geometrically proportional to the size of the table and the number of concurrent users. This geometric increase results because every user is required to store a large table each time even a single item in one of the private copies is altered.
Also, as the number of users and the size of the table increase, it is increasingly likely that alterations to the table made by one user would not affect every other concurrent user. Since for a very large database, each user, very likely, is using only a portion of the table, other concurrent users, very likely, also were using different portions which would not include an altered portion. Thus, forcing every user to update or store an updated private copy of a large table regardless of whether the user is affected by the update wasted a significant amount of computer time and resources.
These problems are especially acute in designing highly complex, dense, integrated circuit chips wherein hundreds of designers (users) require concurrent access to design data stored in a single table. Allowing a single user to lock the table during a write delayed all of the other users. Further initially creating the table was slow because, although each of the hundreds of users could create part of the data simultaneously, e.g., one row, only one user at a time could store the data created. Data was stored in the table by copying the table, altering the copy and then storing the altered copy. So, to store data from hundreds of users, the table had to be copied, altered and stored hundreds of times. Each user had to wait for a turn to update the table. Sequentially storing data in the table was both inefficient and time consuming. It was also inefficient to prevent users from reading data which may remain unaltered even after the table is updated.
It is an object of this invention to reduce integrated circuit chip design time.
It is another object of this invention to improve relational database management.
It is still another object of this invention to reduce waste of valuable computer time and resources.
It is still another object of this invention to improve database system performance.
It is still another object of this invention to improve relational database integrity for concurrently used multi-user databases.
It is still another object of this invention to minimize relational database locking by a single user.
It is still another object of this invention to reduce interference among concurrent relational database users.
It is still another object of this invention to increase relational database availability for concurrent use by more concurrent users.
It is still another object of this invention t increase the number of users that may concurrently use a relational database in a multi-user database system.
It is still another object of this invention to increase the number of designers that may concurrently work on the same integrated circuit chip design.
It is still another object of this invention to improve relational database management, database system performance, and relational database integrity.
It is still another object of this invention to increase the number of users that may concurrently use a relational database, while reducing interference to database use.
It is still another object of this invention to improve relational database integrity, system performance and management, while increasing relational database availability for use by a larger number of concurrent users in a multi-user database system.
It is still another object of this invention to reduce integrated circuit chip design time while increasing the number of chip designers that may concurrently work on designing the same integrated circuit chip and reducing interference between chip designers.
In accordance with the objects of this invention a relational database system for use in designing integrated circuit chips is provided, which allows concurrent use of large tabular databases by a large number of designers and other users.
A single master copy of a large table is stored and maintained. The table has a plurality of rows and columns. Each row has a time-date stamp in three columns which contains the time and date of the last modification to any of the items in the row and the identification of the user that made that modification. Each table user is given a private copy of the table called the user's virtual copy. To alter or update the master copy, a user first alters a display of a portion of the virtual copy and then attempts to store the altered display row into the master copy. If the time-date stamp for the Master Table row does not match the time-date stamp for the corresponding row in the altering user's virtual copy, then, the Virtual Table row is updated from the Master Table row and the user is notified that the attempt to update the Master Table was unsuccessful. Otherwise, if the time-date stamp in the Master Table row matches the time-date stamp for the corresponding row in the user's Virtual Table, then the time-date stamp is updated and the altered data is transferred from the display to the Virtual Table and to the Master Table.
While the specification concludes with claims particularly pointing out and distinctly claiming that which is regarded as the present invention, details of the preferred embodiment of the present invention may be more readily ascertained from the following when read in conjunction with the following drawings wherein:
FIG. 1 is an example of a computer display of a portion of a TIME managed database.
FIG. 2 is a flow diagram of how a user enters the relational database management system of the present invention.
FIG. 3 is a flow diagram of how a user updates a database managed by the relational database management system of the present invention.
The preferred embodiment of the present invention is a Relational Database management method and system for use in design of integrated circuit chips and is called the "Technology Information Management Enhancer" or TIME. TIME is intended for any general purpose computer capable of multiprocessing and concurrent data access by multiple user's. However, the preferred computer is the IBM System 390 operating under the Multiple Virtual Storage (MVS) operating system. A user refers generally to any person, processor, or program being executed by a processor, capable of using data stored in a database. The above list is not intended to be an exclusive list of users, but merely to be an illustrative list of potential TIME users.
FIG. 1 is an example of a computer display of a portion of a TIME managed Table 50. A row 52 of the relational database (table) 50 of the preferred method and system has 100 items 54 as data fields and 3 items 56 , 58 and 60 called the row's "time-date stamp", which contain the date 56 and time 58 of the last modification and the identification 60 of the user that made that modification. Whenever a change is made to one of a row's data field items, the row's time-date stamp is updated with the time and date of the change and identification of the user making the change. Although, a row of the preferred table organization is 103 items, it is contemplated that the number of items in a row may be varied without significantly departing from the spirit of the invention. In particular the number of items provided as data fields may be much more or much less than 100. Also, the time, date and identification items or fields may be mixed, combined or further distinguished without departing from the spirit of the invention.
Each user to a TIME managed database holds and maintains a copy of the database. The copy is called the user's Virtual Table. TIME also maintains one master copy of the database called the Master Table. TIME has a single lock for the Master Table which is sequentially granted to users for updating or for reading the Master Table. When the lock is granted to a user, all other users are locked out of the Master Table and the Master Table is said to be in use. However, since each user has a Virtual Table, locking the Master Table only interferes with users attempting to access, i.e., trying to read from or write to, the Master Table. FIG. 2 is a flow diagram of how a user enters TIME 100 and thus creates a Virtual Table.
Upon entering TIME, i.e., to obtain a virtual copy of a TIME managed relational database, TIME checks to determine if any user has a lock on the Master Table 102. Another user may have a lock on the Master Table either because the user is updating data in the table or, because the user is copying the Master Table into the user's Virtual Table. If the Master Table is in use (locked), then the user attempting to enter TIME must wait until it is no longer in use. If the Master Table is not in use or, once the Master Table is no longer in use, the user is given a lock on the Master Table. Once the user has the lock, the user "opens" the Master Table 104. "Opening the Master Table" 104 means that the user can read from or write to the Master Table. Next, the user creates an empty virtual table in the user's memory space with each column having the same attributes as corresponding columns in the Master Table and then, the user copies the Master Table into the empty virtual table 106. After copying the Master Table 106, the user releases the lock on the Master Table 108. Thus, the user has a complete current copy of the Master Table in the user's Virtual Table. Finally, the Virtual Table is displayed for the user 110. In the preferred embodiment, the Virtual Table is displayed 110 at a computer terminal. However, use of the term display is meant to be illustrative and not restrictive and it is contemplated that "display" includes storage of a portion of the Virtual Table in a display buffer, in working registers or, any form of display suitable to the Virtual Table user is within the spirit and scope of the invention.
Once the Virtual Table is displayed 110, the user has complete uninterrupted use of the Virtual Table. The user is free to read from or write to the Virtual Table without interfering with other users and without interference from other users. All alterations are first made to displayed data and then, if data integrity would not be affected, transferred to the Master Table. Alterations made to the Master Table by a user are reflected in the user's Virtual Table. However, a user's Virtual Table is not updated as the result of another user altering the Master Table until the time-date stamp for the row of the Master Table intended for alteration does not match the time-date stamp for the corresponding row in the updating user's Virtual Table. If the time-date stamps match then the time-date stamp is updated in both rows and the alterations are then transferred from the displayed data to the Master Table row and the updating user's Virtual Table. Otherwise, the updating user is notified that the row has been altered; the row is updated in the user's Virtual Table, and the user is allowed to alter the updated row. See FIG. 3 for a flow diagram of how the Master Table and the updating user's Virtual Table are updated.
When a user alters the displayed data 120, TIME checks to determine if the Master Table is locked 122. If the Master Table is locked, then TIME waits until the lock is released. Once the lock is released or, if the Master Table is not in use, then TIME opens the Master Table 124. Next, TIME selects the row in the Master Table which contains the altered data 126. The time-date stamp for the selected row is compared against the time-date stamp for the corresponding row in the user's Virtual Table 128. If the two time-date stamps match, then the selected row has not been altered since the user last copied it, i.e. the user's Virtual Table copy of the row was current and correct. If the time-date stamps match, then TIME alters the selected Master Table row with the changes from the altered display data, modifies the Master Table row's time-date stamp, and closes the Master Table 130. After closing the Master Table 130, TIME modifies the corresponding row in the user's Virtual Table to accurately reflect the updated row in the Master Table 134 and displays the updated Virtual Table 136.
However, if, TIME compares the two time-date stamps 128, and they do not match, then another prior user had already altered the selected Master Table row and the corresponding Virtual Table row is stale. The data integrity problems described above would occur by allowing a user to update a Master Table row while ignoring updates to the same row by a prior user. So, if the time/date stamps do not match 128 TIME sends the updating user an error message 132 which indicates that another user had modified some of the data in the selected row. Instead of updating the Master Table row 130, the Master Table row is copied into the Virtual Table 134 and the corrected Virtual Table is displayed 136. The error message 132 also notifies the user that the row was not updated with the user's intended alterations. If the user still wishes to alter the row, then the user must re-alter the corrected row and update the Master Table as provided above.
Thus the TIME system reduces wasted computer resources and time by supplying each user with an individual copy of a Table which is updated only if the update affects the user and only for the portion of the Table affecting the user.
Although the preferred embodiment of the present invention is herein described, variations and modifications thereof will occur to those skilled in the art. Therefore, it is intended that the appended claims shall be construed to include the preferred embodiment and all such variations and modifications in form and detail that fall within the spirit and scope of the invention.
Claims (16)
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.
2. The system of claim 1 further comprising means for displaying each of said concurrent user's Virtual Table.
3. The system of claim 1 further comprising means for informing said one user that said corresponding row is stale.
4. The system of claim 1 further comprising means for displaying each of said user's Virtual Table.
5. The system of claim 4 further comprising means for determining if the Master Table is locked.
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.
7. The system of claim 11 further comprising means for informing said one user that said corresponding row is stale.
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.
9. The method of claim 8 further comprising the step of checking to determine if said Master Table is in use.
10. The method of claim 8 further comprising the step of displaying said Virtual Table for each of said concurrent users.
11. The method of claim 8 wherein the altering step further comprises notifying said altering user whenever said retrieved rows differ.
12. The method of claim 8 wherein said copying step further comprises individually making each of said concurrent users' Virtual Table.
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,
14. The method of claim 13 wherein the step b of copying the Master Table into a Virtual Table comprises the steps of:
a) checking said Master Table for a lock;
b) locking said Master Table;
c) creating a Virtual Table and copying said Master Table into said Virtual Table for said user; and,
d) closing said Master Table.
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.
16. The method of claim 15 wherein the step b of providing each of said designers with Virtual Table comprises the steps of:
a) checking said Master Table for a lock;
b) locking said Master Table for one of said designers;
c) creating a Virtual Table and copying said Master Table into said Virtual Table for said one designer; and,
d) unlocking and closing said Master Table.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/746,398 US5333316A (en) | 1991-08-16 | 1991-08-16 | 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 |
PCT/US1991/009292 WO1993004436A1 (en) | 1991-08-16 | 1991-12-06 | Concurrent-use multi-user relational database management system and method |
JP4505241A JP2790222B2 (en) | 1991-08-16 | 1991-12-06 | Parallel use multi-user relational database management system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/746,398 US5333316A (en) | 1991-08-16 | 1991-08-16 | 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 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5333316A true US5333316A (en) | 1994-07-26 |
Family
ID=25000670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/746,398 Expired - Fee Related US5333316A (en) | 1991-08-16 | 1991-08-16 | 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 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5333316A (en) |
JP (1) | JP2790222B2 (en) |
WO (1) | WO1993004436A1 (en) |
Cited By (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995016969A1 (en) * | 1993-12-15 | 1995-06-22 | Supercomm, Inc. | Database versioning with output only of data changed from the previous version |
US5511196A (en) * | 1992-11-17 | 1996-04-23 | International Business Machines Corporation | Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment |
US5544353A (en) * | 1993-06-14 | 1996-08-06 | International Business Machines Corporation | Distributed processing object shared resource control apparatus and method |
US5553279A (en) * | 1993-10-08 | 1996-09-03 | International Business Machines Corporation | Lossless distribution of time series data in a relational data base network |
US5555407A (en) * | 1993-02-17 | 1996-09-10 | Home Information Services, Inc. | Method of and apparatus for reduction of bandwidth requirements in the provision of electronic information and transaction services through communication networks |
US5581749A (en) * | 1992-12-21 | 1996-12-03 | Thedow Chemical Company | System and method for maintaining codes among distributed databases using a global database |
US5678040A (en) * | 1993-10-29 | 1997-10-14 | Motorola, Inc. | Method for managing a hierarchical design transaction |
US5710922A (en) * | 1993-06-02 | 1998-01-20 | Apple Computer, Inc. | Method for synchronizing and archiving information between computer systems |
US5761658A (en) * | 1994-08-10 | 1998-06-02 | Hitachi, Ltd. | Method of exclusive control of areas in page for tuple-oriented file system |
US5812130A (en) * | 1996-12-06 | 1998-09-22 | International Business Machines Corporation | Data management system and method for concurrent engineering |
US5826265A (en) * | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
US5864875A (en) * | 1996-12-06 | 1999-01-26 | International Business Machines Corporation | Data management system for problems, releases and parts |
US5870758A (en) * | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
US5878408A (en) * | 1996-12-06 | 1999-03-02 | International Business Machines Corporation | Data management system and process |
US5884308A (en) * | 1994-04-21 | 1999-03-16 | British Telecommunications Public Limited Company | Updating distributed data files using active token distributed at different times to different sites |
US5895491A (en) * | 1996-08-19 | 1999-04-20 | International Business Machines Corporation | Apparatus and method for writing an item to a line in a memory table shared by multiple processors |
US5920873A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5920867A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management system having data management configuration |
US5943676A (en) * | 1996-11-13 | 1999-08-24 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases |
US5950201A (en) * | 1996-12-06 | 1999-09-07 | International Business Machines Corporation | Computerized design automation method using a single logical PFVL paradigm |
US5966707A (en) * | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US5983226A (en) * | 1996-12-30 | 1999-11-09 | Mci World Com, Inc. | System for real-time device data management |
US5983277A (en) * | 1996-10-28 | 1999-11-09 | Altera Corporation | Work group computing for electronic design automation |
US5995097A (en) * | 1994-08-19 | 1999-11-30 | Fujitsu Limited | Method and apparatus for confirming matching of data in a distributed processing system |
US6035297A (en) * | 1996-12-06 | 2000-03-07 | International Business Machines Machine | Data management system for concurrent engineering |
US6044381A (en) * | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
US6141664A (en) * | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US6182115B1 (en) * | 1998-03-06 | 2001-01-30 | International Business Machines Corp. | Method and system for interactive sharing of text in a networked environment |
US6212529B1 (en) | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US6289335B1 (en) * | 1997-06-23 | 2001-09-11 | Oracle Corporation | Fast refresh of snapshots containing subqueries |
WO2001088741A2 (en) * | 2000-05-18 | 2001-11-22 | Cyra Technologies, Inc. | System and method for concurrently modeling any element of a model |
US6330568B1 (en) | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US6353828B1 (en) * | 1999-05-14 | 2002-03-05 | Oracle Corp. | Concurrency control for transactions that update base tables of a materialized view using different types of locks |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US20020088114A1 (en) * | 2001-01-11 | 2002-07-11 | Jessup Richard J. | Automation apparatus for installing and removing a metal finishing barrel locking cover |
US6654747B1 (en) * | 1997-12-02 | 2003-11-25 | International Business Machines Corporation | Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions |
US20030226058A1 (en) * | 2002-05-31 | 2003-12-04 | Microsoft Corporation, | Virtual logging system and method |
US6681225B1 (en) | 2000-05-31 | 2004-01-20 | International Business Machines Corporation | Method, system and program products for concurrent write access to a global data repository |
US6750850B2 (en) | 1998-01-07 | 2004-06-15 | Microsoft Corporation | Viewer system for a wireless device |
US20040187121A1 (en) * | 2002-12-23 | 2004-09-23 | Sap Aktiengesellschaft | Nomination locking system and method |
US20040210854A1 (en) * | 2001-12-10 | 2004-10-21 | Mentor Graphics Corporation | Parellel electronic design automation: shared simultaneous editing |
US20040225988A1 (en) * | 2001-12-10 | 2004-11-11 | Mentor Graphics Corporation | Protection boundaries in a parallel printed circuit board design environment |
US20050044518A1 (en) * | 2001-12-10 | 2005-02-24 | Mentor Graphics Corporation | Reservation of design elements in a parallel printed circuit board design environment |
US20050050186A1 (en) * | 2003-09-02 | 2005-03-03 | Chih-Wei Chen | Network-linked computer platform configuration data access management method and system |
US20050055385A1 (en) * | 2003-09-06 | 2005-03-10 | Oracle International Corporation | Querying past versions of data in a distributed database |
US20050076069A1 (en) * | 1998-01-07 | 2005-04-07 | Microsoft Corporation | Wireless database environment for a small device |
US20050114865A1 (en) * | 2003-11-21 | 2005-05-26 | Mentor Graphics Corporation | Integrating multiple electronic design applications |
US20050114821A1 (en) * | 2003-11-21 | 2005-05-26 | Mentor Graphics Corporation | Distributed autorouting of conductive paths |
US20050149542A1 (en) * | 2001-08-13 | 2005-07-07 | Jasmin Cosic | Universal data management interface |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US20050256897A1 (en) * | 2004-05-11 | 2005-11-17 | Oracle International Corporation | Providing the timing of the last committed change to a row in a database table |
US20060026538A1 (en) * | 2004-07-27 | 2006-02-02 | Shah Gauray R | Relational database storage and retrieval of circuit element classifications |
US7007003B1 (en) | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
US7013315B1 (en) | 1996-11-13 | 2006-03-14 | Intellisync Corporation | Synchronization of databases with record sanitizing and intelligent comparison |
US20060095882A1 (en) * | 2004-09-08 | 2006-05-04 | Mentor Graphics Corporation | Distributed electronic design automation environment |
US20060101368A1 (en) * | 2004-09-08 | 2006-05-11 | Mentor Graphics Corporation | Distributed electronic design automation environment |
US7162689B2 (en) * | 1998-05-28 | 2007-01-09 | Oracle International Corporation | Schema evolution in replication |
US20070073809A1 (en) * | 2005-09-13 | 2007-03-29 | Mentor Graphics Corporation | Distributed electronic design automation architecture |
US20070265796A1 (en) * | 2006-05-09 | 2007-11-15 | Stephen Taylor | Scalable, concurrent, distributed sensor system and method |
US7299240B1 (en) | 1992-04-10 | 2007-11-20 | Intellisync Corporation | Method for translating computer data from one record structure to another |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
US20080005713A1 (en) * | 2006-06-30 | 2008-01-03 | Sun Microsystems, Inc. | Application of a relational database in integrated circuit design |
US7359920B1 (en) | 2001-04-18 | 2008-04-15 | Intellisync Corporation | Communication protocol for synchronization of personal information management databases |
US20080222159A1 (en) * | 2007-03-07 | 2008-09-11 | Oracle International Corporation | Database system with active standby and nodes |
US20090210387A1 (en) * | 2008-02-20 | 2009-08-20 | International Business Machines Corporation | System and method for providing a common instruction table |
US8108451B2 (en) | 2000-05-31 | 2012-01-31 | International Business Machines Corporation | System and program products for efficiently locking resources of a global data repository |
US8346775B2 (en) | 2010-08-31 | 2013-01-01 | International Business Machines Corporation | Managing information |
US8589361B2 (en) | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
US20140101099A1 (en) * | 2012-10-04 | 2014-04-10 | Sap Ag | Replicated database structural change management |
US8868492B2 (en) | 2011-06-15 | 2014-10-21 | Oracle International Corporation | Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica |
US8914404B1 (en) * | 2011-03-29 | 2014-12-16 | Emc Corporation | Techniques for performing view indication management |
US8924353B1 (en) * | 2011-11-08 | 2014-12-30 | Symantec Corporation | Systems and methods for copying database files |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US10311154B2 (en) | 2013-09-21 | 2019-06-04 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
US10372607B2 (en) | 2015-09-29 | 2019-08-06 | Veritas Technologies Llc | Systems and methods for improving the efficiency of point-in-time representations of databases |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US10915519B2 (en) * | 2016-09-09 | 2021-02-09 | Salesforce.Com, Inc. | Processing offline updates to records of a database system |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US11675761B2 (en) | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1093061A1 (en) * | 1999-10-14 | 2001-04-18 | SAP Aktiengesellschaft | Integrated database federation system |
US7464097B2 (en) | 2002-08-16 | 2008-12-09 | Sap Ag | Managing data integrity using a filter condition |
US7127475B2 (en) | 2002-08-15 | 2006-10-24 | Sap Aktiengesellschaft | Managing data integrity |
US7277940B2 (en) | 2002-08-29 | 2007-10-02 | Sap Ag | Managing uneven authorizations in a computer data exchange |
US7213227B2 (en) | 2002-08-29 | 2007-05-01 | Sap Aktiengesellschaft | Rapid application integration using an integrated development environment |
US7171432B2 (en) | 2002-08-29 | 2007-01-30 | Sap Aktiengesellschaft | Phased upgrade of a computing environment |
US7257818B2 (en) | 2002-08-29 | 2007-08-14 | Sap Aktiengesellschaft | Rapid application integration using functional atoms |
US7269665B2 (en) | 2002-08-29 | 2007-09-11 | Sap Ag | Isolated mapping point |
US7263698B2 (en) | 2002-08-29 | 2007-08-28 | Sap Aktiengesellschaft | Phased upgrade of a computing environment |
US7225425B2 (en) | 2002-08-29 | 2007-05-29 | Sap Aktiengesellschaft | Rapid application integration |
US7237225B2 (en) | 2002-08-29 | 2007-06-26 | Sap Aktiengesellschaft | Rapid application integration using reusable patterns |
US7707432B2 (en) | 2004-08-13 | 2010-04-27 | Sap Ag | Enabling communication between an application program and services used by the application program |
US7756808B2 (en) | 2004-10-14 | 2010-07-13 | Sap Ag | Apparatus and product of manufacture for using condition data structures separately from rule data structures in business transactions |
US7457794B2 (en) | 2004-10-14 | 2008-11-25 | Sap Ag | Searching for customized processing rules for a computer application |
US7457792B2 (en) | 2004-10-14 | 2008-11-25 | Sap Ag | Customizing transaction processing in a computer application by using pre-defined functions |
US7761396B2 (en) | 2004-10-14 | 2010-07-20 | Sap Ag | Apparatus and product of manufacture for adaptive business transaction rule structures |
US7457793B2 (en) | 2004-10-14 | 2008-11-25 | Sap Ag | Investigating execution of a customized transaction process in a computer application |
US7461091B2 (en) | 2005-06-09 | 2008-12-02 | Sap Aktiengesellschaft | Controlling data transition between business processes in a computer application |
US8600960B2 (en) * | 2005-11-22 | 2013-12-03 | Sap Ag | Processing proposed changes to data |
US8739124B2 (en) | 2012-06-27 | 2014-05-27 | Sap Ag | Configuring integration capabilities for system integration |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
US4611298A (en) * | 1983-06-03 | 1986-09-09 | Harding And Harris Behavioral Research, Inc. | Information storage and retrieval system and method |
US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
US4631673A (en) * | 1985-01-22 | 1986-12-23 | International Business Machines Corporation | Method for refreshing multicolumn tables in a relational data base using minimal information |
US4646229A (en) * | 1982-11-15 | 1987-02-24 | At&T Bell Laboratories | Time-ordered data base |
US4823310A (en) * | 1987-08-10 | 1989-04-18 | Wang Laboratories, Inc. | Device for enabling concurrent access of indexed sequential data files |
US4881166A (en) * | 1987-07-24 | 1989-11-14 | Amoco Corporation | Method for consistent multidatabase transaction processing |
US5006978A (en) * | 1981-04-01 | 1991-04-09 | Teradata Corporation | Relational database system having a network for transmitting colliding packets and a plurality of processors each storing a disjoint portion of database |
EP0445461A1 (en) * | 1990-03-08 | 1991-09-11 | Ciba Specialty Chemicals Water Treatments Limited | Adhesive materials and their production |
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255387A (en) * | 1990-04-27 | 1993-10-19 | International Business Machines Corporation | Method and apparatus for concurrency control of shared data updates and queries |
-
1991
- 1991-08-16 US US07/746,398 patent/US5333316A/en not_active Expired - Fee Related
- 1991-12-06 WO PCT/US1991/009292 patent/WO1993004436A1/en active Application Filing
- 1991-12-06 JP JP4505241A patent/JP2790222B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5006978A (en) * | 1981-04-01 | 1991-04-09 | Teradata Corporation | Relational database system having a network for transmitting colliding packets and a plurality of processors each storing a disjoint portion of database |
US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
US4646229A (en) * | 1982-11-15 | 1987-02-24 | At&T Bell Laboratories | Time-ordered data base |
US4611298A (en) * | 1983-06-03 | 1986-09-09 | Harding And Harris Behavioral Research, Inc. | Information storage and retrieval system and method |
US4631673A (en) * | 1985-01-22 | 1986-12-23 | International Business Machines Corporation | Method for refreshing multicolumn tables in a relational data base using minimal information |
US4881166A (en) * | 1987-07-24 | 1989-11-14 | Amoco Corporation | Method for consistent multidatabase transaction processing |
US4823310A (en) * | 1987-08-10 | 1989-04-18 | Wang Laboratories, Inc. | Device for enabling concurrent access of indexed sequential data files |
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
EP0445461A1 (en) * | 1990-03-08 | 1991-09-11 | Ciba Specialty Chemicals Water Treatments Limited | Adhesive materials and their production |
Non-Patent Citations (16)
Title |
---|
"Delaying of On-Line Message Display" IBM Technical Disclosure Bulletin, vol. 28, No. 1, pp. 87-88 (Jun. 1985). |
"Use of Virtual Tables for Data Sharing" IBM Technical Disclosure Bulletin, vol. 29, No. 8, p. 3723 (Jan. 1987). |
ACM Transactions on Database Systems, vol. 6, No. 2, Jun. 1991, pp. 213 226, On Optimistic Methods for Concurrency Control . * |
ACM Transactions on Database Systems, vol. 6, No. 2, Jun. 1991, pp. 213-226, "On Optimistic Methods for Concurrency Control". |
Bernstein et al. "Analyzing Concurrency Control Algorithms When User and System Operations Differ" IEEE Trans. on Software Eng., vol. SE-9, No. 3, May 1983. |
Bernstein et al. Analyzing Concurrency Control Algorithms When User and System Operations Differ IEEE Trans. on Software Eng., vol. SE 9, No. 3, May 1983. * |
Delaying of On Line Message Display IBM Technical Disclosure Bulletin, vol. 28, No. 1, pp. 87 88 (Jun. 1985). * |
I. Widya, et al. "Concurrenty Control in a VLSI Design Database" 25th ACM/IEEE Design Automation Conference, pp. 357-362 (1988). |
I. Widya, et al. Concurrenty Control in a VLSI Design Database 25th ACM/IEEE Design Automation Conference, pp. 357 362 (1988). * |
IBM Technical Disclosure Bulletin, vol. 26, No. 6, Nov. 1983, pp. 2966 2969, Conditional Read/Write Sharing Mechanism . * |
IBM Technical Disclosure Bulletin, vol. 26, No. 6, Nov. 1983, pp. 2966-2969, "Conditional Read/Write Sharing Mechanism". |
IBM Technical Disclosure Bulletin, vol. 33, No. 9, Feb. 1991, pp. 466 471 Implementation of an Optimistic Lock Mechanism for Persistent Objects Within an Object Oriented Environment . * |
IBM Technical Disclosure Bulletin, vol. 33, No. 9, Feb. 1991, pp. 466-471 "Implementation of an Optimistic Lock Mechanism for Persistent Objects Within an Object-Oriented Environment". |
Korth & Silberschatz, Database System Concepts, McGraw Hill, (New York, 1986) pp. 380 391, 403 435, 440 447. * |
Korth & Silberschatz, Database System Concepts, McGraw-Hill, (New York, 1986) pp. 380-391, 403-435, 440-447. |
Use of Virtual Tables for Data Sharing IBM Technical Disclosure Bulletin, vol. 29, No. 8, p. 3723 (Jan. 1987). * |
Cited By (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299240B1 (en) | 1992-04-10 | 2007-11-20 | Intellisync Corporation | Method for translating computer data from one record structure to another |
US5511196A (en) * | 1992-11-17 | 1996-04-23 | International Business Machines Corporation | Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment |
US5581749A (en) * | 1992-12-21 | 1996-12-03 | Thedow Chemical Company | System and method for maintaining codes among distributed databases using a global database |
US5809299A (en) * | 1993-02-17 | 1998-09-15 | Home Information Services, Inc. | Method of and apparatus for reduction of bandwidth requirements in the provision of electronic information and transaction services through communication networks |
US5555407A (en) * | 1993-02-17 | 1996-09-10 | Home Information Services, Inc. | Method of and apparatus for reduction of bandwidth requirements in the provision of electronic information and transaction services through communication networks |
US5710922A (en) * | 1993-06-02 | 1998-01-20 | Apple Computer, Inc. | Method for synchronizing and archiving information between computer systems |
US5544353A (en) * | 1993-06-14 | 1996-08-06 | International Business Machines Corporation | Distributed processing object shared resource control apparatus and method |
US5553279A (en) * | 1993-10-08 | 1996-09-03 | International Business Machines Corporation | Lossless distribution of time series data in a relational data base network |
US5678040A (en) * | 1993-10-29 | 1997-10-14 | Motorola, Inc. | Method for managing a hierarchical design transaction |
WO1995016969A1 (en) * | 1993-12-15 | 1995-06-22 | Supercomm, Inc. | Database versioning with output only of data changed from the previous version |
US5623662A (en) * | 1993-12-15 | 1997-04-22 | Supercomm, Inc. | Revenue sharing system with data filtering using history, periodic, and exclusion databases |
US5884308A (en) * | 1994-04-21 | 1999-03-16 | British Telecommunications Public Limited Company | Updating distributed data files using active token distributed at different times to different sites |
US5761658A (en) * | 1994-08-10 | 1998-06-02 | Hitachi, Ltd. | Method of exclusive control of areas in page for tuple-oriented file system |
US6182077B1 (en) | 1994-08-19 | 2001-01-30 | Fujitsu Limited | Method and apparatus for confirming matching of data in a distributed processing system |
US5995097A (en) * | 1994-08-19 | 1999-11-30 | Fujitsu Limited | Method and apparatus for confirming matching of data in a distributed processing system |
US5870758A (en) * | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
US5895491A (en) * | 1996-08-19 | 1999-04-20 | International Business Machines Corporation | Apparatus and method for writing an item to a line in a memory table shared by multiple processors |
US6298319B1 (en) | 1996-10-28 | 2001-10-02 | Altera Corporation | Incremental compilation of electronic design for work group |
US5983277A (en) * | 1996-10-28 | 1999-11-09 | Altera Corporation | Work group computing for electronic design automation |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
US6799190B1 (en) | 1996-11-13 | 2004-09-28 | Intellisync Corporation | Synchronizing databases |
US7013315B1 (en) | 1996-11-13 | 2006-03-14 | Intellisync Corporation | Synchronization of databases with record sanitizing and intelligent comparison |
US5943676A (en) * | 1996-11-13 | 1999-08-24 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases |
US7209911B2 (en) | 1996-11-13 | 2007-04-24 | Intellisync Corporation | Synchronization of databases using filters |
USRE43571E1 (en) | 1996-11-13 | 2012-08-07 | Intellisync Corporation | Synchronization of recurring records in incompatible databases |
US6532480B1 (en) | 1996-11-13 | 2003-03-11 | Pumatech, Inc. | Synchronization of databases with record sanitizing and intelligent comparison |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US6330568B1 (en) | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US6212529B1 (en) | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US6141664A (en) * | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US5920873A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5950201A (en) * | 1996-12-06 | 1999-09-07 | International Business Machines Corporation | Computerized design automation method using a single logical PFVL paradigm |
US5878408A (en) * | 1996-12-06 | 1999-03-02 | International Business Machines Corporation | Data management system and process |
US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
US5826265A (en) * | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
US5864875A (en) * | 1996-12-06 | 1999-01-26 | International Business Machines Corporation | Data management system for problems, releases and parts |
US6094654A (en) * | 1996-12-06 | 2000-07-25 | International Business Machines Corporation | Data management system for file and database management |
US5812130A (en) * | 1996-12-06 | 1998-09-22 | International Business Machines Corporation | Data management system and method for concurrent engineering |
US5920867A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management system having data management configuration |
US6035297A (en) * | 1996-12-06 | 2000-03-07 | International Business Machines Machine | Data management system for concurrent engineering |
US5983226A (en) * | 1996-12-30 | 1999-11-09 | Mci World Com, Inc. | System for real-time device data management |
US6289335B1 (en) * | 1997-06-23 | 2001-09-11 | Oracle Corporation | Fast refresh of snapshots containing subqueries |
US6044381A (en) * | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6223187B1 (en) | 1997-09-11 | 2001-04-24 | Puma Technology, Inc. | Distributed synchronization of databases |
US6654747B1 (en) * | 1997-12-02 | 2003-11-25 | International Business Machines Corporation | Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions |
US5966707A (en) * | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US20050076069A1 (en) * | 1998-01-07 | 2005-04-07 | Microsoft Corporation | Wireless database environment for a small device |
US6750850B2 (en) | 1998-01-07 | 2004-06-15 | Microsoft Corporation | Viewer system for a wireless device |
US7444143B2 (en) | 1998-01-07 | 2008-10-28 | Microsoft Corporation | Wireless database environment for a small device |
US6182115B1 (en) * | 1998-03-06 | 2001-01-30 | International Business Machines Corp. | Method and system for interactive sharing of text in a networked environment |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US7162689B2 (en) * | 1998-05-28 | 2007-01-09 | Oracle International Corporation | Schema evolution in replication |
US7007003B1 (en) | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
US6353828B1 (en) * | 1999-05-14 | 2002-03-05 | Oracle Corp. | Concurrency control for transactions that update base tables of a materialized view using different types of locks |
WO2001088741A2 (en) * | 2000-05-18 | 2001-11-22 | Cyra Technologies, Inc. | System and method for concurrently modeling any element of a model |
WO2001088741A3 (en) * | 2000-05-18 | 2002-02-28 | Cyra Technologies Inc | System and method for concurrently modeling any element of a model |
EP2365473A1 (en) * | 2000-05-18 | 2011-09-14 | Leica Geosystems AG | System and method for concurrently modeling any element of a model |
US6604068B1 (en) | 2000-05-18 | 2003-08-05 | Cyra Technologies, Inc. | System and method for concurrently modeling any element of a model |
US8108451B2 (en) | 2000-05-31 | 2012-01-31 | International Business Machines Corporation | System and program products for efficiently locking resources of a global data repository |
US6681225B1 (en) | 2000-05-31 | 2004-01-20 | International Business Machines Corporation | Method, system and program products for concurrent write access to a global data repository |
US20020088114A1 (en) * | 2001-01-11 | 2002-07-11 | Jessup Richard J. | Automation apparatus for installing and removing a metal finishing barrel locking cover |
US7359920B1 (en) | 2001-04-18 | 2008-04-15 | Intellisync Corporation | Communication protocol for synchronization of personal information management databases |
US20050149542A1 (en) * | 2001-08-13 | 2005-07-07 | Jasmin Cosic | Universal data management interface |
US9298749B2 (en) | 2001-08-13 | 2016-03-29 | S. Aqua Semiconductor, Llc | Universal data management interface |
US20050289105A1 (en) * | 2001-08-13 | 2005-12-29 | Jasmin Cosic | Universal data management interface |
US8335805B2 (en) | 2001-08-13 | 2012-12-18 | Crucial Apex Communications Llc | Universal data management interface |
US20100023541A1 (en) * | 2001-08-13 | 2010-01-28 | Crucial Apex Communications Llc | Universal Data Management Interface |
US8417740B2 (en) | 2001-08-13 | 2013-04-09 | Crucial Apex Communications Llc | Universal data management interface |
US11216422B2 (en) | 2001-08-13 | 2022-01-04 | S. Aqua Semiconductor, Llc | Universal data management interface |
US8572035B2 (en) * | 2001-08-13 | 2013-10-29 | Crucial Apex Communications Llc | Universal data management interface |
US8655900B2 (en) | 2001-08-13 | 2014-02-18 | Crucial Apex Communications Llc | Universal data management interface |
US9928256B2 (en) | 2001-08-13 | 2018-03-27 | S. Aqua Semiconductor, Llc | Universal data management interface |
US20100082536A1 (en) * | 2001-08-13 | 2010-04-01 | Crucial Apex Communications Llc | Universal data management interface |
US9047324B2 (en) | 2001-08-13 | 2015-06-02 | Crucial Apex Communications Llc | Universal data management interface |
US20080059932A1 (en) * | 2001-12-10 | 2008-03-06 | Mentor Graphics Corporation | Parallel Electronic Design Automation: Shared Simultaneous Editing |
US20040210854A1 (en) * | 2001-12-10 | 2004-10-21 | Mentor Graphics Corporation | Parellel electronic design automation: shared simultaneous editing |
US20050044518A1 (en) * | 2001-12-10 | 2005-02-24 | Mentor Graphics Corporation | Reservation of design elements in a parallel printed circuit board design environment |
US7516435B2 (en) | 2001-12-10 | 2009-04-07 | Mentor Graphics Corporation | Reservation of design elements in a parallel printed circuit board design environment |
US7949990B2 (en) * | 2001-12-10 | 2011-05-24 | Mentor Graphics Corporation | Parallel electronic design automation: shared simultaneous editing |
US20100199240A1 (en) * | 2001-12-10 | 2010-08-05 | Mentor Graphics Corporation | Parallel Electronic Design Automation: Shared Simultaneous Editing |
US20040225988A1 (en) * | 2001-12-10 | 2004-11-11 | Mentor Graphics Corporation | Protection boundaries in a parallel printed circuit board design environment |
US7587695B2 (en) | 2001-12-10 | 2009-09-08 | Mentor Graphics Corporation | Protection boundaries in a parallel printed circuit board design environment |
US7219262B2 (en) | 2002-05-31 | 2007-05-15 | Microsoft Corporation | Virtual logging system and method |
US20030226058A1 (en) * | 2002-05-31 | 2003-12-04 | Microsoft Corporation, | Virtual logging system and method |
US20060053339A1 (en) * | 2002-05-31 | 2006-03-09 | Microsoft Corporation | Virtual logging system and method |
US7007197B2 (en) * | 2002-05-31 | 2006-02-28 | Microsoft Corporation | Virtual logging system and method |
US20040187121A1 (en) * | 2002-12-23 | 2004-09-23 | Sap Aktiengesellschaft | Nomination locking system and method |
US7730046B2 (en) * | 2002-12-23 | 2010-06-01 | Sap Ag | Nomination locking system and method |
US20050050186A1 (en) * | 2003-09-02 | 2005-03-03 | Chih-Wei Chen | Network-linked computer platform configuration data access management method and system |
US20050055385A1 (en) * | 2003-09-06 | 2005-03-10 | Oracle International Corporation | Querying past versions of data in a distributed database |
US7552149B2 (en) | 2003-09-06 | 2009-06-23 | Oracle International Corporation | Querying past versions of data in a distributed database |
US7590963B2 (en) | 2003-11-21 | 2009-09-15 | Mentor Graphics Corporation | Integrating multiple electronic design applications |
US20080034342A1 (en) * | 2003-11-21 | 2008-02-07 | Mentor Graphics Corporation | Distributed Autorouting of Conductive Paths |
US7305648B2 (en) | 2003-11-21 | 2007-12-04 | Mentor Graphics Corporation | Distributed autorouting of conductive paths in printed circuit boards |
US7788622B2 (en) | 2003-11-21 | 2010-08-31 | Mentor Graphics Corporation | Distributed autorouting of conductive paths |
US20050114865A1 (en) * | 2003-11-21 | 2005-05-26 | Mentor Graphics Corporation | Integrating multiple electronic design applications |
US20050114821A1 (en) * | 2003-11-21 | 2005-05-26 | Mentor Graphics Corporation | Distributed autorouting of conductive paths |
US7953749B2 (en) * | 2004-05-11 | 2011-05-31 | Oracel International Corporation | Providing the timing of the last committed change to a row in a database table |
US20050256897A1 (en) * | 2004-05-11 | 2005-11-17 | Oracle International Corporation | Providing the timing of the last committed change to a row in a database table |
US20060026538A1 (en) * | 2004-07-27 | 2006-02-02 | Shah Gauray R | Relational database storage and retrieval of circuit element classifications |
US20060101368A1 (en) * | 2004-09-08 | 2006-05-11 | Mentor Graphics Corporation | Distributed electronic design automation environment |
US20060095882A1 (en) * | 2004-09-08 | 2006-05-04 | Mentor Graphics Corporation | Distributed electronic design automation environment |
US7546571B2 (en) | 2004-09-08 | 2009-06-09 | Mentor Graphics Corporation | Distributed electronic design automation environment |
US8326926B2 (en) | 2005-09-13 | 2012-12-04 | Mentor Graphics Corporation | Distributed electronic design automation architecture |
US20070073809A1 (en) * | 2005-09-13 | 2007-03-29 | Mentor Graphics Corporation | Distributed electronic design automation architecture |
US7333921B2 (en) | 2006-05-09 | 2008-02-19 | Stephen Taylor | Scalable, concurrent, distributed sensor system and method |
US20070265796A1 (en) * | 2006-05-09 | 2007-11-15 | Stephen Taylor | Scalable, concurrent, distributed sensor system and method |
US8516418B2 (en) * | 2006-06-30 | 2013-08-20 | Oracle America, Inc. | Application of a relational database in integrated circuit design |
US20080005713A1 (en) * | 2006-06-30 | 2008-01-03 | Sun Microsystems, Inc. | Application of a relational database in integrated circuit design |
US20080222159A1 (en) * | 2007-03-07 | 2008-09-11 | Oracle International Corporation | Database system with active standby and nodes |
US8868504B2 (en) | 2007-03-07 | 2014-10-21 | Oracle International Corporation | Database system with active standby and nodes |
US20090210387A1 (en) * | 2008-02-20 | 2009-08-20 | International Business Machines Corporation | System and method for providing a common instruction table |
US7895538B2 (en) * | 2008-02-20 | 2011-02-22 | International Business Machines Corporation | System and method for providing a common instruction table |
US8589361B2 (en) | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
US8346775B2 (en) | 2010-08-31 | 2013-01-01 | International Business Machines Corporation | Managing information |
US8914404B1 (en) * | 2011-03-29 | 2014-12-16 | Emc Corporation | Techniques for performing view indication management |
US8868492B2 (en) | 2011-06-15 | 2014-10-21 | Oracle International Corporation | Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica |
US8924353B1 (en) * | 2011-11-08 | 2014-12-30 | Symantec Corporation | Systems and methods for copying database files |
US9720994B2 (en) * | 2012-10-04 | 2017-08-01 | Sap Se | Replicated database structural change management |
US20140101099A1 (en) * | 2012-10-04 | 2014-04-10 | Sap Ag | Replicated database structural change management |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US10311154B2 (en) | 2013-09-21 | 2019-06-04 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
US11860830B2 (en) | 2013-09-21 | 2024-01-02 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US10642861B2 (en) | 2013-10-30 | 2020-05-05 | Oracle International Corporation | Multi-instance redo apply |
US10372607B2 (en) | 2015-09-29 | 2019-08-06 | Veritas Technologies Llc | Systems and methods for improving the efficiency of point-in-time representations of databases |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US10915519B2 (en) * | 2016-09-09 | 2021-02-09 | Salesforce.Com, Inc. | Processing offline updates to records of a database system |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US11256627B2 (en) | 2017-08-31 | 2022-02-22 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US11675761B2 (en) | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
Also Published As
Publication number | Publication date |
---|---|
JP2790222B2 (en) | 1998-08-27 |
WO1993004436A1 (en) | 1993-03-04 |
JPH06505819A (en) | 1994-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5333316A (en) | 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 | |
US8010497B2 (en) | Database management system with efficient version control | |
US5870758A (en) | Method and apparatus for providing isolation levels in a database system | |
US5706505A (en) | Method and system for binding data in a computer system | |
EP1040433B1 (en) | A fine-grained consistency mechanism for optimistic concurrency control using lock groups | |
EP1540533B1 (en) | Controlling visibility in multi-version database systems | |
Gray | Notes on data base operating systems | |
US6047285A (en) | Method for using an index as a workspace for deferred enforcement of uniqueness constraints | |
US6321234B1 (en) | Database server system with improved methods for logging transactions | |
US6615219B1 (en) | Database management system and method for databases having large objects | |
US6182186B1 (en) | Method and apparatus that utilizes lock states to lock resources | |
JP2583010B2 (en) | Method of maintaining consistency between local index table and global index table in multi-tier index structure | |
US7149737B1 (en) | Locking mechanism using a predefined lock for materialized views in a database system | |
US20050102255A1 (en) | Computer-implemented system and method for handling stored data | |
Kawaguchi et al. | Concurrency control theory for deferred materialized views | |
WO1984000426A1 (en) | Database management system for controlling concurrent access to a database | |
CN101615203A (en) | Concurrency control method and device | |
US7958149B2 (en) | Computer program and product for append mode insertion of rows into tables in database management systems | |
US5794241A (en) | Method and apparatus for dynamically disabling and enabling table locking for a database | |
EP3824397B1 (en) | Version-based table locking | |
US6556994B1 (en) | Method and system for improving concurrency through early release of unnecessary locks | |
US7155434B1 (en) | Locking mechanism employing a name lock for materialized views | |
Bretl | Achieving High Concurrency In Object Oriented Databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION A COR Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:CHAMPAGNE, STEVEN R.;NAGELHOUT, GARY J.;ZYCH, PEGGY C.;REEL/FRAME:005813/0790 Effective date: 19910816 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20060726 |