Service-oriented system optimization using partial service relocation

US9998562B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9998562-B1
Application numberUS-201414309762-A
CountryUS
Kind codeB1
Filing dateJun 19, 2014
Priority dateJun 19, 2014
Publication dateJun 12, 2018
Grant dateJun 12, 2018

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 service-oriented system optimization using partial service relocation are disclosed. An optimized configuration is determined for the service-oriented system based on performance data. The optimized configuration improves a performance metric in the service-oriented system. A partial service is automatically generated based on an original service in a service-oriented system. The partial service includes a first set of program code from the original service and excludes a second set of program code from the original service. The first set of program code is included in the partial service based on its frequency of use. One or more instances of the partial service are deployed to the service-oriented system based on the optimized configuration.

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: 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 network latency for the plurality of service interactions; and send the trace data to the optimization system; and wherein the optimization system is configured to: determine an optimized configuration for the service-oriented system, wherein the optimized configuration reduces a total network latency for one or more service interactions in the service-oriented system; generate a partial service based on an original service of the plurality of services, wherein the partial service is generated based on an automatic analysis of program code of the original service, wherein the program code is executed to implement the original service, wherein the partial service includes a first set of program code from the original service and excludes a second set of program code from the original service, and wherein the first set of program code is included in the partial service based on a frequency of use of the first set of program code; and cause deployment of one or more instances of the partial service based on the optimized configuration. 2. The system as recited in claim 1 , wherein, in causing deployment of one or more instances of the partial service based on the optimized configuration, the optimization system is configured to: cause deployment of one or more instances of the partial service to one or more of the computing devices in a same zone as one or more of the services that interact with the original service; cause deployment of one or more instances of the partial service to one or more of the computing devices that host one or more of the services that interact with the original service; cause deployment of one or more instances of the partial service to one or more virtual machines that host one or more of the services that interact with the original service; or cause deployment of one or more instances of the partial service to one or more processes that host one or more of the services that interact with the original service. 3. The system as recited in claim 1 , wherein the optimized configuration for the service-oriented system is determined based on performance data for individual ones of the plurality of services, based on static analysis of program code for individual ones of the plurality of services, or based on the performance data for individual ones of the plurality of services and on the static analysis of the program code for individual ones of the plurality of services. 4. The system as recited in claim 3 , wherein, in performing the automatic analysis of the program code of the original service, the optimization system is configured to: determine one or more parameters passed to the original service by one or more of the plurality of services that interact with the original service; and partially evaluate the program code of the original service using the one or more parameters. 5. A computer-implemented method, comprising: 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 data indicative of network latency for the plurality of service interactions; determining an optimized configuration for the service-oriented system based on the trace data; generating a partial service based on an original service in the service-oriented system, wherein the partial service is generated based on an automatic analysis of program code of the original service, wherein the program code is executed to implement the original service, wherein the partial service includes a first set of program code from the original service and excludes a second set of program code from the original service, and wherein the first set of program code is included in the partial service based on a frequency of use of the first set of program code; and causing deployment of one or more instances of the partial service to the service-oriented system based on the optimized configuration, wherein the optimized configuration improves a total performance metric in the service-oriented system. 6. The method as recited in claim 5 , wherein causing deployment of one or more instances of the partial service to the service-oriented system based on the optimized configuration comprises: causing deployment of one or more instances of the partial service to one or more computing devices in a same zone as one or more services that interact with the original service. 7. The method as recited in claim 5 , wherein causing deployment of one or more instances of the partial service to the service-oriented system based on the optimized configuration comprises: causing deployment of one or more instances of the partial service to one or more computing devices that host one or more services that interact with the original service. 8. The method as recited in claim 5 , wherein the automatic analysis of the program code of the original service, the generating the partial service based on the original service, and the causing deployment of the one or more instances of the partial service are performed a plurality of times over an interval of time. 9. The method as recited in claim 5 , further comprising: determining the optimized configuration for the service-oriented system based on performance data for a plurality of services, based on static analysis of program code for the plurality of services, or based on the performance data for the plurality of services and on the static analysis of the program code for the plurality of services. 10. The method as recited in claim 5 , wherein performing the automatic analysis of the program code of the original service comprises: determining one or more parameters passed to the original service by one or more services that interact with the original service; and partially evaluating the program code of the original service using the one or more parameters. 11. The method as recited in claim 10 , wherein the one or more parameters are determined based on the trace data for the plurality of service interactions between the original service and the one or more services that interact with the original service. 12. The method as recited in claim 5 , wherein generating the partial service based on the original service comprises: substituting, for the second set of program code, a service call to an additional service that implements the second set of program code. 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 data indicative of network latency for the plurality of service interactions; determining an optimized configuration for the service-oriented system based on the trace data; generating a partial service based on an original service in the service-oriented system, wherein the partial service is generated based on an automatic analysis of program code of the original service, wherein the program code is executed to implement the original service, wherein the partial service includes a first set of program code from the original serv

Assignees

Inventors

Classifications

  • 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

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Performance evaluation by modeling · CPC title

  • Performance evaluation by statistical analysis · CPC title

  • Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247) · 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 US9998562B1 cover?
Methods, systems, and computer-readable media for implementing service-oriented system optimization using partial service relocation are disclosed. An optimized configuration is determined for the service-oriented system based on performance data. The optimized configuration improves a performance metric in the service-oriented system. A partial service is automatically generated based on an or…
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 Jun 12 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).