Virtualization of file input/output operations
First Claim
1. A method for providing input/output virtualization for a first file, the method comprising:
- intercepting, by a first program executing in a computer system, a first plurality of write requests, wherein each write request comprises a request to modify contents of the first file by writing data at a respective offset within the first file; and
storing, by the first program, for each of the write requests, change information in the computer system in response to the write request, wherein the change information specifies the data requested to be written within the first file and the offset indicated by the write request, wherein storing the change information records the write request without modifying the first file, and wherein the change information is stored in a location separate from the first file;
wherein the change information includes one or more data blocks, wherein each data block of the one or more data blocks is of a predetermined size.
9 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of a system and method for providing input/output virtualization for a file are disclosed. The system may include a filter program that intercepts a write request for a particular file and stores change information specifying the data and the write location indicated by the write request. However, the file itself is not modified. The filter program may also intercept a read request referencing the file and determine whether change information representing a write request to write data at the location specified by the read request has been previously stored. If so then the data specified by the change information is returned in response to the read request.
33 Citations
21 Claims
-
1. A method for providing input/output virtualization for a first file, the method comprising:
-
intercepting, by a first program executing in a computer system, a first plurality of write requests, wherein each write request comprises a request to modify contents of the first file by writing data at a respective offset within the first file; and storing, by the first program, for each of the write requests, change information in the computer system in response to the write request, wherein the change information specifies the data requested to be written within the first file and the offset indicated by the write request, wherein storing the change information records the write request without modifying the first file, and wherein the change information is stored in a location separate from the first file; wherein the change information includes one or more data blocks, wherein each data block of the one or more data blocks is of a predetermined size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage medium comprising program instructions executable to:
-
intercept a first plurality of write requests, wherein each write request comprises a request to modify contents of a first file by writing data at a respective offset within the first file; and for each of the write requests, store change information in response to the write request, wherein the change information specifies the data requested to be written within the first file and the offset indicated by the write request, wherein storing the change information records the write request without modifying the first file, and wherein the change information is stored in a location separate from the first file; wherein the change information includes one or more data blocks, wherein each data block of the one or more data blocks is of a predetermined size. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
a processor; and a memory medium storing program instructions; wherein the processor is operable to execute the program instructions to; intercept a first plurality of write requests, wherein each write request comprises a request to modify contents of a first file by writing data at a respective offset within the first file; and for each of the write requests, store change information in response to the write request, wherein the change information specifies the data requested to be written within the first file and the offset indicated by the write request, wherein storing the change information records the write request without modifying the first file, and wherein the change information is stored in a location separate from the first file; wherein the change information includes one or more data blocks, wherein each data block of the one or more data blocks is of a predetermined size. - View Dependent Claims (19, 20, 21)
-
Specification