Automated firmware update management on huge big-data clusters

US10915311B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10915311-B2
Application numberUS-201916402942-A
CountryUS
Kind codeB2
Filing dateMay 3, 2019
Priority dateSep 30, 2014
Publication dateFeb 9, 2021
Grant dateFeb 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system for updating firmware comprises an interface and a firmware update determiner. The interface is for receiving a firmware update bundle, wherein the firmware update bundle comprises a pre-instruction and one or more firmware updates, and for receiving configuration information describing a network cluster. The firmware update determiner is for determining an indication to update a set of nodes of the cluster based at least in part on the configuration information, wherein the indication includes the pre-instruction(s) and the one or more firmware updates. The interface is further for providing the indication to update the set of nodes of the cluster and receiving a summary from each node of the set of nodes of the cluster.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for updating firmware, comprising: receiving, by one or more processors via an interface, a firmware update bundle, wherein the firmware update bundle comprises an initial instruction and one or more sets of firmware update pre-instructions and firmware updates, and the firmware update pre-instructions comprises checks to determine whether the firmware update in the one or more sets should be executed; and providing, by one or more processors, an update indication to a subset of one or more nodes on an update list, wherein: the subset of one or more nodes is determined based at least in part on a determination that each of the subset of one or more nodes are from a different appliance group of a network cluster; the subset comprises a plurality of nodes, and the subset is further determined based at least in part on a predetermined degree of logical separation between two of the plurality of nodes; the predetermined degree of logical separation corresponds to a criteria that at least two of the plurality of nodes are selected to be from different racks of hardware; the determination that each of the subset of one or more nodes are from the different appliance group is based at least in part on configuration information pertaining to the network cluster; nodes of the network cluster that are not within the subset of one or more nodes on the update list are not contemporaneously updated with a firmware update included in the firmware update bundle in connection with the update indication; and the network cluster comprises a plurality of nodes. 2. A system for updating firmware, comprising: one or more processors configured to: receive, via an interface, a firmware update bundle, wherein the firmware update bundle comprises an initial instruction and one or more sets of firmware update pre-instructions and firmware updates, and the firmware update pre-instructions comprises checks to determine whether the firmware update in the one or more sets should be executed; and provide an update indication to a subset of one or more nodes on an update list, wherein: the subset of one or more nodes is determined based at least in part on a determination that each of the subset of one or more nodes are from a different appliance group of a network cluster; the subset comprises a plurality of nodes, and the subset is further determined based at least in part on a predetermined degree of logical separation between two of the plurality of nodes; the predetermined degree of logical separation corresponds to a criteria that at least two of the plurality of nodes are selected to be from different racks of hardware; the determination that each of the subset of one or more nodes are from the different appliance group is based at least in part on configuration information pertaining to the network cluster; nodes of the network cluster that are not within the subset of one or more nodes on the update list are not contemporaneously updated with a firmware update included in the firmware update bundle in connection with the update indication; and the network cluster comprises a plurality of nodes; and a memory coupled to the one or more processors and configured to provide the one or more processors with instructions. 3. The system of claim 2 , wherein the checks are based on one of the following: system configuration, module configuration, or firmware version number. 4. The system of claim 2 , wherein the firmware updates comprised in the firmware update are bundled in a manner that aggregates one or more commands that would be duplicated if the firmware updates were individually applied. 5. The system of claim 2 , wherein the appliance group comprise one or more hardware appliances. 6. The system of claim 2 , wherein the one or more processors are configured to: select a node from among the plurality of nodes comprised in the network cluster; and determine whether the node is from a same group as any one or more nodes in the subset of one or more nodes from the network cluster that are on the update list. 7. The system of claim 6 , wherein the one or more processors are configured to receive the configuration information, the configuration information describes the network cluster, and a determination of whether the node is from the same group as any one or more nodes in the subset of one or more nodes from the network cluster that are on the update list is based at least in part on configuration information describing the network cluster. 8. The system of claim 7 , wherein the configuration information comprises one or more of the following: a previously stored configuration information, a hardware rack configuration information, a hardware group configuration information, a node configuration information, or a hardware module configuration information. 9. The system of claim 6 , wherein in response to a determination that the node is not from the same group as any one or more nodes in the subset of one or more nodes on the update list, is added to the update list. 10. The system of claim 2 , wherein the one or more processors are configured to determine an update indication for one or more nodes on the update list, and the update indication includes the firmware update bundle. 11. The system of claim 2 , wherein the firmware bundle is provided to the subset of the one or more nodes on an update list in connection with the update indication. 12. The system of claim 2 , wherein instructions that are included in the initial instruction and the firmware update pre-instructions are removed from the firmware update pre-instructions and executed only once with the initial instructions. 13. The system of claim 2 , wherein the firmware update bundle further comprises post-instructions and a final instruction. 14. The system of claim 13 , wherein a post-instruction of the post instructions comprises a configuration change. 15. The system of claim 13 , wherein the final instruction comprises a reboot instruction. 16. The system of claim 15 , wherein the firmware update bundle comprises only one reboot instruction. 17. The system of claim 2 , wherein at least two nodes in the subset of the one or more nodes on the update list have a predetermined degree of logical separation within the network cluster. 18. The system of claim 2 , wherein the one or more processors receive a summary from one or more nodes on the update list, wherein the summary comprises a status associated with execution of the pre-instruction and the firmware update. 19. The system of claim 2 , wherein each node in the subset of one or more nodes on the update list is in a different group as any other node in a set of nodes. 20. The system of claim 2 , wherein after the update indication is provided to the subset of the one or more nodes on the update list, the update list is iteratively updated based on a set of nodes from the network cluster to be updated. 21. A computer program product for updating firmware, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving, by one or more processors via an interface, a firmware update bundle, wherein the firmware update bundle comprises an initial instruction and one or more sets of firmware update pre-instructions and firmware updates, and the firmware update pre-instructions comprises checks to determine whether the firmware update in the one or more sets should be executed; a

Assignees

Inventors

Classifications

  • G06F8/654Primary

    using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10915311B2 cover?
A system for updating firmware comprises an interface and a firmware update determiner. The interface is for receiving a firmware update bundle, wherein the firmware update bundle comprises a pre-instruction and one or more firmware updates, and for receiving configuration information describing a network cluster. The firmware update determiner is for determining an indication to update a set o…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/654. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).