Patents by Inventor Ian P. Nowland

Ian P. Nowland 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).

  • Publication number: 20140330981
    Abstract: 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: Application
    Filed: July 22, 2014
    Publication date: November 6, 2014
    Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
  • Patent number: 8819106
    Abstract: 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: Grant
    Filed: March 31, 2009
    Date of Patent: August 26, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
  • Patent number: 8661295
    Abstract: Generally described, systems and methods are provided for monitoring and detecting causes of failures of network paths. The system collects performance information from a plurality of nodes and links in a network, aggregates the collected performance information across paths in the network, processes the aggregated performance information for detecting failures on the paths, analyzes each of the detected failures to determine at least one root cause, and initiates a remedial workflow for the at least one root cause determined. In some aspects, processing the aggregated information may include performing a statistical regression analysis or otherwise solving a set of equations for the performance indications on each of a plurality of paths. In another aspect, the system may also include an interface which makes available for display one or more of the network topology, the collected and aggregated performance information, and indications of the detected failures in the topology.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: February 25, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Richendra Khanna, Edward L. Wallace, Jagwinder Singh Brar, Michael David Marr, Samuel J. McKelvie, Peter N. DeSantis, Ian P. Nowland, Matthew D. Klein, Justin Mason, Jacob Gabrielson
  • Patent number: 8370493
    Abstract: Techniques are described for managing distributed execution of programs. In at least some situations, the techniques include decomposing or otherwise separating the execution of a program into multiple distinct execution jobs that may each be executed on a distinct computing node, such as in a parallel manner with each execution job using a distinct subset of input data for the program. In addition, the techniques may include temporarily terminating and later resuming execution of at least some execution jobs, such as by persistently storing an intermediate state of the partial execution of an execution job, and later retrieving and using the stored intermediate state to resume execution of the execution job from the intermediate state. Furthermore, the techniques may be used in conjunction with a distributed program execution service that executes multiple programs on behalf of multiple customers or other users of the service.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: February 5, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, Luis Felipe Cabrera
  • Patent number: 8321558
    Abstract: 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: Grant
    Filed: March 31, 2009
    Date of Patent: November 27, 2012
    Assignee: Amazon Technologies, Inc.
    Inventors: Peter Sirota, Richendra Khanna, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
  • Patent number: 8296419
    Abstract: 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: Grant
    Filed: March 31, 2009
    Date of Patent: October 23, 2012
    Assignee: Amazon Technologies, Inc.
    Inventors: Richendra Khanna, Peter Sirota, Ian P. Nowland, Richard J. Cole, Jai Vasanth, Andrew J. Hitchcock, Luis Felipe Cabrera
  • Publication number: 20100153955
    Abstract: Techniques are described for managing distributed execution of programs. In at least some situations, the techniques include decomposing or otherwise separating the execution of a program into multiple distinct execution jobs that may each be executed on a distinct computing node, such as in a parallel manner with each execution job using a distinct subset of input data for the program. In addition, the techniques may include temporarily terminating and later resuming execution of at least some execution jobs, such as by persistently storing an intermediate state of the partial execution of an execution job, and later retrieving and using the stored intermediate state to resume execution of the execution job from the intermediate state. Furthermore, the techniques may be used in conjunction with a distributed program execution service that executes multiple programs on behalf of multiple customers or other users of the service.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 17, 2010
    Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, Luis Felipe Cabrera