Global optimization of a service-oriented system

US10182129B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10182129-B1
Application numberUS-201414309765-A
CountryUS
Kind codeB1
Filing dateJun 19, 2014
Priority dateJun 19, 2014
Publication dateJan 15, 2019
Grant dateJan 15, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and computer-readable media for implementing global optimization of a service-oriented system are disclosed. Trace data is collected for a plurality of service interactions between services in a service-oriented system. Respective costs are determined for a plurality of configuration options in the service-oriented system. An optimized configuration for the service-oriented system is determined based on the respective costs and the trace data. The optimized configuration comprises a selection of one or more of the configuration options. The optimized configuration is deployed to the service-oriented system.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a plurality of computing devices configured to implement an optimization system and a service-oriented system, wherein the service-oriented system comprises a plurality of services, wherein the plurality of services are configured to: monitor interactions between individual ones of the plurality of services to generate trace data for a plurality of service interactions between individual ones of the plurality of services, wherein the trace data comprises data indicative of call paths and performance metrics for the plurality of service interactions, wherein the performance metrics comprise at least one of network latency for a request or a response, or throughput for one or more service interactions; and send the trace data to the optimization system; and wherein the optimization system is configured to: determine a respective cost of individual ones of a plurality of configuration options in the service-oriented system; determine the performance metrics based on the trace data that is received; determine an optimized configuration for the service-oriented system based at least in part on the respective costs and the performance metrics, wherein the optimized configuration comprises a selection of one of the plurality of configuration options, and wherein the optimized configuration improves at least one performance metric, at least one cost, or at least one performance metric and at least one cost across at least a portion of the service-oriented system; and cause deployment of the optimized configuration to the service-oriented system, wherein the deployment of the optimized configuration comprises modification of a configuration of a cache, modification of a location of a data source or a location of a service that uses the data source, modification of a configuration for service parallelization, or modification of a configuration for response precomputation. 2. The system as recited in claim 1 , wherein the deployment of the optimized configuration comprises modification of a configuration of a cache or a location of a data source for a service whose program code does not specify usage of the cache or the data source. 3. The system as recited in claim 1 , wherein the optimized configuration is determined based on an automated optimization process. 4. The system as recited in claim 1 , wherein the optimization system is further configured to: refine the optimized configuration for the service-oriented system a plurality of times over an interval of time. 5. A computer-implemented method, comprising: receiving trace data for a plurality of service interactions between individual ones of a plurality of services in a service-oriented system, wherein the trace data comprises information about service interactions between different ones of the plurality of services; receiving a respective cost of individual ones of a plurality of configuration options in the service-oriented system; generating one or more performance metrics based on the received trace data, wherein the performance metrics comprise at least one of network latency for a request or a response between services, or throughput for one or more service interactions; determining an optimized configuration for the service-oriented system based at least in part on the respective costs and the performance metrics, wherein the optimized configuration is determined based on an automated optimization process, and wherein the optimized configuration comprises a selection of one of the plurality of configuration options; and causing deployment of the optimized configuration to the service-oriented system. 6. The method as recited in claim 5 , wherein the plurality of configuration options comprise a plurality of cache configuration options, and wherein the optimized configuration comprises a selection of one or more of the cache configuration options. 7. The method as recited in claim 5 , wherein the deployment of the optimized configuration comprises modification of a configuration of a cache or a location of a data source for a service whose program code does not specify usage of the cache or the data source. 8. The method as recited in claim 5 , wherein the plurality of configuration options comprise a plurality of options for batch accumulation for a plurality of service calls to a remote node, and wherein determining the optimized configuration comprises selecting, based at least in part on the respective costs and the performance metrics, one or more of the options for batch accumulation of the plurality of service calls. 9. The method as recited in claim 5 , wherein the plurality of configuration options comprise a plurality of data location options, and wherein the optimized configuration comprises a selection of one or more of the data location options. 10. The method as recited in claim 5 , wherein the plurality of configuration options comprise a plurality of service parallelization options for execution of a request to execute work, and wherein determining the optimized configuration comprises selecting, based at least in part on the respective costs and the performance metrics, one or more of the service parallelization options to be invoked in execution of the work. 11. The method as recited in claim 5 , wherein the plurality of configuration options comprise a plurality of response precomputation options, and wherein determining the optimized configuration comprises selecting, based at least in part on the trace data, of one or more of the response precomputation options that are configured to provide corresponding precomputation output. 12. The method as recited in claim 5 , wherein the optimized configuration comprises a new location for a service with respect to a data source that provides input for the service. 13. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform: collecting trace data for a plurality of service interactions between individual ones of a plurality of services in a service-oriented system, wherein the trace data comprises information about service interactions between different ones of the plurality of services; determining a respective cost of individual ones of a plurality of configuration options in the service-oriented system; generating one or more performance metrics based on the collected trace data, wherein the performance metrics comprise at least one of network latency for a request or a response, or throughput for one or more service interactions; determining an optimized configuration for the service-oriented system based at least in part on the respective costs and the performance metrics, wherein the optimized configuration is determined using an automated optimizer, and wherein the optimized configuration comprises a selection of one of the plurality of configuration options; and causing deployment of the optimized configuration to the service-oriented system. 14. The non-transitory computer-readable storage medium as recited in claim 13 , wherein the plurality of configuration options comprise a plurality of cache configuration options, and wherein the optimized configuration comprises a selection of one or more of the cache configuration options. 15. The non-transitory computer-readable storage medium as recited in claim 13 , wherein the deployment of the optimized configuration comprises modification of a cache or a location of a data source for a service whose program code does not specify usage of the cache or the data source. 16. The non-transitory computer-readable storage medi

Assignees

Inventors

Classifications

  • comprising network management agents or mobile agents therefor · CPC title

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • Delays · CPC title

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10182129B1 cover?
Methods, systems, and computer-readable media for implementing global optimization of a service-oriented system are disclosed. Trace data is collected for a plurality of service interactions between services in a service-oriented system. Respective costs are determined for a plurality of configuration options in the service-oriented system. An optimized configuration for the service-oriented sy…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/32. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 15 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).