Management of compatibility of software products installed on a user's computing device
First Claim
1. A computer-implemented method for enabling determination of whether a first software product is compatible with a second software product, wherein each software product includes a plurality of physical components, the method comprising:
- combining, by computer, physical components of the first software product into a first logical grouping based on a first common attribute, wherein the first logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product;
combining physical components of the second software product into a second logical grouping based on a second common attribute;
in response to determining that the second logical grouping is not compatible with the first logical grouping based on a corresponding entry of a compatibility matrix, identifying an alternate version of the second logical grouping that is compatible with the first logical grouping; and
returning information about the alternate version of the second logical grouping to enable an installation action to be performed for the alternate version of the second logical grouping.
1 Assignment
0 Petitions
Accused Products
Abstract
Physical components that share common attributes in a software product are combined into logical groupings. A product matrix also lists logical groupings that are included into each software product listed in the product matrix. A compatibility matrix indicates whether any two logical groupings listed in the product matrix are compatible. When a new product is provided for an installation, the compatibility matrix is consulted to determine whether any two logical groupings of the new product and installed product are compatible. An installation can proceed or be terminated based on the compatibility determination.
57 Citations
16 Claims
-
1. A computer-implemented method for enabling determination of whether a first software product is compatible with a second software product, wherein each software product includes a plurality of physical components, the method comprising:
-
combining, by computer, physical components of the first software product into a first logical grouping based on a first common attribute, wherein the first logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product; combining physical components of the second software product into a second logical grouping based on a second common attribute; in response to determining that the second logical grouping is not compatible with the first logical grouping based on a corresponding entry of a compatibility matrix, identifying an alternate version of the second logical grouping that is compatible with the first logical grouping; and returning information about the alternate version of the second logical grouping to enable an installation action to be performed for the alternate version of the second logical grouping. - View Dependent Claims (2, 3)
-
-
4. A method for determining whether a first software product is compatible with a second software product, wherein each software product includes a plurality of physical components, and the plurality of components may be grouped into logical groupings, the method comprising:
-
receiving in a computing device a computer readable medium containing; physical components of the first software product combined into a first logical grouping based on a first common attribute, wherein the first logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product, physical components of the second software product combined into a second logical grouping based on a second common attribute, and a compatibility matrix indicating whether the first logical grouping is compatible with the second logical grouping; determining whether the first product is installed on the computing device; in response to determining that the second logical grouping is not compatible with the first logical grouping based on a corresponding entry of the compatibility matrix, identifying an alternate version of the second logical grouping that is compatible with the first logical grouping; and returning information about the alternate version of the second logical grouping to enable an installation action to be performed for the alternate version of the second logical grouping. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A system for determining whether a software product provided for an installation on a client device is compatible with an installed software product that is installed on the client device, the product provided for an installation and the installed product include a plurality of physical components, the system comprising:
a processing mechanism configured to; electronically generate a product matrix, which includes a plurality of software products and logical groupings included into each software product, wherein a respective logical grouping includes a plurality of physical components combined together based on a common attribute, and wherein the logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product; electronically generate a matrix of installed products, which includes at least one software product installed on the client device and logical groupings included into the at least one software product; electronically determine whether the product matrix is the most up-to-date product matrix and electronically provide the most up-to-date matrix and the matrix of installed products to a version management module; electronically determine which products are installed on the client device; electronically determine which logical groupings are included in each installed product; electronically determine which logical groupings are included in the product provided for an installation; electronically determine whether any of the logical groupings included in the product provided for the installation are incompatible with any of the logical groupings of the installed software product; in response to electronically determining that a second logical grouping included in the product provided for the installation is incompatible with a first logical grouping of the installed software product, electronically determine if alternate versions of the second logical grouping included in the product provided for the installation are compatible with the first logical grouping of the installed software product; and electronically generate compatibility results for the product provided for installation and the installed software product to allow an installation action to be performed.
-
10. A system for determining whether a software product provided for an installation on a client device is compatible with an installed software product that is installed on the client device, the product provided for an installation and the installed product include a plurality of physical components, the system comprising:
-
a processor; a product matrix including a plurality of software products and logical groupings included into each software product, wherein a respective logical grouping includes a plurality of physical components combined together based on a common attribute, and wherein the logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product; a matrix of installed products including at least one software product installed on the client device and logical groupings included into the at least one software product; and a physical configuration module adapted to electronically determine whether the product matrix is the most up-to-date product matrix and to electronically provide the most up-to-date matrix and the matrix of installed products to a version management module; the version management module adapted to electronically determine which products are installed on the client device, to electronically determine which logical groupings are included in each installed product, to electronically determine which logical groupings are included in the product provided for an installation, to electronically determine whether any of the logical groupings included in the product provided for the installation is incompatible with any of the logical groupings of the installed software product, in response to electronically determining that a second logical grouping included in the product provided for the installation is incompatible with a first logical grouping of the installed software product, to electronically determine if alternate versions of the second logical grouping included in the product provided for the installation are compatible with the first logical grouping of the installed software product, and to electronically determine compatibility results for the product provided for installation and the installed software product to allow an installation action to be performed. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer program product comprising:
a computer-readable medium having computer program code embodied therein for enabling determination of whether a first software product is compatible with a second software product, each software product includes a plurality of physical components, the computer program code adapted to; combine the physical components of the first software product into a first logical grouping based on a first common attribute, wherein the first logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product; combine physical components of the second software product into a second logical grouping based on a second common attribute; and in response to determining that the second logical grouping is not compatible with the first logical grouping based on a corresponding entry of a compatibility matrix, identify an alternate version of the second logical grouping that is compatible with the first logical grouping; and return information about the alternate version of the second logical grouping to enable an installation action to be performed for the alternate version of the second logical grouping.
-
16. A method for determining whether a software product provided for an installation on a client device is compatible with a software product installed on the client device, each product provided for an installation and the installed product include a plurality of physical components, the method comprising:
-
receiving in a computing device a computer readable medium containing the plurality of physical components of the product provided for installation and a compatibility matrix indicating whether a logical grouping of the physical components that are included in the installed product are compatible with a logical grouping of physical components in the product provided for an installation, wherein the logical grouping corresponds to an intermediate abstraction level between a level corresponding to a physical component and a level corresponding to a software product; using the compatibility matrix to determine whether any of the logical groupings included in the installed product is incompatible with any of the logical groupings included in the product provided for installation; in response to determining that a second logical grouping included in the product provided for the installation is incompatible with a first logical grouping of the installed software product, using the compatibility matrix to identify an alternate version of the second logical grouping included in the product provided for installation that is compatible with the first logical grouping included in the installed product; and returning information about the alternate version of the second logical grouping to enable an installation action to be performed for the alternate version of the second logical grouping.
-
Specification