Patent ID: 8296408

Claim:
A method comprising: receiving a request at a service manager from an application located at an application layer for an analysis result associated with an analysis of data generated by one or more sensors and a composite service, the one or more sensors being devices in a device layer; in response to receiving the request at the service manager, dynamically determining the composite service associated with the analysis of data generated by the one or more sensors, wherein the composite service includes multiple component services and each of the component services is deployable and executable in different service execution environments and the composite service is associated with service metadata including information describing the composite service and an indication of an ordering of execution of the component services to achieve a desired result of processing, and including a first component service and a second component service having an ordering of execution for the analysis of the data based on the service metadata; determining, by the service manager in an automated manner, the component services, the ordering of the execution of the component services and a deployment plan for the component services; deploying the first component service to a first service execution environment located at the device layer, the first component service configured to generate a first result; deploying the second component service to a second service execution environment located at a device handling layer, which is part of a middleware layer in communication with the device layer and an application layer, the second component service configured to generate a second result based on the first result, wherein the deployment of the first component service to the device layer and the second component service to the device handling layer is determined based on the ordering of execution and device metadata, the device metadata including information related to the devices; invoking the composite service based on an entry point of the composite service, wherein invoking the composite service starts execution of the first component service and the second component service according to the ordering of execution; and receiving the analysis result and communicating the analysis result to the application, wherein the analysis result is based on the second result generated by the second component service at the middleware layer, the second result being based on the pre-processed first result at the device layer.