Copyright © 2006, UCD Dublin Systems Research Group School of Computer Science and Informatics UCD Dublin, Belfield, Dublin 4, Ireland UCD Systems Research Group Like reality, but different… Scalable Information Dissemination for Pervasive Systems Graham Williamson Implementation and Evaluation
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 2 Introduction Middleware for pervasive systems Requirements Easy for the application developer Robust, resilient, scalable, self-organising… Sensor information must be disseminated We propose “gossiping” for information dissemination But is this a good solution?
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 3 Construct
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 4 Gossiping “Epidemic: An outbreak of a contagious disease that spreads rapidly and widely” (Dictionary.com) Gossiping is an epidemic algorithm: Information spreads from a source through local interactions People passing a disease ↔ Processes passing a message
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 5 Gossiping
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 6 Gossiping Key Points Gossiping occurs in rounds Rounds are not synchronised Neighbours are chosen randomly # of neighbours is called fanout Results in emergent behaviour -redundancy built in -purely local interactions more scalable
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 7 Implementation
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 8 Implementation Protocols have two parts: 1. Sending process initiates gossips 2. Listening process waits for gossips Also, consider multiple messages: Cannot infinitely buffer all messages Gossip active message digests Listener requests resends of missing messages
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 9 Implementation repeat forever { sleep ( T ); age_messages(); digest message_history_summary(); repeat fanout times { peer random_peer(); send ( digest, peer ); } Sending Process:
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 10 Implementation repeat forever { digest wait_for_incoming_gossip(); my_digest message_history_summary(); compare ( digest, my_digest ) { pull messages from sender and/or push messages to sender } Listening Process:
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 11 Evaluation – methodology We want to: Examine behaviour Facilitate comparisons Improve protocols Ultimately: Investigate the suitability of gossiping for this domain.
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 12 Evaluation – platforms Simulation with OmNet++ Modular and easy to work with Emulation using PlanetLab Access to over 700 nodes Fast, reliable network provides a baseline for other measurements
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 13 Evaluation – parameters Changing a parameter can have multiple effects Reduce network load by increasing T? Increase reliability by increasing fanout? An optimisation problem Adaptive techniques for adjusting parameters at runtime
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 14 Evaluation – measurements What defines a good (or bad) gossiping protocol? Low latency is good But at what cost? Data redundancy, good or bad? …Trade-offs
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 15 Evaluation – the vision Key Question Why do I have to write multiple implementations of the same algorithm??? Time consuming, error-prone… Ideal Solution A single implementation for simulation, emulation, and deployment
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 16 Where are we now? Progress Initial identification of parameters and measurements Implementation in our middleware, Construct -see Next steps Finish installation of PlanetLab nodes Perform the evaluation
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 17 Questions?
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 18 Security & Privacy Two main approaches: Encryption of personal data such that it can only be read by trusted, privileged, parties Not so appropriate for resource limited devices Selective dissemination that ensures personal information is only gossiped with a trusted group of peers Critical nodes *must* handle information regardless of trust
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 19 Parameters (detail)
Scalable Information Dissemination for Pervasive Systems: Implementation and Evaluation 20 Measurements (detail)