IP Library Granted Patent US 7,343,410
Granted Patent B2
US 7,343,410 · App. 09/896,408 · Granted Mar 11, 2008

Automated creation of application data paths in storage area networks

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,343,410
App. No.
09/896,408
Granted
Mar 11, 2008
Kind
B2
Abstract

A DataPath Engine coupled to a SAN provides automated storage provisioning between an application on a Storage Area Network (SAN) attached server and a data volume on a SAN attached storage subsystem. The apparatus provides a simple user interface that allows operators to use pre-created policies for criteria to select data paths that meet organizations uptime and performance requirements. The apparatus uses pathing methodologies to select the optimal data path from the candidates by rating SAN state, uptime, performance, and other key factors. This apparatus allows an enterprise to more efficiently and effectively manage and monitor large, complex, distributed SANs.

Claims (95)

1. A method of creating a data path for a process executing on a server coupled to a storage area network (SAN), the SAN providing connectivity between the server and a storage device in the SAN, the method comprising:

parameterizing a set of attributes for a desired data path between the process and the storage device of the SAN, wherein the set of attributes includes:

a detail about at least one data volume;

a performance setting; and

a policy setting; and

constructing the data path that provides said set of attributes, wherein said constructing step further comprises:

searching the SAN for a set of candidate storage devices;

identifying a candidate data path from the server to each candidate storage device of said set of candidate storage devices;

evaluating each said candidate data path against the set of attributes to rank said candidate data paths from a best candidate data path to a least best candidate data path according to the attributes, wherein the act of evaluating each said candidate data path against the set of attributes includes ranking all of the switch fabrics in the SAN; and

selecting said best candidate data path as the data path to be constructed by said constructing step.

2. The method of claim 1 wherein said set of attributes includes a pre-defined template.

3. The method of claim 2 wherein said set of attributes includes a data path owner, application, and the server on which the application is executing.

4. The method of claim 2 wherein said pre-defined template specifies a set of performance, availability, and cost metrics for the desired data path.

5. A method of creating a data path for a process executing on a server coupled to a storage area network (SAN), the SAN providing connectivity between the server and a storage device in the SAN, the method comprising:

parameterizing a set of attributes for a desired data path between the process and the storage device of the SAN, wherein the set of attributes includes:

a detail about at least one data volume;

a performance setting; and

a policy setting; and

constructing the data path that provides said set of attributes, wherein said constructing step further comprises:

searching the SAN for a set of candidate storage devices;

identifying a candidate data path from the server to each candidate storage device of said set of candidate storage devices;

evaluating each said candidate data path against the set of attributes to rank said candidate data paths from a best candidate data path to a least best candidate data path according to the attributes; and

selecting said best candidate data path as the data path to be constructed by said constructing step, wherein:

said pre-defined template specifies a set of performance, availability, and cost metrics for the desired data path,

said set of attributes includes a pre-defined template, and

said set of performance and availability metrics includes at least one of a number of threads, a security level, and a default volume size and characteristics, default path characteristics.

6. The method of claim 1 wherein said parameterizing step includes a step of entering a user-defined attribute for inclusion in said set of attributes.

7. The method of claim 6 wherein said entering step includes entry of said user-defined attribute by use of a graphical user interface coupled to the SAN.

8. The method of claim 1 , further comprising:

connecting the SAN to a Wide Area Network (WAN) through a general purpose computer; and

communicating with another processing system through the WAN using the general purpose computer.

9. The method of claim 1 , wherein the set of attributes includes a level of security.

10. The method of claim 9 , wherein the level of security includes a data volume security.

11. The method of claim 10 , wherein the data volume security includes whether the data volume is secure or open.

12. The method of claim 9 , wherein the level of security includes a fabric security.

13. The method of claim 9 , wherein the level of security includes a host bus adapter security.

14. The method of claim 1 , wherein the set of attributes includes a data volume size.

15. The method of claim 1 , wherein the set of attributes includes an end point storage type.

16. The method of claim 1 , wherein the set of attributes includes a number of threads.

17. The method of claim 1 , wherein the set of attributes includes a number of fabrics.

18. The method of claim 1 , wherein the set of attributes includes a bandwidth attribute.

19. The method of claim 18 , wherein the bandwidth attribute specifies whether each thread must be exclusive or shared.

20. The method of claim 1 , wherein the set of attributes includes a cost characteristic.

21. The method of claim 20 , wherein the set of attributes includes a cost characteristic that considers a percentage of a device used by a data path.

22. The method of claim 1 , wherein the set of attributes includes a device uptime characteristic.

23. The method of claim 22 , wherein the device uptime characteristic includes data describing when a devices is available and unavailable.

24. The method of claim 1 , wherein the set of attributes includes a rate of data that an application is experiencing.

25. The method of claim 1 , wherein the set of attributes includes a number of threads, a number of switch fabrics, and a level of security.

26. The method of claim 1 , wherein the act of evaluating each said candidate data path against the set of attributes includes ranking at least two data volumes in the SAN.

27. The method of claim 26 , wherein the act of evaluating each said candidate data path against the set of attributes includes ranking all of the data volumes in the SAN.

