systems and methods are provided that may be implemented to deliver firmware for pre-boot updates of targeted information handling system device/devices using custom update capsules (e.g., such as custom unified extensible firmware interface capsules) and a separately-stored firmware update package that is remotely or locally stored. The custom update capsules may contain instruction payload information that may be used to determine location and desired components of the separately-stored firmware update package, and that also may be used to determine whether existing driver/drivers are to be retained in a firmware module in system memory or to be unloaded and replaced with a new (e.g., upgraded or downgraded) driver version in a firmware module in system memory as part of the firmware update.
|
17. An information handling system, comprising at least one processing device that is coupled to memory storing executable instructions configured to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system:
retrieving a custom unified extensible firmware interface (“UEFI”) update capsule from a source external to the information handling system, the uefi custom update capsule being formed from an original uefi capsule by removing one or more firmware images from the original uefi capsule and replacing the removed firmware images with instruction payload information that describes a specified remote or local storage location of a given firmware update package that includes the removed firmware images, the specified remote or local storage location being separate from the uefi custom update capsule;
reading the instruction payload information contained in the custom update capsule to determine the specified location of the given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including the one or more firmware images; and
retrieving the given firmware update package from the specified location determined from the specified firmware update package;
where the custom update capsule contains none of the firmware images contained in the firmware update package; and
where the custom update capsule has a format of a conventional uefi capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule.
1. A method of delivering firmware for pre-boot updates to an information handling system, comprising using at least one processing device of the information handling system to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system:
retrieving a custom unified extensible firmware interface (“UEFI”) update capsule from a source external to the information handling system, the uefi custom update capsule being formed from an original uefi capsule by removing one or more firmware images from the original uefi capsule and replacing the removed firmware images with instruction payload information that describes a specified remote or local storage location for a given firmware update package that includes the removed firmware images, the specified remote or local storage location being separate from the uefi custom update capsule;
reading the instruction payload information contained in the custom update capsule to determine the specified location of the given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including the one or more firmware images; and
retrieving the given firmware update package from the specified location determined from the specified firmware update package;
where the custom update capsule contains none of the firmware images contained in the firmware update package; and
where the custom update capsule has a format of a conventional uefi capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule.
21. An information handling system, comprising at least one processing device configured to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system:
retrieving a unified extensible firmware interface (“UEFI”) custom update capsule from a source external to the information handling system, the custom update capsule including instruction payload information and multiple driver version images contained therein, the uefi custom update capsule being formed from an original uefi capsule by inserting instruction payload information into the original uefi capsule, and the instruction payload information being indicative of a driver update action, a specified remote or local storage location of a given firmware update package, or both;
reading the instruction payload information contained in the custom update capsule to determine a driver update action, the determined driver update action being either one of:
unloading an existing firmware driver version from a system memory of the information handling system and loading a different upgraded or downgraded firmware driver version on to the system memory from the custom update capsule, or
leaving the existing firmware driver version resident on the system memory and not loading a different firmware driver version on to the system memory from the custom update capsule; and
performing the determined driver update action;
where the custom update capsule contains none of the firmware images contained in the firmware update package; and
where the custom update capsule has a format of a conventional uefi capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule.
9. A method of determining a firmware driver update action during pre-boot operation of an information handling system, comprising using at least one processing device of the information handling system to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system:
retrieving a custom unified extensible firmware interface (“UEFI”) update capsule from a source external to the information handling system, the custom update capsule including instruction payload information and multiple driver version images contained therein, the uefi custom update capsule being formed from an original uefi capsule by inserting instruction payload information into the original uefi capsule, and the instruction payload information being indicative of a driver update action, a specified remote or local storage location of a given firmware update package, or both;
reading the instruction payload information contained in the custom update capsule to determine a driver update action, the determined driver update action being either one of:
unloading an existing firmware driver version from a system memory of the information handling system and loading a different upgraded or downgraded firmware driver version on to the system memory from the custom update capsule, or
leaving the existing firmware driver version resident on the system memory and not loading a different firmware driver version on system memory from the custom update capsule; and
performing the determined driver update action;
where the custom update capsule contains none of the firmware images contained in the firmware update package; and
where the custom update capsule has a format of a conventional uefi capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule.
2. The method of
3. The method of
4. The method of
6. The method of
7. The method of
removing the one or more firmware images from the original uefi capsule and storing the removed firmware images as part of the given firmware update package in the specified remote or local storage location; and
replacing the removed firmware images with the instruction payload information that describes the specified remote or local storage location of the given firmware update package that includes the removed firmware images to form the uefi custom update package.
8. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
using a host processing device of the information handling system to:
read instruction payload information contained in the custom update capsule to determine a specified location of a given firmware update package configured for a target device of the information handling system that is currently connected to the at least one processing device of the information handling system and that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including one or more firmware images, and
retrieve the given firmware update package from the specified location determined from the specified firmware update package; and
using a processing device of the information handling system to execute the current firmware driver of the target device to load the firmware update into non-volatile memory of the target device after the determined driver update action has been performed.
15. The method of
16. The method of
18. The system of
19. The system of
a remote access controller processing device within the information handling system and configured to retrieve the custom update capsule across an external network from the source external to the information handling system, and to store the retrieved custom update capsule in non-volatile memory coupled to the remote access controller;
a host processing device within the information handling system and coupled to the remote access controller processing device by an internal communication bus of the information handling system, the host processing device being configured to:
receive the custom update capsule from the remote access controller, and
read the instruction payload information contained in the custom update capsule to determine the specified location of a given firmware update package, and
retrieve the given firmware update package from the determined specified location; and
a processing device configured to execute the current firmware driver of the target device to load one or more of the firmware images of the firmware update package into non-volatile memory of the target device.
22. The system of
query the system memory to determine the identity of the firmware driver version currently resident on the system memory; and
determine the driver update action based at least in part on the determined identity of the firmware driver version currently resident on the system memory by applying the metadata operator to the determined identity of the firmware driver version currently resident on the system memory to determine the driver update action.
23. The system of
24. The system of
25. The system of
a host processing device configured to:
read instruction payload information contained in the custom update capsule to determine a specified location of a given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including one or more firmware images configured for a target device of the information handling system that is currently connected to the at least one processing device of the information handling system, and
retrieve the given firmware update package from the specified location determined from the specified firmware update package; and
a processing device configured to execute the current firmware driver of the target device to load one or more of the firmware images of the firmware update package into non-volatile memory of the target device after the determined driver update action has been performed.
26. The system of
|
This invention relates generally to information handling systems and, more particularly, to firmware delivery for information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Many paradigms exist for designing firmware updates. Examples include platform “compatibility bits” used by updates. Another example is the practice of updating a device with monolithic binary images. These conventional firmware update practices do not always handle the network adapter (and other peripheral) product line complexities. Features are added and subtracted by suppliers over time and sometimes deployed across a product line with one firmware update package. However, the simplicity of this conventional practice for customers creates complexity for the implementers. This complexity is sometimes handled by operating system (OS)-based updates where vendor written logic corresponding to the update in progress can handle the changes and re-designs of the new package. However, this is not possible with pre-boot updates handled by device firmware loaded only from the existing firmware on a given device such as network adapter.
A similar problem can occur with firmware updates to other information handling system devices, e.g., such as RAID controller, BIOS, complex programmable logic devices (CPLDs), and other Firmware Management Protocol (FMP) based devices of an information handling system 100. Moreover, driver firmware downgrades may not be possible for similar reasons, e.g. such as when a newly loaded Version N+1 of driver firmware may be released with problems, necessitating a firmware downgrade to an older firmware version such as Version N−1 of driver firmware which includes one or more payload components that cannot be applied to a device while it is running the existing Version N+1 driver firmware. These problems can result in product defects and lack of out-of-band firmware update capability.
For example, in
As further shown in
Using the methodology of
Disclosed herein are systems and methods that may be implemented to deliver firmware for pre-boot updates of targeted information handling system device/s using custom update capsules and a separately-stored firmware update package that is remotely or locally stored. The custom update capsules may contain instruction payload information that may be used in one embodiment to determine location and desired components of the separately-stored firmware update package, and that also may be used to determine whether existing driver/s are to be retained in a UEFI Firmware module in system memory or to be unloaded and replaced with a new (e.g., upgraded or downgraded) driver version in a UEFI Firmware module in system memory as part of the firmware update. In one embodiment, the custom update capsules may be custom UEFI capsules that are created by modifying a conventional UEFI capsule format (i.e., that is compliant with UEFI 2.4 specification or other UEFI specification version) by stripping out or removing firmware update payload images from a conventional UEFI capsule and replacing the update payload images with instruction payload information as metadata in the custom UEFI capsule. The stripped or removed update payload images may be stored in a separate location from the UEFI capsule (e.g., optionally external to the information handling system) and information detailing this update storage location may be encapsulated within the instruction payload information of the metadata together with the driver metadata which may be a part of the UEFI Custom capsule.
In one embodiment, a combination of the above-described custom UEFI-based capsule format together with a minimized update package storage footprint (e.g., meaning minimized use of remote access controller Flash space) that is provided by virtue of separate (e.g., external) update payload image storage may be advantageously implemented (e.g., by pre-boot software) to provide a variety of features including, but not limited to, BareMetal OS and firmware deployment with minimal footprint on system non-volatile memory (e.g., Flash) space for information handling systems such as servers, the ability to dynamically handle a variety of different types and/or combinations of firmware update actions (e.g., existing driver unload as well as new driver load actions), ability to provide driver update packages via a custom UEFI capsule that supports updates for both legacy (i.e., non-UEFI compatible) systems and UEFI-compatible systems, etc.
In one exemplary embodiment, a custom UEFI capsule may be provided with a firmware update that is applicable to all systems (i.e., both non-UEFI 2.4 compatible systems and UEFI 2.4 compatible systems) that include a specific target device, such as a network adapter, etc. Non-UEFI 2.4 compatible systems (such as UEFI 2.3 compatible systems) do not have the capability of consuming UEFI 2.4 capsules or custom capsules of the disclosed systems and methods. The non-UEFI 2.4 compatible systems not having that capability cannot interpret the UEFI 2.4 or custom capsules, and consequently might assume that only firmware image is supplied and would be expecting it at a specific location inside the update package for applying. Using the disclosed systems and methods, stripping and separate storage of firmware update payload images (as described herein) may be employed to enable the non-UEFI 2.4 compatible systems to find the separately stored payload firmware update package, e.g., by using xml schemas defined to allow non-UEFI 2.4 compatible lifecycle management logic (e.g., executing as FMP-based pre-boot software on a system Host processor) to locate the separately stored firmware update payload images for updates.
In one exemplary embodiment the disclosed systems and methods may employ a custom update capsule having an inserted instruction metadata payload that includes locator information (e.g., in locator table format) that describes where particular removed firmware update payload/s (i.e., binary image/s) have been stored elsewhere (e.g., such as on network storage or other type of external storage, or on local storage such as Embedded Flash Storage, USB, Harddisk, etc.), as well as identifier information (e.g., in identifier table format) that describes or otherwise indicates (e.g., by metadata operator/s) what version/s of driver is capable of programming the removed firmware update payload/s into non-volatile memory of a given target device of the information handling system. Using the disclosed systems and methods, custom update capsules may be implemented to enable out-of-band firmware update capability, i.e., in a manner that is not possible with conventional UEFI capsule formats.
In one embodiment, an instruction metadata payload may be configured within a custom UEFI capsule to be locatable by pre-boot software (e.g., executed by a host processor or other processing device of the information handling system) by virtue of placement of the instruction payload metadata in an expected capsule location that is consistent with pre-existing UEFI capsule update package format. Such identifier information (e.g., identifier table) may be created in one embodiment to handle all possible upgrade and download cases or scenarios in order to allow the pre-existing pre-boot software to decide whether to retain, reload or replace the resident drivers during the update operation. For example, such identifier information may be advantageously employed to enable successful pre-boot update in cases where the source unmodified conventional UEFI capsule of a pre-boot update calls for the “latest” (and non-loaded) driver/drivers to be installed or used even in the case of a firmware downgrade where the latest driver in the conventional UEFI capsule may not be appropriate or functional for the downgrade.
The disclosed systems and methods may be advantageously implemented to support a variety of different types of update packages having different types and/or combinations of required update actions including, for example, firmware version downgrades and updates that require first unloading of an existing field-deployed resident driver version from a UEFI module in system memory prior to loading a different driver version into the UEFI module in system memory. Thus, the disclosed systems and methods may be implemented in one embodiment to enable pre-boot software to determine what update actions are required based on the locator information and the identifier information of the instruction metadata payload of a custom update capsule. For example, in one embodiment pre-boot software executing on a processing device may implement an update operation by first querying a target device to determine the version of a driver currently loaded on the system memory (e.g., in UEFI Firmware module), and then determining the next action to take based on the instruction payload information (e.g., instruction metadata payload) given the determined version of the currently resident driver version. For example, in a case where a different driver version is to be loaded into system memory from a custom capsule, the pre-boot software may read a driver metadata operator/operators inserted in the custom capsule to understand the next steps or actions to perform, e.g., such as existing driver version on resident firmware of target device is to be unloaded from system memory and replaced by a newer or otherwise different driver version loaded from the custom capsule, no change is to be made to the resident driver version which is to be left on system memory, etc.
In a further embodiment, firmware update payload/s may be optionally stored on a network share or other external source rather than stored in embedded storage (e.g., such as remote access controller storage) and/or rather than in other internal storage or memory of an information handling system that is subject of a pre-boot update. Using this implementation, an entire firmware image payload may be stored in a remote location (e.g., separate and external to the information handling system chassis and separate from the custom capsule) for rollback, backup and/or update of the firmware images (e.g., optionally together with operating system (OS) driver pack). In such an embodiment, instruction metadata payload (e.g., that includes locator information such as locator table) contained in the custom capsule may be used by the pre-boot software to find and retrieve the firmware update payload images from the external source so that the pre-boot software can apply the firmware updates on one or more device/s of the information handling system. In such an embodiment, firmware update payload/payloads may be stored externally or remotely rather than on an embedded device or other internal device within the information handling system. This means that the size of internal memory (e.g., embedded flash memory) does not need to grow with each new firmware device being added to the system as is the case with conventional firmware update technology.
In a further embodiment, remote or external storage of firmware update payloads may be implemented to avoid the need to create and deliver identical firmware payloads in different formats which would use an unreasonable amount of the limited embedded storage space used for out-of-band updates, while at the same time enabling unloading and replacement of resident drivers when needed to accomplish a given firmware update task in a manner that is not possible with conventional UEFI capsules because no logic is detailed in the existing UEFI specification for determining how and when to unload resident drivers to be replaced. Thus, using the disclosed systems and methods, different update options (e.g., such as Downgrade the Driver, Do not Update the Driver, Upgrade the Driver) may be selected based on the characteristics of a particular update task and requirements for a particular driver version, i.e., in a manner that is possible using conventional UEFI capsules.
In one respect, disclosed herein is a method of delivering firmware for pre-boot updates to an information handling system, including using at least one processing device of the information handling system to perform the following steps in an out-of-band manner prior to booting the information handling system: retrieving a custom update capsule from a source external to the information handling system; reading instruction payload information contained in the custom update capsule to determine a specified location of a given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including one or more firmware images; and retrieving the given firmware update package from the specified location determined from the the specified firmware update package.
In another respect, disclosed herein is a method of determining a firmware driver update action during pre-boot operation of an information handling system, including using at least one processing device of the information handling system to perform the following steps in an out-of-band manner prior to booting the information handling system: retrieving a custom update capsule from a source external to the information handling system, the custom update capsule including instruction payload information and multiple driver version images contained therein; and reading the instruction payload information contained in the custom update capsule to determine a driver update action; and then performing the determined driver update action. In one embodiment, the determined driver update action may be either one of: unloading an existing firmware driver version from a system memory of the information handling system and loading a different upgraded or downgraded firmware driver version on to the system memory from the custom update capsule, or leaving the existing firmware driver version resident on the system memory and not loading a different firmware driver version on system memory from the custom update capsule.
In another respect, disclosed herein is an information handling system, including at least one processing device configured to perform the following steps in an out-of-band manner prior to booting the information handling system: retrieving a custom update capsule from a source external to the information handling system; reading instruction payload information contained in the custom update capsule to determine a specified location of a given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including one or more firmware images; and retrieving the given firmware update package from the specified location determined from the the specified firmware update package.
In another respect, disclosed herein is an information handling system, including at least one processing device configured to perform the following steps in an out-of-band manner prior to booting the information handling system: retrieving a custom update capsule from a source external to the information handling system, the custom update capsule including instruction payload information and multiple driver version images contained therein; reading the instruction payload information contained in the custom update capsule to determine a driver update action; and then performing the determined driver update action. In one embodiment, the determined driver update action being either one of: unloading an existing firmware driver version from a system memory of the information handling system and loading a different upgraded or downgraded firmware driver version on to the system memory from the custom update capsule, or leaving the existing firmware driver version resident on the system memory and not loading a different firmware driver version on to the system memory from the custom update capsule.
Still referring to
It will be understood that the embodiment of
As further shown in
Still referring to
As an example, in one embodiment, host processing device 110 may execute FMP-based pre-boot software 411 to check the identity of the existing version of the target device driver (Example Intel NIC FMP Driver). If the Instruction Metadata Payload 590 in the Custom capsule 417 has an operator “>”, the FMP-based pre-boot software 411 may be executed to check if the UEFI Driver version in the UEFI Custom capsule 417 is greater than the existing target device driver in the system and, only if so, then load the new Intel UEFI FMP NIC Driver into system memory 421 from Custom Capsule contents.
As further shown in
Returning to
Next, in step 606 host processing device 410 may execute FMP-based pre-boot software 411 in an out-of-band manner (i.e., separate from and outside a host OS of system 400 prior to system and OS booting) to retrieve contents of custom UEFI capsule 417 from RAC embedded memory 419. Host processing device 410 may also use the FMP-based logic in step 607 to obtain the identity of resident driver version currently loaded on the target device, as well as to read instruction metadata payload information 590 of the retrieved custom UEFI capsule contents in step 608, e.g., including identifier information 592 (e.g., identifier Table 1 of
Host processing device 410 may then execute FMP-based pre-boot software 411 in step 609 to analyze the identifier information 592 of capsule 417 in view of the identity of the existing driver version on the target device to determine the disposition of the resident (e.g., field-deployed) driver version existing on the target device by determining whether the resident driver version should be kept in system memory 421 or replaced in system memory 421 with a new (e.g., upgrade or downgrade) driver version 518 from custom UEFI capsule 417, e.g., using metadata operators as described in relation of
Host processing device 410 may execute FMP-based pre-boot software 411 in step 610 to analyze the locator information 494 to determine the identity and location of the particular binary firmware image 453 to retrieve from the firmware update package 452 in a manner described in relation to
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
It will be understood that one or more of the tasks, functions, or methodologies described herein (e.g., including those performed by host processing device 410 and remote access controller 425) may be implemented by a computer program of instructions (e.g., computer readable code such as firmware code or software code) embodied in a non-transitory tangible computer readable medium (e.g., optical disk, magnetic disk, non-volatile memory device, etc.), in which the computer program comprising instructions are configured when executed (e.g., executed on a processing device of an information handling system such as CPU, controller, microcontroller, processor, microprocessor, FPGA, ASIC, or other suitable processing device) to perform one or more steps of the methodologies disclosed herein. A computer program of instructions may be stored in or on the non-transitory computer-readable medium residing on or accessible by an information handling system for instructing the information handling system to execute the computer program of instructions. The computer program of instructions may include an ordered listing of executable instructions for implementing logical functions in the information handling system. The executable instructions may comprise a plurality of code segments operable to instruct the information handling system to perform the methodology disclosed herein. It will also be understood that one or more steps of the present methodologies may be employed in one or more code segments of the computer program. For example, a code segment executed by the information handling system may include one or more steps of the disclosed methodologies.
While the invention may be adaptable to various modifications and alternative forms, specific embodiments have been shown by way of example and described herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. Moreover, the different aspects of the disclosed systems and methods may be utilized in various combinations and/or independently. Thus the invention is not limited to only those combinations shown herein, but rather may include other combinations.
Vidyadhara, Sumanth, Butcher, Wade Andrew, Liles, Terry Wayne, Madala, Raveendra Babu, Venkataramudu, Raghavendra
Patent | Priority | Assignee | Title |
10216524, | Jun 22 2017 | Dell Products, LP | System and method for providing fine-grained memory cacheability during a pre-OS operating environment |
10409619, | Mar 22 2017 | OMNISSA, LLC | Persistent enrollment of a computing device using vendor autodsicovery |
10445082, | Dec 29 2014 | OMNISSA, LLC | Persistent mobile device enrollment |
10445106, | Mar 22 2017 | OMNISSA, LLC | Persistent enrollment of a computing device using a BIOS |
10459742, | Jul 20 2017 | Dell Products, LP | System and method for operating system initiated firmware update via UEFI applications |
10521216, | Jan 17 2017 | Oracle International Corporation | Unified extensible firmware interface updates |
10572151, | Jul 10 2017 | Dell Products, LP | System and method to allocate available high bandwidth memory to UEFI pool services |
10620965, | Mar 22 2017 | OMNISSA, LLC | Internet recovery of a windows configuration |
10635819, | Mar 22 2017 | OMNISSA, LLC | Persistent enrollment of a computing device based on a temporary user |
10740109, | Mar 22 2017 | OMNISSA, LLC | Configuring a computing device using managed operating system images |
10831897, | Jul 14 2017 | DELL PRODUCTS, L P | Selective enforcement of secure boot database entries in an information handling system |
10860307, | Apr 24 2019 | DELL PRODUCTS, L.P. | Fragmented firmware storage system and method therefor |
10915331, | Aug 04 2017 | Qualcomm Incorporated | Partitioning flash and enabling flexible boot with image upgrade capabilities |
10936295, | Nov 01 2018 | Dell Products L.P. | Software update system |
11036408, | Mar 26 2017 | Oracle International Corporation | Rule-based modifications in a data storage appliance monitor |
11093321, | Mar 12 2020 | Dell Products L.P. | System and method for automatically updating an information handling system upon system crash |
11126725, | Jun 12 2019 | Dell Products L.P. | Secure firmware capsule update using NVMe storage and method therefor |
11150884, | Mar 31 2020 | Hewlett Packard Enterprise Development LP | Device driver update images |
11709684, | Mar 22 2017 | OMNISSA, LLC | Configuring a computing device using managed operating system images |
11726767, | Sep 30 2020 | MOBILEYE VISION TECHNOLOGIES LTD | Updating software elements with different trust levels |
11809851, | Jun 10 2021 | Dell Products L.P. | System and method for managing update installation lockdown policies for firmware devices and driver-managed devices |
11829478, | Jan 08 2019 | Oracle International Corporation | Full server recovery architecture for cloud bare metal instances |
12067388, | Sep 30 2020 | Mobileye Vision Technologies Ltd. | Updating software elements with different trust levels |
12159133, | Oct 21 2022 | Dell Procucts L.P. | Information handling system with a dynamic basic input/output system configuration map |
ER8688, |
Patent | Priority | Assignee | Title |
7213152, | Feb 14 2000 | Intel Corporation | Modular bios update mechanism |
7765371, | Oct 29 2007 | Dell Products L.P. | Method and apparatus for full backups in advance |
8387112, | Oct 29 2008 | Juniper Networks, Inc.; Juniper Networks, Inc | Automatic software update on network devices |
8473738, | Aug 30 2007 | Mode of information transmission and complex protection | |
20040015953, | |||
20040236932, | |||
20070169079, | |||
20070244987, | |||
20080195796, | |||
20090037899, | |||
20090249120, | |||
20100268925, | |||
20110035741, | |||
20110078293, | |||
20110289350, | |||
20110296404, | |||
20130031538, | |||
20130125107, | |||
20130205063, | |||
20130311982, | |||
20140115571, | |||
20140130034, | |||
20140258700, | |||
20140359592, | |||
20140372560, | |||
20150242198, | |||
20150248283, | |||
20150301821, |
Date | Maintenance Fee Events |
Oct 25 2016 | ASPN: Payor Number Assigned. |
Apr 22 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 18 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 29 2019 | 4 years fee payment window open |
May 29 2020 | 6 months grace period start (w surcharge) |
Nov 29 2020 | patent expiry (for year 4) |
Nov 29 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 29 2023 | 8 years fee payment window open |
May 29 2024 | 6 months grace period start (w surcharge) |
Nov 29 2024 | patent expiry (for year 8) |
Nov 29 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 29 2027 | 12 years fee payment window open |
May 29 2028 | 6 months grace period start (w surcharge) |
Nov 29 2028 | patent expiry (for year 12) |
Nov 29 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |