IP Library Granted Patent US 11,256,571
Granted Patent B2
US 11,256,571 · App. 16/953,640 · Granted Feb 22, 2022

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 11,256,571
App. No.
16/953,640
Granted
Feb 22, 2022
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 (30)

1. A method for performing a data protection operation for a serverless application, the method comprising:

querying the serverless application with one or more queries to identify functions and services associated with the serverless application, wherein the one or more queries include a list functions command, a get function configuration command and a get function command;

adding function vertices and service vertices identified from the one or more queries to a manifest, wherein each function vertex corresponds to a function of the serverless application identified from the one or more queries and each service vertex corresponds to a backend service identified from the one or more queries;

identifying relationships between the function vertices and the service vertices of the serverless application;

adding the relationships to the manifest as edges between function vertices and service vertices associated with the relationships; and

backing up the serverless application based on the manifest to generate a backup of the serverless application, wherein service vertices or function vertices that have no edges to other function vertices or service vertices are excluded from the backup of the serverless application.

2. The method of claim 1 , wherein the service vertices and the function vertices that have no edges to other function vertices or service vertices are backed up as a separate serverless application.

3. The method of claim 1 , further comprising identifying separate serverless applications from the manifest and backing up each of the serverless applications separately.

4. The method of claim 1 , wherein the service vertices or function vertices that have no edges to other function vertices or service vertices do not impact a persistent state of the serverless application being backed up.

5. The method of claim 1 , wherein the edges represent triggers, environmental variables and/or function calls.

6. The method of claim 5 , further comprising parsing the functions to identify the triggers, the environmental variables and/or the function calls.

7. The method of claim 1 , wherein the identifying relationships includes updating the manifest when a new function is added or a current function is updated.

8. The method of claim 1 , wherein the relationships include relationships between different function vertices, relationships between function vertices and service vertices, and relationships between different service vertices.

9. The method of claim 1 , further comprising defining the serverless application based on the manifest.

10. The method of claim 5 , wherein the edges include information about the relationships and wherein the manifest represents application function mappings that allow requests to be mapped to functions.

11. The method of claim 1 , further comprising generating multiple manifests over time such that the serverless application is restored to different points in time.

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

querying a serverless application with one or more queries to identify functions and services associated with the serverless application, wherein the one or more queries include a list functions command, a get function configuration command and a get function command;

adding function vertices and service vertices identified from the one or more queries to a manifest, wherein each function vertex corresponds to a function of the serverless application identified from the one or more queries and each service vertex corresponds to a backend service identified from the one or more queries;

identifying relationships between the function vertices and the service vertices of the serverless application;

adding the relationships to the manifest as edges between function vertices and service vertices associated with the relationships; and

backing up the serverless application based on the manifest to generate a backup of the serverless application, wherein service vertices or function vertices that have no edges to other function vertices or service vertices are excluded from the backup of the serverless application.

13. The non-transitory storage medium of claim 12 , wherein the service vertices and the function vertices that have no edges to other function vertices or service vertices are backed up as a separate serverless application.

14. The non-transitory storage medium of claim 12 , further comprising identifying separate serverless applications from the manifest and backing up each of the serverless applications separately, wherein the service vertices or function vertices that have no edges to other function vertices or service vertices do not impact a persistent state of the serverless application being backed up.

15. The non-transitory storage medium of claim 12 , wherein the edges represent triggers, environmental variables and/or function calls, and the operations further comprising parsing the functions to identify the triggers, the environmental variables and/or the function calls.

16. The non-transitory storage medium of claim 12 , wherein the identifying relationships includes updating the manifest when a new function is added or a current function is updated.

17. The non-transitory storage medium of claim 12 , wherein the relationships include relationships between different function vertices, relationships between function vertices and service vertices, and relationships between different service vertices.

18. The non-transitory storage medium of claim 12 , further comprising defining the serverless application based on the manifest.

19. The non-transitory storage medium of claim 15 , wherein the edges include information about the relationships and wherein the manifest represents application function mappings that allow requests to be mapped to functions.

20. The non-transitory storage medium of claim 12 , further comprising generating multiple manifests over time such that the serverless application is restored to different points in time.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: NATANZON, ASSAF; LIEBERMAN, AMIT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054428/0621 →