SlideShare a Scribd company logo
Rob Jaeger, University of Maryland, 
Department of Computer Science 
1 
Practical Considerations for 
Deploying a Java Active 
Networking Platform 
Robert F. Jaeger 
University of Maryland 
Department of Computer Science 
rfj@cs.umd.edu
Programmable Network Devices 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
2 
Openly Programmable devices enable 
new types of intelligence on the network
Rob Jaeger, University of Maryland, 
Department of Computer Science 
3 
Agenda 
• Local Computation 
• New types of applications 
• Programmable and Active Networks 
• Network Services Architecture 
• Issues 
• Summary
Changing the Rules of the Game 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
4 
• Move Turing Machine onto 
device 
– Run non-vendor/non-bundled 
applications on network device 
while (true) { 
doLocalProcessingOnDevice() 
}
Non-vendor/Non-bundled Applications 
Applet 
Web Server Web Browser 
The JVM is in the Browser 
DDoowwnnllooaadd aapppplliiccaattiioonnss ffoorr llooccaall pprroocceessssiinngg 
non-bundled application 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
5 
Reversed Applets 
Server 
The JVM is in the Device: supports non-bundled apps
Rob Jaeger, University of Maryland, 
Department of Computer Science 
6 
The Web Changed Everything 
• Browsers 
– Introducing JVM to browsers 
allowed dynamic loading of Java 
Applets to end stations 
• Routers 
– Introducing JVM to routers allows 
dynamic loading of Java Services 
to routers 
This Capability WILL Change Everything
Rob Jaeger, University of Maryland, 
Department of Computer Science 
7 
Architecture to Augment 
Vendor-Provided Software 
• Supports non-vendor applications 
• End-user custom application development 
– Tight interaction between business applications and 
network devices 
• Domain experts who understand business goals 
• Innovative approaches 
– “Features on Demand” 
• download software services 
• dynamically add new capabilities
Paradigm Shift 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
8 
Java-based 
Application 
• Supports distributed 
computing applications in 
which network devices 
participate 
– router to router 
– server to router 
Java-based 
Application 
Java-based 
Application
D Example: Doowwnnllooaaddiinngg IInntteelllliiggeennccee 
JVM 
OS 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
9 
Network Device 
Dynamic 
loading 
HW 
Monitor 
React 
Authentication 
Security 
Intelligence 
application
Rob Jaeger, University of Maryland, 
Department of Computer Science 
10 
Device-based Intelligence 
• Static-vs-Dynamic Agents 
– Static 
• SNMP set/get mechanisms 
• Telnet, User Interfaces (cli, web, etc…) 
– Dynamic closed-loop interaction on nodes 
• capable of dealing with new and difficult situations 
• autonomous and rational properties 
• system monitoring & modification 
• report status and trends
Rob Jaeger, University of Maryland, 
Department of Computer Science 
11 
Agenda 
• Local Computation 
• New types of Applications 
• Programmable and Active Networks 
• Network Services Architecture 
• Issues 
• Summary
Rob Jaeger, University of Maryland, 
Department of Computer Science 
12 
New Types of Applications 
• Mobile Agents 
• Local Intelligence for NMS 
• Application layer collaboration among 
routers 
• Distributed computing involving network 
devices and servers 
• E-commerce
Rob Jaeger, University of Maryland, 
Department of Computer Science 
13 
Mobile Agents 
• Intrusion Detection - Hacker Chaser 
• Traceroute for Layer 2 
• Mobile Connectivity Mapper
Extensive access 
to internal resources 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
No more 
polling 
14 
Local Intelligence for NMS: 
Diagnostic Agents 
• Download Intelligent Agent 
monitor from NMS to the 
device. 
• Wait for threshold. 
• Might be complex conditions 
• Trend analysis 
• Send “condition exceeded” 
event to NMS. 
• Automatic download 
appropriate application 
• Application takes action. 
Monitor 
Appropriate 
Application 
Download 
Download 
Complex Condition 
Exceeded 
NMS 
router
Application Layer Collaboration 
Among Routers and Servers 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
15 
• Multicast Caching 
• Web Caching 
• Server farm load balancing 
– server state monitored 
– rerouting based on congestion/load 
• Auctioning Applications
Rob Jaeger, University of Maryland, 
Department of Computer Science 
16 
E-Commerce Example 
Matching Customers with Suppliers 
– comparing price/capability options 
– ISP QoS capabilities & availability 
Business logic based operation changes 
– Resize forwarding queues 
– Modify congestion control algorithm 
– Adjust Packet Scheduling 
– Change routing table
Rob Jaeger, University of Maryland, 
Department of Computer Science 
17 
Agenda 
• Local Computation 
• New types of applications 
• Programmable and Active Networks 
• Architecture 
• Issues 
• Summary
Rob Jaeger, University of Maryland, 
Department of Computer Science 
18 
Programmable Networks 
• IEEE P1520 Working Group 
• Benefits of Standard Network APIs 
– separation of service business/vendor business 
• ISP resources visible for controlled modification 
• 3rd party signaling vendors 
– faster standardization 
– extensibility 
– richer semantics 
• e.g. dynamic binding 
http://www.ieee-pin.org
Rob Jaeger, University of Maryland, 
Department of Computer Science 
19 
Programmable Networks 
• IETF - vs- IEEE P1520 
– IEFT - Internet standardized algorithms and 
protocol semantics 
– P1520 standardized programming interfaces 
• MPLS Example 
– Create IDL that captures the programmability 
requirements of IP routers/switches from MPLS 
algorithm perspective 
– Common interface definitions would be used 
by RSVP, LDP, or traffic engineering
Rob Jaeger, University of Maryland, 
Department of Computer Science 
20 
The P1520 Reference Model 
Algorithms for value-added communication 
services created by network operators, users, 
and third parties 
Algorithms for routing and connection 
management, directory services etc. 
Value Added 
Services Level 
Virtual Network Device (software representation) 
Physical Elements (hardware, namespace) 
L interface 
Network Generic 
Services Level 
Virtual Network 
Devices Level 
End User Applications 
V interface 
U interface 
CCM interface 
PE Level
Rob Jaeger, University of Maryland, 
Department of Computer Science 
21 
Active Networking 
“The active network provides a 
platform on which network 
services can be experimented 
with, developed, and 
deployed” 
http://www.darpa.mil/ito/research/anets/index.html
Rob Jaeger, University of Maryland, 
Department of Computer Science 
22 
Active Network Objectives 
• Minimize amount of global agreement 
– Do not require global agreement to support dynamic 
modification of the network 
• Support fast-path processing optimization 
• Scale to very large global active networks 
• Provide mechanisms to ensure security and 
robustness of nodes and of the network 
• Provide mechanisms to support different QoS/CoS
Rob Jaeger, University of Maryland, 
Department of Computer Science 
23 
Active Network Architecture 
• NodeOS - manages resources for the node 
• Execution Environment - 
– provides an API to applications or 
– a shell interface through which end-to-end 
nework services can be accessed. 
• Active Applications - implementation of 
network services which utilize the local 
computation and access to router resources.
Rob Jaeger, University of Maryland, 
Department of Computer Science 
24 
Node Operating System 
• Latest Specification (June 15, 1999) 
• Abstractions 
– Channels 
– Memory Pools 
– Thread Pools 
– Files 
– Flows
Applications Applications . . 
. 
Execution Environment 
InChan OutChan 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
25 
NodeOS - Channels 
• Flows create channels to 
send, receive and forward 
packets 
– InChan - receives packet 
from network to EE 
– OutChan - puts packets onto 
the network from EE 
– CutChan - bypasses the 
Execution Environment 
• Bandwidth Limitation 
• Buffer Pool -- queued pkts 
NodeOs 
CutChan 
Transmission Facilities
ANTS 
Execution 
Environment 
typeID=18 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
typeID=19 
26 
Active Network Encapsulation 
Protocol 
• Routes AN packets to EEs 
• ANEP_PORT = udp 3322 
• TypeID identifies EE 
• Tag Length Values (TLVs) 
– specify source/dest IP addresses 
– port numbers 
– Payload NodeOS 
PLAN 
Execution 
Environment 
ANEPd 
Transmission Facilities
Rob Jaeger, University of Maryland, 
Department of Computer Science 
27 
NodeOS - Memory Pools 
• Combines memory for one or more flows 
• Shared by threads within flows 
• mmap-style interface to page allocation 
• flow in which thread runs charged for 
resource 
• EE notified when flow exceeds limits 
• Flow (and associated threads) terminated 
upon violation
Rob Jaeger, University of Maryland, 
Department of Computer Science 
28 
NodeOS - Thread Pools 
• Computational Abstraction 
– Number of threads in Pool 
– Scheduler to be used (round robin, … ) 
– Max execution time between yields 
– Per thread stack size 
• No explicit operation for creation/ 
termination -- activated by events 
• Termination of flow if thread 
misbehaves
Rob Jaeger, University of Maryland, 
Department of Computer Science 
29 
NodeOS - File 
• Not Manditory 
• Provides Persistent Storage 
• EE specific view of filesystem 
– via namespace(AN/ANTS; AN/PANTS) 
• Shared Memory for inter-EE 
communication
Applications Applications . . 
. 
Execution Environment 
InChan OutChan 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
30 
NodeOS - Flows 
• Primary abstraction for 
accounting, admission 
control, and scheduling 
• Flow consists of: 
– Channels 
– Memory 
– Threads 
• Flow can be 
– Execution Environments 
– Active Applications 
NodeOs 
CutChan 
Transmission Facilities
Mobile Code Multicast Ping 
InChan OutChan 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
31 
ANTS Execution Environment 
• Facilitates deploying 
new protocols and 
services in network 
• Toolkit for 
implementing an 
active network 
ANTS 
Execution Environment 
– Active Nodes 
– Network Nodes NodeOs 
CutThru
Rob Jaeger, University of Maryland, 
Department of Computer Science 
32 
ANTS Execution Environment 
• Capsules are the unit of transfer for data 
and code 
– source & destination addresses 
– previous node address 
– resource limits 
– encoding and evaluation methods methods 
– Protocol/Group/Method ID access methods 
• Data Capsule 
– source & destination port numbers 
– identifies active application
Rob Jaeger, University of Maryland, 
Department of Computer Science 
33 
ANTS Code Distribution 
• “Node” object is core of Runtime System 
– UDP Channels 
– Methods to Send/Receive Capsules 
– Supports numbers applications identified by 
port number 
• Consists of Built-in protocols 
• Accepts registration of new protocol 
– capsule code stored in code cache 
– signature (hash) computed for code
Rob Jaeger, University of Maryland, 
Department of Computer Science 
34 
ANTS Code Distribution 
• Allows Definition of additional protocols 
– Protocol 
– Code Group (transitive closure of calls) 
• Dynamic Code Distribution via Capsules 
– Capsule arrives and node can’t evaluate it 
• protocol not on active node 
• must request packet from previous active node 
– DLBootstrap Capsule 
– DLRequest Capsule 
– DLResponse Capsule
Execution Environment 
InChan OutChan 
DLResponse 
Capsule 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
35 
ANTS Execution Environment 
AN_Ping 
Application 
ANTS 
NodeOS 
OutChan 
InChan 
AN_Ping 
Application 
ANTS 
Execution Environment 
Ping 
Capsule 
NodeOS 
DLBootstrap 
Capsule 
DLRequest 
Capsule
Rob Jaeger, University of Maryland, 
Department of Computer Science 
36 
Agenda 
• Local Computation 
• New types of applications 
• Programmable and Active Networks 
• Architecture 
• Issues 
• Summary
JNI 
Operating System 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
37 
OOppeenn DDeevviiccee AArrcchhiitteeccttuurree 
Service 
Download 
Device HW 
JVM 
Java 
Service 
Java 
Service 
Java Lib 
C/C++ 
API 
Java 
API 
Device 
Code 
DataCom API 
Native 
Code 
Device 
Drivers
SNMP API for Network Mgmt 
• API is generated automatically 
• Device-based monitoring 
– Query MIB 
– Identify trends 
• Initiate action locally 
– Report trends and/or significant events 
– Download problem specific diagnostic code 
– Take corrective action 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
38
Client API 
Abstract Variable Interface 
MIB Map 
Native Variable Interface 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
39 
MIB API Example 
Java 
Virtual 
Machine 
SNMP PDU Layer 
Instrumentation 
& Annotation 
Layer 
Real Time Operating System 
Processor and other Hardware 
Client Bean 
•API uses a MIB Map to 
dispatch requests to variable 
access routines 
•Different parts of the MIB 
tree can be serviced by 
different mechanisms 
•An ad hoc interface to the 
SNMP instrumentation 
layer 
•A generic SNMP 
loopback
Service 3 
Service 1 
Java Network Services Environment 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
40 
Java Network Services 
Environment 
Service 2 
Java Virtual Machine 
JavaResouceManager 
dependencies 
Service 4
Our Prototype Java Environment 
• Present RTOS with single unified task that 
includes: 
– Java VM (JVM) 
– Java Resource Manager (JRM) 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
41 
• thread scheduling 
• manages CPU utilization 
– JVM time-slice is managed by the JRM preemptive 
thread scheduler 
• internal memory manager 
• garbage collection with priority based on available 
memory
Rob Jaeger, University of Maryland, 
Department of Computer Science 
42 
Why Java 
• Dynamic class loading 
• Reuse security mechanisms 
– Byte-code Verifier 
– Security Manager 
– Class Loader 
• System stability 
– Constrain applications to the Java VMs 
– Prohibit native code applications 
• Extensible, portable, & distributable 
services
Rob Jaeger, University of Maryland, 
Department of Computer Science 
43 
But Java is slooowwwww 
• Not appropriate in the fast-path 
data forwarding plane 
– forwarding is done by ASICs 
– packet processing not affected 
• Java applications run on the 
CPU 
– Packets destined for Java 
application are pushed into the 
control plane
Rob Jaeger, University of Maryland, 
Department of Computer Science 
44 
Agenda 
• Openness 
• Local Computation 
• New type of applications 
• Programmable and Active Networks 
• Architecture 
• Issues & Questions 
• Summary
Rob Jaeger, University of Maryland, 
Department of Computer Science 
45 
Architecture Issues 
Approach 1: Native Threads 
• One JVM per principle 
• One RTOS task per JVM 
• Non-interference between Java applications 
• Difficult thread-to-thread communication 
and sharing of data between threads 
• Creates a dependency on underlying RTOS 
• Multiple JVM instances consume resources
Rob Jaeger, University of Maryland, 
Department of Computer Science 
46 
Architecture Issues 
Approach 2: Single JVM - Green Threads 
• Present one unified task to the RTOS 
• JVM manages CPU & memory resources 
between competing threads; 
• Propagation of component failure 
• Requires modifications to the JVM 
• Binding of resources to the JVM
Rob Jaeger, University of Maryland, 
Department of Computer Science 
47 
Security Issues 
• Old model: Cannot isolate core 
router functions 
– Dangerous Pointers (C/C++) 
• Can touch sensitive memory location 
– Risk: Memory allocations and Free 
• Allocation without freeing (leaks) 
• Free without allocation (core dump !!!! 
) 
• Limited security in SNMP
Rob Jaeger, University of Maryland, 
Department of Computer Science 
48 
Security and Stability 
• secure download of Java Applications 
• safe execution environment 
– insulate core router applications from 
dynamically loaded applications 
– protect dynamically loaded services from one 
another
Strong Security in the new model 
• The new concept is to securely download 
3rd party code to network devices 
– Digital Signature 
– Administratively Certified Services 
– Access only to the published API 
– Verifier - only correct code is loaded 
– Class loader access list 
– No pointers that can do harm 
– No access outside the JVM space 
– JVM has run time bounds, type, and execution 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
49 
checking
Rob Jaeger, University of Maryland, 
Department of Computer Science 
50 
Language Based Protection 
• Type Safety 
– Reference to Objects, not random memory 
– Inappropriate accesses to memory not allowed 
• Restricts what operations code can perform on what 
memory locations 
• operations on objects must be valid for that object 
– dynamic access control (via reference) 
– static access control (via public, private)
Rob Jaeger, University of Maryland, 
Department of Computer Science 
51 
Access Control [6] 
class A { 
private int i; 
public int j; 
public static void method1() { 
A a1 = new A(); 
A a2 = new A(); 
B.method2(a1); } 
} 
class B 
public static void method2 (A arg) { 
arg.j++; 
arg.i++; // illegal 
} 
- method2 has access to public j 
but not to private i 
- method2 cannot forge a reference to a2 
given the a1 reference
Rob Jaeger, University of Maryland, 
Department of Computer Science 
52 
How to Access a Class 
1. Must get Class Object 
a. Class is in classpath (not secure on net) 
b. Class reference is available (visible) 
c. Have a ClassLoader Object to load Class 
2. Reference to Object 
3. Access control (public) 
For static methods, need just 1 and 3
Rob Jaeger, University of Maryland, 
Department of Computer Science 
53 
Class Loaders 
• Load new classes into the JVM at runtime 
– fetches code from URL or file 
– submits to JVM for verification 
– integrates code into JVM for execution 
– references to other classes causes additional 
class loader invocations 
• Enforces protection - expose visibility and 
hiding 
– classes see classes loaded by same classloader 
– can use class loaders to expose classes
Rob Jaeger, University of Maryland, 
Department of Computer Science 
54 
NameSpaces 
• A namespace is 
– a set of unique names of classes loaded by a 
Class Loader and the binding of each name to a 
specific class object 
– variables, methods, & type names are all 
different instances in different domains
Cross Domain Communication 
• Desire that Protection Domains share 
classes and NOT require same Class Loader 
• How do we achieve this? 
– Runtime System to provide communication 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
55 
between components. 
– Java Network Service Environment 
– What is the policy?
Rob Jaeger, University of Maryland, 
Department of Computer Science 
56 
Building Protection Domains 
• Given multiple namespaces 
– Could use Object references for cross-domain 
communication: 
class FileSystem { 
private int accessRights 
private Directory rootDirectory 
public File open(String fileName) [6] 
} 
– Enforce protection policies per client 
– Problems result
Protection Domains - Revocation 
• Access to an object reference cannot be 
revoked 
• Wrap object with revocable object that is a 
delegator to real object 
– all methods wrapped 
• Programmer may forget to wrap objects 
referenced by wrapped object (tracking 
problem) 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
57
Protection Domains: Revocation[6] 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
58 
class A { public int method1(int a1, int a2); } 
class AWrapper { 
private A a; 
private boolean revoked; 
public int method1(int a1, int a2) { 
if (!revoked) return a.meth1(a1, a2) ; 
else throw new RevokedException; 
} 
public void revoke() {revoked=true;} 
public AWrapper (A realA) { 
a = realA; revoked = false; } 
}
Rob Jaeger, University of Maryland, 
Department of Computer Science 
59 
Protection Domains: Inter-domain 
dependencies 
• Sharing Object references between domains 
• Mutable shared objects can be changed 
• Malious attack: 
– pass byte array w/ legal bytecode to classloader 
– once verified, overwrite with illegal bytecode 
• Should copy bytecode to classloader, not 
pass reference
Rob Jaeger, University of Maryland, 
Department of Computer Science 
60 
Protection Domains: 
Termination 
• Upon domain termination: 
– should all references obtained be released? 
• two Strings in different domains may reference the 
same underlying byte array 
– should object be kept alive if referenced by 
other domains? 
• clients could hold onto references to objects of a 
dead server 
– GC frees objects when NO more references!!
Rob Jaeger, University of Maryland, 
Department of Computer Science 
61 
Protection Domains: Threads 
• Method invocation for cross domain calls 
both execute in same thread 
– caller blocks until callee returns 
• how does caller back out gracefully? 
– untrusted domain calls stop() or suspend 
after calling trusted method -- 
• state left unstable and blocked 
– untrusted callee can block caller that may be 
in critical section
Protection Domains: Accounting 
• How do you account for resources obtained 
by a domain? 
– CPU cycles 
– Memory pages 
– Bandwidth on a channel 
Rob Jaeger, University of Maryland, 
Department of Computer Science 
62
Rob Jaeger, University of Maryland, 
Department of Computer Science 
63 
J Kernel Safety [6] 
• Precise definition of protection domains 
– local object 
– non-local shared objects (capability objects) 
• Define communication channels between 
protection domains 
• Support revocation of capabilities 
• Clean termination semantics
Rob Jaeger, University of Maryland, 
Department of Computer Science 
64 
J-Kernel Class Loaders 
• Each ClassLoader defines a namespace 
– must manage & secure namespace 
– creates stub code at run-time for cross domain 
communication -- use local RMI calls 
• simulate thread switching for safe method calls 
• contains a revoke method to set handle to null 
– substitutes “safe” versions of standard classes 
• e.g. file system access
Rob Jaeger, University of Maryland, 
Department of Computer Science 
65 
J Kernel Concepts 
• Capabilities: 
– handles to resources in other domains 
– client throws an exception 
• Domain: 
– each domain has a namespace and threads 
under its control 
– shared classes 
– capabilities access is revoked upon termination
Rob Jaeger, University of Maryland, 
Department of Computer Science 
66 
J Kernel Concepts 
• Cross domain calls: 
– Invoke calls to “capability” methods 
• relies upon Java interface classes 
• extend remote (stub creation and marshalling code) 
– special calling convention 
• non capability objects are copied 
• capability objects are passed
Rob Jaeger, University of Maryland, 
Department of Computer Science 
67 
Observations 
• Provides high degree of safety for cross-domain 
communication 
• Expensive in terms of time 
– thread switching (simulated) 
– method invocation through stub 
– copying of non-capabilities
Rob Jaeger, University of Maryland, 
Department of Computer Science 
68 
Questions 
• How do you insulate core router 
functionality? 
• How do you securely download code? 
• How do you do resource accounting? 
• How do you assure resource safety? 
– fair share or priority share quotas? 
• CPU 
• Memory 
• Bandwidth
Rob Jaeger, University of Maryland, 
Department of Computer Science 
69 
Questions 
• How do you protect services from one 
another (trusted -vs- untrusted)? 
– stable state for critical sections 
• caller dies/is killed while trusted in critical section 
– enforce return from untrusted method 
– reject forbidden actions 
• Native or Green Threads?
Rob Jaeger, University of Maryland, 
Department of Computer Science 
70 
Agenda 
• Openness 
• Local Computation 
• New type of applications 
• Programmable and Active Networks 
• Architecture 
• Issues 
• Summary
Rob Jaeger, University of Maryland, 
Department of Computer Science 
71 
Summary 
– Turing Machine on network devices 
– dynamic agents vs. static agents 
– dynamic loading 
– strong security through JVM 
– safety among shared components via Java 
Network Services Environment 
Enabling Technology for the Revolution
Rob Jaeger, University of Maryland, 
Department of Computer Science 
72 
References 
[1] P.Bernadat, D. Lambright, and F. Travostino, “Towards a Resource-safe Java for Service- 
Guarantees in Uncooperative Environments,” IEEE Symposium on Programming Languages 
for Real-time Industrial Applications (PLRTIA) ‘98, Madrid, Spain, Dec. ‘98. 
[2] Active Networking Node OS Working Group, NodeOS Interface Specification", June 15, 1999 
[3] Active Networks Working Group, "Architectural Framework for Active Networks Version 0.9", 
August 31, 1999 
[4] T. Lavian, R. Jaeger, "Open Programmable Architecture for Java-enable Network Devices", 
Stanford Hot Interconnects, August 1999. 
[5] D. Wetherall et al. ANTS: A Toolkit for Building andDynamically Deploying Network Protocols. 
OPENARACH'98 
[6] C. Hawblitzel, C. Chang, G. Czajkowski, D. Hu, T. von Eicken, “Implementing Multiple 
Protection Domains in Java”, 1998 USENIX Annual Technical Conference, New Orleans, LA, 
June 1998 
[7] R. Jaeger, T. Lavian, R. Duncan, “Open Programmable Architecture for Java-enabled Network 
Devices”, To be presented at LANMAN ‘99, Sydney, Australia, November 1999

