IP Library Granted Patent US 8,612,386
Granted Patent B2
US 8,612,386 · App. 13/025,908 · Granted Dec 17, 2013

Method and apparatus for peer-to-peer database synchronization in dynamic networks

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,612,386
App. No.
13/025,908
Granted
Dec 17, 2013
Kind
B2
Abstract

A distributed database synchronization capability is provided herein. The distributed database synchronization capability may be implemented using one or more of a timer-based scheme and a token-based scheme. The distributed database synchronization capability enables synchronization of databases of nodes in various types of networks, including dynamic networks (e.g., such as rapidly deployable wireless networks) and various other types of networks. The synchronization of databases may include synchronization of databases as a whole and/or portions of databases (which may include any suitable database table or tables). The distributed database synchronization capability enables synchronization of databases of nodes under various dynamic conditions (e.g., synchronization of databases of nodes within a cluster of nodes, synchronization of databases of nodes between clusters of nodes, synchronization of databases of nodes by administrative domain, and the like).

Claims (61)

1. An apparatus for building a database synchronization node list of a mobile network node (MNN) associated with an organization, the apparatus comprising:

a processor and a memory communicatively connected to the processor;

wherein the processor is configured to:

in response to a trigger condition, identify a plurality of mesh neighbor nodes of the MNN having wireless connectivity to the MNN;

for each of at least one of the mesh neighbor nodes of the MNN that is associated with the organization, enter the mesh neighbor node into the database synchronization node list of the MNN; and

for each of at least one of the mesh neighbor nodes of the MNN that is not associated with the organization, propagate a probe message from the MNN toward the mesh neighbor node via the wireless connection therebetween; wherein the processor is further configured to:

receive, from a neighbor node of the MNN, a probe message comprising an indication of an organization with which the neighbor node is associated;

determine whether the organization with which the MNN is associated and the organization with which the neighbor node is associated are the same;

when the organizations are the same, respond to the probe message with a probe response message without forwarding the probe message to any other nodes; and

when the organizations are different, forward the probe message to one or more mesh neighbor nodes of the MNN.

2. The apparatus of claim 1 , wherein the trigger condition is expiration of a periodic timer.

3. The apparatus of claim 1 , wherein at least one entry of the database synchronization node list comprises an Internet Protocol (IP) address of the node and a discovery timestamp indicative of a time at which the node was discovered, wherein the processor is configured to:

for at least one mesh neighbor node of the MNN associated with the organization, set the discovery timestamp of the entry of the database synchronization node list to the current time.

4. The apparatus of claim 1 , wherein at least one probe message comprises:

an Internet Protocol (IP) address of the MNN; and

an indication of the organization with which the MNN is associated.

5. The apparatus of claim 4 , wherein at least one probe message further comprises at least one of:

a hop counter;

a backhaul indicator; and

an IP address of a backhaul gateway.

6. The apparatus of claim 1 , wherein the processor is for configured to:

receive a probe response message at the MNN, wherein the probe response message identifies the mesh neighbor node of the MNN from which the probe response message is received.

7. The apparatus of claim 6 , wherein the processor is configured to:

determine whether the mesh neighbor node from which the probe response message is received is listed in the database synchronization node list.

8. The apparatus of claim 7 , wherein the processor is configured to:

when the mesh neighbor node from which the probe response message is received is not listed in the database synchronization node list, add the mesh neighbor node from which the probe response message is received to the database synchronization node list.

9. The apparatus of claim 7 , wherein at least one entry of the database synchronization node list comprises an Internet Protocol (IP) address of the node and a discovery timestamp indicative of a time at which the node was discovered, wherein the processor is configured to:

when the mesh neighbor node from which the probe response message is received is listed in the database synchronization node list, update the discovery timestamp of the entry of the database synchronization node list that is associated with the mesh neighbor node to include the current time.

10. The apparatus of claim 1 , wherein the processor is configured to:

select, by the MNN, a node from the database synchronization node list; and

initiate, by the MNN, a database synchronization process for synchronizing the database of the MNN with a database of the selected node.

