Patent ID: 7950015

Claim:
A computer-implemented process for storing information about hardware and software components comprising: receiving a request containing a specified functional requirement for a service, wherein the specified functional requirement is in addition to current functional requirements for the hardware and software components deployed in a computing environment, wherein the request is made by a client; consulting a directory to determine if a single component from the hardware and software components exists that satisfies the specified functional requirement for the service; in response to a determination that the single component that satisfies the specified functional requirement does not exist, forwarding the request to a composition service; determining, by the composition service, whether the specified functional requirement can be satisfied from a history database, wherein the history database stores previously-derived combinations of services; in response to a determination that the composition service can not satisfy the specified functional requirement, employing a composition logic to identifying a plurality of derived functionalities that, when combined according to a combination method, would satisfy the specified functional requirement for the service; identifying a plurality of components satisfying the plurality of derived functionalities; and storing, information about the plurality of components satisfying the plurality of derived functionalities, into the history database, wherein the plurality of derived functionalities is equivalent to the specified functional requirement for the service.