![]() ![]() ![]() |
![]() |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Return to Security and Fault Tolerance We present the algorithms for achieving service guar-antees in the SMILE distributed relational publish-subscribe system in the presence of lost or reordered messages due to broker and/or link failures. SMILE extends the content-based publish-subscribe paradigm by allowing subscribers to request continually updated derived views, specified as relational algebraic (SQL-like) expressions over published event histories. The SMILE system performs compile-time analysis of subscriptions, and generates tailored code for com-puting incremental state updates, and for detecting and recovering from lost or permuted messages. We exploit: (1) the languages monotonic type system, and (2) a refined service guarantee of eventual correctness. We first present an abstract protocol capturing the common features of all fault detection and recovery pro-tocols implemented in the SMILE prototype. We then de-scribe the specialized protocols for particular relational operators. We discuss potential optimizations and per-formance tradeoffs. ![]() ©2005 Association for Computing Machinery |