Top Banner
Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney
15

Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

Jan 15, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

Pervasive computing

Middies

Data distribution

Pervasive computing

Middies

Data distribution

Page 3: Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

Pervasive computing

Middies

Data distribution

Pervasive computing

Middies

Data distribution

Page 7: Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

Pervasive computing

Middies

Data distribution

Pervasive computing

Middies

Data distribution

Page 13: Middies: Passive middleware abstractions for pervasive computing environments Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

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 Daniel Cutting, Adam Hudson, Aaron Quigley University of Sydney Daniel Cutting,

Pervasive computing

Middies

Data distribution

Pervasive computing

Middies

Data distribution