IP Library Granted Patent US 9,390,101
Granted Patent B1
US 9,390,101 · App. 13/710,750 · Granted Jul 12, 2016

Social deduplication using trust networks

Inventor: Scott Schneider (Sun Valley, CA)
Assignee: Veritas Technologies LLC
G06F17/30156
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 9,390,101
App. No.
13/710,750
Filed
Dec 11, 2012
Granted
Jul 12, 2016
Kind
B1
Art Unit
2154
USPC
707/692
Abstract

Before backing up a user file to backup storage, a trust deduplication module is configured to ask a limited set of other trust deduplication modules to check if the user file has already been backed up. If the user file is already backed up, a backup receipt that corresponds to the user file (which was provided during backup of the user file) is communicated to the requesting trust deduplication module. The backup receipt provides the requesting trust deduplication module with access to the already-backed up user file in backup storage, and the requesting trust deduplication module need not back up the user file. Thus, a single copy of the user file can be stored in backup storage among several trusted users who own an instance of the user file. A user file can be restored from backup storage, using a backup receipt that corresponds to the user file.

Claims (102)

1. A method comprising:

detecting a backup request for a requested file, wherein

the backup request is received from a first computing device operated by a first user of a plurality of users, and

the backup request indicates that the requested file is to be backed up to a deduplicated data store;

determining whether the requested file was backed up to the deduplicated data store by a second computing device operated by a second user of the plurality of users, wherein

the determining comprises sending a trust deduplication request for the requested file to the second computing device,

the first user identifies the second user as a trusted user in a first trust network via an application that tracks which users of the plurality of users are trusted by the first user, and

the trust deduplication request comprises a fingerprint corresponding to the requested file,

the second computing device is configured to forward the trust deduplication request to a third computing device operated by a third user in response to the third user being identified, via the application, as being included in a second trust network, and

the third user is not identified by the first user as a trusted user; and

discarding the backup request, in response to receiving an affirmative acknowledgement to the trust deduplication request, wherein the affirmative acknowledgment comprises

a response from the second user indicating that the requested file has been backed up, and

backup information comprising a backup receipt that identifies the requested file and a decryption key for the requested file;

packaging the backup information into a receipt package file; and

transmitting the receipt package file to the deduplicated data store, wherein the deduplicated data store is configured to back up the receipt package file.

2. The method of claim 1 , further comprising:

backing up the requested file, in response to receiving a negative acknowledgement from each computing device to which the trust deduplication request was sent, wherein

the negative acknowledgment comprises a response from the each computing device indicating that the each computing device does not have knowledge that the requested file has been backed up.

3. The method of claim 2 , further comprising:

receiving a backup receipt for the requested file, in response to the backing up the requested file, wherein

the backup receipt is received from a backup server, and

the backup receipt identifies the requested file.

4. The method of claim 2 , further comprising:

encrypting the requested file to produce an encrypted file, wherein

the encrypted file is configured to be decrypted using a decryption key, and

the backing up the requested file comprises

backing up the encrypted file.

5. The method of claim 1 , further comprising:

storing the backup information in an entry of a receipt store, wherein

the backup request comprises a fingerprint that identifies the requested file, and

the storing the backup information further comprises

storing the fingerprint in the entry of the receipt store.

6. An apparatus comprising:

a processor; and

a memory coupled to the processor and configured to store instructions executable by the processor to implement a method comprising:

detecting a backup request for a requested file, wherein

the backup request is received from a first computing device operated by a first user of a plurality of users, and

the backup request indicates that the requested file is to be backed up to a deduplicated data store;

determining whether the requested file was backed up to the deduplicated data store by a second computing device operated by a second user of the plurality of users, wherein

the determining comprises sending a trust deduplication request for the requested file to the second computing device,

the first user identifies the second user as a trusted user in a first trust network via an application that tracks which users of the plurality of users are trusted by the first user,

the trust deduplication request comprises a fingerprint corresponding to the requested file;

the second computing device is configured to forward the trust deduplication request to a third computing device operated by a third user in response to the third user being identified, via the application, as being included in a second trust network, and

the third user is not identified by the first user as a trusted user; and

