150 likes | 304 Views
Middies: Passive middleware abstractions for pervasive computing environments. Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney. Pervasive computing Middies Data distribution. Pervasive computing. Small mobile devices + large fixed servers
E N D
Middies: Passive middleware abstractionsfor pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney
Pervasive computing Middies Data distribution
Pervasive computing • Small mobile devices + large fixed servers • Wireline and wireless communication • Application collaboration • chat, file store, video+audio • matchmaking, games • museum+gallery tours
Art gallery scenario Bob was here. Gillian Edward Bob Cynthia Sunflowers, Van Gogh Bob was here.
Middleware • Publish-subscribe: good for events • Tuple spaces: good for data persistence • Abstract sockets: good for streaming data
Pervasive computing Middies Data distribution
Middies • Generalised middleware abstractions • Features of tuple spaces and pub-sub • Store persistent data, publish events and handle streaming data
Spaces • Logically centralised shared structures like a tuple space • Physically distributed over several devices
Blocks • Data chunks like tuples, events, objects • Stored by spaces permanently (like tuples) or forwarded to interested devices (like events)
Matchers • Compare two blocks • Application-defined • Can implement tuple matchers, publish-subscribe subscription languages, etc.
Reactors • Callbacks fired by spaces under certain conditions • Can implement events + abstract sockets • Useful for pub-sub and streaming data
Pervasive computing Middies Data distribution
Data distribution • How do we distribute blocks around the network? • Server? • Single device stores all blocks • Redundant? • Each device stores replicas of all blocks • Or…?
Gillian Edward Bob Cynthia Context-aided distribution Group photo at Sunflowers Group photo at Sunflowers Group photo at Sunflowers Nearest situation vector is photo photo digest Unimportant (0.2) Long-lived (0.7) Large size (0.9)
Pervasive computing Middies Data distribution