Issue No. 08 - August (2006 vol. 17)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2006.107
Xiaohui Gu , IEEE
Klara Nahrstedt , IEEE
<p><b>Abstract</b>—Stream processing has become increasingly important as many emerging applications call for continuous real-time processing over data streams, such as voice-over-IP telephony, security surveillance, and sensor data analysis. In this paper, we propose a composable stream processing system for cooperative peer-to-peer environments. The system can dynamically select and compose stream processing elements located on different peers into user desired applications. We investigate multiple alternative approaches to composing stream applications: 1) <it>global-state-based centralized</it> versus <it>local-state-based distributed</it> algorithms for initially composing stream applications at setup phase. The centralized algorithm performs periodical global state maintenance while the distributed algorithm performs on-demand state collection. 2) <it>Reactive</it> versus <it>proactive</it> failure recovery schemes for maintaining composed stream applications during runtime. The reactive failure recovery algorithm dynamically recomposes a new stream application upon failures while the proactive approach maintains a number of backup compositions for failure recovery. We conduct both theoretical analysis and experimental evaluations to study the properties of different approaches. Our study illustrates the performance and overhead trade-offs among different design alternatives, which can provide important guidance for selecting proper algorithms to compose stream applications in cooperative peer-to-peer environments.</p>
Peer-to-peer, stream processing, service composition, resource management, quality-of-service.
X. Gu and K. Nahrstedt, "On Composing Stream Applications in Peer-to-Peer Environments," in IEEE Transactions on Parallel & Distributed Systems, vol. 17, no. , pp. 824-837, 2006.