IP Library Granted Patent US 8,117,153
Granted Patent B2
US 8,117,153 · App. 11/392,326 · Granted Feb 14, 2012

Systems and methods for a distributed cache

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,117,153
App. No.
11/392,326
Granted
Feb 14, 2012
Kind
B2
Abstract

Methods, systems, and articles of manufacture consistent with the present invention provide managing a distributed database cache. A database cache is provided. The database cache is distributed over at least two data processing systems.

Claims (42)

1. A method for managing an in-memory database, the method comprising the steps of:

distributing a database cache of said in-memory database over at least two of a plurality of independent sub data processing systems by (a) partitioning the database cache over the at least two sub data processing systems; and (b) replicating at least one of the partitions over the at least two sub data processing systems;

performing a transaction commit by updating both one of the partitions and a corresponding replication thereof;

synchronizing the database with information in the database cache using a resolution rule;

updating a first information in the database; and

updating the database cache with the first information responsive to updating the first information in the database.

2. The method of claim 1 , further comprising the steps of:

storing information in at least one of the database and the database cache in a relational format; and

mapping the information to a non-relational data model.

3. The method of claim 1 , wherein a first information in the database cache is associated with a first synchronization strategy and a second information in the database cache is associated with a second synchronization strategy.

4. The method of claim 1 , further comprising the step of:

synchronizing the database with information in the database cache asynchronous to committing a transaction.

5. The method of claim 1 , further comprising the step of:

updating a first information in the database cache on at least two of the plurality of data processing systems.

6. The method of claim 1 , further comprising the step of:

after updating an information in the database cache, updating the database with the information.

7. The method of claim 6 , wherein the database is updated with the information without determining whether the information in the database cache is a most-recent version of the information.

8. The method of claim 6 , further comprising the step of:

prior to committing a transaction, determining whether at least one of the database cache and the database contains a current information.

9. The method of claim 1 , wherein the database cache is a database for another database cache.

10. The method of claim 1 , further comprising recovering a first partition by sending a data image from a replication of the first partition to the first partition using remote direct memory access.

11. The method of claim 1 , further comprising the step of:

accessing the database cache using a plurality of data models.

12. The method of claim 1 , wherein the distributing step comprises replication of an entirety of the database cache such that each partition of the database cache and each corresponding replicated partition are not disposed in the same sub data processing system.

13. The method of claim 1 , further comprising maintaining the replication of the at least one partition of the database cache such that no replicated partition is divided between two or more sub data processing systems.

14. The method of claim 1 , wherein for each partition, the entirety of the partition is located in a single independent sub data processing system, wherein the replicating step comprises replicating the at least one of the partitions such that:

the entirety of the replicated partition is located in a single independent sub data processing system; and

each replicated partition and each corresponding partition of the database cache are not disposed in the same independent sub data processing system.

15. The method of claim 1 , wherein each partition and each replicated partition are directly accessible by each one of the at least two sub data processing systems.

16. The method of claim 14 , wherein the distributing step comprises replicating each one of the partitions over the at least two sub data processing systems.

17. A method for managing an in-memory database, the method comprising the steps of:

distributing a database cache of said in-memory database over at least two of a plurality of independent sub data processing systems by partitioning the database cache over the at least two sub data processing systems and replicating at least one partition over the at least two sub data processing systems;

performing transactions between the database cache and a plurality of databases in accordance with a partitioning of the database cache over the plurality of databases, wherein a first information in the database cache is associated with a first synchronization strategy and a second information in the database cache is associated with a second synchronization strategy;

synchronizing the database with information in the database cache using a resolution rule;

updating a first information in the database; and

updating the database cache with the first information responsive to updating the first information in the database.

18. A computer-readable storage medium containing instructions that cause a data processing system having a program to perform a method for managing an in-memory database, the data processing system having a plurality of independent sub data processing systems, the method comprising the steps of:

distributing a database cache of said in-memory database over at least two of a plurality of sub data processing systems by (a) partitioning the database cache over the at least two sub data processing systems; and (b) replicating at least one of the partitions over the at least two sub data processing systems;

performing a transaction commit by updating both one of the partitions and a corresponding replication thereof;

synchronizing the database with information in the database cache using a resolution rule;

updating a first information in the database; and

updating the database cache with the first information responsive to updating the first information in the database.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2006
From: CATTELL, RODERIC G.; RUSSELL, CRAIG L.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017695/0305 →