Industry analyst company The Gartner Group predicts that sensor technologies will be part of our everyday life by the year 2015. Sensors will be everywhere, as RFID tags on consumer products, devices monitoring tyre pressure, location-tracking tags carried by workers in sensitive or hazardous environments etc. In addition, most enterprise activities will be monitored by micro-controller based tools connected to the network - there is a general consensus that by 2010 embedded devices will represent 95% of all internet connected systems [2].
Gartner states that the widespread adoption of sensor technology will create the need for a new infrastructure to manage the unprecedented volumes of data generated [1,3].
Scalable grids of relatively cheap computational units, completely decoupled from the signal sources, will receive, modify, enrich and store data3. But to what purpose? Over the last 15 years we have become used to the idea that the main objective of business applications is to query stored data in order to gather meaningful insights. This is a manually instigated process, initiated by the particular need of an individual, but with real time sensor data this ‘pull’ approach provides very little business value.
Sensor technologies force us to rethink how we use data. We cannot possibly query databases to know the position or status of billions of items. Instead, each change in an item’s position or status, detected by sensors, must trigger specific, completely automated processes, such as updating a bus schedule, alerting a driver of the need to replace a tyre, or updating inventory level and raise a replenishment order.
Thus, the processing power provided by ever increasing capacity made available at lower costs by concepts such as grid-computing must be complemented by automated processing capabilities based around the sensor-generated events. Gartner has defined the software products capable of delivering both the ‘extreme’ transactional performance provided by grid-computing and the event-driven automated processing capabilities required to leverage the real time value of sensor information as Event Driven Application Platforms [4,5,8].
Satisfying the needs for event-driven performance with grid-based application platforms
By Year 2015 millions of signals generated by sensors and by network embedded devices will reach the enterprise every second. Obviously responding automatically to such tera-volumes of incoming events requires completely parallel process execution capabilities. However, parallel processing creates some specific technical requirements:
Business processes must modify core business data. Parallel processes trying to access and modify the same data object will create contention. This must be resolved to ensure determinism, so that data and transaction integrity is maintained.
A large number of computational resources need to access data stored in relational databases. If one single database, however powerful, is used, it will become a bottleneck. This issue must be addressed to provide scalability not only at the execution level, but also at the persistence layer.