Identifying redundant data for disk image streaming
First Claim
Patent Images
1. A system, comprising:
- a first processing device comprising a first memory and a second processing device comprising a second memory, the first processing device being configured to;
add a TRIM/UNMAP layer between an operating system and a disk driver to support TRIM/UNMAP commands,utilize the TRIM/UNMAP layer to identify blocks of a disk image that are unallocated by the operating system as identified unallocated blocks,send a list of the identified unallocated blocks to the second processing device,receive a request for only allocated blocks of the disk image from the second processing device, the allocated blocks being from sections of the disk image not included in the list of the identified unallocated blocks,transfer to the second processing device the allocated blocks in response to the request for the only allocated blocks, andmark blocks of the disk image based on a second list of identified unallocated blocks to maintain information for subsequent client use; and
the second processing device being configured to;
in response to receiving the list of the identified unallocated blocks, identify allocated blocks from the list of the identified unallocated blocks;
send the request for only the allocated blocks to the first processing device;
simulate the operating system to introduce the TRIM/UNMAP layer on the second processing device and send the second list of identified unallocated blocks to the first processing device.
1 Assignment
0 Petitions
Accused Products
Abstract
Redundant data in a streaming disk image is identified using commands to indicate unused disk blocks, such as TRIM/UNMAP commands. A TRIM/UNMAP layer is added between an operating system and a disk driver to support the use of TRIM/UNMAP commands. Using the TRIM/UNMAP layer, blocks of a streamed disk image that are unallocated by the operating system are identified. The identified unallocated blocks are streamed to a server for analysis and storage.
7 Citations
11 Claims
-
1. A system, comprising:
-
a first processing device comprising a first memory and a second processing device comprising a second memory, the first processing device being configured to; add a TRIM/UNMAP layer between an operating system and a disk driver to support TRIM/UNMAP commands, utilize the TRIM/UNMAP layer to identify blocks of a disk image that are unallocated by the operating system as identified unallocated blocks, send a list of the identified unallocated blocks to the second processing device, receive a request for only allocated blocks of the disk image from the second processing device, the allocated blocks being from sections of the disk image not included in the list of the identified unallocated blocks, transfer to the second processing device the allocated blocks in response to the request for the only allocated blocks, and mark blocks of the disk image based on a second list of identified unallocated blocks to maintain information for subsequent client use; and the second processing device being configured to; in response to receiving the list of the identified unallocated blocks, identify allocated blocks from the list of the identified unallocated blocks; send the request for only the allocated blocks to the first processing device; simulate the operating system to introduce the TRIM/UNMAP layer on the second processing device and send the second list of identified unallocated blocks to the first processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification