Patent ID: 8224933

Claim:
A method for creating composite services, the method implemented by an apparatus comprising the steps of: identifying a constituent component for a composite service by a processing unit, the constituent component having a runtime state; locating a past composition decision regarding the constituent component that has equivalent runtime state in a data-store by the processing unit; reusing the past composition decision for the constituent component for the composite service by the processing unit; where the data store has composition state for composite services previously created and corresponding runtime state for each composition state; creating composition engine state snapshots in the data-store by the processing unit during runtime by storing a snapshot for each created composite service; where each composition engine state snapshot has a reference to a corresponding composite service template, a resulting composite service, and a runtime system state at a time of composite service creation, where the runtime system state at a time of composite creation includes session information, service database version information, and user profile version information; and where the runtime state includes a domain model, descriptions of constituent components, description of the composite service, session information, user profile information, device capabilities, and network status.