Method and apparatus for invoking network agent functions using a hash table
First Claim
1. A method for providing information from a local agent, said method comprising the steps of:
- (a) receiving an information request from a remote requester attached to an information processing network, said information request containing a plurality of parameters;
(b) constructing a hash key from said plurality of parameters;
(c) using said hash key to access an entry in a hash function table, said hash function table containing a plurality of entries, each said entry containing a respective function pointer to a corresponding one of a plurality of functions which is invoked to obtain information responsive to said information request;
(d) executing a function identified by said function pointer to obtain information responsive to said information request; and
(e) transmitting said information responsive to said information request to said requester via said information processing network.
1 Assignment
0 Petitions
Accused Products
Abstract
An agent receives requests containing multiple parameters over an information processing network. The process of obtaining information responsive to the request varies depending on the values of the parameters. The agent constructs a hash key using the parameter values, and uses the hash key to index an entry in a hash function table, the entry having a set of parameter values and a pointer corresponding to the function used to service a request for the indicated parameter values. The agent uses the pointer to call the function to service the request Preferably, the parameters may include wild cards, which are expanded into multiple requests, from which multiple hash keys are derived and multiple functions are called. The agent is preferably part of a larger distributed storage management program, comprising a central manager and a separate agent in each of multiple host computer systems. Each agent independently collects data from the network(s) attached to its host, analyzes the network(s), builds data structures representing the network(s), and uses the data structures to service information requests from the central manager. The manager collates the data from different agents to produce a coherent view of the network.
-
Citations
15 Claims
-
1. A method for providing information from a local agent, said method comprising the steps of:
-
(a) receiving an information request from a remote requester attached to an information processing network, said information request containing a plurality of parameters;
(b) constructing a hash key from said plurality of parameters;
(c) using said hash key to access an entry in a hash function table, said hash function table containing a plurality of entries, each said entry containing a respective function pointer to a corresponding one of a plurality of functions which is invoked to obtain information responsive to said information request;
(d) executing a function identified by said function pointer to obtain information responsive to said information request; and
(e) transmitting said information responsive to said information request to said requester via said information processing network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
accessing an entry in a wild card parameter table, said entry specifying a plurality of parameter values associated with said wild card parameter, constructing a plurality of expanded information requests, each request of said plurality of expanded information requests corresponding to a respective one of said plurality of parameter values associated with said wild card parameter; and
performing steps (b) through (d) for each of said plurality of expanded information requests, each respective hash key constructed from a plurality of parameters being constructed using the respective one of said plurality of parameter values associated with said wild card parameter.
-
-
3. The method for providing information from a local agent of claim 1, further comprising the steps of:
-
constructing a structured data representation of an entity to be monitored, said structured data representation comprising a plurality of records, said records being linked in a relationship corresponding to a configuration of said entity to be monitored; and
accessing said structured data representation to obtain information responsive to said request.
-
-
4. The method for providing information from a local agent of claim 3, wherein said entity to be monitored is a storage network comprising a plurality of data storage devices, there being at least one said record corresponding to each respective data storage device.
-
5. The method for providing information from a local agent of claim 1, wherein said information request contains one of a set of commands, said set comprising a plurality of types of commands, and wherein said step of using said hash key to access an entry in a hash function table comprises:
-
(i) selecting a first hash function table from a plurality of hash function tables, said selection being dependent on the type of command contained in said information request; and
(ii) using said hash key to access an entry in said first hash function table.
-
-
6. The method for providing information from a local agent of claim 5, wherein said set of commands contains a first command having a first number of parameters and a second command having a second number of parameters, said first number being different from said second number.
-
7. The method for providing information from a local agent of claim 5, wherein a first hash key function is used to construct a hash key for accessing an entry in said first hash function table, and a second hash key function is used to construct a hash key for accessing an entry in a second hash function table, said first and second hash key functions being different.
-
8. A computer program product for providing information from a local agent, said computer program product including a plurality of computer executable instructions stored on a computer readable medium, wherein said instructions, when executed by said computer, cause the computer to perform the steps of:
-
(a) receiving an information request from a remote requester attached to an information processing network, said information request containing a plurality of parameters;
(b) constructing a hash key from said plurality of parameters;
(c) using said hash key to access an entry in a hash function table, said hash function table containing a plurality of entries, each said entry containing a respective function pointer to a corresponding one of a plurality of functions which is invoked to obtain information responsive to said information request;
(d) executing a function identified by said function pointer to obtain information responsive to said information request; and
(e) transmitting said information responsive to said information request to said requester via said information processing network. - View Dependent Claims (9, 10, 11, 12, 13, 14)
accessing an entry in a wild card parameter table, said entry specifying a plurality of parameter values associated with said wild card parameter;
constructing a plurality of expanded information requests, each request of said plurality of expanded information requests corresponding to a respective one of said plurality of parameter values associated with said wild card parameter; and
performing steps (b) through (d) for each of said plurality of expanded information requests, each respective hash key constructed from a plurality of parameters being constructed using the respective one of said plurality of parameter values associated with said wild card parameter.
-
-
10. The computer program product of claim 8, wherein said instructions, when executed by said computer, further cause the computer to perform the step of:
-
constructing a structured data representation of an entity to be monitored, said structured data representation comprising a plurality of records, said records being linked in a relationship corresponding to a configuration of said entity to be monitored; and
accessing said structured data representation to obtain information responsive to said request.
-
-
11. The computer program product of claim 10, wherein said entity to be monitored is a storage network comprising a plurality of data storage devices, there being at least one said record corresponding to each respective data storage device.
-
12. The computer program product of claim 8, wherein said information request contains one of a set of commands, said set comprising a plurality of types of commands, and wherein said step of using said hash key to access an entry in a hash function table comprises:
-
(i) selecting a first hash function table from a plurality of hash function tables, said selection being dependent on the type of command contained in said information request; and
(ii) using said hash key to access an entry in said first hash function table.
-
-
13. The computer program product of claim 12, wherein said set of commands contains a first command having a first number of parameters and a second command having a second number of parameters, said first number being different from said second number.
-
14. The computer program product of claim 12, wherein a first hash key function is used to construct a hash key for accessing an entry in said first hash function table, and a second hash key function is used to construct a hash key for accessing an entry in a second hash function table, said first and second hash key functions being different.
-
15. A method for servicing a remote request in a computer system, comprising the steps of:
-
(a) receiving a request from a remote requester attached to an information processing network, said request containing a plurality of parameters;
(b) constructing a hash key from said plurality of parameters;
(c) using said hash key to access an entry in a hash function table, said hash function table containing a plurality of entries each said entry containing a respective function pointer to a corresponding one of a plurality of functions which is invoked to obtain information responsive to said information request; and
(d) executing a function identified by said function pointer to service said request.
-
Specification