Method and apparatus for virtual memory mapping and...

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S144000, C711S145000, C711S152000, C711S207000, C711S208000

Reexamination Certificate

active

06795898

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to an object-oriented database system, and more particularly to a method and apparatus for virtual memory mapping and transaction management in a computer system having at least one object-oriented database.
BACKGROUND OF THE INVENTION
Over the past few years, a new category of data management products has emerged. They are variously called “object-oriented database systems”, “extended database systems”, or “database programming languages”. They are intended to be used by applications that are generally complex, data-intensive programs, which operate on structurally complex databases containing large numbers of inter-connected objects.
Inter-object references, sometimes called pointers, provide this complex structure. These programs consume time by accessing and updating objects, and following the intricate connections between objects, using both associative queries and direct traversal, performing some amount of computation as each object is visited. Typical application areas are computer-aided design, manufacturing, and engineering, software development, electronic publishing, multimedia office automation, and geographical information systems. Because of this application environment it is important for an object-oriented database system to be fast.
Often, a number of work stations or other client computers are connected to access the database in a distributed manner, normally through a server computer associated with the database. Each client computer has its own cache memory in which data required by an application program being run on the client computer are placed.
Every object-oriented database system has some way to identify an object. Current systems use a thing called an “object identifier” (OID), which embodies a reference to an object. In a sense, an OID is the name of an object. An operation called “dereferencing”, finds an object from a given name of an object.
In most systems, object identifiers are data structures defined by software, thus dereferencing involves a software procedure, such as a conditional test to determine whether the object is already in memory, which often involves a table lookup. This software procedure generally takes at least a few instructions, and thus requires a fair amount of time. Moreover, a dereferencing step is completed for each access to the object. These operations significantly slow down processing in an application, specifically when many inter-object references are made.
Moreover, names that are commonly used for object identifiers are not in the same format that the computer hardware uses as its own virtual memory addresses. Thus, inter-object references take longer to dereference than ordinary program data. Furthermore, a software conditional check takes extra time.
Also, in current systems, data cannot remain in the client computer between transactions. Data can be cached on the client computer, but when a transaction ends, the client cache has to be discarded. Although this requirement insures consistency of data, it increases communication between the client and the server computers and fails to make use of the principles of locality which encourage the use of a cache in the first place.
A need, therefore, exists for an improved method and apparatus for facilitating dereferencing the name of an object to its corresponding object.
Another object of the invention is to name objects using the format of the computer hardware. More particularly, it is an object to provide virtual addresses as pointers to objects in the database.
Another object of the invention is to provide a hardware conditional check for determining if an object is in virtual memory in order to replace software conditional checks.
Still another object of the present invention is to minimize communication between a server computer and a client computer. More particularly, it is an object to provide a mechanism to allow a client computer to keep data in its cache between transactions and to ensure data consistency and coherency.
SUMMARY OF THE INVENTION
In accordance with the above and other objects, features and advantages of the invention, there is provided an apparatus and a method for virtual memory mapping and transaction management for an object-oriented data base system having at least one permanent storage means for storing data and at least one data base, at least cache memory for temporarily storing data addressed by physical addresses, and a processing unit including means for requesting data utilizing virtual addresses to access data in the cache memory, means for mapping virtual addresses to physical addresses and means for detecting when data requested by the requesting means is not available at the virtual address utilized. Typically, the system has a plurality of client computers each having a cache memory, interconnected by a network, and each permanent storage means has a server computer. A single computer may serve as both a client computer and a server computer.
The apparatus operates by detecting when data requested by a client computer is not available at the utilized virtual address. An application program running on a client computer may issue a command when it knows data is required, but detection preferably arises from a fault normally occuring in response to an unsuccessful data access attempt.
When the client computer detects that requested data is not available, it determines if the requested data is in the cache memory, transfers the requested data from the permanent storage means to the cache memory if the requested data is not in the cache memory, and instructs the means for mapping to map the virtual address of the requested data to the physical address of the data in the cache memory. If the requested data includes pointers containing persistent addresses, the apparatus relocates inbound the pointers in the requested data from the persistent addresses to virtual addresses.
Sometimes a virtual address that is used by an application program is not assigned to any data, and the apparatus signals an error to the means for requesting the data using that virtual address indicating that the virtual address is not valid. Otherwise the virtual address is valid, and it is determined whether the portion of the database containing the requested data has also been assigned virtual addresses. If it has not been assigned virtual addresses, such addresses are assigned to it. database portion located at a client computer is cached thereat for either read or write. When a database portion is utilized in response to a read request, it is locked for read and when used in response to a write request, it is locked for write. When the transaction commits, all locked data portions are unlocked, but can remain cached.
When a server computer receives a request for data in response to a read request, the server computer determines if any other client computer has the requested material, for example, a page or segment, encached for write. If no other client computer has the page encached for write, the page or other data section may be transferred to the requesting client computer's cache memory. Each server preferably has an ownership table with an entry for each page of the server's permanent storage which is encached by a client computer and indicating whether the page is encached for read or write.
The ownership table may be utilized to determine if the page is encached for write. If it is determined that a client computer has the page encached for write, the client computer is queried to determine if the page is locked for write. If the page is not locked for write, the ownership table entry for the page is downgraded from encached for write to encached for read and the transfer of the page to the requesting client computer is permitted. If the queried client computer indicates that the page is locked for write, further action is deferred until the transaction being run on the queried client computer commits. When the transaction commits, the queried client computer is downgraded to encached f

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for virtual memory mapping and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for virtual memory mapping and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for virtual memory mapping and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3250005

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.