More Related Content

What's hot

Grid optical network service architecture for data intensive applications
Grid optical network service architecture for data intensive applicationsGrid optical network service architecture for data intensive applications
Grid optical network service architecture for data intensive applications
Tal Lavian Ph.D.
 
Thesis presentation
Thesis presentationThesis presentation
Thesis presentation
Alexios Lekidis
 
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
Zhenyun Zhuang
 
Common Design Elements for Data Movement Eli Dart
Common Design Elements for Data Movement Eli DartCommon Design Elements for Data Movement Eli Dart
Common Design Elements for Data Movement Eli Dart
Ed Dodds
 
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
Tutun Juhana
 
Software Define Networking (SDN)
Software Define Networking (SDN)Software Define Networking (SDN)
Software Define Networking (SDN)
Pradeep Kumar TS
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
Weijun Qin
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introduction
Luca Profico
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
Azhar Khuwaja
 
Enabling active flow manipulation in silicon-based network forwarding engines
Enabling active flow manipulation in silicon-based network forwarding enginesEnabling active flow manipulation in silicon-based network forwarding engines
Enabling active flow manipulation in silicon-based network forwarding engines
Tal Lavian Ph.D.
 
Ahmad Arbaz CV updated
Ahmad Arbaz CV updatedAhmad Arbaz CV updated
Ahmad Arbaz CV updated
Ahmed Arbaz
 
