Middies: Passive middleware abstractions for pervasive computing environments
description
Transcript of Middies: Passive middleware abstractions for pervasive computing environments
![Page 1: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/1.jpg)
Middies: Passive middleware abstractionsfor pervasive computing environments
Middies: Passive middleware abstractionsfor pervasive computing environments
Daniel Cutting, Adam Hudson, Aaron Quigley
University of Sydney
Daniel Cutting, Adam Hudson, Aaron Quigley
University of Sydney
![Page 2: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/2.jpg)
Pervasive computing
Middies
Data distribution
Pervasive computing
Middies
Data distribution
![Page 3: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/3.jpg)
Pervasive computingPervasive computing
Small mobile devices + large fixed servers Wireline and wireless communication Application collaboration
chat, file store, video+audio matchmaking, games museum+gallery tours
Small mobile devices + large fixed servers Wireline and wireless communication Application collaboration
chat, file store, video+audio matchmaking, games museum+gallery tours
![Page 4: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/4.jpg)
Art gallery scenarioArt gallery scenario
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.QuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.QuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.QuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
Edward
BobCynthia
Gillian
Sunflowers, Van Gogh
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Bob was here.
Bob was here.
![Page 5: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/5.jpg)
MiddlewareMiddleware
Publish-subscribe: good for events
Tuple spaces: good for data persistence
Abstract sockets: good for streaming data
Publish-subscribe: good for events
Tuple spaces: good for data persistence
Abstract sockets: good for streaming data
![Page 6: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/6.jpg)
Pervasive computing
Middies
Data distribution
Pervasive computing
Middies
Data distribution
![Page 7: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/7.jpg)
MiddiesMiddies
Generalised middleware abstractions Features of tuple spaces and pub-sub Store persistent data, publish events and
handle streaming data
Generalised middleware abstractions Features of tuple spaces and pub-sub Store persistent data, publish events and
handle streaming data
![Page 8: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/8.jpg)
SpacesSpaces
Logically centralised shared structures like a tuple space
Physically distributed over several devices
Logically centralised shared structures like a tuple space
Physically distributed over several devices
![Page 9: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/9.jpg)
BlocksBlocks
Data chunks like tuples, events, objects
Stored by spaces permanently (like tuples) or forwarded to interested devices (like events)
Data chunks like tuples, events, objects
Stored by spaces permanently (like tuples) or forwarded to interested devices (like events)
![Page 10: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/10.jpg)
MatchersMatchers
Compare two blocks Application-defined Can implement tuple matchers,
publish-subscribe subscription languages, etc.
Compare two blocks Application-defined Can implement tuple matchers,
publish-subscribe subscription languages, etc.
![Page 11: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/11.jpg)
ReactorsReactors
Callbacks fired by spaces under certain conditions
Can implement events + abstract sockets Useful for pub-sub and streaming data
Callbacks fired by spaces under certain conditions
Can implement events + abstract sockets Useful for pub-sub and streaming data
![Page 12: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/12.jpg)
Pervasive computing
Middies
Data distribution
Pervasive computing
Middies
Data distribution
![Page 13: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/13.jpg)
Data distributionData distribution
How do we distribute blocks around the network?
Server? Single device stores all blocks
Redundant? Each device stores replicas of all blocks
Or…?
How do we distribute blocks around the network?
Server? Single device stores all blocks
Redundant? Each device stores replicas of all blocks
Or…?
![Page 14: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/14.jpg)
Context-aided distributionContext-aided distribution
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.QuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
Edward
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Bob
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.QuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
Cynthia
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Gillian
Unimportant (0.2)Long-lived (0.7)Large size (0.9)
Group photoat Sunflowers
Group photoat Sunflowers
Group photoat Sunflowers
aa
Latitude
sleeping[10,30,2300]working[50,20,0900]v
Nearest situation vector is photophoto digest
![Page 15: Middies: Passive middleware abstractions for pervasive computing environments](https://reader036.fdocuments.in/reader036/viewer/2022081516/56814d0a550346895dba4287/html5/thumbnails/15.jpg)
Pervasive computing
Middies
Data distribution
Pervasive computing
Middies
Data distribution