IP Library Granted Patent US 11,579,945
Granted Patent B2
US 11,579,945 · App. 17/199,690 · Granted Feb 14, 2023

Dynamic service mesh

Inventors: Aman Wangde (Boston, MA); Victor Fong (Medford, MA); Malini Bhattacharjee (Cupertino, CA); Xuebin He (Westwood, MA); Kenneth Durazzo (Morgan Hill, CA)
Assignee: EMC IP HOLDING COMPANY
G06F9/541
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,579,945
App. No.
17/199,690
Granted
Feb 14, 2023
Kind
B2
Abstract

One example method includes receiving, from a microservice, a service request that identifies a service needed by the microservice, and an API of an endpoint that provides the service, evaluating the service request to determine whether the service request conforms to a policy, when the service request has been determined to conform with the policy, evaluating the endpoint to determine if endpoint performance meets established guidelines, and when it is determined that the endpoint performance does not meet the established guidelines, identifying an alternative endpoint that meets the established guidelines and that provides the requested service. Next, the method includes transforming the API of the service identified in the service request to an alternative API of the service provided by the alternative endpoint, and sending the service request and the alternative API to the alternative endpoint.

Claims (20)

1. A method, comprising: receiving, from a microservice, a service request that identifies a service needed by the microservice, and an API of an endpoint that provides the service, and the service request is received by a service mesh proxy from a control plane of a CaaS, wherein the service mesh proxy resides in a data plane accessible by the control plane of the CaaS; evaluating, by an evaluator of a policy engine, the service request to determine whether the service request conforms to a policy, wherein the policy is dynamically defined and acts as a basis for telemetry data collection; when the service request has been determined to conform with the policy, evaluating, by the evaluator, the endpoint to determine if endpoint performance by the endpoint meets established guidelines; and when it is determined that the endpoint performance does not meet the established guidelines, identifying an alternative endpoint whose performance meets the established guidelines and that provides the requested service; transforming, by a transformer of the service mesh proxy, the API of the service identified in the service request to an alternative API of the service provided by the alternative endpoint; and sending the service request and the alternative API to the alternative endpoint;

wherein the endpoint and the alternative endpoint are different respective cloud service providers.

2. The method as recited in claim 1 , wherein the evaluating of the endpoint is determined based in part on metrics obtained by a telemetry process, and the metrics include information about one or more performance characteristics of one or more endpoints.

3. The method as recited in claim 1 , wherein evaluating the endpoint includes determining whether or not a latency associated with the endpoint falls within an acceptable range of latencies, and determining whether or not the requested service is available at the endpoint.

4. The method as recited in claim 1 , wherein the service mesh proxy is operable to communicate with a vault service that stores credentials for the microservice.

5. The method as recited in claim 1 , wherein generation of the service request is performed at the control plane of the CaaS.

6. The method as recited in claim 1 , further comprising collecting, by a telemetry collector, respective telemetry data from the endpoint and from the alternative endpoint, and the telemetry data is used in the evaluating of the endpoint, and the telemetry collector is operable to communicate with the service mesh proxy and with an optimization algorithm of the control plane of the CaaS.

7. The method as recited in claim 1 , further comprising offloading the transforming of the API from a server CPU to a smartNIC.

8. The method as recited in claim 1 , wherein an optimization algorithm of the control plane of the CaaS operates to ensure that the service identified in the service request called by the microservice from only a single endpoint.

9. The method as recited in claim 1 , wherein after the service request is issued by the microservice, the following processes are performed automatically without any further action by the microservice: evaluating the service request; evaluating the endpoint; identifying the alternative endpoint; and, transforming the API.

10. A non-transitory computer readable storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising: receiving, from a microservice, a service request that identifies a service needed by the microservice, and an API of an endpoint that provides the service, and the service request is received by a service mesh proxy from a control plane of a CaaS, wherein the service mesh proxy resides in a data plane accessible by the control plane of the CaaS; evaluating, by an evaluator of a policy engine, the service request to determine whether the service request conforms to a policy, wherein the policy is dynamically defined and acts as a basis for telemetry data collection; when the service request has been determined to conform with the policy, evaluating, by the evaluator, the endpoint to determine if endpoint performance by the endpoint meets established guidelines; and when it is determined that the endpoint performance does not meet the established guidelines, identifying an alternative endpoint whose performance meets the established guidelines and that provides the requested service; transforming, by a transformer of the service mesh proxy, the API of the service identified in the service request to an alternative API of the service provided by the alternative endpoint; and sending the service request and the alternative API to the alternative endpoint;

the endpoint and the alternative endpoint are different respective cloud service providers.

11. The non-transitory computer readable storage medium as recited in claim 10 , wherein the evaluating of the endpoint is determined based in part on metrics obtained by a telemetry process, and the metrics include information about one or more performance characteristics of one or more endpoints.

12. The non-transitory computer readable storage medium as recited in claim 10 , wherein evaluating the endpoint includes determining whether or not a latency associated with the endpoint falls within an acceptable range of latencies, and determining whether or not the requested service is available at the endpoint.

13. The non-transitory computer readable storage medium as recited in claim 10 , wherein the service mesh proxy is operable to communicate with a vault service that stores credentials for the microservice.

14. The non-transitory computer readable storage medium as recited in claim 10 , wherein generation of the service request is performed at the control plane of the CaaS.

15. The non-transitory computer readable storage medium as recited in claim 10 , wherein the operations further comprise collecting, by a telemetry collector, respective telemetry data from the endpoint and from the alternative endpoint, and the telemetry data is used in the evaluating of the endpoint, and the telemetry collector is operable to communicate with the service mesh proxy and with an optimization algorithm of the control plane of the CaaS.

16. The non-transitory computer readable storage medium as recited in claim 10 , wherein the operations further comprise offloading the transforming of the API from a server CPU to a smartNIC.

17. The non-transitory computer readable storage medium as recited in claim 10 , wherein an optimization algorithm of the control plane of the CaaS operates to ensure that the service identified in the service request is called by the microservice from Responsive to OA mailed 9Jun 22 only a single endpoint.

18. The non-transitory computer readable storage medium as recited in claim 10 , wherein after the service request is issued by the microservice, the following processes are performed automatically without any further action by the microservice: evaluating the service request; evaluating the endpoint; identifying the alternative endpoint; and, transforming the API.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2022
From: WANGDE, AMAN; FONG, VICTOR; BHATTACHARJEE, MALINI; HE, XUEBIN; DURAZZO, KENNETH
To: EMC IP HOLDING COMPANY
Reel/Frame 059323/0684 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →