Opportunistic job processing in a distributed computer environment
First Claim
1. A system comprising:
- one or more processing devices;
a central storage configured to;
store one or more input files from a client;
receive an executable file from a client; and
store the executable file;
one or more storage devices storing instructions that, when executed by the one or more processing devices cause the one or more processing devices to implement;
a work order frontend configured to;
receive, from the client, a representational state transfer (RESTful) message that contains (i) a reference to the one or more input files stored in the central storage and (ii) a reference to the executable file stored in the central storage;
process the received RESTful message to extract (i) the reference to the one or more input files and (ii) the reference to the executable file;
in response to extracting the references, generate a work order that includes (i) the reference to the one or more input files and (ii) the reference to the executable file; and
transmit, to a global-level manager, the work order;
the global-level manager configured to;
access the work order;
partition, using the references to the executable file and the one or more input files, the one or more input files into multiple shards, the work order into multiple jobs, each job being associated with one or more of the multiple shards and the executable file; and
distribute the jobs among a plurality of clusters to be processed using underutilized computing resources in the clusters; and
the plurality of clusters, wherein each cluster includes one or more task level managers configured to process a job distributed to the cluster using underutilized computing resources in the clusters and generate a job output based on the processing.
2 Assignments
0 Petitions
Accused Products
Abstract
A central storage configured to store one or more input files and an executable file. A work order frontend is configured to receive, from the client, a representational state transfer (RESTful) message that contains a reference to the one or more input files in the central storage. The work order frontend is further configured to transmit, to a global-level manager, a work order. The global-level manager is configured to access the work order. The global-level manager is further configured to partition the one or more input files into multiple shards, the work order into multiple jobs, each job being associated with one or more of the multiple shards and the executable file. The global-level manager is further configured to distribute the jobs among a plurality of clusters.
-
Citations
27 Claims
-
1. A system comprising:
-
one or more processing devices; a central storage configured to; store one or more input files from a client; receive an executable file from a client; and store the executable file; one or more storage devices storing instructions that, when executed by the one or more processing devices cause the one or more processing devices to implement; a work order frontend configured to; receive, from the client, a representational state transfer (RESTful) message that contains (i) a reference to the one or more input files stored in the central storage and (ii) a reference to the executable file stored in the central storage; process the received RESTful message to extract (i) the reference to the one or more input files and (ii) the reference to the executable file; in response to extracting the references, generate a work order that includes (i) the reference to the one or more input files and (ii) the reference to the executable file; and transmit, to a global-level manager, the work order; the global-level manager configured to; access the work order; partition, using the references to the executable file and the one or more input files, the one or more input files into multiple shards, the work order into multiple jobs, each job being associated with one or more of the multiple shards and the executable file; and distribute the jobs among a plurality of clusters to be processed using underutilized computing resources in the clusters; and the plurality of clusters, wherein each cluster includes one or more task level managers configured to process a job distributed to the cluster using underutilized computing resources in the clusters and generate a job output based on the processing. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20, 21)
-
-
7. A method performed by one or more processors, the method comprising:
-
storing, at a central storage, one or more input files from a client; receiving, an executable file from a client and storing the executable file; receiving, at a work order frontend and from a client, a representational state transfer (RESTful) message that contains (i) a reference to the one or more input files in the central storage and (ii) a reference to the executable file stored in the central storage; processing the received RESTful message to extract (i) the reference to the one or more input files and (ii) the reference to the executable file; in response to extracting the references, generating a work order that includes (i) the reference to the one or more input files and (ii) the reference to the executable file; transmitting, to a global-level manager, the work order; partitioning, using the references to the executable file and the one or more input files, the one or more input files into multiple shards, partition the work order into multiple jobs, each job being associated with one or more of the multiple shards and the executable file; distributing the jobs among a plurality of clusters to be processed using underutilized computing resources in the clusters; and processing, by one or more task level managers of the plurality of clusters, a job distributed to the cluster using underutilized computing resources in the clusters and generate a job output based on the processing. - View Dependent Claims (8, 9, 10, 11, 12, 22, 23, 24)
-
-
13. A system comprising:
-
one or more processing devices; a central storage configured to; store one or more input files from a client; receive an executable file from a client; and store the executable file; a work order frontend configured to; receive, from the client, a representational state transfer (RESTful) message that contains (i) a reference to the one or more input files in the central storage and (ii) a reference to the executable file stored in the central storage; process the received RESTful message to extract (i) the reference to the one or more input files and (ii) the reference to the executable file; in response to extracting the references, generate a work order that includes (i) the reference to the one or more input files and (ii) the reference to the executable file; and transmit, to a global-level manager, the work order; the global-level manager configured to; access the work order; partition, using the references to the executable file and the one or more input files, the one or more input files into multiple shards, partition the work order into multiple jobs, each job being associated with one or more of the multiple shards and the executable file; and distribute the jobs among a plurality of clusters to be processed using underutilized computing resources in the clusters; and the plurality of clusters, wherein each cluster includes one or more task level managers configured to process a job distributed to the cluster using underutilized computing resources in the clusters and generate a job output based on the processing. - View Dependent Claims (14, 15, 16, 17, 18, 25, 26, 27)
-
Specification