Daedalus/ Architectural Walkthrough Daedalus Retreat, Lake Tahoe June 18-20th, 1996 Steve Gribble and Todd Hodes {gribble,hodes}@cs.berkeley.edu
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Motivation mobility-aware network services seamless roaming (overlay IP) efficiency of protocols and of handoff mobility-aware lication services dynamic adaptation to variability enable a wide array of client devices mobility-aware domain services resource discovery load balancing metering
Challenges cohabitate with existing infrastructure Mobile IP, TCP, HTTP, Kerberos,... justify custom protocols a scalable architecture network and proxies should support many clients integrable but independent components pieces of the architecture should be able to function on their own integration yields optimization and new capability
The Daedalus/ Architecture mobile host App NCM CBQ agent Handoff ler base stations beacond CBQ snoop domain services Authentication Metering & Credit decapd Subnet Manager Mobility Database subnet services Foreign agent proxy host Resource Manager Proxy NCM delivery class abstraction PTM Distillers corresponding host content server
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Core Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Unmodified Network Stack corresponding host content server
Core Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Unmodified Network Stack corresponding host content server
Core Daedalus Mobile Host Components Application, Presentation, Session Layers Unmodified App Control Panel handoff ler Transport Layer TCP / UDP Control Interface Network Layer mobile IP Data Link Layer IR RF... multiple s
Core Daedalus Base Station Components mobile IP, decapsulation beacond Network Layer TCP Snoop Control Interface Data Link Layer Ethernet RF... wireless and wired s
Core Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Unmodified Network Stack corresponding host content server
Core Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Unmodified Network Stack corresponding host content server
Core Proxy Architecture Distiller mobile proxy NOW unmodified lication lication-specific protocol Proxy content server TCP/UDP overlay IP IR RF... (overlay) IP TCP/UDP IP Ethernet
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Connecting to the Network (core architecture - Mobile IP) mobile host unmodified lication TCP/UDP foreign agent Mobile IP Ethernet base station ICMP router advertisement beacond snoop home agent Mobile IP Ethernet Ether RF...
Connecting to the Network (core architecture - Mobile IP) mobile host unmodified lication TCP/UDP foreign agent Mobile IP Ethernet new care-of address base station registration request beacond snoop home agent Mobile IP Ethernet Ether RF...
Connecting to the Network (core architecture - Mobile IP) mobile host unmodified lication TCP/UDP foreign agent Mobile IP Ethernet registration reply base station registration reply beacond snoop home agent Mobile IP Ethernet Ether RF...
Document Request Distiller mobile proxy web browser HTTP get Proxy HTTP get content server TCP/UDP TCP/UDP overlay IP IP IR RF... Ethernet
Document Download and Chunking Distiller mobile proxy web browser Proxy HTTP content server TCP/UDP TCP/UDP overlay IP IP IR RF... Ethernet
Distillation Distiller mobile proxy web browser TCP/UDP overlay IP IR RF... Proxy TCP/UDP IP Ethernet content server
Document Upload Distiller mobile proxy web browser HTTP Proxy content server TCP/UDP TCP/UDP overlay IP IP IR RF... Ethernet
Vertical Handoff from IR to WaveLAN (core architecture) new base station mobile host beacond unmodified lication TCP/UDP! snoop Ether RF... old base station beacond snoop Ether RF...
Handoff Subroutine (core architecture) mobile host unmodified lication TCP/UDP registration request new bs Foreign agent new care-of address registration request Home agent old bs
Handoff Subroutine (core architecture) mobile host Foreign agent Home agent unmodified lication TCP/UDP new bs acknowledgement old bs
Handoff Subroutine (core architecture) mobile host unmodified lication TCP/UDP new bs Foreign agent Home agent de-register old bs
Handoff Notification and Dynamic Adaptation mobile manual handoff command proxy Distiller (average) network characteristics web browser Proxy content server TCP/UDP overlay IP UDP packet TCP/UDP IP IR RF... Ethernet
Chunk Refinement Distiller mobile refinement request proxy web browser HTTP get Proxy content server TCP/UDP TCP/UDP overlay IP IP IR RF... Ethernet
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Extended Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Custom Proxy Network Stack corresponding host content server
Extended Architecture Components mobile host Application Support Custom MH Network Stack base station / FA Custom BS Network Stack proxy host / HA Proxy Custom Proxy Network Stack corresponding host content server
Extended Daedalus Mobile Host Application, Presentation, Session Layers Unmodified App App Control Panel handoff ler Transport Layer TCP / UDP Delivery Classes UDP Control Interface network connection monitor Network Layer mobile IP Dynamic Allocation Agent Data Link Layer IR RF... multiple s
Extended Daedalus Base Station mobile IP, decapsulation, multicast handoff buffers beacond decapd Network Layer TCP Snoop Control Interface Data Link Layer Dynamic Allocation (Class-Based Queuing) Ethernet RF... wired and unwired s
Extended Daedalus Proxy Application, Presentation, Session Layers Proxy Transport Layer TCP / UDP Delivery Classes UDP Control Interface network connection monitor Network Layer Data Link Layer Ethernet
Extended Service Architecture domain services Authentication mobile host Metering & Credit Subnet Manager Mobility database proxy host subnet services base stations Foreign agent Resource Manager corresponding host
Extended proxy architecture PTM Distiller mobile proxy NOW unmod TCP/ UDP overlay IP deliv. classes cbq IR RF... (overlay) IP HTTP POP3 TCP/UDP overlay IP Proxy Ethernet deliv class interf.
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP (Multicast) home agent Ethernet CBQ Agent UDP packet base station / FA beacond decapd snoop CBQ Mobility database Subnet manager Metering & Credit
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP (Multicast) register; join multicast group; start forwarding care-of address home agent Ethernet class structure CBQ Agent base station / FA beacond decapd snoop CBQ Mobility database Subnet manager Metering & Credit
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP (Multicast) ack home agent Ethernet CBQ Agent base station / FA Mobility database ack beacond decapd snoop Subnet manager Metering & Credit CBQ
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP (Multicast) home agent Ethernet CBQ Agent base station / FA beacond decapd snoop CBQ Mobility database Subnet manager registration Metering & Credit
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP registration request (Hybrid) foreign agent Ethernet care-of address update home agent CBQ Agent ICMP router advertisement beacond decapd base station snoop CBQ Mobile IP Ethernet Mobility database Subnet manager Metering & Credit
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP allocated multicast address (Hybrid) foreign agent Ethernet ack home agent CBQ Agent beacond decapd base station snoop CBQ Mobile IP Ethernet Mobility database Subnet manager Metering & Credit
mobile host Connecting to the Network unmod TCP/ UDP class structure deliv. classes CBQ Agent beacond decapd (Hybrid) foreign agent join multicast group; start forwarding Ethernet base station snoop CBQ home agent Mobile IP Ethernet Mobility database Subnet manager Metering & Credit
mobile host deliv. classes Connecting to the Network unmod TCP/ UDP (Hybrid) foreign agent Ethernet home agent CBQ Agent beacond decapd base station snoop CBQ Mobile IP Ethernet registration Mobility database Subnet manager Metering & Credit
Kerberos Authentication centralized, secure database (KDC( KDC) ) holds secrets (DES( key) ) only known by principles to access Kerberized services,, principles are issued tickets for those services by the ticket-granting server (TGS) a ticket for the ticket-granting server (TGT( TGT) ) is issued by the KDC the TGT is encrypted with the issuee s secret tickets contain session keys
Authenticated Proxied Services proxies are treated as principles clients access proxies by gaining tickets for their services cross-domain authentication is possible by having a foreign TGS listed as a principle in the local system Charon is a protocol that enables Kerberos for impoverished clients Charon also enables indirect authentication
Charon Authentication: Obtaining TGT for Visited Proxy Home TGT request Home TGT request Visited Proxy Home Proxy Home TGT Home TGT proxy address find proxy request Home TGT Home TGT request DNS Visited TGS Visited KDC Home TGS Home KDC
Charon Authentication: Obtaining TGT for Visited Proxy Visited TGT request Visited TGT request Visited Proxy Home Proxy Visited TGT Visited TGT Visited TGT Visited TGT request DNS Visited TGS Visited KDC Home TGS Home KDC
Charon Authentication: Obtaining Session Key with Visited Proxy Proxy ticket request Visited Proxy Home Proxy Proxy ticket Proxy ticket Proxy ticket request DNS Visited TGS Visited KDC Home TGS Home KDC
Handoff from IR to WaveLAN (load balancing) mobile host deliv. classes unmod TCP/ UDP CBQ Agent! beacond decapd beacond new base station decapd snoop CBQ old base station snoop CBQ Mobility database Subnet manager Metering & Credit
Handoff from IR to WaveLAN (load balancing) mobile host deliv. classes unmod TCP/ UDP CBQ Agent class structure join multicast group; start buffering beacond decapd beacond new base station decapd snoop CBQ old base station snoop CBQ Mobility database Subnet manager Metering & Credit
Handoff from IR to WaveLAN (load balancing) mobile host deliv. classes unmod TCP/ UDP CBQ Agent beacond decapd beacond new base station decapd snoop CBQ old base station snoop CBQ update Mobility database Subnet manager Metering & Credit load balance hint
Extended Handoff Subroutine new base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent stop buffering; start forwarding class structure beacond decapd beacond decapd old base station snoop CBQ snoop CBQ Foreign agent Home agent Mobility database Subnet manager Metering & Credit
Extended Handoff Subroutine new base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent ack beacond decapd beacond decapd old base station snoop CBQ snoop CBQ multicast addr Foreign agent ack new care-of address Home agent Mobility database Subnet manager Metering & Credit
Extended Handoff Subroutine new base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent beacond stop forwarding; start buffering decapd beacond decapd old base station snoop CBQ snoop CBQ update statistics Foreign agent Home agent Mobility database Subnet manager Metering & Credit
Extended Handoff Subroutine new base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent beacond decapd beacond decapd old base station snoop CBQ snoop CBQ Foreign agent Home agent Mobility database Subnet manager Metering & Credit load balance, handoff prediction
Handoff from WaveLAN to WaveLAN (mobility) buffering base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent (strong) (weak) forwarding base station beacond decapd beacond decapd snoop CBQ snoop CBQ
Dynamic Adaptation via NCM PTM Distiller mobile proxy unmod TCP/ UDP deliv. classes net state! HTTP Proxy POP3 TCP/UDP deliv class interf. net state! overlay IP cbq IR RF... overlay IP Ethernet
PTM Load Balancing load PTM spawn Distiller mobile proxy distiller? unmod TCP/ UDP deliv. classes HTTP Proxy POP3 TCP/UDP deliv class interf. overlay IP cbq IR RF... overlay IP Ethernet
Delivery class abstractions PTM Distiller mobile proxy unmod TCP/ UDP deliv. classes HTTP Proxy POP3 TCP/UDP deliv class interf. overlay IP cbq IR RF... overlay IP Ethernet
Dynamic Link Allocation beacond decapd Network Layer TCP Snoop Control Interface Data Link Layer Dynamic Allocation (Class-Based Queuing) Ethernet RF...
Handoff from WaveLAN to Metricom (lost beacons) new bs (non-cooperating) mobile host deliv. classes unmod TCP/ UDP CBQ Agent! forwarding base station beacond decapd snoop CBQ
Flexible Refinement/QoS Mechanism more colour more resolution PTM Distiller download time: 15 s mobile proxy unmod QoS preferences HTTP Proxy POP3 TCP/ UDP deliv. classes TCP/UDP deliv class interf. overlay IP cbq IR RF... overlay IP Ethernet
Handoff from Metricom to WaveLAN (change of domain) new base station mobile host deliv. classes unmod TCP/ UDP CBQ Agent (new beacon) beacond decapd snoop CBQ old bs (non-cooperating) periodically retry lower
Outline Motivation and overview Core architecture components Core architecture walkthrough connection, document retrieval, vertical handoff, document refinement Extended architecture components Extended architecture walkthrough connection and authentication, vertical handoff, horizontal handoff, dynamic adaptation, load balancing, domain and network services Summary, Open Issues
Core Daedalus Architecture Summary Supports seamless roaming in heterogeneous and foreign environments vertical and horizontal handoff support Custom Network Stack at MHs and (cooperating) BSs unmodified corresponding hosts, home agents compatibility with Mobile-IP Static assumptions about network characteristics Accepts handoff hints to handoff ler Some protocol-specific network optimization TCP snoop
Extended Daedalus Architecture Summary Adds custom network stack at proxy host delivery class abstraction for data-type specific transport Dynamic allocation at data link (hop by hop) Extensible, independent network services model mechanisms facilitate localized policy decisions Dynamic measurement and notification of changes in network characteristics (via NCM) Network performance enhancements low-latency handoff hierarchical foreign agents additional transport-layer optimizations
Core Proxy Architecture Summary Unmodified s, lication-specific protocols proxy mechanism is either transparent to or already supported by the lication functionality and efficiency limited by the lication s protocol On-the-fly distillation and refinement possible client and network adaptation, unmodified servers proxy optimizations (prefetching, caching) dynamic network adaptation is missing (no NCM) Loose coupling with Daedalus stack
Extended Proxy Architecture Summary Pluggable proxy architecture support for both modified and unmodified s separation of load-balancing concerns into PTM lication support layer efficient custom protocol explicit refinement and QoS mechanisms Authenticated proxied services Tight coupling with Daedalus stack dynamic network adaptation via NCM allow delivery policy through delivery classes
Some Open Issues Elements of the service architecture complex element interaction and inter-dependency the metering mechanism is not fully resolved Multiple simultaneous network s multiplexing of lication data undesirable for power-management Link-layer state on handoff is state transfer necessary? how to deliver data queued in base-station different link-management policy in new network? Network connection monitor stability and granularity of statistics
Function migration Some Open Issues (continued) Evil Twin versus protocol filters at the proxy can Rover-style migration coexist? Time-constant for proxy-adaptation how quickly does it adapt, and to what granularity of network variation? should the proxy receive adaptation hints? User issues understanding and specifying constraints data-type specific refinement s per-chunk, per-document, and per-session constraints