Patent ID: 7496890

Claim:
A system for generating configuration instructions to build a programmable machine that transfers the programmable machine from a generic machine into a specific machine that serves a specified role, comprising: a memory; a processor coupled to the memory; a build management logic configured to automate building by interacting with a library that is in a standardized and a generic form, wherein the generic form allows common building blocks to represent many different configuration options, wherein the library comprising: a plurality of objects representing aspects of a configuration process for a specific collection of programmable machines; a plurality of parameters associated with respective objects, wherein at least one of the parameters includes an unspecified value for the generic form; and the plurality of objects having attributes of an internal identification assigned to an object, a name assigned to the object, a description of the object, a version number of the object, an individual authorized to perform action on the object, an ID assigned to an owner of the object, and a parent of the object; wherein the build management logic configured to: specify a set of objects from the library to implement the configuration of the programmable machine, and to generate the configuration instructions from the set of objects; interact with a database, wherein the database includes packages which are collections of objects in the database assembled to be transferred from a site to another site; interact with a template storage providing templates, wherein the templates provide a skeleton representation of a machine or a group of machines and the templates may be exported and transferred to other sites to generate configuration instructions at the other sites; determine the unspecified value when generating configuration instructions for the specific combination of programmable machines; and the unspecified value is resolved by the build management logic looking to a next higher node in a site tree to determine whether that node can resolve the unspecified value, wherein the site tree is a hierarchical organization of objects in the library that are representative of machines to be configured at the site; and provide a user interface to manage data assignment for the specific collection of programmable machines, wherein the user interface accepts input and returns output; and an automatic purposing logic configured to provide functionality for manipulating a collection of scripts and associated parameters that are assembled to create the configuration instructions as the output of the user interface.