Database system with improved methods for storing free-form data objects of data records
First Claim
1. In a system for storing information in data records, a method for storing free-form data objects apart from the data records while maintaining an association between each data object and a corresponding data record, the method comprising:
- (a) partitioning a persistent storage media into a plurality of variable-length storage regions, wherein said variable-length storage regions comprise at least one large and at least one small storage block, all said at least one small block having a uniform storage size, all said at least one large storage block having a storage size which is a multiple of said uniform storage size;
(b) storing a list of ones of said storage regions which are available for data storage;
(c) receiving a request for storing a data object associated with a particular one of the data records;
(d) selecting from said list at least one of said large storage regions for attaining space equal to or less than required for storing the data object;
(e) if additional storage is still required for storing the data object, selecting from said list at least one of said small storage regions for storing the data object for attaining space sufficient for storing the data object;
(f) storing the data object of interest in said selected one or more regions; and
(g) storing a handle to the data object in the associated data record, so that the data object can be associated with its particular data record.
2 Assignments
0 Petitions
Accused Products
Abstract
A system of the present invention includes a relational database management system (RDBMS). Methods are described for maintaining integrity between "design documents," which may be creating under different operating systems, and one or more information tables of the system. The system provides each field of a table with a unique ID ("field ID") for tracking the field regardless of restructuring changes which may be made to the table by various clients. Corresponding field IDs are stored with the fields of design documents, thereby permitting the system to maintain a link between a design document and its table. Upon a restructure of a table, the dependent design documents may be appropriately updated by their respective clients. Methods are also described for improved storage of free-form or "memo" data. In a preferred embodiment, memo data are stored in a separate file comprised of variable-length storage blocks. Methods are described for allocating storage space in the blocks and sub-allocating storage space within a block. For increased efficiency, the system maintains a sorted "free list" of free storage blocks.
-
Citations
34 Claims
-
1. In a system for storing information in data records, a method for storing free-form data objects apart from the data records while maintaining an association between each data object and a corresponding data record, the method comprising:
-
(a) partitioning a persistent storage media into a plurality of variable-length storage regions, wherein said variable-length storage regions comprise at least one large and at least one small storage block, all said at least one small block having a uniform storage size, all said at least one large storage block having a storage size which is a multiple of said uniform storage size; (b) storing a list of ones of said storage regions which are available for data storage; (c) receiving a request for storing a data object associated with a particular one of the data records; (d) selecting from said list at least one of said large storage regions for attaining space equal to or less than required for storing the data object; (e) if additional storage is still required for storing the data object, selecting from said list at least one of said small storage regions for storing the data object for attaining space sufficient for storing the data object; (f) storing the data object of interest in said selected one or more regions; and (g) storing a handle to the data object in the associated data record, so that the data object can be associated with its particular data record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. In a system for storing information in data records, a method for storing a free-form data object for a particular record, the method comprising:
-
(a) storing said particular record in a database table; (b) storing said free-form data object at a storage location apart from said database table; (c) storing within said database table as a particular data field of said particular record a copy of a portion of said free-form data object, so that a user can view a portion of said free-form data object directly from the database table without having the system actually retrieve said free-form data object from the storage location which is apart from said database table; and (d) storing within said particular record a handle referencing where said free-form data object resides, so that the system can retrieve said free-form data object in its entirety upon demand. - View Dependent Claims (21, 22, 23, 24)
-
-
25. In a system for storing information in data records on a persistent storage device, a method for storing a data object for a particular record, the method comprising:
-
(a) partitioning the persistent storage device for providing a plurality of variable-length storage blocks, wherein said storage blocks comprise at least one large and at least one small storage block, all said at least one small block having a uniform storage size, all said at least one large storage block having a storage size which is a multiple of said uniform storage size; (b) maintaining a list of storage blocks of the persistent storage device which are available for storing objects, said storage blocks being stored apart from data records and having different storage sizes; (c) selecting from said list a particular storage block comprising a large storage block having a size appropriate for attaining space equal to or more than required for storing the data object; (d) storing the data object of interest in said particular storage block and removing said particular storage block from said list; (e) if the data object requires less storage size than is available from said particular storage block, determining a remainder for the particular storage block and adding an entry to the list for indicating that said remainder is available for storing objects; and (f) storing an entry in said particular record for indicating the particular storage block where said data object is stored, so that said data object is available on-demand from said particular record. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A database system with improved object storage comprising:
-
a computer having a processor and a storage device; means for storing on said storage device a database table comprising a plurality of database tuples, each database tuple comprising a plurality of database fields, at least one database field of said tuples being associated with a plurality of free-form data objects; and means for storing said plurality of free-form data objects outside of said database table, said means including; means for storing on said storage device as a separate file which stores each of said plurality of free-form data objects, means for storing with each database tuple an identifier for identifying the particular free-form data object which is associated with the database tuple, and means for storing within said database table as a particular data field of each database tuple a copy of some portion of the particular free-form data object which is associated with the database tuple. - View Dependent Claims (31, 32, 33, 34)
-
Specification