A sdn based application aware and network provisioning
A sdn based application aware and network provisioningA sdn based application aware and network provisioning
A sdn based application aware and network provisioning
Stanley Wang
 
Network research
Network researchNetwork research
Network research
Jisc
 
Chapter12
Chapter12Chapter12
Chapter12
Muhammad Ahad
 
Dc2 t1
Dc2 t1Dc2 t1
Cn01 introduction
Cn01 introductionCn01 introduction
Cn01 introduction
Dheeraj Kushwaha
 
Osi
OsiOsi
Chap1
Chap1Chap1
Chap1
selvadpm
 
05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC
RCCSRENKEI
 
Linac Coherent Light Source (LCLS) Data Transfer Requirements
Linac Coherent Light Source (LCLS) Data Transfer RequirementsLinac Coherent Light Source (LCLS) Data Transfer Requirements
Linac Coherent Light Source (LCLS) Data Transfer Requirements
inside-BigData.com
 

What's hot (20)

Grid optical network service architecture for data intensive applications
Grid optical network service architecture for data intensive applicationsGrid optical network service architecture for data intensive applications
Grid optical network service architecture for data intensive applications
 
Thesis presentation
Thesis presentationThesis presentation
Thesis presentation
 
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
Application-Aware Acceleration for Wireless Data Networks: Design Elements an...
 
