Platform for Continuous Mobile-Cloud Services
First Claim
1. A method of managing workload of a data stream, the method comprising:
- receiving the data stream from a plurality of mobile devices;
translating a logical plan for processing the data stream into a physical plan that enables deployment of a plurality of workers in a cloud-computing system to process the data stream;
assigning the data stream to the plurality of workers for processing based at least in part on the physical plan;
reallocating work between the plurality of workers to maintain a utilization of each worker between a minimum threshold and a maximum threshold; and
creating checkpoints during the processing of the data stream to enable failure recovery by rolling back to a last checkpoint during a recovery process after occurrence of a failure by at least one of the plurality of workers.
2 Assignments
0 Petitions
Accused Products
Abstract
Data that is collected and disseminated by mobile devices typically has to be processed, correlated with other data, aggregated, and then transmitted back to the mobile device users before the information becomes stale or otherwise irrelevant. These operations may be performed in a cloud-based solution that manages dataflow. The cloud-based solutions may be scalable and implemented in a fault-tolerant distributed system to support user-facing continuous sensing and processing services in the cloud-computing system. A system may monitor execution of data and shift workloads (i.e., balancing) in response to spatial and temporal load imbalances that occur in a continuous computing environment. A failure recovery protocol may be implemented that uses a checkpoint-based partial rollback recovery mechanism with selective re-execution, which may allow recovery of the continuous processing after an error while avoiding large amounts of downtime and re-execution.
-
Citations
20 Claims
-
1. A method of managing workload of a data stream, the method comprising:
-
receiving the data stream from a plurality of mobile devices; translating a logical plan for processing the data stream into a physical plan that enables deployment of a plurality of workers in a cloud-computing system to process the data stream; assigning the data stream to the plurality of workers for processing based at least in part on the physical plan; reallocating work between the plurality of workers to maintain a utilization of each worker between a minimum threshold and a maximum threshold; and creating checkpoints during the processing of the data stream to enable failure recovery by rolling back to a last checkpoint during a recovery process after occurrence of a failure by at least one of the plurality of workers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
receiving a data stream from a plurality of mobile devices; allocating the data stream to distributed storage devices for at least temporary storage; assigning processing of the data stream from the distributed storage to workers in a cloud-computing system; and reallocating work between the workers when the utilization of a worker reaches or exceeds a maximum threshold. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. One or more computer-readable media storing computer-executable instructions that, when executed on one or more processors, causes the one or more processors to perform acts comprising:
-
dispatching a data stream to a distributed storage; assigning the data stream stored in the distributed storage to workers in a cloud-computing system for processing of the data stream; and creating checkpoints to enable fault recovery after a fault by rolling back to a latest checkpoint and re-executing processing of the data streams. - View Dependent Claims (17, 18, 19, 20)
-
Specification