IP Library Granted Patent US 9,251,149
Granted Patent B2
US 9,251,149 · App. 12/485,632 · Granted Feb 2, 2016

Data set size tracking and management

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,251,149
App. No.
12/485,632
Granted
Feb 2, 2016
Kind
B2
Abstract

Specified data sets may be tracked from creation to end-of-life (e.g., deletion). Between creation and end-of-life, data set storage changes may be recorded (i.e., when additional storage is allocated or when some storage is released). During a subsequent allocation cycle, this information may be used in conjunction with user-specified allocation rules to manage or control the data set's initial allocation.

Claims (69)

1. A data set management method, the method comprising:

receiving, from an executing user-level application, a request to allocate storage space for a new life-cycle of a data set;

determining whether the data set is designated for tracking and has been successfully tracked in a prior life-cycle;

when the data set is not designated for tracking, obtaining allocation of space for the data set based on the request; and

when the data set is designated for tracking and has been successfully tracked:

obtaining storage space event information for the prior life-cycle of the data set, wherein the prior life-cycle represents a prior instance of the data set that existed between a creation event and an end of life event that released all storage space allocated for the prior instance of the data set, the storage space event information including storage space information for the end of life event,

obtaining at least one storage allocation rule applicable to the data set,

altering the storage space size in the allocation request based on application of the at least one allocation rule to the storage space information for the end of life event of the prior life-cycle,

obtaining allocation of space for the data set based on the altered allocation request, the allocation of space representing a current life-cycle of the data set, and

recording storage space event information for the data set reflecting the storage space actually allocated to the data set for the current life-cycle.

2. The method of claim 1 , wherein receiving a request to allocate storage space includes determining that the data set satisfies one or more user specified qualifications.

3. The method of claim 2 , wherein the one or more user specified qualifications include a specified data class name, a specified data set name, a specified data set organization, belonging to a specified management class, belonging to a specified storage class, requesting a specified amount of secondary storage space, and requesting a specified primary or secondary extent.

4. The method of claim 1 , wherein the storage space event information includes an amount of storage space allocated or released during the event.

5. The method of claim 1 , obtaining a second storage allocation rule; and applying the wherein obtaining storage space information for a prior life-cycle of the data set includes obtaining information describing at least one event that extended storage space of the data set during the prior life-cycle.

6. The method of claim 1 , wherein obtaining storage space information for a prior life-cycle of the data set includes obtaining information describing at least one event that released storage space of the data set during the prior life-cycle.

7. The method of claim 1 , wherein obtaining allocation of space for the data set based on the altered allocation request includes obtaining allocation of the space for the data set from an operating system.

8. The method of claim 1 , further comprising:

receiving a request to change the space allocated to the data set during the current life-cycle;

obtaining a change in space allocated to the data set based on the received request to change the allocation;

determining that the data set is designated for tracking; and

recording information about the change in space allocated to the data set as a storage space event for the current life-cycle.

9. The method of claim 8 , wherein recording information about the change in space allocated to the data set includes recording the amount of free space in the data set at the time substantially immediately after the event.

10. The method of claim 1 , further comprising:

receiving an end of life event for the data set;

determining, responsive to receiving the end of life event, whether the data set has been successfully tracked; and

recording whether the data set has been successfully tracked.

11. The method of claim 10 , further comprising recording, responsive to determining the data set has been successfully tracked, a storage space event that includes free space in the data set at the end of life.

12. The method of claim 10 , wherein receiving the end of life event includes receiving one of the following requests: migrate the data set, terminate the data set, and uncatalog the data set.

13. The method of claim 10 , wherein recording whether the data set has been successfully tracked, includes:

determining an amount of allocated space in the data set, referred to as actual space;

obtaining a most recent recorded storage space event for the data set, the most recent recorded storage space event indicating an amount of space for the data set, referred to as recorded space; and

recording that the data set was successfully tracked if the actual space equals the recorded space.

14. The method of claim 1 , wherein obtaining at least one storage allocation rule includes obtaining a rule that reduces the request to allocate storage space for the data set by a specified percentage.

15. An article of manufacture comprising a non-transitory program storage medium readable by a computer processor and embodying one or more instructions executable by the computer processor to cause the computer processor to:

receive, from an executing user-level application, a request to allocate storage space for a new current life-cycle of a data set;

determine whether the data set is designated for tracking and has been successfully tracked in a prior life-cycle,

when the data set is not designated for tracking, obtain allocation of space for the data set based on the request; and

when the data set is designated for tracking and has been successfully tracked:

obtain storage space event information for the prior life-cycle of the data set, wherein the prior life-cycle represents a prior instance of the data set that existed between a creation event and an end of life event that released all storage space allocated to the data set, the storage space event information including storage space information for the end of life event,

obtain at least one storage allocation rule applicable to the data set,

alter the storage space size in the allocation request based on application of the at least one allocation rule to the storage space information for the end of life event of the prior life-cycle,

obtain allocation of space for the data set based on the altered allocation request, the allocation of space representing a current life-cycle of the data set, and

record storage space event information for the data set reflecting the storage actually allocated to the data set for the current life-cycle.

16. A computer network executing a method to manage a data set, the computer network comprising:

one or more non-volatile storage devices from which data sets may be allocated, the one or more storage devices communicatively coupled to the network;

a database for recording data set life-cycle events, the database communicatively coupled to the network; and

one or more computer systems communicatively coupled to the network, at least one of the one or more computer systems having memory, the memory having stored therein program instructions for causing the at least one computer system to:

receive, from an executing user-level application, a request to allocate storage space for a new life-cycle of a data set,

determine whether the data set is designated for tracking and has been successfully tracked in a prior life-cycle,

when the data set is not designated for tracking, obtain allocation of space for the data set based on the request, and

when the data set is designated for tracking and has been successfully tracked:

obtain storage space event information for the prior life-cycle of the data set, wherein the prior life-cycle represents a prior instance of the data set that existed between a creation event and an end of life event that released all storage space allocated to the data set, the storage space event information including storage space information for the end of life event,

obtain at least one storage allocation rule applicable to the data set,

alter the storage space size in the allocation request based on application of the at least one allocation rule to the storage space information for the end of life event of the prior life-cycle,

obtain allocation of space for the data set based on the altered allocation request, the allocation of space representing a current life-cycle of the data set, and

record storage space event information for the data set reflecting the storage actually allocated to the data set for the current life-cycle.

17. The computer network of claim 16 , the memory further having stored therein program instructions to:

receive an end of life event for the data set;

determine, responsive to receiving the end of life event, whether the data set has been successfully tracked; and

record whether the data set has been successfully tracked.

18. The computer network of claim 17 , wherein the instructions for recording whether the data set has been successfully tracked, includes instructions to:

determine an amount of allocated space in the data set, referred to as an actual space;

obtain a most recent recorded storage space event for the data set, the prior recorded storage space event indicating an amount of space for the data set, referred to as the recorded space; and

record that the data set was successfully tracked if the actual space equals the recorded space.

19. The article of manufacture of claim 15 , wherein the instructions for obtaining storage space event information for a prior life-cycle of the data set includes instructions for obtaining information describing at least one event that extended storage space of the data set during the prior life-cycle.

20. The article of manufacture of claim 15 , the instructions further causing the computer processor to:

receive an end of life event for the data set;

determine, responsive to receiving the end of life event, whether the data set has been successfully tracked; and

record whether the data set has been successfully tracked.

Assignments (14)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2009
From: SZOWA, MAREK; ZACK, KERRY
To: BMC SOFTWARE, INC.
Reel/Frame 022833/0090 →