SlideShare a Scribd company logo
Open Programmable Architecture 
for Java-enabled Network Devices 
A Revolution! 
Tal Lavian 
Technology Center 
Nortel Networks 
tlavian@NortelNetworks.com 
Stanford, Hot Interconnect 8/15/99 1
Programmable Network Devices 
Openly Programmable devices enable 
new types of intelligence on the 
network 
Stanford, Hot Interconnect 8/15/99 2
Stanford, Hot Interconnect 8/15/99 3 
Agenda 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
Changing the Rules of the Game 
• Move Turing Machine onto 
device 
—Run non-vendor/non-bundled 
applications on network device 
while (true) { 
doLocalProcessingOnDevice 
() 
} 
Stanford, Hot Interconnect 8/15/99 4
Non-vendor/Non-bundled Applications 
Applet 
Web Server Web Browser 
The JVM is in the Browser 
DDoowwnnllooaadd aapppplliiccaattiioonnss ffoorr llooccaall pprroocceessssiinngg 
non-bundled application 
Reversed Applets 
Server 
The JVM is in the Device: supports non-bundled apps 
Stanford, Hot Interconnect 8/15/99 5
The Web Changed Everything 
Stanford, Hot Interconnect 8/15/99 6 
• Browsers 
—Introducing JVM to 
browsers allowed dynamic 
loading of Java Applets to 
end stations 
• Routers 
—Introducing JVM to routers 
allows dynamic loading of 
Java Oplets to routers 
This Capability WILL Change Everything
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 
Stanford, Hot Interconnect 8/15/99 7
Paradigm Shift 
• Supports distributed 
computing applications 
in which network 
devices participate 
Java-based 
Application 
— router to router 
— server to router 
• Supports Intelligent 
Agents 
• Supports Mobile Agents 
Java-based 
Application 
Java-based 
Application 
Stanford, Hot Interconnect 8/15/99 8
EExxaammppllee:: DDoowwnnllooaaddiinngg IInntteelllliiggeennccee 
Network Device 
JVM 
OS 
Monitor 
Stanford, Hot Interconnect 8/15/99 9 
Dynamic 
loading 
HW 
React 
Authentication 
Security 
Intelligence 
application
Security and Stability 
• secure download of Java Applications 
• safe execution environment 
—insulate core router applications from dynamically 
loaded applications 
Stanford, Hot Interconnect 8/15/99 10
Device-based Intelligence 
• Static-vs-Dynamic Agents 
Stanford, Hot Interconnect 8/15/99 11 
—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. 
– dynamically system monitoring & modification 
– report status and trends
Why not an external JVM? 
• Isn’t it easier to use an 
inexpensive PC with an 
external JVM? 
• New type of apps 
utilizing the local 
computation and access 
to router resources. 
Apps 
JVM 
Apps 
JVM 
Stanford, Hot Interconnect 8/15/99 12
Stanford, Hot Interconnect 8/15/99 13 
Agenda 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
New Types of Applications 
• Mobile Agents 
• Local Intelligence for NMS 
• Collaboration among routers 
• Router & Server Collaboration 
• E-commerce 
Stanford, Hot Interconnect 8/15/99 14
Stanford, Hot Interconnect 8/15/99 15 
Mobile Agents 
• Intrusion Detection - Hacker Chaser 
• Trace-route for Layer 2 
• Mobile Connectivity Mapper
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. 
Extensive access 
to internal resources 
Monitor 
Complex Condition 
Exceeded 
Appropriate 
Application 
Download 
Download 
No more 
polling 
NMS 
router 
Stanford, Hot Interconnect 8/15/99 16
Application Layer Collaboration Among 
Routers and Servers 
• Server farm load balancing 
— server state monitored 
— rerouting based on congestion/load 
• Auctioning Applications 
Stanford, Hot Interconnect 8/15/99 17
E-Commerce Example 
Business logic based operation 
changes 
• Resize forwarding queues 
• Modify congestion control algorithm 
• Adjust Packet Scheduling 
• Change routing table 
Stanford, Hot Interconnect 8/15/99 18
Stanford, Hot Interconnect 8/15/99 19 
Agenda 
• Local Computation 
• New type of applications 
• Architecture 
• API’s 
• Summary
Java Network Services Environment 
Service 3 
JNSE 
Stanford, Hot Interconnect 8/15/99 20 
Service 2 
JVM/JRM 
Service 1 
dependencies 
Service 4
OOppeenn DDeevviiccee AArrcchhiitteeccttuurree 
Service 
Download 
Java 
Service 
JNI 
Operating System 
Device HW 
Java 
Service 
Java Lib 
JVM 
Stanford, Hot Interconnect 8/15/99 21 
C/C++ 
API 
Java 
API 
Device 
Code 
DataCom API 
Native 
Code 
Device 
Drivers
Architecture Issues 
• Green Threads -vs- Native Threads 
—Native threads: 
– provides 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 
—Green Threads 
– single JVM must manage CPU & memory 
resources between concurrently running 
threads 
Stanford, Hot Interconnect 8/15/99 22
Java Environment 
• Green Threads -- Present RTOS 
with single unified task that 
includes: 
—Java VM (JVM) 
—Java Resource Manager (JRM) 
– thread scheduling 
– manages CPU utilization 
–JVM time-slice is managed by the JRM 
preemptive thread scheduler 
– internal memory manager (intercepts 
“new”) 
– garbage collection with priority based on 
available memory 
Stanford, Hot Interconnect 8/15/99 23
Non-Interference w/ Single JVM 
• Multiple threads compete for 
resources 
—memory 
—CPU 
—persistent storage 
• Denial-of-service attacks possible 
—memory or CPU consumption attacks 
—trusted/untrusted service interactions 
Stanford, Hot Interconnect 8/15/99 24
Stanford, Hot Interconnect 8/15/99 25 
Why Java 
• Reuse security mechanisms 
—byte-code verifier 
—security manager 
—classloader 
• System stability 
—constrains applications to the JVM 
—Prohibits native code applications 
• Extensible, portable, & distributable 
services
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 
Stanford, Hot Interconnect 8/15/99 26
Strong Security in the new model 
• The new concept is secure to add 3rd 
party code to network devices 
—Digital Signature 
—Administrative “Certified Optlet” 
—No access out of the JVM space 
—No pointers that can do harm 
—Access only to the published API 
—Verifier - only correct code can be loaded 
—Class loader access list 
—JVM has run time bounds, type, and execution 
Stanford, Hot Interconnect 8/15/99 27 
checking
Old model Security (C/C++) 
• Old model: Not safe to add 3rd party 
code 
—Dangerous, C/C++ Pointers 
– Can touch sensitive memory location 
—Risk: Memory allocations and Free 
– Allocation without freeing (leaks) 
– Free without allocation (core dump !!!! ) 
• Limited security in SNMP 
Stanford, Hot Interconnect 8/15/99 28
Stanford, Hot Interconnect 8/15/99 29 
Agenda 
• Openness 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
An Open Service API Example 
—SNMP API for Network Management 
– generated automatically 
– allows device-based applications to 
query MIB 
– device-based application -- query 
local MIB 
– report trends or significant events 
– initiate downloading of problem 
specific diagnostic code 
– take corrective action 
Stanford, Hot Interconnect 8/15/99 30
MIB API Example 
Client Bean 
Java 
Virtual 
Machine 
Client API 
Abstract Variable Interface 
MIB Map 
Native Variable Interface 
SNMP PDU Layer 
Instrumentation 
& Annotation 
Layer 
Real Time Operating System 
Processor and other Hardware 
•API uses a MIB Map to 
dispatch requests to variable 
access routines 
•Different parts of the MIB 
tree can be serviced by 
different mechanisms 
•Two main schemes: 
•An ad hoc interface to the 
SNMP instrumentation layer 
•A generic SNMP loopback 
Stanford, Hot Interconnect 8/15/99 31
Stanford, Hot Interconnect 8/15/99 32 
Agenda 
• Openness 
• Local Computation 
• New type of applications 
• Architecture 
• API’s 
• Summary
Summary 
• Programmable 
—Turing Machine on network devices 
—dynamic agents vs. static agents 
—dynamic loading 
—strong security 
• Openness - successfully proven 
paradigm 
—Facilitates innovation 
—Domain experts - virtual development community 
• Enabling Technology for the 
Revolution 
Stanford, Hot Interconnect 8/15/99 33
This is only the first step 
1903 the Wright brothers 
Compare to this first flight and look 
where aviation is today 
Stanford, Hot Interconnect 8/15/99 34

