design and run-time bandwidth contracts for pervasive computing middleware
DESCRIPTION
Design and run-time bandwidth contracts for pervasive computing middleware. Peter Rigole K.U.Leuven – Belgium [email protected]. Challenge. Pervasive computing: Flexible computing requirements Restricted host platform: Scarce resources. MPAC – Middleware 2003 Workshop. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/1.jpg)
Design and run-time bandwidth contracts for pervasive computing
middleware
Peter Rigole
K.U.Leuven – Belgium
![Page 2: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/2.jpg)
Challenge
• Pervasive computing:Flexible computing
requirements
• Restricted host platform:Scarce resources
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 3: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/3.jpg)
Vision
Combining:
1. Resource aware applicationsmonitoring, prediction, reliability
2. Fine-grained applicationsrun-time scaling: removing, relocating, updating comp.
In a design-time methodology– including awareness of limited resources– maintaining the flexibility to enable perv. comp.
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 4: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/4.jpg)
State of the art: SEESCOA
• Component oriented software architecture
• For embedded devices
A SEESCOA application consists of:– components
– ports
– port specifications
– connectors
– port contracts
– component contracts
Blueprints – instance model – CCOM tool - contracts
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 5: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/5.jpg)
SEESCOA component specification
• Basis of run-time reliability and flexibility
Four levels:– Syntactic level
– Semantic level
– Synchronization level
– QoS level
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 6: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/6.jpg)
SEESCOA run-time
• Executing environment– Loads, instantiates, links components– Manages connections (local or remote)– Delivers and executes messages sent between ports
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 7: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/7.jpg)
State of the art: QuO
Quality Objects:– Applications adapting to QoS offered by resources– Application designer decides HOW the application
should adapt to changes in resource availability (QDL)– Providing:
• Several layers of tools (code generators based on QDL, …)
• Adaptive distributed applications
• CORBA development process (code generators, support libs)
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 8: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/8.jpg)
QuODrawbacks:
– Object level (no real components)– Client – Object relationship
• Contracts, RMI, stubs, skeletons, …
– Design-time distribution of objects– Run-time reconfiguration is difficult to achieve– QDL: description of all feasible QoS states = burden
Burden for program designer to describe adaptationCould we let the middleware make these decisions?
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 9: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/9.jpg)
Contracts for SEESCOA components
• Contracts on all components and ports– no decisions for distribution at design time
Requirements:– Easy for application designers
• In terms of parameters that are relevant to app. designers
– Multiple contracts possible• When contracts indirectly depend on certain resources
– Fallback mechanism• For contracts that can not be established
(relocation unsuccessful)
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 10: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/10.jpg)
Example: bandwidth contracts• Technology independent
– various implementations of physical layers
• Detail– exact required bandwidth is never known– no complex dependencies with application details– tradeoff between expressiveness and manageability
• Solution: statistical expressions on meaningful parameters– MS: Message Size
– ITBM: Interval Time Between Messages
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 11: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/11.jpg)
Representation
MPAC – Middleware 2003 Workshop Peter Rigole
• Statistical analysis:– Port output:
• avg ITBM = a
• avg ITBM acc = b
• var ITBM = c
• var ITBM acc = d
• max ITBM = e
• min ITBM = f
– Port input:• max ITMB < m
• n < min ITMB
• o < avg ITBM < p
• q < var ITMB < r
• avg MS = g• avg MS acc = h• var MS = i• var MS acc = j• max MS = k• min MS = l
• max MS < s• t < min MS• u < avg MS < v• w < var MS < x
![Page 12: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/12.jpg)
Connection setup and negotiation• Exchanging contracts• outgoing flow behaviour must match incoming
requirements• Agreement Connection contract• Now run-time system judges feasibility
– based on knowledge about available bandwidth
• When declined: further negotiation– Solutions: other contracts, relocation of components
• No solution: notify application manager– application/user reacts
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 13: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/13.jpg)
Example: projector case
• SlideInterpreter connects with SlideVisualizer
• but, Bluetooth connection not enough bandwidth
systems declines connection
Solution: relocating SlideInterpreter component
MPAC – Middleware 2003 Workshop Peter Rigole
![Page 14: Design and run-time bandwidth contracts for pervasive computing middleware](https://reader033.vdocuments.site/reader033/viewer/2022042718/56812f66550346895d94f111/html5/thumbnails/14.jpg)
Concluding remarks• Appropriate architectures for ad hoc systems:
– let middleware decide how to distribute and adapt applications
– judging by resource consumption and availability– Cyber foraging: searching for distributed resources
• Difficulty: realistic adaptation strategies– without sacrificing application availability
• Fine-grained application structure is required– for flexibility– for supporting dynamic resource management techniques
MPAC – Middleware 2003 Workshop Peter Rigole