Presentation is loading. Please wait.

Presentation is loading. Please wait.

Active Network Applications Tom Anderson University of Washington.

Similar presentations


Presentation on theme: "Active Network Applications Tom Anderson University of Washington."— Presentation transcript:

1 Active Network Applications Tom Anderson University of Washington

2 Large Scale Demonstrations Active 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

3 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

4 Application Area 1 Active Naming

5 Traditional Internet Naming DNS Server URL Host Binding IP Address Image (1024X768) Proxy Server Traditional Model Static name -> IP address binding. Naming and transport separate. Not flexible or extensible.

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

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

8 Active Names: Basic Idea Data Name 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.

9 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 ProxyServer

10 Performance Gains Client Proxy 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

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

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

13 Active Node Architecture Micro-kernel Approach Virtual Machine Resolver NWNW $ Local Resources Namespaces Http DNS Distiller Hit Count... Utilities

14 Application 1: Replica Selection l DNS Round-Robin »Randomly choose replica »Avoid hot-spots l Distributed Director »Route to nearest replica »Geographic locality l Active Naming »Previous performance, distance »Adaptive l DNS Round-Robin »Randomly choose replica »Avoid hot-spots l Distributed Director »Route to nearest replica »Geographic locality l Active Naming »Previous performance, distance »Adaptive Berkeley Replica Seattle Replica Berkeley Clients

15 Replica Selection

16 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

17 Application 2: Mobile Distillation Distillation at Server: Saves bandwidth Proxy: Saves server CPU cycles Active: Cost estimate of both approaches

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

19 Application 4: Active Caches How to improve on 50% cache hit rates?

20 Application Area 2 Internet Measurement

21 Application Area 3 Detour: Intelligent Routing and Congestion Control

22 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


Download ppt "Active Network Applications Tom Anderson University of Washington."

Similar presentations


Ads by Google