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.