Determining a location of optimal computing resources for workloads
US-2020014609-A1 · Jan 9, 2020 · US
US11422785B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11422785-B2 |
| Application number | US-201916519734-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2019 |
| Priority date | Jul 23, 2019 |
| Publication date | Aug 23, 2022 |
| Grant date | Aug 23, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and systems are presented for providing a container orchestration framework for facilitating development and deployment of software applications across different operating environments within an enterprise system. Upon receiving a service request for processing a set of data is received, the container orchestration framework determines one or more machines that store the set of data. Instead of processing the set of data remotely, the container orchestration framework deploys a container that encapsulates an application on the one or more machines. Each application instance running on the one or more machines are executed to process a corresponding subset of data stored on the machine locally. The container orchestration framework obtains the output data from executing the applications on each of the one or more machines, and present the output data as a response to the service request.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a non-transitory memory; and one or more hardware processors coupled with the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising: in response to receiving a request for a computer service from a user device, determining that the computer service requires a sequential processing of data comprising two or more steps, wherein a first step of the sequential processing comprises processing of a first set of data by a first application and a second step of the sequential processing comprises processing of a second set of data by a second application; determining that the first set of data is distributed across a first set of computer devices and that the second set of data is distributed across a second set of computer devices; deploying, via a first agent executed in each of the first set of computer devices, a first container that encapsulates the first application to each computer device in the first set of computer devices; deploying, via a second agent executed in each of the second set of computer devices, a second container that encapsulates the second application to each computer device in the second set of computer devices; configuring, by the first agent, the first application deployed on the first set of computer devices to perform the first step of the sequential processing, wherein executing the first application causes the first application to process corresponding portions of the first set of data stored on the first set of computer devices and to provide corresponding intermediate data based on processing the corresponding portions of the first set of data to the second set of computer devices; configuring, by the second agent, the second application deployed on the second set of computer devices to suspend processing the second set of data when the corresponding intermediate data is unavailable; receiving an indication that the corresponding intermediate data is available; based on the indication, executing, by the second agent, the second application deployed on the second set of computer devices to perform a second step of the sequential processing, wherein the executing the second application causes the second application to produce output data based on processing the corresponding intermediate data from the first application and corresponding portions of the second set of data stored on the second set of computer devices; and providing the output data from the second application as a response to the request for the computer service. 2. The system of claim 1 , wherein the first application is configured to store the corresponding intermediate data on the first set of computer devices. 3. The system of claim 1 , wherein the operations further comprise: determining that the computer service further requires executing of a third application; deploying a third container that encapsulates the third application on the second set of computer devices; and executing the third application on the second set of computer devices based on the output data stored on the second set of computer devices. 4. The system of claim 3 , wherein the operations further comprise: obtaining the output data from the executing the second application; and modifying the output data based on the executing the third application on the second set of computer devices, wherein the modified output data is provided as the response to the request for the computer service. 5. The system of claim 3 , wherein the second application and the third application are executed on a same operating system running on the second set of computer devices. 6. The system of claim 1 , wherein the deploying the first container comprises compiling source code associated with the first application using a first software development kit for running the first application on the first set of computer devices, and wherein the deploying the second container comprises compiling source code associated with the second application using a second software development kit different from the first software development kit for running the second application on the second set of computer devices. 7. The system of claim 1 , wherein at least a common computer device is included in both of the first set of computer devices and the second set of computer devices. 8. The system of claim 1 , wherein the first set of computer devices and the second set of computer devices are non-overlapping. 9. A method, comprising: in response to receiving, from a user device, a request for processing data, determining that the request requires a sequential processing of data comprising two or more steps, wherein a first step of the sequential processing comprises processing of a first set of data by a first application and a second step of the sequential processing comprises processing of a second set of data by a second application; determining that the first set of data is distributed across a first set of computer devices and that the second set of data is distributed across a second set of computer devices; deploying, via a first agent executed in each of the first set of computer devices, a first container that encapsulates the first application to the first set of computer devices; deploying, via a second agent executed in each of the second set of computer devices, a second container that encapsulates the second application to each computer device in the second set of computer devices; configuring, by the first agent, the first application deployed on the first set of computer devices to perform the first step of the sequential processing, wherein executing the first application causes the first application to process corresponding portions of the first set of data stored on the first set of computer devices and to generate corresponding intermediate data based on processing the corresponding portions of the first set of data; configuring, by the second agent, the second application deployed on the second set of computer devices to suspend processing the second set of data when the corresponding intermediate data is unavailable; receiving an indication that the corresponding intermediate data is available; based on the indication, configuring, by the second agent, the second application deployed on the second set of computer devices to perform the second step of the sequential processing, wherein executing the second application causes the second application to generate output data based on processing the corresponding intermediate data from the first application and corresponding portions of the second set of data stored on the second set of computer devices; and providing, the output data from the second application as a response to the request for processing data. 10. The method of claim 9 , wherein the first set of data comprises transaction data associated with users of a service provider, and wherein the request is for simulating processing of transactions using the transaction data in an offline environment. 11. The method of claim 9 , wherein the first set of data comprises transaction data associated with users of a service provider, and wherein the request is for training a machine learning model based on the transaction data in an offline environment. 12. The method of claim 9 , further comprising: determining that the request requires executing of a third application; and deploying a third container that encapsulates the third application to the second set of computer devices. 13. The method of claim 9 , further comprising: obtaining the corresponding interme
Creating, deleting, cloning virtual machine instances · CPC title
Compilation · CPC title
Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title
Hypervisor-specific management and integration aspects · CPC title
Software deployment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.