Search based specification for data synchronization
First Claim
1. A method to synchronize information between a first computing device and a second computing device, comprising:
- at the first computing device having one or more processors and memory storing programs for execution by the one or more processors;
obtaining search criteria for synchronizing electronic messages between the first computing device and the second computing device, wherein;
the search criteria relate to labels associated with the electronic messages, wherein the labels are distinct from contents of the electronic messages;
the search criteria include;
a first set of search criteria, the first set of search criteria including a criterion specifying that the first set of electronic messages include electronic messages associated with labels in a first set of one or more labels, wherein within the first set of search criteria the labels in the first set of one or more labels are ordered in a first order, anda second set of search criteria different from the first set of search criteria, the second set of search criteria including a criterion specifying that the second set of electronic messages include electronic messages associated with labels in a second set of one or more labels, wherein within the second set of search criteria the labels in the second set of one or more labels are ordered in a second order;
the first set of search criteria is associated with a first time-frame; and
the second set of search criteria is associated with a second time-frame that does not overlap the first time-frame;
initiating a concurrent search of (i) a first set of matching electronic messages from the first time-frame in accordance with the first set of search criteria, wherein the first set of matching electronic messages are ordered in accordance with the first order of the first set of one or more labels, and (ii) a second set of matching electronic messages from the second time-frame in accordance with the second set of search criteria, wherein the second set of matching electronic messages are ordered in accordance with the second order of the second set of one or more labels; and
concurrent with the search of the first set of matching electronic messages;
synchronizing the first set of matching electronic messages between the first computing device and the second computing device in accordance with the ordering of the first set of matching electronic messages.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for a search based specification for data synchronization are described. In some embodiments, a method to synchronize information of a client device from a server includes, at a client, receiving a communication from a server to synchronize information between the client device and the server, wherein the information is selected from all application data on the server by a search mechanism in accordance with one or more one or more search criteria, and the information is arranged in an order prior to transmission from the server; and performing operations to synchronize application data on the client in accordance with at least portions of the information received from the server. Other embodiments are also described.
29 Citations
18 Claims
-
1. A method to synchronize information between a first computing device and a second computing device, comprising:
at the first computing device having one or more processors and memory storing programs for execution by the one or more processors; obtaining search criteria for synchronizing electronic messages between the first computing device and the second computing device, wherein; the search criteria relate to labels associated with the electronic messages, wherein the labels are distinct from contents of the electronic messages; the search criteria include; a first set of search criteria, the first set of search criteria including a criterion specifying that the first set of electronic messages include electronic messages associated with labels in a first set of one or more labels, wherein within the first set of search criteria the labels in the first set of one or more labels are ordered in a first order, and a second set of search criteria different from the first set of search criteria, the second set of search criteria including a criterion specifying that the second set of electronic messages include electronic messages associated with labels in a second set of one or more labels, wherein within the second set of search criteria the labels in the second set of one or more labels are ordered in a second order; the first set of search criteria is associated with a first time-frame; and the second set of search criteria is associated with a second time-frame that does not overlap the first time-frame; initiating a concurrent search of (i) a first set of matching electronic messages from the first time-frame in accordance with the first set of search criteria, wherein the first set of matching electronic messages are ordered in accordance with the first order of the first set of one or more labels, and (ii) a second set of matching electronic messages from the second time-frame in accordance with the second set of search criteria, wherein the second set of matching electronic messages are ordered in accordance with the second order of the second set of one or more labels; and concurrent with the search of the first set of matching electronic messages; synchronizing the first set of matching electronic messages between the first computing device and the second computing device in accordance with the ordering of the first set of matching electronic messages. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A first computing device for communicating with a second computing device, comprising:
-
one or more processors; a memory coupled to the one or more processors; and one or more programs, stored in the memory, configured for execution by the one or more processors, the one or more programs comprising instructions to; obtain search criteria for synchronizing electronic messages between the first computing device and the second computing device, wherein; the search criteria relate to labels associated with the electronic messages, wherein the labels are distinct from contents of the electronic messages; the search criteria include; a first set of search criteria, the first set of search criteria including a criterion specifying that the first set of electronic messages include electronic messages associated with labels in a first set of one or more labels, wherein within the first set of search criteria the labels in the first set of one or more labels are ordered in a first order, and a second set of search criteria different from the first set of search criteria, the second set of search criteria including a criterion specifying that the second set of electronic messages include electronic messages associated with labels in a second set of one or more labels, wherein within the second set of search criteria the labels in the second set of one or more labels are ordered in a second order; the first set of search criteria is associated with a first time-frame; and the second set of search criteria is associated with a second time-frame that does not overlap the first time-frame; initiate a concurrent search of (i) a first set of matching electronic messages from the first time-frame in accordance with the first set of search criteria, wherein the first set of matching electronic messages are ordered in accordance with the first order of the first set of one or more labels, and (ii) a second set of matching electronic messages from the second time-frame in accordance with the second set of search criteria, wherein the second set of matching electronic messages are ordered in accordance with the second order of the second set of one or more labels; and concurrent with the search of the first set of matching electronic messages; synchronize the first set of matching electronic messages between the first computing device and the second computing device in accordance with the ordering of the first set of matching electronic messages. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a first computing device with one or more processors, cause the first computing device to:
-
obtain search criteria for synchronizing electronic messages between the first computing device and a second computing device, wherein; the search criteria relate to labels associated with the electronic messages, wherein the labels are distinct from contents of the electronic messages; the search criteria include; a first set of search criteria, the first set of search criteria including a criterion specifying that the first set of electronic messages include electronic messages associated with labels in a first set of one or more labels, wherein within the first set of search criteria the labels in the first set of one or more labels are ordered in a first order, and a second set of search criteria different from the first set of search criteria, the second set of search criteria including a criterion specifying that the second set of electronic messages include electronic messages associated with labels in a second set of one or more labels, wherein within the second set of search criteria the labels in the second set of one or more labels are ordered in a second order; the first set of search criteria is associated with a first time-frame; and the second set of search criteria is associated with a second time-frame that does not overlap the first time-frame; initiate a concurrent search of (i) a first set of matching electronic messages from the first time-frame in accordance with the first set of search criteria, wherein the first set of matching electronic messages are ordered in accordance with the first order of the first set of one or more labels, and (ii) a second set of matching electronic messages from the second time-frame in accordance with the second set of search criteria, wherein the second set of matching electronic messages are ordered in accordance with the second order of the second set of one or more labels; and concurrent with the search of the first set of matching electronic messages; synchronize the first set of matching electronic messages between the first computing device and the second computing device in accordance with the ordering of the first set of matching electronic messages. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification