An Efficient Embedded Web Server
for Web-based Network Element
Management
Mi-Joung Choi, Hong-Taek Ju, Hyun-Jun Cha,
Sook-Hyang Kim and James W. Hong
DP&NM Lab.
Dept. of Computer Science and Engineering
POSTECH, Pohang Korea
Tel: +82-562-279-5659
Email: {mjchoi, jwkhong}@postech.ac.kr
http://dpnm.postech.ac.kr/
Contents
• Introduction
• EWS-WebMUI
• EWS Requirements
• Design
• Implementation
• POS-EWS Performance Evaluation
• POS-EWS Optimization
• Related Work
• Conclusions & Future work
NOMS 2000 (2) POSTECH
DP&NM Lab.
Introduction
• Apply Web technology to network element management for
monitoring and control
• The most direct way is to embed a Web server into network
elements This can provide Web-based Management User
Interface (Web-MUI) to a manager
• For embedding a Web server into network elements, we need to
consider EWS requirements and then design and implement EWS
EWS
EWS
Router TV
EWS EWS
Switch Cache Engine
NOMS 2000 (3) POSTECH
DP&NM Lab.
WebMUI & EWS-WebMUI
• WebMUI (Web-based Management User Interface)
– Provides a Web browser user interface for management
– Provides static, dynamic and interactive content of
management information of systems and networks
– Can be used to configure, monitor and control managed
systems via Web browser
• EWS-WebMUI (WebMUI through EWS)
– EWS makes it possible for a Web browser to connect directly
to an embedded system
– Can be achieved by embedding three components into an
embedded system: a Web server, Web documents and
management applications
NOMS 2000 (4) POSTECH
DP&NM Lab.
Advantages of EWS-WebMUI
• Provides an enhanced user interface
– Ubiquitous management
– User-friendly interface via standard Web browsers
• Low development cost
– No porting & distribution efforts for user applications
– Platform independent graphical user interface
– Short development time (short time-to-market)
• Easy maintenance
– Web documents and associated programs can be easily
modified
NOMS 2000 (5) POSTECH
DP&NM Lab.
EWS Requirements
• Low resource requirements
– must use as little RAM, ROM and CPU as possible
• High reliability
– highly reliable like one of the embedded system components
• High portability
– portable on various RTOS and embedded systems
• Security
– limit access to sensitive information or configure & control
• Powerful application interface
– mechanisms for the Web server to interact with embedded
applications
NOMS 2000 (6) POSTECH
DP&NM Lab.
EWS Architecture
Embedded System Web
Browser
Web VFS EWS
Documents
(html) Configuration
HTTP
Security
Engine
Application Interface
Management Application
RTOS
(Configure, Monitor and Control)
Embedded Application
NOMS 2000 (7) POSTECH
DP&NM Lab.
Design Issues
• Protocol Consideration : HTTP/1.1
– Explicit cache control
• For static Web pages, caching is desirable, eliminating requests for
redundant information
• HTTP/1.1 allows server to control the Web cache
– Persistent TCP connection
• HTTP/1.1 allows for a single persistent TCP connection between the
browser and the server
• Application Interface
– CGI (Common Gateway Interface)
– SSI (Server Side Include)
NOMS 2000 (8) POSTECH
DP&NM Lab.
POS-EWS Features
• OS : Xinu, pSOS, CPU : MPC 860, IDT, ARM7, etc.
• HTTP/1.1 compliant
– Cache control
– Persistent TCP connection
• Single thread based on extended architecture
– Simple scheduler
– Multiple finite state machines
• Virtual File System
– Limited set of read-only file interface
– Compression at compile time & Decompression at run time
• Web compiler
– To build up virtual file system
– Efficient server side include
• Cookie : state management
NOMS 2000 (9) POSTECH
DP&NM Lab.
POS-EWS Finite State Machine
Non-Head Request
Set Up OK Listen Accepted
Initial Parse Map URL to
State Connection Request Header Web Document
OK Accepted
Close Time-out HEAD Request
Connection Wait
new Request Fail
HTTP/1.1 Success
HTTP/1.0
Send Done Create
Response Response
Dynamic Info Static Info Fail
Application SSI or Read Web Success
Document Check
Interface FORM. Authentication
NOMS 2000 (10) POSTECH
DP&NM Lab.
POS-EWS Web compiler
Web Web ROM File
Document Compiler
Management
Application Code
Executable C
Image Compiler
Web
Server Code
struct vf {
sysname.html char * data = sysname_html;
char date[]=“1999:06:12”;
int size = 78;
struct sc_list *head = &sysname_html_sysname;
} sysname_html;
Sample struct sc_list {
int start = 44;
int end = 55;
System Name: (char *) (*fptr)() = sysname;
struct sc_list *next = (struct sc_list) NULL;
}sysname_html_sysname;
char sysname_html = “ ……”
NOMS 2000 (11) POSTECH
DP&NM Lab.
POS-EWS Application Example
POS-EWS Embedded
Application
a
b
a b
Web Web Document
Browser (html,Java)
c
c
Java d
SNMP SNMP
d Agent
Mngr
NOMS 2000 (12) POSTECH
DP&NM Lab.
POS-EWS Performance Evaluation
• Performance Metrics of General Web Server
– Requests per second
– Throughput in bytes per second
– Response time
– Error rate
• Performance Metrics of EWS
– Code size : 30 Kbytes
– Run-time memory : 64 Kbytes
– CPU usage : Lowest priority
– Maximum user connectivity (capacity)
NOMS 2000 (13) POSTECH
DP&NM Lab.
POS-EWS Performance Optimization
• Implement as a Finite State Machine (FSM) supporting
single thread
• Keep TCP connection open and reuse by the Keep-Alive
option
• Reduce the processing time using Web compiler through
preprocessing
• Compress the documents for saving ROM resources
NOMS 2000 (14) POSTECH
DP&NM Lab.
Related Work
HTTP Features
Company OS CPU
code size Com- Coo-
& Product supported supported SSI VFS Compression Security
(version) piler kie
Agranat Systems, Any CPU with 25kbytes Basic +
No OS O O O Proprietary
EmWeb a C compiler (1.1) Digest
Any processor 10-40
AllegroSoft, Any RTOS,
with an ANSI- kbytes O O O Basic O
RomPager No OS
C Compiler (1.1)
LynxOS,
Spyglass, 35-110 Baisc +
QNX,OS-9, Any CPU with
MicroServer kbytes O None Digest +
pSOS, a C compiler
(1.1) SSL
VxWorks
15-40
Magma, Any CPU with Basic +
Any RTOS kbytes O Proprietary
Lava a C compiler SSL
(1.0)
pSOS, 45-50
Quiotix, Any CPU with
LynxOS, kbytes O O GZIP Basic
QEWS a C compiler
VxWorks (1.0)
LynxOS,
Web Device, 15-30 Basic +
Nucleus Any CPU with
Pico Server kbytes O O ZIP-like Digest +
Plus,pSOS, a C compiler
(1.0) SSL
VxWorks
Real-time
POSTECH, Any CPU with 30kbytes GZIP/ Basic +
Xinu, O O O O
POS-EWS a C compiler (1.1) CSS-Style Digest
pSOS
NOMS 2000 (15) POSTECH
DP&NM Lab.
Conclusions & Future work
• EWS-WebMUI provides ubiquitous, simple but powerful,
user-friendly management user interface
• POS-EWS: HTTP/1.1 compliant, efficient embedded
Web Server
• Provide easy integration mechanisms to embedded
management applications
• Port POS-EWS to other CPUs and embedded OSs
• Network management of EWS-equipped network devices
NOMS 2000 (16) POSTECH
DP&NM Lab.