Service-oriented system optimization using static analysis
First Claim
Patent Images
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 optimization system is configured to;
perform a cross-service static analysis of program code for individual ones of the plurality of services, wherein execution of a particular service of the plurality of services comprises execution of corresponding program code;
determine, based on the cross-service static analysis, one or more service dependencies in the program code for the individual ones of the plurality of services, wherein the one or more service dependencies comprise one or more service calls between the individual ones of the plurality of services;
determine an optimized configuration for the service-oriented system, wherein the optimized configuration improves a total performance metric in at least a portion of the service-oriented system, and wherein the optimized configuration comprises a colocation of at least two of the plurality of services based on the one or more service dependencies; and
cause deployment of individual ones of the plurality of services based on the optimized configuration, wherein the deployment comprises the colocation.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable media for implementing service-oriented system optimization using static analysis are disclosed. A cross-service static analysis is performed for program code of a plurality of services in a service-oriented system. Based on the cross-service static analysis, one or more service dependencies in the program code are determined. An optimized configuration for the service-oriented system is determined based on the one or more service dependencies. Individual ones of the services are deployed to the service-oriented system based on the optimized configuration.
-
Citations
20 Claims
-
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 optimization system is configured to; perform a cross-service static analysis of program code for individual ones of the plurality of services, wherein execution of a particular service of the plurality of services comprises execution of corresponding program code; determine, based on the cross-service static analysis, one or more service dependencies in the program code for the individual ones of the plurality of services, wherein the one or more service dependencies comprise one or more service calls between the individual ones of the plurality of services; determine an optimized configuration for the service-oriented system, wherein the optimized configuration improves a total performance metric in at least a portion of the service-oriented system, and wherein the optimized configuration comprises a colocation of at least two of the plurality of services based on the one or more service dependencies; and cause deployment of individual ones of the plurality of services based on the optimized configuration, wherein the deployment comprises the colocation. - View Dependent Claims (2, 3, 4)
-
5. A computer-implemented method, comprising:
-
performing a cross-service static analysis of program code for individual ones of a plurality of services in a service-oriented system; determining, based on the cross-service static analysis, one or more service dependencies in the program code for the individual ones of the plurality of services, wherein the one or more service dependencies comprise one or more service calls between the individual ones of the plurality of services; determining an optimized configuration for the service-oriented system based on the one or more service dependencies, wherein the optimized configuration improves a performance metric in at least a portion of the service-oriented system, and wherein the optimized configuration comprises a colocation of at least two of the plurality of services based on the one or more service dependencies; and causing deployment of individual ones of the plurality of services to the service-oriented system based on the optimized configuration, and wherein the deployment comprises the colocation. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform:
-
performing a cross-service static analysis of program code for individual ones of a plurality of services in a service-oriented system; determining, based on the cross-service static analysis, one or more service dependencies in the program code for the individual ones of the plurality of services, wherein the one or more service dependencies comprise one or more service calls between the individual ones of the plurality of services; determining an optimized configuration for the service-oriented system based on the one or more service dependencies, wherein the optimized configuration improves a total performance metric in at least a portion of the service-oriented system, and wherein the optimized configuration comprises a colocation of at least two of the plurality of services based on the one or more service dependencies; and causing deployment of individual ones of the plurality of services to the service-oriented system based on the optimized configuration, and wherein the deployment comprises the colocation. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification