IP Library Granted Patent US 9,940,062
Granted Patent B1
US 9,940,062 · App. 13/889,196 · Granted Apr 10, 2018

Technique for creating a history of tape movement in a virtual tape library

Inventors: Robert L. Fair (Cary, IN); Katrina M. Heiles (Durham, NC)
Assignee: EMC IP Holding Company LLC
G06F3/0644
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,940,062
App. No.
13/889,196
Filed
May 7, 2013
Granted
Apr 10, 2018
Kind
B1
Art Unit
2137
USPC
711/111
Abstract

A method and system manages a virtual tape library history database. The method includes triggering an update of the virtual tape library history database in response to detecting a change related to a tape in a virtual tape library state table, where the update is asynchronous from processing of small computer system interface (SCSI) or command line interface (CLI) commands handled by a virtual tape library, and adding a record to a virtual tape history table in the virtual tape library history database, the virtual tape history table corresponding to the tape, where the record includes information about the change, where the virtual tape history table functions as a log of activity for the tape.

Claims (45)

1. A method for managing a virtual tape library history database, the method comprising:

in response to detecting a change related to a first tape of a plurality of tapes represented in a virtual tape library state table, triggering an update of a first state entry of the virtual tape library state table associated with the first tape, wherein the triggering is implemented by a database management system that manages the virtual tape library history database and monitors the change related to the first tape, wherein monitoring the change and updating the first state entry are performed independently of and asynchronously to other virtual tape library operations, and wherein the virtual tape library state table includes a plurality of state entries, each state entry corresponding to one of a plurality of virtual tapes, wherein each state entry includes a virtual tape identifier identifying the corresponding virtual tape, a unique barcode identifying the corresponding virtual tape, a pool identifier identifying which of a plurality of pools of tapes the corresponding virtual tape belongs to, a library identifier identifying which of libraries the corresponding virtual tape belongs to, and one or more attributes associated with the corresponding virtual tape, wherein the virtual tape library state table stores information for all of the plurality of tapes;

in response to updating the first state entry of the virtual tape library state table, identifying a first virtual tape history table corresponding to the first tape based on a first virtual tape identifier that identifies the first tape, the first virtual tape history table being one of the plurality of virtual tape history tables, each virtual tape history table corresponding to one of the plurality of tapes, wherein the virtual tape library state table and the first virtual tape history table are separate tables; and

adding a record to the first virtual tape history table in the virtual tape library history database, wherein the added record includes information about the updated first state entry of the virtual tape library state table, wherein the first virtual tape history table includes a plurality of history entries, each history entry corresponding to one of a plurality of events based on an update of an attribute of a first state entry of the virtual tape library state table corresponding to the first tape, and wherein each history entry includes a timestamp at which an associated event occurred, a location of the event which includes a pool identifier identifying a pool of virtual tapes in which the corresponding event occurred, and a library identifier identifying a virtual library, wherein the virtual tape library state table and the first virtual tape history table are maintained in a system memory of a storage appliance.

2. The method of claim 1 , further comprising:

checking whether a virtual tape history table with a tape identifier of the first tape exists in the virtual tape history database.

3. The method of claim 2 , further comprising:

creating the virtual tape history table, in response to the tape identifier not being found in the virtual tape history database.

4. The method of claim 1 , further comprising:

triggering a purge operation for the virtual tape history table in response to the adding of the record to the virtual tape history table.

5. The method of claim 4 , further comprising:

checking whether the record indicates that the first tape has been removed from the virtual tape library.

6. The method of claim 5 , further comprising:

removing the virtual tape history table in response to the first tape being removed from the virtual tape library.

7. The method of claim 1 , further comprising:

checking whether a number of records exceeds a threshold for the virtual tape history table of the first tape.

8. The method of claim 7 , further comprising:

removing a set of oldest records in the virtual tape history table to reduce the number of records below the threshold.

9. A computer system comprising:

a memory; and

at least one processor coupled with the memory, the processor configured to execute a virtual tape library history manager, the virtual tape library history manager

to in response to detecting a change related to a first tape of a plurality of tapes represented in a virtual tape library state table maintained in the memory, triggering an update of a first state entry of the virtual tape library state table associated with the first tape, wherein the triggering is implemented by a database management system that manages the virtual tape library history database and monitors the change related to the first tape, wherein monitoring the change and updating the first state entry are performed independently of and asynchronously to other virtual tape library operations, and wherein the virtual tape library state table includes a plurality of state entries, each state entry corresponding to one of a plurality of virtual tapes, wherein each state entry includes a virtual tape identifier identifying the corresponding virtual tape, a unique barcode identifying the corresponding virtual tape, a pool identifier identifying which of a plurality of pools of tapes the corresponding virtual tape belongs to, a library identifier identifying which of libraries the corresponding virtual tape belongs to, and one or more attributes associated with the corresponding virtual tape, wherein the virtual tape library state table stores information for all of the plurality of tapes,

in response to updating the first state entry of the virtual tape library state table, to identify a virtual tape history table loaded in the memory and corresponding to the first tape based on a first virtual tape identifier that identifies the first tape, the first virtual tape history table being one of the plurality of virtual tape history tables, each virtual tape history table corresponding to one of the plurality of tapes, wherein the virtual tape library state table and the first virtual tape history table are separate tables, and

to add a record to the first virtual tape history table in the virtual tape library history database, wherein the added record includes information about the updated first state entry of the virtual tape library state table, wherein the first virtual tape history table includes a plurality of history entries, each history entry corresponding to one of a plurality of events based on an update of an attribute of a first state entry of the virtual tape library state table corresponding to the first tape, and wherein each history entry includes a timestamp at which an associated event occurred, a location of the event which includes a pool identifier identifying a pool of virtual tapes in which the corresponding event occurred, and a library identifier identifying a virtual library.

10. The system of claim 9 , wherein the virtual tape library history manager is configured to check whether a virtual tape history table with a tape identifier of the first tape exists in the virtual tape history database.

11. The system of claim 10 , wherein the virtual tape library history manager is configured to create the virtual tape history table, in response to the tape identifier not being found in the virtual tape history database.

12. The system of claim 9 , wherein the virtual tape library history manager is configured to trigger a purge operation for the virtual tape history table in response to the adding of the record to the virtual tape history table.

13. A non-transitory computer-readable medium, having instructions stored therein, which when executed cause a computer to perform a set of operations comprising:

in response to detecting a change related to a first tape of a plurality of tapes represented in a virtual tape library state table, triggering an update of a first state entry of the virtual tape library state table associated with the first tape, wherein the triggering is implemented by a database management system that manages the virtual tape library history database and monitors the change related to the first tape, wherein monitoring the change and updating the first state entry are performed independently of and asynchronously to other virtual tape library operations, and wherein the virtual tape library state table includes a plurality of state entries, each state entry corresponding to one of a plurality of virtual tapes, wherein each state entry includes a virtual tape identifier identifying the corresponding virtual tape, a unique barcode identifying the corresponding virtual tape, a pool identifier identifying which of a plurality of pools of tapes the corresponding virtual tape belongs to, a library identifier identifying which of libraries the corresponding virtual tape belongs to, and one or more attributes associated with the corresponding virtual tape;

in response to updating the first state entry of the virtual tape library state table, identifying a virtual tape history table corresponding to the first tape based on a first virtual tape identifier that identifies the first tape, the first virtual tape history table being one of the plurality of virtual tape history tables, each virtual tape history table corresponding to one of the plurality of tapes, wherein the virtual tape library state table and the first virtual tape history table are separate tables; and

adding a record to the first virtual tape history table in the virtual tape library history database, wherein the added record includes information about the updated first state entry of the virtual tape library state table, wherein the first virtual tape history table includes a plurality of history entries, each history entry corresponding to one of a plurality of events based on an update of an attribute of a first state entry of the virtual tape library state table corresponding to the first tape, and wherein each history entry includes a timestamp at which an associated event occurred, a location of the event which includes a pool identifier identifying a pool of virtual tapes in which the corresponding event occurred, and a library identifier identifying a virtual library, wherein the virtual tape library state table and the first virtual tape history table are maintained in a system memory of a storage appliance.

14. The non-transitory computer-readable medium of claim 13 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

checking whether a virtual tape history table with a tape identifier of the first tape exists in the virtual tape history database.

15. The non-transitory computer-readable medium of claim 14 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

creating the virtual tape history table, in response to the tape identifier not being found in the virtual tape history database.

16. The non-transitory computer-readable medium of claim 13 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

triggering a purge operation for the virtual tape history table in response to the adding of the record to the virtual tape history table.

17. The non-transitory computer-readable medium of claim 16 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

checking whether the record indicates that the first tape has been removed from the virtual tape library.

18. The non-transitory computer-readable medium of claim 17 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

removing the virtual tape history table in response to the first tape being removed from the virtual tape library.

19. The non-transitory computer-readable medium of claim 13 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

checking whether a number of records exceeds a threshold for the virtual tape history table of the first tape.

20. The non-transitory computer-readable medium of claim 19 , having stored therein further instructions, which when executed cause the computer to perform further operations comprising:

removing a set of oldest records in the virtual tape history table to reduce the number of records below the threshold.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2013
From: FAIR, ROBERT L.; HEILES, KATRINA M.
To: EMC CORPORATION
Reel/Frame 030497/0652 →