IP Library Granted Patent US 7,966,285
Granted Patent B2
US 7,966,285 · App. 12/077,887 · Granted Jun 21, 2011

Synchronous peer-to-peer multipoint database synchronization

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,966,285
App. No.
12/077,887
Granted
Jun 21, 2011
Kind
B2
Abstract

A method of synchronizing databases between multiple users in a peer-to-peer network is disclosed. The method comprises extracting changes from a source database of one of the users. Next, the changes are compressed and sent to the other users in the peer-to-peer network in parallel. Finally, the changes are decompressed and replicated on the database of each of the other users. In this respect, the databases of the other users will contain all changes from the source database.

Claims (69)

1. An article of manufacture containing a non-transitory computer-readable storage medium having software stored thereon, the software comprising:

software for receiving a synchronization request;

software for determining that the synchronization request is to be accepted or refused;

software for extracting changes from a local database in response to accepting the synchronization request;

software for sending the extracted changes;

software for receiving aggregated changes, wherein the aggregated changes incorporate the extracted changes; and

software for updating the local database with the aggregated changes.

2. The article of manufacture of claim 1 , wherein the extracted changes are compressed before being sent.

3. The article of manufacture of claim 1 , wherein the aggregated changes are decompressed before updating the local database.

4. The article of manufacture of claim 1 , wherein the extracted changes are expunged after being sent.

5. The article of manufacture of claim 1 , wherein the aggregated changes are expunged after updating the local database.

6. An article of manufacture containing a non-transitory computer-readable storage medium having software stored thereon, the software comprising:

software for sending a synchronization request;

software for receiving extracted changes in response to acceptance of the synchronization request;

software for updating a local database with the extracted changes;

software for extracting aggregated changes from the local database, wherein the aggregated changes comprise the extracted changes; and

software for sending the aggregated changes.

7. The article of manufacture of claim 6 , wherein the software for updating the local database comprises software for updating the local database with a first set of extracted changes in the local database before beginning to update the local database with a second set of extracted changes.

8. The article of manufacture of claim 6 , wherein the aggregated changes are compressed before being sent.

9. The article of manufacture of claim 6 , wherein the extracted changes are decompressed before updating the local database.

10. The article of manufacture of claim 6 , wherein the extracted changes are expunged after updating the local database.

11. The article of manufacture of claim 6 , wherein the aggregated changes are expunged after being sent.

12. An apparatus comprising:

means for receiving a synchronization request;

means for determining that the synchronization request is to be accepted or refused;

means for extracting changes from a local database in response to accepting the synchronization request;

means for sending the extracted changes;

means for receiving aggregated changes, wherein the aggregated changes incorporate the extracted changes; and

means for updating the local database with the aggregated changes.

13. The apparatus of claim 12 , wherein the extracted changes are compressed before being sent.

14. The apparatus of claim 12 , wherein the aggregated changes are decompressed before updating the local database.

15. The apparatus of claim 12 , wherein the extracted changes are expunged after being sent.

16. The apparatus of claim 12 , wherein the aggregated changes are expunged after updating the local database.

17. An apparatus comprising:

means for storing data;

means for sending a synchronization request;

means for receiving extracted changes in response to acceptance of the synchronization request;

means for updating the means for storing data with the extracted changes;

means for extracting aggregated changes from means for storing data, wherein the aggregated changes comprise the extracted changes; and

means for sending the aggregated changes.

18. The apparatus of claim 17 , wherein means for updating comprise means for updating the means for data storage with a first set of extracted changes before beginning to update the means for data storage with a second set of extracted changes.

19. The apparatus of claim 17 , wherein the aggregated changes are compressed before being sent.

20. The apparatus of claim 17 , wherein the extracted changes are decompressed before updating the means for data storage.

21. The apparatus of claim 17 , wherein the extracted changes are expunged after updating the means for data storage.

22. The apparatus of claim 17 , wherein the aggregated changes are expunged after being sent.

23. A method comprising:

at a computer, receiving a synchronization request;

at the computer, determining that the synchronization request is to be accepted or refused;

at the computer, extracting changes from a local database in response to accepting the synchronization request;

sending the extracted changes from the computer;

receiving aggregated changes at the computer, wherein the aggregated changes incorporate the extracted changes; and

at the computer, updating the local database with the aggregated changes.

24. The method of claim 23 , wherein the computer is associated with a plurality of computers, and wherein the aggregated changes comprise changes from at least one computer in the plurality of computers other than the computer.

25. The method of claim 23 , wherein the extracted changes are compressed at the computer before being sent.

26. The method of claim 23 , wherein the aggregated changes are decompressed at the computer before updating the local database.

27. The method of claim 23 , wherein the extracted changes are expunged at the computer after being sent.

28. The method of claim 23 , wherein the aggregated changes are expunged after updating the local database.

29. A method comprising:

sending a synchronization request from an initiating computer;

receiving extracted changes at the initiating computer, in response to acceptance of the synchronization request;

at the initiating computer, updating a local database with the extracted changes;

at the initiating computer, extracting aggregated changes from the local database, wherein the aggregated changes comprise the extracted changes; and

sending the aggregate changes from the initiating computer.

30. The method of claim 29 , wherein updating the local database comprises updating the local database with a first set of extracted changes before beginning to update the local database with a second set of extracted changes.

31. The method of claim 29 , wherein the initiating computer is associated with a plurality of computers, and wherein sending the aggregate changes comprises sending the aggregate changes from the initiating computer to each computer in the plurality of computers.

32. The method of claim 29 , wherein the aggregated changes are compressed by the initiating computer before being sent.

33. The method of claim 29 , wherein the extracted changes are decompressed by the initiating computer before updating the local database.

34. The method of claim 29 , wherein the extracted changes are expunged by the initiating computer after updating the local database.

35. The method of claim 29 , wherein the aggregated changes are expunged by the initiating computer after being sent.

Assignments (3)
MERGER Recorded Jan 13, 2016
From: IONAPHAL DATA LIMITED LIABILITY COMPANY
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037514/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2009
From: COLLIGO NETWORKS, INC.
To: IONAPHAL DATA LIMITED LIABILITY COMPANY
Reel/Frame 022689/0368 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2008
From: SAWADSKY, NICHOLAS JUSTIN; SHI, DANIEL (YILIN); BLOCK, ANDREW EDWARD; BLACKSTOCK, MICHAEL ANTHONY; SPAAY, HENRICUS GERARDUS; RODRIGUEZ, DESIREE PAULA
To: COLLIGO NETWORKS, INC.
Reel/Frame 020740/0966 →