IP Library Granted Patent US 8,793,652
Granted Patent B2
US 8,793,652 · App. 13/491,241 · Granted Jul 29, 2014

Designing and cross-configuring software

Inventors: Daniel C. Berg (Holly Springs, NC); Tamar Eilam (New York, NY); Michael H. Kalantar (Chapel Hill, NC); Alexander Kofman (Haifa, IL); Fabio A. Oliveira (White Plains, NY); Florian Rosenberg (New York, NY); Gilad Saadoun (Haifa, IL)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,793,652
App. No.
13/491,241
Granted
Jul 29, 2014
Kind
B2
Abstract

Various embodiments create a cross-configuration software module for cross-configuring software entities. In one embodiment, a first set of requirements and at least a second set of requirements are obtained. Each of the first and second set of requirements identify at least one of a set of software entities and a set of hardware components required to be present on at least one system including software entities to be cross-configured. At least one set of operations is obtained. The set of operations includes at least one executable instruction that configures a first software entity with a second software entity. A first configuration definition is generated including at least the first set of requirements and the at least one set of operations. A second configuration definition is generated including at least the second set of requirements. The first and second configuration definitions are stored within a cross-configuration software module.

Claims (57)

1. A method of creating a cross-configuration software module for cross-configuring software entities, the method comprising:

obtaining a first set of requirements and at least a second set of requirements, wherein each of the first and second set of requirements identify at least one set of software entities required to be present on at least one system comprising software entities to be cross-configured wherein the set of software entities identified by at least one of the first set of requirements and the second set of requirements comprises at least one composable software bundle, wherein a composable software bundle is a cloud independent description of software that captures a set of aspects needed to install and configure the software in a virtual machine;

obtaining at least one set of operations, wherein the at least one set of operations comprising at least one executable instruction that configures at least a first software entity with at least a second software entity;

generating a first configuration definition comprising at least the first set of requirements and the at least one set of operations, and a second configuration definition comprising at least the second set of requirements; and

storing the first and second configuration definitions within a cross-configuration software module, wherein the cross-configuration software module is a self-contained software package configured to automatically cross configure software entities, within systems satisfying the set of requirements in the first and second configuration definitions, to interact with each other.

2. The method of claim 1 , wherein the at least one system is one of:

a virtual appliance;

a virtual image; and

a physical system.

3. The method of claim 1 , wherein the set of software entities identified by at least one of the first set of requirements and the second set of requirements comprises at least one composable software bundle, wherein a composable software is a cloud independent description of software that captures a set of aspects needed to install and configure the software in a virtual machine.

4. The method of claim 1 , wherein at least one of the first set of requirements and the second set of requirements comprises at least one software product requirement, wherein the software product requirement identifies at least one software product required to be present on at the least one system.

5. The method of claim 1 , wherein at least one of the first set of requirements and the second set of requirements comprises at least one of

one or more operating system requirements, and

one or more hardware requirements, wherein the operating system requirement identifies at least one operating system required to be present on at the least one system.

6. The method of claim 1 , wherein at least one of the first definition and the second definition comprises a set of capabilities identifying one or more software entities to be installed by the cross-configuration software module on a system satisfying the set of requirements in the at least one of the first definition and the second definition.

7. The method of claim 1 , wherein at least one of the first definition and the second definition comprises a set of artifacts, wherein the set of artifacts comprises at least one of one or more installation scripts for installing software binaries and one or more configuration scripts.

8. The method of claim 1 , wherein the at least one set of operations further comprises at least one configuration parameter at least identifies at least one parameter that configures the at least a first software entity with at least a second software entity.

9. The method of claim 8 , wherein the configuration parameter is at least one of

supplied by a user, and

propagated from at least

one or more systems coupled to the cross-configuration software module,

and one or more of the set of software entities identified by at least one of the first and second set of requirements.

10. The method of claim 9 , wherein the configuration parameter is produced by the at least one executable instruction.

11. A method of creating a cross-configuration software module for cross-configuring software entities, the method comprising:

retrieving a semantic representation of a set of systems capable utilizing the cross-configuration software module, wherein the cross-configuration software module is a self-contained software package configured to automatically cross-configure software entities to interact with each other, the semantic representation semantically representing a set of requirements, wherein the set of requirements identify at least one set of software entities required to be present on the set of system, wherein the set of software entities identified by at least one of the first set of requirements and the second set of requirements comprises at least one composable software bundle, and wherein a composable software bundle is a cloud independent description of software that captures a set of aspects needed to install and configure the software in a virtual machine;

retrieving a functional representation of a set of operations, each operation in the set of operations is to be performed on a set of software entities associated with the set of systems during at least one connector life-cycle phase in a set of connector life-cycle phases, wherein the set of operations cross-configure at least a first of the set of software entities with at least a second of the set of software entities;

identifying a set of artifacts comprising at least one of a set of metadata and a set of executable instructions associated with the set of operations; and

storing the semantic representation, the functional representation, and the set of artifacts, in the cross-configuration software module.

12. The method of claim 11 , wherein the semantic representation semantically represents a set of capabilities associated with the set of systems, wherein the set of capabilities identify one or more software entities to be installed by the cross-configuration software module on at least one of the set of systems.

13. The method of claim 11 , wherein the set of executable instructions comprises at least one of:

a configuration script; and

an installation script.

14. The method of claim 11 , wherein the set of systems comprises at least one of:

a virtual image;

a virtual appliance; and

a physical system.

15. The method of claim 11 , wherein the set of connector life-cycle phases comprises at least one of:

a connector install life-cycle phase; and

a connector configuration life-cycle phase.

16. The method of claim 11 , wherein the set of executable instructions is a script that installs one or more software entities on at least one of the set of systems during one of the set of connector life-cycle phases associated with the script.

17. The method of claim 11 , wherein the set of executable instructions is a script that configures one or more software entities installed on at least one of the set of systems during one of the set of connector life-cycle phases associated with the script.

18. A method of creating a virtual system pattern, the method comprising:

receiving a selection of at least one system comprising a set of software entities;

identifying a plurality of cross-configuration software modules, wherein each cross-configuration software module is a self-contained software package configured to automatically cross-configure software entities to interact with each other, and wherein each cross-configuration software module comprises at least two configuration definitions each comprising at least a set of requirements identifying at least one software module to be cross-configured, wherein at least one of the set of requirements identifies at least one set of software entities required to be present on at least one system comprising software entities to be cross-configured, wherein the identified set of software entities comprises at least one composable software bundle, wherein a composable software bundle is a cloud independent description of software that captures a set of aspects needed to install and configure the software in a virtual machine;

comparing the set of software entities of the at least one system to the set of requirements for each of the plurality of cross-configuration software modules;

identifying, based on the comparing, at least one of the plurality of cross-configuration software modules having the set of requirements being satisfied by at least two of the set of software entities of the at least one system; and

automatically cross-configuring the at least two software entities based on the at least two configuration definitions of the at least one identified cross-configuration software module, wherein the automatically cross-configuring automatically configures each of the at least two software entities to interact with each other.

19. The method of claim 18 , further comprising:

displaying, via a user interface and prior to the automatic cross-configuration, the at least one identified cross-configuration software module to a user; and

receiving, based on the displaying, a selection from the user of the at least one identified cross-configuration software module, wherein the automatically cross-configuring is performed based on receiving the selection from the user.

20. The method of claim 18 , wherein the automatic cross-configuration comprises:

executing at least one operation defined by the at least one of the two configuration definitions on at least one of the at least two software entities.

21. The method of claim 20 , wherein the automatic cross-configuration further comprises:

installing a set of artifacts included in at least one of the two configuration definitions on the at least one system, wherein the set of artifacts are required by the at least one operation.

22. The method of claim 21 , wherein the set of artifacts are installed prior to the at least one system comprising the at least one of the at least two software entities being captured, and

wherein the at least one operation is executed upon deployment of the at least one system.

23. The method of claim 21 , wherein the set of artifacts are installed upon deployment of the at least one system, and wherein the at least one operation is executed upon deployment of the at least one system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2012
From: BERG, DANIEL C.; EILAM, TAMAR; KALANTAR, MICHAEL H.; KOFMAN, ALEXANDER; OLIVEIRA, FABIO A.; ROSENBERG, FLORIAN; SAADOUN, GILAD M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028337/0939 →
Continuity (1)
Related Publication 20130332900A1 · Dec 12, 2013