Professional Documents
Culture Documents
highlights
The architecture design of a robot cloud is presented.
The simulation results show the advantage of our proposed scheduling algorithm and one big robot center.
The prototype system implementation shows the proposed idea is feasible and more such on-site services will be available in the future.
1. Introduction ables people to store and access personal files, such as music, pic-
tures, videos and bookmarks, to play games, and to use from any-
Computing has been viewed as resources by human beings and where the productivity applications deployed on remote servers
used as the medium to build the powerful and versatile cyber instead of physically carrying around a storage medium installed
world. To date, the vast majority of the applications in the com- with the applications.
puter technology are restricted to the interactions between human As the cyber world mainly focuses on virtual applications and
beings and cyberspace. The typical exemplar applications of such as the requests for application in the real world grow beyond the
interactions include the Internet and the cloud computing technol- cyber domain, the existing cloud computing technology started to
ogy. become insufficient to address the richness of the requests from
the reality.
Almost all users of the Internet are using a form of cloud com-
A robot is a mechanical intelligent agent which can perform
puting [1] although they may not realize it. Cloud computing en-
tasks on its own, or with guidance. In other words, robots are usu-
ally guided by computer and electronic programs. However, three
characteristics make robots to stand out as one of the best me-
Corresponding author. dia that are able to act as the bridge between the virtual (cyber)
E-mail address: duzh@tsinghua.edu.cn (Z. Du). world and reality. First, robots are of strong mobility. As robots are
http://dx.doi.org/10.1016/j.future.2016.01.002
0167-739X/ 2016 Elsevier B.V. All rights reserved.
338 Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348
essentially machines, they are not confined to one physical loca- 2.2. Cloud computing
tion but have the capability to move around in their surroundings.
Second, robots are perceivable. People endow robots the abilities of As consumers rely on service providers to supply all their data
perceiving and absorbing data in the environment, processing data, or computing resources, the computing industry shifts towards
and responding to various stimuli. The third character involves ac- providing Infrastructure as a Service (IaaS) [914], Platform as a
curacy and reliability. Robots can perform certain tasks for humans Service (PaaS) [4,1517], Software as a Service (SaaS) [1820], and
and complete the work more accurately and efficiently. even X as a Service (XaaS) where X can be any item [21].
Based on the merits of both robots and cloud computing tech- Cloud computing technologies give the IT professional opportu-
nologies, in this paper we merge robots and cloud computing tech- nities and challenges. All major computing companies participate
nologies and make the robot as one of the resources in the novel in cloud computing areas and many platforms emerge, including
computing system named Robot Cloud. Our intention is to create Amazon Elastic Compute Cloud (EC2) [22], Google App Engine [23],
synthetic systems which intensify the interaction between phys- Microsoft Azure [24], Sun network.com (Sun Grid) [25] and GRIDS
ical world and virtual world, making the best of both computa- Lab Aneka [26]. The emergence of cloud computing and the corre-
tion resources and robot resources to serve our human kind. In this sponding new products as well as that of the new business model
novel architecture, Service-Oriented Architecture (SOA) [2] plays makes it possible to use computing resources just like accessing
an important role since a loosely coupled framework cannot only utility services.
reuse existing assets easily, but also is conducive to the expansion From the bottom to the top, the cloud computing stack [27] built
and maintenance of the existing robot systems, achieve flexible re- on hardware is commonly recognized as IaaS, PaaS and SaaS.
sponse to customer requirement changes, maximize cost savings, Zhang et al. [28] has already presented a reusable and customiz-
and improve the efficiency of Robot Cloud. able cloud computing architecture called Cloud Computing Open
Unlike James Kuffners cloud-enabled robotics [3], the Robot Architecture (CCOA). It also depicts several principles for building
Cloud is a system meeting peoples need and owning the ability the Cloud Computing systems and applications as well as for adopt-
to interact with the physical world. Considering the attributes of ing the service-oriented architecture (SOA), that could make the
robots, it is not likely for Robot Cloud to share the same system
CCOA more flexible, extensible and reusable.
architecture as traditional cloud computing without any change.
The main contributions of the CCOA provides two insights that
We present the novel Robot Cloud architecture in Section 3, partly
we can use to develop our own work. First, it is recommend-
learning from the cloud computing architecture.
able to adopt the way of using a novel architecture to enable
The rest of the paper is organized as follows. Section 2 intro-
the infrastructure-level resource sharing as cloud offering. Thus,
duces related work that supports the design of our system. Sec-
robots in the Robot Cloud should also be shared as a cloud offer.
tion 3 proposes the overall design of the Robot Cloud architecture
Second, we can use the SOA construction method to separate busi-
that characterizes a Cloud framework containing robot resources.
ness design from infrastructure support.
Section 4 presents in detail the most important features of the
Mobile Cloud computing becomes a hot topic lately [29,30].
Robot Cloud architecture, i.e., how to achieve the Robot as a Service
Mobile Cloud and Robot Cloud share similarity to some extent since
(RaaS). The feasibility studies on the Robot Cloud are shown in Sec-
Robots typically interact with other services in the Cloud through
tion 5, where we develop a prototype using the popular Google App
wireless communication. But the difference between them is
Engine platform [4] to testify our idea. The first application of the
prominent. Mobile Cloud provides the rich computation and data
Robot Cloud that comes to our minds is the robot show, which
could be exemplified as a scenario of on-site service providing. We resources in the Cloud platform to mobile users. It works by, for
conduct the simulation to evaluate our scheduling algorithm, the example, offloading the workloads submitted to mobile devices to
effect of different request distributions and the advantage of one run on the Cloud platform. In Robot Cloud, however, the objective
large robot center, which is elaborated in Section 6. The conclusion is to integrate the robots into the Cloud platform. By doing so, robot
is presented in Section 7. services become a type of Cloud service and an integral part of the
Cloud platform. Therefore, their objectives, interaction principles
and implementation techniques are very different.
2. Related works
Service-Oriented Architecture (SOA) [2] is not a revolutionary Googles self-driving automobiles have shown that an un-
shift of paradigm. It evolves from the distributed object [5] and manned car equipped with the computer technology can travel
component architecture [6]. In an SOA environment, end users safely from city to city [31]. Also, there are a good number of re-
request an IT service (or an integrated collection of such services) searchers exploring the idea of using the robots based on the cloud
at the desired function, quality, and capacity level, and receive it computing infrastructure, aiming to access vast amount of process-
either at the time as it is requested or at a later time specified ing power and data. Professor James Kuffner at Carnegie Mellon
by the users. Service discovery, interoperability, and reliability are University has described the possibility of embracing the cloud in
important functionalities that need to be supported in SOA. robots. CPU-intensive tasks in robots can be offloaded from smaller
The key idea behind SOA is that different companies offer their and less power-consuming onboard computers to remote cloud
services in the form of modular and loosely coupled software servers [3]. A robot can improve its ability by integrating with
components, which exchange data among the companies over cloud-based services. An example of this is the cloud-enabled robot
HTTP (Hypertext Transfer Protocol) on the Internet with no human with the object recognizing function such as Google Goggles [32].
intervention. In other words, services can be replaced on the fly Imagine a robot finds an object that it never saw or used before, for
without the interruption of using the services. SOA has a number instance a box of cornflakes. The robot can be programmed to send
of outstanding characteristics, such as reusability, substitutability, an image of the box to the cloud. The object recognition algorithm
extensibility, scalability, customizability and composability. Using is run in the cloud and returns the robot the objects name, a 3-D
SOA, researchers have developed different robots, such as Robotic model, and the instructions of how to pour it. Other functions of
Swarm by Vlad M. Trifa et al. [7], security robots designed by a cloud-enabled robot include navigating environments [33] and
Arizona State University [8]. operating tools.
Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348 339
Professor Kuffner aims to develop the robots as an effective Cloud Computing). There are a large number of robot units in a RaaS
terminal which is able to offload most of its complex computa- system. All these robot units provide services to the consumers. A
tional and storage work to the cloud, rather than intensify the RaaS system also has complete functions of SOA, that is, as service
ability of the robots themselves. In the robotics level, robots are provider, as a service broker, and as a service client [38].
isolated, which means that there are little direct interactions be- A RaaS cloud unit is a service provider: Each unit hosts a repos-
tween robots. This is because in this architecture a cloud-enabled itory of preloaded services. A developer or a client can deploy new
robot depends on, therefore interacts with, the cloud rather than services into, or remove services from, a robot. The services can be
its peers. used by this robot and can also be shared with other robots.
J.P Laumond has pointed out the drawbacks of the cloud- A RaaS cloud contains a set of deployed applications: A devel-
enabled robotics in [34]. Achieving good real-time performance oper or client can compose a new application (functionality) based
depending on strong onboard processing ability would be a on the services available in and outside the unit.
forbidden territory for cloud robotics. For instance, controlling a A RaaS unit is a service broker: A client can look up the services
robots motioning which relies heavily on sensors and feedback and applications available in the units directory. A client can
will not benefit much from the cloud. Moreover, the cloud search and discover the applications and services deployed in the
robotics paradigm which severely relies on the networks may robot by browsing the directory. The services and applications can
weaken the robotics autonomy and reliability. It is possible that be organized in a hierarchy or classes to facilitate the discovery.
once the networks paralyze, all cloud robotics would become Fig. 1 illustrates the service layers and the hierarchy of ser-
brainless. vice registry and discovery. There are three types of elementary
However, different from professor J. Kuffners intention to make services, which are also called low-level service, including Ba-
robots lighter, cheaper and smarter, Robot Cloud aims to shape sic Hardware Services, Application Services and Common Ser-
the robots as a part of the cloud computing service which leads to vices (represented by different shapes at the low level services
the conception Robot as a Service elaborated in Section 4. On one layer in Fig. 1). These low-level can be composed to provide high
hand, in the Robot Cloud, service-oriented architecture does not level services (the second layer in Fig. 1). All services, no matter
have to be implemented over the Web. Thus, the standard interface high-level or low-level, are published through the service registry
can be simpler and faster. Services can also be migrated onto a and repository (the top component in Fig. 1).
local machine to reduce the communication cost [35]. Besides, the Basic Hardware Services: This type of services plays a role of
Robot Cloud is not the simple extension of the cloud computing basic hardware resources. The following are some exemplar basic
technologies or the robotics. It has the features of both cloud hardware services: a Core Processor Service runs as the core of the
computing and robotics as well as its own distinctive features of system, performs basic diagnosis and controls various services in
the Robot Cloud itself. Especially, on the robotics level, robots in order to finish specific tasks; a Sonar Sensor Service initializes the
Robot Cloud can contact each other rather than act as isolated units sonar sensor driver and calculates the distance of the sonar senor
that are only allowed to exchange data with the remote servers. As from an obstacle in front of it; a Touch Sensor Service generates
a result, the Robot Cloud will make the best use of most excellent an event when the touch sensor is touched or has encountered
existing scientific achievements in the realm of robotics. an obstacle; a Motor Driver Service keeps reading a managed
Usually, when we develop a new system, it is necessary to command pool and retrieves the command from the command list
develop the framework that is able to explain various architec- and executes it; a Compass Sensor Service keeps reading incoming
tural concepts and specification in the system. The purpose of
data from the corresponding port, calculates the compass value,
developing such a framework is to allow the improvement and
and turns around according to the compass value; a Video Camera
integration of development methodologies and tools and also to
Service pops up a window displaying a real-time video captured by
establish the credibility and confidence in investing the required
the camera mounted on the robot.
systems resources. However, the analytical results of the cur-
Application Services: Application services registered in the
rently accepted cloud stack and the architecture of cloud-enabled
service broker are mainly task-related services, such as Patrol
robotics indicate that these architectures cannot meet all the needs
Service (driving the robot to perform the patrolling and object
of the proposed Robot Cloud. Mismatches between original design
detection task autonomously), Intruder Detection Service (helping
and current usage will definitely hamper the application potential
the robot detect the presence of intruders), Bomb Detection Service
of Robot Clouds. Therefore, it is essential to design a new architec-
(assisting the robot to detect potential bombs in a dangerous
ture for the Robot Cloud.
environment), and so on.
Common Services: Common Services represent several classic
3. Robot as a service
algorithms and commonly used functions. For example, a maze
As SOA becomes more and more popular, this new architecture navigation algorithm is required by most mobile robots, and a
style has been applied to the development of robotics application. human face recognition algorithm is also used by various robotics
Chen applied the SOA concepts to develop re-composable embed- applications which need to recognize different people from their
ded systems and robotics applications, and implemented a proto- faces.
type of the system [36]. Researchers encapsulate the functions of Since the service broker provides a method for robotics appli-
every part of robot and the robotics applications as well-defined cation developers to retrieve existing usable services, developers
services. Programmers are then able to assemble new robotics ap- are able to reuse the appropriate components and combine them
plications using these services. In this way, the whole systems are according to the requirements, which greatly facilitates the appli-
loosely coupled, more flexible to adjust. More importantly, new ap- cation development.
plications can be developed more efficiently just by composing ev-
ery useful component and customizing them. 4. The robot cloud architecture
Chen et al. also implemented these ideas with an easy-to-
learn programming language, Visual Programming Language (VPL), 4.1. Target business model
successfully, and applied it to develop a high school computing
course [37]. A good understanding of the target business model greatly
The SOA-based robot architecture relies on extending cloud helps us design the architecture of the Robot Cloud. Generally,
computing to the field of roboticsRaaS (Robot as a Service in there are four parties in the target business model of Robot
340 Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348
Robot the proper authority to use all other resources in the Robot
Host. The GUI component provides the manager of the Robot Host
a friendly interface to manipulate the system. The monitoring
module is related to the Robot Hosts polling function, through
which the Robot Host Core polls all its Service Robots and obtains
their status at certain time intervals. The monitoring module
can be inquired when deploying different scheduling methods to
minimize the overall cost of the Robot Cloud (further discussion
on the scheduling issue is conducted in Section 4.4.3). The module
can also be used to detect abnormal status. Once an abnormal
status is detected, a warning message will be sent to GUI, and
the information related to the abnormality will be saved in the Fig. 8. A Service Robot architecture (SOA view).
database.
We design a Service Broker in the Robot Host Core so as to
consists of two parts. One part performs certain physical actions.
avoid developing the application-specific components. Instead,
This function is implemented in the mechanical module, which
the requirements of the components are published in the Service
needs the assistance of other modules, such as position modules.
Broker. In other words, the Service Broker will provide a great
The other verifies who is authorized to issue the instructions. This
convenience to the service providers: the service providers can
function is implemented in the safety module.
develop the services and publish them in the broker, and the
We build Service Robots in the fashion complying with the
application developers then look up the services available in the
service-oriented architecture. This is the reason why these mod-
Cloud and incorporate the services into the application to be
ules can be easily added onto or removed from robots. In general,
developed.
the Service Robot architecture can be divided into two parts: WSDL
The Robots Maintenance Module maintains the Service Robot,
Interface and Infrastructure (see Fig. 8).
i.e., conducts the maintenance routine and the common trouble
The infrastructure of Robots in the Robot Cloud is composed
shooting. Also, this module recharges the Robots battery.
of the hardware devices of robot and the operating system, as
The Robots Storing module is like a robot warehouse. Once a
well as device drivers. There are heterogeneous robots in the robot
robot has entered into the Sleep or Ready state (these concepts
will be discussed in detail in Section 4.4.2), it will find its way to the cloud that provide different services, so they may have different
Storing Module and stay there. hardware devices and device drivers.
Service Robots must also interact with other parts of the sys-
tem or interact with other robots. We use web services as the com-
4.4. Service Robot
munication interface in our system. To make the system work, the
application server must be installed on the onboard computer of
4.4.1. Service Robot architecture
the robots, which is responsible for receiving requests and send-
Generally speaking, Service Robots in the Robot Cloud are ing responses. Robotics applications and web services that wrap
robotics provided by Robotics Providers, but are built with spe- hardware drivers (Basic hardware services) are deployed on the
cially designed architecture in order to integrate with the cloud server. Besides, a service directory of Robot Cloud unit is necessary
computing resources. Indeed, Service Robots play the most funda- to record all the services deployed on it.
mental role in the Robot Cloud system because they are the entities
which provide services for the end users. Service Robots need to
communicate with other parts of the system (i.e. the Robot Host), 4.4.2. Service Robot finite-state machine
and they are also required to interact with each other. Each of the Service Robots has a human user interface which can
As we have discussed in the previous section, Service Robots turn the robot into an autonomous mode or a manual controlled
form the Perception/Interaction Layer of the Robot Cloud. Service mode. Once a robot is initialized and put in the working order,
Robots are able to perceive information in the surrounding world it will run in the autonomous mode without the need of human
and also provide different services directly to customers. intervention. Fig. 9 shows all statuses of a Service Robot.
The physical architecture of a Service Robot is shown in Fig. 7. A We consider three states in the autonomous mode: Sleep, Ready
typical Service Robots components should include (but not limited and Busy. All states change dynamically in order to achieve rela-
to) a position module, a mechanical module, a communication tively low energy consumptions. When a robot is initialized, its de-
module, the computation module and battery. To improve the fault state is set to be Sleep, the most energy-saving state. There
service quality of the robotics, Providers may add other modules can be a number of Sleep Robots in a Robot Host. When the QoS is
onto the robot including Alert system, QoS module and Safety below a certain threshold, the state of a certain number of Sleep
mechanism. Note that the controlling function is not implemented Robots will translate it to Ready, which means that the robots are
in a single module in the architecture. The controlling function ready to load tasks. A Ready robot consumes more energy than A
Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348 343
Table 2
Final state of robots.
Rid RSid State
1 A 0
1 B 0
2 A 0
2 B 0
3 B 0
Table 3
Final state of robots.
Fig. 9. Service Robot finite-state machine.
Rid RSid State
Table 1 1 A 1
Robot variables and definitions. 1 B 1
2 A 1
Notations Meaning
2 B 1
Rno Request identity number 3 B 0
Sid Requested service identity number
Cpb The total capacity of robots that the users request needs
Rid Robot identity number When the Sid of a user request is A, we select the robot based on
RSid Robot provided service the following rule: the state of robot is 0 and the robot whose RSid
State Running state of robot is A. Consequently, the robots that can be selected must be in the
set {1, 2}. Namely, we can only assign the task to robots whose Rid
Sleep robot. When the QoS is above the threshold, some Ready is either 1 or 2. We change the states of robot 1 and 21, as shown
robots may fall back to the Sleep state. in Table 3.
Then, if a new request demands service B, the set of candidate
Only Ready or Busy robots can perform consumers re-
robots that can be selected is {3}. Therefore, the task will be
quests. An incoming customer request (i.e. a task) can put a
assigned to robot 3.
Ready robot into operation. The robot then becomes a Busy
We now consider how to distribute the tasks to certain robots
robot. Note that not every newly arriving task will change a
within the set of candidate robots. The task distribution aims to
Ready robot into a Busy one. A Busy robot can also take the (1) satisfy the users demands and (2) minimize the overall cost of
task that possesses a long deadline. If the deadline is long enough, the robot cloud.
a Busy robot may finish its current task first, and then perform Assume the number of robots available in Robot Cloud Center
the task with a relatively long deadline. is n. The capability of each robot is denoted by Ai (1 i n) and
the cost of each robot by Ci (1 i n). Xi (1 i n) denotes
4.4.3. Service Robots mapping and scheduling algorithm the final solution of robot selection. (Xi = 1) means that ith robot
As stated above, a Service Robot has various states. This raises is selected, while (Xi = 0) means that ith robot is not selected. The
the problems as to whether Robot Host should use a Busy Robot capability of a robot is expressed as a vector Ai = s1 s2 , . . . , sm
or another Ready Robot to perform a new task. When the re- (the total number of robot services that can be provided is m). If a
quirements in terms of both functionality and quality-of-service robot can provide service sj then the value of its element sj = 1.
(QoS) are satisfied, how to minimize the overall cost of the robots Otherwise sj = 0. We can remove, add or replace a particular
becomes more complex. In such cases, the scheduling strategies service on a robot dynamically, and therefore the value of Ai may
should be enacted by the Robot Host. There are a number of ex- vary over time. Cpb is also expressed as a vector similar as Ai and its
isting works which also investigate the task scheduling strategies value is set based on users requests for different kinds of services.
[40,41] and the service mapping problems [42]. However, their Cpb [j] = 1 means that the user needs the jth service. Otherwise
works are designed for generic tasks and services. In this section, Cpb [j] = 0 (1 j m). The optimal scheduling in the sense of
we propose a mapping and scheduling method targeted towards minimizing the cost can be formulated by
robot services. n
We design a mapping layer in our system to realize the task as- min Ci Xi
signment function of the system. Fig. 10 presents the specific map- i=1
ping mechanism from a high-level perspective. It is necessary to
n
point out that this mapping is not unalterable. It is a configuration s.t. S [j] Cpb [j] , 1 j m, S = Ai Xi , Xi {0, 1} . (1)
file in XML that can be dynamically modified by the robot man- i=1
ager in Robot Host, which means that we can manage the robots
Since the value of Xi is 0 or 1, the problem proposed above is
flexibly.
a classic integer linear programming problem. Finding a feasible
We apply the robot selecting and scheduling algorithms in the
solution to this problem is NP-hard and there are not known
mapping layer to achieve the overall robot management of the algorithms for solving the integer linear programming problem
Robot Cloud. with polynomial time. Therefore, we propose a heuristic algorithm,
Firstly, the robot selecting algorithm is built on the assumption LPS (Location-based Packing Scheduling), to schedule the tasks.
that the Robot Cloud Center has sufficient robot resources. The Algorithm 1 shows the details of the LPS algorithm. The algorithm
algorithm checks if the residual energy of robots is sufficient for tries to pack multiple requests and assign them together to one
completing the tasks to be assigned. robot. LPS at most check K Busy robots and one Ready robot. It will
The variables of user request can be abstracted as Table 1. assign the request to the robot with the lowest cost or reject the
A robot can provide multiple services, i.e., one Rid can be asso- request if the selected (K + 1) robots cannot satisfy the request
ciated with many RSids. The initial state of the robot is 0, i.e., the or the constraint. The time complexity of the LPS algorithm is
idle state. When the robot executes a service, its state is changed O(K + 1), where K + 1 is the number of the robots to be checked.
to1, which represents the running state. Because we only need to check a few robots, the algorithm can
Table 2 shows a case study that illustrates our model. process the requests with high performance.
344 Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348
Fig. 13. The full overview of the robot cloud prototype system.
allocation of robot resources, just as how the operation system ar- time point before which the show must end. The value of x, y, S
ranges the processes to make full use of the computing and storage and L can be set to follow certain probability distribution (here the
capacity. normal distribution is adopted).
The controlling system of each robot is implemented in an Intel We set the longest working (including traveling) time (denoted
Atom process based x86 embedded system. Since the robot system by Tmax ) for a robot to be 5400 s, which means that each robot must
shares the same architecture with the widely used PC platform, the meet the following constraint before recharging its battery.
system can get full support of the PC software and hardware. In
this prototype, a Microsoft Windows XP is installed in each robot (total service time) + (total moving time) Tmax . (2)
as the operation system and a WIFI adaptor is installed in the After that period, a robot must be recharged and maintained in
system to provide IEEE 802.11 g wireless Internet connection to the robot center. We must ensure a robot is in the robot center by
the system. Some motion control units (PhidgetMotorControl HC, its longest working time. After the maintenance stage, a robot can
Phidget, Calgary, Canada) are connected to the universal serial bus provide the service again.
(USB) to control the movement of the robots. A local controlling The utilization function of the robot center can be defined as
service is also implemented by the C# programming language. The follows.
API provided by the manufacturer of the USB motion controller
makes it possible for the local controlling service to control the Profit = (total service time) Price
robot programmatically. The service obtains the latest commands (total traveling time) TravelCost . (3)
by sending the HTTP requests periodically to the scheduling service
and receiving their commands in the XML format as the response,
in a similar way as what most SOA applications do. 6.2. Simulation results for one big robot cloud center
The full overview of the robot cloud prototype system is shown
in Fig. 13. Application developers can control the robot simply by In the experiments, we simulate a big robot cloud center which
invoking the methods provided by the RaaS Application Program- serves an area of 20 km by 14 km and the robot cloud center
ming Interface in the level of behavior instead of in the low level of is located at the coordinate of 10 km, 7 km. The four request
motion control. This makes it much easier for the robots to interact parameters expressed in the 4-tuple follow the following normal
with other robots or even with people. distribution. x N (1000, 2502 ), y N (700, 1802 ), S
N (600, 1502 ), L N (1200, 5002 ).
6. Simulation results First, we compare the performance of the LPS (Location-based
Packing Scheduling) algorithm with another nave scheduling
6.1. Simulation model and setup algorithm, the ES (Exclusive Scheduling) algorithm. The ES
algorithm is very simple. It just assign the request to one Ready
In this section we consider a simple scenario that a robot center robot in the robot cloud center so we do not present the detailed
can only provide one service, robot show, for a given physical algorithm description here.
area. The families or organizations (such as kindergartens) can Fig. 14(a) clearly shows that for the same amount of requests,
request the robot center at certain time to play the on-site robot the LPS algorithm needs fewer active robots than the ES algorithm.
show at any location of the given area. The customers will be This is because LPS packs multiple requests and assigns them
charged only based on the service time. The longer the show is, together to one robot (the different requests can share one robot)
more fee will be charged. while ES does not. It is to be expected that total traveling cost of ES
The customers request is formulated as a 4-tuple req = is greater than that of LPS, as shown in Fig. 14(b). The simulation
R, P , S , D, where R is the release time of the request; P is the results show that more profit can be gained by virtualizing one
location of the request, expressed as the coordinate x, y; S is the physical robot into multiple ones. In the following experiments,
requested service demand, i.e., how long the requested show lasts we will only present the results of the LPS algorithm since LPS is
in this case; D = R + S + L is the deadline of this request, i.e., the superior to ES.
346 Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348
Fig. 14. Simulation results of the LPS algorithm and the ES algorithm. (a) The number of active robots changes over time; (b) The total traveling cost changes over time.
Fig. 15. The impact of the deadline on scheduling results. (a) The impact of deadline changes on the number of active robots and the reject ratio; (b) the impact of deadline
changes on the gained profit of the robot cloud center.
We also conducted the experiments to evaluate the impact of the same and the number of active robots increases before service
the deadline distribution on scheduling results. The results are demands are less than some threshold values. This is because the
shown in Fig. 15. robot cloud center can wake up more sleeping robots to meet
Fig. 15(a) shows that when the requests have longer deadline the increasing service demand if the requests cannot be packed
(the consumers can tolerate longer waiting time), the number of together and assigned to the existing active robots. When the
active robots increases first and then decrease. The reject ratio service demand is too high (close to the maximum working time
decreases monotonously. This is because when the deadline of a Tmax of the robot), the system cannot schedule any more robot
given request is shorter, it is more likely that the robot cannot move to meet the requests. Consequently, the requests with very high
to the specified location to provide the service and therefore the service demand have to be rejected and there is no need more
request has to be rejected. In this case, we do not need a large robots to provide service. This is why the number of active robots
number of active robots to provide services. When the deadline dips when service demand increases further in Fig. 16(a).
of the request become longer, it is more likely that the robot Fig. 16(b) shows that the profit of the robot cloud center keeps
cloud center has enough time to send the robots over to serve increasing until the service demand becomes too high. This is
the requests. Therefore, the reject ratio decreases and more active because when service demand increases the robot cloud center
robots are needed. When the deadline of the request become even can gain profit by serving more requests. When service demand
longer, our LPS algorithm are able to pack more requests together increases further beyond the threshold, the profit decreases
and assign them to one instead of multiple robots. This is why because the requests with very high service demand have to be
the number of active robots decreases as the deadline increases rejected.
further in Fig. 15(a). The reject ratio continues to decrease because
even more requests can be served by the robot cloud center. 6.3. One big center or multiple smaller centers?
Fig. 15(b) shows that the profit of the robot cloud center increases
as the requests deadlines become larger. The increase in profit Given a service area and a total number of requests, a question
comes from two aspects: (1) more requests can be served, and arises as to whether we should build multiple smaller robot
(2) the traveling cost decreases when one robot is able to meet centers, each serving a smaller and separate area independently,
the deadlines of multiple requests and therefore serve multiple or build one big center to serve the entire area. We also conduct
requests. the experiments to investigate the difference between the two
Finally, we investigate how the service demand affects the solutions.
scheduling results. We assume the entire area is 20 km 20 km and it is divided
Fig. 16(a) shows that when we increase the service demand into three separate areas, each being served by three independent
of each request from low to high, the reject ratio remains almost robot centers: A, B and C. Three synthetic request traces are used
Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348 347
Fig. 16. Impact of service demand on scheduling results. (a) Impact on the number of active robots and the reject ratio. (b) Impact on the profit of the robot cloud center.
Fig. 17. The impact of the variance ( ) of request locations on scheduling results. (a) The impact on the number of active robots and the reject ratio. (b) The impact on the
profit of different solutions.
by these three centers, respectively. Each robot center can only more traveling cost, which causes the decrease in profit based on
schedule its own robots and cannot assign the requests to the Eq. (3).
robots managed by other robot centers. The above results indicate that in our scenario and scheduling
We also simulate the scenario where a single robot center is policy, the solution of building one big center (sharing all the
used to serve all requests from the three request Traces. We set robots) is much better than that of multiple smaller centers (each
the locations of three smaller robot centers to be (1000, 750), (750, sharing a subset of robots).
1250) and (1250, 1250), and the location of the single big center be
(1000, 1000). 7. Conclusion and future work
A greater means that the requests are distributed more
sparsely in the given area. Fig. 17(a) shows that the solution of We have developed a way of building a Robot Cloud in order
a single big center needs fewer active robots to serve all the to combine the cyber (virtual) world and the physical world. The
requests than the solution of three separate smaller centers. Since Robot Cloud has the great potential to serve the diverse and
one robot center cannot assign its requests to the robots in other large amount of location-based on-site demands, which cannot be
robot centers, the multi-center solution needs more robots to serve handled by the existing cloud systems.
The prototype implemented in this work and the simulation
the same amount of requests. At the same time, the single-center
results show that (1) the virtualization of robot resources is
solution has lower reject ratio compared with the multi-center
feasible, (2) the virtualization can improve the profit of the robot
solution. For both solutions, greater always leads to more active
center, and (3) one large robot center is better than multiple
robots and higher reject ratio because the robot center cannot
independent small centers.
schedule a robot to meet the service demand by the given time.
There are still some open issues for robot cloud research. First, in
However, there is an exception for the single-center solution:
order to reduce the total cost of robot cloud, we need a clever strat-
when increases from 250 to 300, the number of active robots egy to select the position of the robot center. A promising solution
decreases. A possible explanation is as follows. When more robots could take into account the distribution of requests and the trav-
are providing service at different locations of a given area, it is more eling cost, and maintaining cost of different positions to build the
likely that more requests fall into such proximity of a robot that all optimization model. Second, How to design flexible collaboration
these requests can be served by the robot, which give the system mechanism to fully utilize the robot resources to tackle more chal-
the chance of packing these requests and assign them to the active lenging tasks? For example, a robot game may need many robots
robot. to work together as a team. Finally, the implementation and de-
Fig. 17(b) shows that the single-center solution have much ployment of robot services may need to be tailored or adapted in
more profit than the multi-center solution. However, the absolute different application domains in order to achieve the optimal per-
profit decreases under both solutions as the value of increases. formance. It is critical to investigate the conditions and factors that
This is because given the same total requests, greater leads to have biggest impact on the performance of Robot Cloud.
348 Z. Du et al. / Future Generation Computer Systems 74 (2017) 337348
Unmanned aerial vehicles, which have been employed to pro- [28] L. Zhang, Q. Zhou, CCOA: Cloud computing open architecture, in: Proceedings
vide different services at specific locations for people, can be re- of the 2009 IEEE International Conference on Web Services, Los Angeles, CA,
July 06July 10, pp. 607616.
garded as a special kind of robot. Ubers ice cream is a good
[29] B. Gao, L. He, L. Liu, K. Li, S. Jarvis, From mobiles to clouds: Developing
example of this kind of application. We expect to see more of such energy-aware offloading strategies for workflows, in: The 13th IEEE/ACM
applications in the future. International Conference on Grid Computing, Grid, 2012.
[30] B. Gao, L. He, C. Chen, Modelling the bandwidth allocation problem in
mobile service-oriented networks, in: The 18th ACM International Conference
Acknowledgments
on Modeling, Analysis and Simulation of Wireless and Mobile Systems,
MSWiM15, Cancun, Mexico, November 26, 2015.
This research is supported in part by National Natural Science [31] J. Markoff, Google cars drive themselves, in Traffic, New York Times,
Foundation of China (Nos. 61440057, 61272087, 61363019 and October 10, 2010. http://www.nytimes.com/2010/10/10/science/10google.
61073008), Beijing Natural Science Foundation (Nos. 4082016 html?pagewanted=1.
and 4122039), the Sci-Tech Interdisciplinary Innovation and [32] Google Goggles. http://en.wikipedia.org/wiki/Google_Goggles.
Cooperation Team Program of the Chinese Academy of Sciences, [33] R. Arumugam, V. Enti, L. Bingbing, et al. DAvinCi: A cloud computing
framework for Service Robots, in: Proceedings of 2010 IEEE International
the Specialized Research Fund for State Key Laboratories. Conference on Robotics and Automation, Anchorage, AK, USA, May, pp.
30843089.
References [34] E. Guizzo, Robots with their heads in the clouds, IEEE Spectr. (2011).
[35] W. Hao, T. Gao, I. Yen, Y. Chen, R. Paul, An infrastructure for web services
[1] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, migration for real-time applications, in: 2nd IEEE International Symposium on
Andy Konwinski, Gunho Lee, et al., A view of cloud computing, Commun. ACM Service-Oriented System Engineering, Shanghai, 2006, pp. 4148.
53 (4) (2010) 5058. [36] Y. Chen, Service-oriented computing in recomposable embedded systems, in:
[2] Thomas Erl, Service-oriented Architecture: Concepts, Technology, and Design, Joint IARP/IEEERAS/EURON/IFIP 10.4 Workshop on Dependability in Robotics
Pearson Education India, 2005. and Autonomous Systems, Tucson, AZ, February 1519, 2006.
[3] J. Kuffner, Cloud enabled humanoid robots, Humanoids 2010 Workshop
Talks, http://i61www.ira.uka.de/users/asfour/Workshop-Humanoids2010/ [37] Yinong Chen, Xiaoying Bai, On robotics applications in service-oriented
talks/James-Kuffner-Humanoids2010.pdfWorkshop-Humanoids2010/talks/ architecture, in: The 28th International Conference on Distributed Computing
James-Kuffner-Humanoids2010.pdf. Systems Workshops.
[4] Google Inc. Google apps engine. http://www.google.com/apps. [38] Yinong Chen, Zhihui Du, Marcos Garca-Acosta, Robot as a service in cloud
[5] K. Ostrowski, K. Birman, D. Dolev, J. Ahnn, Programming with live distributed computing, in: 2010 Fifth IEEE International Symposium on Service Oriented
objects, in: J. Vitek (Ed.), Proceedings of the 22nd European Conference on System Engineering, SOSE, IEEE, 2010, pp. 151158.
Object-Oriented Programming, Paphos, Cyprus, July 0711, 2008, in: Lecture [39] MRDS. http://en.wikipedia.org/wiki/Microsoft_Robotics_Developer_Studio.
Notes in Computer Science, vol. 5142, Springer-Verlag, Berlin, Heidelberg,
[40] B. Simion, C. Leordeanu, F. Pop, V. Cristea, A hybrid algorithm for scheduling
2008, pp. 463489. http://portal.acm.org/citation.cfm?id=1428508.1428536.
workflow applications in grid environments, in: Proceedings of International
[6] Rob Armstrong, Dennis Gannon, Al Geist, Katarzyna Keahey, Scott Kohn,
Conferences CoopIS, DOA, ODBASE, GADA, and IS, Portugal, 2007, pp.
Lois McInnes, Steve Parker, Brent Smolinski, Toward a common component
13311348, http://dx.doi.org/10.1007/978-3-540-76843-2_15.
architecture for high-performance scientific computing, in: The Eighth
International Symposium on High Performance Distributed Computing, 1999, [41] M. Vasilea, F. Popa, R. Tutueanua, V. Cristeaa, J. Koodziejb, Resource-aware
Proceedings, IEEE, 1999, pp. 115124. hybrid scheduling algorithm in heterogeneous distributed computing, Future
[7] Vlad M. Trifa, Christopher M. Cianci, Dominique Guinard, Dynamic control of Gener. Comput. Syst. 51 (2015) 6171. http://dx.doi.org/10.1016/j.future.
a robotic swarm using a serviced-oriented architecture, in: The Proceedings of 2014.11.019.
the 13th International Symposium on Artificial Life and Robotics, AROB 2008, [42] L. He, D. Zou, Z. Zhang, C. Chen, H. Jin, S.A. Jarvis, Developing resource
Beppu, Japan, January 31February 2, 2008. consolidation frameworks for moldable virtual machines in clouds, Future
[8] Yinong Chen, S. Abhyankar, L. Xu, W.T. Tsai, Marcos Garcia-Acosta: Developing Gener. Comput. Syst. 32 (2014) 6981.
a security robot in service-oriented architecture, in: The Proceedings of 12th
IEEE International Workshop on Future Trends of Distributed Computing
Systems, FTDCS08, Kunming, China. October, 2008, pp. 106111.
[9] Amazon Web Services. Amazon web services homepage. http://aws.amazon. Zhihui Du received the B.E. degree from the Computer
com. Department, Tianjin University, in 1992, and the M.S.
[10] K. Lai, L. Rasmusson, E. Adar, S. Sorkin, L. Zhang, B.A. Huberman, Tycoon: an and Ph.D. degrees in computer science from Peking
implementation of a distributed market-based resource allocation system, University, in 1995 and 1998, respectively. From 1998 to
Multiagent Grid Syst. 1 (3) (2005) 169182. 2000, he worked at Tsinghua University as a postdoctoral
[11] Hewlett-Packard, HP Integrated Lights-Out 2 User Guide, Technical Report, HP, researcher. Since 2001, he has been an associate professor
2009. at the Department of Computer Science and Technology,
[12] Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung, The Google file system,
Tsinghua University. His research interests include high
in: ACM Symposium on Operating Systems Principles, 2003.
performance computing and grid computing. He is a
[13] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford,
member of the IEEE.
S. Shenker, J. Turner, Openflow: Enabling innovation in college networks, 2008.
[14] Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber,
Bigtable: A distributed storage system for structured data, in: Symposium on Ligang He is an associate professor of University of War-
Operating System Design and Implementation, 2006. wick. His research interests include Cloud Computing, Grid
[15] PaaS. http://en.wikipedia.org/wiki/Platform_as_a_service. Computing, Cluster Computing, Parallel and Distributed
[16] S. Microsystems, Project caroline. http://research.sun.com/projects/caroline. Processing, High Performance Computing, Performance
[17] Microsoft, Azure Services Platform. http://www.microsoft.com/azure. Modeling and Evaluation, Real-time Processing. He has
[18] M.H. Weier, L. Smith, Businesses get serious about software as a service, served for many conferences and journals. He has pub-
Informat. Week (2007) 4648. lished many top level journal and conference papers.
[19] Google Inc. Google docs. http://docs.google.com.
[20] P.A. Laplante, Jia Zhang, J. Voas, Whats in a name? Distinguishing between
SaaS and SOA, IT Prof. 10 (3) (2008) 4650.
[21] Henry E. Schaffer, X as a service, cloud computing, and the need for good
judgment, IT Prof. 11 (5) (2009) 45.
[22] Amazon Elastic Compute Cloud (EC2). http://www.amazon.com/ec2/.
[23] Google App Engine. http://appengine.google.com. Yinong Chen is a Senior Lecturer of Arizona State
[24] Microsoft Azure. http://www.microsoft.com/windowsazure/. University. He got his Ph.D. degree from University of
[25] Sun network.com (Sun Grid). http://www.network.com. Karlsruhe/KIT, Germany. He has published more than 100
[26] Xingchen Chu, Krishna Nadiminti, Chao Jin, Srikumar Venugopal, Rajkumar conferences and journal papers. He is the Area Editor of the
Buyya, Aneka: Next-generation enterprise grid platform for e-science and Elsevier Journal: Simulation Modeling Practice and Theory,
e-business applications, in: Proceedings of the 3th IEEE International since Jan 2006 and Associate Editor of the International
Conference on e-Science and Grid Computing, e-Science 2007, Bangalore, Journal of Simulation and Process Modelling (IJSPM), since
India, December, 2007. Jan. 2004.
[27] J. Dean, S. Ghemawat, MapReduce: Simplified data processing on large
clusters, in: Symposium on Operating System Design and Implementation,
2004.