IP Library Granted Patent US 10,853,183
Granted Patent B2
US 10,853,183 · App. 15/964,570 · Granted Dec 1, 2020

Serverless application operational recovery and manifest creation

Inventors: Assaf Natanzon (Tel Aviv, IL); Amit Lieberman (Raanana, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1448G06F11/1464G06F11/302G06F16/2458
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 10,853,183
App. No.
15/964,570
Granted
Dec 1, 2020
Kind
B2
Abstract

Systems and methods for backing up and restoring serverless applications are provided. A serverless application is queried to identify the functions and services used. These functions and services are transformed into a manifest or graph that allows the relationships of the serverless application to be identified in an automated manner. The serverless application can be backed up and/or restored using the manifest.

Claims (28)

1. A method for backing up a serverless application, the serverless application including backend services, application functions, and function mappings, the method comprising:

adding function vertices and service vertices to a manifest, wherein each function vertex corresponds to a function of the serverless application and each service vertex corresponds to a backend service;

identifying characteristics of each function;

adding the identified characteristics to the manifest as edges between the function vertices and the service vertices;

evaluating the manifest to identify components of the serverless application that impact a persistent state, wherein the function vertices and the service vertices that are not connected to other function vertices or service vertices by an edge are not included in the serverless application and do not impact the persistent state; and

backing up the identified components as a single serverless application, wherein the function vertices and the service vertices that do not impact the persistent state of the identified components are backed up as a different serverless application.

2. The method of claim 1 , wherein the characteristics include triggers, environmental variables and/or function calls.

3. The method of claim 2 , wherein the manifest comprises a graph, further comprising adding the triggers, the environmental variables and/or the function calls as edges in the graph.

4. The method of claim 1 , wherein the identifying characteristics of each function includes parsing each function to identity triggers, environmental variables, and/or function calls.

5. The method of claim 1 , wherein the evaluating the manifest to identify the components of the serverless application that impacts a persistent state includes identifying a group of vertices connected by edges as the serverless application, wherein vertices that do not have a path to other vertices in the group of vertices are not included in the serverless application and are identified as the different serverless application.

6. The method of claim 1 , further comprising querying the serverless application with one or more queries to obtain a list of functions and/or services.

7. The method of claim 6 , wherein the one or more queries include a list functions command, a get function configuration command and/or a get function command.

8. The method of claim 1 , further comprising detecting a change in the serverless application and generating a new manifest in response to the detected change.

9. The method of claim 8 , further comprising backing up the serverless application based on the new manifest.

10. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

adding function vertices and service vertices to a manifest, wherein each function vertex corresponds to a function of the serverless application and each service vertex corresponds to a backend service;

identifying characteristics of each function;

adding the identified characteristics to the manifest as edges between the function vertices and the service vertices;

evaluating the manifest to identify components of the serverless application that impact a persistent state, wherein the function vertices and the service vertices that are not connected to other function vertices or service vertices by an edge are not included in the serverless application and do not impact the persistent state; and

backing up the identified components as a single serverless application, wherein the function vertices and the service vertices that do not impact the persistent state of the identified components are backed up as a different serverless application.

11. The non-transitory storage medium of claim 10 , wherein the characteristics include triggers, environmental variables and/or function calls.

12. The non-transitory storage medium of claim 11 , wherein the manifest comprises a graph, further comprising adding the triggers, the environmental variables and/or the function calls as edges in the graph.

13. The non-transitory storage medium of claim 10 , wherein the identifying characteristics of each function includes parsing each function to identity triggers, environmental variables, and/or function calls.

14. The non-transitory storage medium of claim 10 , wherein the evaluating the manifest to identify the components of the serverless application that impacts a persistent state includes identifying a group of vertices connected by edges as the serverless application, wherein vertices that do not have a path to other vertices in the group of vertices are not included in the serverless application and are identified as the different serverless application.

15. The non-transitory storage medium of claim 10 , the operations further comprising querying the serverless application with one or more queries to obtain a list of functions and/or services.

16. The non-transitory storage medium of claim 15 , wherein the one or more queries include a list functions command, a get function configuration command and/or a get function command.

17. The non-transitory storage medium of claim 10 , the operations further comprising detecting a change in the serverless application and generating a new manifest in response to the detected change.

18. The non-transitory storage medium of claim 17 , further comprising backing up the serverless application based on the new manifest.

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 (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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 058298/0093 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2018
From: LIEBERMAN, AMIT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047827/0853 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2018
From: NATANZON, ASSAF
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045654/0244 →
Continuity (1)
Related Publication 20190332483A1 · Oct 31, 2019
Cited By (1)
US 12,449,995