IP Library Granted Patent US 11,093,232
Granted Patent B2
US 11,093,232 · App. 16/503,146 · Granted Aug 17, 2021

Microservice update system

Inventors: Marc Marcel René Maréchal (Shanghai, CN); Yongjun Shi (Shanghai, CN)
Assignee: Dell Products L.P.
G06F8/65G06F11/3688G06F8/71
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,093,232
App. No.
16/503,146
Granted
Aug 17, 2021
Kind
B2
Abstract

A microservice update system includes a build dispatcher system that receives a microservice modification request identifying first microservice(s) included in a plurality of microservices that provide a service. The build dispatcher system then triggers a respective microservice pipeline for each first microservice. A continuous integration system receives respective microservice modified code for each first microservice via the respective pipeline triggered for each, and update corresponding first portion(s) of service code. The continuous integration system then tests the updated service code in order to test the first microservice(s) that are provided by the first portion(s) of updated service code, and test second microservice(s) that are included in the plurality of microservices that provide the service, that are provided by at least one second portion of the updated service code that was not updated as part of the updating, and that are dependent on at least one of the first microservice(s).

Claims (68)

1. A microservice update system, comprising:

a build dispatcher system that includes:

a first non-transitory memory; and

a first processor that is coupled to the first non-transitory memory and that is configured to read instructions from the first non-transitory memory to cause the builder dispatcher system to be configured to:

receive a microservice modification request;

identify a first subset of microservices that are included in a plurality of microservices that are configured to provide a service, and for which a modification has been requested in the microservice modification request; and

trigger, for each of the first subset of microservices, a respective microservice pipeline that is associated with a respective root of a respective microservice folder for each of the first subset of microservices; and

a continuous integration system that is coupled to the build dispatcher system and that includes:

a second non-transitory memory; and

a second processor that is coupled to the first non-transitory memory and that is configured to read instructions from the first non-transitory memory to cause the continuous integration system to be configured to:

receive, via the respective pipeline triggered for each of the first subset of microservices, respective microservice modified code for each of the first subset of microservices;

update, using the respective microservice modified code for each of the first subset of microservices, at least one first portion of service code that provides the first subset of microservices for the service, wherein the updating provides updated service code; and

test the updated service code in order to test:

the first subset of microservices that are provided by the at least one first portion of the updated service code; and

a second subset of microservices that are included in the plurality of microservices that are configured to provide the service, that are provided by at least one second portion of the updated service code that was not updated as part of the updating, and that are dependent on at least one of the first subset of microservices.

2. The system of claim 1 , wherein the continuous integration system is configured to:

determine, in response to the testing of the updated service code, that each of the first subset of microservices and the second subset of microservice have passed the testing; and

provide, for display on a developer system, an indication that each of the first subset of microservices and the second subset of microservice have passed the testing.

3. The system of claim 1 , wherein the continuous integration system is configured to:

automatically deploy, to a service provisioning system in response to determining that each of the first subset of microservices and the second subset of microservices have passed the testing, the updated service code.

4. The system of claim 1 , wherein the continuous integration system is configured to:

determine, in response to the testing of the updated service code, that at least one of the first subset of microservices and the second subset of microservices have not passed the testing; and

provide, for display on a developer system, an indication that at least one of the first subset of microservices and the second subset of microservices have not passed the testing.

5. The system of claim 1 , wherein the second subset of microservices are dependent on the at least one subset of microservices based on the second subset of microservices utilizing at least one output generated by the at least one subset of microservices during the testing.

6. The system of claim 1 , wherein the first subset of microservices includes at least two microservices, and wherein the updating of the at least one first portion of service code that provides the first subset of microservices for the service includes updating the at least two microservices included in the first subset of microservices in parallel.

7. An Information Handling System (IHS), comprising:

a memory system that includes a non-transitory memory; and

a processing system that includes a processor

that is coupled to the memory system and that is configured to read instructions from the non-transitory memory to cause the processing system to provide a continuous integration engine that is configured to:

receive, for each of a first subset of microservices that are included in a plurality of microservices that are configured to provide a service and for which a modification has been requested and via a respective pipeline triggered for each of the first subset of microservices, respective microservice modified code for each of the first subset of microservices, wherein each respective pipeline is associated with a respective root of a respective microservice folder for each of the first subset of microservices;

update, using the respective microservice modified code for each of the first subset of microservices, at least one first portion of service code that provides the first subset of microservices for the service, wherein the updating provides updated service code; and

test the updated service code in order to test:

the first subset of microservices that are provided by the at least one first portion of the updated service code; and