More Related Content

What's hot

CONFidence 2015: SCADA and mobile: security assessment of the applications th...
CONFidence 2015: SCADA and mobile: security assessment of the applications th...CONFidence 2015: SCADA and mobile: security assessment of the applications th...
CONFidence 2015: SCADA and mobile: security assessment of the applications th...
PROIDEA
 
Embedded System Training Modules - Prasimax
Embedded System Training Modules - PrasimaxEmbedded System Training Modules - Prasimax
Embedded System Training Modules - Prasimax
PRASIMAX
 

What's hot (20)

Chapter08
Chapter08Chapter08
Chapter08
 
Zenon introduction
Zenon introductionZenon introduction
Zenon introduction
 
CONFidence 2015: SCADA and mobile: security assessment of the applications th...
CONFidence 2015: SCADA and mobile: security assessment of the applications th...CONFidence 2015: SCADA and mobile: security assessment of the applications th...
CONFidence 2015: SCADA and mobile: security assessment of the applications th...
 
Embedded System Training Modules - Prasimax
Embedded System Training Modules - PrasimaxEmbedded System Training Modules - Prasimax
Embedded System Training Modules - Prasimax
 
Overview and features of NCM
Overview and features of NCMOverview and features of NCM
Overview and features of NCM
 
Free NetFlow Analyzer training - Getting the initial settings right
Free NetFlow Analyzer training - Getting the initial settings rightFree NetFlow Analyzer training - Getting the initial settings right
Free NetFlow Analyzer training - Getting the initial settings right
 
Monitoring network performance- Part 3_Free OpManager training
Monitoring network performance- Part 3_Free OpManager training Monitoring network performance- Part 3_Free OpManager training
Monitoring network performance- Part 3_Free OpManager training
 
Defects mining in exchanges - medvedev, klimakov, yamkovi
Defects mining in exchanges - medvedev, klimakov, yamkoviDefects mining in exchanges - medvedev, klimakov, yamkovi
Defects mining in exchanges - medvedev, klimakov, yamkovi
 
ManageEngine OpUtils Technical Overview
ManageEngine OpUtils Technical OverviewManageEngine OpUtils Technical Overview
ManageEngine OpUtils Technical Overview
 
OpManager Major Features
OpManager Major FeaturesOpManager Major Features
OpManager Major Features
 
Software Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile UndergroundSoftware Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile Underground
 
PLNOG15: Network Monitoring&Data Analytics at 10/40/100GE speeds. Why spend a...
PLNOG15: Network Monitoring&Data Analytics at 10/40/100GE speeds. Why spend a...PLNOG15: Network Monitoring&Data Analytics at 10/40/100GE speeds. Why spend a...
PLNOG15: Network Monitoring&Data Analytics at 10/40/100GE speeds. Why spend a...
 
OpStor version 9.1 - A Walkthrough
OpStor version 9.1 - A WalkthroughOpStor version 9.1 - A Walkthrough
OpStor version 9.1 - A Walkthrough
 
New OpManager v12
New OpManager v12New OpManager v12
New OpManager v12
 
