Open API
Open API
Research Article
Improving Performance through REST Open API
Grouping for Wireless Sensor Network
Copyright © 2013 Min Choi et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
With this growth of the Internet, it is expected that every device, including computers, will be connected to the Internet, as it is
called IoT. For example, smartphones and even refrigerators require an address to connect to the Internet. In this research, we
design Internet of things architecture, especially for wireless sensor networks. The architecture consists of wireless sensor networks
with a microcontroller at the very bottom level. They are connected to smart devices at the next level. However, the computing
capability of the smart devices is generally less powerful than that of the conventional devices. Thus, it is necessary to offload the
computation-intensive part by careful partitioning of application functions. In this research, we focus on designing the concept of
MapReduce like approach through the web service grouping of several web services into one. We propose two methods: REST API
grouping and REST API caching. First, the web service composition results in reducing energy consumption and communication
latency by composing two or more REST web services into one. Second, the web service caching technique provides fast access
that is recently accessed or frequently accessed. We conducted the experiments with Jersey REST web service server. Experimental
result shows that our approach outperforms conventional approaches.
To communicate with remote procedure call between develop, deploy, upload, and run their composed web services
client and server, interface should be defined at first. To with the use of general OOP languages.
this end, WSDL and RPC were used for the specification. The rest of this paper is organized as follows. Section 3
However, these previous approaches are relatively compli- describes the necessity of WSN using REST web service
cated and highly overloaded. Recently, REST architecture is grouping. Section 2 shows conversion of REST web service
first introduced by Fielding. REST web service is becoming to objects. Section 4 depicts management server architecture
popular and explosively used in the field of application for REST web service system. Then, Section 5 shows perfor-
development of web and smartphone. Therefore, today’s mance evaluation. Finally, we conclude and summarize our
many Internet companies already provide their services by work in Section 6.
both traditional SOAP based web service and RESTful web Wireless sensor network brings computing power to
services [4, 5]. The main difference between REST web places and things that were previously not able to imagine
service and SOAP/WSDL web service is as follows. Due to to realize because they were cost prohibitive or physically
the complicated characteristics of SOAP based web services, impossible [10, 11]. This emerging wireless technology allows
REST web service is introduced. REST web service removes computing to go to places never before possible, everywhere
the overhead from encoding/decoding of header and body of our physical world. Via the Internet, a variety of computing
during message transfer. The REST web service enables users devices, including wireless sensor network devices, are con-
and developers to easily use the web services at remote nected into a worldwide computing network and becoming
or local sites. We need not add additional communication the next generation communication devices.
layer or protocols for REST web service, but we can easily
In this research, we make use of the Chipcon CC2420 RF
achieve scalability and performance. This research evaluates
Transceiver which is capable of 2.4 GHz communication by
the performance of mash-up architectures through RESTful
IEEE 802.15.4 standard [12]. It reduces the load on the host
Open API web services on smart mobile devices. It provides
controller and allows CC2420 to interface low-cost micro-
the analytical and experimental results for the performance
controllers. Figure 1 shows a block diagram of RF sensor
evaluation of system models. We especially try to find an
module and its connection to ATmega128 microcontroller.
optimal number of parallel REST web server architectures
under certain request arrival rates. And we show the perfor- The left side of Figure 2 shows a CC2420 RF module.
mance of proposed architecture, especially the mean number The right side of Figure 2 represents an example of real
of requests in the queue and the mean waiting time. connection between ATmega128 microcontroller and the
The area of REST web service composition is under- CC2420 RF module. During transmission, the FIFO and
explored and most research efforts are still at their initial FIFOP pins are only related to the RXFIFO. The SFD pin
state [3, 6–8]. In this paper, we propose a new conver- is active during transmission of a data frame. The SFD
sion method from web service execution result to object. pin goes high when the SFD field has been completely
REST web service execution results are usually provided transmitted. In receive mode, the FIFOP pin can be used
in XML format. Previous composition method is required to interrupt the microcontroller when a threshold has been
to analyze web service execution result with XML parser exceeded or a complete frame has been received. This pin
[9]. Other previous composition approaches were exploited should be connected to an ATmega128’s interrupt input port.
to synthesize program code from linear logic or first-order The ATmega128 microcontroller communicates with smart
logic [1, 2]. These papers are well organized theoretically devices to provide data which is applicable to arguments
and logically, but they have limited capability in terms of of REST Open APIs, for example, temperature, brightness,
automatic synthesis. However, in order to provide an easy way humidity, and any data from ADC. In 2004, the concept of
for web service composition, we convert REST web service MapReduce [13] was introduced as a novel programming
to objects. The conversion changes web service to a directly model and implementation for a large set of computing
readable format (objects) with OOP language. The objects are devices. Map generates a set of intermediate key/value pairs
programming primitives generally available for all types of and Reduce merges all intermediate values associated with
OOP languages, such as C++ and Java. Since OOP languages the same intermediate key, so that programs with this are
are very popular for developers, they can easily utilize OOPs automatically parallelized and executed on a large cluster of
to compose web services. computing devices.
REST web service is core technology for smartphone This research focuses on designing the concept of MapRe-
application development. This is because REST web service is duce through the web service composition of several web ser-
the most appropriate way for accessing information through vices into one. This REST web service composition results in
the Internet. Usually, a smartphone application needs infor- reducing energy consumption and communication latency.
mation from several sources of (one or more) REST web This is because the conventional approach generates several
services [1]. So, we need to utilize two or more REST web consecutive connection requests to remote servers through
services composition to realize a target application [3, 6]. In REST Open API. In this case, two or more REST web
this paper, we propose a server architecture for managing services execution should be carried out on smartphones.
REST web services. This server is for managing web ser- However, our REST web service composition eliminates such
vices so as to provide web server maintenance, especially several consecutive connection requests since several REST
on composition, deployment, and management of REST web services are composed into one. Moreover, the REST
web services. It enables service developers to conveniently web service caching technique in this research provides
International Journal of Distributed Sensor Networks 3
Digital
ADC demodulator
Control logic
interface
0 Freq with FIFO
90 synth buffers,
CRC and
encryption
TX power control
Digital
DAC
modulator
Power
control -Data spreading Digital and
PA Σ -Modulation analog test
interface
X08C DAC
On-chip
BIAS
16 MHz
(a) (b)
optimization through data caching that is recently accessed keyword. This step is to prevent persons who are under 19
or frequently accessed. years of age to access adult data through the search engine.
REST web service is core technology for smartphone The second step is to search the keyword actually from web
application development. This is because REST web service database. This step is to get the content from search engine
is the most appropriate way for information access through after checking keyword validity of Algorithm 1. Algorithm 3
the Internet. Usually, a smartphone application needs infor- describes the list of error messages when there is failure in
mation from several (one or more) REST web services. So, we Open API request, for example, invalid input parameters,
need to utilize two or more REST web services for realizing network failure, and authentication failure. Like above, the
target application. Algorithm 1 shows the Open API REST necessity for several REST web service composition is obvi-
web service for the development of search applications on ous.
smartphones.
Algorithm 2 shows the example of open API REST web 2. Conversion of REST Web Service to Objects
service for keyword search of web documents. Assuming
developing a web search application, two-phase search task Web service composition requires a method to access data
is necessary; the first step is to check the validity of search that are in XML format of web service execution result
4 International Journal of Distributed Sensor Networks
Class variables Num Latitude Longitude Name Street City County State Country
Republic of
Object instance 1 37.511591238542 127.05944600764 Coex Mall Samsung-dong Kangnam-gu Seoul
Korea
Object instance 2 37.512302929275 127.05963882578 Coex Square Samsung-dong Kangnam-gu Seoul Republic of
Korea
(a) (b) (c) type of XML data. When clients receive the XML, they first
XML parse the XML and finally they get the data that they wanted.
Web application Objects Composition 3. The Necessity of WSN Using REST Web
(web service)
Service Grouping for MapReduce
Web application
XML (web service) As shown in Algorithm 4, the above XML document con-
(a) (b) (c) tains a single element ResultSet, which has subelements for
Web application
Objects head, locations, and item. The locations element contains a
(web service) collection of item elements. The item element has several
attributes: num, latitude, longitude, name, street, city, county,
Figure 3: Conversion of web service execution result to objects. state, and country. In Algorithm 5, we see the class definition
for conversed object mapping. For convenient use of objects
in OOP languages, the result of data conversion should be
provided by a real object instance which can be directly
from OOP languages. Because OOP languages are familiar to
referenced on OOP program source code. To do this, we need
developers, they can easily utilize the OOPs to compose web
a skeleton class, shown as a sample in Algorithm 5, in which
services. In order to realize REST web service composition,
simple types are mapped to each property variable and service
we propose a web service composition method by conversion
developers can access the property values using get and set
of web service to objects. The reason why we convert the
methods as shown in Algorithm 5. The above example in
REST web service to objects is to make an easy way for
Algorithm 5 of REST web service execution can be converted
manipulating the web service result into composition. The
by the following set of object instances which have attributes
objects mean that they are the programming primitives which
of the following result in Table 1.
are generally available for all types of OOP languages, such as
For the example of Algorithm 4, the locations element
C++ and Java.
contains a collection of <item> tags which has subelements.
Figure 3 depicts the extraction process from web service
The tag <item> is the object identification element in our
to objects. Step (a) represents that web service execution
conversion system, and it has several attributes: num, latitude,
results are returned as XML format. Step (b) describes the
longitude, name, street, city, county, state, and country. It
process that XML is converted to object. The process is to
is easy for a human to make a decision that <item> tag is
derive objects that are available for object-oriented languages.
repeated per object. However, it is not easy for a machine
Actually, our web service manager converts the XML result to
to decide which tag is corresponding to the object separator.
create Java program objects that represent the result data of
This conversion process is repeated until reaching the end tag.
web service execution. step (c) is to compose several objects
That is why our system requires the separation of tag name
to make another new web service that utilizes one or more
for object identification at the beginning of the conversion
web services. The reason why we convert web service to object
process.
is that the object-oriented language is the most convenient
tool for developers to manipulate and understand easily. This
is because previous REST web service composition proposals 4. Management Server Architecture for
of H. Zhao [4] and X. Zhao [5] are well organized theoretically REST Web Service
and logically, but these are difficult for developers and
users to easily understand and manipulate with a familiar In this section, we propose a server architecture for managing
programming language. REST web services. This server is for managing web services
Algorithm 4 represents the result of REST web service instead of web so as to provide web server maintenance ser-
execution. REST web service execution result is provided as vice, especially composition, deployment, and management.
XML data like above. After that, we proceed to the extraction Figure 4 shows the architecture of our REST web service
process with the results of REST web service execution. In management system. The main role of the system is com-
this example, we use web service from Yahoo. The REST web position/deployment/management of REST web services. It
service is called “Open API.” It returns execution result by a enables service developers to conveniently develop, deploy,
International Journal of Distributed Sensor Networks 5
Object 1
(c)
A web service Object 2
Service developer
(e) Composition
(a) (b)
Composed web service
(d)
Mobile web
(smartphones) REST web service
manager
Web server
(a’)
Database
Web browser
Algorithm 1: Open API of REST web service for checking search keyword validity.
upload, and run the composed web service by general OOP This is because the computing power of smartphones is
languages. Web browsers and mobile web browsers shown in generally less than that of other mobile computing devices,
(a) of Figure 4 are very popular on desktop and smartphones, such as laptop computers and mobile tablets. Therefore, it is
respectively. They commonly utilize the HTTP to communi- necessary to offload the computation-intensive part by the
cate with web server through port number 80. The web server careful partitioning of application functions across the cloud
in (b) of Figure 4 is an application daemon which receives computing platform. To this end, we make use of RESTful web
request from web browser and provides the requested docu- service to realize distributed computing environment.
ments and data. Module (c) in Figure 4 represents web service During loading and running composed REST web service
or composed web service. It can be provided by platform- in (d) of Figure 4, dynamic binding is required for composed
independent packaging technology, such as COM/COM+ web service to use objects which are converted from web
and JavaBeans. This package can include directory structure service. Likewise, the management system has to instantiate
that has a restriction on which directory should have a and dynamically bind the composed objects. This is because
configuration file for our web service management system. our system provides service concurrent users at the same
Module (d) in Figure 4 is REST web service manager. It man- time. At the time, it is not possible for all web services to
ages REST web services which can be either a native REST be loaded onto memory. Some of them might be garbage
web service or a composed REST web service. It provides collected during the runtime. Thus, we need to reload and
service to requests from clients. The service developers (e) bind the object when it is about to be referenced. So, our web
in Figure 4 can upload their web service or composed web service management system supports dynamic loading and
service onto our REST web service management system, so binding for converted objects from web service.
that web services can be launched and serviced on demand. Likewise, we propose a REST web service management
This is quite useful for smartphone application developers. system that provides REST web service for clients such as
6 International Journal of Distributed Sensor Networks
Object identification stored value is not up to date, the cached object should be
element tag start invalidated. To this end, our management system periodically
XML element object property checks the object validity by a preset threshold which is
mapping called OVL. Usually, we set this threshold to the web service
Object identification
characteristics, because for some web services the result does
element tag end not change when input value is the same, but for some web
services the result often changes depending on time.
Object caching significantly improves the performance
Object caching of our web service composition and management system,
especially on sudden batch requests within a short period of
Saving to database time, because the object caching technique does not reexecute
web service that results in the same result at every request,
for example, in Algorithm 7, the web service execution for
Service management part
REST web service package loading checking adult keyword. In this case, for the same keyword,
the result of web service execution is always the same.
Object dynamic binding If result of REST web service execution contains several
result sets, the object conversion module separates the result
Object reference from REST web sets into several objects. This is one of the major differences
services
between REST web service and SOAP/WSDL based web
service. Object conversion from SOAP/WSDL web service
is relatively easy to decide which part is corresponding
End
to a specific object, since WSDL describes specifically and
Figure 5: REST web service composition procedure. formally the details of the web service so that the system
automatically understands the web service result and manip-
ulates the result. However, object conversion from REST web
service is not so easy because it does not support WSDL-
smartphone applications. Simply by uploading their web like description and there is no formal description for the
service package onto our system, web service developers can REST web service. That is why we introduced the concept
operate their service without a physical server. There is only a of object identification element. As shown in the example of
restriction that binary format of uploaded package should be Algorithm 4 in the previous research [1], the tag <item> is
compatible to our service management operating system and selected as object identification element by REST web service
configuration file should be located onto a specified directory developer (human). It is easy for a human to make the
on our system. The configuration file could be of various decision that <item> tag is repeated per object. However, it is
formats such as xml and cfg. The contents can be as follows. not easy for a machine to decide which tag is corresponding
Algorithm 6 represents the sample configuration file for to the object separator. So, the conversion process is repeated
the description of REST web service package location. The until reaching the end tag. To this end, our system requires the
configuration file includes a single top-level element <XML separation tag name for object identification at the beginning
element> which has subelements <name> for package and of the conversion process.
<value> element for package path (directory). By putting the After conversion, we can develop various applications on
configuration file onto a specific path of REST web service desktop, mobile, and smartphones. Then, we need not access
management system, our management system locates the REST web service through Open API interface but we make
configuration file and launches developer’s web services. use of converted objects. Algorithm 7 shows an example
Figure 5 depicts the flowchart of our web service compo- source code for actual REST web service composition. The
sition and management system. There are two big parts; one is upper parts of Algorithm 7 represent REST web service
the object conversion module and the other one is the service execution for checking search keyword validity. When we
management module. The object conversion module is to get the result, we make use of XmlObjectConversionFactory
convert the web service execution result to object. The service and XmlObjectConverter to convert the result to object.
management module is to deploy and run the composed web These tools enable programmers to access and modify XML
service. In Figure 5, there is a stage in the middle of those documents via a general OOP language, not via XML parsers.
two above modules for checking the option of saving the Actually, the lower parts of Algorithm 7 manipulate the
converted object into the database temporarily. This option is web service execution result with XML parsers, especially
to improve the performance of our web service composition XMLPullParser and XMLPullParserFactory. This research
International Journal of Distributed Sensor Networks 7
Algorithm 2: Open API of REST web service for searching from web database.
5. Performance Evaluation
(4) Error messages
000: System error In this section, we introduce system architecture and elemen-
010: Your query request count is over the limit tary technologies for implementing the mobile application.
011: Incorrect query request REST web service is core technology for smartphone/smart
020: Unregistered key TV application development. This is because REST web
021: Your key is temporary unavailable service is the most appropriate way for accessing information
100: Invalid target value through the Internet. Usually, a smartphone application
101: Invalid display value
needs information from several sources of (one or more)
102: Invalid start value
110: Undefined sort value REST web services. First, we exploited our web service con-
200: Reserved version technique [8] between REST Open API and objects.
900: Undefined error occurred We have the REST web service conversion technology that
includes the extraction process from web service to objects.
When web service execution results are returned in XML for-
Algorithm 3: Error messages of Open API REST web service. mat, we can convert the XML result to object. The process is to
derive objects that are available for object-oriented languages.
Actually, our web service manager converts the XML result to
create Java program objects that represent the result data of
focuses on the composition stage, which is shown in the web service execution. Finally, we compose several objects to
upper part of Algorithm 7, and the stage only deals with make another new web service that utilizes one or more web
conversion from web service to object. It does not care about services. The reason why we convert web service to object is
the implementation details after conversion. Therefore, the that the object-oriented language is the most convenient tool
lower parts of Algorithm 7 simply make use of conventional for developers to manipulate and understand easily. Second,
XML parsing as implementation techniques for another web we make use of OAuth [6] based authentication mechanism
service. This approach makes it possible for a developer who in order to authenticate our REST web service users. OAuth
knows little about XML to process with a simple method is an open standard for authorization. It allows users to
and they immediately make use of the classes that are share their private resources stored on one site with another
automatically converted. To work with web service execution site without having to hand out their credentials, typically
result in their program, we map the result directly to a set of supplying username and password tokens instead. Each token
objects that reflects the XML result according to its structure. grants access to a specific site for specific resources and for
We can achieve this by converting the web service execution a defined duration. This allows a user to grant a third party
result into a set of derived content classes. site access to their information stored with another service
8 International Journal of Distributed Sensor Networks
REST web server farm make use of both Tomcat and Jersey in order to implement
In Out our systems.
Web server B1 For evaluating system performance of modeled web
In Out server traffic (requests), we present a model of queuing
In Out B2 In Out
A
In Out A
network [8] as shown in Figure 6, incorporating M/M/1 and
B3 M/M/s models. The model of our REST Open API web
In Out service architecture is presented in Figure 1. REST Open
B4 API web service is composed of 3 components comprising
the following: (1) a web server, (2) REST web server farms,
and (3) mash-up applications. As shown in Figure 1, there
Figure 6: System architecture. are a number of components (nodes) that consist of several
queues. A request may receive service at one or more queues
before exiting from the system. A model shows the system
architecture in which jobs departing from A arrive at another
provider, without sharing their access permissions or the full queue (i.e., the REST web server farm from B1 to B4).
extent of their data. Third, we adopt the Apache Tomcat 7.0 Requests arrive at the web server A with frequency
as a web application server and Jersey 1.8 for REST Open FreqIn. The initialization process for the request is done at
API service provider. Apache Tomcat is an open software node A. Then, the request proceeds to the component, either
with Java Servlet and JavaServer Pages technologies. Apache “REST web server farm” network or others depending on the
Tomcat powers numerous large-scale web applications across type of the request; if the request is for the REST web server,
a diverse range of industries and organizations. Jersey is the then it goes to the REST web server farm. If the request is for
open source JAX-RS (JSR 311) Reference Implementation [7] just web server, then it goes to the web server. The requests
for building RESTful web services. Jersey provides an API traverse via the Internet users and are received by the client’s
so that developers may extend Jersey to suit their needs. We browser, represented by the components at the bottom of
International Journal of Distributed Sensor Networks 9
class definition {
access modifier variable type property variable1 (argument);
access modifier variable type property variable2 (argument);
return type get property variable1() {
return property variable1;
}
return type set property variable1(variable type value1) {
property variable1 = value1;
}
return type get property variable2() {
return property variable2;
}
return type set property variable2(variable type value2) {
property value2 = value2;
}
}
𝜆 jobs per unit time. If any 𝑚 servers are busy, the arriving
<XML element> requests wait in a queue. The state of the system is represented
<name>web service package</name> by the number of jobs 𝑛 in the system. We can get the mean
<value>web service package path(directory)</value> waiting time as follows:
</XML element>
𝐸 [𝑛𝑞 ]
Algorithm 6: Configuration requirement for uploading REST web 𝐸 [𝑤] = = . (1)
𝜆 [𝑚𝜇 (1 − 𝜌)]
service.
The expressions are used for performance analysis of
M/M/s model in this research. Requests arrive from outside
Figure 5. Our system model is a sort of open queuing network following a Poisson process with a certain arrival rate 𝜆 > 0.
that has external arrivals and departures. The requests enter Hence, we have the overall arrival rate to node 𝑖, 𝜆 𝑖 , including
the system at “IN” and exit at “OUT.” The number of requests both external arrivals and internal transitions:
in the system varies with time. In analyzing an open system, 𝐽
we assume that the throughput is known (to be equal to the 𝜆𝜆 𝑖 = 𝛼𝑝0𝑖 + ∑ 𝜆 𝑗 𝑝𝑗𝑖 , 𝑖 = 1, . . . , 𝐽; (2)
arrival rate), and we also assume that there is no probability 𝑗=1
of incomplete transfer in this system, so there is no retrial
path to go back to node A. The REST web server farm can then
have more than one computing server; we especially present
4 computing servers in Figure 5. 𝜆 = (−𝑃)−1 𝑎. (3)
At each node, let us consider an M/M/1 queue with a
processor sharing service discipline. The interarrival times All requests submitted must first pass through the web
of requests are according to a Poisson process with rate server for providing HTTP service before moving on to the
𝜆 and the service times are exponentially distributed and REST web servers, Jersey. Requests arrive at the web server at
there is only one server. There are no buffer or population an average rate of 1000/sec to 15000/sec. To handle the load,
size limitations and the service discipline is FCFS. In this the REST web server components may have several parallel
research, experimental results were conducted by both real clouded or clustered architectures.
experiments and performance analysis of M/M/1 model. Figure 7 represents the mean number of requests in the
In our system in Figure 1, we do not depend only on the queue and traffic intensity at component A. Traffic intensity
M/M/1 queue as shown but we also make use of M/M/s is calculated by the arrival rate over the service rate that
model [9]. This is because the REST web service in our means how fast the incoming traffic is serviced on the server.
system is provided by clustered/clouded systems consisting The traffic intensity is a sort of constant on M/M/1 queue
of multiple numbers of servers. So, it is necessary to analyze (component A is M/M/1 queue). Since the service rate of the
this component separately using M/M/s model. The M/M/s Apache web server is 16000 requests/sec, the mean number
model can be used to model parallel systems that have several of requests in the queue reaches up to maximum on the total
identical servers and all jobs waiting for these servers are kept arrival rate is increasing to 15000. Figure 8 shows the mean
in one system. It is assumed that there are 𝑚 servers each with number of requests in the queue as increasing total arrival
a service rate of 𝜇 requests per unit time. The arrival rate is rate. And this is the similar to the case of Figure 7.
10 International Journal of Distributed Sensor Networks
Object1 obj1;
String strSearchKeyword = getParameter(STR PARAM SEARCHKEYWORD);
String strWebSvcQuery = “http://openapi.naver.com/search?key=test&query=”;
strWebSvcQuery += strSearchKeyword + “&target=adult”;
URL text = new URL(strWebSvcQuery);
XmlObjectConversionFactory objCreator = XmlObjectConversionFactory.newInstance();
XmlObjectConverter xoConverter = objCreator.newConverter();
obj1 = xoConverter.setInput (text.openStream(), null);
if (obj1.getbAdult()) {
return;
}
else
{
try{
strWebSvcQuery = “http://openapi.naver.com/search?key=test&query=”;
strWebSvcQuery += strSearchKeyword +
“&display=10&start=1&target=webkr”;
URL text = new URL(strWebSvcQuery);
String test = text.toString();
XmlPullParserFactory parserCreator =
XmlPullParserFactory.newInstance();
XmlPullParser parser = parserCreator.newPullParser();
parser.setInput(text.openStream(), null);
String tag;
int parserEvent = parser.getEventType();
while (parserEvent != XmlPullParser.END DOCUMENT){
switch(parserEvent){
case XmlPullParser.TEXT:
tag = parser.getName();
break;
case XmlPullParser.END TAG:
tag = parser.getName();
break;
case XmlPullParser.START TAG:
tag = parser.getName();
break;
}
}catch(Exception e){
Log.e(“dd”, “Error in network call” + e);
}
}
Figures 9 and 10 present the mean waiting time and four multiple servers of Jersey 1.6 REST web service providers.
the mean number of requests by the number of REST web From these experiments, we see the fact that 4 or 5 numbers
servers. Until now, we just make use of four REST web servers of REST web servers are enough for the current level of
without considering the optimal number of parallelism. So, workloads.
we carried out the experiment as shown in Figures 9 and Figures 11 and 12 present the mean waiting time and the
10. To do this, we modeled component B as the M/M/m mean number of requests in the queue with increasing of total
queue. The value m is larger than 1. This means the REST arrival rate at component B. We model component B as the
web servers are comprised of multiple Jersey 1.6 servers. These M/M/m queue. The value m is larger than 1. This means the
figures show the fact that the mean number of requests in REST web servers are comprised of multiple Jersey 1.6 servers.
the queue is decreasing as the number of REST web servers These figures show the fact that the mean number of requests
increases. Actually, we carried out this experiment with the and the mean waiting time are increasing as the total arrival
International Journal of Distributed Sensor Networks 11
14 0.1
12
0.08
10
8 0.06
6 0.04
4
0.02
2
0 0
2000 4000 6000 8000 10000 12000 14000 2 3 4 5 6 7 8 9 10 11
Total arrival rate (number of requests/s) Number of REST web servers
0.0000001
0.001
8E − 08
0.0008
6E − 08
0.0006 4E − 08
0.0004 2E − 08
0
0.0002 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Total arrival rate (number of requests/s)
0
2000 4000 6000 8000 10000 12000 14000 Mean waiting time
Total arrival rate (number of requests/s)
Figure 11: Mean waiting time as increasing total arrival rate.
Mean number of jobs in the queue
Mean waiting time Figure 12: Mean number of requests in the queue as increasing total
arrival rate.
Figure 9: Mean waiting time as increasing number of REST web
servers.
12
10
8
6
4
2
0
Adult + search Adult + Typo + Typo + search POI POI
encyclopedia encyclopedia + knowledge + real estate price
Separated
Composed
Object cached
by parallel computing platform with phases of mapping, [9] R. Jain, The Art of Computer System Performance Analysis,
synchronization, and reducing. One of the most important Techniques for Experimental Design, Measurement, Simulation
benefits of this approach is the fact that the interface of job and Modeling, John Wiley & Sons, New York, NY, USA, 1991.
submission is very familiar to users because it is REST Open [10] “The internet of things: in action, the next web,” http://
API, not the MapReduce interface. Likewise, we will continue thenextweb.com/insider/2013/05/19/the-internet-of-things-in-
research on design and implementation of this platform, action/.
called REST-MapReduce. [11] M. Yoon, Y. K. Kim, and J. W. Jang, “An energy-efficient
routing protocol using message success rate in wireless sensor
networks,” Journal of Convergence, vol. 4, no. 1, 2013.
Acronyms [12] Chipcon CC2420 data sheet-2.4 GHz, IEEE 802.15.4 RF
Transceiver.
REST: REpresentational state transfer
[13] J. Dean and S. Ghemawa, “MapReduce: simplified data pro-
WSDL: Web service description language cessing on large clusters,” in Proceedings of the 6th USENIX
RPC: Remote procedure call Symposium on Operating System Design and Implementation,
IoT: Internet of things 2004.
M2M: Machine to machine
SOAP: Simple object access protocol
OOP: Object-oriented programming
ADC: Analog-digital converter
HTTP: Hyper text transfer protocol
OVL: Object validity lifetime.
Acknowledgments
This research was jointly supported by the Basic Science
Research Program through the National Research Foun-
dation of Korea (2013055028) and the MSIP (Ministry of
Science, ICT & Future Planning), Republic of Korea, under
the R&D program supervised by the KCA (Korea Communi-
cations Agency) (KCA-2013-12-912-03-001).
References
[1] M. S. Islam, M. R. Rahman, A. Roy, M. I. Islam, and M. R. Amin,
“Performance evaluation of finite queue switching under two-
dimensional M/G/1(m) traffic,” Journal of Information Process-
ing Systems, vol. 7, no. 4, pp. 679–690, 2011.
[2] T. Saba, “Implications of E-learning systems and self-efficiency
on students outcomes: a model approach,” Human-Centric
Computing and Information Sciences, vol. 2, no. 6, pp. 1–12, 2012.
[3] R. Pan, G. Xu, B. Fu, P. Dolog, Z. Wang, and M. Leginus,
“Improving recommendations by the clustering of tag neigh-
bours,” Journal of Convergence, vol. 3, no. 1, pp. 13–20, 2012.
[4] H. Zhao and P. Doshi, “Towards automated RESTful Web
service composition,” in Proceedings of the IEEE International
Conference on Web Services (ICWS ’09), pp. 189–196, Los
Angeles, Calif, USA, July 2009.
[5] X. Zhao, E. Liu, G. J. Clapworthy, N. Ye, and Y. Lu, “RESTful web
service composition: extracting a process model from linear
logic theorem proving,” in Proceedings of the 7th IEEE Inter-
national Conference on Next Generation Web Services Practices
(NWeSP ’11), pp. 398–403, October 2011.
[6] “Mobile Public Information in Seoul Korea,” http://mobile
.openapi.seoul.go.kr/.
[7] “Shared resource portal in Korea,” http://www.data.go.kr/.
[8] T. Saha, M. Abu Shufean, M. Alam, and M. I. Islam, “Perfor-
mance evaluation of the WiMAX network based on combining
the 2D markov chain and MMPP traffic model,” Journal of
Information Processing Systems, vol. 7, no. 4, pp. 653–678, 2011.
International Journal of
Rotating
Machinery
International Journal of
The Scientific
Engineering Distributed
Journal of
Journal of
Journal of
Control Science
and Engineering
Advances in
Civil Engineering
Hindawi Publishing Corporation Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014
Journal of
Journal of Electrical and Computer
Robotics
Hindawi Publishing Corporation
Engineering
Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014
VLSI Design
Advances in
OptoElectronics
International Journal of
International Journal of
Modelling &
Simulation
Aerospace
Hindawi Publishing Corporation Volume 2014
Navigation and
Observation
Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014
in Engineering
Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014
Engineering
Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com
http://www.hindawi.com Volume 2014
International Journal of
International Journal of Antennas and Active and Passive Advances in
Chemical Engineering Propagation Electronic Components Shock and Vibration Acoustics and Vibration
Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014