IP Library Granted Patent US 12670213
Granted Patent B2
US 12670213 · App. 18/361,362 · Granted Jun 30, 2026

Microservices application service hub

Inventors: Ross Kukulinski (Kirkland, WA); Reza Shafii (Sausalito, CA); David Erichsen (Minneapolis, MN); Andrew Kimberly (Urbana, IL); Yongtao Tang (Boise, ID); Gabriella Angiolillo (San Francisco, CA); Wanny Morellato (North Bend, WA); Samantha Hepler (Austin, TX)
Assignee: KONG INC.
G06F16/901G06F9/547
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 12670213
App. No.
18/361,362
Granted
Jun 30, 2026
Kind
B2
Abstract

Operating a microservices registry hub that automatically discovers and sorts services. A microservice architecture application includes a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function. The microservices registry hub stores an index of the services. The microservices registry hub is configured to enable consumption of services in execution environments. The service hub uses observation agents to monitor particular execution environments and generate a list of unsorted service data associated services available within that environment. That list is automatically pre-sorted based on a predetermined set of heuristic rules based on the index of the plurality of services. An administrator later goes through the pre-sorted service data and confirms whether or not that pre-sorting was correct. Upon receiving confirmation, the service is sorted or indexed into the registry in the manner that it was pre-sorted.

Claims (88)

1 . A method of operating a microservices registry hub that automatically discovers and sorts services:

establishing a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function;

storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;

generating a list of unsorted service data associated with a first service of the plurality of services available within a predetermined environment,

wherein said generating the list of unsorted service data comprises deploying a discovery API that observes the first service available within the predetermined environment, and

wherein the predetermined environment is an execution environment wherein the first service available within the predetermined environment is executing;

automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services;

in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting; and

reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.

2 . The method of claim 1 , wherein the predetermined environment comprises a control plane that is communicatively connected to a plurality of data plane proxies associated with the first service and said generating the list of unsorted service data includes:

receiving, at a microservice control plane, proxied data plane service traffic from the first service; and

reporting, by the control plane to the microservices registry hub, the proxied data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the proxied data plane service traffic.

3 . The method of claim 1 , wherein the index of the plurality of services includes, for each service, any of:

a name;

a specification;

a version history;

a list of instances;

configuration data associated with any of versions or instances; or

functional runtime group data.

4 . The method of claim 1 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.

5 . A method of operating a microservices registry hub that automatically discovers and sorts services:

establishing a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function;

storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;

scraping, by a discovery API to the microservices registry hub, source code and documentation associated with a first service of the plurality of services available within a predetermined environment,

wherein the predetermined environment is a source code repository wherein the source code and the documentation associated with the first service available within the predetermined environment is stored, and

wherein the:

generating a list of unsorted service data associated with the first service of the plurality of services available within the predetermined environment,

wherein the list of unsorted service data is based on the source code and the documentation, and

wherein said generating the list of unsorted service data comprises deploying the discovery API;

automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and

in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting.

6 . A method of operating a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function, the method comprising:

storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;

generating a list of unsorted service data associated with each service of the plurality of services available within a predetermined environment,

wherein the predetermined environment is an execution environment wherein each service available within the predetermined environment is executing, and

wherein said generating the list of unsorted service data comprises deploying a discovery API that observes;

automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services;

in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting; and

reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by each service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.

7 . A method of operating a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function, the method comprising:

storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;

scraping, by a discovery API to the microservices registry hub, source code and documentation associated with each service available within a predetermined environment,

wherein the predetermined environment is a source code repository wherein the source code and the documentation associated with each service available within the predetermined environment is stored, and

wherein the discovery API;

generating a list of unsorted service data associated with each service of the plurality of services available within the predetermined environment,

wherein the list of unsorted service data is based on the source code and the documentation, and

wherein said generating the list of unsorted service data comprises deploying the discovery API;

automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and

in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting.

8 . The method of claim 7 , wherein the predetermined environment comprises a control plane that is communicatively connected to a plurality of data plane proxies associated with a set of executing services and said generating the list of unsorted service data includes:

receiving, at a microservice control plane, proxied data plane service traffic from the set of executing services; and

reporting, by the control plane to the microservices registry hub, the proxied data plane service traffic generated by the set of executing services available within the predetermined environment, wherein the list of unsorted service data is based on the proxied data plane service traffic.

9 . The method of claim 7 , wherein the index of the plurality of services includes, for each service, any of:

a name;

a specification;

a version history;

a list of instances;

configuration data associated with any of versions or instances; or

functional runtime group data.

10 . The method of claim 7 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.

11 . A system implementing a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services is each an application program interface (API) performing a piecemeal function of an overall application function, the system comprising:

a processor;

a memory that stores, associated with the microservices registry hub, an index of the plurality of services, the memory further including instructions that when executed by the processor enable the microservices registry hub to implement services of the plurality of services to execution environments; and

a network interface that is communicatively coupled with a discovery API that executes in a predetermined environment,

wherein the predetermined environment is an execution environment wherein a first service of the plurality of services available within the predetermined environment is executing, and

wherein the discovery API is configured to observe the first service available within the predetermined environment; and

wherein the memory further includes instructions that when executed, cause the processor to:

generate, based on communication from the discovery API, a list of unsorted service data associated with the first service available within the predetermined environment;

automatically pre-sort the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and

in response to a user confirmation, update the index of the plurality of services based on the pre-sorting; and

reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.

12 . The system of claim 11 , wherein the index of the plurality of services includes, for each service, any of:

a name;

a specification;

a version history;

a list of instances;

configuration data associated with any of versions or instances; or

functional runtime group data.

13 . The system of claim 11 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.

14 . A system implementing a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services is each an application program interface (API) performing a piecemeal function of an overall application function, the system comprising:

a processor;

a memory that stores, associated with the microservices registry hub, an index of the plurality of services, the memory further including instructions that when executed by the processor enable the microservices registry hub to implement services of the plurality of services to execution environments; and

a network interface that is communicatively coupled with a discovery API that executes in a predetermined environment, wherein the predetermined environment is a source code repository wherein source code and documentation associated with a first service of the plurality of services available within the predetermined environment is stored

wherein the memory further includes instructions that when executed, cause the processor to:

scrape, by the discovery API to the microservices registry hub, the source code and the documentation associated with the first service available within the predetermined environment;

generate, based on communication from the discovery API, a list of unsorted service data associated with the first service available within the predetermined environment, wherein the list of unsorted service data is based on the source code and the documentation;

automatically pre-sort the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and

in response to a user confirmation, update the index of the plurality of services based on the pre-sorting.