IP Library › Granted Patent US 10,148,483
Granted Patent B1
US 10,148,483 · App. 14/870,718 · Granted Dec 4, 2018

Dynamic front end connectivity optimizations

Inventors: Mark C. Lippitt (Westborough, MA); Erik Smith (Douglas, MA); Marik Marshak (Newton, MA); Michael J. Scharland (Franklin, MA); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
H04L41/04H04L43/16H04L47/70H04L49/30H04L67/1097
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 10,148,483
App. No.
14/870,718
Filed
Sep 30, 2015
Granted
Dec 4, 2018
Kind
B1
Art Unit
2455
USPC
709/224
Abstract

Described are techniques for determining connectivity. Statistics are received regarding components of the data storage system including any of a target port, a front end adapter, and a device. It is determined in accordance with inputs whether to modify existing connectivity between an initiator set of one or more initiators and a target set of one or more target ports of the data storage system. The inputs include the one or more statistics and one or more adjustment criteria. Responsive to determining to modify the existing connectivity, first processing makes modification(s) to the existing connectivity including any of: modifying an access state associated with a target port over which a device is exposed to an initiator, and adding or removing connectivity between the initiator and another target port of the data storage system where a device is exposed to the initiator over the another target port.

Claims (49)

1. A method of determining connectivity comprising:

receiving, using a processor, one or more statistics regarding one or more components of a data storage system, said one or more components including any of a target port, a front end adapter, and a device;

determining, in accordance with a set of inputs and using a processor, whether to redistribute workload in the data storage system by modifying existing connectivity between an initiator set of one or more initiators and a target set of one or more target ports of the data storage system, the set of inputs including the one or more statistics and one or more adjustment criteria, wherein the set of inputs includes a minimum event duration time and wherein said determining includes:

determining whether a detected change related to at least one of workload and performance, with respect to the existing connectivity, occurs for at least the minimum event duration time; and

responsive to determining the detected change does not occur for at least the minimum event duration time, determining not to modify the existing connectivity due to the detected change; and

responsive to determining to modify the existing connectivity between the initiator set and the target set, performing first processing using a processor, wherein the first processing makes one or more modifications to the existing connectivity between the initiator set and the target set, wherein the modifications include:

modifying a state associated with a first target port of the target set over which a first device is exposed to a first initiator, wherein the first initiator is included in a host that recognizes a path to the first device from the first initiator to the first target port, and wherein the state indicates whether I/Os, that are directed to the first device and that are sent by the first initiator over the path to the first target port, are allowed to be issued to access data of the first device; and

adding or removing connectivity between the first initiator and another target port of the data storage system where a device is exposed to the first initiator over the another target port.

2. The method of claim 1 , wherein the state is modified from a first state to a resulting state, wherein the first state indicates that read and write I/Os that are directed to the first device and are sent by the first initiator to the first target port are serviced and wherein the resulting state indicates that read and write I/Os that are directed to the first device and are sent by the first initiator to the first target port are not serviced.

3. The method of claim 1 , wherein the state is modified from a first state to a resulting state, wherein the first state indicates that read and write I/Os that are directed to the first device and are sent by the first initiator to the first target port are not serviced and wherein the resulting state indicates that read and write I/Os that are directed to the first device and are sent by the first initiator to the first target port are serviced.

4. The method of claim 1 , wherein the one or more modifications includes adding the connectivity between the first initiator and the another target port of the data storage system where the device is exposed to the first initiator over the another target port.

5. The method of claim 4 , wherein the one or more modifications includes setting a second state associated with the another target port over which the device is exposed to the first initiator, wherein the second state indicates whether or not read and write I/Os that are directed to the device and are sent by the first initiator to the another target port are serviced.

6. The method of claim 5 , wherein the first processing adds the connectivity between the first initiator and the another target port over which the first device is exposed by communicating with any of a network fabric and connectivity fabric of a first component external to the data storage system and using masking information of the data storage system, the masking information including information indicating that the first device is exposed to the first initiator over the another target port.

7. The method of claim 6 , wherein the first processing includes:

adding the first initiator to a storage group including the first device exposed over the another target port, wherein said adding updates the masking information to indicate that the first device is exposed over the another target port to the first initiator; and

issuing a request to the first component in accordance with the masking information that creates a new zone including the first initiator and the another target port.

8. The method of claim 7 , wherein the adding is performed using data storage management software of the data storage system and wherein the another target port issues the request that creates the new zone.

9. The method of claim 5 , wherein the second state is set by the data storage system and affects whether or not the data storage system services read and write I/Os that are directed to the device and received by the another target port from the first initiator.

10. The method of claim 1 , wherein the set of statistics includes at least one statistic regarding any of workload and performance of the one or more components.

11. The method of claim 1 , wherein the one or more adjustment criteria includes any of: a minimum performance threshold, a maximum workload threshold, one or more rebalancing criteria identifying conditions when workload is considered unbalanced in the data storage system whereby redistribution of workload is performed, and a planned or scheduled activity or event in the data storage system requiring redistribution of workload.

12. The method of claim 11 , wherein the one or more adjustment criteria indicates to modify the existing connectivity if any of: an observed performance value indicates current performance is less than a minimum performance threshold, an observed workload is more than the maximum workload threshold, the one or more rebalancing criteria indicates workload is currently unbalanced and needs redistribution, a predicted performance value indicates that predicted performance is less than the minimum performance threshold, a predicted workload is more than the maximum workload threshold, and the one or more rebalancing criteria indicates predicted workload for the one or more components is unbalanced and needs redistribution.

