130 likes | 228 Views
Autonomic Applications for Pervasive Environments. Manish Parashar WINLAB/TASSL ECE, Rutgers University http://www.caip.rutgers.edu/TASSL Ack: NSF (CAREER, KDI, ITR, NGS), DoE (ASCI). Pervasive Computing: Smaller/Cheaper/Faster/Connected ….
E N D
Autonomic Applications for Pervasive Environments Manish Parashar WINLAB/TASSL ECE, Rutgers University http://www.caip.rutgers.edu/TASSL Ack: NSF (CAREER, KDI, ITR, NGS), DoE (ASCI)
Pervasive Computing: Smaller/Cheaper/Faster/Connected …. • Explosive growth in computation, communication, information and integration technologies • computing is ubiquitous, pervasive – communication is/will be • Pervasive “anytime-anywhere” access environments • ubiquitous access to information via PCs, PDAs, Cells, smart appliances, etc. (billions of devices, millions of users) • peers capable of producing/consuming/processing information at different levels and granularities • embedded devices in clothes, phones, cars, mile-markers, traffic lights, lamp posts, refrigerators, medical instruments … • Pervasive “on demand” computational/storage resources, services • the Grid
Example scenario : DARPA IXO, A Rapidly Expanding Universe of Sensors, Weapons, and Platforms Approved for Public Release - Distribution Unlimited
The bad news … • Unprecedented • scales • complexity • heterogeneity • dynamism and unpredictability • lack of guarantees • The increasing system complexity is reaching a level beyond human ability to design, manage and secure • programming environments and infrastructure are becoming unmanageable, brittle and insecure • A fundamental change is required in how applications are formulated, composed and managed • autonomic components, dynamic compositions, opportunistic interactions, virtual runtime, …
Autonomic Computing? • Nature has evolved to cope with scale, complexity, heterogeneity, dynamism and unpredictability, lack of guarantees • self configuring, self adapting, self optimizing, self healing, self protecting, highly decentralized, heterogeneous architectures that work !!! • e.g. the human body – the autonomic nervous system • tells you heart how fast to beat, checks your blood’s sugar and oxygen levels, and controls your pupils so the right amount of light reaches your eyes as you read these words, monitors your temperature and adjusts your blood flow and skin functions to keep it at 98.6ºF • coordinates - an increase in heart rate without a corresponding adjustment to breathing and blood pressure would be disastrous • is autonomic - you can make a mad dash for the train without having to calculate how much faster to breathe and pump your heart, or if you’ll need that little dose of adrenaline to make it through the doors before they close • can these strategies inspire solutions? • e.g. FlyPhones, AORO/AutoMate, ROC, ELiza, etc. • of course, there is a cost • lack of controllability, precision, guarantees, comprehensibility, … • PS: its not AI – duplication of human thought is not the ultimate goal
Autonomic Living • Autonomic living: autonomic peers opportunistically interact, coordinate and collaborate to satisfy goals? • scenarios (everyday, b2b coordination, crisis management, homeland security, …) • your car in route to the airport estimates that given weather (from meteorological beacons), road conditions (from on-coming cars), traffic patters (from the traffic light), warns that you will miss your flight and you will be better off taking the train – the station is coming up – do you want to rebook ? • in a foreign country, your cell phone enlists a locally advertised GPS and translation service as you try to get directions • your clock/PDA estimates drive time to your next appointment and warns you appropriately • your eye glasses sends your current prescription as you happen to drive past your doctor or your PDA collects prices for the bike you promised yourself as you drive around
Project overview • Investigate fundamental architectures and software paradigms/technologies associated with development of autonomic and pervasive applications • pervasive computing system design, based on a challenging application scenario: autonomic living • middleware infrastructures and services • programming model based on local constraints, opportunistic interactions and consensus based coordination • cluster computing model for loosely coupled ac-hoc scenario • security/trust architecture and protocols for the above • ad-hoc wireless (sensor) network protocol optimizations • autonomic living system prototype • The group: • M. Ott, M. Parashar, D. Raychaudhury, W. Trappe Y, Zhang
AutoMate: Enabling Autonomic Applications • Objective: • Investigate key technologies to enable the development of autonomic Grid applications that are context aware and are capable of self-configuring, self-composing, self-optimizing and self-adapting. • Research Issues: • Definition of Autonomic Components: • definition of programming abstractions and supporting infrastructure that will enable the definition of autonomic components • autonomic components provide enhanced profiles or contracts that encapsulate their functional, operational, and control aspects • Dynamic Composition of Autonomic Applications: • mechanisms and supporting infrastructure to enable autonomic applications to be dynamically and opportunistically composed from autonomic components • compositions will be based on policies and constraints that are defined, deployed and executed at run time, and will be aware of available Grid resources (systems, services, storage, data) and components, and their current states, requirements, and capabilities • Autonomic Middleware Services: • design, development, and deployment of key services on top of the Grid middleware infrastructure to support autonomic applications • a key requirements for autonomic behavior and dynamic compositions is the ability of the components, applications and resources (systems, services, storage, data) to interact as peers
Opportunistic Interactions • Interactions based on local goals and objectives • local goals and objectives are defined as constraints to be satisfied • constraints can updated and new constraints can defined at any time • Dynamic and ad-hoc • interactions use “semantic messaging” based on proximity, privileges, capabilities, context, interests, offerings, etc. • Opportunistic • constraints are long-term and satisfied opportunistically (may not be satisfied) • Probabilistic guarantees and soft state • no explicit synchronization • interaction semantics are achieved using feedback and consensus building
1 2 Ontology & Taxonomy 3 Semantic Messaging Semantic P2P Middleware Network Communication 4 Received Profiles Publish Profiles Constraint Engine Context Environment factors Sensor State Constraints n Opportunistic Interactions
For Example… • Automata using opportunistic interactions • “Game of Life” simulation using sensor networks • Sensors as Sharks and Fishes • Shark/Fish behavior encoded as constraints • Opportunistic and dynamic interactions based on proximity and interests • Semantic messaging based on interest/offer profiles • Interaction semantics built on local behavior (no synchronization) • Inconsistencies resolved and consensus built incrementally using probabilistic feedback and gossiping • Shark thinks it has eaten the fish, fish thinks it got away ! • Indirect interactions • Fish warns another fish of an approaching shark • Aggregation • Shark does not attack fishes if they are in a school of 10 or more • Dynamic goals and constraints • Constraint satisfactions is ongoing and probabilistic – not absolute • Constraints can be updated, removed or new constraints to be defined. • Possible a result of constraint satisfaction • Shark is full after eating 4 fishes
Summary • Autonomic applications are necessary to address scale/complexity/heterogeneity/dynamism/reliability challenges • Autonomic living: enable autonomic peers to opportunistically interact, coordinate and collaborate to satisfy goals • programming/interaction models, messaging substrates, ad hoc clustering mechanisms, security and trust, ad hoc networks • More Information • http://automate.rutgers.edu
Autonomic Computing Workshop/Tutorial • Autonomic Computing Workshop • In conjunction with the Twelfth International Symposium on High Performance Distributed Computing (HPDC-12), June 25th, 2003 in Seattle Washington. • www.caip.rutgers/edu/ams2003 • Autonomic Computing Tutorial • Global Grid Forum (GGF), June 22nd, 2003 in Seattle Washington. • http://automate.rutgers.edu