Active Network Applications Tom Anderson University of Washington.
-
Upload
kristian-watkins -
Category
Documents
-
view
217 -
download
0
Transcript of Active Network Applications Tom Anderson University of Washington.
Active Network Applications
Tom Anderson
University of Washington
Large Scale DemonstrationsActive Naming
• Name = mobile code to flexibly access service/data
• Unifies URNs, replica load balancing, distillation, mobility, ...
Internet Measurement• Coordinated multipoint measurement to determine link latency,
bandwidth, drop rate, queuing delay and policy, etc.
Detour• Intelligent border routers for aggregated congestion control and adaptive
multipath routing
• Potential order of magnitude improvement in latency, bandwidth, drop rate, predictability
Approach
Rethink Internet naming, routing, and congestion control, assuming computation in the network
Build prototype demonstration systems; measure on real workloads
Use ABONE for deployment
Application Area 1Active Naming
Traditional Internet NamingDNS
Server
URL
Host BindingIP Address
Image (1024X768)Proxy Server
Traditional Model
• Static name -> IP address binding.
•Naming and transport separate.
•Not flexible or extensible.
Current Attempts to Add Flexibility to Name Binding
HTTP redirect
DNS round robin
Cisco Local Director/Distributed Director
URN’s with sed scripts to mangle names
Global object IDs (e.g., Globe, Legion)
Web caches/Active Caches
Mobile IP
...
Motivation•Consider Scenario: context-sensitive naming
–User types cnn.com.
–If client is behind a modem, it gets back a b/w image.
–If client is a palm pilot, it gets a distilled image.
–If the client is in Europe, it goes to the European replica.
•Combine naming and transport in one framework.
•Provide flexibility and extensibility in the way wide area resources are accessed.
Active Names: Basic Idea
DataName Programs
•Names resolved to mobile, secure programs Flexibility
•Active Names organized into hierarchical namespaces. A program is associated with each namespace.
•Namespace programs can be changed Extensibility.
•Active Names are connection oriented: better end-to-end semantics and performance.
Programming Model
•Location independent programs»Programs may run on any AN node
•Stream data model»Each program operates on a data stream which is the result
of the previous program
•Continuation passing style »Control does not have to return to the caller program
Request Program1 Program2
Client Proxy Server
Performance Gains
Client Proxy Server
Server
Client Proxy
•Application customized transport protocols.
•Programs are location independent. Location can be chosen to optimally utilize resources (e.g., distillation).
•Customization can be performed close to client instead of at the server (e.g., to cache dynamic content).
•3 way RPC
Delegation•Active names organized in a hierarchy of namespaces
•Namespace programs can delegate to subordinate namespaces
After methods•Continuation passing style programming •Namespace programs bundle remaining work into “after methods” before passing control E.G. [Customizer|http|reply] --> [prefetch|http|distill|reply]
Composing Services
Root-HTTP
cnn yahoo ...
Security•Protection between active name programs provided by Java’s type safety mechanism.
•Caller passes a certificate to the callee granting it a subset of its rights.
•Transitive closure of the certificates determines the rights of a principal.
•For instance, each caller might grant its callee the right to respond to the client.
Active Node ArchitectureMicro-kernel Approach
Virtual MachineResolverNW
$Local Resources
NamespacesHttp DNS
Distiller Hit Count
...
Utilities
Application 1: Replica Selection
DNS Round-Robin» Randomly choose replica
» Avoid hot-spots
Distributed Director» Route to nearest replica
» Geographic locality
Active Naming» Previous performance, distance
» Adaptive
DNS Round-Robin» Randomly choose replica
» Avoid hot-spots
Distributed Director» Route to nearest replica
» Geographic locality
Active Naming» Previous performance, distance
» Adaptive
BerkeleyReplica
SeattleReplica
BerkeleyClients
Replica Selection
0
0.05
0.1
0.15
0.2
0.25
0.3
0 5 10 15
Offered Load
Res
pon
se T
ime
(s)
NearestRandomActive
Application 2: Mobile Distillation
Clients name a single object
Returned object based on client• Network connection, screen
Current approach [Fox97]• Proxy maintains client profile
• Requests object, distills
Active naming• Transmit name + applet
• Flexible distillation point
• Tradeoff computation/bandwidth
• Support mobile clients
Client-Specific Naming
Variables: Network Screen
Application 2: Mobile Distillation
0
10
20
30
2 3 4 6 8 10 12 15 20
Number of Clients
Dis
tilla
tio
n L
ate
nc
y (
s)
Active
Server
Proxy
Distillation at
•Server: Saves bandwidth
•Proxy: Saves server CPU cycles
•Active: Cost estimate of both approaches
Application 3: Customization•Client customization: distilling the image
•Server customization: ad rotation, server-side includes.
•Composing these customizations using Active Names leads to 2-fold improvement in performance:
-Server customization can take place at proxy.
-Distillation further improves performance.
Application 4: Active Caches
Reason Requests Possible Strategy
Dynamic 20.7% Replace CGI w/AN Program
Consistency Polling 9.9% Server driven consistency
“Uncachable” 9.2% AN for hit counting, customization
Compulsory 44.8% Prefetching
Redirect 3.7% AN load balancing
Misc. 11.5% Error handling, prefetching, etc.
How to improve on 50% cache hit rates?
Application Area 2Internet Measurement
Application Area 3Detour: Intelligent Routing and
Congestion Control
Summary
Three large scale demonstrations• Active Names
• Internet measurement
• Detour routing and congestion control
White papers and software prototypes available:• http://www.cs.washington.edu/research/networking/detour
ABONE ports in progress