US2017085621A1PendingUtilityA1

Estimating latency of an application

Assignee: LINKEDIN CORPPriority: Feb 2, 2015Filed: Nov 30, 2016Published: Mar 23, 2017
Est. expiryFeb 2, 2035(~8.5 yrs left)· nominal 20-yr term from priority
H04L 43/0852H04L 67/025H04L 69/329H04L 41/5009G06F 2009/4557G06F 9/45558H04N 21/2181G06F 2211/1028
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques for generating and using service call graphs are provided. In one technique, trace data items generated by different services are correlated to generate a service call graph. Trace data indicates when certain services are called and their respective latencies as a result of a client request. A service call graph may reflect a single trace or multiple traces over a particular period of time. A service call graph may be analyzed to inform administrators of a web site how a web application and the services it relies on are performing. A service call graph may be used to determine whether there are sufficient resources to support a projected increase in traffic to a web application. A service call graph may be used to estimate a cost of a web application. Multiple service call graphs may be compared to determine one or more root causes of a performance problem.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 identifying a set of services that an application relies on during execution of the application;   based on history data that indicates a latency associated with each service in the set of services, estimating a latency of the application;   wherein the method is performed by one or more computing devices.   
     
     
         2 . The method of  claim 1 , wherein the application is a web application that is to be deployed on a web site for public use. 
     
     
         3 . The method of  claim 1 , wherein the history data includes performance data about each service in the set of services when said each service was called by one or more other applications, each of which is different than the application. 
     
     
         4 . The method of  claim 1 , wherein, for a particular service in the set of services, the history data indicates, for each application programming interface (API) of a plurality of APIs of the particular service, a particular application that previously called said each API, a number of times the particular application called said each API, or an aggregated latency of said each API. 
     
     
         5 . The method of  claim 1 , wherein:
 estimating the latency comprises, for each service in the set of services, identifying one or more application programming interfaces (APIs), of said each service, that the application is configured to call;   identifying the one or more APIs comprises receiving user input that indicates each service in the set of services and one or more APIs of said each service.   
     
     
         6 . The method of  claim 5 , wherein the user input further indicates a number of times that the application is configured to call at least one of the one or more APIs of a particular service in the set of services. 
     
     
         7 . The method of  claim 1 , wherein estimating the latency comprises:
 for each service in the set of services, identifying one or more application programming interfaces (APIs), of said each service, that the application is configured to call   for each service in the set of services, for each API in the set of one or more APIs of said each service, determining a latency of said each API.   
     
     
         8 . The method of  claim 7 , wherein estimating the latency further comprises, for a particular service in the set of services:
 for each API of the one or more APIs of the particular service, determining a number of times the application is configured to call said each API;   based on the number of times for each API and the latency of said each API, calculate a total latency of the particular service.   
     
     
         9 . The method of  claim 8 , wherein estimating the latency further comprises:
 for each service in the set of services, calculating a total latency of said each service;   estimating the latency of the application based on the total latency of each service in the set of services.   
     
     
         10 . A system comprising:
 one or more processors;   one or more non-transitory storage media storing instructions which, when executed by the one or more processors, cause:
 identifying a set of services that an application relies on during execution of the application; 
 based on history data that indicates a latency associated with each service in the set of services, estimating a latency of the application. 
   
     
     
         11 . The system of  claim 10 , wherein estimating comprises estimating the latency of the application prior to deploying the application for public use. 
     
     
         12 . The system of  claim 11 , wherein the application is a web application that is to be deployed on a web site for public use. 
     
     
         13 . The system of  claim 10 , wherein the history data includes performance data about each service in the set of services when said each service was called by one or more other applications, each of which is different than the application. 
     
     
         14 . The system of  claim 10 , wherein, for a particular service in the set of services, the history data indicates, for each application programming interface (API) of a plurality of APIs of the particular service, a particular application that previously used called said each API, a number of times the particular application called said each API, and/or an aggregated latency of said each API. 
     
     
         15 . The system of  claim 14 , wherein an aggregated latency of a particular API is an average latency of multiple calls of said each API, a median latency of the multiple calls, another quantile latency of the multiple calls, a maximum latency of the multiple calls, or a minimum latency of the multiple calls. 
     
     
         16 . The system of  claim 10 , wherein:
 estimating the latency comprises, for each service in the set of services, identifying one or more application programming interfaces (APIs), of said each service, that the application is configured to call;   identifying the one or more APIs comprises receiving user input that indicates each service in the set of services and one or more APIs of said each service.   
     
     
         17 . The system of  claim 16 , wherein the user input further indicates a number of times that the application is configured to call at least one of the one or more APIs of a particular service in the set of services. 
     
     
         18 . The system of  claim 17 , wherein estimating the latency comprises:
 for each service in the set of services, identifying one or more application programming interfaces (APIs), of said each service, that the application is configured to call.   for each service in the set of services, for each API in the set of one or more APIs of said each service, determining a latency of said each API.   
     
     
         19 . The system of  claim 18 , wherein estimating the latency further comprises, for a particular service in the set of services:
 for each API of the one or more APIs of the particular service, determining a number of times the application is configured to call said each API;   based on the number of times for each API and the latency of said each API, calculate a total latency of the particular service.   
     
     
         20 . The system of  claim 19 , wherein estimating the latency further comprises:
 for each service in the set of services, calculating a total latency of said each service;   estimating the latency of the application based on the total latency of each service in the set of services.

Join the waitlist — get patent alerts

Track US2017085621A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.