Optimizing access to production data
First Claim
Patent Images
1. A method comprising:
- receiving an input/output operation from a first application, at a storage system, whereinthe input/output operation is directed to a virtual data file stored in an allocated storage space,the allocated storage space has been allocated within a virtual disk in a virtual storage unit in the storage system,the storage system comprises one or more storage devices, in which is storedproduction data comprising one or more production data files, andthe virtual storage unit,the one or more production data files are configured for present use by a second application, andthe one or more production data files and virtual storage unit are stored separately from one another in the storage system;
determining whether the input/output operation is a read operation or a write operation;
in response to a determination that the input/output operation is the write operation, performing the write operation on the virtual data file; and
in response to a determination that the input/output operation is the read operation,determining a storage location on the virtual storage unit at which the read operation is to be performed,determining whether an earlier write operation was performed at the storage location,in response to determining that the earlier write operation was performed at the storage location, performing the read operation at a location in the virtual data file corresponding to the storage location, andin response to determining that the earlier write operation was not performed at the storage location, performing the read operation on the allocated storage space at the storage location, whereinthe performing the read operation on the allocated storage space comprisesserving data from a location in the one or more production data files corresponding to the storage location,the data is responsive to the read operation of the allocated storage space, andthe serving is facilitated by the allocated storage space being mapped to the production data, at least with regard to the storage location.
7 Assignments
0 Petitions
Accused Products
Abstract
Various systems, methods, and processes for optimizing access to production data in application development and testing environments are disclosed. If an input/output (I/O) operation is a read operation, a storage location on a virtual storage unit at which the read operation is to be performed is determined. Also determined is whether an earlier write operation was performed at the storage location. If an earlier write operation was performed at the storage location, the read operation is performed on one or more virtual data files. However, if the earlier write operation was not performed at the storage location, the read operation is performed on allocated storage space.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving an input/output operation from a first application, at a storage system, wherein the input/output operation is directed to a virtual data file stored in an allocated storage space, the allocated storage space has been allocated within a virtual disk in a virtual storage unit in the storage system, the storage system comprises one or more storage devices, in which is stored production data comprising one or more production data files, and the virtual storage unit, the one or more production data files are configured for present use by a second application, and the one or more production data files and virtual storage unit are stored separately from one another in the storage system; determining whether the input/output operation is a read operation or a write operation; in response to a determination that the input/output operation is the write operation, performing the write operation on the virtual data file; and in response to a determination that the input/output operation is the read operation, determining a storage location on the virtual storage unit at which the read operation is to be performed, determining whether an earlier write operation was performed at the storage location, in response to determining that the earlier write operation was performed at the storage location, performing the read operation at a location in the virtual data file corresponding to the storage location, and in response to determining that the earlier write operation was not performed at the storage location, performing the read operation on the allocated storage space at the storage location, wherein the performing the read operation on the allocated storage space comprises serving data from a location in the one or more production data files corresponding to the storage location, the data is responsive to the read operation of the allocated storage space, and the serving is facilitated by the allocated storage space being mapped to the production data, at least with regard to the storage location. - 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:
-
receive an input/output operation from a first application, at a storage system, wherein the input/output operation is directed to a virtual data file stored in an allocated storage space, the allocated storage space has been allocated within a virtual disk in a virtual storage unit in the storage system, the storage system comprises one or more storage devices, in which is stored production data comprising one or more production data files, and the virtual storage unit, the one or more production data files are configured for present use by a second application, and the one or more production data files and virtual storage unit are stored separately from one another in the storage system; determine whether the input/output operation is a read operation or a write operation; in response to a determination that the input/output operation is the write operation, perform the write operation on the virtual data file; and in response to a determination that the input/output operation is the read operation, determine a storage location on the virtual storage unit at which the read operation is to be performed, determine whether an earlier write operation was performed at the storage location, in response to determining that the earlier write operation was performed at the storage location, perform the read operation at a location in the virtual data file corresponding to the storage location, and in response to determining that the earlier write operation was not performed at the storage location, perform the read operation on the allocated storage space at the storage location, wherein the program instructions executable to perform the read operation on the allocated storage space comprise further program instructions executable to serve data from a location in the one or more production data files corresponding to the storage location, the data is responsive to the read operation of the allocated storage space, and serving of the data is facilitated by the allocated storage space being mapped to the production data, at least with regard to the storage location. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system comprising:
-
one or more processors; and a non-transitory computer readable storage medium coupled to the one or more processors, wherein the non-transitory computer readable storage medium stores program instructions executable by the one or more processors to receive an input/output operation from a first application, at a storage system, wherein the input/output operation is directed to a virtual data file stored in an allocated storage space, the allocated storage space has been allocated within a virtual disk in a virtual storage unit in the storage system, the storage system comprises one or more storage devices, in which is stored production data comprising one or more production data files, and the virtual storage unit, the one or more production data files are configured for present use by a second application, and the one or more production data files and virtual storage unit are stored separately from one another in the storage system, determine whether the input/output operation is a read operation or a write operation, in response to a determination that the input/output operation is the write operation, perform the write operation on the virtual data file, in response to a determination that the input/output operation is the read operation, determine a storage location on the virtual storage unit at which the read operation is to be performed, determine whether an earlier write operation was performed at the storage location, in response to determining that the earlier write operation was performed at the storage location, perform the read operation at a location in the virtual data file corresponding to the storage location, and in response to determining that the earlier write operation was not performed at the storage location, perform the read operation on the allocated storage space at the storage location, wherein the program instructions executable by the one or more processors to perform the read operation on the allocated storage space comprise program instructions executable by the one or more processors to serve data from a location in the one or more production data files corresponding to the storage location, the data is responsive to the read operation of the allocated storage space, and serving of the data is facilitated by the allocated storage space being mapped to the production data, at least with regard to the storage location. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification