Cluster-wide database system
First Claim
Patent Images
1. A cluster-wide database system comprising:
- a shared disk array including an object oriented database; and
a plurality of nodes connected to the shared disk array, each of the plurality of nodes comprising;
a copy of a portion of the object oriented database stored in a shared virtual address space; and
a plurality of applications each capable of accessing the shared virtual address space.
8 Assignments
0 Petitions
Accused Products
Abstract
A cluster-wide database system includes a shared disk array (20) comprising an object oriented database (18). A plurality of nodes (10) are connected to the shared disk array (20). Each of the nodes (10) includes a copy of a portion of the object oriented database stored in a shared virtual address space (26) and applications (14). Each application capable of accessing the shared virtual address space (26).
-
Citations
21 Claims
-
1. A cluster-wide database system comprising:
-
a shared disk array including an object oriented database; and
a plurality of nodes connected to the shared disk array, each of the plurality of nodes comprising;
a copy of a portion of the object oriented database stored in a shared virtual address space; and
a plurality of applications each capable of accessing the shared virtual address space. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a cluster-wide database comprising the steps of:
-
(a) loading a portion of an object oriented database, stored in a secondary memory, into a shared virtual address space on each of a plurality of nodes;
(b) running an application on at least one of the plurality of nodes; and
(c) accessing the shared virtual address space by the application. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
(c1) when the application attempts to access a page of memory that is not in the shared virtual address space, faulting the page of memory from the object oriented database in the secondary memory.
-
-
11. The method of claim 10, further including the step of:
(c2) evicting a semi-least used page from the shared virtual address space.
-
12. The method of claim 9, further including the steps of:
-
(d) receiving a page of memory for the object oriented database at a writer application in one of the plurality of nodes;
(e) writing the page of memory to the shared virtual address space.
-
-
13. The method of claim 12, further including the steps of:
-
(f) detecting that the page of memory has been written to the shared virtual address space;
(g) transmitting a database update to a plurality of other database servers in the other of the plurality of nodes.
-
-
14. The method of claim 13, further including the step of:
(h) transmitting the database update to the secondary memory.
-
15. The method of claim 9, wherein step (c) further includes the steps of:
-
(c1) setting a page table entry to an unprotected state for each of a plurality of pages forming the shared virtual address space;
(c2) setting a page table entry to an invalid state for each of a plurality of pages that are not stored in the shared virtual address space.
-
-
16. The method of claim 15, further including the steps of:
-
(c3) when one of the plurality of applications attempts to read from one of the plurality of pages having the page table entry set to the invalid state, faulting the one of the plurality of pages from the secondary memory;
(c4) changing the page table entry for the one of the plurality of pages to the unprotected state.
-
-
17. The method of claim 16, wherein step (c3) further includes the steps of:
-
i) determining a state of a page table entry pointed to by a least recently used page table entry pointer;
ii) when the state of the page table entry is protected, the state of the page table entry is changed to invalid;
iii) the one of the plurality of pages is stored at a physical frame number associated with the page table entry pointer.
-
-
18. The method of claim 17, further including the steps of:
iv) when the state of the page table entry pointer is unprotected, the state of the page table entry is changed to protected and the least recently used page table entry pointer is moved to a next page table entry.
-
19. The method of claim 15, further including the step of:
(c3) when a page has been modified on one the plurality of nodes but not stored, changing the page table entry for the page to a modified state.
-
20. A cluster-wide database system including:
-
a secondary memory including a database, the database comprising a plurality of objects, at least one of the plurality of objects having a pointer to another of the plurality of objects; and
a plurality of computers connected to the secondary memory, each of the computers comprising;
a shared virtual address space containing a copy of a portion of the database, the database being defined by a plurality of pages, each of the plurality of pages have a page table entry, a state of the page table entry comprising either a modified state, a protected state, an unprotected state or an invalid state;
a plurality of applications each capable of accessing the shared virtual address space;
a writer applicaton capable of writing a database update to the shared virtual address space; and
a database server capable of updating writes that occured another of the plurality of computers. - View Dependent Claims (21)
-
Specification