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: 20230171148Abstract: 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: ApplicationFiled: January 30, 2023Publication date: June 1, 2023Inventors: 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: 11575559Abstract: 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: GrantFiled: September 17, 2020Date of Patent: February 7, 2023Assignee: 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: 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: 11263084Abstract: 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: GrantFiled: January 10, 2018Date of Patent: March 1, 2022Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, 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: 10785093Abstract: 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: GrantFiled: July 1, 2016Date of Patent: September 22, 2020Assignee: 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: 10089191Abstract: Application program data stored in system memory may be selectively persisted. An indication may be provided to an application program that an application data object or a range of application data stored in system memory may be treated as persistent. Data backup may be enabled for the application data object or range of application data in the event of a system failure, copying the application data object or range of application data from system memory to non-volatile data storage. Upon recovery from a system failure, further data backup for the application data object or the range of application data may be disabled. In some embodiments, at least some of the application data object or range of application data may be recovered for the application program to access. Data backup for the application data object or the range of application data may also be re-enabled.Type: GrantFiled: November 23, 2015Date of Patent: October 2, 2018Assignee: Amazon Technologies, Inc.Inventors: Samuel James McKelvie, Yan Valerie Leshinsky, Ian P. Nowland, Darin Lee Frink, Anurag Windlass Gupta, Adam Douglas Morley, Christopher Nathan Watson, Michael David Marr
-
Publication number: 20180129570Abstract: 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: ApplicationFiled: January 10, 2018Publication date: May 10, 2018Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, 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: 20170155544Abstract: 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: ApplicationFiled: July 1, 2016Publication date: June 1, 2017Inventors: 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
-
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: 9385917Abstract: 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: GrantFiled: March 31, 2011Date of Patent: July 5, 2016Assignee: 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: 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
-
Publication number: 20160077930Abstract: Application program data stored in system memory may be selectively persisted. An indication may be provided to an application program that an application data object or a range of application data stored in system memory may be treated as persistent. Data backup may be enabled for the application data object or range of application data in the event of a system failure, copying the application data object or range of application data from system memory to non-volatile data storage. Upon recovery from a system failure, further data backup for the application data object or the range of application data may be disabled. In some embodiments, at least some of the application data object or range of application data may be recovered for the application program to access. Data backup for the application data object or the range of application data may also be re-enabled.Type: ApplicationFiled: November 23, 2015Publication date: March 17, 2016Inventors: SAMUEL JAMES MCKELVIE, YAN VALERIE LESHINSKY, IAN P. NOWLAND, DARIN LEE FRINK, ANURAG WINDLASS GUPTA, ADAM DOUGLAS MORLEY, CHRISTOPHER NATHAN WATSON, MICHAEL DAVID MARR
-
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
-
Patent number: 9195542Abstract: Application program data stored in system memory may be selectively persisted. An indication may be provided to an application program that an application data object or a range of application data stored in system memory may be treated as persistent. Data backup may be enabled for the application data object or range of application data in the event of a system failure, copying the application data object or range of application data from system memory to non-volatile data storage. Upon recovery from a system failure, further data backup for the application data object or the range of application data may be disabled. In some embodiments, at least some of the application data object or range of application data may be recovered for the application program to access. Data backup for the application data object or the range of application data may also be re-enabled.Type: GrantFiled: April 29, 2013Date of Patent: November 24, 2015Assignee: Amazon Technologies, Inc.Inventors: Samuel James McKelvie, Yan Valerie Leshinsky, Ian P. Nowland, Darin Lee Frink, Anurag Windlass Gupta, Adam Douglas Morley, Christopher Nathan Watson, Michael David Marr
-
Publication number: 20150169412Abstract: 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: ApplicationFiled: December 15, 2014Publication date: June 18, 2015Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, Luis Felipe Cabrera
-
Patent number: 9001667Abstract: 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: GrantFiled: March 31, 2011Date of Patent: April 7, 2015Assignee: 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: 8935404Abstract: 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: GrantFiled: January 9, 2013Date of Patent: January 13, 2015Assignee: Amazon Technologies, Inc.Inventors: Peter Sirota, Ian P. Nowland, Richard J. Cole, Richendra Khanna, Luis Felipe Cabrera