Selection of a data path based on one or more performance characteristics of a computer system
First Claim
1. A method for use in a computer system comprising at least one client device, at least one storage system that provides at least one volume of storage to store information and at least one file system server that provides a file system interface for at least some of the information stored on the at least one volume of storage, the computer system comprising at least first and second data paths extending between the at least one client device and the at least one storage system, the first data path passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the first path using the file system interface, the second data path not passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the second path using a storage system interface presented by the at least one storage system, the method comprising acts of:
- (A) for an input/output (I/O) operation, generated by the at least one client device, that seeks to exchange a first set of information between the at least one client device and the at least one storage system;
(A1) examining information specifying at least one performance characteristic of at least one component of the computer system; and
(A2) selecting between the first and second data paths for exchanging the first set of information based at least in part on the at least one performance characteristic of the at least one component of the computer system.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed to techniques for selecting a data path over which to exchange information between a client device and a storage system by making a selection between a file system server (NAS) data path type (a first data path type) and a direct (SAN) data path type (a second data path type) based on one or more adjustable path selection factors and/or information regarding components of the computer system. For example, a data path may be selected based on one or more performance characteristics of a computer system in which a path selection module is acting and/or any other suitable path selection factor.
-
Citations
29 Claims
-
1. A method for use in a computer system comprising at least one client device, at least one storage system that provides at least one volume of storage to store information and at least one file system server that provides a file system interface for at least some of the information stored on the at least one volume of storage, the computer system comprising at least first and second data paths extending between the at least one client device and the at least one storage system, the first data path passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the first path using the file system interface, the second data path not passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the second path using a storage system interface presented by the at least one storage system, the method comprising acts of:
(A) for an input/output (I/O) operation, generated by the at least one client device, that seeks to exchange a first set of information between the at least one client device and the at least one storage system; (A1) examining information specifying at least one performance characteristic of at least one component of the computer system; and (A2) selecting between the first and second data paths for exchanging the first set of information based at least in part on the at least one performance characteristic of the at least one component of the computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. At least one computer-readable medium encoded with computer-executable instructions that, when executed perform a method for use in a computer system comprising at least one client device, at least one storage system that provides at least one volume of storage to store information and at least one file system server that provides a file system interface for at least some of the information stored on the at least one volume of storage, the computer system comprising at least first and second data paths extending between the at least one client device and the at least one storage system, the first data path passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the first path using the file system interface, the second data path not passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the second path using a storage system interface presented by the at least one storage system, the method comprising acts of:
(A) for an input/output (I/O) operation, generated by the at least one client device, that seeks to exchange a first set of information between the at least one client device and the at least one storage system; (A1) examining information specifying at least one historical performance characteristic of at least one component of the computer system; and (A2) selecting between the first and second data paths for exchanging the first set of information based at least in part on the at least one historical performance characteristic of the at least one component of the computer system. - View Dependent Claims (12, 13, 14, 15, 16)
-
17. An apparatus for use in a computer system comprising at least one client device, at least one storage system that provides at least one volume of storage to store information and at least one file system server that provides a file system interface for at least some of the information stored on the at least one volume of storage, the computer system comprising at least first and second data paths extending between the at least one client device and the at least one storage system, the first data path passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the first path using the file system interface, the second data path not passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the second path using a storage system interface presented by the at least one storage system, the apparatus comprising:
at least one processor programmed to, for an input/output (I/O) operation, generated by the at least one client device, that seeks to exchange a first set of information between the at least one client device and the at least one storage system; examine information specifying at least one historical performance characteristic of at least one component of the computer system; and select between the first and second data paths for exchanging the first set of information based at least in part on the at least one historical performance characteristic of the at least one component of the computer system. - View Dependent Claims (18, 19, 20)
-
21. A method for use in a computer system comprising at least one client device, at least one storage system that provides at least one volume of storage to store information and at least one file system server that provides a file system interface for at least some of the information stored on the at least one volume of storage, the computer system comprising at least first and second data paths extending between the at least one client device and the at least one storage system, the first data path passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the first path using the file system interface, the second data path not passing through the at least one file system server so that the at least one client device exchanges information with the at least one storage system via the second path using a storage system interface presented by the at least one storage system, the method comprising acts of:
-
(A) for each of a first set of one or more input/output (I/O) operations, generated by the at least one client device, that each seek to exchange information between the at least one client device and the at least one storage system, applying a first path selection policy comprising at least one path selection factor to select between the first and second data paths for exchanging information; (B) in response to an indication to establish a second path selection policy, establishing a second path selection policy that differs from the first path selection policy; and (C) for each of a second set of one or more I/O operations, applying the second path selection policy to select between the first and second data paths for exchanging information. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification