Method and apparatus for configuring systems
DC CAFCFirst Claim
1. A method of generating a configuration for a system comprising the steps of:
- defining in a computer system an element model consisting of elements used to configure said system and structural relationships between said elements in said model;
creating in said computer system a plurality of components of said system that are instances of one or more elements of said model in response to configuration requests.
1 Assignment
Litigations
0 Petitions

Reexamination
Accused Products

Abstract
The present invention employs a generative approach for configuring systems such that a system may be configured based on component or resource requests, or input in the form of need. The present invention provides a constraint-based configuration system using a structural model hierarchy. The structural aspects of the model provide the ability to define a model element as being contained in, or by, another model element. In addition, the structural model provides the ability to identify logical datatype and physical interconnections between elements and establish connections between elements. To configure a system, the present invention accepts input in the form of requests (e.g., component or resource) or needs, such as an expression of a need for a desktop computer system to be used in a CAD (i.e., computer-aided design) environment. Using this information, the present invention configures a system by identifying the resource and component needs, constraints imposed on or by the resources or components identified, and the structural aspects of the system.
189 Citations
54 Claims
-
1. A method of generating a configuration for a system comprising the steps of:
-
defining in a computer system an element model consisting of elements used to configure said system and structural relationships between said elements in said model; creating in said computer system a plurality of components of said system that are instances of one or more elements of said model in response to configuration requests. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for generating a configuration for a system, said system configuration specifying a plurality of components that comprise said system comprising; computer readable program code configured to cause a computer to receive a configuration request; computer readable program code configured to cause a computer to create an instance of a component in said system configuration in response to said configuration request; computer readable program code configured to cause a computer to satisfy a plurality of constraints of said component. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. An article of manufacture comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to identify a component of said system configuration having a constraint; computer readable program code configured to cause a computer to determine whether said system configuration can satisfy said constraint; computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said constraint if said system configuration cannot satisfy said constraint. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for generating a configuration for a system comprising; computer readable program code configured to cause a computer to define a model that comprises a definition for each of a plurality of components available to inclusion in said system configuration; computer readable program code configured to cause a computer to examine said model to select one of said plurality of components using said definition in said model of said one of said plurality of components in response to a configuration request; computer readable program code configured to cause a computer to create an instance of said one of said plurality of components in said system configuration using said definition of said one of said plurality of components. - View Dependent Claims (20, 21, 22)
-
-
23. An article of manufacturing comprising:
-
computer usable medium having computer readable program code embodied therein for generating a configuration for a system, said system configuration specifying a plurality of components of said system, said article of manufacturing comprising; computer readable program code configured to cause a computer to define a model that includes a definition for each of a plurality of components selectable for inclusion in said system configuration and constraints on said plurality of components; computer readable program code configured to cause a computer to receive a configuration request; computer readable program code configured to cause a computer to examine said model to select one of said plurality of components using said component'"'"'s definition in said model in response to said configuration request; computer readable program code configured to cause a computer to create an instance of said one of said plurality of components in said system configuration using said component'"'"'s definition in said model; computer readable program code configured to cause a computer to satisfy a plurality of constraints of said one of said plurality of components.
-
-
24. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for generating a configuration for a system, said system configuration specifying a plurality of components that comprise said system, said article of manufacturing comprising; computer readable program code configured to cause a computer to define a model that includes a definition for each of a plurality of components selectable for inclusion in said system configuration and constraints on said plurality of components, computer readable program code configured to cause a computer to receive a configuration request; computer readable program code configured to cause a computer to create an instance of a component in said system configuration in response to said configuration request; computer readable program code configured to cause a computer to identify a plurality of constraints of said component by examining said model; computer readable program code configured to cause a computer to identify one or more components of said system configuration that can satisfy said plurality of constraints; computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said plurality of constraints if said system configuration cannot satisfy said plurality of constraints.
-
-
25. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to define a model that includes definitions for a plurality of components selectable for inclusion in said system configuration and constraints on said plurality of components; computer readable program code configured to cause a computer to examine said model to determine whether a component of said system configuration has a constraint; computer readable program code configured to cause a computer to determine whether said system configuration can satisfy said constraint; computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said constraint if said system configuration cannot satisfy said constraint.
-
-
26. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to identify a component of said system configuration having a constraint; computer readable program code configured to cause a computer to examine said system configuration to determine whether another component of said system configuration is available to satisfy said constraint, computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said constraint if said system configuration cannot satisfy said constraint. - View Dependent Claims (27, 28, 29)
-
-
30. A configuration apparatus comprising:
-
a central processing unit (CPU); a modeling system coupled to said CPU, said modeling system configured to define a model having information about elements available for inclusion in a system configuration; a configurator coupled to said CPU, said configurator configured to select a plurality of said elements of said model for inclusion in said system configuration in response to configuration requests. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. In a computer system, a method of generating a configuration for a system comprising the steps of:
-
defining an element model consisting of elements used to configure a system and structural relationships between said elements in said model; creating system a plurality of components of said system that are instances of one or more elements of said model in response to configuration requests; generating a Bill of Materials report containing a part number and description for each component and spare part in said system configuration, resource totals, failed requests, and failed optional requests.
-
-
39. In a computer system, a method of generating a configuration for a system comprising the steps of:
-
defining an element model consisting of elements used to configure said system and structural relationships between said elements in said model; creating a plurality of components of said system that are instances of one or more elements of said model in response to configuration requests; bundling said elements of said system configuration into product groupings; generating a price quotation for said system configuration.
-
-
40. In a computer system, a method of generating a configuration for a system comprising the steps of:
-
defining an element model consisting of elements used to configure said system and structural relationships between said elements in said model; creating a plurality of components of said system that are instances of one or more elements of said model in response to configuration requests; identifying one or more of said plurality of components that can satisfy constraints of said plurality of components; creating a second plurality of components to satisfy constraints if said constraints cannot be satisfied by said one or more of said plurality of components.
-
-
41. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for generating a configuration for a system, said system configuration specifying a plurality of components that comprise said system comprising; computer readable program code configured to cause a computer to define a model that includes a definition for each of a plurality of components selectable for inclusion in said system configuration and constraints on said plurality of components, computer readable program code configured to cause a computer to receive a configuration request; computer readable program code configured to cause a computer to create an instance of a component in said system configuration in response to said configuration request; computer readable program code configured to cause a computer to satisfy a plurality of constraints of said component. - View Dependent Claims (42, 43)
-
-
44. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to define a model that includes definitions for a plurality of components selectable for inclusion in said system configuration and constraints on said plurality of components; computer readable program code configured to cause a computer to examine said model to determine whether a definition of said component in said model identifies a constraint; computer readable program code configured to cause a computer to determine whether said system configuration can satisfy said constraint; computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said constraint if said system configuration cannot satisfy said constraint.
-
-
45. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to identify a destination component of said system configuration having available ports; computer readable program code configured to cause a computer to examine said system configuration to determine whether a component of said system configuration is available to satisfy said constraint, computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said constraint if said system configuration cannot satisfy said constraint. - View Dependent Claims (46, 47, 48)
-
-
49. An article of manufacture comprising:
-
a computer usable medium having computer readable program code embodied therein for generating a configuration for a system comprising; computer readable program code configured to cause a computer to define a model that comprises a definition for each of a plurality of components available for inclusion in said system configuration; computer readable program code configured to cause a computer to examine said model to select one of said plurality of components using said definition in said model of said one of said plurality of components in response to a configuration request; computer readable program code configured to cause a computer to create an instance of said one of said plurality of components in said system configuration using said definition of said one of said plurality of components; and computer readable program code configured to cause a computer to satisfy a plurality of constraints of said one of said plurality of components. - View Dependent Claims (50, 51)
-
-
52. An article of manufacturing comprising:
-
a computer usable medium having computer readable program code embodied therein for satisfying a constraint in a system configuration comprising; computer readable program code configured to cause a computer to identify a component of said system configuration having a connection constraint; computer readable program code configured to cause a computer to identify a destination component of said system configuration having available ports; computer readable program code configured to cause a computer to determine whether one of said available ports is compatible with a port of said component; computer readable program code configured to cause a computer to connect said one of said available ports with said port of said component if said compatibility exists, computer readable program code configured to cause a computer to create a new component in said system configuration to satisfy said connection constraint if said system configuration cannot satisfy said connection constraint. - View Dependent Claims (53, 54)
-
Specification