Chapter14
Chapter14Chapter14
Chapter14
 
Secsgem for legacy semiconductor equipment
Secsgem for legacy semiconductor equipmentSecsgem for legacy semiconductor equipment
Secsgem for legacy semiconductor equipment
 
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time 5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
 
Chromatography Data System: Expand to the Enterprise
Chromatography Data System: Expand to the Enterprise Chromatography Data System: Expand to the Enterprise
Chromatography Data System: Expand to the Enterprise
 
Training Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed cachingTraining Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed caching
 
Chapter12
Chapter12Chapter12
Chapter12
 

Similar to Open programmable architecture for java enabled network devices

Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
Srinivasa Addepalli
 

Similar to Open programmable architecture for java enabled network devices (20)

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
 
The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines
 
Programmable Network Devices
Programmable Network DevicesProgrammable Network Devices
Programmable Network Devices
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network Devices
 
Practical Considerations for Deploying a Java Active Networking Platform
Practical Considerations for Deploying a Java Active Networking PlatformPractical Considerations for Deploying a Java Active Networking Platform
Practical Considerations for Deploying a Java Active Networking Platform
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network Devices
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
Testing the limits of cloud networks
Testing the limits of cloud networksTesting the limits of cloud networks
Testing the limits of cloud networks
 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE Architectures
 
Open Distributed Networking Intelligence: A New Java Paradigm
Open Distributed Networking Intelligence: A New Java ParadigmOpen Distributed Networking Intelligence: A New Java Paradigm
Open Distributed Networking Intelligence: A New Java Paradigm
 
Embracing SDN in the Next Gen Network
Embracing SDN in the Next Gen NetworkEmbracing SDN in the Next Gen Network
Embracing SDN in the Next Gen Network
 
SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics
SAND: A Fault-Tolerant Streaming Architecture for Network Traffic AnalyticsSAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics
SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics
 
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
 
People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013
 
Symantec SDN Deployment
Symantec SDN DeploymentSymantec SDN Deployment
Symantec SDN Deployment
 
Open Java-Based Intelligent Agent Architecture for Adaptive Networking Devices
Open Java-Based Intelligent Agent Architecture for Adaptive Networking DevicesOpen Java-Based Intelligent Agent Architecture for Adaptive Networking Devices
Open Java-Based Intelligent Agent Architecture for Adaptive Networking Devices
 
Introduction to NBL
Introduction to NBLIntroduction to NBL
Introduction to NBL
 
4_SDN.pdf
4_SDN.pdf4_SDN.pdf
4_SDN.pdf
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 

More from 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

一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
eemet
 
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
kywwoyk
 
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
Amil baba
 
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
kywwoyk
 

Recently uploaded (7)

一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
 
