Distributed Event-Based Systems