Managing distributed execution of programs

US9826031B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9826031-B2
Application numberUS-201514885776-A
CountryUS
Kind codeB2
Filing dateOct 16, 2015
Priority dateDec 12, 2008
Publication dateNov 21, 2017
Grant dateNov 21, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described for managing distributed execution of programs. In some situations, the techniques include determining configuration information to be used for executing a particular program in a distributed manner on multiple computing nodes and/or include providing information and associated controls to a user regarding ongoing distributed execution of one or more programs to enable the user to modify the ongoing distributed execution in various manners. Determined configuration information may include, for example, configuration parameters such as a quantity of computing nodes and/or other measures of computing resources to be used for the executing, and may be determined in various manners, including by interactively gathering values for at least some types of configuration information from an associated user (e.g., via a GUI that is displayed to the user) and/or by automatically determining values for at least some types of configuration information (e.g., for use as recommendations to a user).

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by one or more computing systems configured to provide a program execution service, configuration information from a client that indicates a program to be executed in a distributed manner, that indicates a quantity of computing nodes provided by the program execution service to be used for execution of the program, and that indicates one or more of a group that includes a specified type of computing node to use for execution of the program and a specified geographical location of computing nodes to use for execution of the program; selecting, by the one or more configured computing systems of the program execution service, multiple computing nodes of the indicated quantity from a plurality of computing nodes provided by the program execution service, and provisioning the multiple computing nodes for use in the execution of the program; and initiating, by the one or more configured computing systems of the program execution service, the execution of the program for the client on the multiple computing nodes. 2. The computer-implemented method of claim 1 wherein the plurality of computing nodes provided by the program execution service include multiple types of computing nodes having differing computing resources, wherein the configuration information indicates the specified type of computing node from the multiple types, and wherein the selecting of the multiple computing nodes includes selecting computing nodes from the plurality of computing nodes that are of the specified computing node type. 3. The computer-implemented method of claim 1 wherein the plurality of computing nodes provided by the program execution service include computing nodes in multiple geographical locations, wherein the configuration information indicates the specified geographical location of computing nodes to use for execution of the program, wherein the specified geographical location is one of the multiple geographical locations, and wherein the selecting of the multiple computing nodes includes selecting computing nodes from the plurality of computing nodes that are in the specified geographical location. 4. The computer-implemented method of claim 1 wherein the plurality of computing nodes provided by the program execution service include computing nodes in multiple geographical locations, wherein the configuration information indicates the specified geographical location by specifying information about relative locations of the multiple computing nodes to each other, and wherein the selecting of the multiple computing nodes includes selecting computing nodes from the plurality of computing nodes that satisfy the specified relative locations. 5. The computer-implemented method of claim 1 wherein the receiving of the configuration information further includes receiving information about relative locations of the multiple computing nodes to a specified target, and wherein the selecting of the multiple computing nodes includes selecting computing nodes from the plurality of computing nodes that satisfy the specified relative locations. 6. The computer-implemented method of claim 1 wherein the receiving of the configuration information further includes receiving specified input data from the client for use by the program during the execution, wherein the provisioning of the multiple computing nodes includes providing access of the multiple computing nodes to the specified input data, and wherein the initiating of the execution of the program includes executing the program on the multiple computing nodes and providing the specified input data to the executing program. 7. The computer-implemented method of claim 1 wherein the receiving of the configuration information further includes receiving information about multiple execution jobs to perform during the execution of the program, and wherein the initiating of the execution of the program includes performing the multiple execution jobs on the multiple computing nodes as part of the execution. 8. The computer-implemented method of claim 1 wherein the plurality of computing nodes provided by the program execution service include multiple types of computing nodes having differing computing resources and include computing nodes in multiple geographical locations, wherein the configuration information indicates one or more specified computing node types from the multiple types, indicates one or more specified geographical locations from the multiple geographical locations, and includes information about relative locations of the multiple computing nodes to one or more indicated targets, and wherein the selecting of the multiple computing nodes includes selecting computing nodes from the plurality of computing nodes that are of the one or more specified computing node types and that are in the one or more specified geographical locations and that satisfy the specified relative locations. 9. The computer-implemented method of claim 1 further comprising providing, by the one or more configured computing systems of the program execution service, a graphical user interface of the program execution service to a computing device of the client, and wherein at least some of the configuration information from the client is received via one or more interactions of the client with the provided graphical user interface. 10. The computer-implemented method of claim 9 further comprising: determining, by the one or more configured computing systems of the program execution service, multiple recommended execution configuration parameters to use for executing the program; and presenting, by the one or more configured computing systems of the program execution service and via the provided user interface, information to the client about the recommended execution configuration parameters for executing the program; and wherein the receiving of the configuration information from the client includes receiving information from one or more interactions of the client with the user interface to use at least one of the recommended execution configuration parameters, and wherein the initiating of the execution of the program includes executing the program on the multiple computing nodes and using the at least one recommended execution configuration parameter as part of the executing. 11. The computer-implemented method of claim 10 wherein the recommended execution configuration parameters include a recommended quantity of computing nodes, wherein the at least one recommended execution configuration parameter includes the recommended quantity of computing nodes, and wherein the method further comprises, before the presenting of the information to the client about the recommended execution configuration parameters, monitoring, by the one or more configured computing systems, prior execution of other programs by the program execution service, and generating, by the one or more configured computing systems, the multiple recommended execution configuration parameters from the monitoring. 12. The computer-implemented method of claim 1 wherein the selecting of the multiple computing nodes includes selecting one or more physical computing systems provided by the program execution service that each hosts multiple virtual machines, and wherein the provisioning of the multiple computing nodes includes storing information on each of the selected one or more physical computing systems to configure the selected one or more physical computing systems to manage one or more hosted virtual machines on each of the selected one or more physical computing systems as part of the multiple computing nodes. 13. A non-transi

Assignees

Inventors

Classifications

  • G06F9/485Primary

    Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30) · CPC title

  • Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9826031B2 cover?
Techniques are described for managing distributed execution of programs. In some situations, the techniques include determining configuration information to be used for executing a particular program in a distributed manner on multiple computing nodes and/or include providing information and associated controls to a user regarding ongoing distributed execution of one or more programs to enable …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/485. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).