IP Library Granted Patent US 10,599,499
Granted Patent B2
US 10,599,499 · App. 16/147,305 · Granted Mar 24, 2020

API registry in a container platform providing property-based API functionality

Inventors: Claudio Caldato (Sammamish, WA); Boris Scholl (Kirkland, WA)
Assignee: Oracle International Corporation
G06F9/547G06F8/60G06F9/455G06F9/4881G06F9/505G06F9/5072G06F9/5083G06F11/203G06F11/362G06F11/3644G06F21/602H04L67/10G06F3/0482G06F8/63G06F8/71G06F9/45558G06F2009/45562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,599,499
App. No.
16/147,305
Granted
Mar 24, 2020
Kind
B2
Abstract

A method of customizing deployment and operation of services in container environments may include receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment. The method may also include determining whether the property for the service affects the deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property. The method may additionally include determining whether the property for the service affects the generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property.

Claims (48)

1. A method of customizing deployment and operation of services in container environments, the method comprising:

receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment;

determining, by the API registry, whether the property for the service affects a deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property;

determining, by the API registry, whether the property for the service affects a generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property; and

determining, by the API registry, whether the property for the service affects how calls to the service are handled in the container environment, and in response to a determination that the property affects how the calls to the service are handled, handling the calls to the service based at least in part on the property.

2. The method of claim 1 , wherein the property comprises code that is executed by the API registry.

3. The method of claim 1 , wherein the property comprises flags that are used by the API registry to select predefined processes to execute.

4. The method of claim 1 , wherein determining, by the API registry, whether the property for the service affects the deployment of the service to the container environment comprises:

determining that the property indicates that the service should be deployed to the container environment such that it has high availability.

5. The method of claim 4 , wherein deploying the service based at least in part on the property comprises:

deploying multiple containerized instances of the service to the container environment.

6. The method of claim 1 , wherein determining whether the property for the service affects the generation of the client library that calls the service in the container environment comprises:

determining that the property indicates that the service requires end-to-end encryption.

7. The method of claim 6 , wherein generating the client library based at least in part on the property comprises:

generating code in the client library that encrypts data before it is sent in a service call to an endpoint of the service.

8. The method of claim 1 , wherein determining whether the property for the service affects the generation of the client library that calls the service in the container environment comprises:

determining that the property indicates that calling services should log usage of the service.

9. The method of claim 8 , wherein generating the client library based at least in part on the property comprises:

generating code in the client library that logs usage information for calls to an endpoint of the service.

10. The method of claim 1 , wherein determining whether the property for the service affects how the calls to the service are handled in the container environment comprises:

determining that the property indicates that the service should be instantiated on-demand in the container environment.

11. The method of claim 10 , wherein handling the calls to the service based at least in part on the property comprises:

generating, by the API registry, a containerized instance of the service in response to receiving an indication that a calling service will send a request to the service.

12. A non-transitory, computer-readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to perform operations comprising:

receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment;

determining, by the API registry, whether the property for the service affects a deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property;

determining, by the API registry, whether the property for the service affects a generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property; and

determining, by the API registry, whether the property for the service affects how calls to the service are handled in the container environment, and in response to a determination that the property affects how the calls to the service are handled, handling the calls to the service based at least in part on the property.

13. The non-transitory, computer-readable medium of claim 12 , wherein the client library comprises an object class with member functions that implement API functions to make direct calls to an endpoint of the service.

14. The non-transitory, computer-readable medium of claim 12 , wherein the operations further comprise:

receiving, at the API registry, an API definition comprising:

an endpoint of the service in the container environment; and

one or more API functions.

15. The non-transitory, computer-readable medium of claim 14 , wherein the property for the service is received with the API definition.

16. The non-transitory, computer-readable medium of claim 12 , wherein the container environment comprises a plurality of services encapsulated in containers.

17. The non-transitory, computer-readable medium of claim 12 , wherein the API registry is deployed as a service encapsulated in a container in the container environment.

18. The non-transitory, computer-readable medium of claim 12 , wherein the API registry is available to:

services in development in an Integrated Development Environment (IDE); and

services already deployed in the container environment.

19. A system comprising:

one or more processors; and

one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, at an API registry, a property for a service that is or will be encapsulated in a container that is or will be deployed in a container environment;

determining, by the API registry, whether the property for the service affects a deployment of the service to the container environment, and in response to a determination that the property affects the deployment of the service, deploying the service based at least in part on the property;

determining, by the API registry, whether the property for the service affects a generation of a client library that calls the service in the container environment, and in response to a determination that the property affects the generation of the client library, generating the client library based at least in part on the property; and

determining, by the API registry, whether the property for the service affects how calls to the service are handled in the container environment, and in response to a determination that the property affects how the calls to the service are handled, handling the calls to the service based at least in part on the property.

20. The system of claim 19 , wherein determining whether the property for the service affects how the calls to the service are handled in the container environment comprises:

determining that the property indicates that the service should be rate-limited when calls are made to the service in the container environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: CALDATO, CLAUDIO; SCHOLL, BORIS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 047409/0453 →
Continuity (2)
Provisional Application 62566351 · Sep 30, 2017
Related Publication 20190102238A1 · Apr 4, 2019
Cited By (3)
US 12,450,110 US 12,683,970 US 12,693,900