Legal claims defining the scope of protection, as filed with the USPTO.
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.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.