IP Library Granted Patent US 11,153,227
Granted Patent B1
US 11,153,227 · App. 16/985,265 · Granted Oct 19, 2021

Managing communication between microservices

Inventors: Richard Chamberlain (Southampton, GB); Adam John Pilkington (Eastleigh, GB); Howard Hellyer (Kings Worthy, GB)
Assignee: International Business Machines Corporation
H04L47/762G06F9/547H04L41/0816H04L43/08H04L67/02H04L67/10
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,153,227
App. No.
16/985,265
Granted
Oct 19, 2021
Kind
B1
Abstract

Embodiments of the present invention provide methods, computer program products, and systems. One example comprises monitoring traffic between a plurality of microservices to determine a property of the traffic. Embodiments of the present invention can then, based on the determined property of the monitored traffic, relocate each of the plurality of microservices from its respective origin resource to a shared resource.

Claims (64)

1. A computer-implemented method comprising:

in response to receiving requests communicated between a plurality of microservices, determining a property of traffic by monitoring traffic between the plurality of microservices; and

relocating each of the plurality of microservices temporarily from its respective origin resource to a shared resource based on the determined property of the monitored traffic.

2. The computer-implemented method of claim 1 , wherein relocating each of the plurality of microservices comprises:

for each of the plurality of microservices, restarting the microservice at the shared resource and shutting down the microservice at its origin resource.

3. The computer-implemented method of claim 1 , wherein relocating each of the plurality of microservices comprises:

reconfiguring communication between the plurality of microservices by collecting the plurality of microservices from each of their respective origin resources to the shared resource.

4. The computer-implemented method of claim 1 , wherein the property of the monitored traffic comprises at least one of:

an amount of data moving between the plurality of microservices;

a type of the data moving between the plurality of microservices; and

a flow rate of the data moving between the plurality of microservices.

5. The computer-implemented method of claim 1 , wherein at least one of the origin resource and the shared resource comprises a virtual resource.

6. The computer-implemented method of claim 5 , wherein the virtual resource comprises one of:

a node;

a pod of a node;

a container;

a container of a pod;

a process; and

a process of a container.

7. The computer-implemented method of claim 1 , wherein relocating each of the plurality of microservices comprises:

determining whether the property of the monitored traffic satisfies a predetermined requirement; and

responsive to the property of the monitored traffic satisfying the predetermined requirement, relocating each of the plurality of microservices from its respective origin resource to the shared resource.

8. The computer-implemented method of claim 7 , wherein the predetermined requirement comprises at least one of:

an amount of data being greater than or equal to a predetermined threshold;

a type of the data being a predetermined type; and

a flow rate of the data being greater than or equal to a predetermined threshold.

9. The computer-implemented method of claim 1 , wherein monitoring traffic between the plurality of microservices comprises:

receiving requests communicated between the plurality of microservices; and

monitoring traffic associated with the received requests.

10. The computer-implemented method of claim 1 , wherein relocating each of the plurality of microservices comprises, for each of the plurality of microservices:

maintaining a first instance of the microservice at its origin resource;

restarting a second instance of the microservice at the shared resource; and

shutting down the second instance of the microservice at its respective origin resource.

11. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to, in response to receiving requests communicated between a plurality of microservices, determine a property of traffic by to monitoring traffic between the plurality of microservices; and

program instructions to relocate each of the plurality of microservices temporarily from its respective origin resource to a shared resource based on the determined property of the monitored traffic.

12. The computer program product of claim 11 , wherein the program instructions to relocating each of the plurality of microservices comprises:

for each of the plurality of microservices, program instructions to restart the microservice at the shared resource and shutting down the microservice at its origin resource.

13. The computer program product of claim 11 , wherein the program instructions to relocate each of the plurality of microservices comprise:

program instructions to reconfigure communication between the plurality of microservices by collecting the plurality of microservices from each of their respective origin resources to the shared resource.

14. The computer program product of claim 11 , wherein the program instructions to relocating each of the plurality of microservices comprise:

program instructions to determine whether the property of the monitored traffic satisfies a predetermined requirement; and

program instructions to, responsive to the property of the monitored traffic satisfying the predetermined requirement, relocate each of the plurality of microservices from its respective origin resource to the shared resource.

15. The computer program product of claim 11 , wherein the program instructions to monitoring traffic between the plurality of microservices comprise:

program instructions to receive requests communicated between the plurality of microservices; and

program instructions to monitor traffic associated with the received requests.

16. The computer program product of claim 11 , wherein the program instructions to relocating each of the plurality of microservices comprises, for each of the plurality of microservices comprise:

program instructions to maintain a first instance of the microservice at its origin resource;

program instructions to restart a second instance of the microservice at the shared resource; and

program instructions to shut down the second instance of the microservice at its respective origin resource.

17. A computer system for comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:

program instructions to, in response to receiving requests communicated between a plurality of microservices, determine a property of traffic by to monitoring traffic between the plurality of microservices; and

program instructions to relocate each of the plurality of microservices temporarily from its respective origin resource to a shared resource based on the determined property of the monitored traffic.

18. The computer system of claim 17 , wherein the program instructions to relocating each of the plurality of microservices comprises:

for each of the plurality of microservices, program instructions to restart the microservice at the shared resource and shutting down the microservice at its origin resource.

19. The computer system of claim 17 , wherein the program instructions to relocate each of the plurality of microservices comprise:

program instructions to reconfigure communication between the plurality of microservices by collecting the plurality of microservices from each of their respective origin resources to the shared resource.

20. The computer system of claim 17 , wherein the program instructions to relocating each of the plurality of microservices comprise:

program instructions to determine whether the property of the monitored traffic satisfies a predetermined requirement; and

program instructions to, responsive to the property of the monitored traffic satisfying the predetermined requirement, relocate each of the plurality of microservices from its respective origin resource to the shared resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: CHAMBERLAIN, RICHARD; PILKINGTON, ADAM JOHN; HELLYER, HOWARD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053402/0405 →
Cited By (2)
US 12,367,320 US 12,483,569