IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0456025
(1995-05-31)
|
발명자
/ 주소 |
- Weinreb Daniel L.
- Haradhvala Sam J.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
72 인용 특허 :
10 |
초록
▼
An apparatus and method are provided for virtual memory mapping and transaction management in an object-oriented database system having permanent storage for storing data in at least one database, at least one cache memory for temporarily storing data, and a processing unit which runs application pr
An apparatus and method are provided for virtual memory mapping and transaction management in an object-oriented database system having permanent storage for storing data in at least one database, at least one cache memory for temporarily storing data, and a processing unit which runs application programs which request data using virtual addresses. The system performs data transfers in response to memory faults resulting from requested data not being available at specified virtual addressed and performs mapping of data in cache memory. The data in the database may include pointers containing persistent addresses, which pointers are relocated between persistent addresses and virtual addresses. When a data request is made, either for read or write, from a given client computer in a system, other client computers in the system are queried to determine if the requested data is cached and/or locked in a manner inconsistent with the requested use, and the inconsistent caching is downgraded or the transfer delayed until such downgrading can be performed.
대표청구항
▼
[What is claimed is:] [1.]at least one poinannt storage device for staring data in at least one database, wherein said at least one datase is divided into segments, each containing one or more pages;a plurality of computers, at least one running an application program involving a database transactio
[What is claimed is:] [1.]at least one poinannt storage device for staring data in at least one database, wherein said at least one datase is divided into segments, each containing one or more pages;a plurality of computers, at least one running an application program involving a database transaction, and each having a cache memory for storing data, and a processing unit for requesting data from said at least one database, whereineach permanent storage device is associated with one of said plurality of computers;each computer having an ownership table having an entry for each page of the permanent storage device encached at one of the plurality of computers, each entry indicating which of said plurality of computers have the page encached and whether the page is encached for read and write access; the ownership table for determining if the page is encached for write;means, responsive to a request for data from the database from means for requesting of a first computer, for detecting by a server if requested data is in cache memory of a second computer and has a cached state indicating that access to the data by the first computer is not permitted;a server having means, responsive to said means for detecting, for providing instructions to said second computer to change the cached state of the data to a state tat allows access of the data by the first computer, wherein said instructions include issuing a callback message that is separate from said request for data,means for transferring said requested data as a page of data to the first computer after the second computer changes the cached state of the data,means, responsive to a transfer of a page in response to a read request for the page, for encaching the page for read and for locking the page for read at a third computer;means, responsive to a transfer of a page in response to a write request for the page, for encaching the page for write and for locking the page for write at the third computer;means, responsive to a request for data from a database for read access from the means for requesting of a first computer, for detecting if the requested data is in the cache memory of an other computer for write access;means, responsive to a detection by the means for detecting that the requested data is in the cache memory of the other computer for write access, for instructing the other computer to downgrade the encached state of the data to read access;means for querying one of the plurality of computers having the page encached for write to determine if the page is locked for write;means, responsive to a response from a queried computer that the page is not locked for write, for downgrading the entry for the page in the ownership table from indicating encached for write to indicate encached for read, and for permitting the means for transfering said requested data to transfer the page to the cache memory of the requesting computer, wherein each queried computer has a cache directory having an entry for each page in the corresponding cache memory, which entry indicates a cached state and a locked state of the page;means, responsive to a response from the queried computer that the page is locked for write, for deferring further action until the transaction being run at the queried computer commits, said means for downgrading and for permitting being operative when the queried computer transaction commits; andmeans, responsive to a query as to whether the page is locked for write, for looking up the page in the cache directory of the queried computer to determine if the page is locked for write.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.