Parallel access virtual tape library and drives
First Claim
1. A computer-implementable method of processing commands for a virtual tape library (VTL), wherein the VTL receives sequential access write commands from two or more host computers, and wherein the VTL reads data from or writes data to at least two random access data storage devices within the VTL, the method comprising:
- intercepting sequential access write commands from the two or more host computers, wherein the sequential access write commands from the two or more host computers are commands to write data to sequential data storage media,wherein each sequential access write command includes associated parameters, and wherein the associated parameters specify a particular sequential access data storage drive and a piece of removable, sequential access, data storage media;
in response to each intercepted sequential access write command from the two or more host computers, returning a session identifier to each host computer,wherein if the same piece of removable, sequential access, data storage media is requested by two different host computers, then a different session handle is provided to each of the two different host computers, andwherein if the same sequential access data storage drive is requested by two different host computers, then a different session handle is provided to each of the two different host computers;
tracking, via a data structure, the session identifiers, the parameters, the at least two random access data storage devices within the VTL, and each intercepted sequential access write command from the two or more host computers;
in response to each intercepted sequential access write command from the two or more host computers, performing write commands with respect to the at least two random access data storage devices within the VTL;
determining whether any of the intercepted sequential access write commands have been completed;
if any one of the intercepted sequential access write commands has been completed, then releasing a session associated with a completed sequential access write command; and
generating multiple snapshots of the data structure, wherein each of the multiple snapshots is generated at a different time; and
providing a user interface for displaying and permitting user access to data associated with each of the multiple snapshots.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method described herein allows a virtual tape library (VTL) to perform multiple simultaneous or parallel read/write or access sessions with disk drives or other storage media, particularly when subject to a sequential SCSI-compliant layer or traditional limitations of VTLs. In one embodiment, a virtualizing or transaction layer can establish multiple sessions with one or more clients to concurrently satisfy the read/write requests of those clients for physical storage resources. A table or other data structure tracks or maps the sessions associated with each client and the location of data on the physical storage devices.
-
Citations
7 Claims
-
1. A computer-implementable method of processing commands for a virtual tape library (VTL), wherein the VTL receives sequential access write commands from two or more host computers, and wherein the VTL reads data from or writes data to at least two random access data storage devices within the VTL, the method comprising:
-
intercepting sequential access write commands from the two or more host computers, wherein the sequential access write commands from the two or more host computers are commands to write data to sequential data storage media, wherein each sequential access write command includes associated parameters, and wherein the associated parameters specify a particular sequential access data storage drive and a piece of removable, sequential access, data storage media; in response to each intercepted sequential access write command from the two or more host computers, returning a session identifier to each host computer, wherein if the same piece of removable, sequential access, data storage media is requested by two different host computers, then a different session handle is provided to each of the two different host computers, and wherein if the same sequential access data storage drive is requested by two different host computers, then a different session handle is provided to each of the two different host computers; tracking, via a data structure, the session identifiers, the parameters, the at least two random access data storage devices within the VTL, and each intercepted sequential access write command from the two or more host computers; in response to each intercepted sequential access write command from the two or more host computers, performing write commands with respect to the at least two random access data storage devices within the VTL; determining whether any of the intercepted sequential access write commands have been completed; if any one of the intercepted sequential access write commands has been completed, then releasing a session associated with a completed sequential access write command; and generating multiple snapshots of the data structure, wherein each of the multiple snapshots is generated at a different time; and providing a user interface for displaying and permitting user access to data associated with each of the multiple snapshots. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer-readable medium containing code, which when executed by a computer causes a virtual tape library (VTL) to perform a method to permit parallel access to two or more drives associated with the VTL, the method comprising:
-
intercepting sequential access write commands from two or more host computers, wherein the sequential access write commands from the two or more host computers are commands to write data to sequential data storage media, wherein each sequential access write command includes associated parameters, and wherein the associated parameters specify a particular sequential access data storage drive and a piece of removable, sequential access, data storage media; in response to each intercepted sequential access write command from the two or more host computers, returning a session identifier to each host computer, wherein if the same piece of removable, sequential access, data storage media is requested by two different host computers, then providing a different session handle to each of the two different host computers, and wherein if the same sequential access data storage drive is requested by two different host computers, then providing a different session handle to each of the two different host computers; tracking, via a data structure, the session identifiers, the parameters, the at least two random access data storage devices within the VTL, and each intercepted sequential access write command from the two or more host computers; in response to each intercepted sequential access write command from the two or more host computers, performing write commands with respect to the at least two random access data storage devices within the VTL; determining whether any of the intercepted sequential access write commands have been completed; if any one of the intercepted sequential access write commands has been completed, then releasing a session associated with a completed sequential access write command; and generating multiple snapshots of the data structure, wherein each of the multiple snapshots is generated at a different time; and providing a user interface for displaying and permitting user access to data associated with each of the multiple snapshots. - View Dependent Claims (6, 7)
-
Specification