11. A method for building a database synchronization node list of a mobile network node (MNN) associated with an organization, the method comprising:

using a processor for:

in response to a trigger condition, identifying each of a plurality of mesh neighbor nodes of the MNN having wireless connectivity to the MNN;

for each of at least one of the mesh neighbor nodes of the MNN that is associated with the organization, entering the mesh neighbor node into the database synchronization node list of the MNN;

for each of at least one of the mesh neighbor nodes of the MNN that is not associated with the organization, propagating a probe message from the MNN toward the mesh neighbor node via the wireless connection therebetween

receiving, from a neighbor node of the MNN, a probe message comprising an indication of an organization with which the neighbor node is associated;

determining whether the organization with which the MNN is associated and the organization with which the neighbor node is associated are the same;

when the organizations are the same, responding to the probe message with a probe response message without forwarding the probe message to any other nodes; and

when the organizations are different, forwarding the probe message to one or more mesh neighbor nodes of the MNN.

12. The method of claim 11 , further comprising:

receiving a probe response message at the MNN, wherein the probe response message identifies the mesh neighbor node of the MNN from which the probe response message is received;

determining whether the mesh neighbor node from which the probe response message is received is listed in the database synchronization node list; and

when the mesh neighbor node from which the probe response message is received is not listed in the database synchronization node list, adding the mesh neighbor node from which the probe response message is received to the database synchronization node list.

13. A mobile network node (MNN) associated with an organization and comprising a database, the MNN comprising:

a processor and a memory communicatively connected to the processor, the processor configured to:

select, by the MNN, a neighbor node associated with the organization, the selected neighbor node being one of a plurality of neighbor nodes of the MNN that are associated with the organization, the selected neighbor node including a database;

initiate, by the MNN, a database synchronization process for synchronizing the database of the MNN with the database of the selected neighbor node, wherein the database synchronization process comprises:

sending a database synchronization request message from the MNN toward the selected neighbor node;

receiving, at the MNN, a database synchronization response message comprising a checksum list for the database of the selected neighbor node;

comparing the checksum list for the database of the selected neighbor node with a checksum list for the database of the MNN; and

when a determination is made that one or more of the compared checksums do not match, sending a database table synchronization request message configured for requesting, from the selected neighbor node, data from the database of the selected neighbor node that is determined not to match data of the database of the MNN.

14. The apparatus of claim 13 , wherein the selected neighbor node is selected from a neighbor node list maintained on the MNN, wherein the neighbor node list includes the plurality of neighbor nodes of the MNN that are associated with the organization.

15. The apparatus of claim 14 , where, for at least one of the neighbor nodes listed in the neighbor node list, the neighbor node has associated therewith a synchronization timestamp indicative of the last time a database synchronization was performed between the MNN and the neighbor node.

16. The apparatus of claim 15 , wherein the selected neighbor node is the one of the plurality of neighbor nodes having an earliest synchronization timestamp associated therewith.

17. The apparatus of claim 14 , wherein the processor is configured to populate the neighbor node list maintained on the MNN by:

in response to a trigger condition, identifying a plurality of mesh neighbor nodes of the MNN having wireless connectivity to the MNN;

for each of at least one of the mesh neighbor nodes of the MNN that is associated with the organization, entering the mesh neighbor node into the neighbor node list of the MNN; and

for each of at least one of the mesh neighbor nodes of the MNN that is not associated with the organization, propagating a probe message from the MNN toward the mesh neighbor node via the wireless connection therebetween.

18. The apparatus of claim 14 , wherein at least one of the neighbor nodes maintained in the neighbor node list has a discovery timestamp associated therewith, wherein the processor is configured to:

remove one of the neighbor nodes from the neighbor node list in response to a determination that its discovery timestamp satisfies a threshold.

Assignments (14)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 027909/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2011
From: TIEN, CHIENWEN; MILLER, RAYMOND B., MR.; LEU, JIH-TSANG; PATEL, PRAVIR A.; DAS, SUMAN; LAMBA, JAIDEEP SINGH; LE, LIEM
To: ALCATEL-LUCENT USA INC.
Reel/Frame 026081/0155 →