P
US9270741B2ExpiredUtilityPatentIndex 51

Namespace and storage management application infrastructure for use in management of resources in a storage system environment

Assignee: NETAPP INCPriority: Apr 28, 2006Filed: Dec 26, 2013Granted: Feb 23, 2016
Est. expiryApr 28, 2026(expired)· nominal 20-yr term from priority
Inventors:KLINKNER STEVEN RHACKWORTH BRIAN M
H04L 47/70G06F 17/30194G06F 17/30123G06F 17/30091H04L 67/1097H04L 67/10H04L 41/0233G06F 16/182G06F 16/183G06F 16/13G06F 16/166
51
PatentIndex Score
0
Cited by
26
References
18
Claims

Abstract

A namespace and storage management (NSM) application includes an infrastructure configured to enable efficient management of resources in a storage system environment. The NSM application executes on a NSM console and interacts with an NSM server to integrate namespace management and storage management in the storage system environment. The NSM server, in turn, interacts with one or more remote agents installed on host machines in the environment to convey application programming interface (API) function calls that enable remote management of the resources.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system configured to enable management of resources in a storage system, the system comprising:
 a management console computer executing a management application to interact with a management server and integrate namespace management and storage management, the management application having an infrastructure including at least one client presentation layer disposed over a library layer apportioned into at least one application programming interface (API) toolkit, the management application and API toolkit when executed operable to:
 perform API processing and communication with the management server to produce reusable components directed to namespace and storage management functions, the API toolkit cooperating with the client presentation layer to prompt a user for user credentials, to be provided on-demand, and perform an operation upon the resources in the storage system, and 
 invoke a first set of APIs on the management server that causes invocation of a second set of APIs on a remote agent executing on a namespace server and interacting with the management server to construct or change a pathname in a logical namespace, wherein the management server is configured to cooperate with the remote agent to acquire a copy of a namespace directory structure from a namespace server wherein the copy of the namespace directory is stored in a database associated with the management server and wherein after configuration of the copy of the namespace directory the configured copy of the namespace directory is transmitted back to the namespace server for storage. 
 
 
     
     
       2. The system of  claim 1  wherein the management application is further configured to receive an operation directed to the resources wherein the operation is managed by a plurality of worker threads. 
     
     
       3. The system of  claim 1  wherein the API toolkit comprises an API client layer that is embodied as an API library configured to generate APIs used to interact with the management server. 
     
     
       4. The system of  claim 3  wherein the resources include instances of managed objects and wherein the API toolkit further comprises a managed object layer configured to provide a plurality of templates that describe data and behavior associated with the managed objects, as well as interfaces that enable operations on those objects. 
     
     
       5. The system of  claim 1  wherein one worker thread interacts with the client presentation layer to control display of only one dialog at a time on the management console to obtain the user credentials from the user and the one worker thread to share the user credentials among other worker threads, where the user credentials from the one worker thread and the other worker threads are sent to at least a first server and a second server, with the purpose of performing the operation upon the resources. 
     
     
       6. The system of  claim 1  wherein the API toolkit comprises a credential handling layer configured to provide an on-demand credential collection function that collects the user credentials needed to access the resources. 
     
     
       7. A method for enabling management of resources in a storage system environment, the method comprising:
 executing a management application on a management console computer to initiate performance of an operation directed to a group of managed objects, the executed management application enabling interaction with a management server to integrate namespace management and storage management in the storage system environment, wherein the group of managed objects are units of storage hosted by a plurality of servers; 
 decomposing the operation into a plurality of routines directed to the group of managed objects; 
 spawning a plurality of threads of the management application to manage the plurality of routines; 
 determining that user credentials are not provided, where the user credentials are required to enable a user to access the group of managed objects; 
 in response to determining that the user credentials are not provided, prompting the user for the user credentials, to be provided on-demand, to enable execution of the plurality of routines by the management console computer upon the group of managed objects; and 
 executing an application programming interface (API) toolkit on the management console computer to handle API processing and communication with the management server, wherein the API toolkit includes a thread pool layer configured to utilize the plurality of threads to process the plurality of routines that is apportioned among the plurality of threads into manageable APIs directed to the group of managed objects; and 
 invoking a first set of APIs through the management console, where the first set of APIs cause invocation of a second set of APIs on a remote agent executing on at least one of the plurality of servers interacting with the management server to construct or change a pathname in a logical namespace. 
 
     
     
       8. The method of  claim 7  wherein the plurality of threads require the user credentials and one thread of the plurality of threads controls display of only one dialog at a time on the management console computer to obtain the user credentials from the user, wherein the one thread shares the user credentials among other threads, the other threads waiting on the dialog for the credentials, with the purpose of executing the plurality of routines upon the group of managed objects. 
     
     
       9. The method of  claim 7  wherein the management application comprises a namespace and storage management (NSM) application and wherein the management console computer comprises an NSM console. 
     
     
       10. The method of  claim 7  further comprising:
 sending manageable APIs to an NSM server configured to translate the manageable APIs into additional APIs that initiate action by the remote agent directed to the managed objects; and 
 forwarding the additional APIs to servers hosting the managed objects. 
 
     
     
       11. The method of  claim 10  further comprising:
 returning a failure notification to the NSM application indicating failure of an API due to user credentials that were not provided, before prompting the user for the user credentials. 
 
     
     
       12. The method of  claim 7  wherein the managed object comprises one or more shares. 
     
     
       13. The method of  claim 7 , further comprising:
 sending the routines to the management server, the management server including a processor configured to process the routines; 
 translating, by the management server, the routines into additional routines, the additional routines configured to initiate an action by the remote agent directed to the managed objects; and 
 forwarding the additional routines to the plurality of servers hosting the managed objects. 
 
     
     
       14. An apparatus configured to enable management of resources in a storage system environment, the apparatus comprising:
 means for executing a management application on a management console computer to initiate performance of an operation directed to a group of managed objects, the executed management application enabling interaction with a management server to integrate namespace management and storage management in the storage system environment, wherein the group of managed objects are units of storage hosted by a plurality of servers; 
 means for decomposing the operation into a plurality of routines directed to the group of managed objects; 
 means for spawning a plurality of threads of the management application to manage the plurality of routines; 
 means for determining that the user credentials are not provided, where the user credentials are required to enable a user to access the group of managed objects; 
 means for prompting the user for the user credentials, to be provided on-demand, to enable execution of the plurality of routines upon the group of managed objects; 
 means for executing an application programming interface (API) toolkit to handle API processing and communication with the management server, wherein the API toolkit includes a thread pool layer configured to utilize the plurality of threads to process the plurality of routines that is apportioned among the plurality of threads into manageable APIs directed to the group of managed objects; 
 means for invoking a first set of APIs through the management console, the first set of APIs invoking a second set of APIs on a remote agent executing on at least one of the plurality of servers that interacts with the management server to construct or change a pathname in a logical namespace; and 
 means for maintaining a result tracker by the thread pool layer, the result tracker configured to monitor progress of the manageable APIs and provide a completion notification summarizing thread operation results on the managed objects. 
 
     
     
       15. The apparatus of  claim 14  wherein the plurality of the threads require the user credentials and one thread controls display of only one dialog at a time on the management console computer to obtain the user credentials from the user in response to determining that the user credentials are not provided, wherein the one thread shares the user credentials among other threads, the other threads waiting on the dialog for the user credentials, with the purpose of executing the plurality of routines upon the group of managed objects. 
     
     
       16. The apparatus of  claim 14 , further comprising:
 means for sending the routines to the management server, the management server including a processor configured to process the routines; 
 means for translating the routines into additional routines, the additional routines configured to initiate an action by the remote agent directed to the managed objects; and 
 means for forwarding the additional routines to the plurality of servers hosting the managed objects. 
 
     
     
       17. A non-transitory computer readable storage medium containing executable program instructions executed by a processor, comprising:
 program instructions that execute a management application on a management console computer to initiate performance of an operation directed to a group of managed objects, the executed management application enabling interaction with a management server to integrate namespace management and storage management in the storage system environment; 
 program instructions that decompose the operation into a plurality of routines directed to the group of managed objects; 
 program instructions that spawn a plurality of threads of the management application to manage the plurality of routines; 
 program instructions that determine user credentials are not provided to permit a user to access the group of managed objects; 
 program instructions that prompt a user for the user credentials, to be provided on-demand, to perform the plurality of routines upon the group of managed objects; 
 program instructions that utilize an application programming interface (API) toolkit, of the management console, to handle API processing and communication with the management server, wherein the API toolkit includes a thread pool layer configured to utilize the plurality of threads to process the plurality of routines that is apportioned among the plurality of threads into manageable APIs directed to the group of managed objects; 
 program instructions that invoke a first set of APIs through the management console and on the management server, the first set of APIs causing invocation of a second set of APIs on a remote agent executing on at least one of the plurality of servers that interacts with the management server to construct or change a pathname in a logical namespace; and 
 program instructions that maintain a result tracker by the thread pool layer, the result tracker configured to monitor progress of the manageable APIs and provide a completion notifications summarizing thread operation results on the managed objects. 
 
     
     
       18. The non-transitory computer readable storage medium of  claim 17  wherein one thread controls display of only one dialog at a time on the management console computer to obtain the user credentials, wherein the one thread shares the user credentials among other threads, the other threads waiting on the dialog for the credentials, with the purpose of performing the plurality of routines upon the group of managed objects.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.