Mitigating failure in request handling
AssigneeUber Technologies, Inc.
InventorsWilliam Andrew Westlin, Edward Joseph Farro
Life of this patent
Estimating the term…
Abstract
A network computer system operates to mitigate failures for a network service. The network computer system can generate a data path model for the network service, where the data path model identifies a probabilistic set of expectations with respect to the programs and program sequences which handle service requests for the network service. The data path models can be used to detect, analyze or mitigate service request failures of the network service.
Claims20
A network computer system comprising:
- one or more processors;
- a set of memory resources, the set of memory resources storing (i) a set of instructions, and (ii) a data path model that includes a plurality of program nodes, each program node representing one of multiple programs that act to fulfill service requests for a network service;
- wherein the data path model stores, in association with each program node, sequence data identifying an expectation that a program represented by each program node calls or is called by another one or more of the multiple programs;
- wherein the sequence data for the plurality of program nodes specifies a logical arrangement of the plurality of program nodes, the logical arrangement reflecting at least one data path specifying a relative order by which at least a subset of the multiple programs execute to handle service requests of a service request type;
- wherein the one or more processors access the instructions to:
- analyze a trace route for a failed service request of the service request type;
- determine, from analyzing the trace route, at least a first program of the multiple programs that acted on the failed service request;
- identify, based on sequence data associated with a program node representing the first program from the data path model, at least a second program of the multiple programs that was expected to act on the failed service request;
- and
- identify one or more candidate programs that are a likely source of failure of the failed service request.
A method for operating a network computer system, the method comprising:
- storing a data path model that includes a plurality of program nodes, each program node representing one of multiple programs that act to fulfill service requests for a network service;
- wherein the data path model stores, in association with each program node, sequence data identifying an expectation that a program represented by each program node calls or is called by another one or more of the multiple programs;
- wherein the sequence data for the plurality of program nodes specifies a logical arrangement of the plurality of program nodes, the logical arrangement reflecting at least one data path specifying a relative order by which at least a subset of the multiple programs execute to handle service requests of a service request type;
- analyzing a trace route for a failed service request of the service request type;
- determining, from analyzing the trace route, at least a first program of the multiple programs that acted on the failed service request;
- identifying, based on sequence data associated with a program node representing the first program from the data path model, at least a second program of the multiple programs that was expected to act on the failed service request;
- and
- identify one or more candidate programs that are a likely source of failure of the failed service request.
A non-transitory computer-readable medium that stores instructions, that when executed by one or more processors of a network computer system, cause the network computer system to perform operations that include:
- storing a data path model that includes a plurality of program nodes, each program node representing one of multiple programs that act to fulfill service requests for a network service;
- wherein the data path model stores, in association with each program node, sequence data identifying an expectation that a program represented by each program node calls or is called by another one or more of the multiple programs;
- wherein the sequence data for the plurality of program nodes specifies a logical arrangement of the plurality of program nodes, the logical arrangement reflecting at least one data path specifying a relative order by which at least a subset of the multiple programs execute to handle service requests of a service request type;
- analyzing a trace route for a failed service request of the service request type;
- determining, from analyzing the trace route, at least a first program of the multiple programs that acted on the failed service request;
- identifying, based on sequence data associated with a program node representing the first program from the data path model, at least a second program of the multiple programs that was expected to act on the failed service request;
- and
- identify one or more candidate programs that are a likely source of failure of the failed service request.
Dependencies are inferred from the claim text.