IP Library Granted Patent US 7,797,355
Granted Patent B1
US 7,797,355 · App. 11/148,697 · Granted Sep 14, 2010

System and method for characterizing logical storage devices

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 7,797,355
App. No.
11/148,697
Granted
Sep 14, 2010
Kind
B1
Abstract

A system and method of characterizing a logical storage object. Information associated with the logical storage object is stored. The information includes information characterizing quiesce capabilities and split characteristics for the logical storage object. That information is transmitted to a processor and is used to characterize the logical storage object.

Claims (56)

1. A computer-implemented method, comprising:

generating a data structure representing subcomponents of a logical storage object as a plurality of linked nodes, wherein each subcomponent comprises an element of a storage stack, and wherein each node of the plurality of linked nodes includes an indication of frozen image generation capabilities of the corresponding subcomponent;

navigating the plurality of linked nodes to generate a list of alternate methods of generating a frozen image of the logical storage object based on the frozen image generation capabilities of the subcomponents; and

wherein the frozen image generation capabilities include quiesce capabilities and split capabilities.

2. The computer-implemented method as recited in claim 1 , wherein the data structure includes a tree of nodes, wherein a root node of the tree of nodes represents the logical storage object.

3. The computer-implemented method as recited in claim 1 , further comprising:

invoking a plug-in interface associated with a subcomponent of the logical storage object to determine quiesce capabilities and split capabilities of the subcomponent.

4. The computer-implemented method as recited in claim 1 , further comprising:

associating a node type with each of the plurality of nodes indicative of a storage aggregation attribute of the subcomponent represented by the node; and

deriving a list of alternate methods of generating a frozen image of a particular subcomponent represented by a particular node based on the node type of the particular node and a logical combination of quiesce attributes and split attributes of two or more child subcomponents of the particular subcomponent.

5. The computer-implemented method as recited in claim 2 , wherein navigating the plurality of linked nodes comprises:

traversing the tree of nodes starting from a leaf node towards the root node; and

assembling a list of alternate methods of generating a frozen image of each subcomponent represented by a node encountered during the traversal, wherein at least one list of alternate methods corresponding to a particular subcomponent is derived from a logical combination of a first and a second list of alternate methods corresponding to a respective first and second child subcomponent of the particular subcomponent.

6. The computer-implemented method as recited in claim 1 , further comprising:

selecting a particular method from the list of alternate methods based on a specified criterion;

generating the frozen image of the logical storage object in accordance with the particular method.

7. The computer-implemented method as recited in claim 6 , wherein generating the frozen image comprises:

identifying each node of the plurality of nodes that represents a subcomponent at which a quiesce operation is to be performed in accordance with the particular method; and

performing a sequence of operations associated with at least a first subcomponent at which a quiesce operation is to be performed, wherein the sequence includes:

halting I/O and flushing a cache at a parent subcomponent of the first subcomponent;

invoking a quiesce type associated with the first subcomponent; and

flushing a cache at a child subcomponent of the first subcomponent.

8. The computer-implemented method as recited in claim 6 , wherein generating the frozen image comprises:

identifying each node of the plurality of nodes that represents a subcomponent at which a split operation is to be performed in accordance with the particular method; and

performing a sequence of operations associated with at least a first subcomponent at which a split operation is to be performed, wherein the sequence includes:

invoking a split type associated with the first subcomponent to generate a split object corresponding to the first subcomponent;

obtaining a name for the split object from a plug-in interface associated with the first subcomponent; and

generating an operating system table entry with the name obtained from the plug-in interface.

9. The computer-implemented method as recited in claim 1 , further comprising:

providing an ordering of the alternate methods included in the list in accordance with a criterion provided by an application.

10. The computer-implemented method as recited in claim 9 , wherein the criterion includes a measure of quiesce strength.

11. A computer readable storage medium comprising program instructions, wherein the instructions are computer-executable to:

generate a data structure representing subcomponents of a logical storage object as a plurality of linked nodes, wherein each subcomponent comprises an element of a storage stack, and wherein each node of the plurality of linked nodes includes an indication of frozen image generation capabilities of the corresponding subcomponent;

navigate the plurality of linked nodes to generate a list of alternate methods of generating a frozen image of the logical storage object based on the frozen image generation capabilities of the subcomponents; and

wherein the frozen image generation capabilities include quiesce capabilities and split capabilities.

12. The computer readable storage medium as recited in claim 11 , wherein the instructions are further computer-executable to:

associate a node type with each of the plurality of nodes indicative of a storage aggregation attribute of the subcomponent represented by the node; and

derive a list of alternate methods of generating a frozen image of a particular subcomponent represented by a particular node based on the node type of the particular node and a logical combination of quiesce attributes and split attributes of two or more child subcomponents of the particular subcomponent.

13. The computer readable storage medium as recited in claim 11 , wherein the data structure includes a tree of nodes, wherein a root node of the tree of nodes represents the logical storage object, wherein the instructions are further computer-executable to:

traverse the tree of nodes starting from a leaf node towards the root node; and

assemble a list of alternate methods of generating a frozen image of each subcomponent represented by a node encountered during the traversal, wherein at least one list of alternate methods corresponding to a particular subcomponent is derived from a logical combination of a first and a second list of alternate methods corresponding to a respective first and second child subcomponent of the particular subcomponent.

14. The computer readable storage medium as recited in claim 11 , wherein the instructions are further computer-executable to:

select a particular method from the list of alternate methods based on a specified criterion;

generate the frozen image of the logical storage object in accordance with the particular method.

15. The computer readable storage medium as recited in claim 11 , wherein the instructions are further computer-executable to:

provide an ordering of the alternate methods within the list in accordance with a criterion provided by an application.

16. A system comprising:

a processor; and

memory coupled to the processor,

wherein the memory stores program instructions computer-executable by the processor to:

generate a data structure representing subcomponents of a logical storage object as a plurality of linked nodes, wherein each subcomponent comprises an element of a storage stack, and wherein each node of the plurality of linked nodes includes an indication of frozen image generation capabilities of the corresponding subcomponent;

navigate the plurality of linked nodes of the data structure to generate a list of alternate methods of generating a frozen image of the logical storage object based on the frozen image generation capabilities of the subcomponents; and

wherein the frozen image generation capabilities include quiesce capabilities and split capabilities.

17. The system as recited in claim 16 , wherein the instructions are further computer-executable to:

select a particular method from the list of alternate methods based on a specified criterion;

generate the frozen image of the logical storage object in accordance with the particular method.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2006
From: VERITAS SOFTWARE CORPORATION
To: VERITAS OPERATING CORPORATION
Reel/Frame 018168/0801 →