Distributed execution of tasks on client devices
AssigneeAmazon Technologies, Inc.
InventorsAditya Bhalla, Atulya S. Beheray, William Alexander Stevenson, Atul Sharma, Cheryl Harris, Xinning Le
Life of this patent
Estimating the term…
Abstract
A communication system and method for the utilization of a job management system to provide computing devices operational information. The job management system obtains a job definition from a user via a user device. The job management system processes the job definition to create job task workflow to be implemented by one or more identified client devices. The job management system can then monitor the implementation of the job task workflow.
Claims17
A system for managing a distributed transmission of information for execution on client devices utilizing a communication network comprising:
- one or more computing devices configured to receive, from user devices, job definition information corresponding to a job to be executed separately by individual client devices of a set of client devices, wherein the job definition information specifies at least job task information that is evaluated to identify a set of job tasks to be executed by the individual client devices of the set of client devices in order to complete the job, and specifies selection criteria that is evaluated to determine the set of client devices to each individually execute the identified set of job tasks, and defines an intended attribute of the individual client devices of the set of client devices that will result from the execution of the job;
- one or more computing devices associated with a job management service, wherein the job management service is configured to:
- identify a set of job tasks by evaluating the job task information, wherein the identified set of job tasks to be executed on the individual client devices of the set of client devices is based on processing the job definition information;
- evaluate the selection criteria to determine the set of client devices to each individually execute the identified set of job tasks;
- and
- generate a job workflow corresponding to a scheduling of individual execution of the identified set of job tasks by the individual client devices of the set of client devices such that each individual client device of the set of client devices executes the job;
- and
- one or more computing devices associated with a device communication service, wherein the device communication service is configured to:
- transmit, to the individual client devices of the set of client devices via a messaging broker, job task assignment information based on the job workflow, wherein the job task assignment information causes the individual client devices of the set of client devices to execute the identified set of job tasks;
- and
- receive, from the individual client devices of the set of client devices via the messaging broker, job task processing notifications associated with the execution of the identified set of job tasks by the individual client devices of the set of client devices.
A computer-implemented method for managing a distributed transmission of information for execution on client devices utilizing a communication network comprising:
- receiving, from user devices, job definition information corresponding to a job to be executed separately by individual client devices of a set of client devices, wherein the job definition information specifies at least job task information that is evaluated to identify a set of job tasks to be executed by the individual client devices of the set of client devices in order to complete the job, and specifies selection criteria that is evaluated to determine the set of client devices to each individually execute the identified set of job tasks, and defines an intended attribute of the individual client devices of the set of client devices that will result from the execution of the job;
- identifying a set of job tasks by evaluating the job task information, wherein the identified set of job tasks to be executed on the individual client devices of the set of client devices is based on processing the job definition information;
- evaluating the selection criteria to determine the set of client devices to each individually execute the identified set of job tasks;
- generating a job workflow corresponding to a scheduling of individual execution of the identified set of job tasks by the individual client devices of the set of client devices such that each individual client device of the set of client devices executes the job;
- transmitting, to the individual client devices of the set of client devices via a messaging broker, job task assignment information based on the job workflow, wherein the job task assignment information causes the individual client devices of the set of client devices to execute the identified set of job tasks;
- and
- receiving, from the individual client devices of the set of client devices via the messaging broker, job task processing notifications associated with the execution of the identified set of job tasks by the individual client devices of the set of client devices.
A computer-implemented method for managing a distributed transmission of information for execution on client devices utilizing a communication network comprising:
- receiving, from user devices, job definition information corresponding to a job to be executed separately by individual client devices of a set of client devices, wherein the job definition information includes job task information that is processed to determine a set of job tasks and a set of client devices to individually execute the set of job tasks in order to complete the job, and includes selection criteria that is processed to determine the set of client devices to each individually execute the determined set of job tasks, and defines an intended attribute of the individual client devices of the set of client devices that will result from the execution of the job;
- identifying a set of job tasks to be executed on the individual client devices of the set of client devices based on processing the job definition information;
- processing the selection criteria to determine the set of client devices to each individually execute the identified set of job tasks;
- generating a job workflow to be implemented on each individual client device of the set of client devices based on processing the job definition information such that each individual client device of the set of client devices executes the job;
- transmitting, to the individual client devices of the set of client devices via a messaging broker, job task assignment information based on the job workflow, wherein the job task assignment information causes the individual client devices of the set of client devices to execute the identified set of job tasks;
- and
- receiving, from the individual client devices of the set of client devices via the messaging broker, job task processing notifications associated with the execution of the identified set of job tasks by the individual client devices of the set of client devices.
Dependencies are inferred from the claim text.