a second subset of microservices that are included in the plurality of microservices that are configured to provide the service, that are provided by at least one second portion of the updated service code that was not updated as part of the updating, and that are dependent on at least one of the first subset of microservices.

8. The IHS of claim 7 , wherein the continuous integration engine is configured to:

determine, in response to the testing of the updated service code, that each of the first subset of microservices and the second subset of microservice have passed the testing; and

provide, for display on a developer system, an indication that each of the first subset of microservices and the second subset of microservice have passed the testing.

9. The IHS of claim 8 , wherein the continuous integration engine is configured to:

automatically deploy, to a service provisioning system in response to determining that each of the first subset of microservices and the second subset of microservices have passed the testing, the updated service code.

10. The IHS of claim 7 , wherein the continuous integration engine is configured to:

determine, in response to the testing of the updated service code, that at least one of the first subset of microservices and the second subset of microservices have not passed the testing; and

provide, for display on a developer system, an indication that at least one of the first subset of microservices and the second subset of microservices have not passed the testing.

11. The IHS of claim 7 , wherein the second subset of microservices are dependent on the at least one subset of microservices based on the second subset of microservices utilizing at least one output generated by the at least one subset of microservices during the testing.

12. The IHS of claim 7 , wherein the first subset of microservices includes at least two microservices, and wherein the updating of the at least one first portion of service code that provides the first subset of microservices for the service includes updating the at least two microservices included in the first subset of microservices in parallel.

13. The IHS of claim 7 , wherein the processor is configured to read instructions from the non-transitory memory system to cause the processing system to provide a build dispatcher engine that is configured to:

receive a microservice modification request;

identify the first subset of microservices that are included in the plurality of microservices that are configured to provide the service, and for which the modification has been requested in the microservice modification request; and

trigger, for each of the first subset of microservices, the respective microservice pipeline that causes the continuous integration engine to receive the respective microservice modified code for each of the first subset of microservices.

14. A method for updating microservices, comprising:

receiving, by a continuous integration system for each of a first subset of microservices that are included in a plurality of microservices that are configured to provide a service and for which a modification has been requested and via a respective pipeline triggered for each of the first subset of microservices, respective microservice modified code for each of the first subset of microservices, wherein each respective pipeline is associated with a respective root of a respective microservice folder for each of the first subset of microservices;

updating, by the continuous integration system using the respective microservice modified code for each of the first subset of microservices, at least one first portion of service code that provides the first subset of microservices for the service, wherein the updating provides updated service code; and

testing, by the continuous integration system, the updated service code in order to test:

the first subset of microservices that are provided by the at least one first portion of the updated service code; and

a second subset of microservices that are included in the plurality of microservices that are configured to provide the service, that are provided by at least one second portion of the updated service code that was not updated as part of the updating, and that are dependent on at least one of the first subset of microservices.

15. The method of claim 14 , further comprising:

determining, by the continuous integration system in response to the testing of the updated service code, that each of the first subset of microservices and the second subset of microservice have passed the testing; and

providing, by the continuous integration system for display on a developer system, an indication that each of the first subset of microservices and the second subset of microservice have passed the testing.

16. The method of claim 14 , further comprising:

automatically deploying, by the continuous integration system to a service provisioning system in response to determining that each of the first subset of microservices and the second subset of microservices have passed the testing, the updated service code.

17. The method of claim 14 , further comprising:

determining, by the continuous integration system in response to the testing of the updated service code, that at least one of the first subset of microservices and the second subset of microservices have not passed the testing; and

providing, by the continuous integration system for display on a developer system, an indication that at least one of the first subset of microservices and the second subset of microservices have not passed the testing.

18. The method of claim 14 , wherein the second subset of microservices are dependent on the at least one subset of microservices based on the second subset of microservices utilizing at least one output generated by the at least one subset of microservices during the testing.

19. The method of claim 14 , wherein the first subset of microservices includes at least two microservices, and wherein the updating of the at least one first portion of service code that provides the first subset of microservices for the service includes updating the at least two microservices included in the first subset of microservices in parallel.

20. The method of claim 14 , further comprising:

receiving, by a build dispatcher system, a microservice modification request;

identifying, by the build dispatcher system, the first subset of microservices that are included in the plurality of microservices that are configured to provide the service, and for which the modification has been requested in the microservice modification request; and

triggering, by the build dispatcher system, for each of the first subset of microservices, the respective microservice pipeline that causes the continuous integration system to receive the respective microservice modified code for each of the first subset of microservices.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2019
From: MARÉCHAL, MARC MARCEL RENÉ; SHI, YONGJUN
To: DELL PRODUCTS L.P.
Reel/Frame 049667/0136 →
Cited By (2)
US 12,608,297 US 12,675,287