Dependability and Adaptivity in Cactus, Self , and iMobile ...

55
Dependability and Adaptivity in Cactus, Self!, and iMobile: Challenges and Solutions Matti Hiltunen AT&T Labs-Research 180 Park Avenue Florham Park, NJ [email protected]

Transcript of Dependability and Adaptivity in Cactus, Self , and iMobile ...

Page 1: Dependability and Adaptivity in Cactus, Self , and iMobile ...

Dependability and Adaptivityin Cactus, Self!, and iMobile:

Challenges and Solutions

Matti Hiltunen

AT&T Labs-Research180 Park AvenueFlorham Park, NJ

[email protected]

Page 2: Dependability and Adaptivity in Cactus, Self , and iMobile ...

2

"Cactus: Event-based framework forconfigurable and adaptive distributedservices and protocols

"Self!: Data-flow based componentframework for pervasive dependability

"iMobile: Mobile enterprise servicesplatform� New name: AMN (AT&T Mobile Network)

Page 3: Dependability and Adaptivity in Cactus, Self , and iMobile ...

3

Acknowledgements" Cactus: Joint work with Rick Schlichting (AT&T

Labs), Nina Bhatti (currently at HP Labs), PatrickBridges (current at the Univ. of New Mexico) andother former and current graduate students atthe Univ. of Arizona

" Self!: Work by Karin Högtedt and ChristofFetzer at AT&T Labs

" iMobile: Joint work with Robin Chen, Rittwik Jana,etc. at AT&T Labs

Page 4: Dependability and Adaptivity in Cactus, Self , and iMobile ...

4

OutlineDefinitionsExample systems: Cactus, iMobile, Self!Issues in

� Dependability� Adaptivity

Dependability and adaptivity in Cactus,iMobile, Self!

Conclusions

Page 5: Dependability and Adaptivity in Cactus, Self , and iMobile ...

5

DefinitionsMiddleware:� If it is not an application and it is not part of the

operating system, it must be middleware

� Software layers/components that provide higher

level abstractions for application designers

� Middleware must typically provide support for

more than one application (i.e., generality)

Page 6: Dependability and Adaptivity in Cactus, Self , and iMobile ...

6

Customizable middleware can be tailored to provide

different service properties/attributes to

different applications.

Adaptive middleware can change its behavior at

runtime as a reaction to changes in the execution

environment or application requirements.

Dependable middleware is

� itself dependable

� increases the dependability of the applications

that use the middleware

Page 7: Dependability and Adaptivity in Cactus, Self , and iMobile ...

7

OutlineDefinitionsExample systems: Cactus, iMobile, Self!Issues in

� Dependability� Adaptivity

Dependability and adaptivity in Cactus,iMobile, Self!

Conclusions

Page 8: Dependability and Adaptivity in Cactus, Self , and iMobile ...

8

CACTUS

SERVICE X

SERVICE YReliability

Availability

Timeliness

Security

Consistency

Performance

CHANGED USERREQUIREMENTS INTRUSIONS

FAILURESCHANGES IN AVAILABLERESOURCES

CPUMemory

APPLICATION

OS & NETWORKNetworkBandwidth

Cactus Vision

Page 9: Dependability and Adaptivity in Cactus, Self , and iMobile ...

9

Cactus Approach

Cactus goals:� Configurable services with highly-customizable functionality

and properties.� Dynamically adaptive services that can change their behavior

and properties at runtime.

Customizable APIC

om

po

site

pro

toco

lEventsMicro-protocols

Reliability

Prioritization

Integrity

accReq

recRep

delRep

usrReqS

har

ed d

ata

Service = a composite protocol consisting of micro-protocols,each of which implements a function or property.

Configuration = choosemicro-protocols.

Adaptation = activate/deactivate micro-protocolsat runtime.

Page 10: Dependability and Adaptivity in Cactus, Self , and iMobile ...

10

Micro-protocol execution:

Micro-protocol = collection of event handlers.Handlers bound to events in the composite protocol.

� Binding dynamic, can be changed at runtime.� Order can be specified (often important).

Events provide a level of indirection between micro-protocols.Allow new micro-protocols to be loaded and activated at

runtime.

newServerRequest

readyToInvoke

invokeReturn

requestReturned

assignOrder

checkOrder

checkNext

TotalOrder mp

decryptRequest

encryptReply

DESPrivacy mp

