Dynamic Data and the CIM Repository
An important concept when retrieving dynamic (volatile) data is temporal correctness. For data to be temporally correct, it must be valid in relation to the time of the original query. When a managed object supports dynamic data, it is counterintuitive to import that information into the repository with no means of updating it. Imagine that we are responsible for monitoring the amount of free space on the disk drive partition of a network server. Because the network server is heavily utilized, the space remaining on the disk changes constantly during its day-to-day operation. Without a mechanism for keeping track of these changes, management applications that requested information on the amount of free space could end up retrieving out-of-date information. The solution designed by Microsoft is a WMI provider, a software component that reacts to requests for dynamic data with information that is temporally correct. (Chapter 12 covers WMI providers in detail.) Figure 4.1 shows an example architecture without using WMI providers for dynamic data, and Figure 4.2 demonstrates an architecture that uses WMI providers.
Figure 4.1 Example topology without any mechanism to supply dynamic data
Figure 4.2 Example topology in which product supplies WMI with dynamic data
Figure 4.2 shows a management application requesting instance or property data that is supplied dynamically. In this example, class and association information is held statically in the CIM repository. The example does not illustrate the surfacing of events or method invocation.
Figure 4.2 also demonstrates how WMI providers retrieve dynamic data directly from the managed object to respond to the request. The Windows Management service then returns all of the requested information to the client application. Although Figure 4.2 shows a preferred arrangement, it does not preclude storing instance information in the CIM repository, which even may be the preferred solution for situations in which the instance information is not expected to change during the lifetime of the managed object (that is, it is static). It is far more likely, however, that some information will change over the course of its lifetime. Therefore, WMI providers must keep track of these changes.
In the current release of WMI, the metadata (that is, the classes and associations) in the CIM repository describes local management information pertaining to the host operating system. In future releases, however, WMI technology may concern itself with distributed applications and management information from a variety of sources. Remember that the CIM repository is capable of storing information other than metadata from any source, local or otherwise, although this is not the preferred arrangement for current products instrumented in WMI.