Systems and methods for dynamic discovery of container-based microservices
First Claim
1. A method comprising, by a computer system:
- determining, for a first container of a first microservice type, a second microservice type to connect to the first container to provide a service, wherein the service comprises the first microservice type and the second microservice type, and wherein the first microservice type and the second microservice type are each expressed as one of a defined set of microservice types;
identifying, from container metadata, one or more input data parameters of the first container, wherein the one or more input data parameters are used to instantiate the first container;
wherein the container metadata specifies, for each microservice type in the defined set of microservice types, one or more containers, at least one input data parameter of each of the one or more containers and at least one output data parameter of each of the one or more containers;
searching the container metadata for containers of the second microservice type for which the at least one output data parameter satisfies the one or more input data parameters of the first container, wherein the searching yields at least one container of the one or more containers of the second microservice type;
selecting a second container from the at least one container yielded by the searching, the second container having one or more output data parameters, specified in the container metadata, that satisfy the one or more input data parameters of the first container and that are output by the second container;
responsive to the selecting, creating an instance of the second container; and
chaining the instance of the second container to an instance of the first container using the one or more output data parameters of the second container and the one or more input data parameters of the first container so as to create the service.
22 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes determining a particular microservice to connect to an instance of a first container to provide a service. The method further includes identifying, from container metadata, one or more inputs of the first container. The method also includes searching the container metadata for containers that provide the particular microservice and whose outputs satisfy the one or more inputs of the first container. In addition, the method includes selecting a second container based on the searching, the second container comprising one or more outputs. Also, the method includes creating an instance of the second container. Furthermore, the method includes connecting the instance of the second container to the instance of the first container using the one or more outputs of the second container and the one or more inputs of the first container.
55 Citations
20 Claims
-
1. A method comprising, by a computer system:
-
determining, for a first container of a first microservice type, a second microservice type to connect to the first container to provide a service, wherein the service comprises the first microservice type and the second microservice type, and wherein the first microservice type and the second microservice type are each expressed as one of a defined set of microservice types; identifying, from container metadata, one or more input data parameters of the first container, wherein the one or more input data parameters are used to instantiate the first container; wherein the container metadata specifies, for each microservice type in the defined set of microservice types, one or more containers, at least one input data parameter of each of the one or more containers and at least one output data parameter of each of the one or more containers; searching the container metadata for containers of the second microservice type for which the at least one output data parameter satisfies the one or more input data parameters of the first container, wherein the searching yields at least one container of the one or more containers of the second microservice type; selecting a second container from the at least one container yielded by the searching, the second container having one or more output data parameters, specified in the container metadata, that satisfy the one or more input data parameters of the first container and that are output by the second container; responsive to the selecting, creating an instance of the second container; and chaining the instance of the second container to an instance of the first container using the one or more output data parameters of the second container and the one or more input data parameters of the first container so as to create the service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An information handling system comprising a processor and memory, wherein the processor and memory in combination are operable to implement a method comprising:
-
determining, for a first container of a first microservice type, a second microservice type to connect to the first container to provide a service, wherein the service comprises the first microservice type and the second microservice type, and wherein the first microservice type and the second microservice type are each expressed as one of a defined set of microservice types; identifying, from container metadata, one or more input data parameters of the first container, wherein the one or more input data parameters are used to instantiate the first container; wherein the container metadata specifies, for each microservice type in the defined set of microservice types, one or more containers, at least one input data parameter of each of the one or more containers and at least one output data parameter of each of the one or more containers; searching the container metadata for containers of the second microservice type for which the at least one output data parameter satisfies the one or more input data parameters of the first container, wherein the searching yields at least one container of the one or more containers of the second microservice type; selecting a second container from the at least one container yielded by the searching, the second container having one or more output data parameters, specified in the container metadata, that satisfy the one or more input data parameters of the first container and that are output by the second container; responsive to the selecting, creating an instance of the second container; and chaining the instance of the second container to an instance of the first container using the one or more output data parameters of the second container and the one or more input data parameters of the first container so as to create the service. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:
-
determining, for a first container of a first microservice type, a second microservice type to connect to the first container to provide a service, wherein the service comprises the first microservice type and the second microservice type, and wherein the first microservice type and the second microservice type are each expressed as one of a defined set of microservice types; identifying, from container metadata, one or more input data parameters of the first container, wherein the one or more input data parameters are used to instantiate the first container; wherein the container metadata specifies, for each microservice type in the defined set of microservice types, one or more containers, at least one input data parameter of each of the one or more containers and at least one output data parameter of each of the one or more containers; searching the container metadata for containers of the second microservice type for which the at least one output data parameter satisfies the one or more input data parameters of the first container, wherein the searching yields at least one container of the one or more containers of the second microservice type; selecting a second container from the at least one container yielded by the searching, the second container having one or more output data parameters, specified in the container metadata, that satisfy the one or more input data parameters of the first container and that are output by the second container; responsive to the selecting, creating an instance of the second container; and chaining the instance of the second container to an instance of the first container using the one or more output data parameters of the second container and the one or more input data parameters of the first container so as to create the service. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification