Software modification by group to minimize breakage
First Claim
1. A method implemented by executing instructions stored in a memory of a computer, the method comprising:
- identifying a global set of hosts, comprising computers, to which it is desired to apply a software modification;
segmenting the hosts based on a semantic analysis of attributes selected from an attribute group including operating system name, operating system version, operating system patch-sets, and installed software applications, such that hosts in each segment share at least one attribute;
selecting a segment to syntactically analyze;
grouping the hosts of the selected segment into a plurality of clusters, wherein grouping the hosts into a plurality of clusters includes processing syntactic information about the hosts in the selected segment to identify the plurality of clusters, wherein the syntactic information is obtained from an inventory of information about files accessible by each host, and wherein the syntactic information is different from the attributes;
repeating the selecting the segment and the grouping until substantially all hosts in the global set of hosts have been grouped;
selecting a cluster of hosts; and
applying the software modification to the selected cluster of hosts using a baseline software modification procedure, wherein the applying comprises;
selecting a subset of hosts in the selected cluster of hosts;
attempting to modify the hosts in the subset using the baseline software modification procedure;
if the attempt is not successful, adjusting the baseline software modification procedure until the modification is successful, wherein the adjusting includes;
modifying at least one host of the selected cluster with an adjustment to the baseline software modification procedure, wherein the adjustment is determined by;
applying a nominal version of the software modification to the at least one host according to the baseline software modification procedure;
testing to determine whether the software modification is successful;
adjusting the baseline software modification procedure; and
repeating the testing and adjusting step until it is determined that the software modification is successfully applied on the at least one host;
determining whether the modified host operates according to desired characteristics;
based on determining that the modified host does not operate according to the desired characteristics, updating the adjustment; and
repeating the modifying, determining and adjustment updating step on the at least one host; and
repeating the selecting, attempting, and adjusting, until all hosts in the selected cluster of hosts have been modified with the software modification.
14 Assignments
0 Petitions
Accused Products
Abstract
A method is employed to group computers to facilitate application of a software modification to the computers. The method includes identifying a global set of computers to which it is desired to apply the software modification. Based on characteristics of software configurations of the computers of the identified global set, the computers of the identified global set are grouped into a plurality of clusters. Grouping the computers into a plurality of clusters includes processing syntactic information about the computers to identify the plurality of clusters and applying the software modification to the computers of the clusters. The software modification is applied with an adjustment for each cluster in an attempt to avoid software breakage of the computers of that cluster.
-
Citations
13 Claims
-
1. A method implemented by executing instructions stored in a memory of a computer, the method comprising:
-
identifying a global set of hosts, comprising computers, to which it is desired to apply a software modification; segmenting the hosts based on a semantic analysis of attributes selected from an attribute group including operating system name, operating system version, operating system patch-sets, and installed software applications, such that hosts in each segment share at least one attribute; selecting a segment to syntactically analyze; grouping the hosts of the selected segment into a plurality of clusters, wherein grouping the hosts into a plurality of clusters includes processing syntactic information about the hosts in the selected segment to identify the plurality of clusters, wherein the syntactic information is obtained from an inventory of information about files accessible by each host, and wherein the syntactic information is different from the attributes; repeating the selecting the segment and the grouping until substantially all hosts in the global set of hosts have been grouped; selecting a cluster of hosts; and applying the software modification to the selected cluster of hosts using a baseline software modification procedure, wherein the applying comprises; selecting a subset of hosts in the selected cluster of hosts; attempting to modify the hosts in the subset using the baseline software modification procedure; if the attempt is not successful, adjusting the baseline software modification procedure until the modification is successful, wherein the adjusting includes; modifying at least one host of the selected cluster with an adjustment to the baseline software modification procedure, wherein the adjustment is determined by; applying a nominal version of the software modification to the at least one host according to the baseline software modification procedure; testing to determine whether the software modification is successful; adjusting the baseline software modification procedure; and repeating the testing and adjusting step until it is determined that the software modification is successfully applied on the at least one host; determining whether the modified host operates according to desired characteristics; based on determining that the modified host does not operate according to the desired characteristics, updating the adjustment; and repeating the modifying, determining and adjustment updating step on the at least one host; and repeating the selecting, attempting, and adjusting, until all hosts in the selected cluster of hosts have been modified with the software modification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification