Patent ID: 8151021

Claim:
A clustered storage system, comprising: computerized nodes constructed and arranged to receive input/output (I/O) requests from a set of external host devices and perform I/O operations based on the I/O requests, each computerized node further being constructed and arranged to: run a first package of software to process the I/O operations, during an installation period after running the first package of the software for a period of time, install a second package of the software in place of the first package of the software, the second package of the software including a first version side and a second version side, the second package of the software further including a multiplexing stage which is constructed and arranged to steer I/O operations to either the first version side or the second version side; after the installation period and prior to running the second version side of the second package of the software, receive a group steering command by the multiplexing stage of the second package of the software installed on that computerized node, and in response to the group steering command and completing processing of I/O requests started before receipt of the group steering command, steer, via the multiplexing stage of the second package of the software, (i) subsequent I/O requests received from a first group of external host devices only to the first version side of the second package of the software on that computerized node and (ii) subsequent I/O requests received from a second group of external host devices only to the second version side of the second package of the software on that computerized node, the first and second groups being non-overlapping, at least one computerized node of the cluster running (i) the first package of the software or (ii) the first version side of the second package of the software at all times during the installation period; and after the installation period, the second version side of the second package of the software running on each computerized node of the cluster.