MATHEMATICS BRIDGE COURSE (TEN DAYS PLANNER) (FOR CLASS XI STUDENTS GOING TO ...
MATHEMATICS BRIDGE COURSE (TEN DAYS PLANNER) (FOR CLASS XI STUDENTS GOING TO ...MATHEMATICS BRIDGE COURSE (TEN DAYS PLANNER) (FOR CLASS XI STUDENTS GOING TO ...
MATHEMATICS BRIDGE COURSE (TEN DAYS PLANNER) (FOR CLASS XI STUDENTS GOING TO ...
 
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
一比一原版SDSU毕业证圣地亚哥州立大学毕业证成绩单如何办理
 
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
NO1 Uk Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Amil In La...
 
F5 LTM TROUBLESHOOTING Guide latest.pptx
F5 LTM TROUBLESHOOTING Guide latest.pptxF5 LTM TROUBLESHOOTING Guide latest.pptx
F5 LTM TROUBLESHOOTING Guide latest.pptx
 
Memory compiler tutorial – TSMC 40nm technology
Memory compiler tutorial – TSMC 40nm technologyMemory compiler tutorial – TSMC 40nm technology
Memory compiler tutorial – TSMC 40nm technology
 
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
一比一原版UVM毕业证佛蒙特大学毕业证成绩单如何办理
 

Open programmable architecture for java enabled network devices

  • 1. Open Programmable Architecture for Java-enabled Network Devices A Revolution! Tal Lavian Technology Center Nortel Networks tlavian@NortelNetworks.com Stanford, Hot Interconnect 8/15/99 1
  • 2. Programmable Network Devices Openly Programmable devices enable new types of intelligence on the network Stanford, Hot Interconnect 8/15/99 2
  • 3. Stanford, Hot Interconnect 8/15/99 3 Agenda • Local Computation • New types of applications • Architecture • API’s • Summary
  • 4. Changing the Rules of the Game • Move Turing Machine onto device —Run non-vendor/non-bundled applications on network device while (true) { doLocalProcessingOnDevice () } Stanford, Hot Interconnect 8/15/99 4
  • 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 Reversed Applets Server The JVM is in the Device: supports non-bundled apps Stanford, Hot Interconnect 8/15/99 5
  • 6. The Web Changed Everything Stanford, Hot Interconnect 8/15/99 6 • Browsers —Introducing JVM to browsers allowed dynamic loading of Java Applets to end stations • Routers —Introducing JVM to routers allows dynamic loading of Java Oplets to routers This Capability WILL Change Everything
  • 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 Stanford, Hot Interconnect 8/15/99 7
  • 8. Paradigm Shift • Supports distributed computing applications in which network devices participate Java-based Application — router to router — server to router • Supports Intelligent Agents • Supports Mobile Agents Java-based Application Java-based Application Stanford, Hot Interconnect 8/15/99 8
  • 9. EExxaammppllee:: DDoowwnnllooaaddiinngg IInntteelllliiggeennccee Network Device JVM OS Monitor Stanford, Hot Interconnect 8/15/99 9 Dynamic loading HW React Authentication Security Intelligence application
  • 10. Security and Stability • secure download of Java Applications • safe execution environment —insulate core router applications from dynamically loaded applications Stanford, Hot Interconnect 8/15/99 10
  • 11. Device-based Intelligence • Static-vs-Dynamic Agents Stanford, Hot Interconnect 8/15/99 11 —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. – dynamically system monitoring & modification – report status and trends
  • 12. Why not an external JVM? • Isn’t it easier to use an inexpensive PC with an external JVM? • New type of apps utilizing the local computation and access to router resources. Apps JVM Apps JVM Stanford, Hot Interconnect 8/15/99 12
  • 13. Stanford, Hot Interconnect 8/15/99 13 Agenda • Local Computation • New types of applications • Architecture • API’s • Summary
  • 14. New Types of Applications • Mobile Agents • Local Intelligence for NMS • Collaboration among routers • Router & Server Collaboration • E-commerce Stanford, Hot Interconnect 8/15/99 14
  • 15. Stanford, Hot Interconnect 8/15/99 15 Mobile Agents • Intrusion Detection - Hacker Chaser • Trace-route for Layer 2 • Mobile Connectivity Mapper
  • 16. 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. Extensive access to internal resources Monitor Complex Condition Exceeded Appropriate Application Download Download No more polling NMS router Stanford, Hot Interconnect 8/15/99 16
  • 17. Application Layer Collaboration Among Routers and Servers • Server farm load balancing — server state monitored — rerouting based on congestion/load • Auctioning Applications Stanford, Hot Interconnect 8/15/99 17
  • 18. E-Commerce Example Business logic based operation changes • Resize forwarding queues • Modify congestion control algorithm • Adjust Packet Scheduling • Change routing table Stanford, Hot Interconnect 8/15/99 18
  • 19. Stanford, Hot Interconnect 8/15/99 19 Agenda • Local Computation • New type of applications • Architecture • API’s • Summary
  • 20. Java Network Services Environment Service 3 JNSE Stanford, Hot Interconnect 8/15/99 20 Service 2 JVM/JRM Service 1 dependencies Service 4
  • 21. OOppeenn DDeevviiccee AArrcchhiitteeccttuurree Service Download Java Service JNI Operating System Device HW Java Service Java Lib JVM Stanford, Hot Interconnect 8/15/99 21 C/C++ API Java API Device Code DataCom API Native Code Device Drivers
  • 22. Architecture Issues • Green Threads -vs- Native Threads —Native threads: – provides 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 —Green Threads – single JVM must manage CPU & memory resources between concurrently running threads Stanford, Hot Interconnect 8/15/99 22
  • 23. Java Environment • Green Threads -- Present RTOS with single unified task that includes: —Java VM (JVM) —Java Resource Manager (JRM) – thread scheduling – manages CPU utilization –JVM time-slice is managed by the JRM preemptive thread scheduler – internal memory manager (intercepts “new”) – garbage collection with priority based on available memory Stanford, Hot Interconnect 8/15/99 23
  • 24. Non-Interference w/ Single JVM • Multiple threads compete for resources —memory —CPU —persistent storage • Denial-of-service attacks possible —memory or CPU consumption attacks —trusted/untrusted service interactions Stanford, Hot Interconnect 8/15/99 24
  • 25. Stanford, Hot Interconnect 8/15/99 25 Why Java • Reuse security mechanisms —byte-code verifier —security manager —classloader • System stability —constrains applications to the JVM —Prohibits native code applications • Extensible, portable, & distributable services
  • 26. 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 Stanford, Hot Interconnect 8/15/99 26
  • 27. Strong Security in the new model • The new concept is secure to add 3rd party code to network devices —Digital Signature —Administrative “Certified Optlet” —No access out of the JVM space —No pointers that can do harm —Access only to the published API —Verifier - only correct code can be loaded —Class loader access list —JVM has run time bounds, type, and execution Stanford, Hot Interconnect 8/15/99 27 checking
  • 28. Old model Security (C/C++) • Old model: Not safe to add 3rd party code —Dangerous, C/C++ Pointers – Can touch sensitive memory location —Risk: Memory allocations and Free – Allocation without freeing (leaks) – Free without allocation (core dump !!!! ) • Limited security in SNMP Stanford, Hot Interconnect 8/15/99 28
  • 29. Stanford, Hot Interconnect 8/15/99 29 Agenda • Openness • Local Computation • New types of applications • Architecture • API’s • Summary
  • 30. An Open Service API Example —SNMP API for Network Management – generated automatically – allows device-based applications to query MIB – device-based application -- query local MIB – report trends or significant events – initiate downloading of problem specific diagnostic code – take corrective action Stanford, Hot Interconnect 8/15/99 30
  • 31. MIB API Example Client Bean Java Virtual Machine Client API Abstract Variable Interface MIB Map Native Variable Interface SNMP PDU Layer Instrumentation & Annotation Layer Real Time Operating System Processor and other Hardware •API uses a MIB Map to dispatch requests to variable access routines •Different parts of the MIB tree can be serviced by different mechanisms •Two main schemes: •An ad hoc interface to the SNMP instrumentation layer •A generic SNMP loopback Stanford, Hot Interconnect 8/15/99 31
  • 32. Stanford, Hot Interconnect 8/15/99 32 Agenda • Openness • Local Computation • New type of applications • Architecture • API’s • Summary
  • 33. Summary • Programmable —Turing Machine on network devices —dynamic agents vs. static agents —dynamic loading —strong security • Openness - successfully proven paradigm —Facilitates innovation —Domain experts - virtual development community • Enabling Technology for the Revolution Stanford, Hot Interconnect 8/15/99 33
  • 34. This is only the first step 1903 the Wright brothers Compare to this first flight and look where aviation is today Stanford, Hot Interconnect 8/15/99 34