The subject disclosure is generally directed towards caching property values in a sparse cache for use in translating notifications to contain previous and source property values, e.g., for use in SMI-S compliant notifications (modification indications). When a modification indication that needs a previous instance and source instance, but only the source instance is available, a cache is accessed to obtain the previous property value. The modification indication is translated to contain the previous and source instance, and output, e.g., to a client subscriber. The cache is updated with the property values of the source instance in anticipation of being needed for a subsequent modification indication of that property.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented method executed by one or more processors, the method comprising: populating a cache on a system memory with one or more initial source property values corresponding to a modification indication filter on at least one property of an object, by a pre-populate query logic component of a computing device; receiving, from a server, a modification indication of a change to the at least one property, the modification indication comprising one or more current source property values associated with the object, the one or more initial source property values further comprises one or more previous property values of the object before the change, wherein the one or more previous property values is an operational status; accessing the one or more previous property values from the cache, by the computing device; translating the modification indication into a Storage Management Initiative Specification (SMI-S) compliant translated modification indication, by the one or more processors, the translated modification indication comprising the one or more previous property values and the one or more current source property values; and sending the translated modification indication to a remote computing device associated with a client, by the computing device, to notify the client of the change associated with the modification indication filter.
A computer system monitors changes to storage system objects and notifies clients. It populates a cache with initial property values (like operational status) of these objects. When a change occurs, the system receives a notification from a server with current property values. It retrieves the previous property values from the cache, combines them with the current values, and translates this information into a standardized SMI-S message. Finally, it sends the SMI-S message to a client, alerting them about the change.
2. The computer-implemented method of claim 1 wherein the one or more previous property values is a first previous property value set, wherein the modification indication is a first modification indication; and further comprising: populating the cache with the one or more current source property values, wherein the one or more current source property values are cached for use if another change occurs; receiving a second modification indication of a second change to the at least one property, the second modification indication comprising one or more new current source property values associated with the object, wherein the one or more current source property values is a second previous property value set for the object; reading the second previous property value set from the cache; and translating the second modification indication into a second SMI-S compliant translated modification indication comprising the one or more new current source property values and the second previous property value set.
Building upon the system described in claim 1, when a first change to a property occurs, the system caches the *current* value of that property. If a second change occurs to the same property, the system receives a second notification with a new current value. It then retrieves the *previously cached* current value (now the "previous" value for the second change), combines it with the new current value, and generates a second SMI-S compliant message to notify the client of the second change. This allows the system to track a history of property changes.
3. The computer-implemented method of claim 1 further comprising: determining whether the change is a change of interest to the client; and performing the translation of the modification indication if the change is of interest, wherein the modification indication is not translated if the change is not of interest to the client.
Expanding upon the system described in claim 1, the system includes a filtering mechanism. Before translating a change notification, the system determines if the change is relevant to the client. If the change is of interest, it proceeds with the translation and notification process as described. If the change is not relevant, the translation and notification are skipped, reducing unnecessary network traffic and processing load.
4. The computer-implemented method of claim 1 , wherein outputting the modification indication further comprises: sending the translated modification indication to a plurality of client subscribers.
Further to the system described in claim 1, when the system sends the translated SMI-S notification, it doesn't just send it to one client. Instead, the system is capable of broadcasting or multicasting the translated notification to multiple clients (subscribers) simultaneously. This enables multiple clients to be notified about the same change efficiently.
5. The computer-implemented method of claim 1 further comprising: populating the cache with the one or more initial source property values, including the one or more previous property values, during system startup.
Expanding upon the system described in claim 1, the cache is pre-populated with the initial property values when the system starts up. This ensures that the cache has the necessary historical information immediately available, preventing delays in notification when the first change event occurs after the system is initialized.
6. The computer-implemented method of claim 1 , wherein populating the cache with the one or more initial source property values as the one or more previous property values further comprises: querying the server for the one or more initial source property values, by pre-populate query logic on the computing device.
Continuing from the system described in claim 1, the initial property values used to populate the cache are obtained by querying the server. A "pre-populate query logic component" on the computing device is responsible for issuing this query and retrieving the initial property values from the server. This ensures that the cache is populated with accurate and up-to-date information.
7. The computer-implemented method of claim 1 further comprising: sending the translated modification indication when operational status of a storage volume changes.
Extending the system described in claim 1, the system specifically sends a translated SMI-S notification when the operational status of a storage volume changes. This is a critical event that clients typically need to be notified about promptly, and the system prioritizes these notifications.
8. The computer-implemented method of claim 1 , wherein receiving the modification indication comprises communicating with a UI services layer.
Continuing from claim 1, the system receives the initial modification indication from the server through a user interface (UI) services layer. This suggests that the server's notifications might be mediated through or triggered by actions within a UI component.
9. A system comprising: a memory, the memory storing modification implementation logic, the modification implementation logic comprising modification indication handling logic; a system bus coupling the memory to one or more processors; the one or more processors executing the modification implementation logic to translate a modification indication received from a server, the modification indication comprising a source property value associated with an object, the modification indication corresponding to a change in a property of the object corresponding to a modification indication filter, the modification indication handling logic further configured to read a first previous property value from a sparse cache on the memory, wherein the previous property value is an operational status, translate the modification indication into a Storage Management Initiate Specification (SMI-S) compliant translated modification indication to notify a client of the change associated with the modification indication filter, and update the sparse cache with the source property value, the cached source property value is a second previous property value for use in an event of a subsequent change, the translated modification Indication comprising the first previous property value and the source property value.
This describes a system for translating modification indications related to storage object changes. The system includes memory storing code for handling these notifications, and a processor to execute that code. When a change occurs, the system receives a modification indication (including a source property value) from a server. The system reads the previous property value from a cache, combines it with the source property value, and translates this information into an SMI-S compliant message to notify a client. The source property value is then saved in the cache for use as a previous property value in future notifications. The previous property value is the operational status.
10. The system of claim 9 , the modification indication handling logic further configured to send the translated modification indication to a remote computing device associated with the client to notify the client of the change associated with the modification indication filter.
Building upon the system described in claim 9, the system sends the SMI-S compliant translated modification indication to a remote computing device associated with the client to notify the client of the change associated with the modification indication filter.
11. The system of claim 9 , wherein an SMI-S API layer receives the modification indication from the server via a user interface (UI) services layer.
Adding to the system described in claim 9, an SMI-S API layer receives the modification indication from the server via a user interface (UI) services layer. This specifies the architecture components involved in receiving change notifications.
12. The system of claim 9 , wherein an SMI-S API layer is configured to send the translated modification indication to the client, wherein the one or more processors further executes the modification implementation logic to determine whether the change is a change of interest to the client and perform the translation of the modification indication if the change is of interest to the client, wherein the modification indication is not translated if the change is not of interest to the client.
Expanding on the system described in claim 9, an SMI-S API layer is configured to send the translated SMI-S notification to the client. Furthermore, the processor executes logic to determine whether a change is of interest to the client. The translation is performed *only* if the change is relevant to the client; otherwise, translation is skipped, optimizing resource usage.
13. The system of claim 9 , wherein the source property value corresponds to at least one of: CIM_StoragePool::TotalManagedSpace, CIM_ComputerSystem::OperationalStatus, CIM_RedundancySet::RedundancyStatus, CIM_StoragePool::TotalManagedSpace, CIM_StorageVolume::OperationalStatus, CIM_LogicalDisk::OperationalStatus, CIM_FCPort::OperationalStatus, CIM_LogicalDevice::HealthState, CIM_ConcreteJob::PercentComplete, CIM_ConcreteJob::OperationalStatus, or CIM_ConcreteJob::JobState.
Continuing from claim 9, the 'source property value' that triggers notifications can include values for properties like Total Managed Space, Operational Status, Redundancy Status, Health State, Percent Complete, or Job State from various Common Information Model (CIM) classes (e.g., CIM_StoragePool, CIM_ComputerSystem, CIM_ConcreteJob). This specifies the types of properties the system can monitor.
14. The system of claim 9 , wherein the one or more processors further executes the modification implementation logic to query the server for one or more initial property values and pre-populate the sparse cache with the one or more initial property values.
Building upon the system described in claim 9, the processor executes logic to query the server for initial property values. It then uses these values to pre-populate the cache. This step ensures that the system has the necessary information available before changes begin occurring, enabling immediate and accurate notification.
15. The system of claim 9 , wherein the one or more processors further executes the modification implementation logic to update the sparse cache based upon instance creation or instance deletion.
Continuing from claim 9, the processor executes logic to update the sparse cache based upon instance creation or instance deletion. This means that when new storage objects are created or existing ones are deleted, the cache is updated to reflect these changes, ensuring the accuracy and relevance of cached data.
16. The system of claim 9 , wherein the modification indication is a first modification indication and the source property value is a first source property value, and wherein the one or more processors further executes the modification implementation logic to translate a second modification indication comprising a second source property value associated with the object, the modification indication handling logic further configured to read the second previous property value from the sparse cache, translate the second modification indication into a second translated modification indication comprising the second previous property value and the second source property value.
Expanding on the system described in claim 9, if another change occurs for the same object, the system receives a second modification indication containing a second source property value. The system retrieves the first source property value (now acting as the previous property value) from the cache. The system then translates the second modification indication into a second SMI-S compliant message, combining the previous and current property values for notification purposes.
17. One or more machine-readable storage devices comprising computer executable components, said components comprising a modification implementation logic component that, when executed, cause at least one processor to: populate a cache associated with a first computing device with one or more initial source property values corresponding to a modification indication filter associated with a property of an object; receive a modification indication of a change to the property of the object, the modification indication comprising a source instance associated with the object, the one or more initial source property values comprising a first previous property value of the object before the change, wherein the previous property value is an operational status; read the first previous property value corresponding to the source instance from the cache; on determining a translation of the modification indication is to be performed, (i) translate the modification indication into a Storage Management Initiative Specification (SMI-S) compliant translated modification indication comprising the first previous property value; (ii) update cached data to contain the source property value, the cached source property value is a second previous property value for use in an event of a subsequent change; and (iii) output the translated modification indication to a second computing device associated with a client to notify the client of the change associated with the modification indication filter.
This describes machine-readable storage (e.g., a hard drive) storing instructions that, when executed, cause a processor to implement modification indication handling. The processor populates a cache with initial property values. Upon receiving a change notification, it reads the previous property value from the cache, and if translation is required, translates the notification into SMI-S format, updates the cache with the new value, and sends the translated notification to a client. The previous property value is an operational status.
18. The one or more machine-readable storage devices of claim 17 wherein the modification implementation logic is further executed to cause the at least one processor to: determine whether the change is a change of interest to the client and perform the translation of the modification indication if the change is of interest to the client, wherein the modification indication is not translated if the change is not of interest to the client.
Building upon the description in claim 17, the machine-readable storage also includes instructions that cause the processor to determine whether a received change notification is relevant to a client. The translation and notification are performed *only* if the change is of interest; otherwise, these steps are skipped, optimizing system resources.
19. The one or more machine-readable storage devices of claim 17 wherein the modification implementation logic is further executed to cause the at least one processor to: populate the cache with one or more source property values based upon an instance creation in anticipation of a future modification; and remove data from the cache based upon an instance deletion.
Further to the description in claim 17, the machine-readable storage includes instructions that pre-populate the cache based on instance creation. Additionally, the cache is updated and data is removed from the cache when an instance is deleted, further ensuring the accuracy and efficiency of cache management.
20. The one or more machine-readable storage devices of claim 17 wherein the modification implementation logic is further executed to cause the at least one processor to: output a non-translated modification indication upon determining that a previous property value is not needed for the modification indication.
Further to the description in claim 17, the stored instructions also cause the processor to output a *non-translated* modification indication if a previous property value is not needed for that specific type of notification. This avoids unnecessary translation overhead when only the current value is relevant.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 13, 2013
May 16, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.