IP Library › Granted Patent US 7,516,214
Granted Patent B2
US 7,516,214 · App. 10/931,794 · Granted Apr 7, 2009

Rules engine for managing virtual logical units in a storage network

Assignee: EMC Corporation
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,516,214
App. No.
10/931,794
Filed
Aug 31, 2004
Granted
Apr 7, 2009
Kind
B2
Art Unit
2442
USPC
709/224
Abstract

A rules engine is provided to enhance management capability in storage area networks and particularly within storage switches. Resulting state and status information for virtual logical units can be maintained in a database. The database can be indexed according to the current state and/or status of members of a virtual logical unit. When an event associated with a physical target of a virtual logical unit is detected, the current state and status of members of the virtual logical unit can be determined. The current state and status information can be maintained in dynamic state and status indicator. The current state and status information can be used to identify a corresponding entry in the rules database. From the rules database, the proper resulting status and/or state of the members and/or the virtual logical unit can be determined.

Claims (76)

1. A method of managing virtual logical units in a storage network, comprising:

detecting an event associated with at least one first member of a virtual logical unit of said storage network;

determining a first status of said at least one first member as a result of said event;

accessing a current state and second status of at least one second member of said virtual logical unit, said at least one first and at least one second members corresponding to one or more physical storage units of said storage network; and

determining a resulting status of said virtual logical unit from a rules database, wherein said current state and second status of said at least one second member and said first status of said at least one first member are used as indices into said rules database to information indicating said resulting status.

2. The method of claim 1 , wherein said virtual logical unit is a part of a clustered virtual logical unit.

3. The method of claim 2 , wherein said clustered virtual logical unit includes as a first instance said virtual logical unit provisioned at a first storage switch of said storage network, and a second instance of another virtual logical unit provisioned at a second storage switch of said storage network.

4. The method of claim 3 , wherein said at least one first member includes a local portion provisioned at said first storage switch and a remote portion provisioned at said second storage switch; and

said at least one second member includes another local portion provisioned at said second storage switch and another remote portion provisioned at said first storage switch.

5. The method of claim 4 , wherein:

said at least one first member represents a virtualization of one or more first physical logical units coupled to said first storage switch; and

said at least one second member represents another virtualization of one or more second physical logical units coupled to said second storage switch.

6. The method of claim 1 , further comprising: formulating a key from said first status of said at least one first member and said current state and second status of said at least one second member for accessing said information in said rules database.

7. The method of claim 6 , further comprising:

determining said first state of said at least one first member and said current state and second status of said at least one second member from said rules database, wherein said current state and second status of said at least one second member and said first status of said at least one first member are used to index into said rules database.

8. The method of claim 7 , wherein said step of determining a first state of said at least one first member and a current state and second status of said at least one second member comprises:

matching said key to a key index in said rules database to determine an entry corresponding to said first status of said at least one first member and said current state and second status information for of said at least one second member; and

determining said first state of said at least one first member and said current state and second status of said at least one second member from said entry in said rules database.

9. The method of claim 6 , wherein said step of determining a resulting status of said virtual logical unit comprises:

matching said key to a key index in said rules database to determine an entry corresponding to said first status of said at least one first member and said current state and second status for of said at least one second member; and

determining said resulting status of said virtual logical unit from said entry in said rules database.

10. The method of claim 1 , wherein said step of accessing said state and second status of at least one second member of said virtual logical unit includes:

accessing a dynamic state and status indicator for said virtual logical unit, said dynamic state and status indicator is dynamically updated to reflect state and status information of each member of said virtual logical unit.

11. The method of claim 1 , wherein said first status of said at least one first member includes at least one of online and offline.

12. The method of claim 1 , wherein said current state of said at least one second member includes at least one of synchronized, needs synchronization, and being synchronized.

13. A storage network, comprising:

a virtual logical unit including at least one first member and at least one second member, said first and said second members corresponding to one or more physical storage units of said storage network;

a state and status indicator for said virtual logical unit, said state and status indicator indicating a current state and a current status of each of said first and second members of said first virtual logical unit;

a rules database including resulting status information for said virtual logical unit, said resulting status information being indexed in said rules database based upon an event associated with one or both of said first and second members of said virtual logical unit and said current state and current status of each member; and

a management module adapted to receive an indication of said event, wherein said management module, upon receipt of said indication, determines resulting status information for said virtual logical unit using said state and status indicator and said rules database.

14. The storage network of claim 13 , wherein said rules database includes a plurality of entries and a key index for said plurality of entries;

said key index, comprising for each of said entries, a first field for a current first state of said first member, a second field for a current second state of said second member, and a third field for a current status of said second member.

15. The storage network of claim 14 , wherein:

said key index further includes a fourth field for the current status of said first member.

16. The storage network of claim 15 , wherein said status comprises one of online or offline of said members, and said rules database includes entries for offline to online member transitions and entries for online to offline member transitions.

17. The storage network of claim 16 , wherein:

said fourth field denotes the current state of said first member as online for each entry in said rules database corresponding to offline to online member transitions; and

said fourth field denotes the current state of said first member as offline for each entry in said rules database corresponding to online to offline member transitions.

18. The storage network of claim 14 , wherein:

said rules database includes a first portion for offline to online member transitions and a second portion for online to offline member transitions.

19. The storage network of claim 13 , wherein said management module comprises a processor that, upon receiving said indication:

accesses said state and status indicator to determine the current state and status of said second member and the current state of said first member;

formulates a key using said current state and current status;

matches said key to a key index in said rules database to determine an entry corresponding to said current state and current status of said second member and said current state of said first member; and

determines the resulting status information for said virtual logical unit from said entry in said rules database.

20. The storage network of claim 19 , wherein:

said rules database further includes resulting state and status information for said second member and resulting state information for said first member; and

said management module, upon receiving said indication, further determines resulting state information for said first member and resulting state and status information for said second member from said entry in said rules database.

21. One or more processor readable storage devices having processor readable code embodied thereon for controlling one or more processors to perform a method in a storage network comprising:

detecting an event associated with at least one first member of a virtual logical unit of said storage network:

determining a first status of said first member as a result of said event;

accessing a current state and second status of at least one second member of said virtual logical unit, said first and second members corresponding to one or more physical storage units of said storage network; and

determining a resulting status of said virtual logical unit from a rules database, wherein said current state and second status of said second member and said resulting status of said first member are used as indices into said rules database to information indicating said resulting status.

22. One or more processor readable storage devices according to claim 21 , wherein said method further comprises:

formulating a key from said first status of said first member and said current state and second status of said second member for accessing said information in said rules database.

23. One or more processor readable storage devices according to claim 22 , wherein said step of determining a resulting status of said virtual logical unit comprises:

matching said key to a key index in said rules database to determine an entry corresponding to said first status of said first member and said current state and second status information for said second member; and

determining said resulting status of said virtual logical unit from said entry in said rules database.

24. One or more processor readable storage devices according to claim 22 , wherein said method further comprises:

determining said first state of said first member and said current state and second status of said second member from said rules database, wherein said current state and second status of said second member and said first status of said first member are used to index into said rules database.

25. A method of managing a storage network, comprising:

providing a dynamic state and status indicator for indicating, respectively, a synchronization state and an online/offline status of at least one first member of a virtual logical unit provisioned at a storage switch of said storage network;

providing a table of resulting state and status information for said virtual logical unit, said resulting state and status information includes a plurality of entries of said resulting state and status information indexed according to at least a current state and a current status of a second member of said virtual logical unit, said first and second members corresponding to one or more physical storage units of said storage network; and

updating said resulting state and status information as changed upon an occurrence of an event associated with one of said members.

26. The method of claim 25 , wherein:

said plurality of entries are further indexed according to the status of a member of said virtual logical unit that is changed by said event.

27. The method of claim 26 , further comprising:

detecting another event associated with said second member and determining a status of said second member;

classifying said second member as an event member;

determining current state and status information for said first member from said dynamic state and status indicator;

matching an entry in said table based on said current state and status information for said first member and said status of said second member; and

determining said resulting status of said virtual logical unit from said matching entry.

28. One or more processor readable storage devices having processor readable code embodied thereon for controlling one or more processors to perform a method in a storage network comprising:

providing a dynamic state and status indicator for indicating, respectively, a synchronization state and an online/offline status of at least one first member of a virtual logical unit provisioned at a storage switch of said storage network;

providing a table of resulting state and status information for said virtual logical unit, said resulting state and status information includes a plurality of entries of said resulting state and status information indexed according to at least a current state and a current status of a second member of said virtual logical unit, said first and second members corresponding to one or more physical storage units of said storage network; and

updating said resulting state and status information as changed upon an occurrence of an event associated with one of said members.

Assignments (11)
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 Jul 29, 2005
From: MARANTI NETWORKS, INC.
To: EMC CORPORATION
Reel/Frame 016327/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2004
From: GANDHI, SHREYAS P.
To: MARANTI NETWORKS, INC.
Reel/Frame 016008/0723 →
Continuity (1)
Related Publication 20060080416A1 · Apr 13, 2006