Identifying redundant data for disk image streaming
First Claim
Patent Images
1. A method, comprising:
- adding, by a first processing device, a TRIM/UNMAP layer between an operating system and a disk driver to support TRIM/UNMAP commands;
utilizing the TRIM/UNMAP layer, by the first processing device, to identify blocks of a disk image that are unallocated by the operating system as identified unallocated blocks;
sending, by the first processing device, a list of the identified unallocated blocks to a second processing device;
in response to receiving the list of the identified unallocated blocks, identifying, by the second processing device, allocated blocks from the list of the identified unallocated blocks;
sending, by the second processing device, a request for only the allocated blocks to the first processing device;
receiving, by the first processing device, a request for only allocated blocks 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;
transferring, by the first processing device to the second processing device, the allocated blocks in response to the request for the only allocated blocks;
simulating, by the second processing device, the operating system to introduce the TRIM/UNMAP layer on the second processing device and send a second list of identified unallocated blocks to the first processing device; and
marking, by the first processing device, blocks of the disk image based on the second list of identified unallocated blocks to maintain information for subsequent client use.
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.
6 Citations
20 Claims
-
1. A method, comprising:
-
adding, by a first processing device, a TRIM/UNMAP layer between an operating system and a disk driver to support TRIM/UNMAP commands; utilizing the TRIM/UNMAP layer, by the first processing device, to identify blocks of a disk image that are unallocated by the operating system as identified unallocated blocks; sending, by the first processing device, a list of the identified unallocated blocks to a second processing device; in response to receiving the list of the identified unallocated blocks, identifying, by the second processing device, allocated blocks from the list of the identified unallocated blocks; sending, by the second processing device, a request for only the allocated blocks to the first processing device; receiving, by the first processing device, a request for only allocated blocks 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; transferring, by the first processing device to the second processing device, the allocated blocks in response to the request for the only allocated blocks; simulating, by the second processing device, the operating system to introduce the TRIM/UNMAP layer on the second processing device and send a second list of identified unallocated blocks to the first processing device; and marking, by the first processing device, blocks of the disk image based on the second list of identified unallocated blocks to maintain information for subsequent client use. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a first processing device and asecond processing device to cause:
-
adding, by the first processing device, a TRIM/UNMAP layer between an operating system and a disk driver to support TRIM/UNMAP commands; utilizing the TRIM/UNMAP layer by the first device, to identify blocks of a disk image that are unallocated by the operating system as identified unallocated blocks; sending, by the first processing device, a list of the identified unallocated blocks to the second processing device; in response to receiving the list of the identified unallocated blocks, identifying, by the second processing device, allocated blocks from the list of the identified unallocated blocks; sending, by the second processing device, a request for only the allocated blocks to the first processing device; receiving, by the first processing device, -a request for only allocated blocks 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; transferring, by the first processing device to the second processing device, the allocated blocks in response to the request for the only allocated blocks; simulating, by the second processing device, the operating system to introduce the TRIM/UNMAP layer on the second processing device and send a second list of identified unallocated blocks to the first processing device; and marking, by the first processing device, blocks of the disk image based on the second list of identified unallocated blocks to maintain information for subsequent client use. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification