Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-05-28
2004-02-17
Channavajjala, Srirama (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06694340
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to computer-implemented database systems, and, in particular, to identifying read claims in a database.
2. Description of Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples or records. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. Tables are assigned to table spaces. A table space is associated with direct access storage devices (DASD), and, thus, tables, are stored on DASD, such as magnetic or optical disk drives for semi-permanent storage.
A table space can be a system managed space (e.g., an operating system file system) or a database managed space. Each table space is physically divided into equal units called pages. Each page, which may contain, for example, 4K bytes, holds one or more rows of a table and is the unit of input/output (I/O). The rows of a table are physically stored as records on a page. A record is always fully contained within a page and is limited by page size. As users move towards working with image data and other large data objects, storing data in conventional records becomes difficult.
An index is an ordered set of references to the records or rows in a database file or table. The index is used to access each record in the file using a key and a record identifier (RID). A key is one of the fields of the record or one of the attributes of a row. The key ensures that a row is unique. The RID provides the physical location of a row (i.e., the page number and location within the page). Building an index for a large file can take a considerable amount of elapsed time. The process involves scanning all records in the file, extracting a key value and RID value from each of the records, sorting all of the key/RID values, and then building the index from the sorted key/RID values.
Traditionally, an RDBMS stored simple data, such as numeric and text data. In a traditional RDBMS, the underlying storage management has been optimized for simple data. More specifically, the size of a record is limited by the size of a data page, which is a fixed number (e.g., 4K) defined by a computer developer. This restriction in turn poses a limitation on the length of columns of a table. To alleviate such a restriction, most computer developers today support a new built-in data type for storing large objects (LOBs). LOBs, such as image data, typically take up a great deal of storage space.
In a shared data environment, some DBMSs use a LOB manager sub-component that manages space in LOB table spaces (e.g., deallocates and allocates LOB table space). These table spaces use a shadow copy recovery scheme. Using such a scheme, when a LOB value is deleted, the pages storing the LOB value are deallocated, but must be protected from reallocation until the deleting transaction commits and no other transaction is reading the value anymore. For example, when a LOB is deleted, the pages storing the LOB value are deallocated. Before reallocating the pages, the LOB manager sub-component ensures that any deallocated space is committed, and that no currently active transaction has a read interest in the deleted LOB. In conventional systems, both of these checks are performed using locking.
Locking is used in a shared data environment to prevent concurrent transactions from inconsistently modifying the same data. That is, one transaction can lock a portion of the table space to prevent other transactions from modifying the data while that one transaction is accessing the data in the locked portion of the table space. Thus, locking can guarantee for one transaction that shared data accessed by that transaction does not contain uncommitted updates of other transactions. In particular, locks ensure that a user does not access data that has been changed by another user and not yet committed or data that has been earmarked for change. However, locking is time consuming and slows the speed of page allocations.
Therefore, there is a need in the art for an improved technique of determining the age of reading transactions in a database.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for identifying read claims in a database.
In accordance with the present invention, the database is stored on at lease one data storage device connected to a computer. A read identifier is stored for each reading transaction. The read identifier reflects a time at which the reading transaction first accesses an object stored in the database. The read identifiers are used to determine an age of an oldest active transaction.
REFERENCES:
patent: 4509119 (1985-04-01), Gumaer et al.
patent: 4949388 (1990-08-01), Bhaskaran
patent: 4961134 (1990-10-01), Crus et al.
patent: 5043866 (1991-08-01), Myre, Jr. et al.
patent: 5222235 (1993-06-01), Hintz et al.
patent: 5247672 (1993-09-01), Mohan
patent: 5261088 (1993-11-01), Baird et al.
patent: 5291583 (1994-03-01), Bapat
patent: 5295188 (1994-03-01), Wilson et al.
patent: 5396623 (1995-03-01), McCall et al.
patent: 5408654 (1995-04-01), Barry
patent: 5416915 (1995-05-01), Mattson et al.
patent: 5418921 (1995-05-01), Cortney et al.
patent: 5418940 (1995-05-01), Mohan
patent: 5435004 (1995-07-01), Cox et al.
patent: 5446884 (1995-08-01), Schwendemann et al.
patent: 5452299 (1995-09-01), Thessin et al.
patent: 5455944 (1995-10-01), Haderle et al.
patent: 5517641 (1996-05-01), Barry et al.
patent: 5566329 (1996-10-01), Gainer et al.
patent: 5579499 (1996-11-01), Fecteau et al.
patent: 5579515 (1996-11-01), Hintz et al.
patent: 5581750 (1996-12-01), Haderle et al.
patent: 5613113 (1997-03-01), Goldring
patent: 5630093 (1997-05-01), Holzhammer et al.
patent: 5666560 (1997-09-01), Moertl et al.
patent: 5675767 (1997-10-01), Baird et al.
patent: 5684986 (1997-11-01), Moertl et al.
patent: 5687343 (1997-11-01), Fecteau et al.
patent: 5696967 (1997-12-01), Hayashi et al.
patent: 5721915 (1998-02-01), Sockut et al.
patent: 5727197 (1998-03-01), Burgess et al.
patent: 5732402 (1998-03-01), Lehman
patent: 5737601 (1998-04-01), Jain et al.
patent: 5742806 (1998-04-01), Reiner et al.
patent: 5742810 (1998-04-01), Ng et al.
patent: 5758357 (1998-05-01), Barry et al.
patent: 5761667 (1998-06-01), Koeppen
patent: 5873116 (1999-02-01), Van Fleet
patent: 6144970 (2000-11-01), Bonner et al.
patent: 6185663 (2001-02-01), Burke
patent: 6343293 (2002-01-01), Lyle
patent: 6363389 (2002-03-01), Lyle et al.
patent: 6470359 (2002-10-01), Lyle
patent: 6535895 (2003-03-01), Bonner et al.
patent: 6606617 (2003-08-01), Bonner et al.
patent: 1046980 (2000-10-01), None
patent: 8-167852 (1996-06-01), None
Fernaddo De Ferreira Rezende et al., Transaction Identifiers in Nested Trasactions: Implementation Schemes and performanc the computer journal, Vol 40, No. 5, Aug. 20, 1997, pp245-258.*
LihChyun Shu et al., Shadowing-based crash recovery schemes for real-time database systems, Jun. 9-11, 1999, Real-time system, 1999 proceedings of the Euromicro Conference, pp 260-267.*
IBM Technical Disclosure Bulletin, “Method For Storing Large Objects in a Relational Database,” vol. 35, No. 4A, pp. 72-75, Sep. 1992.
IBM Technical Disclosure Bulletin, “Reorganization Flags For Table Indexes,” vol. 35, No. 5, pp. 156-157, Oct. 1992.
IBM Technical Disclosure Bulletin, “Technique to Allow DB2 Utilities and Commands to Run While SQL Applications Have a Table Space Locked,” vol. 36, No. 09A, pp. 499-501, Sep. 1993.
IBM Technical Disclosure Bulletin, “Spanning Temporary Reorg Files,” vol. 36, N. 06A, p. 159, Jun. 1993.
IBM Technical Disclosur
Lyle Robert William
Teng James Zu-Chia
Yothers Jay A.
Channavajjala Srirama
International Business Machines - Corporation
Sughrue & Mion, PLLC
LandOfFree
Technique for determining the age of the oldest reading... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Technique for determining the age of the oldest reading..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Technique for determining the age of the oldest reading... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3307747