Upgrade analysis of a computer system
AssigneeVMware, Inc.
InventorsHui Li, Michael Toback
Life of this patent
Estimating the term…
Abstract
In a computer-implemented method for performing an upgrade analysis of a computer system, a version dependency compatibility acyclic graph defining component dependency and component version interoperability for a plurality of installed components of the computer system is accessed. Upgradable components of the installed components are determined based on the version dependency compatibility acyclic graph. An upgrade analysis request for an upgradable component of the plurality of installed components is received. Installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component are determined based on the version dependency compatibility acyclic graph.
Claims16
A computer-implemented method for performing an upgrade analysis of a computer system, the method comprising:
- accessing a version dependency compatibility acyclic graph defining component dependency and component version interoperability for a plurality of installed components of the computer system;
- determining at least one upgradable component of the plurality of installed components based on the version dependency compatibility acyclic graph, the determining the at least one upgradable component comprising:
- identifying an installed component having an upgradable version as an intersection set of a compatibility version set for a node of the version dependency compatibility acyclic graph representing the installed component other than a current version of the installed component;
- and
- provided the intersection set is not null, determining the installed component is an upgradable component;
- receiving an upgrade analysis request for an upgradable component of the plurality of installed components;
- identifying installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component based on the version dependency compatibility acyclic graph;
- and
- determining at least one upgrade path for the installed components of the plurality of installed components that are impacted by an upgrade of an upgradable component;
- and
- presenting the at least one upgrade path.
A non-transitory computer readable storage medium having computer readable program code stored thereon for causing a computer system to perform a method for performing an upgrade analysis of a computer system, the method comprising:
- accessing a version dependency compatibility acyclic graph defining component dependency and component version interoperability for a plurality of installed components of the computer system;
- determining at least one upgradable component of the plurality of installed components based on the version dependency compatibility acyclic graph, the determining the at least one upgradable component comprising:
- identifying an installed component having an upgradable version as an intersection set of a compatibility version set for a node of the version dependency compatibility acyclic graph representing the installed component other than a current version of the installed component;
- and
- provided the intersection set is not null, determining the installed component is an upgradable component;
- receiving an upgrade analysis request for an upgradable component of the plurality of installed components;
- identifying installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component based on the version dependency compatibility acyclic graph;
- determining at least one upgrade path for the installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component;
- and
- presenting the at least one upgrade path.
A hyper-converged appliance comprising:
- one or more data processors;
- one or more networking components;
- one or more data storage components having computer readable program code stored thereon for causing the one or more data processors to:
- access a version dependency compatibility acyclic graph defining component dependency and component version interoperability for a plurality of installed components of the hyper-converged appliance, wherein nodes of the version dependency compatibility acyclic graph represent the installed components, wherein directed edges connecting a pair of nodes identify an ancestor component and a dependent component, the directed edges comprising at least one version interoperability pair identifying compatible versions of the ancestor component and dependent component, wherein a version interoperability pair comprises a first value representing a version of the ancestor component and a second value representing a version of the dependent component, and wherein the at least one version interoperability pair comprises versions of the dependent component that are not less than an installed version of the dependent component;
- determine upgradable components of the installed components based on the version dependency compatibility acyclic graph by identifying an installed component having an upgradable version as an intersection set of a compatibility version set for a node of the version dependency compatibility acyclic graph representing the installed component other than a current version of the installed component, and provided the intersection set is not null, determining the installed component is an upgradable component;
- receive an upgrade analysis request for an upgradable component of the plurality of installed components;
- identify installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component based on the version dependency compatibility acyclic graph;
- determine at least one upgrade path for the installed components of the plurality of installed components that are impacted by an upgrade of the upgradable component;
- and
- present the at least one upgrade path.
Dependencies are inferred from the claim text.