IP Library Granted Patent US 10,067,794
Granted Patent B1
US 10,067,794 · App. 13/886,789 · Granted Sep 4, 2018

Computer-executable method, system, and computer program product for balanced port provisioning using filtering in a data storage system

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,067,794
App. No.
13/886,789
Granted
Sep 4, 2018
Kind
B1
Abstract

A method, system, and computer program product for allocating one or more available ports on a data storage system, the data storage system having one or more data storage volumes, to enable communication with the one or more data storage volumes on the data storage system, the method, system, and computer program comprising filtering the one or more available ports on the data storage system to determine a balanced allocation of a port of the one or more available ports through one or more storage components on the data storage system, and allocating the port to the data storage volume thereby enabling access to the data storage volume through the one or more storage components.

Claims (36)

1. A computer-executable method for allocating a plurality of available ports on a data storage system, the data storage system having a plurality of data storage volumes, to enable communication between a host and the plurality of data storage volumes on the data storage system, the computer-executable method comprising:

receiving inputs at the data storage system for use with multiple filters for managing allocation of the plurality of available ports on the data storage system;

filtering the plurality of available ports on the data storage system to determine a balanced allocation of the plurality of available ports accessible through a plurality of storage components on the data storage system, wherein the filtering prioritizes a port of the plurality of available ports based on hardware redundancy;

wherein, during the filtering, the multiple filters are used to iteratively filter the plurality of available ports by use of the multiple filters which are prioritized based on entity types, wherein the entity types are an engine, a director, and a storage area network switch within the data storage system;

wherein, during the filtering, the data storage system filters the plurality of available ports across multiple hardware redundancy groups; and

allocating the plurality of available ports to data storage volumes of the plurality of data storage volumes thereby enabling access to the data storage volume through the plurality of storage components.

2. The computer-executable method of claim 1 , wherein the plurality of storage components includes a first component and a second component, wherein each allocated port of the plurality of available ports is balanced across the first component and the second component.

3. The computer-executable method of claim 1 , wherein the filtering comprises a first filter, wherein the first filter filters the plurality of available ports based on a first component of the plurality of components on the data storage system creating a set of filtered available ports.

4. The computer-executable method of claim 3 , wherein the filtering further comprises a second filter, wherein the second filter filters the set of filtered available ports based on a second component of the plurality of components on the data storage system creating a second set of filtered available ports.

5. The computer-executable method of claim 1 , further comprising:

analyzing a configuration of the data storage system to determine which of the storage components to filter while filtering of the plurality of available ports on the data storage system.

6. A system, comprising:

a data storage system having a plurality of data storage volumes; and

computer-executable logic, encoded in memory of one or more computers in communication with the data storage system, for allocating a plurality of available ports on a data storage system to enable communication between a host and the plurality of data storage volumes, wherein the computer-executable program logic is configured for the execution of:

receiving inputs at the data storage system for use with multiple filters for managing allocation of the plurality of available ports on the data storage system;

filtering the plurality of available ports on the data storage system to determine a balanced allocation of the plurality of available ports accessible through a plurality of storage components on the data storage system, wherein the filtering prioritizes a port of the plurality of available ports based on hardware redundancy;

wherein, during the filtering, the multiple filters are used to iteratively filter the plurality of available ports by use of the multiple filters which are prioritized based on entity types, wherein the entity types are an engine, a director, and a storage area network switch within the data storage system;

wherein, during the filtering, the data storage system filters the plurality of available ports across multiple hardware redundancy groups; and

allocating the plurality of available ports to data storage volumes of the plurality of data storage volumes thereby enabling access to the data storage volume through the plurality of storage components.

7. The system of claim 6 , wherein the plurality of storage components includes a first component and a second component, wherein each allocated port of the plurality of available ports is balanced across the first component and the second component.

8. The system of claim 6 , wherein the filtering comprises a first filter, wherein the first filter filters the plurality of available ports based on a first component of the plurality of components on the data storage system creating a set of filtered available ports.

9. The system of claim 8 , wherein the filtering further comprises a second filter, wherein the second filter filters the set of filtered available ports based on a second component of the plurality of components on the data storage system creating a second set of filtered available ports.

10. The system of claim 6 , wherein the computer-executable program logic is further configured for the execution of:

analyzing a configuration of the data storage system to determine which of the storage components to filter while filtering of the plurality of available ports on the data storage system.

11. A computer program product for allocating a plurality of available ports on a data storage system, the data storage system having a plurality of data storage volumes, to enable communication between a host and the plurality of data storage volumes on the data storage system, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable program code for using read signatures in replication, the code configured to enable the execution of:

receiving inputs at the data storage system for use with multiple filters for managing allocation of the plurality of available ports on the data storage system;

filtering the plurality of available ports on the data storage system to determine a balanced allocation of the plurality of available ports accessible through a plurality of storage components on the data storage system, wherein the filtering prioritizes a port of the plurality of available ports based on hardware redundancy;

wherein, during the filtering, the multiple filters are used to iteratively filter the plurality of available ports by use of the multiple filters which are prioritized based on entity types, wherein the entity types are an engine, a director, and a storage area network switch within the data storage system;

wherein, during the filtering, the data storage system filters the plurality of available ports across multiple hardware redundancy groups; and

allocating the plurality of available ports to data storage volumes of the plurality of data storage volumes thereby enabling access to the data storage volume through the plurality of storage components.

12. The computer program product of claim 11 , wherein the plurality of storage components includes a first component and a second component, wherein each allocated port of the plurality of available ports is balanced across the first component and the second component.

13. The computer program product of claim 11 , wherein the filtering comprises a first filter, wherein the first filter filters the plurality of available ports based on a first component of the plurality of components on the data storage system creating a set of filtered available ports.

14. The computer program product of claim 13 , wherein the filtering further comprises a second filter, wherein the second filter filters the set of filtered available ports based on a second component of the plurality of components on the data storage system creating a second set of filtered available ports.

15. The computer program product of claim 11 , wherein the code configured to further enable the execution of:

analyzing a configuration of the data storage system to determine which of the storage components to filter while filtering of the plurality of available ports on the data storage system.

Assignments (4)
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 →
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 Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2016
From: WATSON, THOMAS L; NINAN, ANOOP GEORGE; JABBAR, AMEER; EL-ALI, HALA
To: EMC CORPORATION
Reel/Frame 039417/0520 →