IP Library Granted Patent US 10,387,265
Granted Patent B1
US 10,387,265 · App. 14/971,360 · Granted Aug 20, 2019

Preventive hash loading

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,387,265
App. No.
14/971,360
Granted
Aug 20, 2019
Kind
B1
Abstract

A method, computer program product, computing system, and system for preventive hash loading are described. The method may include receiving an indication at a storage server that a machine will be backed up. The method may further include loading fingerprints of blocks related to a previous backup of the machine to RAM of the storage server. The method may also include searching the storage server for fingerprints in the RAM that match fingerprints of incoming blocks from the machine being backed up. The method may additionally include, in response to determining that the fingerprints of the incoming blocks do not match fingerprints in the RAM, searching for the fingerprints in a database. Moreover, the method may include transferring only blocks from the machine being backed up that are not in the RAM or the database of the storage server to the storage server.

Claims (51)

1. A method for preventive hash loading, the method comprising:

receiving an indication at a storage server that a machine will be backed up, wherein the storage server is connected to the one or more machines by one or more networks;

creating a fingerprint cache in RAM using a backup agent;

loading fingerprints of blocks related to a previous backup of the machine to the fingerprint cache of the storage server;

searching the storage server for fingerprints in the fingerprint cache that match fingerprints of incoming blocks from the machine being backed up;

in response to determining that the fingerprints of the incoming blocks do not match fingerprints in the fingerprint cache, searching for the fingerprints in a database; and

increasing speed of backing up the machine by transferring only blocks from the machine being backed up that are not in the fingerprint cache or the database of the storage server to the storage server, wherein searching fingerprint cache is faster than searching database.

2. The method of claim 1 , further comprising:

receiving backups of one or more machines at the storage server, wherein fingerprints are processed using a hash-filter.

3. The method of claim 2 , further comprising:

adding fingerprints of received blocks from the backups to the database.

4. The method of claim 1 , further comprising:

calculating a hash value for contents of backed up blocks stored on the storage server.

5. The method of claim 1 , further comprising:

transferring only unique data blocks that are not on the storage server or within existing backups from the machine being backed up to the storage server.

6. A computer program product residing on a computer readable storage medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations for preventive hash loading, the operations comprising:

receiving an indication at a storage server that a machine will be backed up;

creating a fingerprint cache in RAM of the storage server;

loading fingerprints of blocks related to a previous backup of the machine to the fingerprint cache;

searching the storage server for fingerprints in the fingerprint cache that match fingerprints of incoming blocks from the machine being backed up;

in response to determining that the fingerprints of the incoming blocks do not match fingerprints in the fingerprint cache, searching for the fingerprints in a database;

increasing speed of backing up the machine by transferring only blocks from the machine being backed up that are not in the fingerprint cache or the database of the storage server to the storage server, wherein searching fingerprint cache is faster than searching database; and

replenishing fingerprint cache depending on the backed up data blocks.

7. The computer program product of claim 6 , wherein the operations further comprise:

receiving backups of one or more machines at the storage server, wherein fingerprints are processed using a hash-set description.

8. The computer program product of claim 7 , wherein the operations further comprise:

adding fingerprints of received blocks from the backups to the database.

9. The computer program product of claim 6 , wherein the operations further comprise:

calculating a hash value for contents of backed up blocks stored on the storage server.

10. The computer program product of claim 6 , wherein the operations further comprise: transferring only unique data blocks that are not on the storage server or within existing backups from the machine being backed up to the storage server.

11. A computing system for preventive hash loading, the computing system comprising one or more processors, wherein the one or more processors are configured to:

receive an indication at a storage server that a machine will be backed up;

create a fingerprint cache in RAM using a backup agent;

load fingerprints of blocks related to a previous backup of the machine to the fingerprint cache of the storage server;

search the storage server for fingerprints in the fingerprint cache that match fingerprints of incoming blocks from the machine being backed up;

in response to determining that the fingerprints of the incoming blocks do not match fingerprints in the fingerprint cache, search for the fingerprints in a database; and

increase speed of backing up the machine by transferring only blocks from the machine being backed up that are not in the fingerprint cache RAM or the database of the storage server to the storage server, wherein searching fingerprint cache is faster than searching database.

12. The computing system of claim 11 , wherein the one or more processors are further configured to:

receive backups of one or more machines at the storage server, wherein fingerprints are processed using a hash-table.

13. The computing system of claim 12 , wherein the one or more processors are further configured to:

add fingerprints of received blocks from the backups to the database.

14. The computing system of claim 11 , wherein the one or more processors are further configured to:

calculate a hash value for contents of backed up blocks stored on the storage server.

15. The computing system of claim 11 , wherein the one or more processors are further configured to:

transfer only unique data blocks that are not on the storage server or within existing backups from the machine being backed up to the storage server.

16. A system for preventive hash loading, the system comprising:

a backup agent configured to perform backups of one or more machines;

a storage server that received the backups, wherein the storage server is connected to the one or more machines by one or more networks;

a database for storing fingerprints of blocks received during the backups; and

a RAM in the storage server; and

a fingerprint cache created in the RAM, the finger print cache configured to load fingerprints of blocks corresponding to a previous backup of a machine being backed up, wherein fingerprint cache is replenished depending on the backed up data blocks, wherein fingerprint cache stores hashes of recently backed up blocks and hashes of blocks that are frequently used, wherein backup agent increases speed of backing up the machine by transferring only blocks from the machine being backed up that are not in the RAM or the database of the storage server to the storage server such that hash traffic through network is reduced.

Assignments (5)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2019
From: POGOSYAN, VITALY; PANIN, ANDREY; PROTASOV, STANISLAV; BELOUSSOV, SERGUEI M.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 049567/0442 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →
Cited By (2)
US 12,339,989 US 12,506,741