An Efficient Embedded web Server for Web

Download Report

Transcript An Efficient Embedded web Server for Web

An Efficient Embedded Web
Server for Web-based Network
Element Management
Mi-Joung choi, Hong-Taek Ju, HyunJun Cha, Sook-Hyang Kim and
J.Won-Ki hong
Introduction
Web-based network element management
– It gives an administrator the ability to configure
and monitor network device over the Internet
using a Web browser.
– The Most direct way to accomplish this is to
embed a Web server into a network device and
use that server to provide a Web-based
management user interface constructed using
HTML, graphics and other features of Web
browsers
Embedded Web Server (EWS)
A Web server can be embedded in a device
– the resource requirement of the Web server are
reduced, therefore, a portable set of code that
can run on embedded system with limited
computing resources.
Provide remote access to the device from a
Web browser.
Embedded Web Server (EWS)
Embedded system utilization
– Convey the state information of embedded
systems to a Web browser.
– EWSs are also used to transfer user commands
from a Web browser to an embedded system,
and implement control commands through the
embedded system application
EWSs are placed in network devices, such
as routers, switches and hubs
EWS-WebMUI
WebMUI
– Web-based Management User Interface.
– WebMUI is a direct result of embedding a Web
server, Web documents and management
applications into an embedded system.
– The Web documents give a display form of
management information, which is a collection
of manageable data that is monitored or
configured for managing an embedded system
EWS-WebMUI
Part (a), (b)
– (a) Static information, like menu, image…etc
– (b) Dynamic information
Advantages
– Ubiquity
– User-friendliness
– Low development cost
– High maintainability
EWS Requirements
The development of an EWS must take into
account the relative scarcity of system
resources
Since network devices need high reliability,
at the very least it must protect against
propagation of internal failure to the whole
system
Security
EWS Design Issues
Protocol Consideration: HTTP/1.1
– Explicit Cache control
• caching is desirable for static Web document since
static information (like logos, embedded graphics)
do not change
– Persistent TCP connection
• It allows multiple requests to be pipelined on a
single connection
EWS Design Issues
Embedded API Consideration
– Common Gateway Interface (CGI)
• Each URL is mapped to a CGI script that generates
the Web page
– Server-Side Include (SSI)
• Web pages are first developed and prototyped using
conventional Web authoring tools and browsers
EWS Architecture
 The overall EWS consists of 5 parts
– HTTP engine
– API module
– Virtual file system
– Configuration module
– Security module
EWS Architecture
Application module
– Support two API styles: CGI and SSI
Security
– Security is accomplished by defining security
realms on a server and username/password
access to each realm
Configuration module
– The administrator can set the EWS
configuration from any standard web browser
EWS Architecture
Virtual file system
– Provide a limited set of read-only files built
into the ROM
EWS Architecture
Web Compiler
– Support any format, such as Java, GIF, JPEG,
HTML, text, etc.
– It compiles these files into intermediate Ccodes and then compile and link them with the
Web Server codes
– Optionally, the Web compiler can also
compress Web documents. HTML is easily
compressed as much as 50% with almost no run
time memory required for decompression
EWS Architecture
Web Compiler
– The Web document is stored in compressed
form, transmitted directly, and decompressed
by the Web browser
– HTTP/1.1 conveys compressed document
information in the Accept_Encoding and
Content_Encoding header fields
– Web Compiler makes it possible to minimize
the application memory footprint through
intelligent compression
EWS Architecture
HTTP engine
– Serve client’s requests
– Unlike general Web servers that start a new
thread or process whenever a new connection is
made, an HTTP engine normally supports
multiple simultaneous users while running as a
single process
EWS Process Structure
Finite state machine
– EWS is designed as a finite state machine,
which processes an HTTP request as a sequence
of discrete steps
– In order to support multiple connections in a
single thread environment, multiple FSMs are
run by a scheduling system
EWS Process Structure
Scheduling system
– A pointer to the function being run
– A variable holding the state in the FSM
– A flag indicating whether the FSM can be run
or blocked
– It allocates an available FSM for an accepted
connection, checks each FSM to see if it’s
blocked or runable and moves the FSM one
step if it’s runable
EWS Process Structure
Scheduling system
– With multiple finite state machines in a single
thread, several connections can be activated at
once, where each state machine, representing a
specific connection, is scheduled to process in a
round robin manner.
Conclusion
Web servers are already being built into
many network devices today
Expect this trend to grown even further to
home appliances, medical instruments,
industrial equipment.