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.
- 2. The method of claim 1, wherein step (6) further comprises incrementing said next available page identifier by a rounding number of pages, thereby said next available page identifier records a page number equal to a starting page boundary of a data segment in the contiguous data space.
- 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.
- 4. The database management system according to claim 3, wherein said incrementing means further comprises second incrementing means for incrementing said next available page identifier by a rounding number of pages, thereby said next available page identifier records a page number equal to a starting page boundary of a data segment in the contiguous data space.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2055295 |
Dec 1991 |
CAX |
|
Parent Case Info
This application is a division of application Ser. No. 07/975,245, filed Nov. 12, 1992, now abandoned.
US Referenced Citations (30)
Non-Patent Literature Citations (1)
Entry |
James L. Truley, "Advanced 80386 Programming Techniques," Osborne Mcgraw-Hill 1988. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
975245 |
Nov 1992 |
|