Methods and systems for synchronizing multiple computing devices
First Claim
1. A computer network comprising:
- a master computing device comprising a configuration of resources, the master computing device being configured to develop a set of lists that describes aspects of its configuration of resources; and
a plurality of additional computing devices communicatively linked with the master computing device, each additional computing device comprising a configuration of resources that correspond, at least in part, to the configuration of resources of the master computing device, each additional computing device being configured to receive the lists that are developed by the master computing device and evaluate the lists to determine whether the particular configuration of resources corresponding to the respective computing device is synchronized with those of the master computing device, each additional computing device, responsive to evaluating the lists, is configured to;
prepare a second set of lists that describes the resource configuration needs corresponding to the respective computing device in the event that the additional computing device is not synchronized with the master computing device; and
send the second set of lists to the master computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for synchronizing a configuration of resources across multiple computing devices are described. Associated with the master computing device is a configuration of resources that are desired to be synchronized across the additional computing devices. The master computing device is configured to develop a list that describes aspects of its configuration of resources. Additional computing devices are configured to receive the list that is developed by the master computing device and evaluate the list to determine whether its particular configuration of resources is synchronized with those of the master computing device. If a particular additional computing device'"'"'s configuration of resources is not synchronized with those of the master computing device, the additional computing device prepares a second list that describes its resource configuration needs and sends the second list to the master computing device. The master computing device receives the second list, evaluates it, and sends data to the corresponding additional computing device for use in synchronizing its configuration of resources.
-
Citations
56 Claims
-
1. A computer network comprising:
-
a master computing device comprising a configuration of resources, the master computing device being configured to develop a set of lists that describes aspects of its configuration of resources; and
a plurality of additional computing devices communicatively linked with the master computing device, each additional computing device comprising a configuration of resources that correspond, at least in part, to the configuration of resources of the master computing device, each additional computing device being configured to receive the lists that are developed by the master computing device and evaluate the lists to determine whether the particular configuration of resources corresponding to the respective computing device is synchronized with those of the master computing device, each additional computing device, responsive to evaluating the lists, is configured to;
prepare a second set of lists that describes the resource configuration needs corresponding to the respective computing device in the event that the additional computing device is not synchronized with the master computing device; and
send the second set of lists to the master computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
receive the second set of lists from each of the additional computing devices;
evaluate the second set of lists to determine the resource configuration needs for, a corresponding additional computing device; and
send data to the corresponding additional computing device that can be used to synchronize the resource configurations for the corresponding additional computing device.
-
-
6. The computer network of claim 1, wherein all of the computing devices are configured to implement a common functionality.
-
7. The computer network of claim 1, wherein the lists comprise extensible markup language (XML) lists.
-
8. A computer network comprising:
-
a master server comprising a configuration of resources that define the content and settings for the master server, the master server being configured to develop a set of lists that describes aspects of its configuration of resources; and
a plurality of member servers communicatively linked with the master server, each member server having its own configuration of resources that correspond, at least in part, with those of the master server, each member server being configured to;
receive the set of lists that is developed by the master server;
evaluate the set of lists to determine whether its particular configuration of resources are synchronized with those of the master server; and
communicate to the master server any resource needs associated with an individual resource of its configuration of resources in the event the configuration of resources is found to be unsynchronized with the corresponding configuration of resources of the master server. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
evaluate a set of lists that pertains to its associated resource to determine whether the resource is synchronized with a corresponding resource of the master server; and
prepare a set of lists that describes resource needs that will synchronize the associated resource in the event that the associated resource is not synchronized with the corresponding resource of the master server.
-
-
11. The computer network of claim 10, wherein each driver is further configured to:
-
receive data from the master server for updating its associated resource; and
use the data that is received from the master server to update its associated resource.
-
-
12. The computer network of claim 8, wherein said aspects of the resource configurations that are described in the lists that are developed by the master server comprise at least one signature that represents a particular resource of the configuration of resources.
-
13. The computer network of claim 8, wherein each member server is configured to communicate to the master server by building a set of lists that describes its resource needs and communicating the set of lists to the master server.
-
14. The computer network of claim 13, wherein the master server is configured to:
-
receive the set of lists that is built by each member server, evaluate the set of lists that is received from each member server; and
send data to each of the member servers that enables the member servers to synchronize one or more resources that are not synchronized with those of the master server.
-
-
15. The computer network of claim 8, wherein the lists comprise extensible markup language (XML) lists.
-
16. A computing device comprising:
-
a master server comprising a configuration of resources that define the content and settings for the master server, the master server being configured to;
develop a set of lists that describes aspects of its configuration of resources;
send the set of lists to a plurality of member servers;
receive communications from the individual member servers responsive to sending the set of lists, the communications being capable of requesting data from the master server that enable the member servers to synchronize their configuration of resources with those of the master server; and
send data to a member server that can be used by the member server to synchronizers its configuration of resources. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computing device comprising:
-
one, or more server computers each of which comprising a configuration of resources tat define its content and settings, each server computer being configured to;
evaluate its own resources and request list of data that defines at least in part the configuration of resources that the server computer should have;
receive a set of update lists from a master server; and
update its configuration of resources using the lists that are received from the master server. - View Dependent Claims (23, 24, 25)
-
-
26. A computer-implemented method of synchronizing a configuration of resources on a plurality of computing devices comprising:
-
generating a set of lists that describes a configuration of resources that each of a plurality of computing devices should have in order to be synchronized with one another, the configuration of resources defining the content and the settings for each of the computing devices;
sending the set of lists to each of the computing devices;
receiving a response from one or more of the computing devices, each response requesting data that is needed in order to synchronize the configuration of resources for the corresponding computing device;
evaluating the response to determine what data is needed by a particular computing device to synchronize its resources; and
sending the data that is needed by the particular computing device to the computing device so that it can synchronize its resources. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
taking a signature of one or more resources of the configuration of resources; and
incorporating the signature into the set of lists.
-
-
31. The method of claim 26, wherein said sending of the data comprises embedding at least some of the data in the set of lists.
-
32. The method of claim 26, wherein the lists comprise extensible markup language (XML) lists.
-
33. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, implement the method of claim 26.
-
34. One or more programmable web servers, each web server comprising;
-
one or more processors;
memory associated with the one or more processors; and
software code stored in the memory which, when executed by the one or more processors, implements the method of claim 26.
-
-
35. A computer-implemented method of synchronizing a configuration of resources on a computing device comprising:
-
receiving a set of lists that describes a configuration of resources that a first computing device should have in order to be synchronized with a configuration of resources of a second computing device, the configurations of resources defining the content and settings for the first and second computing devices;
evaluating the set of lists to determine whether the first computing device'"'"'s configuration of resources is synchronized with the configuration of resources of the second computing device;
responsive to said evaluating and in the event that the first computing device'"'"'s configuration of resources is not synchronized with the configuration of resources;
of the second computing device, generating a response that contains information about resources that are needed for the first computing device in order to synchronize it with the configuration of resources of the second computing device;
sending the response to the second computing device;
responsive to said sending, receiving data from the second computing device that is to be used by the first computing device in order to synchronize it with the second computing device; and
synchronizing the first computing device using the data that was received from the second computing device. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
said evaluating comprises, for at least one of the drivers, using said at least one driver to evaluate only a portion of the set of lists that pertains to the resource with which the driver is associated; and
said generating comprises generating at least a portion of the response using said at least one driver.
-
-
40. The method of claim 35, wherein said receiving of the data comprises receiving a set of lists, at least some of the data being embedded in the set of lists.
-
41. The method of claim 35, wherein the lists comprise extensible markup language (XML) lists.
-
42. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, implement the method of claim 35.
-
43. A computer-implemented method of synchronizing resource configurations on a plurality of computing devices comprising:
-
generating a set of lists tat describes a configuration of resources that each of a plurality of computing devices should have in order to be synchronized with a master computing device, the configuration of resources defining the content and the settings for each of the computing devices;
sending the set of lists to each of the computing devices;
evaluating the set of lists at each of the computing devices to determine whether any resources of the configuration of resources of the individual computing devices are synchronized with the resource configurations of the master computing device;
if any of the individual computing devices are not synchronized with the master computing device;
generating a response for each computing device that describes data that is needed for a particular computing device in order for it to synchronize its configuration of resources with the configuration of resources of the master computing device;
sending the response to the master computing device;
evaluating the response at the master computing device to determine what configuration of resources is needed by the particular computing device that sent the response;
sending data that is needed by the particular computing device to the particular computing device so that it can synchronize itself; and
using the data that is sent, synchronizing the particular computing device. - View Dependent Claims (44, 45, 46, 47)
-
-
48. A server software architecture embodied on one or more computer-readable media for implementation on a computer server system, the server software architecture comprising:
-
a replication engine to handle communication between a master server and a plurality of member servers; and
at least one driver capable of communicating with the replication engine, the driver being associated with a particular resource that is resident on the master server, the driver being configured to;
prepare a list that describes characteristics of its associated resource; and
articulate the list to the replication engine;
the replication engine being configured to receive the list from the one driver, send the list to one or more of the member servers so that the member servers can use the list to synchronize a resource that corresponds to the resource with which the one driver is associated, and receive data from one or more of the member services describing resource needs of the particular member server in the event that a resource is determined not to be synchronized with the corresponding resource on the master server. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. A server software architecture embodied on one or more computer-readable media for implementation on a computer server system, the server software architecture comprising:
-
a first replication engine associated with a master server, the first replication engine handling communication between the master server and a plurality of member servers;
a plurality of master server drivers capable of communicating with the first replication engine, each master server driver being associated with a different;
resource that is resident on the master server and being configured to;
prepare a list that describes characteristics of its associated resource; and
articulate the list to the first replication engine;
the first replication engine being configured to receive a list from each of the master server drivers and send one or more lists to one or more of the member servers so that the member servers can use the one or more lists to synchronize one or more resources that correspond to resources that are resident on the master server;
a plurality of second replication engines each of which being associated with different ones of the plurality of member savers, the second replication engines handling communication between their associated member server and the master server and being configured to receive one or more lists that might be sent by the first replication engine; and
a collection of member server drivers associated with each of the member servers, each of the member server drivers of a collection being associated with a different resource that is resident on the associated member server, each member server driver being configured to;
evaluate the resource with which it is associated, in response to its second replication engine receiving a list from the first replication engine;
determine whether the resource is synchronized with a corresponding resource on the master server; and
prepare a response to the master server that describes resource needs of the member server in the event that a resource is determined not to be synchronized with the corresponding resource on the master server. - View Dependent Claims (55, 56)
-
Specification