Page 11: Dependability and Adaptivity in Cactus, Self , and iMobile ...

11

Cactus Prototypes and ServicesPrototypes:

� Cactus/C on Linux, Cactus/C++ on Linux andSolaris, and Cactus/Java.

Example configurable services:� Fault-tolerance services: group RPC,

membership, system monitoring.� Real-time services: RTD channels

(communication).� Secure communication services: SecComm.� Services that address multiple QoS

attributes: CQoSServices range from transport protocols to

middleware and application services.

Page 12: Dependability and Adaptivity in Cactus, Self , and iMobile ...

12

AOL Instant Messenger

WAPphone

MicrosoftExchange Server

Directory Service

PDA/EmailDevices

iMobile: Mobile Enterprise Services

?

What is missing?

firewall

Image and VideoDatabase

Voice mail

Devices Info Space

Page 13: Dependability and Adaptivity in Cactus, Self , and iMobile ...

13

iMobile: Logical Architectural View

AT&T �What�sNew� Service

Corporate DB:Post Directory

Service

Devlet: devicedriver

Infolet: interfaceto an info space

Engine

User/deviceprofiles

AOL Instant Messenger

WAP phone

Applets

PDA/EmailDevices

iMobile

Applet: complexapplication logic

EnterpriseDatabase

Page 14: Dependability and Adaptivity in Cactus, Self , and iMobile ...

14

iMobile Access to CriticalEnterprise Applications

� Authorized users can access:� Messaging services� Corporate directories and databases� Exchange Services: calendar, contacts,

inbox, etc.� Images/Engineering Drawings� Instructional Videos� Voice Mail� �

Page 15: Dependability and Adaptivity in Cactus, Self , and iMobile ...

15

iMobile Enterprise Edition

MD

HTTPGateway

AAAServices

ReliableMessageQueue

iMobileServer

iMobileServer

iMobileServer

ExchangeServer

LocationServer

Post DBServer

ServiceProfile DB

Mobile Device

HTTPGateway

AIMGateway

EmailGateway

��

AAA: Authentication,Authorization, and Accounting

iMobileServer

GatewaysServers

infolet

VCRServer

Java Message Service(JMS)

TelnetGateway

Page 16: Dependability and Adaptivity in Cactus, Self , and iMobile ...

16

Standards Compliant and Carrier Agnostic

� Standard Enterprise Software

� Message Oriented Middleware: JMS

� Corporate Database: JDBC

� Corporate Directory: LDAP, JNDI

� Microsoft Exchange Server: WebDAV

� Enterprise VPN Products: IPSec

� Content Transcoding: XML, XSLT

� Messaging Services: SMTP, IMAP, POP3

Page 17: Dependability and Adaptivity in Cactus, Self , and iMobile ...

17

Self! Motivation: Home Networks

network

dsl/cable modem

Maybe up to 10 hostsEthernet

Fetzer, Hogstedt, AT&T Labs Research

Page 18: Dependability and Adaptivity in Cactus, Self , and iMobile ...

18

Future: More Nodes & Services

network

Maybe up to 1000 hosts

sensor actuatorserviceFetzer, Hogstedt, AT&T Labs Research

Page 19: Dependability and Adaptivity in Cactus, Self , and iMobile ...

19

Pervasive Dependability

� Pervasive systems are society critical

� System management has to be cheap� customers might pay low monthly fee

� each customer service call costs money

� Automatic (=cheap) system managementis needed to make pervasive systems areality

Fetzer, Hogstedt, AT&T Labs Research

Page 20: Dependability and Adaptivity in Cactus, Self , and iMobile ...

20

Research issues

� self-management� self-diagnosis,� self-customization,� self-configuration,� self-reconfiguration,� self-*

"Approach: Developing Self !, a dataflow-oriented framework to use as test-bed

Fetzer, Hogstedt, AT&T Labs Research

Page 21: Dependability and Adaptivity in Cactus, Self , and iMobile ...

21

Components & Pins

"Components have any number of pins

"Pins can only be connected pair-wise

"Pins are unidirectional (input or output)

"Pins are untyped (i.e., accept any object)

"All communication via pins

Componentinput pin output pin

Fetzer, Hogstedt, AT&T Labs Research

Page 22: Dependability and Adaptivity in Cactus, Self , and iMobile ...

22

Master and Slave Pins

Connection � 2 pins together

1 Master pin provides control (caller)

1 Slave pin is controlled (callee)