Common Design Elements for Data Movement Eli Dart
Common Design Elements for Data Movement Eli DartCommon Design Elements for Data Movement Eli Dart
Common Design Elements for Data Movement Eli Dart
 
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)ET3003-2 OSI-TCPIP (Semester II 2013-2014)
ET3003-2 OSI-TCPIP (Semester II 2013-2014)
 
Software Define Networking (SDN)
Software Define Networking (SDN)Software Define Networking (SDN)
Software Define Networking (SDN)
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introduction
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
 
Enabling active flow manipulation in silicon-based network forwarding engines
Enabling active flow manipulation in silicon-based network forwarding enginesEnabling active flow manipulation in silicon-based network forwarding engines
Enabling active flow manipulation in silicon-based network forwarding engines
 
Ahmad Arbaz CV updated
Ahmad Arbaz CV updatedAhmad Arbaz CV updated
Ahmad Arbaz CV updated
 
A sdn based application aware and network provisioning
A sdn based application aware and network provisioningA sdn based application aware and network provisioning
A sdn based application aware and network provisioning
 
Network research
Network researchNetwork research
Network research
 
Chapter12
Chapter12Chapter12
Chapter12
 
Dc2 t1
Dc2 t1Dc2 t1
Dc2 t1
 
Cn01 introduction
Cn01 introductionCn01 introduction
Cn01 introduction
 
Osi
OsiOsi
Osi
 
Chap1
Chap1Chap1
Chap1
 
05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC
 
Linac Coherent Light Source (LCLS) Data Transfer Requirements
Linac Coherent Light Source (LCLS) Data Transfer RequirementsLinac Coherent Light Source (LCLS) Data Transfer Requirements
Linac Coherent Light Source (LCLS) Data Transfer Requirements
 

Viewers also liked

Newsletter Monitor, l'Email Marketing Analyzer
Newsletter Monitor, l'Email Marketing AnalyzerNewsletter Monitor, l'Email Marketing Analyzer
Newsletter Monitor, l'Email Marketing AnalyzerContactlab
 
5.3 radicals in equations
5.3   radicals in equations5.3   radicals in equations
5.3 radicals in equationsGary Ball
 
New York
New YorkNew York
New York
JH4
 
Decisions and tools of Influence
Decisions and tools of InfluenceDecisions and tools of Influence
Decisions and tools of Influence
Sridutt YS
 
BTO 2012 - E-Commerce & Turismo
BTO 2012 - E-Commerce & TurismoBTO 2012 - E-Commerce & Turismo
BTO 2012 - E-Commerce & Turismo
Contactlab
 
Social Media for Storytellers
Social Media for StorytellersSocial Media for Storytellers
Social Media for Storytellers
Lance Weiler
 
Improving PFM: The need for a Global PFM profession
Improving PFM: The need for a Global PFM professionImproving PFM: The need for a Global PFM profession
Improving PFM: The need for a Global PFM profession
icgfmconference
 
Joyce performance informed budgeting in the united states—tastes great or les...
Joyce performance informed budgeting in the united states—tastes great or les...Joyce performance informed budgeting in the united states—tastes great or les...
Joyce performance informed budgeting in the united states—tastes great or les...
icgfmconference
 
SEA handout
SEA handoutSEA handout
SEA handout
Rey Belen
 
2.4 cosine law
2.4   cosine law2.4   cosine law
2.4 cosine lawGary Ball
 
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
Matt Lacey
 
F5 Enterprise Manager v2.2
F5 Enterprise Manager v2.2F5 Enterprise Manager v2.2
F5 Enterprise Manager v2.2
F5 Networks
 
Rssai Presentation English
Rssai Presentation EnglishRssai Presentation English
Rssai Presentation English
icgfmconference
 
Tips & tricks to boost your email marketing campaigns
Tips & tricks to boost your email marketing campaignsTips & tricks to boost your email marketing campaigns
Tips & tricks to boost your email marketing campaigns
Contactlab
 
Introducing Windows Phone 7 Development
Introducing Windows Phone 7 DevelopmentIntroducing Windows Phone 7 Development
Introducing Windows Phone 7 Development
Matt Lacey
 
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_enDay2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
icgfmconference
 
Howtosixsenseswifi
HowtosixsenseswifiHowtosixsenseswifi
Howtosixsenseswifi
Danai Thongsin
 
Icgfm david ostermeyer keynote new methods of delivering development assistance
Icgfm david ostermeyer keynote new methods of delivering development assistanceIcgfm david ostermeyer keynote new methods of delivering development assistance
Icgfm david ostermeyer keynote new methods of delivering development assistance
icgfmconference
 
Meeting Nora April2010 En
Meeting Nora April2010 EnMeeting Nora April2010 En
Meeting Nora April2010 En
Danai Thongsin
 

Viewers also liked (20)

Newsletter Monitor, l'Email Marketing Analyzer
Newsletter Monitor, l'Email Marketing AnalyzerNewsletter Monitor, l'Email Marketing Analyzer
Newsletter Monitor, l'Email Marketing Analyzer
 
11.Kociaki
11.Kociaki11.Kociaki
11.Kociaki
 
5.3 radicals in equations
5.3   radicals in equations5.3   radicals in equations
5.3 radicals in equations
 
New York
New YorkNew York
New York
 
Decisions and tools of Influence
Decisions and tools of InfluenceDecisions and tools of Influence
Decisions and tools of Influence
 
BTO 2012 - E-Commerce & Turismo
BTO 2012 - E-Commerce & TurismoBTO 2012 - E-Commerce & Turismo
BTO 2012 - E-Commerce & Turismo
 
Social Media for Storytellers
Social Media for StorytellersSocial Media for Storytellers
Social Media for Storytellers
 
