Dynamic firmware updating
First Claim
Patent Images
1. A non-transitory storage media encoded with code defining a data manager and firmware, the firmware including data volumes including respective data-object versions along with associated data-object identifiers (IDs) and data-object version IDs, the data manager being executable by a system to:
- in response to a request from a consumer for a dynamic data object, identify a most-recent version of the dynamic data object using a data-object ID for the dynamic data object and data-object version IDs for different versions of the dynamic data object;
store a callback handle for the consumer in association with the most-recent version of the dynamic data object; and
provide the most-recent version of the dynamic data object to the consumer so that the dynamic data object becomes an in-use dynamic data object,wherein another of the data-object versions is a static data object for which an update can only be put in use after a reboot following a writing of the updated static data object to a data volume of the firmware, the data volumes including an attribute for each respective data-object version of the data-object versions indicating whether the respective data-object version is static or dynamic.
2 Assignments
0 Petitions
Accused Products
Abstract
A dynamic firmware update process includes finding an updated version of a dynamic data-object in firmware memory. A callback handle for an in-use version of the dynamic data object in use by a consumer is identified. The consumer of updated version of dynamic data object is notified using the callback handle.
-
Citations
15 Claims
-
1. A non-transitory storage media encoded with code defining a data manager and firmware, the firmware including data volumes including respective data-object versions along with associated data-object identifiers (IDs) and data-object version IDs, the data manager being executable by a system to:
-
in response to a request from a consumer for a dynamic data object, identify a most-recent version of the dynamic data object using a data-object ID for the dynamic data object and data-object version IDs for different versions of the dynamic data object; store a callback handle for the consumer in association with the most-recent version of the dynamic data object; and provide the most-recent version of the dynamic data object to the consumer so that the dynamic data object becomes an in-use dynamic data object, wherein another of the data-object versions is a static data object for which an update can only be put in use after a reboot following a writing of the updated static data object to a data volume of the firmware, the data volumes including an attribute for each respective data-object version of the data-object versions indicating whether the respective data-object version is static or dynamic.
-
-
2. A system comprising:
-
a processor; and a non-transitory storage medium storing instructions executable on the processor to; find an updated version of a data object; determine whether the data object is a static data object or a dynamic data object; in response to determining that the data object is a static data object, decline to fulfill a consumer request for the static data object until a reboot of the system has occurred; in response to determining that the data object is a dynamic data object; identify a callback handle for an in-use version of the dynamic data object; and using the callback handle, notify a consumer of the dynamic data object of the existence of the updated version of the dynamic data object. - View Dependent Claims (5, 6, 7, 8)
-
-
3. A non-transitory storage media storing instructions that upon execution cause a system to:
-
receive a request for a data object from a consumer; determine whether the data object is a static data object or a dynamic data object; in response to determining that the data object is a static data object, decline to fulfill the request until a reboot of the system has occurred; in response to determining that the data object is a dynamic data object; identify in firmware memory a most-recent of plural versions of the dynamic data object; store a callback handle for the consumer in association with an identity of the dynamic data object; and provide the most-recent version to the consumer. - View Dependent Claims (4, 9)
-
-
10. A method comprising:
-
receiving, by at least one processor of a computing system, a first request for a first data object from a first consumer; receiving, by the at least one processor, a second request for a second data object from a second consumer; determining whether each of the first data object and the second data object is a static data object or a dynamic data object; in response to determining that the first data object is a static data object, decline to fulfill the request until a reboot of the system has occurred; in response to determining that the second data object is a dynamic data object; identifying in firmware memory a most-recent of plural versions of the dynamic data object; storing a callback handle for the second consumer in association with an identify of the dynamic data object; and providing the most-recent version to the second consumer. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification