Patent ID: 7536687
Filing Date: 2009-05-19
Classification: G06F

Abstract:
1. A method of installing embedded software packages on storage arrays on a network, said storage arrays being of the type having at least two storage processors controlling operation thereof, one storage processor being a controlling storage processor and the other storage processor being a peer storage processor, the method comprising: a) transmitting an embedded software package comprised of a capability package and an enabler package embedded within the capability package to at least one storage array on a network for installation thereon; b) determining if an existing version of the capability package on the storage array is installed; c) if the existing version of the capability package is not installed, installing the transmitted embedded software package according to a predetermined installation routine thereof, said predetermined routine comprising: d) if the existing version of the capability package is installed, determining if it is newer than software packages installed prior to a predetermined transition time, and does not include an enabler package; e) if the existing capability package is newer than a version of a software package installed prior to said transition time, installing the transmitted embedded package according to the predetermined installation routine; f) if the existing capability package is a software package installed prior to said transition time, determining if the enabler package is also being installed, and if the enabler package is being installed, installing the transmitted embedded software package according to the predetermined installation routine; g) if the enabler package is not being installed, copying the transmitted embedded software package to an install location on the array for installation thereon; h) determining if the installation of the embedded software package is to occur on the controlling storage processor; i) if the installation of the embedded software package is not to occur on the controlling storage processor, installing the transmitted embedded software package according to the predetermined installation routine; and j) if the installation of the embedded software package is to occur on the controlling storage processor, storing the enabler package on persistent storage in the array, updating a master software list on the array to list the enabler package, and installing the transmitted embedded software package in the controlling storage processor according to the predetermined installation routine.