# Both blocking and non-blocking functionality

# Standard adapter components used to fix pin mismatches

Master Slave Master Slave

Pin

Input Output

MasterOutput Pin

SlaveInput Pin

Push

Master Input Pin

SlaveOutput Pin

Pull

space available data available

Fetzer, Hogstedt, AT&T Labs Research

Page 23: Dependability and Adaptivity in Cactus, Self , and iMobile ...

23

Self! Toolkit

"Self! Library"Standard Components

"Standard Pins

"User defined"Components

"Pins

"Generators"xml2C

Fetzer, Hogstedt, AT&T Labs Research

Page 24: Dependability and Adaptivity in Cactus, Self , and iMobile ...

24

Example Application

switch S

temperature sensor

if (Temperature > Threshold)

switch off S

power line

Within 1sec, 99.999%

Fetzer, Hogstedt, AT&T Labs Research

Page 25: Dependability and Adaptivity in Cactus, Self , and iMobile ...

25

coutin

in

Dataflow-OrientedApplications

filter

out

in

switch

in

Fetzer, Hogstedt, AT&T Labs Research

temperaturesensor

temperaturesensor

Page 26: Dependability and Adaptivity in Cactus, Self , and iMobile ...

26

OutlineDefinitionsExample systems: Cactus, iMobile, Self!Issues in

� Dependability� Adaptivity

Dependability and adaptivity in Cactus,iMobile, Self!

Conclusions

Page 27: Dependability and Adaptivity in Cactus, Self , and iMobile ...

27

Issues in Dependability

Middleware CAN increase the dependability of

applications (e.g., Isis, FRIENDS, Eternal,

QuO/AQuA,�).

� but �

it MAY also decrease the dependability of

applications.

Page 28: Dependability and Adaptivity in Cactus, Self , and iMobile ...

28

Middleware introduces additional software

components - and hardware components, e.g., key

distribution server or replication manager - that

may fail/ become security vulnerability/etc.

Solutions: no magic bullet

� Use of dependability mechanisms: replication,

encryption, failure detection, etc.

� Measurement and analysis to determine the

necessary level of redundancy etc.

Page 29: Dependability and Adaptivity in Cactus, Self , and iMobile ...

29

Issues in AdaptivityAdaptivity can improve the dependability of the

middleware as well as the applications using it.

Adaptation mechanisms:

� Value adaptation: change execution parameters

� Algorithmic adaptation: change algorithms used

� Resource reallocation: reassign resources based

on new operating conditions

Types of adaptation:

� Property preserving

� Property changing (e.g., graceful degradation)

Page 30: Dependability and Adaptivity in Cactus, Self , and iMobile ...

30

Challenges:

� Policies (when and how)

� Coordination between different adaptive

components on a host (i.e., on the different

levels) � inter-component coordination

� Optimization

� Coordination between different hosts � inter-

host coordination

� Stability

� Overhead of the adaptation mechanisms

Page 31: Dependability and Adaptivity in Cactus, Self , and iMobile ...

31

OutlineDefinitionsExample systems: Cactus, iMobile, Self!Issues in

� Dependability� Adaptivity

Dependability and adaptivity in Self!,iMobile, and Cactus

Conclusions

Page 32: Dependability and Adaptivity in Cactus, Self , and iMobile ...

32

Dependability and adaptivity in Self!

Dependability mechanisms such as retransmission,

redundant transmission along separate paths can

be implemented as reusable components

Components themselves - or additional monitoring

components - can detect failures and reconfigure

the component graph

Component �wrappers� check the component failures

Page 33: Dependability and Adaptivity in Cactus, Self , and iMobile ...

33

Data Collection

Fetzer, Hogstedt, AT&T Labs Research

filter

out

in

switch

in

temperaturesensor

temperaturesensor

cout

in

in

monitor

monitor

splitter

splitter

device1

device0 device2

device3

Page 34: Dependability and Adaptivity in Cactus, Self , and iMobile ...

34

Fetzer, Hogstedt, AT&T Labs Research

Distributed Data Processing

monitor

monitordevice1

device0

device3

processing splitter

processing

repair agentsplitter

device2

repair agent

Page 35: Dependability and Adaptivity in Cactus, Self , and iMobile ...

35

Self Re-/Configuration Problem

sourceout

sinkin

Fetzer, Hogstedt, AT&T Labs Research

device1 device2 device4

device3

filter

filter

object

Page 36: Dependability and Adaptivity in Cactus, Self , and iMobile ...

36

Omission Failure Problem

sourceout

sinkin

retrywest

outin retryeast

outinfilter outin

Fetzer, Hogstedt, AT&T Labs Research

device1

filter

device2 device4

device3

object

Page 37: Dependability and Adaptivity in Cactus, Self , and iMobile ...

37

Dependability in iMobile

Challenge: LOTS of system components:

� gateways, iMobile server, email servers,

databases, JMS servers, authentication servers,

� external servers/services accessed by infolets

� wireless connectivity providers (cell phone,

paging network, WiFi, etc)

Page 38: Dependability and Adaptivity in Cactus, Self , and iMobile ...

38

Solutions:

� iMobile servers and gateways redundant

� Need to add �level 4 redirectors�

� Databases and JMS servers COTS components

with industry standard interfaces

⇒ rely on fault-tolerant versions from industry

(e.g., Oracle database clusters, IBM MQ)

� Component monitoring and automatic restart

� Retransmission of requests.

Page 39: Dependability and Adaptivity in Cactus, Self , and iMobile ...

39

Solutions (cont.):

� Performance measurement and failure detection(syslog-based running, SNMP planned)

� Multiple access devices/protocols provideredundancy in case one or more wireless accessnetworks is down (SMS vs. Blackberry)

Planned:� Backup infolets� Transactional execution semantics� Use of Java 2 EE facilities� Cactus in iMobile� �

Page 40: Dependability and Adaptivity in Cactus, Self , and iMobile ...

40

Adaptivity in iMobileSome failure recovery �adaptations� in place.

Planned:

� Dynamic resource allocation based on

load/failures

� Algorithmic and value adaptations to deal with

high system load and/or component failures

(service differentiation, traffic shaping,

filtering, etc.)

� Predictive adaptation based on system modeling

Page 41: Dependability and Adaptivity in Cactus, Self , and iMobile ...

41

Dependability in CactusThe Cactus framework can be used to implement any

dependability mechanisms in a configurable

manner.

Example: CQoS.

� a configurable portable QoS architecture for

distributed object computing.

Page 42: Dependability and Adaptivity in Cactus, Self , and iMobile ...

42

CQoS Motivation

Distributed object platforms lack unified support forQoS (fault tolerance, security, and timeliness)

Key observation:

� The fundamental techniques for implementingthese QoS attributes are often similarregardless of the specific middleware platform.

Goals:1. Support highly configurable multi-dimensional

QoS with support for fault tolerance, security,service differentiation, and any combination.

2. Platform independent and easily portable tonew platforms.

Page 43: Dependability and Adaptivity in Cactus, Self , and iMobile ...

43

Software Architecture

Client and server applications and the middleware platformunmodified.

Middleware

Client Application

CQoS

Server Application

CQoS CQoSService

CQoSInterceptor

CQoS

CQoS consists of two components:� Application and platform-specific CQoS interceptor

generated from IDL.� Generic CQoS service component implements QoS.

Separates QoS implementation from specifics of theplatform.

Page 44: Dependability and Adaptivity in Cactus, Self , and iMobile ...

44

Realizing QoS Enhancements

Micro-protocols can be used to implement anyfunction or property

Micro-protocols include:� Fault tolerance: ActiveRep, PassiveRep, TotalOrder,

MajorityVote, � .

� Security: DESPrivacy, �

� Timeliness: PrioritySched, QueueSched, TimedSched.

Different combinations of micro-protocolsprovide semantically different customvariations of CQoS.

Page 45: Dependability and Adaptivity in Cactus, Self , and iMobile ...

45

Implementation

A prototype of CQoS has been completed usingCactus/J.

CQoS Interceptors have been implemented forCORBA and Java RMI.

� CORBA: Replace standard stub and skeleton.

� Java RMI: Replace stub, introduce proxyserver.

� The generation of CQoS Interceptors has beenautomated (so far for CORBA).

The CQoS Service components are independent ofCORBA/Java RMI - operate on both.

Similar architecture planned for iMobile.

Page 46: Dependability and Adaptivity in Cactus, Self , and iMobile ...

46

Adaptivity in CactusEvent mechanism makes it easy to activate and

deactivate micro-protocols at runtime.

Ability to adapt is not enough:� Adaptation policy� Inter-component and inter-host coordination

