Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
AssigneeVMware, Inc.
InventorsDaniel Kerry Hiltgen, Christopher Patrick Devine
Life of this patent
Estimating the term…
Abstract
An approach to managing software components in a datacenter having virtualized components includes maintaining a suitable data construct for representing the virtualized elements. In embodiments, virtualized elements include knowledge relating to instantiations of virtual machines. Management of software components includes traversing a data representation of the datacenter, and assessing the compatibility of the software component with components in the datacenter that relate to the target of the software component.
Claims21
A method of managing software in a datacenter comprising operating a computer to perform steps of:
- storing a first data structure representative of at least a portion of a datacenter having a distributed computer architecture, the datacenter comprising a plurality of components including a physical server, a virtualization layer executing on the physical server and a plurality of virtual machines instantiated by the virtualization layer, the first data structure comprising a representation of at least the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer and dependency relationships for the plurality of components including the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer;
- changing a software component on a target component from the plurality of components in the datacenter including operating the computer to perform steps of:
- receiving target information identifying the target component;
- receiving task information representative of a desired change for the target component for installing the software on the target component;
- using at least the first data structure and the target information to identify related components in the plurality of components that have a dependency relationship with the target component from the dependency relationships;
- using at least the task information to identify any affected components from among the related components in the plurality of components, wherein affected components reflect a set of possible conflicts that occur due to the installing of the software;
- when a first set of one or more affected components are identified and the set of possible conflicts cannot be resolved, then outputting information for the set of possible conflicts that cannot be resolved for the first set of one or more affected components;
- when a second set of one or more affected components have been identified and the set of possible conflicts are resolvable, then performing:
- adding the second set of one or more affected components to a second data structure including dependency relationships determined from the first data structure to allow the change of the software component to be performed on the target component;
- transforming the second data structure into a workflow to change the software component on the target component by retrieving obtaining a set of action scripts from a set of feature bundles associated with the second set of one or more affected components, wherein the set of action scripts is added to the workflow based on the dependency relationships in the second data structure;
- and
- remediating the second set of one or more affected components to resolve the set of possible conflicts by executing the action scripts in the workflow, each action script performing an action to resolve the possible conflicts.
A non-transitory computer-readable storage medium containing executable program instructions configured to cause a computer system to:
- store a first data structure representative of at least a portion of a datacenter having a distributed computer architecture, the datacenter comprising a plurality of components including a physical server, a virtualization layer executing on the physical server and a plurality of virtual machines instantiated by the virtualization layer, the first data structure comprising a representation of at least the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer and dependency relationships for the plurality of components including the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer;
- change a software component on a target component from the plurality of components in the datacenter, wherein the computer system is operated to:
- receive target information identifying the target component;
- receive task information representative of a desired change for the target component for installing the software on the target component;
- identify related components in the plurality of components that have a dependency relationship with the target component from the dependency relationships, using at least the first data structure and the target information;
- identify any affected components from among the related components in the plurality of components, using at least the task information, wherein affected components reflect a set of possible conflicts that occur due to the installing of the software;
- display information for the set of possible conflicts that cannot be resolved for a first set of the one or more affected components when the first set of one or more affected components are identified and the set of possible conflicts cannot be resolved;
- and
- when a second set of one or more affected components have been identified and the set of possible conflicts are resolvable, perform:
- add the related components and the affected components to a second data structure including dependency relationships determined from the first data structure to allow the change of the software component to be performed on the target component;
- transform the second data structure into a workflow to change the software component on the target component by retrieving obtaining a set of action scripts from a set of feature bundles associated with the second set of one or more affected components, wherein the set of action scripts is added to the workflow based on the dependency relationships in the second data structure;
- and
- remediate the second set of one or more affected components to resolve the set of possible conflicts by executing the action scripts in the workflow, each action script performing an action to resolve the possible conflicts.
An apparatus configured to manage software in a datacenter comprising:
- a computer processing element;
- a video display element;
- and
- a data storage element having stored thereon a first data structure representative of at least a portion of a datacenter having a distributed computer architecture, the datacenter comprising a plurality of components including a physical server, a virtualization layer executing on the physical server and a plurality of virtual machines instantiated by the virtualization layer, the first data structure comprising a representation of at least the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer and dependency relationships for the plurality of components including the virtualization layer and the plurality of virtual machines instantiated by the virtualization layer,
- the data storage element further having stored thereon computer executable instructions for controlling the computer processing element to:
- change a software component on a target component from the plurality of components in the datacenter, wherein the computer processing element is further controlled to:
- receive target information identifying the target component;
- receive task information representative of a desired change for the target component for installing the software on the target component;
- identify related components in the plurality of components that have a dependency relationship with the target component from the dependency relationships, using at least the first data structure and the target information;
- identify any affected components from among the related components in the plurality of components, using at least the task information, wherein affected components reflect a set of possible conflicts that occur due to the installing of the software;
- display information for the set of possible conflicts that cannot be resolved for a first set of the one or more affected components when the first set of one or more affected components are identified and the set of possible conflicts cannot be resolved;
- and
- when a second set of one or more affected components have been identified and the set of possible conflicts are resolvable, perform:
- add the related components and the affected components to a second data structure including dependency relationships determined from the first data structure to allow the change of the software component to be performed on the target component;
- transform the second data structure into a workflow to change the software component on the target component by retrieving obtaining a set of action scripts from a set of feature bundles associated with the second set of one or more affected components, wherein the set of action scripts is added to the workflow based on the dependency relationships in the second data structure;
- and
- remediate the second set of one or more affected components to resolve the set of possible conflicts by executing the action scripts in the workflow, each action script performing an action to resolve the possible conflicts.
Dependencies are inferred from the claim text.