IP Library Granted Patent US 11,228,545
Granted Patent B1
US 11,228,545 · App. 17/232,505 · Granted Jan 18, 2022

Cross application granular restore of backed-up email attachments

Inventors: Shelesh Chopra (Bangalore, IN); Sunil Yadav (Bangalore, IN); Amarendra Behera (Bangalore, IN); Ravi Vijayakumar Chitloor (Bengaluru, IN); Himanshu Arora (Bangalore, IN); Tushar Dethe (Bangalore, IN); Deependra Singh (Kanpur, IN); Prabhat Kumar Dubey (Chikkanagamangala, IN); Anjana Rao (Mangalore, IN); Sapna Chauhan (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
H04L51/08H04L51/063H04L67/1095H04L67/1097H04L67/40
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,228,545
App. No.
17/232,505
Granted
Jan 18, 2022
Kind
B1
Abstract

Described is a system (and method) for cross application granular restore of email attachments backed up to a cloud-based object storage. More particularly, the system may allow various non-email applications to directly restore an email attachment of a backed-up email without requiring restoration of the email itself. The attachment may be a file, item (e.g., contact, event, message, etc.), or another type of attachment such as a link to a file or an item. To provide such a capability, the system may decouple the attachment from an email when performing a backup to an object storage. The system may also store specialized metadata that may be leveraged when performing an efficient restore of the attachment.

Claims (80)

1. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive a request to back up a set of emails to a cloud-based object storage, the set of emails associated with an email application and including at least a first email;

determine the first email includes an attachment associated with a first non-email application of the client device;

store a backup of the attachment as part of a first object within the object storage;

store a backup of the first email, excluding the attachment, as part of a second object within the object storage;

receive a request to restore the attachment;

retrieve the backed-up attachment from the first object; and

restore the attachment on a file host accessible by a second non-email application, the restore performed using the backed-up attachment and without accessing the second object.

2. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

store, as part of a metadata database, a name of the attachment, an identifier for the first object as a storage location for the attachment, and an identifier for the second object as a storage location for the first email; and

determine, prior to retrieving the backed-up attachment, the storage location for the backed-up attachment by accessing the metadata database.

3. The system of claim 2 , wherein restoring the attachment on the file host includes:

providing, via an application programming interface (API) associated with the file host, a PUT request to create a first file on the file host, the PUT request specifying the name of the attachment as a filename for the first file, and the retrieved attachment as content for the first file.

4. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

determine whether the attachment comprises an item attachment; and

convert, prior to restoring the attachment, the retrieved attachment into a format readable by the second non-email application, in response to a determination the attachment comprises the item attachment.

5. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

determine a second email of the set of emails includes a reference attachment, the reference attachment comprising a link to a file or item stored by the client device and associated with the first non-email application;

store a backup of the reference attachment and a backup of the second email within the object storage;

receive a request to restore the reference attachment;

retrieve the reference attachment from the object storage;

convert the reference attachment into a format readable by the second non-email application; and

restore the reference attachment by creating a second file on the file host using the converted reference attachment.

6. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

provide a name of the attachment as part of a listing of backup data stored by the object storage, and wherein the request to restore the attachment includes the name of the attachment.

7. The system of claim 1 , wherein the request to restore the attachment is received from a second non-email application of the client device and includes a request to restore only the attachment.

8. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

retrieve the attachment from the client device, prior to storing the backup of the attachment as part of the first object.

9. A method comprising:

receiving, by a server, a request to back up a set of emails to a cloud-based object storage, the set of emails associated with an email application and including at least a first email;

determining the first email includes an attachment associated with a first non-email application of the client device;

storing a backup of the attachment as part of a first object within the object storage;

storing a backup of the first email, excluding the attachment, as part of a second object within the object storage;

receiving a request to restore the attachment;

retrieving the backed-up attachment from the first object; and

restoring the attachment on a file host accessible by a second non-email application, the restore performed using the backed-up attachment and without accessing the second object.

10. The method of claim 9 , further comprising:

storing, as part of a metadata database, a name of the attachment, an identifier for the first object as a storage location for the attachment, and an identifier for the second object as a storage location for the first email; and

determining, prior to retrieving the backed-up attachment, the storage location for the backed-up attachment by accessing the metadata database.

11. The method of claim 10 , wherein restoring the attachment on the file host includes:

providing, via an application programming interface (API) associated with the file host, a PUT request to create a first file on the file host, the PUT request specifying the name of the attachment as a filename for the first file, and the retrieved attachment as content for the first file.

12. The method of claim 9 , further comprising:

determining whether the attachment comprises an item attachment; and

converting, prior to restoring the attachment, the retrieved attachment into a format readable by the second non-email application, in response to a determination the attachment comprises the item attachment.

13. The method of claim 9 , further comprising:

determining a second email of the set of emails includes a reference attachment, the reference attachment comprising a link to a file or item stored by the client device and associated with the first non-email application;

storing a backup of the reference attachment and a backup of the second email within the object storage;

receiving a request to restore the reference attachment;

retrieving the reference attachment from the object storage;

converting the reference attachment into a format readable by the second non-email application; and

restoring the reference attachment by creating a second file on the file host using the converted reference attachment.

14. The method of claim 9 , further comprising:

providing a name of the attachment as part of a listing of backup data stored by the object storage, and wherein the request to restore the attachment includes the name of the attachment.

15. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

receive a request to back up a set of emails to a cloud-based object storage, the set of emails associated with an email application and including at least a first email;

determine the first email includes an attachment associated with a first non-email application of the client device;

store a backup of the attachment as part of a first object within the object storage;

store a backup of the first email, excluding the attachment, as part of a second object within the object storage;

receive a request to restore the attachment;

retrieve the backed-up attachment from the first object; and

restore the attachment on a file host accessible by a second non-email application, the restore performed using the backed-up attachment and without accessing the second object.

16. The computer program product of claim 15 , wherein the program code includes further instructions to:

store, as part of a metadata database, a name of the attachment, an identifier for the first object as a storage location for the attachment, and an identifier for the second object as a storage location for the first email; and

determine, prior to retrieving the backed-up attachment, the storage location for the backed-up attachment by accessing the metadata database.

17. The computer program product of claim 16 , wherein restoring the attachment on the file host includes:

providing, via an application programming interface (API) associated with the file host, a PUT request to create a first file on the file host, the PUT request specifying the name of the attachment as a filename for the first file, and the retrieved attachment as content for the first file.

18. The computer program product of claim 15 , wherein the program code includes further instructions to:

determine whether the attachment comprises an item attachment; and

convert, prior to restoring the attachment, the retrieved attachment into a format readable by the second non-email application, in response to a determination the attachment comprises the item attachment.

19. The computer program product of claim 15 , wherein the program code includes further instructions to:

determine a second email of the set of emails includes a reference attachment, the reference attachment comprising a link to a file or item stored by the client device and associated with the first non-email application;

store a backup of the reference attachment and a backup of the second email within the object storage;

receive a request to restore the reference attachment;

retrieve the reference attachment from the object storage;

convert the reference attachment into a format readable by the second non-email application; and

restore the reference attachment by creating a second file on the file host using the converted reference attachment.

20. The computer program product of claim 15 , wherein the program code includes further instructions to:

provide a name of the attachment as part of a listing of backup data stored by the object storage, and wherein the request to restore the attachment includes the name of the attachment.

Assignments (10)
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 →
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 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/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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: CHOPRA, SHELESH; YADAV, SUNIL; BEHERA, AMARENDRA; CHITLOOR, RAVI VIJAYAKUMAR; ARORA, HIMANSHU; DETHE, TUSHAR; SINGH, DEEPENDRA; DUBEY, PRABHAT KUMAR; RAO, ANJANA; CHAUHAN, SAPNA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055942/0927 →