Cluster-wide database system

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000

Reexamination Certificate

active

06178519

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to the field of databases and more particularly to an object oriented cluster-wide in-memory database system.
BACKGROUND of the INVENTION
A large number of applications require high speed, real time access to large databases with response time requirements of only a few milliseconds to tens of milliseconds. These applications (e.g., call routing in telecommunication systems, internet name and data services, financial applications, automation control, etc.) cannot afford the performance latency of accessing data that is disk-resident or ships the data through interprocess communications. These applications also cannot afford the memory requirements of mapping or caching the data in each client application's process virtual address space. These applications often cannot be hosted on a single machine due to reliability and performance constraints.
Traditional relational database architectures and client-server database systems often use a database server process. The client applications ship queries and other database operations to the database server which processes the requests (e.g., SQL standard query language operations) and returns the results.
The vast majority of object-oriented client-server database systems are typically based on a data-shipping approach. Data items (in the form of pages or objects) are shipped from the database server to clients so that the query processing and application processing can be performed through programmatic interfaces that support navigation.
All client/server database systems incur the overhead of interprocess or network communications and the overhead of caching and accessing the data in pageable process virtual address space.
Objects in an object-orient database contain references to other objects. Usually, the on-disk representation of an object differs from the in-memory representation of the object because of the way the storage manager treats inter-object references. Some systems use object identifiers (OIDs) for both the in-memory and on-disk representations. Other systems use virtual memory pointers or addresses for both representations. Finally, there are systems that use OIDs for the on-disk representation and virtual memory pointers for the in-memory representation. These systems convert the OIDs to virtual memory pointers or addresses when they fetch the objects from disk. This is referred to as swizzling. Object-oriented databases that do not perform pointer swizzling, use the unique object identifier (OID) to lookup the actual memory location of an object whenever the OID is dereferenced. The lookup process generally involves a relatively expensive search of an in-memory table that must be performed on every object reference.
Object oriented databases generally supply the following functions to the application program: 1) The ability to lookup and maintain navigational entry points into the database. These entry points are called root; 2) The ability to open one or more databases; 3) The ability to allocate and free memory from the persistent heap; and 4) The ability to navigate through object references. In addition a persistent store object oriented database often allows C++ interfaces, query languages, database utilities and the ability to store meta-data in the database.
SUMMARY OF THE INVENTION
In accordance with one aspect, the present invention directed to a cluster-wide database system including a shared disk array comprising an object oriented database. A plurality of nodes are connected to the shared disk array. Each of the plurality of nodes include a copy of a portion of the object oriented database stored in a shared virtual address space and one or more applications. The applications are each capable of directly accessing the shared virtual address space. This database system allows real time access to large databases. The database system eliminates the requirement for memory mapping or caching of data in each client application process virtual space.
In accordance with another aspect, the present invention is directed to a method of operating a cluster-wide database. The method comprises the steps of 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, running an application on at least one of the plurality of nodes, and accessing the shared virtual address space by the application.
In accordance with another aspect, the present invention is directed to a cluster-wide database system. The database system comprising 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 comprises 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, an unprotected state or an invalid state, a plurality of applications each capable of accessing the shared virtual address space, a writer application capable of writing a database update to the shared virtual address space, and a database server capable of updating writes that occurred another of the plurality of computers.
The present invention is for an in-memory, peer-to-peer cluster-wide object oriented database suitable for high speed real-time database applications like call routing in the telecommunications industry, internet naming and data services, or automation control, etc.


REFERENCES:
patent: 4974191 (1990-11-01), Amirghodsi et al.
patent: 5179702 (1993-01-01), Spix et al.
patent: 5815723 (1998-09-01), Wilkinson et al.
patent: 5828894 (1999-06-01), Wilkinson et al.
patent: 5909540 (1999-06-01), Carter et al.
patent: 5918229 (1999-06-01), Davis et al.

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

Cluster-wide database system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Cluster-wide database system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Cluster-wide database system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2440578

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