Claims
- 1. In a computing environment, a system for providing system information to a client, comprising,
a plurality of providers, each provider corresponding to a source of system information and including a provider access interface; a repository, the repository including data that identifies which of the providers provide system information that a client may request; and a manager that isolates the client from the providers, including an access interface that receives a client request for system information, the manager configured to:
a) access the repository to determine a set of at least one provider that is needed to satisfy the request; b) communicate with each provider in the set via the provider access interface thereof to obtain the system information needed to satisfy the request; c) return data corresponding to the system information received to satisfy the client request.
- 2. The system of claim 1 wherein the manager communicates with a plurality of providers corresponding to a plurality of sources of the system information, and wherein at least one of the sources communicates via a protocol that is different from a protocol of at least one other of the sources.
- 3. The system of claim 1 wherein the data returned to the client is provided in an instance of an object.
- 4. The system of claim 1 wherein the manager receives data from at least two of the providers and aggregates the data into an aggregated response to the client request.
- 5. The system of claim 5 wherein at least some of the data is dynamic data obtained by one of the providers.
- 6. The system of claim 5 wherein at least some of the data comprises static data obtained by the manager.
- 7. The system of claim 5 wherein at least some of the data comprises static data obtained by the manager, and wherein the manager communicates with the repository to obtain the static data.
- 8. The system of claim 1 wherein the manager includes a filtering mechanism for filtering selected data received from at least one of the providers.
- 9. The system of claim 1 wherein the client request comprises a single query, and wherein the manager separates the client request into a plurality of separate requests, and for each separate request, accesses the repository to determine whether a provider is needed to satisfy the separate request, and if so, to communicate with that provider to obtain the requested system information.
- 10. The system of claim 9 wherein at least one of the separate requests corresponds to static data maintained in the repository.
- 11. A computer-implemented method, comprising:
receiving a query from a client seeking system information, the query including object class information; isolating the client from each source of information needed to respond to the query, including:
a) locating a class corresponding to the object class information; b) decomposing the query into properties of the class, and, for each property:
determining if the property has a property value therefor stored in a static source or if the property value is obtainable through a provider, and if the property value is stored in a static source, retrieving the value from that source, and if the property value is obtainable through a provider, communicating with that provider to obtain the value, c) placing the property values into a result set, and d) returning the result set to the client.
- 12. The method of claim 11 wherein placing the property values into a result set comprises, writing property data into an object instance.
- 13. A computer-readable medium having computer-executable instructions for performing the method of claim 11.
- 14. A computer-implemented method, comprising:
receiving a request for system information from a client; and isolating the client from each source of the system information, including:
a) determining that the request for system information corresponds to a plurality of sources of the system information; b) communicating with each of the plurality of sources of the system information to obtain data corresponding to the information requested; c) aggregating the data into aggregated system information that satisfies the request; and d) providing the aggregated system information to the client in response to the request.
- 15. The method of claim 14, wherein aggregating the data includes writing property values into a data structure.
- 16. The method of claim 14 further comprising, filtering selected data received from at least one of the sources of system information.
- 17. The method of claim 14 further comprising, receiving extra information from a source of system information that is extra relative to the system information that the client has requested, and filtering the extra information such that the system information returned to the client corresponds to the request.
- 18. The method of claim 14, wherein at least one of the sources of the system information provides system information that is static, and at least one other of the sources provides system information that is dynamic.
- 19. The method of claim 14, wherein the request for system information comprises a complex query, and further comprising, reducing the complexity of the complex query into a simplified query.
- 20. The method of claim 19, wherein a superset of data is received from at least one source of system information in response to the simplified query, and further comprising, filtering the superset of data into a set of data that satisfies the complex query.
- 21. The method of claim 14, wherein at least two of the sources of system information provide conflicting data, and further comprising, resolving the conflicting data.
- 22. The method of claim 21, wherein the sources of system information are represented by hierarchically-arranged objects, and wherein resolving the conflicting data includes selecting data based on a hierarchy of the objects.
- 23. The method of claim 14, wherein the data from one source of system information includes information indicating that at least one data property should be obtained from another source of system information.
- 24. The method of claim 23, wherein the other source of system information is a dynamic provider.
- 25. The method of claim 23, wherein the other source of system information is a static provider.
- 26. The method of claim 14 wherein the sources of system information are represented by objects, and wherein an association object provides an association between at least two of the objects representing respective sources of system information.
- 27. A computer-readable medium having computer-executable instructions for performing the method of claim 14.
- 28. A computer-implemented method, comprising:
receiving a query from a client requesting system information of a set of at least one managed system device; and satisfying the query while isolating the client from the system devices, including:
a) communicating with a provider to receive data corresponding to the query, the data including additional information with respect to the query; b) removing the additional information in the data; and c) returning a response to the client corresponding to the data with the additional information removed therefrom.
- 29. The method of claim 28 further comprising, communicating with at least one other provider to receive other data corresponding to the query, and aggregating the data received from each provider.
- 30. The method of claim 28 wherein the provider is incapable of responding with the information based on the complexity of the query, and further comprising, reducing the complexity of the query to receive the data from the provider.
- 31. A computer-readable medium having computer-executable instructions for performing the method of claim 28.
- 32. A computer-implemented method, comprising:
receiving a client query for requested information; communicating the query to at least one source of data on behalf of the client such that the client is isolated from each source of the data; receiving data from each source; and verifying that the data received from the at least one source corresponds to the query, and if so, returning the data as requested information in response to the client query, and if not, adjusting the data so as to correspond to the query.
- 33. The method of claim 32 wherein the data received from the at least one source does not correspond to the query, and wherein adjusting the data comprises filtering the data.
- 34. A computer-readable medium having computer-executable instructions for performing the method of claim 32.
- 35. A computer-implemented method, comprising:
receiving a client query; determining a capability level of a provider of information for satisfying the query; providing a request for information to the source based on the capability level thereof; receiving data from the at least one source; and returning information corresponding to the data in response to the client query.
- 36. The method of claim 35 wherein determining the capability level of the provider includes, providing the client query to the provider and evaluating a response from the provider.
- 37. The method of claim 36, wherein if the response indicates the provider cannot handle the query, determining the capability level of the provider includes simplifying the query.
- 38. A computer-readable medium having computer-executable instructions for performing the method of claim 35.
- 39. A computer-implemented method, comprising:
(a) receiving a query from a client; (b) passing a request for information corresponding to the query as a current request to a provider of information; (c) receiving a response from the provider, the response indicating whether the provider was capable of handling the current request for information; and
(i) if the provider was not capable of handling the current request for information, simplifying the request for information from the provider into a new request, passing the new request to the provider as the current request, and returning to step (c); and (ii) if the provider was capable of handling the current request for information, returning a result to the client corresponding to data provided by the provider.
- 40. The computer-readable medium of claim 39 further comprising, filtering the data provided by the provider.
- 41. The computer-readable medium of claim 39 further comprising, verifying the data provided by the provider.
- 42. The computer-readable medium of claim 39 further comprising, maintaining information indicative of a level of capability of the provider for handling the request for information.
- 43. A computer-readable medium having computer-executable instructions for performing the method of claim 39.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This is a continuation of U.S. patent application Ser. No. 09/020,146 filed Feb. 6, 1998.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09020146 |
Feb 1998 |
US |
Child |
10076166 |
Feb 2002 |
US |