IP Library Granted Patent US 12,040,956
Granted Patent B2
US 12,040,956 · App. 18/354,841 · Granted Jul 16, 2024

Microservices application network control plane

Inventors: Marco Palladino (San Francisco, CA); Augusto Marietti (San Francisco, CA)
Assignee: KONG INC.
H04L41/5025G06F11/3428H04L12/66H04L41/0661H04L41/0816H04L43/062H04L43/0817H04L43/16H04L67/133H04L67/51H04L67/56
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 12,040,956
App. No.
18/354,841
Granted
Jul 16, 2024
Kind
B2
Abstract

Disclosed embodiments are directed at systems, methods, and architecture for operating a control plan of a microservices application. The control plane corresponds with data plane proxies associated with each of a plurality of APIs that make up the microservices application. The communication between the data plane proxies and the control plane enables automatic detection of service groups of APIs and automatic repair of application performance in real-time in response to degrading service node conditions.

Claims (47)

1. A method of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:

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; and

identifying a first service group of the plurality of services by:

providing a first input into a first service of the plurality of services;

generating a traversal record via data plane outputs, the first input as data connected to the first input traverses a subset of services of the plurality of services until the subset of services generate a terminal output; and

based on the traversal record, logging the first service group including each of the subset of services traversed by data connected to the first input.

2. The method of claim 1 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.

3. The method of claim 1 , further comprising:

generating a dependency graph of the first service group based on said identifying.

4. The method of claim 1 , further comprising:

generating microservice architecture application analytics on a service group level.

5. The method of claim 1 , wherein said generating further includes:

recording timestamps of the data connected to the first input as each microservice of the subset of services generates data plane outputs; and

measuring latency of the first service group based on the timestamps.

6. The method of claim 5 , further comprising:

reporting that one or more services of the first service group has latency greater than a predetermined threshold.

7. The method of claim 1 , wherein said identifying is performed automatically for each service of the plurality of services of the microservice architecture application.

8. A system of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:

a memory storing 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 plurality of services operating in a data plane; and

a service discovery platform executed by a processor via instructions stored in the memory, the service discovery platform configured to identify a first service group of the plurality of services by:

providing a first input into a first service of the plurality of services;

generating a traversal record via data plane outputs, the first input as data connected to the first input traverses a subset of services of the plurality of services until the subset of services generate a terminal output; and

based on the traversal record, logging the first service group including each of the subset of services traversed by data connected to the first input.

9. The system of claim 8 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.

10. The system of claim 8 , wherein the service discovery platform is further configured to generate a dependency graph of the first service group based on said identifying.

11. The system of claim 8 , wherein the service discovery platform is further configured to generate microservice architecture application analytics on a service group level.

12. The system of claim 8 , wherein said generating further includes:

recording timestamps of the data connected to the first input as each microservice of the subset of services generates data plane outputs; and

measuring latency of the first service group based on the timestamps.

13. The system of claim 12 , wherein the service discovery platform is further configured to report that one or more services of the first service group has latency greater than a predetermined threshold.

14. The system of claim 8 , wherein said identifying is performed automatically for each service of the plurality of services of the microservice architecture application.

15. A method of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:

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, the plurality of services operating in a data plane; and

automatically identifying a set of service groups of the plurality of services by:

providing a tracking input into each of a predetermined set of services of the plurality of services;

generating a traversal record via data plane outputs of the tracking inputs as data connected to the tracking inputs traverse corresponding subsets of services of the plurality of services until the corresponding subsets of services generate corresponding terminal outputs; and

based on the traversal record, logging a set of service groups including each of the corresponding subsets of services traversed by data connected to the tracking inputs.

16. The method of claim 15 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.

17. The method of claim 15 , further comprising:

generating a corresponding dependency graph of each of the corresponding service groups of the set of service groups based on said identifying.

18. The method of claim 15 , further comprising:

generating microservice architecture application analytics on a service group level.

19. The method of claim 15 , wherein said tracking further includes:

recording timestamps of the data connected to the tracking inputs as each microservice of the corresponding subsets of services generate data plane outputs; and

measuring latency of each of the corresponding service groups of the set of service groups based on the timestamps.

20. The method of claim 19 , further comprising:

Reporting that one or more services of a given service group has latency greater than a predetermined threshold.

Assignments (2)
SECURITY INTEREST Recorded Feb 28, 2025
From: KONG INC.
To: HSBC VENTURES USA INC.
Reel/Frame 070372/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: PALLADINO, MARCO; MARIETTI, AUGUSTO
To: KONG INC.
Reel/Frame 064311/0397 →
Continuity (5)
Continuation 17938279 · Oct 5, 2022
Division 17498631 · Oct 11, 2021
Continuation 16714662 · Dec 13, 2019
Provisional Application 62896412 · Sep 5, 2019
Related Publication 20230388199A1 · Nov 30, 2023