Solution: Cholla coordination architecture� Composable adaptation logic for composable

software

Page 47: Dependability and Adaptivity in Cactus, Self , and iMobile ...

47

NetworkDevice

IP

TransportProtocol

Video Sender

NetworkDevice

IP

TransportProtocol

Video Display

NetworkCongestion

CPUAvailability

Power Availability

Patrick Bridges, Univ. of Arizona

Page 48: Dependability and Adaptivity in Cactus, Self , and iMobile ...

48

NetworkDevice

IP

TransportProtocol

Video Sender

NetworkCongestion

CPUAvailability

Adaptation

Controller

NetworkDevice

IP

TransportProtocol

Video Display

Power Availability

Adaptation

Controller

Patrick Bridges, Univ. of Arizona

Page 49: Dependability and Adaptivity in Cactus, Self , and iMobile ...

49

Adaptation ControllersGoal:

Compose and coordinate multiple adaptivecomponents using composable controllers:"Adaptive components controlled by adaptation

policies"Want to compose and coordinate fine-grained

policies into a controller."Choose appropriate policies based upon:

"User preferences (e.g. change framerateor picture quality)

"Application demands (e.g. bandwidth or jitter sensitivity)"System requirements (e.g. wireless vs. wired network)

Patrick Bridges, Univ. of Arizona

Page 50: Dependability and Adaptivity in Cactus, Self , and iMobile ...

50

Expressing adaptation policies:"Rule-based approach to constructing

controllers"A set of rules defines a particular behavior"Sets of rules are composed into a controller

that describe the policy

Coordination:"Express explicit coordination policies as

separate rulesets that govern theinteractions between other policies

"Allow implicit coordination by exposingstate of one component to othercomponents

Patrick Bridges, Univ. of Arizona

Page 51: Dependability and Adaptivity in Cactus, Self , and iMobile ...

51

Ada

ptat

ion

Con

trol

ler

Multimedia CODEC

IP

CT

P

encoding parameters

Positive ACK

WindowedFlowControl

ForwardErrorCorr

RoundTripTimeEst

cong. window

num. drops,num. timeouts

N, K

round-trip time

. . .

Queuequeue length

ChollaC

ontrol

Patrick Bridges, Univ. of Arizona

Page 52: Dependability and Adaptivity in Cactus, Self , and iMobile ...

52

CTP

Proxy

Network Proxy Example

Sender

CTP

CT

P Cong.

Control

Adaptation

Controller

CT

P FlowC

ontrol

Proxy ContentRecoding

Display

CTP

Patrick Bridges, Univ. of Arizona

Page 53: Dependability and Adaptivity in Cactus, Self , and iMobile ...

53

Inter-host coordinationIssues:

� Agreement on global state and need to adapt

� Synchronization of adaptation steps without

violating the service properties

Work in progress:

� Libraries of reusable adaptation protocols that

preserve different sets of service properties.

� GAP: Graceful Adaptation Protocol (ICDCS 01)

Page 54: Dependability and Adaptivity in Cactus, Self , and iMobile ...

54

ConclusionsDependability:

� Middleware must be designed carefully if it isto increase the application dependability

Adaptivity:� Mechanisms are often relatively easy� Policy and coordination issues often difficult� Adaptation coordination architecture

Page 55: Dependability and Adaptivity in Cactus, Self , and iMobile ...

55

For more informationiMobile: http://www.research.att.com/sw/tools/amn/

� Y.-F. Chen, H. Huang, R. Jana, T. Jim, M. Hiltunen, R.Muthumanickam, S. John, S. Jora, and B. Wei, �iMobile EE � AnEnterprise Mobile Services Platform�. To appear in ACM Journalon Wireless Networks, 2003.

Self*:� K. Fetzer and K. Hogstedt, �Self*: A Data-Flow Oriented

Component Framework for Pervasive Dependability�, To appearin WORDS 2003, January 2003.

Cactus: http://www.cs.arizona.edu/cactus/CQoS:

� J. He, M. Hiltunen, M. Rajagopalan, and R. Schlichting, �ProvidingQoS Customization in Distributed Object Systems�, Middleware2001, pages 351-372, November 2001.

� Extended version to appear in SPE, 2003.Cholla:

� P. Bridges, �Composing and Coordinating Adaptations in Cholla�,PhD Dissertation, University of Arizona, Department ofComputer Science, Tucson, AZ, Dec 2002.