ADAPTABLE MANAGEMENT IN SYNC ENGINES
First Claim
1. A method for adaptable synchronization of two or more sync items, the method comprising:
- identifying that a first pre-sync task is required for a first sync item of the two or more sync items;
storing a designation of the first pre-sync task for the first sync item;
identifying that the first pre-sync task is required for a second sync item of the two or more sync items;
storing a designation of the first pre-sync task for the second sync item;
storing a designation of a sync task for the first sync item;
storing a designation of the sync task for the second sync item;
launching a first task thread for performing the first pre-sync task for the first sync item;
launching a second task thread to perform the first pre-sync task for the second sync item concurrently with the first task thread;
establishing a first sync status equation for the first sync item wherein the first sync status equation is used to calculate the sync status of the first sync item at any time t and wherein the first sync status equation comprises a first percent wherein the first percent is an estimated percentage of processing time for finalizing synchronization of the first sync item for processing the first pre-sync task for the first sync item;
establishing a second sync status equation for the second sync item wherein the second sync status equation is used to calculate the sync status of the second sync item at any time t and wherein the second sync status equation comprises a second percent wherein the second percent is an estimated percentage of processing time for finalizing synchronization of the second sync item for processing the first pre-sync task for the second sync item; and
establishing a sync set status equation for the two or more sync items wherein the sync set status equation comprises a sum of the first sync status and the second sync status.
2 Assignments
0 Petitions
Accused Products
Abstract
Synchronization of two or more items can be optimized through the use of parallel execution of synchronization tasks and adaptable processing that monitors and adjusts for system loading. Two or more synchronization tasks required to be performed for an item can, if not inherently serial in nature, be performed in parallel, optimizing synchronization of the item. Even if multiple synchronization tasks required for one item must be serially executed, e.g., download the item prior to translating the item, these synchronization tasks can be executed in parallel for different items, optimizing a download request involving two or more items. Moreover, multiple threads for one or more synchronization tasks can be concurrently executed when supportable by the current operating system resources. Rules can be established to ensure synchronization activity is not degraded by the overextension of system resources.
41 Citations
20 Claims
-
1. A method for adaptable synchronization of two or more sync items, the method comprising:
-
identifying that a first pre-sync task is required for a first sync item of the two or more sync items; storing a designation of the first pre-sync task for the first sync item; identifying that the first pre-sync task is required for a second sync item of the two or more sync items; storing a designation of the first pre-sync task for the second sync item; storing a designation of a sync task for the first sync item; storing a designation of the sync task for the second sync item; launching a first task thread for performing the first pre-sync task for the first sync item; launching a second task thread to perform the first pre-sync task for the second sync item concurrently with the first task thread; establishing a first sync status equation for the first sync item wherein the first sync status equation is used to calculate the sync status of the first sync item at any time t and wherein the first sync status equation comprises a first percent wherein the first percent is an estimated percentage of processing time for finalizing synchronization of the first sync item for processing the first pre-sync task for the first sync item; establishing a second sync status equation for the second sync item wherein the second sync status equation is used to calculate the sync status of the second sync item at any time t and wherein the second sync status equation comprises a second percent wherein the second percent is an estimated percentage of processing time for finalizing synchronization of the second sync item for processing the first pre-sync task for the second sync item; and establishing a sync set status equation for the two or more sync items wherein the sync set status equation comprises a sum of the first sync status and the second sync status. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for synchronizing two or more items, the method comprising:
-
establishing a first rule for governing the number of items that can have a first pre-sync task performed on them concurrently; identifying that the first pre-sync task is required for a first item of the two or more items; launching a first task thread for performing the first pre-sync task for the first item; identifying that the first pre-sync task is required for a second item of the two or more items; launching a second task thread to perform the first pre-sync task for the second sync item concurrently with the first task thread when the first rule will not be violated by launching the second task thread concurrently with the first task thread; establishing a second rule for governing the number of items that can have a second pre-sync task performed on them concurrently; identifying that the second pre-sync task is required for the first item of the two or more items; launching a task thread for performing the second pre-sync task for the first item if the second rule will not be violated by launching the task thread for performing the second pre-sync task for the first item and either the first task thread is completed or the first pre-sync task and the second pre-sync task can be performed concurrently for the first item; and syncing the first item when all pre-sync tasks required for the first item are successfully completed. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system for adaptable synchronization of one or more sync items, the system comprising:
-
an engine manager comprising a master queue, wherein the engine manager reviews each of the one or more sync items for pre-sync task requirements, the engine manager establishes an entry in the master queue for each of the one or more sync items, and the engine manager sets a flag in each entry in the master queue for a pre-sync task required to be performed for the sync item; one or more pre-sync task runners wherein each of the one or more pre-sync task runners executes a pre-sync task for the one or more sync items, each pre-sync task runner comprises a task runner queue, each pre-sync task runner establishes an entry in their task runner queue for each sync item of the one or more sync items requiring the pre-sync task executed by the pre-sync task runner, and at least one pre-sync task runner can execute two or more processing threads concurrently wherein the number of concurrent executing processing threads at a time t is dictated by the number of sync items identified in the pre-sync task'"'"'s task runner queue and a rule established to define the upper limit of the number of concurrent processing threads for the pre-sync task runner; and a sync task runner for syncing the one or more sync items between a first computing device and a second computing device, the sync task runner comprising a sync task runner queue wherein the sync task runner establishes an entry in the sync task runner queue for each of the one or more sync items. - View Dependent Claims (19, 20)
-
Specification