28. A method of creating a data path for a process executing on a server coupled to a storage area network (SAN), the SAN providing connectivity between the server and a storage device in the SAN, the method comprising:

parameterizing a set of attributes for a desired data path between the process and the storage device of the SAN, wherein the set of attributes includes:

a detail about at least one data volume;

a performance setting; and

a policy setting; and

constructing the data path that provides said set of attributes, wherein said constructing step further comprises:

searching the SAN for a set of candidate storage devices;

identifying a candidate data path from the server to each candidate storage device of said set of candidate storage devices;

evaluating each said candidate data path against the set of attributes to rank said candidate data paths from a best candidate data path to a least best candidate data path according to the attributes, wherein the act of evaluating each said candidate data path against the set of attributes includes determining whether a port is used by another data path, and assigning a weighting based on whether the port is used by another data path; and

selecting said best candidate data path as the data path to be constructed by said constructing step.

29. A method of creating a data path for a process executing on a server coupled to a storage area network (SAN), the SAN providing connectivity between the server and a storage device in the SAN, the method comprising:

parameterizing a set of attributes for a desired data path between the process and the storage device of the SAN; and

constructing the data path that provides said set of attributes, wherein said constructing step further comprises:

identifying candidate data paths from the server to each candidate storage device of said set of candidate storage devices;

evaluating each said candidate data path against the set of attributes to rank said candidate data paths from a best candidate data path to a least best candidate data path according to the attributes, wherein a destination storage volume of each candidate data path is ranked, wherein a switch fabric of each candidate data path is ranked separately from the storage destination storage volume rank, wherein the rank of the candidate data path is based on both the rank of a corresponding destination storage volume and the rank of a corresponding switch fabric; and

selecting said best candidate data path as the data path to be constructed by said constructing step.

30. The method according to claim 29 , further comprising presenting said ranked candidate data paths to a user for selection; and wherein the best candidate data path a user-selected candidate data path as the data path to be constructed by said constructing step.

31. The method of claim 28 wherein said set of attributes includes a pre-defined template.

32. The method of claim 31 wherein said pre-defined template specifies a set of performance, availability, and cost metrics for the desired data path.

33. The method of claim 28 wherein said set of attributes includes a data path owner, application, and the server on which the application is executing.

34. The method of claim 28 wherein said parameterizing step includes a step of entering a user-defined attribute for inclusion in said set of attributes.

35. The method of claim 34 wherein said entering step includes entry of said user-defined attribute by use of a graphical user interface coupled to the SAN.

36. The method of claim 28 wherein said constructed data path includes all physical, logical and security component identification and configuration information sufficient to operably link the process to an identified data volume of the SAN.

37. The method of claim 28 , further comprising:

connecting the SAN to a Wide Area Network (WAN) through a general purpose computer; and

communicating with another processing system through the WAN using the general purpose computer.

38. The method of claim 28 , wherein the set of attributes includes a level of security.

39. The method of claim 38 , wherein the level of security includes a data volume security.

40. The method of claim 39 , wherein the data volume security includes whether the data volume is secure or open.

41. The method of claim 38 , wherein the level of security includes a fabric security.

42. The method of claim 38 , wherein the level of security includes a host bus adapter security.

43. The method of claim 28 , wherein the set of attributes includes a data volume size.

44. The method of claim 28 , wherein the set of attributes includes an end point storage type.

45. The method of claim 28 , wherein the set of attributes includes a number of threads.

46. The method of claim 28 , wherein the set of attributes includes a number of fabrics.

47. The method of claim 28 , wherein the set of attributes includes a bandwidth attribute.

48. The method of claim 47 , wherein the bandwidth attribute specifies whether each thread must be exclusive or shared.

49. The method of claim 28 , wherein the set of attributes includes a cost characteristic.

50. The method of claim 28 , wherein the set of attributes includes a cost characteristic that considers a percentage of a device used by a data path.

51. The method of claim 28 , wherein the set of attributes includes a device uptime characteristic.

52. The method of claim 51 , wherein the device uptime characteristic includes data describing when a devices is available and unavailable.

53. The method of claim 28 , wherein the set of attributes includes a rate of data that an application is experiencing.

54. The method of claim 28 , wherein the set of attributes includes a number of threads, a number of switch fabrics, and a level of security.

55. The method of claim 28 , wherein the act of evaluating each said candidate data path against the set of attributes includes ranking at least two data volumes in the SAN.

56. The method of claim 28 , wherein the act of evaluating each said candidate data path against the set of attributes includes ranking all of the data volumes in the SAN.

Assignments (6)
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded Nov 6, 2015
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 037057/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2011
From: FINISAR CORPORATION
To: JDS UNIPHASE CORPORATION
Reel/Frame 025730/0518 →
MERGER Recorded Jul 20, 2005
From: INTERSAN, INC.
To: FINISAR CORPORATION
Reel/Frame 016286/0240 →
SECURITY AGREEMENT Recorded Jan 7, 2004
From: INTERSAN, INC.
To: VENTURE LENDING & LEASING III, INC.
Reel/Frame 014859/0376 →