Adaptable Management In Sync Engines
First Claim
1. An adaptable synchronization system for syncing at least one sync item between a first computing device and a second computing device, the adaptable synchronization system comprising:
- an engine manager comprising the capability to review each sync item to attempt to identify pre-sync task requirements for each sync item, wherein a pre-sync task requirement comprises a pre-sync task that is to be performed for a sync item prior to the sync item being synchronized between a first computing device and a second computing device;
at least one pre-sync task runner wherein each pre-sync task runner comprises the capability to execute a pre-sync task for a sync item prior to the sync item being synchronized between a first computing device and a second computing device; and
a sync task runner comprising the capability to execute a sync task to synchronize a sync item between a first computing device and a second computing device.
1 Assignment
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.
-
Citations
20 Claims
-
1. An adaptable synchronization system for syncing at least one sync item between a first computing device and a second computing device, the adaptable synchronization system comprising:
-
an engine manager comprising the capability to review each sync item to attempt to identify pre-sync task requirements for each sync item, wherein a pre-sync task requirement comprises a pre-sync task that is to be performed for a sync item prior to the sync item being synchronized between a first computing device and a second computing device; at least one pre-sync task runner wherein each pre-sync task runner comprises the capability to execute a pre-sync task for a sync item prior to the sync item being synchronized between a first computing device and a second computing device; and a sync task runner comprising the capability to execute a sync task to synchronize a sync item between a first computing device and a second computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for adaptably processing at least two items concurrently for synchronization between a first computing device and at least a second computing device, the system comprising:
-
an engine manager comprising the capability to review each item to attempt to identify pre-sync task requirements for each item, wherein a pre-sync task requirement comprises a pre-sync task that is to be performed for an item prior to the item being synchronized between a first computing device and at least a second computing device, and wherein the engine manager further comprises the capability to establish a sync status equation for a first item wherein the sync status equation is used to calculate the sync status of the first item at any time t; at least one pre-sync task runner wherein each pre-sync task runner comprises the capability to execute a pre-sync task for an item prior to the item being synchronized between a first computing device and at least a second computing device, and wherein at least one pre-sync task runner comprises the capability to execute at least two processing threads concurrently wherein each processing thread executed by the pre-sync task runner comprises the pre-sync task runner'"'"'s efforts to perform a pre-sync task for one item and wherein the number of concurrently executing processing threads at a time t for the pre-sync task runner is determined by the number of items at time t that are identified as requiring execution of the pre-sync task runner; and a sync task runner comprising the capability to execute a sync task to synchronize an item between a first computing device and at least a second computing device, wherein the sync task runner comprises the capability to execute at least two processing threads concurrently wherein each processing thread executed by the sync task runner comprises the sync task runner'"'"'s efforts to synchronize one item between a first computing device and at least a second computing device and wherein the number of concurrently executing processing threads at a time t for the sync task runner is determined by the number of items at time t that are identified as requiring execution of the sync task runner. - View Dependent Claims (18)
-
-
19. A computer-readable medium having computer-executable instructions stored thereon that when executed by a processor of a computing device implement a method for adaptable synchronization of at least two sync items concurrently, the computer-readable medium comprising:
-
computer-executable instructions for identifying that a first pre-sync task is required to be performed for a first sync item; computer-executable instructions for identifying that the first pre-sync task is required to be performed for a second sync item being processed for adaptable synchronization concurrently with the first sync item; computer-executable instructions for launching a first task thread for performing the first pre-sync task for the first sync item; computer-executable instructions for launching a second task thread to perform the first pre-sync task for the second sync item at least partially concurrently with the execution of the first task thread; computer-executable instructions for launching a third task thread for performing a sync task comprising the capability to synchronize a sync item between a first computing device and at least a second computing device for the first sync item subsequent to a successful conclusion to the first task thread performing the first pre-sync task for the first item; and computer-executable instructions for launching a fourth task thread for performing the sync task for the second sync item subsequent to a successful conclusion to the second task thread performing the first pre-sync task for the second item and wherein the fourth task thread executes at least partially concurrently with the execution of the third task thread. - View Dependent Claims (20)
-
Specification