Product for representing data object in concatenated multiple virtual address spaces with combined requests for segment mapping
First Claim
1. A computer program product for use with a database management system, comprising:
- a computer usable medium having computer readable program code means embodied in said medium for mapping on demand a page of a data object contained in a database and stored in one or more database storage disks, wherein the database comprises one or more database data objects, wherein the database is accessed via a contiguous data space representation, the contiguous data space being represented by a plurality of concatenated sub-data spaces, wherein each sub-data space is a virtual data space of a maximum size that is addressable by a computer operating system, each sub-data space comprising a plurality of data segments, each data segment comprising a plurality of pages, wherein the pages of the contiguous data space representation are contiguous, each page comprising a known number of addressable storage locations, wherein the contiguous data space, the sub-data spaces, the data segments, and the pages are addressable by the database management system, wherein the address of a page to be mapped has been determined to be placed in a data segment of a sub-data space, said computer program product having;
first computer readable program code means for determining whether the sub-data space has been created for representation in the contiguous data space;
second computer readable program code means for creating the sub-data space for representation in the contiguous data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space;
third computer readable program code means for creating a segment bit map for the sub-data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space, wherein said segment bit map comprises a plurality of bits, each bit representing a data segment contained in the sub-data space and indicating whether said data segment has been mapped to the database storage disk;
fourth computer readable program code means for determining if a bit in said segment bit map is equal to a predetermined value, wherein said bit corresponds to the data segment of the sub-data space containing the page to be mapped, and said predetermined value indicates that the data segment corresponding to said bit has been mapped to the database storage disk;
fifth computer readable program code means for mapping a data segment of the data object from the database storage disk to the data segment of the sub-data space, wherein said data segment from the database storage disk contains the page to be mapped, and said mapping occurs if said fourth computer readable program code means determines that said bit in said segment bit map does not equal said predetermined value; and
sixth computer readable program code means for setting said bit in said segment bit map to said predetermined value, wherein said setting occurs when said fifth computer readable program code means is performed.
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.
21 Citations
2 Claims
-
1. A computer program product for use with a database management system, comprising:
-
a computer usable medium having computer readable program code means embodied in said medium for mapping on demand a page of a data object contained in a database and stored in one or more database storage disks, wherein the database comprises one or more database data objects, wherein the database is accessed via a contiguous data space representation, the contiguous data space being represented by a plurality of concatenated sub-data spaces, wherein each sub-data space is a virtual data space of a maximum size that is addressable by a computer operating system, each sub-data space comprising a plurality of data segments, each data segment comprising a plurality of pages, wherein the pages of the contiguous data space representation are contiguous, each page comprising a known number of addressable storage locations, wherein the contiguous data space, the sub-data spaces, the data segments, and the pages are addressable by the database management system, wherein the address of a page to be mapped has been determined to be placed in a data segment of a sub-data space, said computer program product having; first computer readable program code means for determining whether the sub-data space has been created for representation in the contiguous data space; second computer readable program code means for creating the sub-data space for representation in the contiguous data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space; third computer readable program code means for creating a segment bit map for the sub-data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space, wherein said segment bit map comprises a plurality of bits, each bit representing a data segment contained in the sub-data space and indicating whether said data segment has been mapped to the database storage disk; fourth computer readable program code means for determining if a bit in said segment bit map is equal to a predetermined value, wherein said bit corresponds to the data segment of the sub-data space containing the page to be mapped, and said predetermined value indicates that the data segment corresponding to said bit has been mapped to the database storage disk; fifth computer readable program code means for mapping a data segment of the data object from the database storage disk to the data segment of the sub-data space, wherein said data segment from the database storage disk contains the page to be mapped, and said mapping occurs if said fourth computer readable program code means determines that said bit in said segment bit map does not equal said predetermined value; and sixth computer readable program code means for setting said bit in said segment bit map to said predetermined value, wherein said setting occurs when said fifth computer readable program code means is performed. - View Dependent Claims (2)
-
Specification