Patents by Inventor Andrew J. Hitchcock
Andrew J. Hitchcock has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11425194Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.Type: GrantFiled: December 21, 2020Date of Patent: August 23, 2022Assignee: Amazon Technologies, Inc.Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 10873623Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.Type: GrantFiled: April 19, 2016Date of Patent: December 22, 2020Assignee: Amazon Technologies, Inc.Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 9826031Abstract: 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).Type: GrantFiled: October 16, 2015Date of Patent: November 21, 2017Assignee: AMAZON TECHNOLOGIES, INC.Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Publication number: 20160234300Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.Type: ApplicationFiled: April 19, 2016Publication date: August 11, 2016Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 9329909Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.Type: GrantFiled: September 15, 2012Date of Patent: May 3, 2016Assignee: Amazon Technologies, Inc.Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Publication number: 20160100001Abstract: 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).Type: ApplicationFiled: October 16, 2015Publication date: April 7, 2016Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 9280390Abstract: Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes performing ongoing distributed execution of a program, such as to increase and/or decrease computing node quantity. An architecture may be used that has core nodes that each participate in a distributed storage system for the distributed program execution, and that has one or more other auxiliary nodes that do not participate in the distributed storage system. Furthermore, as part of performing the dynamic scaling of a cluster, computing nodes that are only temporarily available may be selected and used, such as computing nodes that might be removed from the cluster during the ongoing program execution to be put to other uses and that may also be available for a different fee (e.g., a lower fee) than other computing nodes that are available throughout the ongoing use of the cluster.Type: GrantFiled: January 15, 2015Date of Patent: March 8, 2016Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richard J. Cole, Vaibhav Aggarwal, Andrew J. Hitchcock, Jai Vasanth
-
Patent number: 9207975Abstract: 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).Type: GrantFiled: July 22, 2014Date of Patent: December 8, 2015Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Publication number: 20150135185Abstract: Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes performing ongoing distributed execution of a program, such as to increase and/or decrease computing node quantity. An architecture may be used that has core nodes that each participate in a distributed storage system for the distributed program execution, and that has one or more other auxiliary nodes that do not participate in the distributed storage system. Furthermore, as part of performing the dynamic scaling of a cluster, computing nodes that are only temporarily available may be selected and used, such as computing nodes that might be removed from the cluster during the ongoing program execution to be put to other uses and that may also be available for a different fee (e.g., a lower fee) than other computing nodes that are available throughout the ongoing use of the cluster.Type: ApplicationFiled: January 15, 2015Publication date: May 14, 2015Inventors: Peter Sirota, Richard J. Cole, Vaibhav Aggarwal, Andrew J. Hitchcock, Jai Vasanth
-
Patent number: 8966030Abstract: Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes performing ongoing distributed execution of a program, such as to increase and/or decrease computing node quantity. An architecture may be used that has core nodes that each participate in a distributed storage system for the distributed program execution, and that has one or more other auxiliary nodes that do not participate in the distributed storage system. Furthermore, as part of performing the dynamic scaling of a cluster, computing nodes that are only temporarily available may be selected and used, such as computing nodes that might be removed from the cluster during the ongoing program execution to be put to other uses and that may also be available for a different fee (e.g., a lower fee) than other computing nodes that are available throughout the ongoing use of the cluster.Type: GrantFiled: March 31, 2014Date of Patent: February 24, 2015Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richard J. Cole, Vaibhav Aggarwal, Andrew J. Hitchcock, Jai Vasanth
-
Publication number: 20140330981Abstract: 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).Type: ApplicationFiled: July 22, 2014Publication date: November 6, 2014Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 8819106Abstract: 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).Type: GrantFiled: March 31, 2009Date of Patent: August 26, 2014Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 8719415Abstract: Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes performing ongoing distributed execution of a program, such as to increase and/or decrease computing node quantity. An architecture may be used that has core nodes that each participate in a distributed storage system for the distributed program execution, and that has one or more other auxiliary nodes that do not participate in the distributed storage system. Furthermore, as part of performing the dynamic scaling of a cluster, computing nodes that are only temporarily available may be selected and used, such as computing nodes that might be removed from the cluster during the ongoing program execution to be put to other uses and that may also be available for a different fee (e.g., a lower fee) than other computing nodes that are available throughout the ongoing use of the cluster.Type: GrantFiled: June 28, 2010Date of Patent: May 6, 2014Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richard J. Cole, Vaibhav Aggarwal, Andrew J. Hitchcock, Jai Vasanth
-
Patent number: 8321558Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically monitoring the ongoing distributed execution of a program on a cluster of multiple computing nodes, and may include automatically determining the status of execution of the program on each of the multiple computing nodes and/or automatically determining the aggregate usage of one or more types of computing resources across the cluster of multiple computing nodes by the distributed program execution. The information obtained from the dynamic monitoring may be used in various manners, including to facilitate dynamically modifying the ongoing distributed program execution in various manners, such as to temporarily throttle usage of computing resources by the distributed program execution (e.g., to remove or reduce one or more bottlenecks).Type: GrantFiled: March 31, 2009Date of Patent: November 27, 2012Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 8296419Abstract: Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.Type: GrantFiled: March 31, 2009Date of Patent: October 23, 2012Assignee: Amazon Technologies, Inc.Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
-
Patent number: 8260840Abstract: Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes used to perform ongoing distributed execution of a program, such as to increase and/or decrease the quantity of computing nodes in the cluster at various times and for various reasons. An architecture may be used that facilitates the dynamic scaling of a cluster, including by having at least some of the computing nodes act as core nodes that each participate in a distributed storage system for the distributed program execution, and having one or more other computing nodes that act as auxiliary nodes that do not participate in the distributed storage system. If computing nodes are selected to be removed from the cluster during ongoing distributed execution of a program, one or more nodes of the auxiliary computing node type may be selected for the removal.Type: GrantFiled: June 28, 2010Date of Patent: September 4, 2012Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Richard J. Cole, Vaibhav Aggarwal, Andrew J. Hitchcock, Jai Vasanth