Professional Documents
Culture Documents
4443 14710 1 PB
4443 14710 1 PB
4443 14710 1 PB
1
University of Houston, Houston, USA;
2
Texas Southern University, Houston, USA;
3
Texas A&M University at Qatar, Doha, Qatar
Abstract—In this paper, a novel real time experimental data sion without a need for any extra plug-ins. To the best of
transmission solution based on a new web server software the authors’ knowledge, being able to provide a stable and
architecture that allows the traversing of network firewalls high-performance data transmission for remote experi-
is proposed. With this new software architecture, the public ments through port 80 without firewall issues or extra
network port 80 can be shared between Node.js and the plug-ins remains a critical issue.
Apache web server software system. With this new solution, Most early stage remote laboratories relied on the Cli-
the Apache web server application still listens to the public ent-Server architecture for achieving high-performance
network port 80, but any client requests for the Node.js web real time experimental data transmission [4][5]. Examples
server application through the port will be forwarded to a
include the remote panel provided by the National Instru-
special network port which Node.js web server application
ment’s LabVIEW (Laboratory Virtual Instrument Engi-
is listening to. Accordingly, a new solution in which both
neering Workbench) [6], a digital-signal-processor-based
Apache and Node.js web server applications work together
remote control laboratory at University of Maribor [7], the
via HTTP proxy developed by the Node-HTTP-Proxy soft-
ware package is implemented on the server-side. With this
Distance Internet-Based Embedded System Experimental
new real time experiment control and data transmission
Laboratory (DIESEL) at the University of Ulster [11] and
solution, the end user can control remote experiments and others. Later on, Client-Server architecture based on Web
view experimental data on the web browser without firewall services and .NET remote services were developed and
issues and without the need of third party plug-ins. It also deployed for remote laboratories [8]. However, almost all
provides a new approach for the remote experiment control of these systems use special network ports, usually
and real time data transmission based on pure HTTP proto- TCP/UDP ports for socket protocol, to traverse the net-
col. The solution will significantly benefit the development work firewall.
of remote laboratory technology. With the continuing improvements to computer perfor-
mance, the technology supporting the Browser-Server
Index Terms—Remote Laboratory, Traversing Firewall, architecture is becoming increasingly more stable and
Node-HTTP-Proxy, HTTP-Proxy, Node.js, Apache suitable for cross-platform system design. Meanwhile, a
large number of new technologies have been developed to
I. INTRODUCTION support more complex web browser-based internet appli-
The application of remote laboratory technology for cations. Consequently, more and more remote laboratory
enhancing engineering education has attracted much atten- software systems have selected to use the Browser-Server
tion in the last decades due to its flexible accessibility and architecture technology. Examples include iLab [9],
resource sharing [1][2]. The increased use of remote la- WebLab-Deusto [10], the Networked Control System
boratories for online education has made network security Laboratory (NCSLab) [12], the improved NCSLab 3-D
issues ever more critical. In order to defend against nu- [13], the eComLab at UTSA [14] among others. In partic-
merous new types of potential attacks, the complexity of ular, the eComLab, which was designed and developed in
network firewalls has been significantly increased. As a the University of Texas at San Antonio, used SSH tunnel-
result, the use of multi-leveled firewalls (e.g., one for local ing via HTTPS port 443 to address data transmission
area network access, one for each of servers, etc.) to pro- security while not being blocked by firewall. However,
tect a computer network has become a common practice. the SSH tunneling has the drawback of decreasing the
In addition to the firewalls, the servers for remote experi- performance of the system. Therefore, in these systems,
ments are configured to promptly block and report suspi- the real time experiment data transmission across network
cious activities. Consequently, the network firewall will firewall issue still has not been solved satisfactorily.
inevitably limit the real time remote experimental data Meanwhile, other software plug-ins, such as java applet
transmission, for example limit data transfer rate because plug-ins, flash plug-ins, etc, also were used to resolve the
of the filter data [3]. However, real time experimental data drawbacks issue to achieve the high-performance real-
transmission is an essential function in remote laborato- time experiment data transmission in these systems.
ries. Thus, in the design and implementation of the real To solve the challenge of achieving high-performance
time remote experimental data transmission, two critical real time remote experimental data transmission through a
challenges must be met: 1) how to cross the limitations of Browser-Server architecture, the authors proposed and
network security management; and 2) how to achieve developed a unified remote laboratory framework
high-performance real time experimental data transmis- [15][16]. The primary goal of this unified framework was
60 http://www.i-joe.org
PAPER
USING NODE-HTTP-PROXY FOR REMOTE EXPERIMENT DATA TRANSMISSION TRAVERSING FIREWALL
Node-Http-Proxy
lic network port 80 and looked up the appropriate web
server application for a request from the client. The proxy
also switches the experimental data directly from the web Proxy
trol commands.
Figure 2 illustrates the new data transmission solution Figure 2. The new data transmission working process
working process. As seen in Figure 2, Node.js web server
software should be set up in server-side. Furthermore,
there is also a need to compile and install the Node- WebServer
WebServer WebServer
Application Application
HTTP-Proxy software package and reconfigure the web Application (Node.js) (Nginx)
server. Meanwhile, the web server must include the (Apache)
tions could not be set to listen to the same public network Client
port 80 at the same time. Additionally, the Node.js web Node-Http-Proxy Deployment
server application could not be run without first activating Principle
62 http://www.i-joe.org
PAPER
USING NODE-HTTP-PROXY FOR REMOTE EXPERIMENT DATA TRANSMISSION TRAVERSING FIREWALL
64 http://www.i-joe.org
PAPER
USING NODE-HTTP-PROXY FOR REMOTE EXPERIMENT DATA TRANSMISSION TRAVERSING FIREWALL
cial network port (such as port 5001) which is different run the protocol in the server-side, and this server-side
with Apache port (arbitrary choice of port number) was application must hold running status indefinitely. Because
created. Then in the "/localhost" directory, a file called only the server-side protocol application holds the active
"nodeHTTPProxy.js" was created. The following code status, it can ensure the normal real time communication.
segment, Example 5, shows sample code of the Node- In client-side, there is a configuration file which defines
HTTP-Proxy in our server. For using node-HTTP-proxy, a and describes the communication instruction functions to
proxy server case which is listening for the public network support the client application normal operation in web
port 80 also was created in nodeHTTPProxy.js. browsers.
// Module dependancies With the resolution of the issues mentioned above, the
var HTTPProxy = re- server-side protocol was run using ‘forever start’ com-
quire('/usr/local/lib/node_modules/HTTP-proxy/lib/node- mand of Node.js in server-side. The server-side protocol
entered into the active status, and the real time communi-
HTTP-proxy')
cation will be present during normal operation. We im-
, express = re- plemented the experiment data record function using our
quire('/usr/local/lib/node_modules/express/lib/express'); new data transmission protocol. The downloaded experi-
// HTTP proxy-server ment data for the real displacement and the displacement
HTTPProxy.createServer(function (req, res, proxy) { reference in remote SMA experiment was plotted in the
// Array of node host names same figure by using MATLAB. Figure 6 and Figure 7
var nodeVhosts = [ depict the results of the displacement change of SMA in
'vhost1' two tests from plug-in free remote laboratory.
, 'vhost2' D. Sample Paradigm of the new solution
]
, host = req.header('host') Table II shows the comparison of the sample para-
digms, which show the terminal user interface, which was
, port = nodeVhosts.indexOf(host) > -1
developed under the novel unified frameworks within
? 80 different terminal devices.
: 5001;
// Now proxy the request
proxy.proxyRequest(req, res, {
host: host
, port: port
});
})
.listen(80);
Example 5: NodeHTTPProxy.js example code
66 http://www.i-joe.org
PAPER
USING NODE-HTTP-PROXY FOR REMOTE EXPERIMENT DATA TRANSMISSION TRAVERSING FIREWALL
[22] P. Tatade “Why Node, the fundamental difference between Node Xuemin Chen. is with Department of Engineering
and other languages”, Online, Technology, Texas Southern University, Houston TX
http://www.cuelogic.com/blog/why-node-the-fundamental-
difference-between-node-and-other-languages, published Febru-
77004, USA (e-mail: chenxm@tsu.edu).
ary, 5, 2014 Gangbing Song is with Department of of Mechanical
[23] Q. Liu and X. Sun "Research of Web Real-Time Communication Engineering, University of Houston, Houston TX, USA
Based on Web Socket", Int'l J. of Communications, Network and (e-mail: gsong@uh.edu).
System Sciences, Vol. 5 No. 12, 2012, pp. 797-801.
http://dx.doi.org/10.4236/ijcns.2012.512083
Hamid Parsaei is with Department of Mechanical En-
gineering, Texas A&M University at Qatar, Doha, Qatar
AUTHORS (e-mail: hamid.parsaei@qatar.tamu.edu).
Ning Wang is with Department of Electrical and Com- This work is based upon work supported by the Qatar National Research
Fund under Grant No. NPRP 4-892-2-335. Submitted 01 February 2015.
puter Engineering, University of Houston, Houston TX, Published as resubmitted by the authors 10 March 2015.
USA (nwang@uh.edu).