US 12,450,110 B2
Optimizing redeployment of functions and services across multiple container platforms and installations
Claudio Caldato, Sammamish, WA (US); and Boris Scholl, Kirkland, WA (US)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Sep. 28, 2018, as Appl. No. 16/147,332.
Claims priority of provisional application 62/566,351, filed on Sep. 30, 2017.
Prior Publication US 2019/0102157 A1, Apr. 4, 2019
Int. Cl. G06F 9/54 (2006.01); G06F 3/0482 (2013.01); G06F 8/60 (2018.01); G06F 8/61 (2018.01); G06F 8/71 (2018.01); G06F 9/455 (2018.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 11/20 (2006.01); G06F 11/362 (2025.01); G06F 21/60 (2013.01); H04L 67/10 (2022.01)
CPC G06F 9/547 (2013.01) [G06F 8/60 (2013.01); G06F 9/455 (2013.01); G06F 9/4881 (2013.01); G06F 9/505 (2013.01); G06F 9/5072 (2013.01); G06F 9/5083 (2013.01); G06F 11/203 (2013.01); G06F 11/362 (2013.01); G06F 11/3644 (2013.01); G06F 21/602 (2013.01); H04L 67/10 (2013.01); G06F 3/0482 (2013.01); G06F 8/63 (2013.01); G06F 8/71 (2013.01); G06F 9/45558 (2013.01); G06F 2009/45562 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of distributing microservice containers for a service across a plurality of computing environments, the method comprising:
receiving, at an Application Programming Interface (API) registry, a first service that is built from a plurality of containerized microservices to be deployed in a container platform, wherein the container platform comprises a plurality of computing environments;
receiving, at the API registry, deployment criteria for deploying the first service in the container platform, wherein each of the plurality of containerized microservices comprises an attribute corresponding to the deployment criteria;
accessing, by the API registry, characteristics of the plurality of computing environments;
deploying, by the API registry, the first service comprising the plurality of containerized microservices across the plurality of computing environments based on the deployment criteria and the characteristics of the plurality of computing environments, wherein values for microservice attributes are matched with the characteristics of the plurality of computing environments to determine on which of the plurality of computing environments each individual microservice in the plurality of containerized microservices is deployed;
providing, by the API registry, an API function for the first service;
receiving, by the API registry, a request for a second service to use the API function of the first service, wherein both the first service and the second service are registered with the API registry, and the request comprises a programming language used by the second service;
generating, by the API registry, and in response to the request for the second service to use the API function of the first service, a client library in the programming language of the second service, wherein the client library comprises a class definition representing the first service and a member function of the class definition that includes code for directly calling the first service through a service endpoint; and
sending, by the API registry, and in response to the request to use the API function of the first service, the client library for the first service to the second service, wherein a source code of the second service comprises an instance of the class definition such that when source code of the second service later calls the API function using the member function of the class definition from the client library, the member function instead addresses the first service directly through the service endpoint of the first service without calling the API function at the API registry.