IP Library Granted Patent US 7,366,738
Granted Patent B2
US 7,366,738 · App. 09/920,788 · Granted Apr 29, 2008

Method and system for object cache synchronization

Assignee: Oracle International Corporation
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 7,366,738
App. No.
09/920,788
Granted
Apr 29, 2008
Kind
B2
Abstract

A system and method are provided for providing object change information through a network. The local object persistence system distributes the information regarding the change to the object by the synchronization executor through a communication link. The remote object persistence system that has established the communication link with the local object persistence system obtains the distributed object change information. The object change information is used to update the database and update an object cache for storing the object.

Claims (32)

1. A method for providing object change information from a first system to one or more systems for synchronizing the one or more systems with the first system, the one or more systems having one or more object caches for storing objects, the method comprising the steps of:

during a transaction, storing a set of changes to an object into a transaction cache of the first system;

computing an object change set, when the transaction is committed, representing the set of changes to the object;

translating the object change set into a database language;

sending the translated object change set to a central database system for update; and

permanently committing the set of changes to an in-memory object cache if the central database system reports no error when updating the objects;

wherein permanently committing the set of changes includes distributing the object change information directly from the first system to one or more systems to cause the one or more systems to merge the object change information into the one or more object caches so as to synchronize the one or more systems with the first system;

wherein the objects are included in a remote database system; and

wherein one or more of the first system and the one or more systems can perform database operations on a given object within the database.

2. The method as claimed in claim 1 further comprising a step of establishing a communication link between the first system and the one or more systems wherein the distributing step distributes the object change information from the first system to the one or more systems through the communication link.

3. The method as claimed in claim 2 wherein the establishing step establishes the communication link based on a publish/subscribe protocol.

4. The method as claimed in claim 1 further comprising a step of registering the one or more systems in the first system prior to the distributing step wherein the distributing step distributes the object change information to the registered one or more systems.

5. The method as claimed in claim 1 further comprising a step of sending the object change information to the database for updating the object in the database with the object change information.

6. The method as claimed in claim 5 further comprising the steps of:

receiving an error message from the database when the updating of the object in the database fails; and

discarding the object change information prior to the distributing step in response to the error message.

7. The method as claimed in claim 1 wherein the first system includes an object cache for storing one or more objects, and the method further comprises a step of merging the object change information into the object cache of the first system.

8. The method as claimed in claim 1 wherein the determining step determines the object change information as a minimal set of information representing the change made to the object.

9. The method as claimed in claim 1 wherein the determining step determines the object change information to include a primary key identifying the object and any changed attribute of the object.

10. The method as claimed in claim 1 wherein the object includes an attribute for containing object data or a value of a relationship with one, or more, other object, and the determining step determines the object change information to include a change made in the attribute of the object.

11. The method as claimed in claim 1 wherein the first system includes a cache for storing one or more objects, the method further comprising the steps of:

receiving object change information distributed from the one or more systems and containing information of changes made to one or more objects in the one or more systems; and

merging the object change information received from the one or more systems into the objects in the cache of the first system to synchronize the first system with the one or more systems.

12. Computer readable media storing instructions executed by a computer to perform a method for providing object change information from a first system to one or more systems for synchronizing the one or more systems with the first system, the one or more systems having one or more object caches for storing objects, the method comprising the steps of:

during a transaction, storing a set of changes to an object into a transaction cache of the first system;

computing an object change set, when the transaction is committed, representing the set of changes to the object;

translating the object change set into a database language;

sending the translated object change set to a central database system for update; and

permanently committing the set of changes to an in-memory object cache if the central database system reports no error when updating the objects;

wherein permanently committing the set of changes includes distributing the object change information directly from the first system to the one or more systems to cause the one or more systems to merge the object change information into the one or more object caches so as to synchronize the one or more systems with the first system

wherein the objects are included in a remote database system; and

wherein one or more of the first system and the one or more systems can perform database operations on a given object within the database.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2006
From: OIC ACQUISITION I CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 018279/0189 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME, PREVIOUSLY RECORDED AT REEL 013055, FRAME 0327. Recorded Aug 4, 2003
From: WEBGAIN, INC.
To: OIC ACQUISITION I CORPORATION
Reel/Frame 014342/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2002
From: WEBGAIN, INC.
To: ORACLE CORPORATION
Reel/Frame 013055/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2001
From: YORKE, GORDON JAMES; KEITH, MICHAEL LAURENCE
To: WEBGAIN, INC.
Reel/Frame 012045/0713 →
Continuity (1)
Related Publication 20030028683A1 · Feb 6, 2003