IP Library Granted Patent US 7,680,879
Granted Patent B2
US 7,680,879 · App. 11/359,970 · Granted Mar 16, 2010

Method and apparatus for maintaining data integrity across distributed computer systems

Assignee: Computer Associates Think, Inc.
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,680,879
App. No.
11/359,970
Granted
Mar 16, 2010
Kind
B2
Abstract

A method and apparatus are generally disclosed for maintaining data integrity across distributed computer systems. In one embodiment, the method of the invention includes the step of transmitting an object from a server application to a client application. The method also includes the step of transmitting an object state from the server application to the client application. The method further includes the steps of synchronizing the object and object state between the server application and the client application, and updating the object by invoking a server application method after the step of synchronizing. An apparatus and article of manufacture for carrying out the steps of the method are also disclosed.

Claims (40)

1. A method for maintaining the integrity of data stored throughout a distributed computer system, the method comprising:

identifying an object to be persisted;

determining a selected one of a plurality of database providers for persistently storing the object, the selected database provider selected based on a schema associated with a database of the selected database provider; and

storing the object with the selected database provider.

2. The method of claim 1 , wherein the step of determining includes the step of selecting the database provider based on an association with a schema defined in a database maintained by the database provider.

3. The method of claim 1 , wherein the step of determining includes the step of selecting the database provider based on a database associated with the class to which the object belongs.

4. The method of claim 1 , wherein the step of determining includes the step of selecting the database provider based on a dynamic association of a database to the class to which the object belongs.

5. The method of claim 1 , wherein the plurality of database providers provide a plurality of databases having database schemas that are inconsistent with each other.

6. The method of claim 1 , further comprising creating a reachability relationship between the object and at least one other object, the at least one other object stored with another one of the plurality of database providers, the reachability relationship accommodating a first schema of the selected database provider and a second schema of the other one of the plurality of database providers.

7. The method of claim 1 , further comprising:

identifying at least one additional object that has a reachability relationship with the object; and

marking the additional object for persistent storage.

8. A system for maintaining the integrity of data stored throughout a distributed computer system, the system comprising:

a plurality of databases provided by a plurality of information providers;

a processor in communication with the plurality of databases, the processor operable to:

identify an object to be persisted;

determine a selected one of a plurality of database providers for persistently storing the object, the selected database provider selected based on a schema associated with a database of the selected database provider; and

store the object with the selected database provider.

9. The system of claim 8 , wherein the processor is further operable to determine the selected database provider based on an association with a schema defined in a database maintained by the database provider.

10. The system of claim 8 , wherein the processor is further operable to determine the selected database provider based on a database associated with the class to which the object belongs.

11. The system of claim 8 , wherein the processor is further operable to determine the selected database provider based on a dynamic association of a database to the class to which the object belongs.

12. The system of claim 8 , wherein the plurality of databases have a plurality of associated database schemas that are inconsistent with each other.

13. The system of claim 8 , wherein the processor is further operable to:

create a reachability relationship between the object and at least one other object, the at least one other object stored with another one of the plurality of database providers, the reachability relationship accommodating a first schema of the selected database provider and a second schema of the other one of the plurality of database providers.

14. The system of claim 8 , wherein the processor is further operable to:

identify at least one additional object that has a reachability relationship with the object; and

mark the additional object for persistent storage.

15. Software for maintaining the integrity of data stored throughout a distributed computer system, the software comprising a program of instructions encoded on the computer-readable medium, the program of instructions operable when executed by a processor to:

identify an object to be persisted;

determine a selected one of a plurality of database providers for persistently storing the object, the selected database provider selected based on a schema associated with a database of the selected database provider; and

store the object with the selected database provider.

16. The software of claim 15 , further operable to determine the selected database provider based on an association with a schema defined in a database maintained by the database provider.

17. The software of claim 15 , further operable to determine the selected database provider based on a database associated with the class to which the object belongs.

18. The software of claim 15 , further operable to determine the selected database provider based on a dynamic association of a database to the class to which the object belongs.

19. The software of claim 15 , wherein the plurality of databases have a plurality of associated database schemas that are inconsistent with each other.

20. The software of claim 15 , further operable to:

create a reachability relationship between the object and at least one other object, the at least one other object stored with another one of the plurality of database providers, the reachability relationship accommodating a first schema of the selected database provider and a second schema of the other one of the plurality of database providers.

21. The software of claim 15 , further operable to:

identify at least one additional object that has a reachability relationship with the object; and

mark the additional object for persistent storage.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2006
From: BATTAT, REUVEN; HER, MICHAEL; SUNDARESH, CHANDRASEKHA; VINBERG, ANDERS; WANG, SIDNEY
To: COMPUTER ASSOCIATES INTERNATIONAL, INC.
Reel/Frame 017800/0359 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2006
From: COMPUTER ASSOCIATES INTERNATIONAL, INC.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 017800/0370 →
Continuity (6)
Continuation 0955923700 · Apr 26, 2000
Continuation In Part 0940821300 · Sep 27, 1999
Continuation 0889291900 · Jul 15, 1997
Provisional Application 6013101900 · Apr 26, 1999
Provisional Application 6002198000 · Jul 18, 1996
Related Publication 20060143239A1 · Jun 29, 2006