DETAILED ACTION
This communication is responsive to the application, filed June 13, 2024. Claims 1-20 are pending in this application.
Examined under the first inventor to file provisions of the AIA
The present application was filed on June 13, 2024, which is on or after March 16, 2013, and thus is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 3-8, 11-15, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over Joshi et al. (US 2017/0031671 A1) in view of Glade et al. (US 2022/0027221 A1) and further in view of Almeida et al. (US 2004/0205779 A1).
As per claim 1: A system, comprising:
at least one processor; and
at least one memory that stores executable instructions that, when executed by the at least one processor, facilitate performance of operations, comprising:
Joshi discloses [Fig. 1; 0018-0020] data storage system with storage zones/nodes including controllers with processor, volatile/non-volatile memory executing firmware/software for firmware updates.
while the node possesses the reservation, updating firmware for respective storage drives for the group of storage drives in parallel.
Joshi discloses [Fig. 4; 0048-0055] running firmware updates on available nodes. The storage nodes that need firmware updates are identified (possession reservation) and a determination is made for the best time to perform updates, such as downtime periods. It is understood that the storage drives for the node would receive the update in parallel once it is determined that firmware update is needed and downtime.
maintaining a computer cluster that comprises a group of nodes, wherein a node of the group of nodes comprises a group of storage drives, wherein the node is a member of a failure domain that comprises a subgroup of nodes of the group of nodes, wherein the failure domain is configured to preserve data stored in the failure domain when at least one node within the failure domain fails;
Joshi discloses [0018-0020; 0051] distributed replicated data storage system with storage zones including plurality of storage nodes connected via LAN. Each storage node includes plurality of storage media. The zones replicate data among nodes per policies. The replication policy ensures data availability even when zones/nodes are down. Joshi discloses preserving data availability, but fails to explicitly disclose preserving data in failure domain when a node within the failure domain fails. Glade discloses a similar system, which further teaches [Fig. 1B; 0031-0035] a plurality of failure domains, wherein the failure domain preserves data stored in the failure domain when at least one storage node within the failure domain fails.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Joshi with that of Glade. One would have been motivated to preserve data stored in the failure domain when one node fails because it allows ongoing data availability after impact of failure [Glade; 0032].
obtaining a reservation for the node, wherein the reservation permits the node to make the group of storage drives unavailable for data access, and wherein other nodes within the failure domain are unable to obtain the reservation while the node possesses the reservation; and
Joshi discloses [Fig. 4; 0048-0055] identifying nodes needing firmware updates, determines the best time based on downtime/resiliency, and checks if nodes available before running update on available nodes. Joshi further discloses updating run on available nodes during downtime, while other nodes maintain data availability. The maximum percentage nodes in zone updated at once, like round-robin scheduling. Joshi and Glade disclose obtaining nodes for firmware update, but fail to explicitly disclose obtaining reservation for a node. Almeida discloses a similar system, which further teaches [Figs. 2-3; 0021-0026] that one node is designated as a primary/boot node and the firmware update code and an update utility is provided to this primary node. This node determines the presence and configuration of the multi-node partition, creates an executable firmware update image, distributes the image to service processors of secondary nodes using a sideband link, and causes those nodes to reset and boot the firmware update image to update their firmware. This clearly shows partition-level control over which node is being updated and when (obtaining reservation for node), via the primary node and the sideband coordination among service processors.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the teachings of Joshi and Glade with that of Almeida. One would have been motivated to obtain a reservation for a node because it allows to update the firmware of other partition nodes by the boot node providing partition-level control over which node is being updated and when via the primary node [Almeida; 0026].
As per claim 3: The system of claim 1, wherein the node is a first node, and wherein the operations further comprise: updating the firmware for the node sequentially with updating the firmware for a second node of the failure domain.
Almeida discloses [0027] primary node serializes secondary node resets/updates in partition. The primary node can update its firmware before sequentially providing firmware updates for secondary nodes.
As per claim 4: The system of claim 3, wherein the second node obtains the reservation before updating the firmware for the second node.
Almedia discloses [0021-0026] the service processor of the secondary node obtains the firmware image from the primary node before updating the firmware of the secondary node.
As per claim 5: The system of claim 1, wherein the failure domain is a first failure domain, and wherein the operations further comprise: updating the firmware on the first failure domain in parallel with updating the firmware on a second failure domain.
Joshi discloses [0051] a round robin rolling update schedule is implemented that alternates between zones (e.g. parallel across zones). Similarly, a maximum percentage of nodes in a zone that can be updated at any time or within a particular period of time may be specified.
As per claim 6: The system of claim 5, wherein the reservation is a first reservation of the first failure domain, and wherein updating the firmware on the second failure domain comprises nodes of the second failure domain obtaining a second reservation of the second failure domain.
Joshi discloses [0051] a round robin rolling update schedule is implemented that alternates between zones (e.g. parallel across zones). Similarly, a maximum percentage of nodes in a zone that can be updated at any time or within a particular period of time may be specified. Furthermore, Almedia discloses [0021-0026] primary node controls reservations/resets per partition. It is clear that domain specific reservations can be performed from per-zone/partition control.
As per claim 7: The system of claim 1, wherein the operations further comprise: filtering out drives from the group of storage drives that fail to satisfy a health criterion, to produce a filtered group of storage drives, wherein the updating of the firmware is performed on the filtered group of storage drives.
Joshi discloses [Fig. 4; 0048-0055] filtering out drives/nodes from storage drives that fail to satisfy the firmware update criterion and updating the firmware on the filtered group or drives/nodes.
As per claims 8 and 11-14: Although claims 8 and 11-14 are directed towards a method claim, they are rejected under the same rationale as the system claims 1 and 3-8 above and are obvious variants that are fully taught by the cited references.
As per claims 15 and 18-20: Although claims 15 and 18-20 are directed towards a medium claim, they are rejected under the same rationale as the system claims 1 and 3-8 above and are obvious variants that are fully taught by the cited references.
Allowable Subject Matter
Claims 2, 9, 10, 16, and 17 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Claims 2, 9, and 16 are indicated to be allowable because they teach a specific sequence of counting partitions per drive, ordering by descending partition count, splitting into two portions, and rebalancing mirrors between those partitions before/after parallel firmware updates. Dependent claims 10 and 17 are indicated allowable because of their dependency from 9 and 16, respectively.
Conclusion
The following prior art made of record and not relied upon is cited to establish the level of skill in the applicant’s art and those arts considered reasonably pertinent to applicant’s disclosure. See MPEP 707.05(c).
· US 10,897,497 B2 – Sabath discloses cluster of nodes where a selected node is locked and existing workloads are migrated off, then code on that node is updated and the node is unlocked.
· US 8,495,618 B1 – Inbaraj discloses a high availability system with active/passive nodes where firmware on each node is updated in a coordinated, zero-downtime fashion by handling control between nodes and sequencing reboots.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JIGAR P PATEL whose telephone number is (571)270-5067. The examiner can normally be reached on Monday to Friday 10AM-6PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ashish Thomas, can be reached on 571-272-0631. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JIGAR P PATEL/Primary Examiner, Art Unit 2114