Active Network Applications Tom Anderson University of Washington.

22
Active Network Applications Tom Anderson University of Washington

Transcript of Active Network Applications Tom Anderson University of Washington.

Page 1: Active Network Applications Tom Anderson University of Washington.

Active Network Applications

Tom Anderson

University of Washington

Page 2: 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

Page 3: Active Network Applications Tom Anderson University of Washington.

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

Page 4: Active Network Applications Tom Anderson University of Washington.

Application Area 1Active Naming

Page 5: Active Network Applications Tom Anderson University of Washington.

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.

Page 6: Active Network Applications Tom Anderson University of Washington.

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

...

Page 7: Active Network Applications Tom Anderson University of Washington.

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.

Page 8: Active Network Applications Tom Anderson University of Washington.

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.

Page 9: Active Network Applications Tom Anderson University of Washington.

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

Page 10: Active Network Applications Tom Anderson University of Washington.

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

Page 11: Active Network Applications Tom Anderson University of Washington.

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 ...

Page 12: Active Network Applications Tom Anderson University of Washington.

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.

Page 13: Active Network Applications Tom Anderson University of Washington.

Active Node ArchitectureMicro-kernel Approach

Virtual MachineResolverNW

$Local Resources

NamespacesHttp DNS

Distiller Hit Count

...

Utilities

Page 14: Active Network Applications Tom Anderson University of Washington.

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

Page 15: Active Network Applications Tom Anderson University of Washington.

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

Page 16: Active Network Applications Tom Anderson University of Washington.

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

Page 17: Active Network Applications Tom Anderson University of Washington.

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

Page 18: Active Network Applications Tom Anderson University of Washington.

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.

Page 19: Active Network Applications Tom Anderson University of Washington.

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?

Page 20: Active Network Applications Tom Anderson University of Washington.

Application Area 2Internet Measurement

Page 21: Active Network Applications Tom Anderson University of Washington.

Application Area 3Detour: Intelligent Routing and

Congestion Control

Page 22: Active Network Applications Tom Anderson University of Washington.

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