discarding the backup request, in response to receiving an affirmative acknowledgement to the trust deduplication request, wherein

the affirmative acknowledgment comprises a response from the second user indicating that the requested file has been backed up, and

backup information comprising a backup receipt that identifies the requested file and a decryption key for the requested file;

packaging the backup information into a receipt package file; and

transmitting the receipt package file to the deduplicated data store, wherein

the deduplicated data store is configured to back up the receipt package file.

7. The apparatus of claim 6 , wherein the method further comprises

backing up the requested file, in response to receiving a negative acknowledgement from each computing device to which to the trust deduplication request was sent, wherein

the negative acknowledgment comprises a response from the each computing device indicating that the each computing device does not have knowledge that the requested file has been backed up.

8. The apparatus of claim 7 , wherein the method further comprises receiving a backup receipt for the requested file, in response to the backing up the requested file, wherein

the backup receipt is received from a backup server, and

the backup receipt identifies the requested file.

9. The apparatus of claim 7 , wherein the method further comprises encrypting the requested file to produce an encrypted file, wherein

the encrypted file is configured to be decrypted using a decryption key, and

the backing up the requested file comprises

backing up the encrypted file.

10. The apparatus of claim 6 , wherein the method further comprises

storing the backup information in an entry of a receipt store, wherein

the backup request comprises a fingerprint that identifies the requested file, and

the storing the backup information further comprises

storing the fingerprint in the entry of the receipt store.

11. A computer readable storage medium configured to store program instructions that, when executed on a processor, are configured to cause the processor to perform a method comprising:

detecting a backup request for a requested file, wherein

the backup request is received from a first computing device operated by a first user of a plurality of users, and

the backup request indicates that the requested file is to be backed UP to a deduplicated data store;

determining whether the requested file was backed up to the deduplicated data store by a second computing device operated by a second user of the plurality of users, wherein

the determining comprises sending a trust deduplication request for the requested file to the second computing device,

the first user identifies the second user as a trusted user in a first trust network via an application that tracks which users of the plurality of users are trusted by the first user, and

the trust deduplication request comprises a fingerprint corresponding to the requested file,

the second computing device is configured to forward the trust deduplication request to a third computing device operated by a third user in response to the third user being identified, via the application, as being included in a second trust network; and

the third user is not identified by the first user as a trusted user; and

discarding the backup request, in response to receiving an affirmative acknowledgement to the trust deduplication request, wherein

the affirmative acknowledgment comprises a response from the second user indicating that the requested file has been backed up, and

backup information comprising a backup receipt that identifies the requested file and a decryption key for the requested file;

packaging the backup information into a receipt package file; and

transmitting the receipt package file to the deduplicated data store, wherein

the deduplicated data store is configured to back up the receipt package file.

12. The computer readable storage medium of claim 11 , wherein the method further comprises

backing up the requested file, in response to receiving a negative acknowledgement from each computing device to which the trust deduplication request was sent, wherein

the negative acknowledgment comprises a response from the each computing device indicating that the each computing device does not have knowledge that the requested file has been backed up.

13. The computer readable storage medium of claim 12 , wherein the method further comprises

receiving a backup receipt for the requested file, in response to the backing up the requested file, wherein

the backup receipt is received from a backup server, and

the backup receipt identifies the requested file.

14. The computer readable storage medium of claim 12 , wherein the method further comprises

encrypting the requested file to produce an encrypted file, wherein

the encrypted file is configured to be decrypted using a decryption key, and

the backing up the requested file comprises

backing up the encrypted file.

15. The computer readable storage medium of claim 11 , wherein the method further comprises

storing the backup information in an entry of a receipt store, wherein

the backup request comprises a fingerprint that identifies the requested file, and

the storing the backup information further comprises

storing the fingerprint in the entry of the receipt store.

16. The method of claim 1 , wherein the trust deduplication request comprises information identifying the requested file.

17. The method of claim 1 , wherein the discarding the backup request comprises ignoring the backup request.

18. The method of claim 1 , wherein

the application comprises a social media application.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2012
From: SCHNEIDER, SCOTT
To: SYMANTEC CORPORATION
Reel/Frame 029471/0293 →