System and method for simulating a contiguous addressable data space
First Claim
1. A method for a database management system to simulate a database in a contiguous data space in computer memory, wherein the database comprises one or more data objects of variable size and is stored in one or more database storage disks, comprising:
- (1) creating the contiguous data space by allocating and initializing a data space to sub-data space mapping table having a plurality of table entries, wherein each table entry includes a sub-data space identifier, wherein the contiguous data space is a concatenation of a plurality of sub-data spaces, each sub-data space being assigned a sub-data space identifier, wherein the contiguous data space and said sub-data spaces are addressable by the database management system with said sub-data space identifiers, and wherein the computer memory comprises a virtual memory and said sub-data spaces comprise virtual data spaces;
(2) allocating and initializing a starting page number identifier to record a starting page number in the contiguous data space for each data object in the database, wherein said starting page number indicates a page number at which a data object is placed in the contiguous data space;
(3) allocating and initializing a next available page identifier to record a page number indicating a beginning of an empty page in the contiguous data space;
(4) determining whether a data object has been added to the contiguous data space, when said data object is referenced;
(5) setting said starting page number identifier for said data object equal to said next available page identifier if it is determined in step (4) that said data object has not been added to the contiguous data space; and
(6) incrementing said next available page identifier by the size of said data object, wherein said size indicates a number of pages allocated to said data object.
0 Assignments
0 Petitions
Accused Products
Abstract
Method and means are provided for simulating a contiguous data space within a computer memory, and for placing and accessing data objects of various sizes within the simulated contiguous data space. Multiple, sub-data spaces are concatenated in such a way that each page and each sub-data space in the contiguous data space are uniquely identified. Data objects are placed in the contiguous data space and at the first reference to a page of the data object, only the segment containing the referenced page in the contiguous data space is mapped to the database storage disk. Once a data space page is mapped, the operating system can read the page into memory without requesting a disk operation from the database manager. On modifying a page, if the database disk page location is changed, the contiguous data space page is remapped without changing the page address in the data space. Also, modified data pages are rewritten to the database storage disk in an ongoing manner set by the user, instead of at intervals set by the operating system.
-
Citations
4 Claims
-
1. A method for a database management system to simulate a database in a contiguous data space in computer memory, wherein the database comprises one or more data objects of variable size and is stored in one or more database storage disks, comprising:
-
(1) creating the contiguous data space by allocating and initializing a data space to sub-data space mapping table having a plurality of table entries, wherein each table entry includes a sub-data space identifier, wherein the contiguous data space is a concatenation of a plurality of sub-data spaces, each sub-data space being assigned a sub-data space identifier, wherein the contiguous data space and said sub-data spaces are addressable by the database management system with said sub-data space identifiers, and wherein the computer memory comprises a virtual memory and said sub-data spaces comprise virtual data spaces; (2) allocating and initializing a starting page number identifier to record a starting page number in the contiguous data space for each data object in the database, wherein said starting page number indicates a page number at which a data object is placed in the contiguous data space; (3) allocating and initializing a next available page identifier to record a page number indicating a beginning of an empty page in the contiguous data space; (4) determining whether a data object has been added to the contiguous data space, when said data object is referenced; (5) setting said starting page number identifier for said data object equal to said next available page identifier if it is determined in step (4) that said data object has not been added to the contiguous data space; and (6) incrementing said next available page identifier by the size of said data object, wherein said size indicates a number of pages allocated to said data object. - View Dependent Claims (2)
-
-
3. A database management system for simulating a database in a contiguous data space in computer memory, wherein the database comprises one or more data objects of variable size and is stored in one or more database storage disks, comprising:
-
creating means for creating the contiguous data space by allocating and initializing a data space to sub-data space mapping table having a plurality of table entries, wherein each table entry includes a sub-data space identifier, wherein the contiguous data space is a concatenation of a plurality of sub-data spaces, each sub-data space being assigned a sub-data space identifier, wherein the contiguous data space and said sub-data spaces are addressable by the database management system with said sub-data space identifiers and wherein the computer memory comprises a virtual memory and said sub-data spaces comprise virtual data spaces; starting page means for allocating and initializing a starting page number identifier to record a starting page number in the contiguous data space for each data object in the database, wherein said starting page number indicates a page number at which a data object is placed in the contiguous data space; next page means for allocating and initializing a next available page identifier to record a page number indicating a beginning of an empty page in the contiguous data space; determining means for determining whether a data object has been added to the contiguous data space, when said data object is referenced; setting means for setting said starting page number identifier for said data object equal to said next available page identifier if said determining means determines that said data object has not been added to the contiguous data space; and incrementing means for incrementing said next available page identifier by the size of said data object, wherein said size indicates a number of pages allocated to said data object. - View Dependent Claims (4)
-
Specification