Presentation is loading. Please wait.

Presentation is loading. Please wait.

PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer.

Similar presentations


Presentation on theme: "PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer."— Presentation transcript:

1 PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer and Information Science University of Pennsylvania

2 Distributed Programming for Active Networks n What is an Active Network? n Why would I want one? n How do I program one? n PLAN n Where can I get it?

3 Traditional Networks R R R H H H H H

4 R R R H H H H H

5 Active Networks A A A A A A A A

6 Why Program the Network? u Multicast u Network Searching u Congestion Avoidance u Web Caching u Switch Diagnostics and Configuration u...

7 Can’t I do this stuff now? n In some cases, yes, but u Evolution is slow u Programming is tedious and error-prone n In other cases, no u Many solutions require participation of all network nodes

8 Design Goals

9 Design Space Programmable Packets Dynamically Extensible Routers Endpoints only (Internet) Every hop Where to add programmability? Where to evaluate packets?

10 Two Level Architecture

11 Design Space Programmable Packets Dynamically Extensible Routers Endpoints only (Internet) Every hop Where to add programmability? Where to evaluate packets?

12 Ping A B

13 Ping in PLAN fun ping(source:host, dest:host):unit = if not thisHostIs(dest) then OnRemote(|ping|(source,dest), dest, … ) else OnRemote(|ack|(), source, … ) fun ack() : unit = print(“Success”)

14 PLAN: the Language n Based on simply-typed calculus n Remote evaluation with OnRemote and chunks n Access to services via function calls n Explicit, global resource bound n Exceptions and error handling n Static guarantees u Type safety u Termination

15 OnRemote Primitive For Remote Evaluation OnRemote(f,dest,rb,routFun) n f: function to invoke remotely + args (a chunk) n dest: remote location n rb: resource bound n routFun: routing function name

16 Chunks almost first-class functions n Three components: u code (optional) u function name u actual parameters n Semantics at evaluation time: u process code in fresh top-level environment u resolve function name u evaluate function with given parameters

17 Name Resolution n Three components: u code (optional) u function name u actual parameters n Semantics at evaluation time: u process code in fresh top-level environment u resolve function name u evaluate function with given parameters

18 Chunks means for encapsulation fun v(c:chunk, cs:blob): unit = if verifyCS(c,cs) then eval(c) let val c: chunk = |foo|() val d: chunk = checksum(c) in OnRemote(d,dest,getRB(),defaultRoute) end

19 What’s Missing? n Direct recursion u can fake it with OnRemote n General recursive types u built-in homogeneous lists + fold n Higher-order functions u can use chunks n Synchronization n Mutation u both may occur at the service level

20 Why not use language X? n Special domain n Simple languages for simple tasks n Lightweight interpretation n Possible a priori guarantees u type safety u memory/CPU usage u termination

21 PLANet n An Active Internetwork n Based on IP but all packets are PLAN programs n RIP, ARP, etc. are service-level protocols - communicate using PLAN programs

22 n RIP, ARP, DNS, etc. n Hard parts are implemented as services u Require state u Timing oriented u Security n Communication occurs via PLAN u Routing update broadcasts, ARP requests, etc. Service Level Protocols

23 Summary n Active Networks provide a richer network model u faster evolution u improved flexibility n PLAN embodies AN design space u packet programs (PLAN) u service programs (Caml) n Programming model is simple and effective

24 Where to get PLAN PLAN 3.1 (and PLANet) www.cis.upenn.edu/~switchware/PLAN/ includes new security features! SwitchWare homepage (papers and code) www.cis.upenn.edu/~switchware


Download ppt "PLAN: Packet Language for Active Networks Michael Hicks joint work with Jon Moore, Pankaj Kakkar, Carl Gunter, and Scott Nettles Switchware Project Computer."

Similar presentations


Ads by Google