Synchronization of mutually shared data stored on network devices
First Claim
1. A method of resynchronizing copies of mutually shared data stored by a network device and a second network device, the method comprising:
- receiving a plurality of messages from the second network device coupled to the network device via a network using an agreed-order protocol that requires the network device and the second network device to exchange and process the messages in a defined order in accordance with a sequence number within each of the messages,wherein the plurality of messages includes one or more messages containing change instructions to modify the mutually shared data and at least one message containing a unique identifier,wherein each of the network device and the second network device maintain a respective journal, andwherein the unique identifier received from the second device is a bookmark recorded in an entry in the journal of the second device and indicates that the second device has processed all change instructions that preceded the unique identifier in the journal of the second device to modify a copy of the mutually shared data stored on the second device;
recording the change instructions and the unique identifier in respective entries of the journal of the network device in chronological order in which the change instructions and the unique identifier were sent by the second network device;
storing the exchanged unique identifiers and change instructions in an inbound message queues of the network device;
receiving a token from the second network device;
determining, based at least in part on the token, whether an interruption has occurred in a connection between the network device and the network; and
responsive to determining that the interruption occurred, resynchronizing the mutually shared data of the network device by at least sending a resynchronization request to the second network device that includes a sequence of unique identifiers recorded in the journal of the network device.
12 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for resynchronizing mutually shared data stored on network devices of a computer network. Upon receiving change instruction and globally unique identifier (GUID) messages, each of the network devices records the change instructions and GUIDs in a journal of the network device. When communication is lost for a period of time between a first network device and a second network device, the mutually shared data of the first network device may need to be resynchronized with the mutually shared data of the second network device. The techniques described herein allow resynchronization of the mutually shared data of the first network device based on a common GUID recorded in the journals of both first and second network devices, the journal of the first network device, and the journal of the second network device.
28 Citations
42 Claims
-
1. A method of resynchronizing copies of mutually shared data stored by a network device and a second network device, the method comprising:
-
receiving a plurality of messages from the second network device coupled to the network device via a network using an agreed-order protocol that requires the network device and the second network device to exchange and process the messages in a defined order in accordance with a sequence number within each of the messages, wherein the plurality of messages includes one or more messages containing change instructions to modify the mutually shared data and at least one message containing a unique identifier, wherein each of the network device and the second network device maintain a respective journal, and wherein the unique identifier received from the second device is a bookmark recorded in an entry in the journal of the second device and indicates that the second device has processed all change instructions that preceded the unique identifier in the journal of the second device to modify a copy of the mutually shared data stored on the second device; recording the change instructions and the unique identifier in respective entries of the journal of the network device in chronological order in which the change instructions and the unique identifier were sent by the second network device; storing the exchanged unique identifiers and change instructions in an inbound message queues of the network device; receiving a token from the second network device; determining, based at least in part on the token, whether an interruption has occurred in a connection between the network device and the network; and responsive to determining that the interruption occurred, resynchronizing the mutually shared data of the network device by at least sending a resynchronization request to the second network device that includes a sequence of unique identifiers recorded in the journal of the network device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A network device comprising:
-
a programmable processor; a database to store data mutually shared between the network device and a second network device; an inbound message queue to store messages received from the second network device using an agreed-order protocol that requires the network device and the second network device to exchange and process the messages in a defined order in accordance with a sequence number within each of the messages, wherein the messages include one or more messages of a first type containing change instructions to modify the mutually shared data and one or more messages of a second type each containing a unique identifier, and wherein each of the unique identifiers received from the second device is a bookmark recorded in an entry of a journal of the second device and indicates that the second device has processed all change instructions that preceded the unique identifier in the journal of the second device; a non-transitory computer-readable medium to store a journal having a plurality of entries to record the change instructions and the unique identifiers in a chronological order in which the second network device sent the change instructions and the unique identifiers to the network device; and a synchronization service module operable by the programmable processor to receive a token from the second network device, determine, based at least in part on the token, whether an interruption has occurred in a connection between the network device and the network, and responsive to determining that the interruption occurred, and resynchronize the mutually shared data of the network device by sending a resynchronization request to the second network device that includes a sequence of the unique identifiers recorded in the journal of the network device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A non-transitory computer-readable storage medium storing instructions for resynchronizing mutually shared data stored by a network device and a second network device, the instructions comprising instructions that cause a programmable processor to:
-
receive a plurality of messages from a second network device coupled to the network device via a network using an agreed-order protocol that requires the network device and the second network device to exchange and process the messages in a defined order in accordance with a sequence number within each of the messages, wherein the plurality of messages includes one or more messages containing change instructions to modify the mutually shared data and at least one message of containing a unique identifier, wherein each of the network device and the second network device maintain a respective journal, and wherein the unique identifier received from the second device is a bookmark recorded in an entry in the journal of the second device and indicates that the second device has processed all change instructions that preceded the unique identifier in the journal of the second device to modify the shared data stored on the second device; record the change instructions and the unique identifier in respective entries of the journal of the network device in chronological order in which the change instructions and unique identifiers were sent by the second network device; store the exchanged unique identifiers and change instructions in an inbound message queue of the network device; receive a token from the second network device; determine, based at least in part on the token, whether an interruption has occurred in a connection between the network device and the network; and responsive to determining that the interruption occurred, resynchronize the mutually shared data of the network device by sending a resynchronization request to the second network device that includes a sequence of unique identifiers recorded in the network device. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
Specification