IP Library Granted Patent US 9,064,133
Granted Patent B2
US 9,064,133 · App. 13/074,213 · Granted Jun 23, 2015

Method and apparatus of securely processing data for file backup, de-duplication, and restoration

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,064,133
App. No.
13/074,213
Granted
Jun 23, 2015
Kind
B2
Abstract

Disclosed are an apparatus and methods of determining if at least one data file has been de-duplicated. One example method may include receiving a filekey based on at least a portion of the content of the at least one data file, checking a de-duplication registry in a database to determine whether a pre-stored filekey is present, decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey, and comparing the decrypted at least first data with the decrypted at least second data to determine whether the at least one file has been de-duplicated.

Claims (49)

1. A method of determining if at least one data file has been de-duplicated, the method comprising:

receiving a filekey based on at least a portion of the content of the at least one data file;

checking a de-duplication registry in a database to determine whether a pre-stored filekey is present;

decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;

comparing the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same;

determining the at least one data file is a candidate for de-duplication;

creating a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and

storing the link file at a location of the de-duplicated file.

2. The method of claim 1 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.

3. The method of claim 2 , further comprising:

matching the decrypted at least first data with the decrypted at least second data and determining they are the same;

decrypting a random advanced encryption standard (AES) key stored in a registry row of the database; and

re-encrypting the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.

4. The method of claim 3 , further comprising:

incrementing a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.

5. The method of claim 4 , further comprising:

transmitting a true value indicating the match was the same, the re-encrypted AES key and the (URI) of the at least one data file to the agent application.

6. The method of claim 5 , wherein the URI of at least one de-duplicated data file stored in the database and the re-encrypted AES key are stored in metadata of the link file.

7. An apparatus configured to determine if at least one data file has been de-duplicated, the apparatus comprising:

a receiver configured to receive a filekey based on at least a portion of the content of the at least one data file; and

a processor configured to

check a de-duplication registry in a database to determine whether a pre-stored filekey is present;

decrypt at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;

compare the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same;

determine the at least one data file is a candidate for de-duplication;

create a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and

store the link file at a location of the de-duplicated file.

8. The apparatus of claim 7 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.

9. The apparatus of claim 8 , wherein the processor is further configured to match the decrypted at least first data with the decrypted at least second data and determine they are the same, decrypt a random advanced encryption standard (AES) key stored in a registry row of the database, and re-encrypt the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.

10. The apparatus of claim 9 , wherein the processor is further configured to increment a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.

11. The apparatus of claim 10 , wherein the transmitter is further configured to transmit a true value indicating the match was the same, the re-encrypted AES key and the URI of the at least one data file to the agent application.

12. The apparatus of claim 11 , wherein the URI of at least one de-duplicated data file stored in the database and the re-encrypted AES key are stored in metadata of the link file.

13. A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform determining if at least one data file has been de-duplicated, the processor being further configured to perform:

receiving a filekey based on at least a portion of the content of the at least one data file;

checking a de-duplication registry in a database to determine whether a pre-stored filekey is present;

decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;

comparing the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same; and

determining the at least one data file is a candidate for de-duplication;

creating a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and

storing the link file at a location of the de-duplicated file.

14. The non-transitory computer readable storage medium of claim 13 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.

15. The non-transitory computer readable storage medium of claim 14 , wherein the processor is further configured to perform:

matching the decrypted at least first data with the decrypted at least second data and determining they are the same;

decrypting a random advanced encryption standard (AES) key stored in a registry row of the database; and

re-encrypting the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.

16. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

incrementing a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.

17. The non-transitory computer readable storage medium of claim 16 , wherein the processor is further configured to perform:

transmitting a true value indicating the match was the same, the re-encrypted AES key and the URI of the at least one data file to the agent application.

Assignments (9)
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: VEEAM SOFTWARE LIMITED
To: KASEYA LUXEMBOURG HOLDINGS S.C.A.
Reel/Frame 049122/0138 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: KASEYA LIMITED
Reel/Frame 049122/0181 →
SUBORDINATED SECOND LIEN US PATENT SECURITY AGREEMENT Recorded Jun 1, 2018
From: SPANNING CLOUD APPS LLC; UNITRENDS, INC.; KASEYA LIMITED; RAPIDFIRE TOOLS INC.
To: FABSTONE INVESTMENTS LLC
Reel/Frame 046286/0755 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded May 31, 2017
From: SILICON VALLEY BANK
To: KASEYA LIMITED
Reel/Frame 042642/0023 →
SECURITY INTEREST Recorded May 26, 2017
From: KASEYA LIMITED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 042589/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: KASEYA INTERNATIONAL LIMITED
To: KASEYA LIMITED
Reel/Frame 033880/0921 →
SECURITY INTEREST Recorded Jul 14, 2014
From: KASEYA LIMITED
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 033312/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2011
From: BOSSON, CHARLES
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 026134/0038 →