Improving PFM: The need for a Global PFM profession
Improving PFM: The need for a Global PFM professionImproving PFM: The need for a Global PFM profession
Improving PFM: The need for a Global PFM profession
 
Joyce performance informed budgeting in the united states—tastes great or les...
Joyce performance informed budgeting in the united states—tastes great or les...Joyce performance informed budgeting in the united states—tastes great or les...
Joyce performance informed budgeting in the united states—tastes great or les...
 
SEA handout
SEA handoutSEA handout
SEA handout
 
2.4 cosine law
2.4   cosine law2.4   cosine law
2.4 cosine law
 
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
 
F5 Enterprise Manager v2.2
F5 Enterprise Manager v2.2F5 Enterprise Manager v2.2
F5 Enterprise Manager v2.2
 
Rssai Presentation English
Rssai Presentation EnglishRssai Presentation English
Rssai Presentation English
 
Tips & tricks to boost your email marketing campaigns
Tips & tricks to boost your email marketing campaignsTips & tricks to boost your email marketing campaigns
Tips & tricks to boost your email marketing campaigns
 
Introducing Windows Phone 7 Development
Introducing Windows Phone 7 DevelopmentIntroducing Windows Phone 7 Development
Introducing Windows Phone 7 Development
 
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_enDay2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
Day2 sp2-2 presentation-icgfm_may2014tonyhegarty_en
 
Howtosixsenseswifi
HowtosixsenseswifiHowtosixsenseswifi
Howtosixsenseswifi
 
Icgfm david ostermeyer keynote new methods of delivering development assistance
Icgfm david ostermeyer keynote new methods of delivering development assistanceIcgfm david ostermeyer keynote new methods of delivering development assistance
Icgfm david ostermeyer keynote new methods of delivering development assistance
 
Meeting Nora April2010 En
Meeting Nora April2010 EnMeeting Nora April2010 En
Meeting Nora April2010 En
 

Similar to Practical Considerations for Deploying a Java Active Networking Platform

Programmable Network Devices
Programmable Network DevicesProgrammable Network Devices
Programmable Network Devices
Tal Lavian Ph.D.
 
Open programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devicesOpen programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devices
Tal Lavian Ph.D.
 
Open Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network DevicesOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices
Tal Lavian Ph.D.
 
4_SDN.pdf
4_SDN.pdf4_SDN.pdf
4_SDN.pdf
ssuser054b31
 
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Ed Dodds
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptx
Sameer Ali
 
Big Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking ScenariosBig Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking Scenarios
Stenio Fernandes
 
Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015
Christian Esteve Rothenberg
 
Решения WANDL и NorthStar для операторов
Решения WANDL и NorthStar для операторовРешения WANDL и NorthStar для операторов
Решения WANDL и NorthStar для операторов
TERMILAB. Интернет - лаборатория
 
2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg
Christian Esteve Rothenberg
 
ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014
Michael Christofferson
 
Active Networking
Active NetworkingActive Networking
Active Networking
Tal Lavian Ph.D.
 
Some Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise NetworksSome Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise Networks
Open Networking Summits
 
Network cost services
Network cost servicesNetwork cost services
Network cost services
George Xilouris
 
Task allocation on many core-multi processor distributed system
Task allocation on many core-multi processor distributed systemTask allocation on many core-multi processor distributed system
Task allocation on many core-multi processor distributed system
Deepak Shankar
 
EduDivision-DATACOM NETWORKING
EduDivision-DATACOM NETWORKINGEduDivision-DATACOM NETWORKING
EduDivision-DATACOM NETWORKING
igede tirtanata
 
SDN and NFV Value in Business Services - A Presentation By Cox Communications
SDN and NFV Value in Business Services - A Presentation By Cox CommunicationsSDN and NFV Value in Business Services - A Presentation By Cox Communications
SDN and NFV Value in Business Services - A Presentation By Cox Communications
Cisco Service Provider
 
Week_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.pptWeek_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.ppt
home107
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
Bangladesh Network Operators Group
 
Opal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsOpal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific Applications
Sriram Krishnan
 

Similar to Practical Considerations for Deploying a Java Active Networking Platform (20)

Programmable Network Devices
Programmable Network DevicesProgrammable Network Devices
Programmable Network Devices
 
Open programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devicesOpen programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devices
 
Open Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network DevicesOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices
 
4_SDN.pdf
4_SDN.pdf4_SDN.pdf
4_SDN.pdf
 
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
Creating a Climate for Innovation on Internet2 - Eric Boyd Senior Director, S...
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptx
 
Big Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking ScenariosBig Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking Scenarios
 
Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015
 
Решения WANDL и NorthStar для операторов
Решения WANDL и NorthStar для операторовРешения WANDL и NorthStar для операторов
Решения WANDL и NorthStar для операторов
 
2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg
 
ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014
 
Active Networking
Active NetworkingActive Networking
Active Networking
 
Some Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise NetworksSome Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise Networks
 
Network cost services
Network cost servicesNetwork cost services
Network cost services
 
Task allocation on many core-multi processor distributed system
Task allocation on many core-multi processor distributed systemTask allocation on many core-multi processor distributed system
Task allocation on many core-multi processor distributed system
 
EduDivision-DATACOM NETWORKING
EduDivision-DATACOM NETWORKINGEduDivision-DATACOM NETWORKING
EduDivision-DATACOM NETWORKING
 
SDN and NFV Value in Business Services - A Presentation By Cox Communications
SDN and NFV Value in Business Services - A Presentation By Cox CommunicationsSDN and NFV Value in Business Services - A Presentation By Cox Communications
SDN and NFV Value in Business Services - A Presentation By Cox Communications
 
Week_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.pptWeek_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.ppt
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
Opal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsOpal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific Applications
 

More from Tal Lavian Ph.D.

Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Photonic line sharing for high-speed routers
Photonic line sharing for high-speed routersPhotonic line sharing for high-speed routers
Photonic line sharing for high-speed routers
Tal Lavian Ph.D.
 
Systems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a networkSystems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a network
Tal Lavian Ph.D.
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menu
Tal Lavian Ph.D.
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Systems and methods for electronic communications
Systems and methods for electronic communicationsSystems and methods for electronic communications
Systems and methods for electronic communications
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...
Tal Lavian Ph.D.
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
Tal Lavian Ph.D.
 
Method and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay networkMethod and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay network
Tal Lavian Ph.D.
 
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Tal Lavian Ph.D.
 
Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...
Tal Lavian Ph.D.
 
Reliable rating system and method thereof
Reliable rating system and method thereofReliable rating system and method thereof
Reliable rating system and method thereof
Tal Lavian Ph.D.
 
Time variant rating system and method thereof
Time variant rating system and method thereofTime variant rating system and method thereof
Time variant rating system and method thereof
Tal Lavian Ph.D.
 
Systems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menuSystems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menu
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Tal Lavian Ph.D.
 

More from Tal Lavian Ph.D. (20)

Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Photonic line sharing for high-speed routers
Photonic line sharing for high-speed routersPhotonic line sharing for high-speed routers
Photonic line sharing for high-speed routers
 
Systems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a networkSystems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a network
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menu
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Systems and methods for electronic communications
Systems and methods for electronic communicationsSystems and methods for electronic communications
Systems and methods for electronic communications
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
 
Method and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay networkMethod and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay network
 
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...
 
Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...
 
Reliable rating system and method thereof
Reliable rating system and method thereofReliable rating system and method thereof
Reliable rating system and method thereof
 
Time variant rating system and method thereof
Time variant rating system and method thereofTime variant rating system and method thereof
Time variant rating system and method thereof
 
Systems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menuSystems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menu
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 

Recently uploaded

买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
nvoyobt
 
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
bttak
 
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
bttak
 
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
lopezkatherina914
 
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
mbawufebxi
 
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
uwoso
 
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
akrooshsaleem36
 
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER""IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
Emmanuel Onwumere
 
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
bttak
 
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
hanniaarias53
 

Recently uploaded (10)

