System and method for an access layer application programming interface for managing heterogeneous components of a storage area network
First Claim
1. A storage area network (SAN), comprising one or more hardware devices configured to implement:
- a SAN access layer configured to discover a plurality of SAN objects and to gather information items from the plurality of SAN objects, wherein the plurality of SAN objects are coupled to a SAN fabric, wherein the SAN access layer includes an interface configured to provide access to a plurality of functions of the SAN access layer, and wherein the plurality of functions comprise one or more SAN management functions for performing one or more of discovery of the SAN objects, SAN security, or access configuration of the SAN;
a client application; and
a SAN access layer Application Programming Interface (API) that provides access to only a portion of the plurality of functions of the SAN access layer, wherein the SAN access layer API is configured to;
receive authentication information from the client application;
determine a level of access to the plurality of functions of the SAN access layer based on the authentication information, wherein each level of access is associated with a respective subset of the portion of the plurality of functions of the SAN access layer;
receive one or more request messages formatted according to the SAN access layer API from the client application;
determine if the one or more request messages correspond to the determined level of access;
if the one or more request messages correspond to the determined level of access;
generate one or more request messages formatted according to the interface of the SAN access layer from the one or more request messages formatted according to the SAN access layer API; and
transmit the one or more request messages formatted according to the interface of the SAN access layer to the SAN access layer;
wherein the SAN access layer is configured to perform one or more of the plurality of functions to manage the SAN in response to the one or more request messages formatted according to the interface of the SAN access layer.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of an application programming interface (API) for a Storage Area Network (SAN) access layer. A SAN may include a SAN access layer as an interface between SAN components and client applications. A SAN access layer API may be provided which enables a client application to access SAN access layer functionality such as storage management and configuration services. Through the SAN access layer API, a client application may invoke some or all of the functionalities of the SAN access layer. The SAN access layer may provide SAN information gathered from the SAN to the client application through the SAN access layer API. Embodiments of the SAN access layer API may provide security and licensing restrictions to client applications. Embodiments of the SAN access layer API may encapsulate message conversion and network transport functions so that client application developers are not required to implement these functions.
-
Citations
31 Claims
-
1. A storage area network (SAN), comprising one or more hardware devices configured to implement:
-
a SAN access layer configured to discover a plurality of SAN objects and to gather information items from the plurality of SAN objects, wherein the plurality of SAN objects are coupled to a SAN fabric, wherein the SAN access layer includes an interface configured to provide access to a plurality of functions of the SAN access layer, and wherein the plurality of functions comprise one or more SAN management functions for performing one or more of discovery of the SAN objects, SAN security, or access configuration of the SAN; a client application; and a SAN access layer Application Programming Interface (API) that provides access to only a portion of the plurality of functions of the SAN access layer, wherein the SAN access layer API is configured to; receive authentication information from the client application; determine a level of access to the plurality of functions of the SAN access layer based on the authentication information, wherein each level of access is associated with a respective subset of the portion of the plurality of functions of the SAN access layer; receive one or more request messages formatted according to the SAN access layer API from the client application; determine if the one or more request messages correspond to the determined level of access; if the one or more request messages correspond to the determined level of access; generate one or more request messages formatted according to the interface of the SAN access layer from the one or more request messages formatted according to the SAN access layer API; and transmit the one or more request messages formatted according to the interface of the SAN access layer to the SAN access layer; wherein the SAN access layer is configured to perform one or more of the plurality of functions to manage the SAN in response to the one or more request messages formatted according to the interface of the SAN access layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising one or more hardware devices configured to implement:
-
a client application; and a SAN access layer Application Programming Interface (API) configured to support interactions between the client application and a SAN access layer, the SAN access layer configured to discover a plurality of SAN objects and to gather information items from the plurality of SAN objects, wherein the plurality of SAN objects are coupled to a SAN fabric, wherein the SAN access layer includes an interface configured to provide access to a plurality of functions of the SAN access layer, wherein the plurality of functions comprise one or more SAN management functions for performing one or more of discovery of the SAN objects, SAN security, or access configuration of the SAN, wherein the SAN access layer API is configured to provide access to only a portion of the plurality of functions of the SAN access layer, and wherein the SAN access layer API is configured to; receive authentication information from the client application; determine a level of access to the plurality of functions of the SAN access layer based on the authentication information, wherein each level of access is associated with a respective subset of the portion of the plurality of functions of the SAN access layer; receive one or more request messages formatted according to the SAN access layer API from the client application; determine if the one or more request messages correspond to the determined level of access; if the one or more request messages correspond to the determined level of access; generate one or more request messages formatted according to the interface of the SAN access layer from the one or more request messages formatted according to the SAN access layer API; and transmit the one or more request messages formatted according to the interface of the SAN access layer to the SAN access layer; wherein the SAN access layer is configured to perform one or more of the plurality of functions to manage the SAN in response to the one or more request messages formatted according to the interface of the SAN access layer. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented method, comprising:
-
receiving one or more request messages at a SAN access layer Application Programming Interface (API), wherein the one or more messages are received from a client application and are formatted according to the SAN access layer API, wherein the SAN access layer API is configured to support interactions between the client application and a SAN access layer, wherein the SAN access layer is configured to discover a plurality of SAN objects and to gather information items from the plurality of SAN objects, wherein the plurality of SAN objects are coupled to a SAN fabric, wherein an interface of the SAN access layer is configured to provide access to a plurality of functions of the SAN access layer, wherein the SAN access layer API is configured to provide access to only a portion of the plurality of functions of the SAN access layer, and wherein the plurality of functions relate to SAN management functions for performing discovery or access configuration of the SAN; receiving authentication information from the client application; determining a level of access to the plurality of functions of the SAN access layer based on the authentication information, wherein each level of access is associated with a respective subset of the portion of the plurality of functions of the SAN access layer; determining if the one or more request messages correspond to the determined level of access; if the one or more request messages correspond to the determined level of access; the SAN access layer API generating one or more request messages formatted according to the interface of a SAN access layer from the one or more request messages formatted according to the SAN access layer API; and the SAN access layer API transmitting the one or more request messages formatted according to the interface of the SAN access layer to the SAN access layer, wherein the SAN access layer is configured to perform one or more of the plurality of functions to manage the SAN in response to the one or more request messages formatted according to the interface of the SAN access layer. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A tangible, computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement:
-
receiving one or more request messages at a SAN access layer Application Programming Interface (API), wherein the one or more messages are received from a client application and are formatted according to the SAN access layer API, wherein the SAN access layer API is configured to support interactions between the client application and a SAN access layer, wherein the SAN access layer is configured to discover a plurality of SAN objects and to gather information items from the plurality of SAN objects, wherein the plurality of SAN objects are coupled to a SAN fabric, wherein an interface of the SAN access layer is configured to provide access to a plurality of functions of the SAN access layer, wherein the SAN access layer API is configured to provide access to only a portion of the plurality of functions of the SAN access layer, and wherein the plurality of functions relate to SAN management functions for performing discovery and/or access configuration of the SAN; receiving authentication information from the client application; determining a level of access to the plurality of functions of the SAN access layer based on the authentication information, wherein each level of access is associated with a respective subset of the portion of the plurality of functions of the SAN access layer; determining if the one or more request messages correspond to the determined level of access; if the one or more request messages correspond to the determined level of access; the SAN access layer API generating one or more request messages formatted according to the interface of a SAN access layer from the one or more request messages formatted according to the SAN access layer API; and the SAN access layer API transmitting the one or more request messages formatted according to the interface of the SAN access layer to the SAN access layer, wherein the SAN access layer is configured to perform one or more of the plurality of functions to manage the SAN in response to the one or more request messages formatted according to the interface of the SAN access layer. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification