US7328222B2ExpiredUtilityA1

Method and apparatus for preserving data coherency in a database by generating a command object that includes instructions for writing a data record to a local cache

Assignee: ORACLE INT CORPPriority: Aug 26, 2004Filed: Aug 26, 2004Granted: Feb 5, 2008
Est. expiryAug 26, 2024(expired)· nominal 20-yr term from priority
Y10S707/99944G06F 12/0831
50
PatentIndex Score
11
Cited by
45
References
11
Claims

Abstract

A method of and system for managing cached data across disparate systems is disclosed. A system for providing cached data coherency includes: a client computer, an application server, a main database, one or more remote application servers, and a communication network interconnecting the client computer, the application server, the main database, and the one or more remote application servers. The application server being operable to respond to a data record being updated by the client computer, by: updating a cache local to the application server, updating the main database, generating a command object defining the updating of the data record, and sending the command object to the one or more remote application servers. The one or more remote application servers being operable to respond to the receipt of the command object by executing the command object, thereby storing the updated data record on caches local to the one or more remote application servers.

Claims

exact text as granted — not AI-modified
1. A method for preserving data coherency in a computer system, comprising:
 in a first software application,
 receiving a data record that is to be written to an entry in a local cache for the first software application, wherein the entry in the local cache is associated with an entry in a main database; 
 writing the data record in the entry in the local cache; 
 attempting to write the data record in the entry in the main database; and 
 if the write to the entry in the main database fails,
 restoring a prior state to the entry in the local cache for the first software application, discarding the data record, and generating an error signal to a user; but 
 
 if the write to the entry in the main database is successful,
 identifying the second software application as a software application that should execute the command object to write the data record in the entry in the local cache associated with the second software application; 
 producing a command object, wherein the command object is a software module that includes instructions for writing the data record in an entry in a local cache associated with a second software application; and 
 in a second software application, executing the command object to write the data record in the entry in the local cache associated with the second software application. 
 
 
 
   
   
     2. The method of  claim 1 , wherein when executing the command object, the method further comprises converting the data record into a data format used by the second software application. 
   
   
     3. The method of  claim 2 , wherein converting the data record involves:
 determining local parameters for the second software application; and 
 converting the data record into the data format used by the second software application in accordance with the local parameters. 
 
   
   
     4. The method of  claim 1 , wherein producing a command object involves adding functions for writing the data record in the entry in the local cache associated with the second software application from a library of functions to a template command object. 
   
   
     5. The method of  claim 1 , wherein the command object comprises a pluggable software module, and wherein executing the command object involves plugging the command object into the second software application. 
   
   
     6. The method of  claim 1 , wherein the first software application and the second software application are coupled to one another through a communication network. 
   
   
     7. The method of  claim 6 , wherein the communication network comprises the Internet. 
   
   
     8. The method of  claim 1 , wherein the first software application and the second software application run on different platforms. 
   
   
     9. The method of  claim 1 , wherein receiving a data record involves receiving a new data record or receiving an update to an existing data record. 
   
   
     10. A computer-readable storage medium containing instructions that when executed by a computer cause the computer to perform a method for preserving data coherency in a computer system, the method comprising:
 in a first software application,
 receiving a data record that is to be written to an entry in a local cache for the first software application, wherein the entry in the local cache is associated with an entry in a main database; 
 writing the data record in the entry in the local cache; 
 attempting to write the data record in the entry in the main database; and 
 if the write to the entry in the main database fails,
 restoring a prior state to the entry in the local cache for the first software application, discarding the data record, and generating an error signal to a user; but 
 
 if the write to the entry in the main database is successful,
 identifying the second software application as a software application that should execute the command object to write the data record in the entry in the local cache associated with the second software application; 
 producing a command object, wherein the command object is a software module that includes instructions for writing the data record in an entry in a local cache associated with a second software application; and 
 in a second software application, executing the command object to write the data record in the entry in the local cache associated with the second software application. 
 
 
 
   
   
     11. A system for preserving data coherency in a computer system, comprising:
 a client computer; 
 an application server; 
 a main database; 
 one or more remote application servers; and 
 a communication network interconnecting the client computer, the application server, the main database, and the one or more remote application servers; 
 the application server being operable to:
 receive a data record from a client computer that is to be written to an entry in a local cache for the application server, wherein a main database includes an entry associated with the entry in the local cache; 
 write the data record in the entry in the local cache; 
 attempt to write the data record in the entry in the main database; and 
 if the write to the entry in the main database fails,
 restore a prior state to the entry in the local cache for the first software application, discard the data record, and generate an error signal to a user; but 
 if the write to the entry in the main database is successful, 
 identify the second software application as a software application that should execute the command object to write the data record in the entry in the local cache associated with the second software application; 
 produce a command object, wherein the command object is a software module that includes instructions for writing the data record in an entry in a local cache associated with the one or more remote application servers; and 
 send the command object to the one or more remote application servers; 
 the one or more remote application servers being operable to execute the received command object, thereby storing the updated data record on caches local to the one or more remote application servers.

Join the waitlist — get patent alerts

Track US7328222B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.