IP Library Patent Application 12758245
Patent Application
App. No. 12/758,245

VIRTUAL MACHINE DATA BACKUP

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 None
App. No.
12/758,245
Abstract

Disclosed is a method and system for efficiently backing up a virtual machine file. A virtual machine file is logically divided into a plurality of fixed-size blocks of similar size, for example, a number of 1 MB data blocks. An MD5 hash value is generated from the contents of each block. Each block is written to a file having a filename that includes a filesystem-compliant form (e.g., hexadecimal form) of the computed MD5 hash value. A backup device includes a directory hierarchy having a plurality of first-level directories corresponding to the first two bytes of the hash value, and a plurality of second-level directories corresponding to the next two bytes of the hash value. The blocks are uniquely stored in the directory corresponding to the byte value pairs of the hash. The present disclosure provides data integrity checking and reduces storage requirements for duplicative, redundant, or null data.

Claims (43)

1 . A method for backing up computer data, comprising the steps of:

dividing a source data file into a plurality of fixed size blocks, wherein each block is of equal blocksize;

generating a unique block identifier relating to the contents of a fixed size block;

on a destination storage device, providing a directory hierarchy having a plurality of first-level directories corresponding to a first portion of the unique block identifier and a plurality of second-level directories corresponding to a second portion of the unique block identifier; and

storing a datablock file representative of the fixed size block in a corresponding second level directory.

2 . The method in accordance with claim 1 , further comprising:

providing an index file corresponding to the source data file; and

storing the unique block identifier in the index file.

3 . The method in accordance with claim 1 , wherein the fixed block size is in a range of about 256 KB to about 8 MB.

4 . The method in accordance with claim 1 , further comprising the step of compressing the datablock file representative of the fixed size block.

5 . The method in accordance with claim 1 , further comprising the step of encrypting the datablock file representative of the fixed size block.

6 . The method in accordance with claim 1 , wherein the unique block identifier is a hash is generated in accordance with an MD5 algorithm

7 . The method in accordance with claim 1 , further comprising the step of naming the datablock file representative of a fixed size block in accordance with the unique block identifier.

8 . The method in accordance with claim 1 , further comprising the steps of:

computing a unique block identifier of a stored datablock file;

retrieving a stored unique block identifier corresponding to the stored datablock;

determining a property of the stored datablock by comparing the computed unique block identifier to the stored unique block identifier.

9 . The method in accordance with claim 1 , further comprising:

determining whether the fixed size block consists of a simple data pattern.

10 . The method in accordance with claim 9 , wherein the simple data pattern is selected from a group consisting of all zeros, all ones, and all nulls.

11 . A system for performing data backup, comprising:

a processor;

a storage device operably coupled to the processor; and

a data backup module including a set of instructions executable on the processor for performing a method of data backup comprising the steps of:

dividing a source data file into a plurality of fixed size blocks, wherein each block is of equal blocksize;

generating a unique block identifier relating to the contents of a fixed size block;

on the storage device, providing a directory hierarchy having a plurality of first-level directories corresponding to a first portion of the unique block identifier and a plurality of second-level directories corresponding to a second portion of the unique block identifier; and

storing a datablock file representative of the fixed size block in a corresponding second level directory.

12 . The system in accordance with claim 11 , wherein the method of data backup further comprises the steps of:

providing an index file corresponding to the source data file; and

storing the unique block identifier in the index file.

13 . The system in accordance with claim 11 , wherein the fixed block size is in a range of about 256 KB to about 8 MB.

14 . The system in accordance with claim 11 , wherein the method of data backup further comprises the step of compressing the datablock file representative of the fixed size block.

15 . The system in accordance with claim 11 , wherein the method of data backup further comprises the step of encrypting the datablock file representative of the fixed size block.

16 . The system in accordance with claim 11 , wherein the unique block identifier is a hash is generated in accordance with an MD5 algorithm

17 . The system in accordance with claim 11 , wherein the method of data backup further comprises the step of naming the datablock file representative of a fixed size block in accordance with the unique block identifier.

18 . The system in accordance with claim 11 , wherein the method of data backup further comprises the steps of:

computing a unique block identifier of a stored datablock file;

retrieving a stored unique block identifier corresponding to the stored datablock;

determining a property of the stored datablock by comparing the computed unique block identifier to the stored unique block identifier.

19 . The system in accordance with claim 11 , wherein the method of data backup further comprises the step of determining whether the fixed size block consists of a simple data pattern.

20 . The system in accordance with claim 19 , wherein the simple data pattern is selected from a group consisting of all zeros, all ones, and all nulls.

21 . Machine-readable media comprising a set of instructions configured to perform the method of data backup in accordance with claims 1 though 10 .

Assignments (8)
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
RELEASE OF SECURITY INTEREST Recorded Jan 24, 2018
From: PACIFIC WESTERN BANK, AS SUCCESSOR IN INTEREST TO SQUARE 1 BANK
To: UNITRENDS, INC.
Reel/Frame 044713/0081 →
SECURITY INTEREST Recorded Mar 24, 2014
From: PHD VIRTUAL TECHNOLOGIES INC.
To: SQUARE 1 BANK
Reel/Frame 032507/0091 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2014
From: WF FUND IV LIMITED PARTNERSHIP (C/O/B WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND IV)
To: PHD VIRTUAL TECHNOLOGIES, INC.
Reel/Frame 032482/0116 →
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2014
From: SILICON VALLEY BANK
To: PHD VIRTUAL TECHNOLOGIES, INC.
Reel/Frame 032448/0563 →
SECURITY AGREEMENT Recorded Mar 7, 2013
From: PHD VIRTUAL TECHNOLOGIES, INC.
To: WF FUND IV LIMITED PARTNERSHIP (C/O/B AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND IV)
Reel/Frame 029940/0143 →
SECURITY AGREEMENT Recorded Feb 26, 2013
From: PHD VIRTUAL TECHNOLOGIES INC.
To: SILICON VALLEY BANK
Reel/Frame 029877/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2010
From: ROSIKIEWICZ, JAMES; MCKELVEY, RONALD T; MITTELL, ALEXANDER D
To: PHD VIRTUAL TECHNOLOGIES
Reel/Frame 024216/0988 →