买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
买(usyd毕业证书)澳洲悉尼大学毕业证研究生文凭证书原版一模一样
 
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
一比一原版西三一大学毕业证(TWU毕业证书)学历如何办理
 
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版不列颠哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
 
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
欧洲杯体彩-欧洲杯体彩比赛投注-欧洲杯体彩比赛投注官网|【​网址​🎉ac99.net🎉​】
 
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
一比一原版(SBU毕业证书)肯特州立大学毕业证如何办理
 
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
按照学校原版(UPenn文凭证书)宾夕法尼亚大学毕业证快速办理
 
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
欧洲杯投注-欧洲杯投注押注app-欧洲杯投注押注app官网|【​网址​🎉ac10.net🎉​】
 
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER""IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
"IOS 18 CONTROL CENTRE REVAMP STREAMLINED IPHONE SHUTDOWN MADE EASIER"
 
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
一比一原版圣托马斯大学毕业证(UST毕业证书)学历如何办理
 
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
 

Practical Considerations for Deploying a Java Active Networking Platform

  • 1. Rob Jaeger, University of Maryland, Department of Computer Science 1 Practical Considerations for Deploying a Java Active Networking Platform Robert F. Jaeger University of Maryland Department of Computer Science rfj@cs.umd.edu
  • 2. Programmable Network Devices Rob Jaeger, University of Maryland, Department of Computer Science 2 Openly Programmable devices enable new types of intelligence on the network
  • 3. Rob Jaeger, University of Maryland, Department of Computer Science 3 Agenda • Local Computation • New types of applications • Programmable and Active Networks • Network Services Architecture • Issues • Summary
  • 4. Changing the Rules of the Game Rob Jaeger, University of Maryland, Department of Computer Science 4 • Move Turing Machine onto device – Run non-vendor/non-bundled applications on network device while (true) { doLocalProcessingOnDevice() }
  • 5. Non-vendor/Non-bundled Applications Applet Web Server Web Browser The JVM is in the Browser DDoowwnnllooaadd aapppplliiccaattiioonnss ffoorr llooccaall pprroocceessssiinngg non-bundled application Rob Jaeger, University of Maryland, Department of Computer Science 5 Reversed Applets Server The JVM is in the Device: supports non-bundled apps
  • 6. Rob Jaeger, University of Maryland, Department of Computer Science 6 The Web Changed Everything • Browsers – Introducing JVM to browsers allowed dynamic loading of Java Applets to end stations • Routers – Introducing JVM to routers allows dynamic loading of Java Services to routers This Capability WILL Change Everything
  • 7. Rob Jaeger, University of Maryland, Department of Computer Science 7 Architecture to Augment Vendor-Provided Software • Supports non-vendor applications • End-user custom application development – Tight interaction between business applications and network devices • Domain experts who understand business goals • Innovative approaches – “Features on Demand” • download software services • dynamically add new capabilities
  • 8. Paradigm Shift Rob Jaeger, University of Maryland, Department of Computer Science 8 Java-based Application • Supports distributed computing applications in which network devices participate – router to router – server to router Java-based Application Java-based Application
  • 9. D Example: Doowwnnllooaaddiinngg IInntteelllliiggeennccee JVM OS Rob Jaeger, University of Maryland, Department of Computer Science 9 Network Device Dynamic loading HW Monitor React Authentication Security Intelligence application
  • 10. Rob Jaeger, University of Maryland, Department of Computer Science 10 Device-based Intelligence • Static-vs-Dynamic Agents – Static • SNMP set/get mechanisms • Telnet, User Interfaces (cli, web, etc…) – Dynamic closed-loop interaction on nodes • capable of dealing with new and difficult situations • autonomous and rational properties • system monitoring & modification • report status and trends
  • 11. Rob Jaeger, University of Maryland, Department of Computer Science 11 Agenda • Local Computation • New types of Applications • Programmable and Active Networks • Network Services Architecture • Issues • Summary
  • 12. Rob Jaeger, University of Maryland, Department of Computer Science 12 New Types of Applications • Mobile Agents • Local Intelligence for NMS • Application layer collaboration among routers • Distributed computing involving network devices and servers • E-commerce
  • 13. Rob Jaeger, University of Maryland, Department of Computer Science 13 Mobile Agents • Intrusion Detection - Hacker Chaser • Traceroute for Layer 2 • Mobile Connectivity Mapper
  • 14. Extensive access to internal resources Rob Jaeger, University of Maryland, Department of Computer Science No more polling 14 Local Intelligence for NMS: Diagnostic Agents • Download Intelligent Agent monitor from NMS to the device. • Wait for threshold. • Might be complex conditions • Trend analysis • Send “condition exceeded” event to NMS. • Automatic download appropriate application • Application takes action. Monitor Appropriate Application Download Download Complex Condition Exceeded NMS router
  • 15. Application Layer Collaboration Among Routers and Servers Rob Jaeger, University of Maryland, Department of Computer Science 15 • Multicast Caching • Web Caching • Server farm load balancing – server state monitored – rerouting based on congestion/load • Auctioning Applications
  • 16. Rob Jaeger, University of Maryland, Department of Computer Science 16 E-Commerce Example Matching Customers with Suppliers – comparing price/capability options – ISP QoS capabilities & availability Business logic based operation changes – Resize forwarding queues – Modify congestion control algorithm – Adjust Packet Scheduling – Change routing table
  • 17. Rob Jaeger, University of Maryland, Department of Computer Science 17 Agenda • Local Computation • New types of applications • Programmable and Active Networks • Architecture • Issues • Summary
  • 18. Rob Jaeger, University of Maryland, Department of Computer Science 18 Programmable Networks • IEEE P1520 Working Group • Benefits of Standard Network APIs – separation of service business/vendor business • ISP resources visible for controlled modification • 3rd party signaling vendors – faster standardization – extensibility – richer semantics • e.g. dynamic binding http://www.ieee-pin.org
  • 19. Rob Jaeger, University of Maryland, Department of Computer Science 19 Programmable Networks • IETF - vs- IEEE P1520 – IEFT - Internet standardized algorithms and protocol semantics – P1520 standardized programming interfaces • MPLS Example – Create IDL that captures the programmability requirements of IP routers/switches from MPLS algorithm perspective – Common interface definitions would be used by RSVP, LDP, or traffic engineering
  • 20. Rob Jaeger, University of Maryland, Department of Computer Science 20 The P1520 Reference Model Algorithms for value-added communication services created by network operators, users, and third parties Algorithms for routing and connection management, directory services etc. Value Added Services Level Virtual Network Device (software representation) Physical Elements (hardware, namespace) L interface Network Generic Services Level Virtual Network Devices Level End User Applications V interface U interface CCM interface PE Level
  • 21. Rob Jaeger, University of Maryland, Department of Computer Science 21 Active Networking “The active network provides a platform on which network services can be experimented with, developed, and deployed” http://www.darpa.mil/ito/research/anets/index.html
  • 22. Rob Jaeger, University of Maryland, Department of Computer Science 22 Active Network Objectives • Minimize amount of global agreement – Do not require global agreement to support dynamic modification of the network • Support fast-path processing optimization • Scale to very large global active networks • Provide mechanisms to ensure security and robustness of nodes and of the network • Provide mechanisms to support different QoS/CoS
  • 23. Rob Jaeger, University of Maryland, Department of Computer Science 23 Active Network Architecture • NodeOS - manages resources for the node • Execution Environment - – provides an API to applications or – a shell interface through which end-to-end nework services can be accessed. • Active Applications - implementation of network services which utilize the local computation and access to router resources.
  • 24. Rob Jaeger, University of Maryland, Department of Computer Science 24 Node Operating System • Latest Specification (June 15, 1999) • Abstractions – Channels – Memory Pools – Thread Pools – Files – Flows
  • 25. Applications Applications . . . Execution Environment InChan OutChan Rob Jaeger, University of Maryland, Department of Computer Science 25 NodeOS - Channels • Flows create channels to send, receive and forward packets – InChan - receives packet from network to EE – OutChan - puts packets onto the network from EE – CutChan - bypasses the Execution Environment • Bandwidth Limitation • Buffer Pool -- queued pkts NodeOs CutChan Transmission Facilities
  • 26. ANTS Execution Environment typeID=18 Rob Jaeger, University of Maryland, Department of Computer Science typeID=19 26 Active Network Encapsulation Protocol • Routes AN packets to EEs • ANEP_PORT = udp 3322 • TypeID identifies EE • Tag Length Values (TLVs) – specify source/dest IP addresses – port numbers – Payload NodeOS PLAN Execution Environment ANEPd Transmission Facilities
  • 27. Rob Jaeger, University of Maryland, Department of Computer Science 27 NodeOS - Memory Pools • Combines memory for one or more flows • Shared by threads within flows • mmap-style interface to page allocation • flow in which thread runs charged for resource • EE notified when flow exceeds limits • Flow (and associated threads) terminated upon violation
  • 28. Rob Jaeger, University of Maryland, Department of Computer Science 28 NodeOS - Thread Pools • Computational Abstraction – Number of threads in Pool – Scheduler to be used (round robin, … ) – Max execution time between yields – Per thread stack size • No explicit operation for creation/ termination -- activated by events • Termination of flow if thread misbehaves
  • 29. Rob Jaeger, University of Maryland, Department of Computer Science 29 NodeOS - File • Not Manditory • Provides Persistent Storage • EE specific view of filesystem – via namespace(AN/ANTS; AN/PANTS) • Shared Memory for inter-EE communication
  • 30. Applications Applications . . . Execution Environment InChan OutChan Rob Jaeger, University of Maryland, Department of Computer Science 30 NodeOS - Flows • Primary abstraction for accounting, admission control, and scheduling • Flow consists of: – Channels – Memory – Threads • Flow can be – Execution Environments – Active Applications NodeOs CutChan Transmission Facilities
  • 31. Mobile Code Multicast Ping InChan OutChan Rob Jaeger, University of Maryland, Department of Computer Science 31 ANTS Execution Environment • Facilitates deploying new protocols and services in network • Toolkit for implementing an active network ANTS Execution Environment – Active Nodes – Network Nodes NodeOs CutThru
  • 32. Rob Jaeger, University of Maryland, Department of Computer Science 32 ANTS Execution Environment • Capsules are the unit of transfer for data and code – source & destination addresses – previous node address – resource limits – encoding and evaluation methods methods – Protocol/Group/Method ID access methods • Data Capsule – source & destination port numbers – identifies active application
  • 33. Rob Jaeger, University of Maryland, Department of Computer Science 33 ANTS Code Distribution • “Node” object is core of Runtime System – UDP Channels – Methods to Send/Receive Capsules – Supports numbers applications identified by port number • Consists of Built-in protocols • Accepts registration of new protocol – capsule code stored in code cache – signature (hash) computed for code
  • 34. Rob Jaeger, University of Maryland, Department of Computer Science 34 ANTS Code Distribution • Allows Definition of additional protocols – Protocol – Code Group (transitive closure of calls) • Dynamic Code Distribution via Capsules – Capsule arrives and node can’t evaluate it • protocol not on active node • must request packet from previous active node – DLBootstrap Capsule – DLRequest Capsule – DLResponse Capsule
  • 35. Execution Environment InChan OutChan DLResponse Capsule Rob Jaeger, University of Maryland, Department of Computer Science 35 ANTS Execution Environment AN_Ping Application ANTS NodeOS OutChan InChan AN_Ping Application ANTS Execution Environment Ping Capsule NodeOS DLBootstrap Capsule DLRequest Capsule
  • 36. Rob Jaeger, University of Maryland, Department of Computer Science 36 Agenda • Local Computation • New types of applications • Programmable and Active Networks • Architecture • Issues • Summary
  • 37. JNI Operating System Rob Jaeger, University of Maryland, Department of Computer Science 37 OOppeenn DDeevviiccee AArrcchhiitteeccttuurree Service Download Device HW JVM Java Service Java Service Java Lib C/C++ API Java API Device Code DataCom API Native Code Device Drivers
  • 38. SNMP API for Network Mgmt • API is generated automatically • Device-based monitoring – Query MIB – Identify trends • Initiate action locally – Report trends and/or significant events – Download problem specific diagnostic code – Take corrective action Rob Jaeger, University of Maryland, Department of Computer Science 38
  • 39. Client API Abstract Variable Interface MIB Map Native Variable Interface Rob Jaeger, University of Maryland, Department of Computer Science 39 MIB API Example Java Virtual Machine SNMP PDU Layer Instrumentation & Annotation Layer Real Time Operating System Processor and other Hardware Client Bean •API uses a MIB Map to dispatch requests to variable access routines •Different parts of the MIB tree can be serviced by different mechanisms •An ad hoc interface to the SNMP instrumentation layer •A generic SNMP loopback
  • 40. Service 3 Service 1 Java Network Services Environment Rob Jaeger, University of Maryland, Department of Computer Science 40 Java Network Services Environment Service 2 Java Virtual Machine JavaResouceManager dependencies Service 4
  • 41. Our Prototype Java Environment • Present RTOS with single unified task that includes: – Java VM (JVM) – Java Resource Manager (JRM) Rob Jaeger, University of Maryland, Department of Computer Science 41 • thread scheduling • manages CPU utilization – JVM time-slice is managed by the JRM preemptive thread scheduler • internal memory manager • garbage collection with priority based on available memory
  • 42. Rob Jaeger, University of Maryland, Department of Computer Science 42 Why Java • Dynamic class loading • Reuse security mechanisms – Byte-code Verifier – Security Manager – Class Loader • System stability – Constrain applications to the Java VMs – Prohibit native code applications • Extensible, portable, & distributable services
  • 43. Rob Jaeger, University of Maryland, Department of Computer Science 43 But Java is slooowwwww • Not appropriate in the fast-path data forwarding plane – forwarding is done by ASICs – packet processing not affected • Java applications run on the CPU – Packets destined for Java application are pushed into the control plane
  • 44. Rob Jaeger, University of Maryland, Department of Computer Science 44 Agenda • Openness • Local Computation • New type of applications • Programmable and Active Networks • Architecture • Issues & Questions • Summary
  • 45. Rob Jaeger, University of Maryland, Department of Computer Science 45 Architecture Issues Approach 1: Native Threads • One JVM per principle • One RTOS task per JVM • Non-interference between Java applications • Difficult thread-to-thread communication and sharing of data between threads • Creates a dependency on underlying RTOS • Multiple JVM instances consume resources
  • 46. Rob Jaeger, University of Maryland, Department of Computer Science 46 Architecture Issues Approach 2: Single JVM - Green Threads • Present one unified task to the RTOS • JVM manages CPU & memory resources between competing threads; • Propagation of component failure • Requires modifications to the JVM • Binding of resources to the JVM
  • 47. Rob Jaeger, University of Maryland, Department of Computer Science 47 Security Issues • Old model: Cannot isolate core router functions – Dangerous Pointers (C/C++) • Can touch sensitive memory location – Risk: Memory allocations and Free • Allocation without freeing (leaks) • Free without allocation (core dump !!!! ) • Limited security in SNMP
  • 48. Rob Jaeger, University of Maryland, Department of Computer Science 48 Security and Stability • secure download of Java Applications • safe execution environment – insulate core router applications from dynamically loaded applications – protect dynamically loaded services from one another
  • 49. Strong Security in the new model • The new concept is to securely download 3rd party code to network devices – Digital Signature – Administratively Certified Services – Access only to the published API – Verifier - only correct code is loaded – Class loader access list – No pointers that can do harm – No access outside the JVM space – JVM has run time bounds, type, and execution Rob Jaeger, University of Maryland, Department of Computer Science 49 checking
  • 50. Rob Jaeger, University of Maryland, Department of Computer Science 50 Language Based Protection • Type Safety – Reference to Objects, not random memory – Inappropriate accesses to memory not allowed • Restricts what operations code can perform on what memory locations • operations on objects must be valid for that object – dynamic access control (via reference) – static access control (via public, private)
  • 51. Rob Jaeger, University of Maryland, Department of Computer Science 51 Access Control [6] class A { private int i; public int j; public static void method1() { A a1 = new A(); A a2 = new A(); B.method2(a1); } } class B public static void method2 (A arg) { arg.j++; arg.i++; // illegal } - method2 has access to public j but not to private i - method2 cannot forge a reference to a2 given the a1 reference
  • 52. Rob Jaeger, University of Maryland, Department of Computer Science 52 How to Access a Class 1. Must get Class Object a. Class is in classpath (not secure on net) b. Class reference is available (visible) c. Have a ClassLoader Object to load Class 2. Reference to Object 3. Access control (public) For static methods, need just 1 and 3
  • 53. Rob Jaeger, University of Maryland, Department of Computer Science 53 Class Loaders • Load new classes into the JVM at runtime – fetches code from URL or file – submits to JVM for verification – integrates code into JVM for execution – references to other classes causes additional class loader invocations • Enforces protection - expose visibility and hiding – classes see classes loaded by same classloader – can use class loaders to expose classes
  • 54. Rob Jaeger, University of Maryland, Department of Computer Science 54 NameSpaces • A namespace is – a set of unique names of classes loaded by a Class Loader and the binding of each name to a specific class object – variables, methods, & type names are all different instances in different domains
  • 55. Cross Domain Communication • Desire that Protection Domains share classes and NOT require same Class Loader • How do we achieve this? – Runtime System to provide communication Rob Jaeger, University of Maryland, Department of Computer Science 55 between components. – Java Network Service Environment – What is the policy?
  • 56. Rob Jaeger, University of Maryland, Department of Computer Science 56 Building Protection Domains • Given multiple namespaces – Could use Object references for cross-domain communication: class FileSystem { private int accessRights private Directory rootDirectory public File open(String fileName) [6] } – Enforce protection policies per client – Problems result
  • 57. Protection Domains - Revocation • Access to an object reference cannot be revoked • Wrap object with revocable object that is a delegator to real object – all methods wrapped • Programmer may forget to wrap objects referenced by wrapped object (tracking problem) Rob Jaeger, University of Maryland, Department of Computer Science 57
  • 58. Protection Domains: Revocation[6] Rob Jaeger, University of Maryland, Department of Computer Science 58 class A { public int method1(int a1, int a2); } class AWrapper { private A a; private boolean revoked; public int method1(int a1, int a2) { if (!revoked) return a.meth1(a1, a2) ; else throw new RevokedException; } public void revoke() {revoked=true;} public AWrapper (A realA) { a = realA; revoked = false; } }
  • 59. Rob Jaeger, University of Maryland, Department of Computer Science 59 Protection Domains: Inter-domain dependencies • Sharing Object references between domains • Mutable shared objects can be changed • Malious attack: – pass byte array w/ legal bytecode to classloader – once verified, overwrite with illegal bytecode • Should copy bytecode to classloader, not pass reference
  • 60. Rob Jaeger, University of Maryland, Department of Computer Science 60 Protection Domains: Termination • Upon domain termination: – should all references obtained be released? • two Strings in different domains may reference the same underlying byte array – should object be kept alive if referenced by other domains? • clients could hold onto references to objects of a dead server – GC frees objects when NO more references!!
  • 61. Rob Jaeger, University of Maryland, Department of Computer Science 61 Protection Domains: Threads • Method invocation for cross domain calls both execute in same thread – caller blocks until callee returns • how does caller back out gracefully? – untrusted domain calls stop() or suspend after calling trusted method -- • state left unstable and blocked – untrusted callee can block caller that may be in critical section
  • 62. Protection Domains: Accounting • How do you account for resources obtained by a domain? – CPU cycles – Memory pages – Bandwidth on a channel Rob Jaeger, University of Maryland, Department of Computer Science 62
  • 63. Rob Jaeger, University of Maryland, Department of Computer Science 63 J Kernel Safety [6] • Precise definition of protection domains – local object – non-local shared objects (capability objects) • Define communication channels between protection domains • Support revocation of capabilities • Clean termination semantics
  • 64. Rob Jaeger, University of Maryland, Department of Computer Science 64 J-Kernel Class Loaders • Each ClassLoader defines a namespace – must manage & secure namespace – creates stub code at run-time for cross domain communication -- use local RMI calls • simulate thread switching for safe method calls • contains a revoke method to set handle to null – substitutes “safe” versions of standard classes • e.g. file system access
  • 65. Rob Jaeger, University of Maryland, Department of Computer Science 65 J Kernel Concepts • Capabilities: – handles to resources in other domains – client throws an exception • Domain: – each domain has a namespace and threads under its control – shared classes – capabilities access is revoked upon termination
  • 66. Rob Jaeger, University of Maryland, Department of Computer Science 66 J Kernel Concepts • Cross domain calls: – Invoke calls to “capability” methods • relies upon Java interface classes • extend remote (stub creation and marshalling code) – special calling convention • non capability objects are copied • capability objects are passed
  • 67. Rob Jaeger, University of Maryland, Department of Computer Science 67 Observations • Provides high degree of safety for cross-domain communication • Expensive in terms of time – thread switching (simulated) – method invocation through stub – copying of non-capabilities
  • 68. Rob Jaeger, University of Maryland, Department of Computer Science 68 Questions • How do you insulate core router functionality? • How do you securely download code? • How do you do resource accounting? • How do you assure resource safety? – fair share or priority share quotas? • CPU • Memory • Bandwidth
  • 69. Rob Jaeger, University of Maryland, Department of Computer Science 69 Questions • How do you protect services from one another (trusted -vs- untrusted)? – stable state for critical sections • caller dies/is killed while trusted in critical section – enforce return from untrusted method – reject forbidden actions • Native or Green Threads?
  • 70. Rob Jaeger, University of Maryland, Department of Computer Science 70 Agenda • Openness • Local Computation • New type of applications • Programmable and Active Networks • Architecture • Issues • Summary
  • 71. Rob Jaeger, University of Maryland, Department of Computer Science 71 Summary – Turing Machine on network devices – dynamic agents vs. static agents – dynamic loading – strong security through JVM – safety among shared components via Java Network Services Environment Enabling Technology for the Revolution
  • 72. Rob Jaeger, University of Maryland, Department of Computer Science 72 References [1] P.Bernadat, D. Lambright, and F. Travostino, “Towards a Resource-safe Java for Service- Guarantees in Uncooperative Environments,” IEEE Symposium on Programming Languages for Real-time Industrial Applications (PLRTIA) ‘98, Madrid, Spain, Dec. ‘98. [2] Active Networking Node OS Working Group, NodeOS Interface Specification", June 15, 1999 [3] Active Networks Working Group, "Architectural Framework for Active Networks Version 0.9", August 31, 1999 [4] T. Lavian, R. Jaeger, "Open Programmable Architecture for Java-enable Network Devices", Stanford Hot Interconnects, August 1999. [5] D. Wetherall et al. ANTS: A Toolkit for Building andDynamically Deploying Network Protocols. OPENARACH'98 [6] C. Hawblitzel, C. Chang, G. Czajkowski, D. Hu, T. von Eicken, “Implementing Multiple Protection Domains in Java”, 1998 USENIX Annual Technical Conference, New Orleans, LA, June 1998 [7] R. Jaeger, T. Lavian, R. Duncan, “Open Programmable Architecture for Java-enabled Network Devices”, To be presented at LANMAN ‘99, Sydney, Australia, November 1999

Editor's Notes

  1. Authentication: You are who you say you are --- digital signatures digital certificate & certificate authority Security:: authorized to get onto device access levels no pointers where do we accept code from … which types of code
  2. a. separation of services business -- state of netwrok is now visible to external entities and may be manipulated in controlled ways. - allows for 3rd party software to be employed that can access resources - b. separation of vendor business -- signalling sofware and system vendors can emerge … not tightly integrated with underlying hardware vendors e.g. QoS signalling vendors c. faster standardization process
  3. a. separation of services business -- state of netwrok is now visible to external entities and may be manipulated in controlled ways. - allows for 3rd party software to be employed that can access resources - b. separation of vendor business -- signalling sofware and system vendors can emerge … not tightly integrated with underlying hardware vendors e.g. QoS signalling vendors c. faster standardization process Label Distribution Protocol
  4. U interface -- provides a means for creating a representation of specific services (DIFF SERV or INT SERV).
  5. Ping Capsule routines for getting protocol ID method ID Multicast Capsule
  6. each one is in a separate thread
  7. 1. Security Manager can still deny access to a resource if all three items are satisfied e.g. ClassLoader