Synchronizing data among a federation of servers with intermittent or low signal bandwidth
AssigneeThe MITRE Corporation
InventorNazario Irizarry, Jr.
Life of this patent
Estimating the term…
Abstract
A computerized-method of synchronizing data among a federation of servers interconnected over a network that has intermittent or low signal transmission bandwidth is provided. Each server in the federation of servers can receive update messages, determines connection status, maintain data catalogs and transmits updates such that nodes in the federation of servers are synchronized.
Claims16
A computerized-method of synchronizing data among a federation of servers interconnected over a network having at least one of intermittent or low signal transmission bandwidth, comprising:
- receiving, by a first server that is part of the federation of servers, an update message from one or more servers that is part of the federation of servers, wherein the federation of servers comprises at least three servers;
- determining, by the first server, a connection status for one or more servers in the federation of servers, wherein the connection status comprises the first server being fully connected, partially connected or disconnected from each server of the one or more servers;
- maintaining, by the first server, (i) a catalog of data sets that reside on the first server based on the status and the update message received from one or more of the servers in the federation of servers, and (ii) a checksum tree for each data set comprising one or more levels of tree nodes;
- determining, by the first server, a checksum value based on a checksum tree for each data set the first server is an authority;
- transmitting, by the first server, the checksum value and a maximum rate at which the first server can receive message to each server in the federation of servers;
- determining, by the first server, if each data set that resides on the first server is erroneous based on the connection status, the catalog, and the checksum tree of the corresponding data set;
- identifying, by the first server, for each erroneous data set, at least a mismatched portion of the corresponding checksum tree that correlates to a section of the erroneous data set requiring synchronization, the mismatched portion of the checksum tree being determined based on the one or more levels of the checksum tree;
- transmitting, by the first server, one or more update requests to each server of the federation of servers that is an authoritative server of one or more of the erroneous data sets;
- and
- synchronizing, by the first server, the erroneous data sets that reside on the first server by receiving one or more responses to the one or more update requests, wherein synchronization occurs at the section of each erroneous data set identified by the mismatched portion of the checksum tree.
A computer program product tangibly embodied in a non-transitory machine-readable storage device for synchronizing data among a federation of servers interconnected with intermittent and low bandwidth, the computer program product being operable to cause a first server that is part of a federation of servers to:
- receive an update message from one or more servers that is part of the federation of servers, wherein the federal of servers comprises at least three servers;
- determine a connection status for one or more servers in the federation of servers:
- wherein the connection status comprises the first server being fully connected, partially connected or disconnected from each server of the one or more servers;
- maintain (i) a catalog for each data set that resides on the first server based on the status and the update message received from one or more of the servers in the federation of servers, and (ii) a checksum tree for each data set comprising one or more levels of tree nodes:
- determine, by the first server, a checksum value based on a checksum tree for each data set the first server is an authority;
- transmit, by the first server, the checksum value and a maximum rate at which the first server can receive message to each server in the federation of servers;
- determine if each data set that resides on the first server is erroneous based on the connection status, the catalog, and the checksum tree of the corresponding data set;
- identify, for each erroneous data set, at least a mismatched portion of the corresponding checksum tree that correlates to a section of the erroneous data set requiring synchronization, the mismatched portion of the checksum tree being determined based on the one or more levels of the checksum tree;
- transmit one or more update requests to each server of the federation of servers that is an authoritative server of one or more of the erroneous data sets;
- and
- synchronize the erroneous data sets that reside on the first server by receiving one or more responses to the one or more update requests, wherein synchronization occurs at the section of each erroneous data set identified by the mismatched portion of the checksum tree.
Dependencies are inferred from the claim text.