13. The method of claim 12 , wherein a first of the one or more statistics denotes any of an observed workload value and an observed performance value for a first of the one or more components, and said determining whether to modify existing connectivity includes any of modeling and predicting the first statistic regarding the first component to determine a first predicted value, wherein said determining uses the first statistic and the first predicted value in connection with the one or more adjustment criteria to determine whether to modify existing connectivity.

14. The method of claim 13 , wherein said determining includes performing anomaly detection to determine whether any of: a change between two consecutive observed values for one of the statistics and a change between the first statistic and the first predicted value is an anomaly that should be ignored.

15. The method of claim 1 , wherein the set of inputs includes information regarding any of detected trends and patterns regarding any of workload and performance for the one or more components, and an activity history regarding any of workload and performance for the one or more components.

16. The method of claim 1 , wherein the target set includes a plurality of target ports and wherein the data storage system includes a plurality of front end adapters each including one or more of the target ports, and wherein the method includes:

determining a plurality of predicted workloads for any of the plurality of target ports and the plurality of front end adapters, wherein the plurality of predicted workloads are determined using inputs including a plurality of current workloads for the any of the plurality of target ports and the plurality of front end adapters, wherein the one or more adjustment criteria include one or more rebalancing criteria and the one or more inputs include the plurality of predicted workloads, and wherein said determining whether to modify the existing connectivity includes:

determining whether workload distribution in the data storage system is balanced using the one or more rebalancing criteria and any of the plurality of predicted workloads and the plurality of current workloads.

17. The method of claim 16 , wherein said determining whether to modify the existing connectivity includes:

determining that at least one of the plurality of target ports and the plurality of front end adapters each have an associated workload exceeding a specified maximum threshold; and

determining that workload capacity of the existing connectivity needs to be increased; and wherein said first processing includes:

adding other connectivity to the existing connectivity, wherein said adding includes adding at least one target port to the target set by creating one or more new zones each including at least one initiator of the initiator set, each of said one or new zones being created by the data storage system automatically issuing requests to any of a network fabric and a connectivity fabric.

18. A system comprising:

a processor; and

a memory including code stored thereon that, when executed, performs a method of determining connectivity comprising:

receiving one or more statistics regarding one or more components of a data storage system, said one or more components including any of a target port, a front end adapter, and a device;

determining, in accordance with a set of inputs, whether to redistribute workload in the data storage system by modifying existing connectivity between an initiator set of one or more initiators and a target set of one or more target ports of the data storage system, the set of inputs including the one or more statistics and one or more adjustment criteria, wherein the set of inputs includes a minimum event duration time and wherein said determining includes:

determining whether a detected change related to at least one of workload and performance, with respect to the existing connectivity, occurs for at least the minimum event duration time; and

responsive to determining the detected change does not occur for at least the minimum event duration time, determining not to modify the existing connectivity due to the detected change; and

responsive to determining to modify the existing connectivity between the initiator set and the target set, performing first processing using a processor, wherein the first processing makes one or more modifications to the existing connectivity between the initiator set and the target set, wherein the modifications include:

modifying a state associated with a first target port of the target set over which a first device is exposed to a first initiator, wherein the first initiator is included in a host that recognizes a path to the first device from the first initiator to the first target port, and wherein the state indicates whether I/Os, that are directed to the first device and that are sent by the first initiator over the path to the first target port, are allowed to be issued to access data of the first device; and

adding or removing connectivity between the first initiator and another target port of the data storage system where a device is exposed to the first initiator over the another target port.

19. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of determining connectivity comprising:

receiving one or more statistics regarding one or more components of a data storage system, said one or more components including any of a target port, a front end adapter, and a device;

determining, in accordance with a set of inputs, whether to redistribute workload in the data storage system by modifying existing connectivity between an initiator set of one or more initiators and a target set of one or more target ports of the data storage system, the set of inputs including the one or more statistics and one or more adjustment criteria, wherein the set of inputs includes a minimum event duration time and wherein said determining includes:

determining whether a detected change related to at least one of workload and performance, with respect to the existing connectivity, occurs for at least the minimum event duration time; and

responsive to determining the detected change does not occur for at least the minimum event duration time, determining not to modify the existing connectivity due to the detected change; and

responsive to determining to modify the existing connectivity between the initiator set and the target set, performing first processing using a processor, wherein the first processing makes one or more modifications to the existing connectivity between the initiator set and the target set, wherein the modifications include:

modifying a state associated with a first target port of the target set over which a first device is exposed to a first initiator, wherein the first initiator is included in a host that recognizes a path to the first device from the first initiator to the first target port, and wherein the state indicates whether I/Os, that are directed to the first device and that are sent by the first initiator over the path to the first target port, are allowed to be issued to access data of the first device; and

adding or removing connectivity between the first initiator and another target port of the data storage system where a device is exposed to the first initiator over the another target port.

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 Sep 30, 2015
From: LIPPITT, MARK C.; SMITH, ERIK; MARSHAK, MARIK; SCHARLAND, MICHAEL J.; DON, ARIEH
To: EMC CORPORATION
Reel/Frame 036694/0348 →
Cited By (4)
US 12,192,272 US 12,314,595 US 12,463,991 US 12,608,234