IP Library › Granted Patent US 11,412,053
Granted Patent B2
US 11,412,053 · App. 16/505,618 · Granted Aug 9, 2022

Scaling service discovery in a micro-service environment

Inventors: Yi Yang (Morrisville, NC); Wojciech Dec (Amsterdam, NL); Syed Basheeruddin Ahmed (Santa Clara, CA); Sanjay Agrawal (San Jose, CA); Ruchir Gupta (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L67/16G06F9/45558G06F2009/45595
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 11,412,053
App. No.
16/505,618
Granted
Aug 9, 2022
Kind
B2
Abstract

Systems and methods provide for scaling service discovery in a micro-service environment. A controller can inject a service discovery agent onto a host. At least one of the controller or the agent can identify a first set of micro-service containers that are dependencies of the first micro-service container and a second set of micro-service containers that are dependencies of the second micro-service container. At least one of the controller or the agent can update routing data for the first set of micro-service containers and the second set of micro-service containers. At least one of the controller or the agent can determine the second micro-service container has terminated on the host computing device. At least one of the controller or the agent can update the agent to remove the routing data for the second set of micro-service containers.

Claims (56)

1. A computer-implemented method comprising:

injecting, by a controller, a service discovery agent onto a host;

identifying one or more first micro-services provided by a first container instantiated on the host, one or more second micro-services provided by a second container instantiated on the host, one or more third micro-services provided by one or more third containers depending from the first container, and one or more fourth micro-services provided by one or more fourth containers depending from the second container;

updating the service discovery agent with first routing data to the one or more third containers and second routing data to the one or more fourth containers, wherein the first routing data includes routes from the first container to the one or more third containers and the second routing data includes routes from the second container to the one or more fourth containers;

determining the second container has terminated; and

updating the service discovery agent to remove at least the routes from the second container in the second routing data.

2. The computer-implemented method of claim 1 , wherein the host is a physical server.

3. The computer-implemented method of claim 1 , wherein the host is a virtual machine.

4. The computer-implemented method of claim 3 , further comprising:

load-balancing requests to the one or more third containers.

5. The computer-implemented method of claim 1 , further comprising:

checking for dependencies from the first container in response to instantiation of the second container on the host.

6. The computer-implemented method of claim 5 , further comprising:

determining a new dependency from the first container to one or more fifth containers; and

updating the service discovery agent with third routing data to the one or more fifth containers.

7. The computer-implemented method of claim 6 , further comprising:

determining there is at least one common container among the fourth containers and the fifth containers,

wherein the third routing data excludes routing data to the at least one common container.

8. The computer-implemented method of claim 5 , further comprising:

determining at least one container of the one or more third containers has terminated; and

updating the service discovery agent to remove routing data to the at least one container.

9. The computer-implemented method of claim 1 , further comprising:

determining at least one common container among the third containers and the fourth containers,

wherein the second routing data exclude routing data to the at least one common container.

10. The computer-implemented method of claim 1 , further comprising:

determining the second container depends from at least one container; and

updating a second service discovery agent on a second host of the at least one container to remove third routing data to the second container.

11. A system, comprising:

one or more processors; and

memory including instructions that, when executed by the one or more processors, cause the system to:

inject a service discovery agent onto a host;

identify one or more first micro-services provided by a first container instantiated on the host, one or more second micro-services provided by a second container instantiated on the host, one or more third micro-services provided by one or more third containers depending from the first container, and one or more fourth micro-services provided by one or more fourth containers depending from the second container;

update the service discovery agent with first routing data to the one or more third containers and second routing data to the one or more fourth containers, wherein the first routing data includes routes from the first container to the one or more third containers and the second routing data includes routes from the second container to the one or more fourth containers;

determine the second container has terminated; and

update the service discovery agent to remove at least the routes from the second container in the second routing data.

12. The system of claim 11 , wherein the host is a physical server.

13. The system of claim 11 , wherein the host is a virtual machine.

14. The system of claim 11 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

load-balance requests to the one or more third containers.

15. The system of claim 11 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

check for dependencies from the first container in response to instantiation of the second container on the host.

16. The system of claim 15 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

determine a new dependency from the first container to one or more fifth containers; and

update the service discovery agent with third routing data to the one or more fifth containers.

17. The system of claim 16 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

determine there is at least one common container among the fourth containers and the fifth micro containers,

wherein the third routing data excludes routing data to the at least one common container.

18. The system of claim 16 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

determine at least one container of the one or more third containers has terminated; and

update the service discovery agent to remove routing data to the at least one container.

19. The system of claim 11 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

determine at least one common container among the third containers and the fourth containers,

wherein the second routing data excludes routing data to the at least one common container.

20. The system of claim 11 , further comprising further instructions that, when executed by the one or more processors, further cause the system to:

determine the second container depends from at least one container; and

update a second service discovery agent on a second host of the at least one container to remove third routing data to the second container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: YANG, YI; DEC, WOJCIECH; AHMED, SYED BASHEERUDDIN; AGRAWAL, SANJAY; GUPTA, RUCHIR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 049693/0012 →
Continuity (2)
Continuation 15217311 · Jul 22, 2016
Related Publication 20190335004A1 · Oct 31, 2019