Académique Documents
Professionnel Documents
Culture Documents
Leonard Barolli
Peter Hellinckx
Juggapong Natwichai Editors
Advances on P2P,
Parallel, Grid,
Cloud and Internet
Computing
Proceedings of the 14th International
Conference on P2P, Parallel, Grid, Cloud
and Internet Computing (3PGCIC-2019)
Lecture Notes in Networks and Systems
Volume 96
Series Editor
Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences,
Warsaw, Poland
Advisory Editors
Fernando Gomide, Department of Computer Engineering and Automation—DCA,
School of Electrical and Computer Engineering—FEEC, University of Campinas—
UNICAMP, São Paulo, Brazil
Okyay Kaynak, Department of Electrical and Electronic Engineering,
Bogazici University, Istanbul, Turkey
Derong Liu, Department of Electrical and Computer Engineering, University
of Illinois at Chicago, Chicago, USA; Institute of Automation, Chinese Academy
of Sciences, Beijing, China
Witold Pedrycz, Department of Electrical and Computer Engineering,
University of Alberta, Alberta, Canada; Systems Research Institute,
Polish Academy of Sciences, Warsaw, Poland
Marios M. Polycarpou, Department of Electrical and Computer Engineering,
KIOS Research Center for Intelligent Systems and Networks, University of Cyprus,
Nicosia, Cyprus
Imre J. Rudas, Óbuda University, Budapest, Hungary
Jun Wang, Department of Computer Science, City University of Hong Kong,
Kowloon, Hong Kong
The series “Lecture Notes in Networks and Systems” publishes the latest
developments in Networks and Systems—quickly, informally and with high quality.
Original research reported in proceedings and post-proceedings represents the core
of LNNS.
Volumes published in LNNS embrace all aspects and subfields of, as well as new
challenges in, Networks and Systems.
The series contains proceedings and edited volumes in systems and networks,
spanning the areas of Cyber-Physical Systems, Autonomous Systems, Sensor
Networks, Control Systems, Energy Systems, Automotive Systems, Biological
Systems, Vehicular Networking and Connected Vehicles, Aerospace Systems,
Automation, Manufacturing, Smart Grids, Nonlinear Systems, Power Systems,
Robotics, Social Systems, Economic Systems and other. Of particular value to both
the contributors and the readership are the short publication timeframe and the
world-wide distribution and exposure which enable both a wide and rapid
dissemination of research output.
The series covers the theory, applications, and perspectives on the state of the art
and future developments relevant to systems and networks, decision making, control,
complex processes and related areas, as embedded in the fields of interdisciplinary
and applied sciences, engineering, computer science, physics, economics, social, and
life sciences, as well as the paradigms and methodologies behind them.
Juggapong Natwichai
Editors
123
Editors
Leonard Barolli Peter Hellinckx
Department of Information University of Antwerp
and Communication Engineering Antwerp, Belgium
Fukuoka Institute of Technology
Fukuoka, Japan
Juggapong Natwichai
Chiang Mai University
Chiang Mai, Thailand
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Welcome Message from 3PGCIC-2019
Organizing Committee
Welcome to the 14th International Conference on P2P, Parallel, Grid, Cloud and
Internet Computing (3PGCIC-2019), which will be held in conjunction with
BWCCA-2019 International Conference from November 7 to November 9, 2019, at
University of Antwerp, Antwerp, Belgium.
P2P, grid, cloud and Internet computing technologies have been established as
breakthrough paradigms for solving complex problems by enabling large-scale
aggregation and sharing of computational, data and other geographically distributed
computational resources.
Grid computing originated as a paradigm for high-performance computing, as an
alternative to expensive supercomputers. Grid computing includes semantic and
service-oriented grid, pervasive grid, data grid, enterprise grid,autonomic grid,
knowledge and economy grid.
P2P computing appeared as the new paradigm after client–server and Web-based
computing. These systems are evolving beyond file sharing toward a platform for
large-scale distributed applications. P2P systems have as well inspired the
emergence and development of social networking, B2B (business to business), B2C
(business to consumer), B2G (business to government), B2E (business to
employee) and so on.
Cloud computing has been defined as a “computing paradigm where the
boundaries of computing are determined by economic rationale rather than
technical limits.” Cloud computing is a multi-purpose paradigm that enables
efficient management of data centers, time-sharing and virtualization of resources
with a special emphasis on business model. Cloud Computing has fast become the
computing paradigm with applications in all application domains and providing
utility computing at large scale.
Finally, Internet computing is the basis of any large-scale distributed computing
paradigms; it has very fast developed into a vast area of flourishing field with
enormous impact on today’s information societies. Internet-based computing serves
thus as a universal platform comprising a large variety of computing forms.
v
vi Welcome Message from 3PGCIC-2019 Organizing Committee
The aim of the 3PGCIC Conference is to provide a research forum for presenting
innovative research results, methods and development techniques from both
theoretical and practical perspectives related to P2P, grid, cloud and Internet
computing.
In this edition, 102 papers were submitted and based on the reviewers’ reports,
and the Program Committee selected 31 papers (about 30% acceptance rate) for
presentation in the conference and publication in the Springer Lecture Notes in
Networks and Systems Proceedings.
Many people have helped and worked hard to produce a successful
3PGCIC-2019 technical program and conference proceedings. First, we would like
to thank all the authors for submitting their papers, the PC members and the
reviewers who carried out the most difficult work by carefully evaluating the
submitted papers.
The general chairs of the conference would like to thank the PC co-chairs for
their great efforts in organizing a successful conference and an interesting
conference program. We would like to appreciate the work of the workshop
co-chairs for supporting the workshop organizers. Our appreciations also go to all
workshop organizers for their hard work in successfully organizing these
workshops.
We thank Web administrators for their excellent work and support with the Web
submission and management system of conference. We are grateful to honorary
co-chairs for their support and encouragement. Our special thanks to keynote
speakers for delivering inspiring keynotes at the conference.
Finally, we would like to thank the Local Arrangement at University of Antwerp
for making excellent local arrangement for the conference.
We hope you will enjoy the conference and have a great time in Antwerp,
Belgium.
Peter Hellinckx
Leonard Barolli
Flora Amato
3PGCIC-2019 General Co-chairs
Jan Broeckhove
Tomoki Yoshihisa
Juggapong Natwichai
3PGCIC-2019 Program Committee Co-chairs
Welcome Message from 3PGCIC-2019
Workshop Co-chairs
vii
viii Welcome Message from 3PGCIC-2019 Workshop Co-chairs
We would like to thank all workshop organizers for their hard work in
organizing these workshops and selecting high-quality papers for presentation at
workshops, the interesting programs and the arrangements of the workshop during
the conference days.
We hope you will enjoy the conference and have a great time in Antwerp,
Belgium
Siegfried Mercelis
Santi Caballe
3PGCIC-2019 Workshop Chairs
3PGCIC-2019 Organizing Committee
Honorary Co-chairs
Makoto Takizawa Hosei University, Japan
Walter Sevenhans University of Antwerp, Belgium
General Co-chairs
Peter Hellinckx University of Antwerp, Belgium
Leonard Barolli Fukuoka Institute of Technology, Japan
Flora Amato University of Naples Federico II, Italy
Workshop Co-chairs
Siegfried Mercelis University of Antwerp, Belgium
Santi Caballe Open University of Catalonia, Spain
Finance Chair
Makoto Ikeda FIT, Japan
ix
x 3PGCIC-2019 Organizing Committee
Track Areas
PC Members
PC Members
PC Members
Silvio Barra University of Cagliari, Italy
Carmen Bisogni University of Salerno, Italy
Javier Garcia Blas Charles III University of Madrid, Spain
Han Jinguang University of Surrey, UK
Sokol Kosta University of Aalborg, Denmark
Gloria Ortega López University of Malaga, Spain
Raffaele Montella University of Naples Parthenope, Italy
Fabio Narducci University of Naples Parthenope, Italy
Rafal Kozik UTP Bydgoszcz, Poland
Joerg Keller FUH Hagen, Germany
Rafal Renk UAM Poznan, Poland
Salvatore D’Antonio University of Naples Parthenope, Italy
Lukasz Apiecionek UKW Bydgoszcz, Poland
Joao Campos University of Coimbra, Portugal
Gerhard Habiger Ulm University, Germany
xii 3PGCIC-2019 Organizing Committee
PC Members
PC Members
PC Members
PC Members
PC Members
PC Members
PC Members
3PGCIC-2019 Reviewers
Leonard Barolli
Wang Xu An
SMECS-2019 Workshop Organizers
xvii
xviii Welcome Message from SMECS-2019 Workshop Organizers
PC Members
Tomoki Yoshihisa
SMDMS-2019 Workshop Chair
xix
xx Welcome Message from SMDMS-2019 Workshop Organizers
Kaoru Sugita
Leonard Barolli
MWVRTA-2019 Workshop Co-chairs
xxi
xxii Welcome Message from MWVRTA-2019 Workshop Organizers
xxiii
xxiv Welcome Message from ALICE-2019 Workshop Organizers
workshop for submitting their research works and for their participation. We are
looking forward to meeting them again in the forthcoming editions of the
workshop. Last but not least, we would like to express our great appreciation to
ALICE-2019 reviewers who carefully evaluated the submitted papers.
We hope you enjoy the workshop and have a great time in Antwerp, Belgium!
Santi Caballé
Nicola Capuano
ALICE-2019 Workshop Organizers
PC Members
xxv
xxvi Welcome Message from CADSA-2019 Workshop Organizer
Committee members and authors of the workshop for submitting their research
works and for their participation. Finally, I would like to thank the Local
Arrangement chairs of the 3PGCIC-2019 International Conference.
I hope you will enjoy CADSA-2019 Workshop and 3PGCIC-2019 International
Conference, find this a productive opportunity for sharing experiences, ideas and
research results with many researchers and have a great time in Antwerp, Belgium.
Flora Amato
CADSA-2019 Workshop Chair
xxix
xxx Welcome Message from CCPI-2019 Workshop Co-chairs
We would like to give our special thanks to Prof. Leonard Barolli, Steering
Committee Chair of 3PGCIC International Conference for his encouragement to
organize the workshop with 3PGCIC-2019. We would like to thank 3PGCIC-2019
general co-chairs, Program Committee co-chairs and workshop co-chairs for their
support to organize the workshop.
Beniamino Di Martino
Antonio Esposito
CCPI-2019 Workshop Co-chairs
xxxiii
xxxiv Welcome Message from DEM-2019 Workshop Organizers
authors of the workshop for submitting their research works and for their
participation.
I hope you will enjoy DEM Workshop and have a great time in Antwerp,
Belgium.
Peter Hellinckx
DEM-2019 Workshop Chair
xxxv
xxxvi Welcome Message from SiPML-2019 Workshop Organizers
Kin Fun Li
Shengrui Wang
BIDS-2019 International Workshop Co-chairs
xxxvii
xxxviii Welcome Message from BIDS-2019 International Workshop Organizers
Ingrid Moerman
Abstract. There exist many ways for researching and developing innovative
solutions: from theoretical analysis, simulations, small-scale setup to large-scale
experimentation. This first part of this talk will discuss the benefits and pitfalls of
different approaches and illustrate them with some concrete examples.
While experimentation seems to be most challenging approach, the second part
of this talk will present how the software-defined radio (SDR) facility offered in the
H2020 ORCA Project is capable to accelerate wireless innovation. The advantage
of SDR over “off-the-shelf” technology is that it enables full and open
implementation of all network functionality, also the lower physical and medium
access control (MAC) layers. The ultimate goal of the ORCA Project is to enable
wireless experimenters to unlock the potential of reconfigurable radio technology
by setting up advanced experiments involving end-to-end applications that require
control of novel wireless technologies or cooperation between multiple networked
SDR platforms within extreme and/or diverging communication needs in terms of
latency, reliability or throughput, well before new radio technologies become
available on the market in commercial off-the-shelf products.
In the third and last part of the talk, the ORCA vision toward orchestrating
next-generation services through end-to-end network slicing will be presented.
Network slicing (also known as network virtualization) allows network resources to
be used in a flexible, dynamic and customized manner, and most crucially provides
isolation between different virtual networks. ORCA believes that each network
segment should have its own orchestrator, tailored to the segment’s particularities.
The use of a separate orchestrator for each network segment reduces complexity
and breaks down the larger E2E network orchestration problem into smaller parts.
In this way, each segment orchestrator can focus on a limited number of
well-defined tasks, reducing the software complexity, in terms of both design and
implementation. The ORCA vision is expected to foster innovation for everyone
(not only big industrial players, but also smaller companies and the research
community), to reduce development life cycle, to simplify standardization and to
stimulate multi-disciplinary experimentation.
xli
2020: The AI Decade
Deevid De Meyer
xliii
Contents
xlv
xlvi Contents
1 Introduction
Peer to Peer (P2P) technologies has been among most disruptive technologies
after Internet. Indeed, the emergence of the P2P technologies changed drasti-
cally the concepts, paradigms and protocols of sharing and communication in
large scale distributed systems. The nature of the sharing and the direct com-
munication among peers in the system, being these machines or people, makes
possible to overcome the limitations of the flat communications through email,
newsgroups and other forum-based communication forms [1–5].
The usefulness of P2P technologies on one hand has been shown for the
development of stand alone applications. On the other hand, P2P technolo-
gies, paradigms and protocols have penetrated other large scale distributed sys-
tems such as Mobile Ad hoc Networks (MANETs), Groupware systems, Mobile
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 3–13, 2020.
https://doi.org/10.1007/978-3-030-33509-0_1
4 V. Kolici et al.
The ability of fuzzy sets and possibility theory to model gradual properties or
soft constraints whose satisfaction is matter of degree, as well as information
pervaded with imprecision and uncertainty, makes them useful in a great variety
of applications [17–23].
The most popular area of application is Fuzzy Control (FC), since the appear-
ance, especially in Japan, of industrial applications in domestic appliances, pro-
cess control, and automotive systems, among many other fields.
In the FC systems, expert knowledge is encoded in the form of fuzzy rules,
which describe recommended actions for different classes of situations repre-
sented by fuzzy sets.
In fact, any kind of control law can be modeled by the FC methodology,
provided that this law is expressible in terms of “if ... then ...” rules, just like
in the case of expert systems. However, FL diverges from the standard expert
system approach by providing an interpolation mechanism from several rules. In
the contents of complex processes, it may turn out to be more practical to get
knowledge from an expert operator than to calculate an optimal control, due to
modeling costs or because a model is out of reach.
A concept that plays a central role in the application of FL is that of a
linguistic variable. The linguistic variables may be viewed as a form of data
compression. One linguistic variable may represent many numerical variables. It
is suggestive to refer to this form of data compression as granulation.
The same effect can be achieved by conventional quantization, but in the
case of quantization, the values are intervals, whereas in the case of granula-
A Fuzzy-Based Approach for Peer Coordination Quality 7
tion the values are overlapping fuzzy sets. The advantages of granulation over
quantization are as follows:
• it is more general;
• it mimics the way in which humans interpret linguistic values;
• the transition from one linguistic value to a contiguous linguistic value is
gradual rather than abrupt, resulting in continuity and robustness.
These rules are called FC rules. The “if” clause of the rules is called the
antecedent and the “then” clause is called consequent. In general, variables x
and y are called the input and z the output. The “small” and “big” are fuzzy
values for x and y, and they are expressed by fuzzy sets.
Fuzzy controllers are constructed of groups of these FC rules, and when an
actual input is given, the output is calculated by means of fuzzy inference.
TFRT
GS
FPCQS PCQ
PCC
PM
µ(TFRT)
F N L
1
TFRT
0 10 20 30 40 50 60 70 80 90 100
µ(GS) Nor
Ba Go
1
GS
0 10 20 30 40 50 60 70 80 90 100
µ(PCC)
Lo Mi Hi
1
PCC
0 10 20 30 40 50 60 70 80 90 100
µ(PM) Ss Ms Fs
PM
0 10 20 30 40 50 60 70 80 90 100
µ(PCQ)
EB BD MG PG G VG VVG
1
PCQ
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
and the term set for the output PCQ is defined as:
⎛ ⎞ ⎛ ⎞
Extremely Bad EB
⎜ Bad ⎟ ⎜ BD ⎟
⎜ ⎟ ⎜ ⎟
⎜ M inimally Good ⎟ ⎜ M G ⎟
⎜ ⎟ ⎜ ⎟
P CQ = ⎜ ⎟ ⎜ ⎟
⎜ P artially Good ⎟ = ⎜ P G ⎟
⎜ Good ⎟ ⎜ G ⎟
⎜ ⎟ ⎜ ⎟
⎝ V ery Good ⎠ ⎝ VG ⎠
V ery V ery Good VVG
10 V. Kolici et al.
Table 1. FRB.
Rule TFRT GS PCC PM PCQ Rule TFRT GS PCC PM PCQ Rule TFRT GS PCC PM PCQ
1 F Ba Lo Ss VG 28 N Ba Lo Ss PG 55 L Ba Lo Ss MG
2 F Ba Lo Ms VVG 29 N Ba Lo Ms VG 56 L Ba Lo Ms G
3 F Ba Lo Fs VG 30 N Ba Lo Fs PG 57 L Ba Lo Fs MG
4 F Ba Mi Ss PG 31 N Ba Mi Ss BD 58 L Ba Mi Ss EB
5 F Ba Mi Ms VG 32 N Ba Mi Ms PG 59 L Ba Mi Ms MG
6 F Ba Mi Fs PG 33 N Ba Mi Fs BD 60 L Ba Mi Fs EB
7 F Ba Hi Ss BD 34 N Ba Hi Ss EB 61 L Ba Hi Ss EB
8 F Ba Hi Ms PG 35 N Ba Hi Ms BD 62 L Ba Hi Ms EB
9 F Ba Hi Fs BD 36 N Ba Hi Fs EB 63 L Ba Hi Fs EB
10 F Nor Lo Ss VG 37 N Nor Lo Ss G 64 L Nor Lo Ss PG
11 F Nor Lo Ms VVG 38 N Nor Lo Ms VVG 65 L Nor Lo Ms VG
12 F Nor Lo Fs VG 39 N Nor Lo Fs G 66 L Nor Lo Fs PG
13 F Nor Mi Ss G 40 N Nor Mi Ss MG 67 L Nor Mi Ss BD
14 F Nor Mi Ms VG 41 N Nor Mi Ms G 68 L Nor Mi Ms PG
15 F Nor Mi Fs G 42 N Nor Mi Fs MG 69 L Nor Mi Fs BD
16 F Nor Hi Ss MG 43 N Nor Hi Ss BD 70 L Nor Hi Ss EB
17 F Nor Hi Ms G 44 N Nor Hi Ms MG 71 L Nor Hi Ms BD
18 F Nor Hi Fs MG 45 N Nor Hi Fs BD 72 L Nor Hi Fs EB
19 F Go Lo Ss VVG 46 N Go Lo Ss VG 73 L Go Lo Ss G
20 F Go Lo Ms VVG 47 N Go Lo Ms VVG 74 L Go Lo Ms VG
21 F Go Lo Fs VVG 48 N Go Lo Fs VG 75 L Go Lo Fs G
22 F Go Mi Ss VG 49 N Go Mi Ss G 76 L Go Mi Ss MG
23 F Go Mi Ms VVG 50 N Go Mi Ms VG 77 L Go Mi Ms G
24 F Go Mi Fs VG 51 N Go Mi Fs G 78 L Go Mi Fs MG
25 F Go Hi Ss PG 52 N Go Hi Ss MG 79 L Go Hi Ss EB
26 F Go Hi Ms VG 53 N Go Hi Ms G 80 L Go Hi Ms MG
27 F Go Hi Fs PG 54 N Go Hi Fs MG 81 L Go Hi Fs EB
PCC=10,PM=10 PCC=90,PM=10
1 1
GS=10
0.9 0.9 GS=50
GS=90
0.8 0.8
0.7 0.7
0.6 0.6
PCQ
PCQ
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
GS=10
0.1 GS=50 0.1
GS=90
0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
TFRT TFRT
Fig. 5. Relation of PCQ with TFRT and GS for different PCC when PM = 10.
A Fuzzy-Based Approach for Peer Coordination Quality 11
PCC=10,PM=50 PCC=90,PM=50
1 1
GS=10
0.9 0.9 GS=50
GS=90
0.8 0.8
0.7 0.7
0.6 0.6
PCQ
PCQ
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
GS=10
0.1 GS=50 0.1
GS=90
0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
TFRT TFRT
Fig. 6. Relation of PCQ with TFRT and GS for different PCC when PM = 50.
PCC=10,PM=90 PCC=90,PM=90
1 1
GS=10
0.9 0.9 GS=50
GS=90
0.8 0.8
0.7 0.7
0.6 0.6
PCQ
PCQ
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
GS=10
0.1 GS=50 0.1
GS=90
0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
TFRT TFRT
Fig. 7. Relation of PCQ with TFRT and GS for different PCC when PM=90.
5 Simulation Results
In this section, we present the simulation results for our FPCQS system. In our
system, we decided the number of term sets by carrying out many simulations.
In Figs. 5, 6 and 7, we show the relation of PCQ with TFRT, GS, PCC and
PM. In these simulations, we consider the PCC and PM as constant parameters.
In Fig. 5, we consider the PCC value 10 units. We change the PCC value from 10
to 90 units. When the PCC increases, the PCQ is decreased. But, when the GS
is increased, the PCQ values is high. Considering the effect of TFRT parameter,
we see that when TFRT is increased, the PCQ is decreased. In Figs. 6 and 7, we
increase the PM values to 50 and 90 units, respectively. We see that, when the
PM is 50 units, the PCQ is the best.
12 V. Kolici et al.
References
1. Oram, A. (ed.): Peer-to-Peer: Harnessing the Power of Disruptive Technologies.
O’Reilly and Associates, Sebastopol (2001)
2. Sula, A., Spaho, E., Matsuo, K., Barolli, L., Xhafa, F., Miho, R.: A new system
for supporting children with autism spectrum disorder based on IoT and P2P
technology. Int. J. Space-Based Situated Comput. 4(1), 55–64 (2014). https://doi.
org/10.1504/IJSSC.2014.060688
3. Di Stefano, A., Morana, G., Zito, D.: QoS-aware services composition in P2PGrid
environments. Int. J. Grid Util. Comput. 2(2), 139–147 (2011). https://doi.org/
10.1504/IJGUC.2011.040601
4. Sawamura, S., Barolli, A., Aikebaier, A., Takizawa, M., Enokido, T.: Design and
evaluation of algorithms for obtaining objective trustworthiness on acquaintances
in P2P overlay networks. Int. J. Grid Util. Comput. 2(3), 196–203 (2011). https://
doi.org/10.1504/IJGUC.2011.042042
5. Higashino, M., Hayakawa, T., Takahashi, K., Kawamura, T., Sugahara, K.: Man-
agement of streaming multimedia content using mobile agent technology on pure
P2P-based distributed e-learning system. Int. J. Grid Util. Comput. 5(3), 198–204
(2014). https://doi.org/10.1504/IJGUC.2014.062928
6. Inaba, T., Obukata, R., Sakamoto, S., Oda, T., Ikeda, M., Barolli, L.: Performance
evaluation of a QoS-aware fuzzy-based CAC for LAN access. Int. J. Space-Based
Situated Comput. 1(1) (2011). https://doi.org/10.1504/IJSSC.2016.082768
7. Terano, T., Asai, K., Sugeno, M.: Fuzzy Systems Theory and Its Applications.
Academic Press, Harcourt Brace Jovanovich Inc. (1992)
8. Mori, T., Nakashima, M., Ito, T.: SpACCE: a sophisticated ad hoc cloud computing
environment built by server migration to facilitate distributed collaboration. Int. J.
Space-Based Situated Comput. 1(1) (2011). https://doi.org/10.1504/IJSSC.2012.
050000
9. Xhafa, F., Poulovassilis, A.: Requirements for distributed event-based awareness
in P2P groupware systems. In: Proceedings of AINA 2010, pp. 220–225 (2010)
10. Xhafa, F., Barolli, L., Caballé, S., Fernandez, R.: Supporting scenario-based online
learning with P2P group-based systems. In: Proceedings of NBiS 2010, pp. 173–180
(2010)
11. Gupta, S., Kaiser, G.: P2P video synchronization in a collaborative virtual envi-
ronment. In: Proceedings of the 4th International Conference on Advances in Web-
Based Learning (ICWL 2005), pp. 86–98 (2005)
12. Martnez-Alemn, A.M., Wartman, K.L.: Online Social Networking on Campus
Understanding What Matters in Student Culture. Taylor and Francis, Routledge
(2008)
A Fuzzy-Based Approach for Peer Coordination Quality 13
13. Puzar, M., Plagemann, T.: Data sharing in mobile ad-hoc networks – a study of
replication and performance in the MIDAS data space. Int. J. Space-Based Situated
Comput. 1(1) (2011). https://doi.org/10.1504/IJSSC.2011.040340
14. Spaho, E., Kulla, E., Xhafa, F., Barolli, L.: P2P solutions to efficient mobile peer
collaboration in MANETs. In: Proceedings of 3PGCIC 2012 , pp. 379–383, Novem-
ber 2012
15. Gutwin, C., Greenberg, S., Roseman, M.: Workspace awareness in real-time dis-
tributed groupware: framework, widgets, and evaluation. In: BCS HCI, pp. 281–298
(1996)
16. You, Y., Pekkola, S.: Meeting others - supporting situation awareness on the
WWW. Decis. Support Syst. 32(1), 71–82 (2001)
17. Kandel, A.: Fuzzy Expert Systems. CRC Press, Boca Raton (1992)
18. Zimmermann, H.J.: Fuzzy Set Theory and Its Applications, 2nd Rev. edn. Kluwer
Academic Publishers (1991)
19. McNeill, F.M., Thro, E.: Fuzzy Logic: A Practical Approach. Academic Press Inc.,
Cambridge (1994)
20. Zadeh, L.A., Kacprzyk, J.: Fuzzy Logic for the Management of Uncertainty. Wiley,
Hoboken (1992)
21. Procyk, T.J., Mamdani, E.H.: A linguistic self-organizing process controller. Auto-
matica 15(1), 15–30 (1979)
22. Klir, G.J., Folger, T.A.: Fuzzy Sets, Uncertainty, and Information. Prentice Hall,
Englewood Cliffs (1988)
23. Munakata, T., Jani, Y.: Fuzzy systems: an overview. Commun. ACM 37(3), 69–76
(1994)
24. Yi, L., Kouseke, O., Keita, M., Makoto, I., Leonard, B.: A fuzzy-based approach
for improving peer coordination quality in MobilePeerDroid mobile system. In:
Proceedings of IMIS 2018, pp. 60–73 (2018)
A Fuzzy-Based System for Driving Risk
Measurement (FSDRM) in VANETs: A
Comparison Study of Simulation and
Experimental Results
1 Introduction
Traffic accidents, road congestion and environmental pollution are persistent
problems faced by both developed and developing countries, which have made
people live in difficult situations. Among these, the traffic incidents are the most
serious ones because they result in huge loss of life and property. For decades, we
have seen governments and car manufacturers struggle for safer roads and car
accident prevention. The development in wireless communications has allowed
companies, researchers and institutions to design communication systems that
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 14–25, 2020.
https://doi.org/10.1007/978-3-030-33509-0_2
A Fuzzy-Based System for Driving Risk Measurement (FSDRM) in VANETs 15
provide new solutions for these issues. Therefore, new types of networks, such
as Vehicular Ad hoc Networks (VANETs) have been created. VANET consists
of a network of vehicles in which vehicles are capable of communicating among
themselves in order to deliver valuable information such as safety warnings and
traffic information.
Nowadays, every car is likely to be equipped with various forms of smart
sensors, wireless communication modules, storage and computational resources.
The sensors will gather information about the road and environment conditions
and share it with neighboring vehicles and adjacent roadside units (RSU) via
vehicle-to-vehicle (V2V) or vehicle-to-infrastructure (V2I) communication. How-
ever, the difficulty lies on how to understand the sensed data and how to make
intelligent decisions based on the provided information.
As a result, Ambient Intelligence (AmI) becomes a significant factor for
VANETs. Various intelligent systems and applications are now being deployed
and they are going to change the way manufacturers design vehicles. These sys-
tems include many intelligence computational technologies such as fuzzy logic,
neural networks, machine learning, adaptive computing, voice recognition, and
so on, and they are already announced or deployed [1]. The goal is to improve
both vehicle safety and performance by realizing a series of automatic driving
technologies based on the situation recognition. The car control relies on the
measurement and recognition of the outside environment and their reflection on
driving operation.
On the other hand, we are focused on the in-car information and driver’s vital
information to detect the danger or risk situation and inform the driver about the
risk or change his mood. Thus, our goal is to prevent the accidents by supporting
the drivers. In order to realize the proposed system, we use some Internet of
Things (IoT) devices equipped with various sensors for in-car monitoring.
In this paper, we propose a fuzzy-based system for safe driving considering
four parameters: Vehicle’s Inside Temperature (VIT), Noise Level (NL), Vehi-
cle Speed (VS) and Heart Rate (HR) to determine the Driving Risk Measure-
ment (DRM).
The structure of the paper is as follows. In Sect. 2, we present an overview
of VANETs. In Sect. 3, we present a short description of AmI. In Sect. 4, we
describe the proposed fuzzy-based system and its implementation. In Sect. 5, we
discuss the simulation and experimental results. Finally, conclusions and future
work are given in Sect. 6.
VANETs are a type of wireless networks that have emerged thanks to advances
in wireless communication technologies and the automotive industry. VANETs
are considered to have an enormous potential in enhancing road traffic safety
and traffic efficiency. Therefore, various governments have launched programs
dedicated to the development and consolidation of vehicular communications
and networking and both industrial and academic researchers are addressing
16 K. Bylykbashi et al.
many related challenges, including socio-economic ones, which are among the
most important [2].
The VANET technology uses moving vehicle as nodes to form a wireless
mobile network. It aims to provide fast and cost-efficient data transfer for the
advantage of passenger safety and comfort. To improve road safety and travel
comfort of voyagers and drivers, Intelligent Transport Systems (ITS) are devel-
oped. The ITS manages the vehicle traffic, support drivers with safety and other
information, and provide some services such as automated toll collection and
driver assist systems [3].
The VANETs provide new prospects to improve advanced solutions for mak-
ing reliable communication between vehicles. VANETs can be defined as a part
of ITS which aims to make transportation systems faster and smarter, in which
vehicles are equipped with some short-range and medium-range wireless com-
munication [4]. In a VANET, wireless vehicles are able to communicate directly
with each other (i.e., emergency vehicle warning, stationary vehicle warning) and
also served various services (i.e., video streaming, internet) from access points
(i.e., 3G or 4G) through roadside units.
The AmI is the vision that technology will become invisible, embedded in our
natural surroundings, present whenever we need it, enabled by simple and effort-
less interactions, attuned to all our senses, adaptive to users and context and
autonomously acting [5]. High quality information and content must be available
to any user, anywhere, at any time, and on any device.
In order that AmI becomes a reality, it should completely envelope humans,
without constraining them. Distributed embedded systems for AmI are going to
change the way we design embedded systems, as well as the way we think about
such systems. But, more importantly, they will have a great impact on the way
we live. Applications ranging from safe driving systems, smart buildings and
home security, smart fabrics or e-textiles, to manufacturing systems and rescue
and recovery operations in hostile environments, are poised to become part of
society and human lives.
The AmI deals with a new world of ubiquitous computing devices, where
physical environments interact intelligently and unobtrusively with people. AmI
environments can be diverse, such as homes, offices, meeting rooms, hospitals,
control centers, vehicles, tourist attractions, stores, sports facilities, and music
devices.
In the future, small devices will monitor the health status in a continuous
manner, diagnose any possible health conditions, have conversation with people
to persuade them to change the lifestyle for maintaining better health, and com-
municates with the doctor, if needed [6]. The device might even be embedded
into the regular clothing fibers in the form of very tiny sensors and it might
communicate with other devices including the variety of sensors embedded into
the home to monitor the lifestyle. For example, people might be alarmed about
A Fuzzy-Based System for Driving Risk Measurement (FSDRM) in VANETs 17
the lack of a healthy diet based on the items present in the fridge and based on
what they are eating outside regularly.
The AmI paradigm represents the future vision of intelligent computing
where environments support the people inhabiting them [7–9]. In this new com-
puting paradigm, the conventional input and output media no longer exist, rather
the sensors and processors will be integrated into everyday objects, working
together in harmony in order to support the inhabitants [10]. By relying on
various artificial intelligence techniques, AmI promises the successful interpre-
tation of the wealth of contextual information obtained from such embedded
sensors and it will adapt the environment to the user needs in a transparent and
anticipatory manner.
4 Proposed System
In this work, we use fuzzy logic to implement the proposed system. Fuzzy sets
and fuzzy logic have been developed to manage vagueness and uncertainty in a
reasoning process of an intelligent system such as a knowledge based system, an
expert system or a logic control system [11–16]. In Fig. 1, we show the architec-
ture of our proposed system.
The proposed system called Fuzzy-based System for Driving Risk Measure-
ment (FSDRM) is shown in Fig. 2. For the implementation of our system,
we consider four input parameters: Vehicle’s Inside Temperature (VIT), Noise
Level (NL), Vehicle Speed (VS) and Heart Rate (HR) to determine the Driv-
ing Risk Measurement (DRM). These four input parameters are not correlated
18 K. Bylykbashi et al.
with each other, for this reason we use fuzzy system. The input parameters are
fuzzified using the membership functions showed in Fig. 3(a), (b), (c) and (d). In
Fig. 3(e) are shown the membership functions used for the output parameter. We
use triangular and trapezoidal membership functions because they are suitable
for real-time operation. The term sets for each linguistic parameter are shown in
Table 1. We decided the number of term sets by carrying out many simulations.
In Table 2, we show the Fuzzy Rule Base (FRB) of FSDRM, which consists of 81
rules. The control rules have the form: IF “conditions” THEN “control action”.
For instance, for Rule 1: “IF VIT is L, NL is Q, VS is Lo and HR is S, THEN
DRM is Hg” or for Rule 29: “IF VIT is M, NL is Q, VS is Lo and HR is No,
THEN DRM is Sf”.
Fig. 4. The testbed is composed of sensing and processing components. The sens-
ing system consists of two parts. The first part is implemented in the Arduino
Platform while the second one consists of a Microwave Sensor Module (MSM)
called DC6M4JN3000. We set-up sensors on Arduino Uno to measure the envi-
ronment temperature and noise and used the MSM to measure the driver’s heart
rate. The vehicle speed is considered as a random value. Then, we implemented
a processing device to get the sensed data and to run our fuzzy system. The
sensing components are connected to the processing device via USB cable. We
used Arduino IDE and Processing language to get the sensed data from the
first module, whereas the MSM generates the sensed data in the appropriate
format itself. Then, we use FuzzyC to fuzzify these data and to determine the
degree of risk which is the output of our proposed system. Based on the DRM
an appropriate task can be performed.
20 K. Bylykbashi et al.
For the experiments, we considered the vehicle speed as up to 150 kmph. The
experimental results are presented in Figs. 8, 9 and 10. In Fig. 8(a) are shown
the results of DRM when VIT is “Low” and NL is “Quiet”. From Fig. 8(a), we
can see a number DRM values that indicate a situation with a low risk. These
values are achieved when the ambient is quiet and the driver’s heart is beating
very normally. On the other hand, when the ambient is noisy, we can see that
there is not any DRM value that is decided as a safe or low risk situation by the
system (see Fig. 8(b)). All the situations are decided with moderate values, or
very risky if the vehicle moves at high speed.
The results of DRM for medium temperatures are presented in Fig. 9, with
Fig. 9(a) and Fig. 9(b) presenting the experimental results for quiet and noisy
ambient, respectively. Here the driver is in better conditions and when his heart
beats normally, the risk is mostly under the moderate level. Although the risk is
in low levels, there are cases such as when the driver is driving fast and simulta-
A Fuzzy-Based System for Driving Risk Measurement (FSDRM) in VANETs 23
neously his heart is beating at slow/high rates that the risk level is determined
as above the moderate level.
In Fig. 10 are shown the results of DRM for high temperatures. The results
are almost the same with that of Fig. 7 where the low values of DRM happen to
be only when the ambient is quiet, the driver’s heart rate is normal and he is
24 K. Bylykbashi et al.
driving slowly. When the ambient is very noisy, the degree of risk is decided to
be even above the “Very High” level. In these situations, the driver should not
drive fast as his situation is a potential risk for him and for other vehicles on the
road. Therefore, the system decides to perform the appropriate action in order
to provide the driving safety.
6 Conclusions
In this paper, we proposed a fuzzy-based system to decide the driving risk mea-
surement. We took into consideration four parameters: vehicle’s inside tempera-
ture, noise level, vehicle speed and driver’s heart rate. We evaluated the perfor-
mance of proposed system by simulations and experiments. From the evaluation
results, we conclude that the vehicle’s inside temperature, noise level, vehicle
speed and driver’s heart rate have different effects on the decision of the risk
level.
In the future, we would like to make extensive simulations and experiments to
evaluate the proposed system and compare the performance with other systems.
References
1. Gusikhin, O., Filev, D., Rychtyckyj, N.: Intelligent vehicle systems: applications
and new trends. In: Informatics in Control Automation and Robotics, pp. 3–14.
Springer (2008)
2. Santi, P.: Mobility Models for Next Generation Wireless Networks: Ad Hoc, Vehic-
ular and Mesh Networks. Wiley, Hoboken (2012)
3. Hartenstein, H., Laberteaux, L.: A tutorial survey on vehicular ad hoc networks.
IEEE Commun. Mag. 46(6), 164–171 (2008)
4. Karagiannis, G., Altintas, O., Ekici, E., Heijenk, G., Jarupan, B., Lin, K., Weil,
T.: Vehicular networking: a survey and tutorial on requirements, architectures,
challenges, standards and solutions. IEEE Commun. Surv. Tutor. 13(4), 584–616
(2011)
5. Lindwer, M., Marculescu, D., Basten, T., Zimmennann, R., Marculescu, R., Jung,
S., Cantatore, E.: Ambient intelligence visions and achievements: linking abstract
ideas to real-world concepts. In: 2003 Design, Automation and Test in Europe
Conference and Exhibition, pp. 10–15, March 2003
6. Acampora, G., Cook, D.J., Rashidi, P., Vasilakos, A.V.: A survey on ambient
intelligence in healthcare. Proc. IEEE 101(12), 2470–2494 (2013)
7. Aarts, E., Wichert, R.: Ambient intelligence. In: Technology Guide, pp. 244–249.
Springer (2009)
8. Aarts, E., De Ruyter, B.: New research perspectives on ambient intelligence. J.
Ambient Intell. Smart Environ. 1(1), 5–14 (2009)
9. Vasilakos, A., Pedrycz, W.: Ambient Intelligence, Wireless Networking, and Ubiq-
uitous Computing. Artech House Inc., Norwood (2006)
10. Sadri, F.: Ambient intelligence: a survey. ACM Comput. Surv. (CSUR) 43(4), 36
(2011)
11. Kandel, A.: Fuzzy Expert Systems. CRC Press, Boca Raton (1991)
A Fuzzy-Based System for Driving Risk Measurement (FSDRM) in VANETs 25
12. Zimmermann, H.-J.: Fuzzy Set Theory and Its Applications. Springer, Heidelberg
(1991)
13. McNeill, F.M., Thro, E.: Fuzzy Logic: A Practical Approach. Academic Press,
Cambridge (1994)
14. Zadeh, L.A., Kacprzyk, J.: Fuzzy Logic for the Management of Uncertainty. Wiley,
Hoboken (1992)
15. Klir, G.J., Folger, T.A.: Fuzzy Sets, Uncertainty, and Information (1988)
16. Munakata, T., Jani, Y.: Fuzzy systems: an overview. Commun. ACM 37(3), 69–77
(1994)
17. Bylykbashi, K., Elmazi, D., Matsuo, K., Ikeda, M., Barolli, L.: Implementation of
a fuzzy-based simulation system and a testbed for improving driving conditions
in VANETs. In: International Conference on Complex, Intelligent, and Software
Intensive Systems, pp. 3–12. Springer (2019)
18. Bylykbashi, K., Qafzezi, E., Ikeda, M., Matsuo, K., Barolli, L.: Implementation of
a fuzzy-based simulation system and a testbed for improving driving conditions in
VANETs considering drivers’s vital signs. In:International Conference on Network-
Based Information Systems, pp. 37–48. Springer (2019)
A Comparison Study of Constriction and
Linearly Decreasing Vmax Replacement
Methods for Wireless Mesh Networks by
WMN-PSOHC-DGA Simulation System
1 Introduction
The wireless networks and devices are becoming increasingly popular and they
provide users access to information and communication anytime and any-
where [3,6,10–12,17,18,22,27,28,31]. Wireless Mesh Networks (WMNs) are
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 26–34, 2020.
https://doi.org/10.1007/978-3-030-33509-0_3
A Comparison Study of CM and LDVM 27
gaining a lot of attention because of their low cost nature that makes them
attractive for providing wireless Internet connectivity. A WMN is dynamically
self-organized and self-configured, with the nodes in the network automatically
establishing and maintaining mesh connectivity among them-selves (creating, in
effect, an ad hoc network). This feature brings many advantages to WMNs such
as low up-front cost, easy network maintenance, robustness and reliable service
coverage [1]. Moreover, such infrastructure can be used to deploy community
networks, metropolitan area networks, municipal and corporative networks, and
to support applications for urban areas, medical, transport and surveillance sys-
tems.
Mesh node placement in WMN can be seen as a family of problems, which are
shown (through graph theoretic approaches or placement problems, e.g. [8,15])
to be computationally hard to solve for most of the formulations [34]. We consider
the version of the mesh router nodes placement problem in which we are given
a grid area where to deploy a number of mesh router nodes and a number of
mesh client nodes of fixed positions (of an arbitrary distribution) in the grid
area. The objective is to find a location assignment for the mesh routers to
the cells of the grid area that maximizes the network connectivity and client
coverage. Node placement problems are known to be computationally hard to
solve [13,35]. In some previous works, intelligent algorithms have been recently
investigated [4,5,9,16,19,20,24,25,29,30].
In [28], we implemented a Particle Swarm Optimization (PSO) and Hill
Climbing (HC) based simulation system, called WMN-PSOHC. Also, we imple-
mented another simulation system based on Genetic Algorithm (GA), called
WMN-GA [4,14], for solving node placement problem in WMNs. Then, we
designed a Hybrid Intelligent System Based on PSO, HC and DGA, called WMN-
PSOHC-DGA [26].
In this paper, we evaluate the performance of WMNs using WMN-PSOHC-
DGA simulation system considering Constriction Method (CM) and Linearly
Decreasing Vmax Method (LDVM).
The rest of the paper is organized as follows. The mesh router nodes place-
ment problem is defined in Sect. 2. We present our designed and implemented
hybrid simulation system in Sect. 3. The simulation results are given in Sect. 4.
Finally, we give conclusions and future work in Sect. 5.
WMN-PSOHC-DGA system
Particle-pattern
Migration Island
Individual
DGA Operations
Population of individuals: Unlike local search techniques that construct a path
in the solution space jumping from one solution to another one through local
perturbations, DGA use a population of individuals giving thus the search a
larger scope and chances to find better solutions. This feature is also known
as “exploration” process in difference to “exploitation” process of local search
methods.
Selection: The selection of individuals to be crossed is another important
aspect in DGA as it impacts on the convergence of the algorithm. Several selec-
tion schemes have been proposed in the literature for selection operators trying
to cope with premature convergence of DGA. There are many selection methods
in GA. In our system, we implement 2 selection methods: Random method and
Roulette wheel method.
Crossover operators: Use of crossover operators is one of the most impor-
tant characteristics. Crossover operator is the means of DGA to transmit best
genetic features of parents to offsprings during generations of the evolution pro-
cess. Many methods for crossover operators have been proposed such as Blend
30 A. Barolli et al.
Migration Function
Our implemented simulation system uses Migration function as shown in Fig. 1.
The Migration function swaps solutions between PSOHC part and DGA part.
Particle-Pattern and Gene Coding
In order to swap solutions, we design particle-patterns and gene coding carefully.
A particle is a mesh router. Each particle has position in the considered area
and velocities. A fitness value of a particle-pattern is computed by combination
of mesh routers and mesh clients positions. In other words, each particle-pattern
is a solution as shown is Fig. 2.
A gene describes a WMN. Each individual has its own combination of mesh
nodes. In other words, each individual has a fitness value. Therefore, the combi-
nation of mesh nodes is a solution.
A Comparison Study of CM and LDVM 31
Parameters Values
Clients distribution Normal distribution
Area size 32.0 × 32.0
Number of mesh routers 16
Number of mesh clients 48
Number of migrations 200
Evolution steps 9
Number of GA islands 16
Radius of a mesh router 2.0
Selection method Roulette wheel method
Crossover method SPX
Mutation method Boundary mutation
Crossover rate 0.8
Mutation rate 0.2
Replacement method CM, LDVM
4 Simulation Results
In this section, we show simulation results using WMN-PSOHC-DGA system.
In this work, we analyze the performance of WMNs considering CM and LDVM
router replacement methods. The number of mesh routers is considered 16 and
the number of mesh clients 48. We conducted simulations 100 times, in order to
avoid the effect of randomness and create a general view of results. We show the
parameter setting for WMN-PSOHC-DGA in Table 1.
We show simulation results in Figs. 3 and 4. We see that for both SGC and
NCMC, the performance of CM is better than LDVM.
5 Conclusions
In this work, we evaluated the performance of WMNs using a hybrid simulation
system based on PSOHC and DGA (called WMN-PSOHC-DGA) considering
CM and LDVM router replacement methods. Simulation results show that the
performance is better for CM compared with the case of LDVM.
In our future work, we would like to evaluate the performance of the proposed
system for different parameters and patterns.
References
1. Akyildiz, I.F., Wang, X., Wang, W.: Wireless mesh networks: a survey. Comput.
Netw. 47(4), 445–487 (2005)
2. Barolli, A., Sakamoto, S., Ozera, K., Ikeda, M., Barolli, L., Takizawa, M.: Perfor-
mance evaluation of WMNs by WMN-PSOSA simulation system considering con-
striction and linearly decreasing Vmax methods. In: International Conference on
P2P, Parallel, Grid, Cloud and Internet Computing, pp. 111–121. Springer (2017)
3. Barolli, A., Sakamoto, S., Barolli, L., Takizawa, M.: Performance analysis of simula-
tion system based on particle swarm optimization and distributed genetic algorithm
for WMNs considering different distributions of mesh clients. In: International Con-
ference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp.
32–45. Springer (2018)
4. Barolli, A., Sakamoto, S., Ozera, K., Barolli, L., Kulla, E., Takizawa, M.: Design
and implementation of a hybrid intelligent system based on particle swarm opti-
mization and distributed genetic algorithm. In: International Conference on Emerg-
ing Internetworking, Data & Web Technologies, pp. 79–93. Springer (2018)
5. Barolli, A., Sakamoto, S., Barolli, L., Takizawa, M.: Performance analysis of WMNs
by WMN-PSODGA simulation system considering weibull and chi-square client
distributions. In: International Conference on Advanced Information Networking
and Applications, pp. 366–375. Springer (2019)
6. Barolli, A., Sakamoto, S., Ohara, S., Barolli, L., Takizawa, M.: Performance analy-
sis of WMNs by WMN-PSOHC-DGA simulation system considering random iner-
tia weight and linearly decreasing Vmax router replacement methods. In: Inter-
national Conference on Complex, Intelligent, and Software Intensive Systems, pp.
13–21. Springer (2019)
A Comparison Study of CM and LDVM 33
7. Clerc, M., Kennedy, J.: The particle swarm-explosion, stability, and convergence in
a multidimensional complex space. IEEE Trans. Evol. Comput. 6(1), 58–73 (2002)
8. Franklin, A.A., Murthy, C.S.R.: Node placement algorithm for deployment of two-
tier wireless mesh networks. In: Proceedings of Global Telecommunications Con-
ference, pp. 4823–4827 (2007)
9. Girgis, M.R., Mahmoud, T.M., Abdullatif, B.A., Rabie, A.M.: Solving the wireless
mesh network design problem using genetic algorithm and simulated annealing
optimization methods. Int. J. Comput. Appl. 96(11), 1–10 (2014)
10. Inaba, T., Obukata, R., Sakamoto, S., Oda, T., Ikeda, M., Barolli, L.: Performance
evaluation of a QoS-aware fuzzy-based CAC for LAN access. Int. J. Space-Based
Situated Comput. 6(4), 228–238 (2016)
11. Inaba, T., Sakamoto, S., Oda, T., Ikeda, M., Barolli, L.: A testbed for admission
control in WLAN: a fuzzy approach and its performance evaluation. in: Interna-
tional Conference on Broadband and Wireless Computing, Communication and
Applications, pp. 559–571. Springer (2016)
12. Inaba, T., Ozera, K., Sakamoto, S., Oda, T., Ikeda, M., Barolli, L.: A testbed
for admission control in WLANs: effects of RSSI on connection keep-alive time.
In: The 31st International Conference on Advanced Information Networking and
Applications Workshops (WAINA-2017), pp. 722–729. IEEE (2017)
13. Maolin, T., et al.: Gateways placement in backbone wireless mesh networks. Int.
J. Commun. Netw. Syst. Sci. 2(1), 44 (2009)
14. Matsuo, K., Sakamoto, S., Oda, T., Barolli, A., Ikeda, M., Barolli, L.: Performance
analysis of WMNs by WMN-GA simulation system for two WMN architectures
and different TCP congestion-avoidance algorithms and client distributions. Int.
J. Commun. Netw. Distrib. Syst. 20(3), 335–351 (2018)
15. Muthaiah, S.N., Rosenberg, C.P.: Single gateway placement in wireless mesh net-
works. in: Proceedings of 8th International IEEE Symposium on Computer Net-
works, pp. 4754–4759 (2008)
16. Naka, S., Genji, T., Yura, T., Fukuyama, Y.: A hybrid particle swarm optimization
for distribution state estimation. IEEE Trans. Power Syst. 18(1), 60–68 (2003)
17. Ohara, S., Barolli, A., Sakamoto, S., Barolli, L.: Performance analysis of WMNs
by WMN-PSODGA simulation system considering load balancing and client uni-
form distribution. In: International Conference on Innovative Mobile and Internet
Services in Ubiquitous Computing, pp. 25–38. Springer (2019)
18. Ozera, K., Inaba, T., Bylykbashi, K., Sakamoto, S., Ikeda, M., Barolli, L.: A WLAN
triage testbed based on fuzzy logic and its performance evaluation for different
number of clients and throughput parameter. Int. J. Grid Util. Comput. 10(2),
168–178 (2019)
19. Sakamoto, S., Oda, T., Ikeda, M., Barolli, L., Xhafa, F.: An integrated simulation
system considering WMN-PSO simulation system and network simulator 3. In:
International Conference on Broadband and Wireless Computing, Communication
and Applications, pp. 187–198. Springer (2016)
20. Sakamoto, S., Oda, T., Ikeda, M., Barolli, L., Xhafa, F.: Implementation and evalu-
ation of a simulation system based on particle swarm optimisation for node place-
ment problem in wireless mesh networks. Int. J. Commun. Netw. Distrib. Syst.
17(1), 1–13 (2016)
21. Sakamoto, S., Oda, T., Ikeda, M., Barolli, L., Xhafa, F.: Implementation of a
new replacement method in WMN-PSO simulation system and its performance
evaluation. In: The 30th IEEE International Conference on Advanced Information
Networking and Applications (AINA-2016), pp. 206–211 (2016). https://doi.org/
10.1109/AINA.2016.42
34 A. Barolli et al.
22. Sakamoto, S., Obukata, R., Oda, T., Barolli, L., Ikeda, M., Barolli, A.: Performance
analysis of two wireless mesh network architectures by WMN-SA and WMN-TS
simulation systems. J. High Speed Netw. 23(4), 311–322 (2017)
23. Sakamoto, S., Ozera, K., Ikeda, M., Barolli, L.: Performance evaluation of WMNs
by WMN-PSOSA simulation system considering constriction and linearly decreas-
ing inertia weight methods. In: International Conference on Network-Based Infor-
mation Systems, pp. 3–13. Springer (2017)
24. Sakamoto, S., Ozera, K., Oda, T., Ikeda, M., Barolli, L.: Performance evaluation
of intelligent hybrid systems for node placement in wireless mesh networks: a com-
parison study of WMN-PSOHC and WMN-PSOSA. In: International Conference
on Innovative Mobile and Internet Services in Ubiquitous Computing, pp. 16–26.
Springer (2017)
25. Sakamoto, S., Ozera, K., Oda, T., Ikeda, M., Barolli, L.: Performance evaluation of
WMN-PSOHC and WMN-PSO simulation systems for node placement in wireless
mesh networks: a comparison study. In: International Conference on Emerging
Internetworking, Data & Web Technologies, pp. 64–74. Springer (2017)
26. Sakamoto, S., Barolli, A., Barolli, L., Takizawa, M.: Design and implementation of
a hybrid intelligent system based on particle swarm optimization, hill climbing and
distributed genetic algorithm for node placement problem in WMNs: a compari-
son study. In: The 32nd IEEE International Conference on Advanced Information
Networking and Applications (AINA-2018), pp. 678–685. IEEE (2018)
27. Sakamoto, S., Ozera, K., Barolli, A., Barolli, L., Kolici, V., Takizawa, M.: Perfor-
mance evaluation of WMN-PSOSA considering four different replacement methods.
In: International Conference on Emerging Internetworking, Data & Web Technolo-
gies, pp. 51–64. Springer (2018)
28. Sakamoto, S., Ozera, K., Ikeda, M., Barolli, L.: Implementation of intelligent hybrid
systems for node placement problem in WMNs considering particle swarm opti-
mization, hill climbing and simulated annealing. Mobile Netw. Appl. 23(1), 27–33
(2018)
29. Sakamoto, S., Barolli, L., Okamoto, S.: Performance evaluation of WMNs by
WMN-PSOSA system considering chi-square and exponential client distributions.
In: International Conference on Advanced Information Networking and Applica-
tions, pp. 397–406. Springer (2019)
30. Sakamoto, S., Ohara, S., Barolli, L., Okamoto, S.: Performance evaluation of
WMNs by WMN-PSOHC system considering random inertia weight and linearly
decreasing inertia weight replacement methods. In: International Conference on
Innovative Mobile and Internet Services in Ubiquitous Computing, pp. 39–48.
Springer (2019)
31. Sakamoto, S., Ozera, K., Barolli, A., Ikeda, M., Barolli, L., Takizawa, M.: Imple-
mentation of an intelligent hybrid simulation systems for WMNs based on particle
swarm optimization and simulated annealing: performance evaluation for different
replacement methods. Soft Comput. 23(9), 3029–3035 (2019)
32. Schutte, J.F., Groenwold, A.A.: A study of global optimization using particle
swarms. J. Global Optim. 31(1), 93–108 (2005)
33. Shi, Y.: Particle swarm optimization. IEEE Connect. 2(1), 8–13 (2004)
34. Vanhatupa, T., Hannikainen, M., Hamalainen, T.: Genetic algorithm to optimize
node placement and configuration for WLAN planning. In: The 4th IEEE Inter-
national Symposium on Wireless Communication Systems, pp. 612–616 (2007)
35. Wang, J., Xie, B., Cai, K., Agrawal, D.P.: Efficient mesh router placement in wire-
less mesh networks. In: Proceedings of IEEE International Conference on Mobile
Adhoc and Sensor Systems (MASS-2007), pp. 1–9 (2007)
Effect of Degree of Centrality Parameter
on Actor Selection in WSANs: A
Fuzzy-Based Simulation System and Its
Performance Evaluation
1 Introduction
Recent technological advances have lead to the emergence of distributed Wireless
Sensor and Actor Networks (WSANs) which are capable of observing the physical
world, processing the data, making decisions based on the observations and
performing appropriate actions [1].
In WSANs, the devices deployed in the environment are sensors able to sense
environmental data, actors able to react by affecting the environment or have
both functions integrated. Actor nodes are equipped with two radio transmitters,
a low data rate transmitter to communicate with the sensor and a high data
rate interface for actor-actor communication. For example, in the case of a fire,
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 35–46, 2020.
https://doi.org/10.1007/978-3-030-33509-0_4
36 D. Elmazi et al.
sensors relay the exact origin and intensity of the fire to actors so that they
can extinguish it before spreading in the whole building or in a more complex
scenario, to save people who may be trapped by fire [2–4].
To provide effective operation of WSAN, it is very important that sensors and
actors coordinate in what are called sensor-actor and actor-actor coordination.
Coordination is not only important during task conduction, but also during
network’s self-improvement operations, i.e. connectivity restoration [5,6], reliable
service [7], Quality of Service (QoS) [8,9] and so on.
Degree of Centrality (DoC) indicates the number of connections of a node. If
it has higher values of centrality means that the node is more central and with
high importance.
The role of Load Balancing in WSAN is to provide a reliable service, in
order to have a better performance and effortness. In this paper we consider the
Load Balancing issue. Load balancing identifies the optimal load on nodes of the
network to increase the network efficiency.
In this paper, different from our previous research, we consider DoC param-
eter. The system is based on fuzzy logic and considers four input parameters for
actor selection. We show the simulation results for different values of parameters.
The remainder of the paper is organized as follows. In Sect. 2, we describe
the basics of WSANs including research challenges and architecture. In Sect. 3,
we describe the system model and its implementation. The simulation results
are shown in Sect. 4. Finally, conclusions and future work are given in Sect. 5.
2 WSANs
(see Fig. 2). Obviously, both architectures can be used in different applications.
In the Fully-Automated Architecture are needed new sophisticated algorithms
in order to provide appropriate coordination between nodes of WSAN. On the
other hand, it has advantages, such as low latency, low energy consumption, long
network lifetime [1], higher local position accuracy, higher reliability and so on.
Power Consumption (PC): As actors are active in the monitored field, they
perform tasks and exchange data in different ways. Thus they have to spend
energy (limited resource) based on the task and the application. It is better that
the actors which consume less power are selected to carry out a task, so the
network lifetime can be increased.
Number of Sensors per Actor (NSA): The number of sensors deployed in
an area for sensing any event may be in the order of hundreds or thousands.
So in order to have a better coverage of these sensors, the number of sensors
covered by each actor node should be balanced.
Actor Selection Decision (ASD): Our system is able to decide the willingness
of an actor to be assigned a certain task at a certain time. The actors respond
in five different levels, which can be interpreted as:
• Very Low Selection Possibility (VLSP) - It is not worth assigning the task to
this actor.
• Low Selection Possibility (LSP) - There might be other actors which can do
the job better.
• Middle Selection Possibility (MSP) - The Actor is ready to be assigned a task,
but is not the “chosen” one.
A Fuzzy-Based System for Actor Nodes Selection in WSANs 39
The term sets for each input linguistic parameter are defined respectively as
shown in Table 1.
The membership functions for input parameters of FLC are defined as:
µLw (DoC) = g(DoC; Lw0 , Lw1 , Lww0 , Lww1 )
µM i (DoC) = f (DoC; M i0 , M iw0 , M iw1 )
µHg (DoC) = g(DoC; Hg0 , Hg1 , Hgw0 , Hgw1 )
µN e (DE) = g(DE; N e0 , N e1 , N ew0 , N ew1 )
µM o (DE) = f (DE; M o0 , M ow0 , M ow1 )
µF a (DE) = g(DE; F a0 , F a1 , F aw0 , F aw1 )
µLo (P C) = g(P C; Lo0 , Lo1 , Low0 , Low1 )
µM dm (P C) = f (P C; M dm0 , M dmw0 , M dmw1 )
µHi (P C) = g(P C; Hi0 , Hi1 , Hiw0 , Hiw1 ).
µF w (N SA) = g(N SA; F w0 , F w1 , F ww0 , F ww1 )
µM e (N SA) = f (N SA; M e0 , M ew0 , M ew1 )
µM y (N SA) = g(N SA; M y0 , M y1 , M yw0 , F aw1 )
The small letters w0 and w1 mean left width and right width, respectively.
The output linguistic parameter is the Actor Selection Decision (ASD). We
define the term set of ASD as:
{V ery Low Selection P ossibility (V LSP ),
Low Selection P ossibility (LSP ),
M iddle Selection P ossibility (M SP ),
High Selection P ossibility (HSP ),
V ery High Selection P ossibility (V HSP )}.
A Fuzzy-Based System for Actor Nodes Selection in WSANs 41
The membership functions for the output parameter ASD are defined as:
µV LSP (ASD) = g(ASD; V LSP0 , V LSP1 , V LSPw0 )
µLSP (ASD) = f (ASD; LSP0 , LSP1 , LSPw0 )
µM SP (ASD) = f (ASD; M SP0 , M SP1 , M SPw0 )
µHSP (ASD) = f (ASD; HSP0 , HSP1 , HSPw0 )
µV HSP (ASD) = g(ASD; V HSP0 , V HSP1 , V HSPw0 )
The membership functions are shown in Fig. 7 and the Fuzzy Rule Base
(FRB) is shown in Table 2. The FRB forms a fuzzy set of dimensions |T (DoC)|×
|T (DE)| × |T (P C)| × |T (N SA)|, where |T (x)| is the number of terms on T (x).
The FRB has 81 rules. The control rules have the form: IF “conditions” THEN
“control action”.
4 Simulation Results
The simulation results for our system are shown in Figs. 8, 9 and 10. One of the
main issues in WSANs is power consumption. Lower consume of nodes energy
improves the overall lifetime of the network. In Fig. 8, DoC is 0.1, PC is 0.9 and
for DE from 0.1 to 0.5 we see that ASD is decreased 24% and when DE increases
from 0.5 to 0.9 ASD is decreased 13%. This is because when the distance of actors
to an event is far they spend more energy.
In Fig. 9, DoC is increased from 0.1 to 0.5 and we see that the probability of
an actor to be selected is also increased. Because higher DoC, means that the
actor node has a high number of links in the network. For PC = 0.9 and for DE
from 0.1 to 0.5 the ASD is decreased 25%. Also for DE from 0.5 to 0.9 the ASD
is decreased 12%.
In Fig. 10. DoC is increased again, from 0.5 to 0.9 and also the actor’s prob-
ability to be selected is higher. So from NSA 0.2 to 0.5, the ASD increases 28%,
on the other hand when NSA increases from 0.5 to 0.8, the ASD decreases 40%.
In Fig. 10(c), for PC from 0.9 to 0.5 and 0.5 to 0.1, ASD increases because the
power consumption decreases and the energy of the nodes is higher.
If we compare 3 graphs for DoC from 0.1 to 0.5 (Fig. 8(b) with Fig. 9(b))
and 0.5 to 0.9 (Fig. 9(b) with Fig. 10(b)), for PC = 0.9 and DE = 0.5, the ASD
is increased 12% and 25%, respectively.
In this paper we proposed and implemented a fuzzy-based system for actor node
selection in WSANs, considering DoC as new parameter. Considering that some
nodes are more reliable than the others, our system decides which actor nodes
are better suited to carry out a task. From simulation results, we conclude as
follows.
42 D. Elmazi et al.
DoC=0.1-DE=0.1 DoC=0.1-DE=0.5
1 1
PC=0.1 PC=0.1
0.9 PC=0.5 0.9 PC=0.5
PC=0.9 PC=0.9
0.8 0.8
0.7 0.7
0.6 0.6
ASD [unit]
ASD [unit]
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA NSA
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA
(c) DE=0.9
DoC=0.5-DE=0.1 DoC=0.5-DE=0.5
1 1
PC=0.1 PC=0.1
0.9 PC=0.5 0.9 PC=0.5
PC=0.9 PC=0.9
0.8 0.8
0.7 0.7
0.6 0.6
ASD [unit]
ASD [unit]
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA NSA
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA
(c) DE=0.9
DoC=0.9-DE=0.1 DoC=0.9-DE=0.5
1 1
PC=0.1
0.9 0.9 PC=0.5
PC=0.9
0.8 0.8
0.7 0.7
0.6 0.6
ASD [unit]
ASD [unit]
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
PC=0.1
0.1 PC=0.5 0.1
PC=0.9
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA NSA
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
NSA
(c) DE=0.9
In the future work, we will consider also other parameters for actor selection
and make extensive simulations to evaluate the proposed system. Also we will
conduct experiments for other scenarios.
References
1. Akyildiz, I.F., Kasimoglu, I.H.: Wireless sensor and actor networks: research chal-
lenges. Ad Hoc Netw. J. 2(4), 351–367 (2004)
2. Akyildiz, I., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless sensor net-
works: a survey. Comput. Netw. 38(4), 393–422 (2002)
A Fuzzy-Based System for Actor Nodes Selection in WSANs 45
3. Boyinbode, O., Le, H., Takizawa, M.: A survey on clustering algorithms for wireless
sensor networks. Int. J. Space-Based Situated Comput. 1(2/3), 130–136 (2011)
4. Bahrepour, M., Meratnia, N., Poel, M., Taghikhaki, Z., Havinga, P.J.: Use of wire-
less sensor networks for distributed event detection in disaster management appli-
cations. Int. J. Space-Based Situated Comput. 2(1), 58–69 (2012)
5. Haider, N., Imran, M., Saad, N., Zakariya, M.: Performance analysis of reactive
connectivity restoration algorithms for wireless sensor and actor networks. In: IEEE
Malaysia International Conference on Communications (MICC-2013), pp. 490–495,
November 2013
6. Abbasi, A., Younis, M., Akkaya, K.: Movement-assisted connectivity restoration
in wireless sensor and actor networks. IEEE Trans. Parallel Distrib. Syst. 20(9),
1366–1379 (2009)
7. Li, X., Liang, X., Lu, R., He, S., Chen, J., Shen, X.: Toward reliable actor services
in wireless sensor and actor networks. In: 2011 IEEE 8th International Conference
on Mobile Ad-Hoc and Sensor Systems (MASS), pp. 351–360, October 2011
8. Akkaya, K., Younis, M.: COLA: a coverage and latency aware actor placement
for wireless sensor and actor networks. In: IEEE 64th Conference on Vehicular
Technology (VTC-2006) Fall, pp. 1–5, September 2006
9. Kakarla, J., Majhi, B.: A new optimal delay and energy efficient coordination algo-
rithm for WSAN. In: 2013 IEEE International Conference on Advanced Networks
and Telecommuncations Systems (ANTS), pp. 1–6, December 2013
10. Inaba, T., Sakamoto, S., Kolici, V., Mino, G., Barolli, L.: A CAC scheme based
on fuzzy logic for cellular networks considering security and priority parameters.
In: The 9-th International Conference on Broadband and Wireless Computing,
Communication and Applications (BWCCA-2014), pp. 340–346 (2014)
11. Spaho, E., Sakamoto, S., Barolli, L., Xhafa, F., Barolli, V., Iwashige, J.: A fuzzy-
based system for peer reliability in JXTA-overlay P2P considering number of inter-
actions. In: The 16th International Conference on Network-Based Information Sys-
tems (NBiS-2013), pp. 156–161 (2013)
12. Matsuo, K., Elmazi, D., Liu, Y., Sakamoto, S., Mino, G., Barolli, L.: FACS-MP: a
fuzzy admission control system with many priorities for wireless cellular networks
and its performance evaluation. J. High Speed Netw. 21(1), 1–14 (2015)
13. Grabisch, M.: The application of fuzzy integrals in multicriteria decision making.
Eur. J. Oper. Res. 89(3), 445–456 (1996)
14. Inaba, T., Elmazi, D., Liu, Y., Sakamoto, S.,Barolli, L., Uchida, K.: Integrating
wireless cellular and ad-hoc networks using fuzzy logic considering node mobility
and security. In: The 29th IEEE International Conference on Advanced Information
Networking and Applications Workshops (WAINA-2015), pp. 54–60 (2015)
15. Kulla, E., Mino, G., Sakamoto, S., Ikeda, M., Caballé, S., Barolli, L.: FBMIS: a
fuzzy-based multi-interface system for cellular and ad hoc networks. In: Interna-
tional Conference on Advanced Information Networking and Applications (AINA-
2014), pp. 180–185 (2014)
16. Elmazi, D., Kulla, E., Oda, T., Spaho, E., Sakamoto, S., Barolli, L.: A comparison
study of two fuzzy-based systems for selection of actor node in wireless sensor actor
networks. J. Ambient Intell. Humaniz. Comput. 6(9), 635–645 (2015)
17. Zadeh, L.: Fuzzy logic, neural networks, and soft computing. Commun. ACM 37(3),
77–85 (1994)
18. Spaho, E., Sakamoto, S., Barolli, L., Xhafa, F., Ikeda, M.: Trustworthiness in P2P:
performance behaviour of two fuzzy-based systems for JXTA-overlay platform.
Soft. Comput. 18(9), 1783–1793 (2014)
46 D. Elmazi et al.
19. Inaba, T., Sakamoto, S., Kulla, E., Caballe, S., Ikeda, M., Barolli, L.: An integrated
system for wireless cellular and ad-hoc networks using fuzzy logic. In: International
Conference on Intelligent Networking and Collaborative Systems (INCoS-2014),
pp. 157–162 (2014)
20. Matsuo, K., Elmazi, D., Liu, Y., Sakamoto, S., Barolli, L.: A multi-modal simula-
tion system for wireless sensor networks: a comparison study considering stationary
and mobile sink and event. J. Ambient Intell. Humaniz. Comput. 6(4), 519–529
(2015)
21. Kolici, V., Inaba, T., Lala, A., Mino, G., Sakamoto, S., Barolli, L.: A fuzzy-based
CAC scheme for cellular networks considering security. In: International Conference
on Network-Based Information Systems (NBiS-2014), pp. 368–373 (2014)
22. Matsuo, K., Elmazi, D., Liu, Y., Sakamoto, S., Mino, G., Barolli, L.: FACS-MP: a
fuzzy admission control system with many priorities for wireless cellular networks
and its perforemance evaluation. J. High Speed Netw. 21(1), 1–14 (2015)
23. Mendel, J.M.: Fuzzy logic systems for engineering: a tutorial. Proc. IEEE 83(3),
345–377 (1995)
Wind Power Forecasting Based
on Efficient Deep Convolution
Neural Networks
1 Introduction
Due to the continual decrease in fossil fuel, the energy crisis has become crucial
[1]. To mitigate the energy crisis, regulative acts that encourage the utiliza-
tion of renewable energy are promoted worldwide. Among the renewable energy
resources, wind energy, as an alternative to traditional generation, has attracted
a lot of attention. The reason of popularity of wind power is its environment
friendly nature. Wind power has no carbon emission and therefore, helps in
reducing environmental pollution [2]. It is introduced worldwide as a way to
reduce greenhouse gas emission. According to the Global Wind Energy Council
[3], the cumulative capacity of wind power reached 486 GW across the global
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 47–56, 2020.
https://doi.org/10.1007/978-3-030-33509-0_5
48 S. Mujeeb et al.
2 Contributions
In this paper, we are concerned with the problem of predicting the wind power.
The contributions of this research work are listed below:
– For forecasting wind power, the Numeric Weather Prediction (NWP) are used
along with lagged wind power and Wavelet Packet decomposed (WPT) past
wind.
Efficient Deep Convolution Neural Networks Based Wind Power Forecasting 49
3 Proposed Model
The proposed method for forecasting wind power generation and power man-
agement algorithm are discussed in this section.
Xi − min(X)
Xnor = (1)
max(X) − min(X)
The inputs to the forecast model are shown in Table 1. Three types of inputs are
given to the forecasting model are: (i) Numerical Weather Prediction (NWP):
dew point temperature, dry bulb temperature, wind speed, (ii) past lagged values
of wind power and (iii) wavelet packet decomposed wind power. The wavelet
decomposition is described in the next section.
Input Description
Dew point temperature Past NWP forecast
Dry bulb temperature Past NWP forecast
Wind speed Past NWP forecast
Lagged wind power 1 Wind power (t-24)
Lagged wind power 2 Wind power (t-25)
Decomposed wind power Wavelet decomposed past wind power
Hour Time of the day
performs a better signal analysis. WPT was introduced in 1992 by Coifman and
Wickerhauser [14]. Unlike, Discrete Wavelet Transform (DWT), the WPT wave-
forms or packets that are interpreted by three different parameters: frequency,
position and scale (similar to the DWT). For every orthogonal wavelet func-
tion multiple wavelet packets are generated, having different bases (as shown in
Fig. 2). With the help of these bases, the input signal can be encoded in such a
way that the global energy of signal is preserved and exact signal can be recon-
structed effectively. Multiple expansions of an input signal be achieved using
WPT. The suitable most decomposition is selected by calculating the entropy
(e.g. Shannon entropy). The minimal representation of the relevant data based
on a cost function is calculated in WPT. The benefit of WPT is its characteristic
of analyzing signal in different temporal as well as spatial positions. For highly
nonlinear and oscillating signal like wind power DWT doesn’t guarantee good
results [15]. In WPT, both the approximation and detail coefficients are further
decomposed into approximation and detail coefficients as the level of tree goes
deeper. Wavelet packet decomposition operation can be expressed Eqs. 2 and 3.
Efficient Deep Convolution Neural Networks Based Wind Power Forecasting 51
−1
√ 2N
W2n (a) = 2 h(k)Wn (2a − k) (2)
k=0
−1
√ 2N
W2n+1 (a) = 2 g(k)Wn (2a − k) (3)
k=0
Where, the scaling factor W0 (a) = φ(a) and the wavelet function is W1 (a) =
ψ(a).
After decomposing the past wind signals, the engineered features along with
NWP variables and lagged wind power are input to the proposed forecasting
model. The proposed forecasting model is discussed in the next section.
The inputs are given to the Efficient Deep CNN (EDCNN) for predicting day-
ahead hourly wind power (24 values). Firstly, the functionality of trivial CNN is
discussed in this section. Secondly, the proposed method EDCNN is explained.
CNN works on the principle of visual system of human brain. CNN has an
excellent capability of extracting deep underlying features from data. The CNN
effectively identify the spatially local correlations in data through convolution
operation. In the convolution operation, a filter is applied to a block of spatially
adjacent neurons and result is passed through an activation function. This output
of convolution layer becomes the input to next layer’s neuron. Thus, the input to
every neuron of a layer is the output of convolved block of previous layer. Unlike
ANN, the CNN training is efficient due to the weight sharing scheme. Due to
the weight sharing, the learning efficiency improves. CNN is composed of three
altering layers: (i) convolution layer, (ii) sampling layer and (iii) fully connected
layer. The convolution operation can be explained by following Eq. 4.
Suppose, X = [x1 , x2 , x3 , . . . , xn ] are the training samples and C =
[c1 , c2 , c3 , . . . , cn ] is the vector of corresponding targets. n is the number of train-
ing samples. CNN attempts to learn the optimal filter weights and biases that
minimize the forecasting error. CNN can be defined as:
Spring Summer
Wind Power (MW)
800
600
600
400 400
200 200
0 0
0 50 100 150 0 50 100 150
Time (H) Time (H)
Autumn Winter
Wind Power (MW)
1000
600
400 500
200
0 0
0 50 100 150 0 50 100 150
Time (H) Time (H)
Where, Yi is the output at the output layer and ci is the desired or actual target.
The three year hourly data of wind power is taken from ISO New England’s
wind farm located in Maine [16]. The weather parameter, i.e., wind speed data
is taken from Maine weather station data repository.
The wind power is directly proportional to the wind speed. The wind speed vary
from season to season. In Maine, USA the wind speed is effected by seasonality.
In Fig. 3, the one day wind power of all the four seasons, is shown. The wind
power in autumn is higher compared to other seasons. The reason behind this is
the fast winds in coastal area of Maine, where the wind turbines are installed.
Spring Summer
800
Wind Power (MW)
Autumn Winter
1000 600
Wind Power (MW)
Observed
900 ECNN
400 SELU CNN
800 Observed CNN
ECNN 200
700 SELU CNN
CNN
600 0
0 5 10 15 20 25 0 5 10 15 20 25
Time (H) Time (H)
5 Conclusion
In this paper, the problem of predicting wind power generation is considered. In
order to take part in the daily market that regulates the supply and demand in
the Maine electricity system. A deep-learning technique EDCNN is developed
to accurately predict the hourly day-ahead wind power on the Maine wind farm
data. The numeric results validates the efficiency of proposed model for wind
power forecasting.
References
1. Zhao, Y.N., Ye, L., Li, Z., Song, X.R., Lang, Y.S., Su, J.: A novel bidirectional
mechanism based on time series model for wind power forecasting. Appl. Energy
177, 793–803 (2016)
2. Jong, P., Kiperstok, A., Sanchez, A.S., Dargaville, R., Torres, E.A.: Integrating
large scale wind power into the electricity grid in the Northeast of Brazil. Energy
100, 401–15 (2016)
3. Global Wind Energy Council. GWEC Global Wind Report (2016)
4. U.S. Department of Energy, Staff Report to the Secretary on Electricity Markets
and Reliability (2017)
5. U.S. Department of Energy, 20% Wind energy by 2030: increasing wind energy’s
contribution to US electricity supply, Energy Efficiency and Renewable Energy
(EERE) (2008)
6. Chen, Z.: Wind power in modern power systems. J. Mod. Power Syst. Clean Energy
1(1), 2–13 (2013)
7. Haque, A.U., Nehrir, M.H., Mandal, P.: A hybrid intelligent model for deterministic
and quantile regression approach for probabilistic wind power forecasting. IEEE
Trans. Power Syst. 29(4), 1663–1672 (2014)
8. Kazmi, H.S.Z., Javaid, N., Imran, M.: Towards energy efficiency and trustfulness
in complex networks using data science techniques and blockchain. MS thesis.
COMSATS University Islamabad (CUI), Islamabad, Pakistan, July 2019
9. Zahid, M., Javaid, N., Rasheed, M.B.: Balancing electricity demand and supply in
smart grids using blockchain. MS thesis. COMSATS University Islamabad (CUI),
Islamabad, Pakistan, July 2019
56 S. Mujeeb et al.
10. Bano, H., Javaid, N., Rasheed, M.B.: Electricity price and load forecasting using
enhanced machine learning techniques. MS thesis. COMSATS University Islam-
abad (CUI), Islamabad, Pakistan, July 2019
11. Juban, J., Siebert, N., Kariniotakis, G.N.: Probabilistic short-term wind power
forecasting for the optimal management of wind generation. In: Power Tech, 2007
IEEE Lausanne, pp. 683–688. IEEE (2007)
12. Wang, H.Z., Li, G.Q., Wang, G.B., Peng, J.C., Jiang, H., Liu, Y.T.: Deep learning
based ensemble approach for probabilistic wind power forecasting. Appl. Energy
15(188), 56–70 (2017)
13. Torres, J.M., Aguilar, R.M.: Using deep learning to predict complex systems: a
case study in wind farm generation. Complexity 2018, 10 (2018)
14. Coifman, R.R., Wickerhauser, M.V.: Entropy-based algorithms for best basis selec-
tion. IEEE Trans. Inf. Theory 38(2), 713–8 (1992)
15. Burrus, C.S., Gopinath, R., Guo, H.: Introduction to Wavelets and Wavelet Trans-
forms: A Primer. Prentice Hall, Upper Saddle River (1997)
16. ISO NE Market Operations Data. https://www.iso-ne.com. Accessed 20th Jan
2019
17. Derrac, J., Garcia, S., Molina, D., Herrera, F.: A practical tutorial on the use of
nonparametric statistical tests as a methodology for comparing evolutionary and
swarm intelligence algorithms. Swarm Evol. Comput. 1(1), 3–18 (2011)
18. Martin, P., Moreno, G., Rodriguez, F., Jimenez, J., Fernandez, I.: A hybrid app-
roach to short-term load forecasting aimed at bad data detection in secondary
substation monitoring equipment. Sensors 18(11), 3947 (2018)
19. Diebold, F.X., Mariano, R.S.: Comparing predictive accuracy. J. Bus. Econ. Stat.
13, 253–63 (1995)
20. Chen, H., Wan, Q., Wang, Y.: Refined Diebold-Mariano test methods for the eval-
uation of wind power forecasting models. Energies 7(7), 4185–4198 (2014)
21. Lago, J., De Ridder, F., De Schutter, B.: Forecasting spot electricity prices: deep
learning approaches and empirical comparison of traditional algorithms. Appl.
Energy 221, 386–405 (2018)
One Step Forward: Towards a Blockchain
Based Trust Model for WSNs
1 Introduction
Blockchain attracts great courtesy of researchers as they have faith in that,
this technology will bring remarkable changes and opportunities to industries.
Blockchain is a very powerful technology for resolving trusted communications
in a decentralized fashion. This technology was introduced back in 2008 and
circulated by the cryptography mailing group. The main strength of blockchain
is in decentralization, which allows direct (peer to peer) transactions. This app-
roach is also used in distributed systems where trust is not needed for nodes
to do transactions. Blockchain adopts many means such as: time stamping, dis-
tributed consensus, data encryption and economic incentives. It is used to solve
the problems having inefficiency, high cost and insecure data storage. In contem-
porary years, the research on blockchain technology is excited to grow quickly
with the rapid acclaim and development of blockchain.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 57–69, 2020.
https://doi.org/10.1007/978-3-030-33509-0_6
58 A. Mateen et al.
Each sink node has its own database consists of hashes to keep the record of
transactions. Every sink node has the ability to communicate with ordinary sen-
sor node, other sink nodes and the main server. Sink node uses the private keys
for accessing the data from the main server.
The main server is also known as endpoint or base station. The major tasks
for base station are to publish the smart contracts, issuance of activity and
processing of sensed data. The main server records each and every transaction
along with sink id and location in its immutable database. This database can
only be accessed by the main server itself or pre-authorized sink nodes.
It can be observed from the Fig. 1 that the ordinary nodes are connected with
sink nodes. Every sink node will get the data from ordinary sensor nodes. Sink
nodes can send their data to other sinks as well as to the main server. Where,
a smart contract is implemented on sink nodes and issued by the main server.
Sink nodes can authenticate and blacklist any ordinary sensor node at any time
on the detection of malicious activity. Each sink has a communication record of
its own as well other nodes in its distributed ledger.
In this system model, the validity of data is checked at sink nodes. Noticeable
thing is that access on the main server is only granted to the sink nodes. The
main server checks the working status of sink nodes and ordinary nodes. It can
also remove any node if (1) it is dead or (2) involved in any suspicious activity.
62 A. Mateen et al.
4 Simulation Results
In this section, we discuss the simulation results which are obtained using dif-
ferent tools and the reasons for these results. In Sect. 4.1, simulation tools are
explained. Moreover, results and their reasoning are discussed in Sect. 4.2.
106
6
4
Cost (gas)
0
Transaction Cost Execution Cost
Parameter Value
Status 0x1 Transaction mined and execution succeed
Transaction hash 0x98933, ..., 75f15
Contract address 0x08970, ..., 659fb
From 0xca35b, ..., a733c
To Clustering.(constructor)
Gas 300000000 gas
Transaction cost 5674465 gas
Execution cost 4272505 gas
Hash 0x98933, ..., 75f15
Input 0x608...40029
Decoded input {}
Decoded output -
Logs []
Value 0 wei
4
10
3
2.5
2 Transaction Cost
Execution Cost
Cost (gas)
1.5
0.5
0
Current states of Sink nodes Current states of Sink nodes on main server
4
10 Transaction Cost Execution Cost
3.5
2.5
Cost (gas)
1.5
0.5
0
Sink Node 1 Sink Node 2 Sink Node 3 Sink Node 4 Sink Node 5
4
10 Transaction Cost Execution Cost
5
3
Cost (gas)
0
Sink Node 1 Sink Node 2 Sink Node 3 Sink Node 4 Sink Node 5
Parameter Value
Transaction hash 0xfbaef, ..., 840f96
From 0xca35b7, ..., fa733c
To Clustering.StateOfSNs() 0xbbf28, ..., 732db
Transaction cost 27886 gas (Cost only applies when called by a contract)
Execution cost 6614 gas (Cost only applies when called by a contract)
Hash 0xfbaef, ..., 840f96
Input 0x38e, ..., fccad
Decoded input {}
Decoded output {“0”: “string: Current state of Sink Node 1 is: 1”
“1”: “string: Current state of Sink Node 2 is: 1”
“2”: “string: Current state of Sink Node 3 is: 0”
“3”: “string: Current state of Sink Node 4 is: 0”
“4”: “string: Current state of Sink Node 5 is: 1”
“5”: “string: State of selected Ordinary Node is: 1”}
Logs []
One Step Forward: Towards a Blockchain Based Trust Model for WSNs 65
4.1.2 Ganache
Ganache provides a clear visualization of the smart contract deploying trans-
actions. Ganache grants you access to 10 accounts and each having 100 Ethers
for testing purpose. When a transaction or a smart contract is deployed on the
blockchain, Ganache immediately confirms this transaction or smart contract. In
the result of any transaction or smart contract deployment, the transaction log
is increased and Ether is deducted. Each transaction has details of fund trans-
fer, contract creation and contract call, etc. along with the sender’s address and
transaction hash.
4.1.3 MetaMask
MetaMask is a Google Chrome extension which connects the Etherium node
and browser. It allows us to send and receive Ethers from Ganache. For this, the
connection of Ganache wallet with MetaMask is possible by using a private key.
MetaMask is also connected with Remix IDE. When Remix IDE and MetaMask
are connected, Ether will be deducted on each transaction.
programming problems within seconds. However, we have used this tool for get-
ting plots by passing the values which were obtained by the Remix IDE.
been checked by other sink nodes and then by the main server. This active or de-
active states must be the same in both places. If the status is same then the node
is working perfectly; otherwise, the node is malicious and need to be removed
from the network. This state checking cost is presented in Fig. 3. Similarly, Fig. 4
shows the transaction and execution costs for each sink node’s state. Moreover,
status for each node is presented in Fig. 4 and this status is cross-verified by
the main server. Nevertheless, notable thing is that the active status of nodes is
represented by “1” and vice versa by “0”.
Transaction and execution costs per transaction are shown in Fig. 5. We can
easily observe the difference between both of aforementioned costs. Transaction
cost is always high and execution cost is low. We have already discussed the
reasons for the higher transaction cost than the execution cost.
5 Conclusion
WSN has the ability to monitor, collect and send data from one place to another
in unorthodox conditions. However, this network has lots off security risks. In this
paper, we come up with the solution for their security concerns by exploiting the
blockchain concepts. So in this paper, we propose a blockchain based trust model
for WSN to communicate with other nodes without having any security risks.
Moreover, simulations are performed to compare the transaction and execution
costs. In future, we will implement blockchain in any state of the art routing
protocol and compare the performance with the original one.
References
1. Mateen, A., Awais, M., Javaid, N., Ishmanov, F., Afzal, M.K., Kazmi, S.: Geo-
graphic and opportunistic recovery with depth and power transmission adjustment
for energy-efficiency and void hole alleviation in UWSNs. Sensors 19(3), 709 (2019)
2. She, W., Liu, Q., Tian, Z., Chen, J.-S., Wang, B., Liu, W.: Blockchain trust model
for malicious node detection in wireless sensor networks. IEEE Access 7, 38947–
38956 (2019)
3. Liu, M., Yu, F.R., Teng, Y., Leung, V.C.M., Song, M.: Computation offloading
and content caching in wireless blockchain networks with mobile edge computing.
IEEE Trans. Veh. Technol. 67(11), 11008–11021 (2018)
4. Awais, M., Javaid, N., Imran, M.: Energy efficient routing with void hole allevi-
ation in underwater wireless sensor networks. MS thesis. COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
68 A. Mateen et al.
5. Mateen, A., Javaid, N., Iqbal, S.: Towards energy efficient routing in blockchain
based underwater WSNs via recovering the void holes. MS thesis. COMSATS Uni-
versity Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
6. Xu, Y., Wang, G., Jidian Yang, J., Ren, Y.Z., Zhang, C.: Towards secure network
computing services for lightweight clients using blockchain. Wirel. Commun. Mob.
Comput. 2018, 1–13 (2018)
7. Lin, J., Shen, Z., Miao, C., Liu, S.: Using blockchain to build trusted LoRaWAN
sharing server. Int. J. Crowd Sci. 1(3), 270–280 (2017)
8. Ren, Y., Liu, Y., Ji, S., Sangaiah, A.K., Wang, J.: Incentive mechanism of data
storage based on blockchain for wireless sensor networks. Mob. Inf. Syst. 2018, 10
(2018)
9. Li, J.: Data transmission scheme considering node failure for blockchain. Wireless
Pers. Commun. 103(1), 179–194 (2018)
10. Lin, D., Tang, Y.: Blockchain consensus based user access strategies in D2D net-
works for data-intensive applications. IEEE Access 6, 72683–72690 (2018)
11. Singh, M., Kim, S.: Branch based blockchain technology in intelligent vehicle. Com-
put. Netw. 145, 219–231 (2018)
12. Dai, M., Zhang, S., Wang, H., Jin, S.: A low storage room requirement framework
for distributed ledger in blockchain. IEEE Access 6, 22970–22975 (2018)
13. Jia, B., Zhou, T., Li, W., Liu, Z., Zhang, J.: A blockchain-based location privacy
protection incentive mechanism in crowd sensing networks. Sensors 18(11), 3894
(2018)
14. Zhang, Y., Wen, J.: The IoT electric business model: using blockchain technology
for the Internet of Things. Peer-to-Peer Netw. Appl. 10(4), 983–994 (2017)
15. Xu, C., Wang, K., Li, P., Guo, S., Luo, J., Ye, B., Guo, M.: Making big data open in
edges: a resource-efficient blockchain-based approach. IEEE Trans. Parallel Distrib.
Syst. 30(4), 870–882 (2019)
16. Sharma, P.K., Moon, S.Y., Park, J.H.: Block-VN: a distributed blockchain based
vehicular network architecture in smart city. JIPS 13(1), 184–195 (2017)
17. Zhang, G., Li, T., Li, Y., Hui, P., Jin, D.: Blockchain-based data sharing system
for AI-powered network operations. J. Commun. Inf. Netw. 3(3), 1–8 (2018)
18. Gholamreza, R., Leung, C.: A blockchain-based contractual routing protocol for the
Internet of Things using smart contracts. Wirel. Commun. Mob. Comput. 2018,
14 (2018)
19. Naz, M., Javaid, N., Iqbal, S.: Research based data rights management using
blockchain over ethereum network. MS thesis. COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
20. Javaid, A., Javaid, N., Imran, M.: Ensuring analyzing and monetization of data
using data science and blockchain in loT devices. MS thesis, COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
21. Kazmi, H.S.Z., Javaid, N., Imran, M.: Towards energy efficiency and trustfulness
in complex networks using data science techniques and blockchain. MS thesis,
COMSATS University Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
22. Zahid, M., Javaid, N., Rasheed, M.B.: Balancing electricity demand and supply in
smart grids using blockchain. MS thesis, COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
23. Noshad, Z., Javaid, N., Imran, M.: Analyzing and securing data using data science
and blockchain in smart networks. MS thesis, COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
One Step Forward: Towards a Blockchain Based Trust Model for WSNs 69
24. Ali, I., Javaid, N., Iqbal, S.: An incentive mechanism for secure service provision-
ing for lightweight clients based on blockchain. MS thesis, COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
25. ul Hussen Khan, R.J., Javaid, N., Iqbal, S.: Blockchain based node recovery scheme
for wireless sensor networks. MS Thesis, COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
26. Samuel, O., Javaid, N., Awais, M., Ahmed, Z., Imran, M., Guizani, M.: A
blockchain model for fair data sharing in deregulated smart grids. In: IEEE Global
Communications Conference (GLOBCOM 2019) (2019)
27. Rehman, M., Javaid, N., Awais, M., Imran, M., Naseer, N.: Cloud based secure
service providing for IoTs using blockchain. In: IEEE Global Communications Con-
ference (GLOBCOM 2019) (2019)
Smart Contracts for Research Lab
Sharing Scholars Data Rights
Management over the Ethereum
Blockchain Network
1 Introduction
Data sharing is an important and vital mainly for public researcher to obtain
their tasks and update there work. Research datasets contain issues to publish.
e.g., reproduced the paper results and simulation that update and proof your
work to republish your task without adding or commitment of their own scheme
in the search cycle. The main difficulties of scholarly communication to main-
tain the preparing and storing the research datasets [1]. Recently, the research
datasets is given autonomy to a requester to update the publish research sharing.
The scholarly communication of research datasets is digitally right managed.
This article proposed the new scheme for the researcher to publish his work
typically its can examine by researchers to view his work on each step to follow
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 70–81, 2020.
https://doi.org/10.1007/978-3-030-33509-0_7
Smart Contracts for Research Lab Sharing Scholars 71
the reuser action that how it can be accessed. Those conditions and policies can
be enforced and follow through the smart contract that follows the conditions
under which the research data is to publish.
The paper aims to evaluate and compare the decentralized architecture with
the existing management scheme for research datasets right management. Using
datasets repository and data sharing solutions for scholarly communication.
Specifically, the research data is evaluated the performance of existing archi-
tecture. In addition, our proposed technique meet design goal of scalability by
measuring the system with a different configuration.
The scholarly datasets communication of researcher domain has more con-
nected parts include numbers of activities for sharing research data. Authors will
post the research datasets by own website [1]. In [2], we facilitate to upload free
services of research contents. From the points of publish research data sharing
and reuse the research contents (reuser/requester) can specify under certain con-
ditions and terms [3]. When supporting research content is publish it follow the
access and reused conditions. So its remain confidential in case of reuser inter-
ference to reuse practically. Usually, reuser takes permission from the author.
about the publisher and researcher workflow. Moreover, a smart contract for
digital right management represents the solid base for datasets sharing over the
Internet.
Smart contract technology makes interactive between authors scholar
datasets and requester access action. The parameters assigning by authors as
follow:
• High qualification degree holder.
• Associated with development and research lab to publish the research area
from any domain.
• Author account address to store the incentives received from requester.
The remaining paper is structured in the following manner: Sect. 2 discusses
the blockchain mechanism. Related work for scholarly datasets communication
of research work and motivation is discussed in Sect. 3. Section 4 shows an intro-
duction of our new proposed technique. In Sect. 5 concludes the results. More-
over, Sect. 6 present the simulation environment. Finally, Sect. 7 we conclude our
article and discuss the future limitation/scope of blockchain in data sharing.
2 Blockchain Mechanism
Revolutionized technology used to handle the data. It is the hash-based data
structure. Initially, blockchain develops for the invention of bitcoins. Most peo-
ple think, that this technology used for power the bitcoin. It is actually the
chronological linked list of batches called block. Those blocks are used for store
data which is untampered. The technology of blockchain is an increasing list of
blocks (records) that are related by cryptographically.
3 Related Work
In this section, we discuss the literature review and motivation to the context of
this article.
The most necessary and essential activity of researcher/scholar to share their
scholarly datasets from one part to another mainly due to the requirements
of research organization and research labs [1]. In the research cycle, to share
the scholarly datasets is not necessary because in the survey less then the half
researcher can respond to it due to difficulties in storing and data sharing which
is a technical issue [2].
In the various acts of knowledge [3], they aware the environment that publish
of research datasets can have the wrong impact on academic desired aim. In the
survey, the main fence or obstacle is fear in misused and misinterpretation of
research publish data and fear in lose of publishing chances.
The scholarly communication of researcher domain has more connected parts
include numbers of activities for sharing research datasets. Authors will post the
research datasets by own website [4,5].
In ZENODO [6] facilitate to upload free services of research contents. From
the point of publishing research datasets sharing and reuse the research contents
(reusers/requesters) can specify under certain conditions and terms [7]. When
supporting research contents is publish it follow the access and reuse conditions.
So its remain confidential in case of reuser interference to reuse practically. Usu-
ally, reusers take permission from author.
The development of mobile communication and networking which is
extremely difficult to manage. Due to proposed in [7] scenario, Artificial Intelli-
gence AI-powered network frameworks. This platform operates a network auto-
matically. To tackle data barriers, we used mutual data sharing frameworks.
With the invention of blockchain technology, most researcher sharing focus
on blockchain mechanism to notice the value of scholarly data sharing. Mostly
include medical data sharing. In a medical scenario, the authors used to take
ownership of saving and manipulate the data. For this, the only solution to the
problem was blockchain technology. For whatever, medical data need only to
verify at the permission from data ownership. This permission is verified through
smart contracts using blockchain technology.
Another problem is to tackle through on aspect of data authority manage-
ment. For tackle such issue, blockchain technology is used for data authority
management. In this scenario, the raw data can’t be controlled by the owner as
long as. In system [7], it includes three levels: user layer, management layer, and
data sharing layer. We also used the storage layer as composed to the cloud-based
storage layer. In [8–17], authors use of blockchain in wireless sensor networks,
Internet of things, smart grids, vehicle networks, etc.
Data
Scholar Publisher Data Repository CommunicaƟon
Layer 1 Profile Account
Authors / Publisher
Domain Data Access
AbstracƟon of
Publisher Data
Layer 2
CondiƟons / Terms Smart contract
Domain
Reuser
Layer 3 Account
Reuser / Requester
Domain
Requester
Rework
Publisher
• Hashing for authors datasets and conditions (used in smart contracts under
which research datasets may access and reuse).
• The published work is reuse is to record permanently in a transaction
(Table 1).
In Fig. 3 shows the authors qualification for publishing the desired and needed
scholar datasets. The data published depends on authors qualification descrip-
tion. The scholar datasets from any desired descriptions is an enhancement in
data publishing. The output evaluation is computing in transaction cost period.
Definitely, authors description shows the levels of publishers. Usually, it demon-
strates which type of authors can upload which level of scholar datasets.
In Fig. 4 shows the requester qualification description. On both sides, the
transaction output is taken in gas. The delay is actually shown in gas perfor-
mance. How fast the scholar data is accessed from the publisher, the transaction
almost gradually performed. In general, the result of the experiment shows that
the publish and downloaded gas transaction for each event is acceptable. We also
experiment to measure the relationship between concurrent services requested
and transaction output gas in ether.
In the given scenario, we have three layers, in which the bottom layer is for
reuser of the scholar datasets. In Fig. 5, the reuser or the requester needs to
access the published datasets from the blockchain technology. On each access of
the desired paper, the incentives can share to the publisher. Reuser can access
Smart Contracts for Research Lab Sharing Scholars 79
publish materials from any well-known labs for future. The access of required
papers can be made from the authorized lab because of their reuse must be
working on policies.
6 Semulation Environment
The smart contracts actually make runtime contract between the datasets pol-
isher and reuser for sharing datasets.
Remix is an integrated development environment (IDE). Which is web
browser-based IDE for programming in solidity (to write the smart contracts
that digitally facilitate the parties on both sides to trust on given rules). The
Ethereum platform used ether. Which shows how much ether has been done on
a specific task. How much gas is consumed to indicate actually the total cost for
a specific task. For more a complex task, we need more cost to be consume.
Ganache is a personal blockchain to create a smart contract. It’s available for
a desktop application which is a command line tool for windows. It works and
used on Ethereum development. It provides the functionality of the deployment
of smart contracts. We used as a desktop application to deploy the contract
between data scholars publisher and reuser. Ganache allows you to create a
private Ethereum blockchain for you to run for test and execute commands.
MetaMask is a bridge that allows you to visit the distributed web to run
Ethereum desktop application on your browser. It is usually a wallet to store,
send, and receive the ethers. It allows you to control the funds.
80 A. Ghaffar et al.
References
1. Xu, Y., Wang, G., Yang, J., Ren, J., Zhang, Y., Zhang, C.: Towards secure network
computing services for lightweight clients using blockchain. Wirel. Commun. Mob.
Comput. 2018, 12 (2018)
2. Zhang, Y., Wen, J.: The IoT electric business model: using blockchain technology
for the Internet of Things. Peer-to-Peer Netw. Appl. 10(4), 983–994 (2017)
3. Novo, O.: Scalable access management in IoT using blockchain: a performance
evaluation. IEEE Internet Things J. 6, 4694–4701 (2018)
4. Jiang, T., Fang, H., Wang, H.: Blockchain-based internet of vehicles: distributed
network architecture and performance analysis. IEEE Internet Things J. 6, 4640–
4649 (2018)
5. Sergii, K., Prieto-Castrillo, F.: A rolling blockchain for a dynamic WSNs in a smart
city. arXiv preprint arXiv:1806.11399 (2018)
6. Zhang, G., Li, T., Li, Y., Hui, P., Jin, D.: Blockchain-based data sharing system
for AI-powered network operations. J. Commun. Inf. Netw. 3(3), 1–8 (2018)
7. Pãnescu, A.-T., Manta, V.: Smart contracts for research data rights management
over the ethereum blockchain network. Sci. Technol. Librar. 37(3), 235–245 (2018)
8. Mateen, A., Javaid, N., Iqbal, S.: Towards energy efficient routing in blockchain
based underwater WSNs via recovering the void holes. MS thesis, COMSATS Uni-
versity Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
Smart Contracts for Research Lab Sharing Scholars 81
9. Naz, M., Javaid, N., Iqbal, S.: Research based data rights management using
blockchain over ethereum network. MS thesis. COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
10. Javaid, A., Javaid, N., Imran, M.: Ensuring analyzing and monetization of data
using data science and blockchain in loT Devices. MS thesis. COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
11. Kazmi, H.S.Z., Javaid, N., Imran, M.: Towards energy efficiency and trustfulness
in complex networks using data science techniques and blockchain. MS thesis.
COMSATS University Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
12. Zahid, M., Javaid, N., Rasheed, M.B.: Balancing electricity demand and supply in
smart grids using blockchain. MS thesis. COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
13. Noshad, Z., Javaid, N., Imran, M.: Analyzing and securing data using data science
and blockchain in smart networks. MS thesis. COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
14. Ali, I., Javaid, N., Iqbal, S.: An incentive mechanism for secure service provision-
ing for lightweight clients based on blockchain. MS thesis. COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
15. ul Hussen Khan, R.J., Javaid, N., Iqbal, S.: Blockchain based node recovery scheme
for wireless sensor networks. MS thesis. COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
16. Samuel, O., Javaid, N., Awais, M., Ahmed, Z., Imran, M., Guizani, M.: A
blockchain model for fair data sharing in deregulated smart grids. In: IEEE Global
Communications Conference (GLOBCOM 2019) (2019)
17. Rehman, M., Javaid, N., Awais, M., Imran, M., Naseer, N.: Cloud based secure
service providing for IoTs using blockchain. In: IEEE Global Communications Con-
ference (GLOBCOM 2019) (2019)
Secure Service Provisioning Scheme
for Lightweight Clients with Incentive
Mechanism Based on Blockchain
Ishtiaq Ali, Raja Jalees ul Hussen Khan, Zainib Noshad, Atia Javaid,
Maheen Zahid, and Nadeem Javaid(B)
1 Introduction
The Internet of Things (IoT) industry is remarkably evolved in the last ten years.
At present, 13 billion IoT devices are connected and in the near future, it would
increase up to 30 billion [1]. Gartner in [2] says that the total amount of spending
on IoT devices and its services till 2017 is almost $2 trillion. The author also
predicted that the number of connected IoT devices all over the world will grow
up to 20 billion by 2020.
The IoT is optimizing and transforming the hand-operated (manual) pro-
cesses to automatic processes and make them part of the modern era. Central-
ized architecture like cloud computing has extremely contributed to IoT devel-
opment. During the last decade, cloud computing technology has contributed
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 82–93, 2020.
https://doi.org/10.1007/978-3-030-33509-0_8
Secure Service Provisioning Scheme for Lightweight Clients 83
a lot to provide the necessary functionalities to IoT devices. Using these func-
tionalities the IoT devices analyze and process the information and convert it to
real-time information [3].
Meanwhile, the abilities of resource constraint IoT devices are extended by fog
computing, edge computing and transparent computing. The abilities of the IoT
devices are extended through service provisioning and sharing. Security issues
arise unintentionally during service provisioning to IoT devices. The services
provided by transparent computing technologies are not always accurate. The
services must be validated before executing it. The researchers in some of the
early studies work on validation of the services before execution, which is pro-
vided by cloud computing. The authors in [4] used block-stream techniques to
encode the services and provide the encoded services to the IoT devices. The
authors in [5] proposed a scheme that uses local trusted firmware and trusted
platform modules to validate the services before executing.
Nakamoto in 2008 presented a cryptocurrency based on blockchain [6].
Blockchain is a technology in which transactions are validated by untrusted
actors. Blockchain provides an immutable, distributed, secure, transparent and
auditable ledger. The information in the blockchain is structured in a chain of
blocks. The blocks contain the number of transactions and these blocks are linked
together through cryptographic hashes.
After the invent of blockchain, researchers used Smart Contracts (SCs) for
validation of services before executing it. Due to the aforementioned features of
the blockchain, it is used as an underlying security fabric in the service provision-
ing systems. In this work, we proposed a secure service provisioning scheme for
Lightweight Clients (LCs) with an incentive mechanism based on the reputation
of Service Providers (SPs). In the proposed scheme, the LCs send requests to
the SPs through blockchain. The SP provides the service codes in an off-chain
method. The LC validates the service codes and pays the price of the service
to the SP. The Incentive mechanism is based on the reputation of the SP. The
reputation of the SP is increased when it provides valid services and that SP
will receive more requests from the LCs and more incentives will be gathered.
Consortium blockchain with Proof of Authority (PoA) consensus mechanism
is used. A consortium blockchain is used because it has both the features of
the public blockchain and private blockchain. PoA consensus mechanism is used
because it requires less computational power as compared to other consensus
mechanisms. Moreover, the Keccak256 hashing algorithm is used for finding the
hash of the service codes. Keccak256 is used because it consumes less cost as
compared to other hashing algorithms. The evaluation results show that the
LCs receive validated services at an affordable cost. Moreover, the results also
depict that the participation rate of the SPs increase because of the incentive
mechanism.
The rest of the paper is organized as follows. Section 2 presents the literature
review. In Sect. 3, the problem statement is presented. Section 4, Presents the
proposed scheme for secure service provisioning with fair payment and incen-
84 I. Ali et al.
tive mechanism. In Sect. 5, simulation and results are discussed. Finally, Sect. 6
concluded our work.
2 Related Work
Blockchain is the emerging technology and most of the researchers are attracted
to it. Every field in the current era leveraged some of the features of blockchain.
The following are the fields in which blockchain is used by researchers in past
years. Blockchain is one of the emerging topics for research in recent years.
Some of the researchers integrated blockchain with IoT to overcome the issues
of openness, scalability, data storage, security and channel reliability.
Lin et al. integrated blockchain in Long Range Wide Area Network
(LoRaWAN) server. Using blockchain in the LoRaWAN server, an open, trusted,
decentralized and tamper-proof system is developed. However, the scalability of
the network is ignored [7].
The author in [8] presented a proof of concept architecture to implement an
access management system for IoT using blockchain technology. The permissions
and credentials of different IoT resources are stored globally. The results show
that the proposed system performed well when the Wireless Sensor Networks
(WSNs) are connected to multiple management hubs. However, when the WSNs
are connected with a single management hub, the architecture performs as a
centralized IoT system. Furthermore, when the management hub fails the devices
connected to it disappear.
Sharma et al. proposed a novel hybrid network architecture by leverag-
ing Software Defined Network (SDN) and blockchain technology. The proposed
architecture is divided into two parts: core network and edge network. By divid-
ing the architecture into two parts, the architecture has both centralized and
distributed features and strengths. The proposed architecture is compared to
Ethereum blockchain and the difference of 16.1 sec is observed in latency. How-
ever, edge nodes are not deployed efficiently and have issues in enabling the
caching technique at edge nodes [9].
The author used blockchain for research data rights management, monetiza-
tion of data and energy efficiency and truthfulness of the networks in [10–12].
Sharma et al. proposed a distributed secure SDN architecture for IoT using
the blockchain technology. The results show that the proposed system performs
well in terms of scalability, accuracy, defense effects and efficiency. However, the
data storage issue is ignored in [13].
For data storage, Jiang et al. proposed a blockchain architecture and net-
work model by considering the participation of the Internet of Vehicles (IoVs).
The lag timestamp range function is used for block validation. The blockchain
architecture consists of five different blockchains. The results show that when
the traffic increases, the average number of retransmission is about 0.86 and the
mean throughput of the network also increases. However, the channel reliability
of the cellular network is ignored [14].
Kushch et al. proposed a rolling blockchain concept for IoT devices. The
IoT devices have less battery resources and computational power to carry out
Secure Service Provisioning Scheme for Lightweight Clients 85
Proof of Work (PoW). The results show that the blockchain remains stable with
an increasing number of attacks. The lost blocks depend on the density of the
sensors and the intensity of the attack. However, security issues and pollution
attacks are ignored in this work [15].
For security issues, Xu et al. proposed a novel blockchain approach for secure
service provisioning. Furthermore, the authors used consortium blockchain with
the PoA consensus algorithm. The authors also used SCs to validate the edge
servers and service codes. However, no reward is given to the SPs to motivate
them [16].
Sharma et al. proposed a secure Vehicular Network (VN) architecture based
on blockchain for a smart city. The authors used the blockchain with SC. How-
ever, the SPs are not rewarded so they will not provide services effectively [17].
In [18–20], the authors used blockchain for balancing electricity demand and
supply, analyzing and securing data and node recovery.
Zhang et al. proposed an IoT E-business model because the traditional E-
business model was not feasible for the IoT. The transactions of smart property
and paid data between IoT are carried out and stored in blockchain by using the
SC. The proposed IoT E-business model is used for a case study and observed
that it is working effectively as compared to the traditional E-business model.
However, a platform for data exchange is missing [21].
Singh et al. used blockchain to build a secure and trusted environment
for Intelligent Vehicles (IVs) communication. The authors also proposed local
dynamic blockchain branching and unbranching algorithms to automate the
branching process of IV communication. Furthermore, they introduce an IV
Trust Point (IVTP), which is used as a cryptocurrency during communication.
However, by using the branching algorithm, the duplicates state changes are
increased [22].
The author in [23] proposed a data transmission scheme for block validation
in blockchain considering the node failure. The authors used a multilink con-
current communication tree model. The results show that the proposed scheme
works effectively until the failed nodes reach to 15%. However, the average link
stress, the concurrent communication time and the average end to end delay
increased when the failed nodes reach about 30%. Furthermore, failed nodes are
only detected, not recovered.
Lin et al. used the blockchain and Byzantine consensus mechanism to propose
a framework. The proposed framework authenticates the Channel State Informa-
tion (CSI) for Device-to-Device (D2D) underlying cellular networks. The scheme
of user access control among the users is studied in a data-intensive service appli-
cation. The results show that our proposed framework beats the Q-learning algo-
rithm and random search algorithm in terms of spectrum efficiency. However,
users with non-cooperative behavior are not considered [24].
In [25], the authors proposed a novel secure service provisioning scheme for
LCs. In the proposed, the cloud server validates the services, the edge servers
and maintain the record of the services. The experimental analysis shows that
the proposed system is suitable for resource constrained devices.
86 I. Ali et al.
3 Problem Statement
The services provided by SPs are not always accurate. The authors in [4] used
a block-stream code technique for service provisioning to IoT devices. However,
the SPs cannot be trusted that they provide the correct services. The authors in
[5] proposed a scheme in which service programs are validated before execution
by using techniques like local trusted firmware and trusted platform modules.
However, IoT devices have less space for spare firmware and no specific hardware
for trusted modules. After the invent of blockchain, researchers used blockchain
for service validation and verification. In [16], the authors use SCs for the vali-
dation of the services before executing it. However, no rewards are given to the
SPs to motivate them. Moreover, the payment for the service provisioning is also
not considered in this work. In this work, a secure service provisioning scheme.
Payments are transferred in the form of cryptocurrency to eliminate the third
party. Furthermore, an incentive mechanism based on the reputation of the SPs
is proposed to motivate the SPs.
SPs: SPs are the nodes that provide services to the LCs in the proposed system.
When LCs request for a specific service. The SP encrypts the service codes, finds
the hash of that service codes and publishes that hash on the blockchain. Then
the SP sends that encrypted service codes to the LCs in an off-chain method.
LCs: LCs are the IoT devices in the proposed system, which have less compu-
tational power, storage and battery resources. In the proposed system, LCs send
requests to SPs through blockchain for service codes. Then these service codes
are validated through SC before execution. LCs also pay to the SPs in the form
of cryptocurrency for specific service.
Secure Service Provisioning Scheme for Lightweight Clients 87
Maintainer Nodes (MNs): MNs are the validators in the blockchain. MNs
are responsible for evidence recording in the blockchain. MNs record transactions
in blockchain about the validity of the LCs, SPs, services and the reputation of
the SPs. The reputation of SPs is based on the number of validated transactions.
published by the SP in step 3. If the hashes match, then the output will be
valid service else invalid service.
5. The LC transfers cryptocurrency to the SP account after receiving the vali-
dated service codes.
We used MetaMask to run our SC on the browser and perform all transactions.
MATLAB is used for plotting the results. The values of gas consumption are
recorded from remix IDE and then plotted by using MATLAB.
The results of the proposed scheme are discussed in this section. Furthermore,
a comparison with other algorithms is also performed to check the efficiency of
our used algorithms.
Figure 3 depicts the total gas consumption of the overall process of service
provisioning. The results show that PoA outperforms PoW in terms of gas con-
sumption. Gas consumed by using the PoA consensus mechanism is 166550 gas
units, while gas units consumed by using PoW are 202668. PoW is computa-
tionally intensive that is why it consumes more gas units as compared to PoA.
90 I. Ali et al.
The total gas consumption by using PoA is almost 17% reduced as compare to
PoW.
Figure 4 depicts the total gas consumption of the overall process of ser-
vice provisioning. The gas consumption is observed by using different hashing
algorithms. Keccak256 consumes 30 gas units+6 gas units per word, SHA256
consumes 60 gas+12 gas units per word and RIPEMD160 consumes 160 gas
units+120 gas units per word. The results show that keccak256 outperforms the
SHA256 and RIPEMD160. The total gas consumption by using keccak256 is
166550 gas units, while SHA256 and RIPEMD160 consume 168735 and 169925
gas units respectively. Keccak256 reduces gas consumption by 1.9% and 1.3% as
compared to RIPEMD160 and SHA256, respectively.
The participation rate is defined as the participation of SPs in the service provi-
sioning process. The participation rate can be found with the help of the number
of valid and invalid transactions. When the number of valid transactions is more,
then the participation rate will increase and vice versa. Figure 5 shows the par-
ticipation rate of the SPs with respect to the number of valid transactions. The
participation rate is directly proportional to the number of valid transactions.
When the number of valid transactions increases the participation rate of the
SP is increasing as shown in Fig. 5.
Secure Service Provisioning Scheme for Lightweight Clients 91
6 Conclusion
In this paper, a secure service provisioning scheme for LCs using blockchain is
proposed. Furthermore, an incentive mechanism based on the reputation of SPs
is proposed. A consortium blockchain is used because it has both the features of
the public and private blockchain. The maintenance of the blockchain is done by
permissioned users. Other public users only read from the blockchain and verify
the service codes received from the SPs. For consensus in the blockchain, we
used the PoA consensus mechanism in which a group of validators is selected for
consensus and adding new blocks to the blockchain. The validators are selected
92 I. Ali et al.
References
1. MacGillivray, C., Gorman, P.: Connecting the IoT: Te Road to Success. Interna-
tional Data Corporation (IDC) Report (2018)
2. Gartner (2017): Gartner says 8.4 billion connected ‘things’ will be in use in 2017,
Up 31 Percent From 2016. www.gartner.com/newsroom/id/3598917
3. Diaz, M., Martin, C., Rubio, B.: State-of-the-art, challenges, and open issues in the
integration of Internet of Things and cloud computing. J. Netw. Comput. Appl.
67, 99–117 (2016)
4. Peng, X., Ren, J., She, L., Zhang, D., Li, J., Zhang, Y.: BOAT: a block-streaming
app execution scheme for lightweight IoT devices. IEEE Internet Things J. 5(3),
1816–1829 (2018)
5. Kuang, W., Zhang, Y., Zhou, Y., Yang, H.: RBIS: Security enhancement for MRBP
and MRBP2 using integrity check. Minimicro Syst.-Shenyang 28(2), 251 (2007)
6. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://
bitcoin.org/bitcoin.pdf. Accessed 1 Feb 2018
7. Lin, J., Shen, Z., Miao, C., Liu, S.: Using blockchain to build trusted LoRaWAN
sharing server. Int. J. Crowd Sci. 1(3), 270–280 (2017)
8. Novo, O.: Scalable access management in IoT using blockchain: a performance
evaluation. IEEE Internet Things J. 6, 4694–4701 (2018)
9. Sharma, P.K., Park, J.H.: Blockchain based hybrid network architecture for the
smart city. Future Gener. Comput. Syst. 86, 650–655 (2018)
10. Naz, M., Javaid, N., Iqbal, S.: Research based data rights management using
blockchain over ethereum network. MS thesis. COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
11. Javaid, A., Javaid, N., Imran, M.: Ensuring analyzing and monetization of data
using data science and blockchain in loT devices. MS thesis. COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
12. Kazmi, H.S.Z., Javaid, N., Imran, M.: Towards energy efficiency and trustfulness
in complex networks using data science techniques and blockchain. MS thesis.
COMSATS University Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
13. Sharma, P.K., Singh, S., Jeong, Y.-S., Park, J.H.: DistBlockNet: a distributed
blockchains-based secure SDN architecture for IoT networks. IEEE Commun. Mag.
55(9), 78–85 (2017)
14. Jiang, T., Fang, H., Wang, H.: Blockchain-based Internet of vehicles: distributed
network architecture and performance analysis. IEEE Internet Things J. https://
doi.org/10.1109/JIOT.2018.2874398
15. Kushch, S., Prieto-Castrillo, F.: A rolling blockchain for a dynamic WSNs in a
smart city. arXiv preprint arXiv:1806.11399 (2018)
Secure Service Provisioning Scheme for Lightweight Clients 93
16. Xu, Y., Wang, G., Yang, J., Ren, J., Zhang, Y., Zhang, C.: Towards secure network
computing services for lightweight clients using blockchain. Wirel. Commun. Mob.
Comput. 2018, 12 (2018)
17. Sharma, P.K., Moon, S.Y., Park, J.H.: Block-VN: a distributed blockchain based
vehicular network architecture in smart city. JIPS 13(1), 184–195 (2017)
18. Zahid, M., Javaid, N., Rasheed, M.B.: Balancing electricity demand and supply in
smart grids using blockchain. MS thesis. COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
19. Noshad, Z., Javaid, N., Imran, M.: Analyzing and securing data using data science
and blockchain in smart networks. MS thesis. COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, July 2019
20. ul Hussen Khan, R.J., Javaid, N., Iqbal, S.: Blockchain based node recovery scheme
for wireless sensor networks. MS thesis. COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan, July 2019
21. Zhang, Y., Wen, J.: The IoT electric business model: using blockchain technology
for the Internet of Things. Peer-to-Peer Netw. Appl. 10(4), 983–994 (2017)
22. Singh, M., Kim, S.: Branch based blockchain technology in intelligent vehicle. Com-
put. Netw. 145, 219–231 (2018)
23. Li, J.: Data transmission scheme considering node failure for blockchain. Wirel.
Pers. Commun. 103(1), 179–194 (2018)
24. Lin, D., Tang, Y.: Blockchain consensus based user access strategies in D2D net-
works for data-intensive applications. IEEE Access 6, 72683–72690 (2018)
25. Rehman, M., Javaid, N., Awais, M., Imran, M., Naseer, N.: Cloud based secure
service providing for IoTs using blockchain. In: IEEE Global Communications Con-
ference (GLOBCOM 2019) (2019)
26. Samuel, O., Javaid, N., Awais, M., Ahmed, Z., Imran, M., Guizani, M.: A
blockchain model for fair data sharing in deregulated smart grids. In: IEEE Global
Communications Conference (GLOBCOM 2019) (2019)
27. Mateen, A., Javaid, N., Iqbal, S.: Towards energy efficient routing in blockchain
based underwater WSNs via recovering the void holes. MS Thesis, COMSATS
University Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
Node Recovery in Wireless Sensor
Networks via Blockchain
Raja Jalees ul Hussen Khan, Zainib Noshad, Atia Javaid, Maheen Zahid,
Ishtiaq Ali, and Nadeem Javaid(B)
1 Background
Wireless Sensor Networks (WSNs) have attracted extensive attention of
researchers in recent times. These networks consist of several sensor nodes work-
ing collectively to monitor the environmental conditions: temperature, humidity,
sound level, pollution level, etc. The collected data is then stored at a central
location, which is termed as a sink or base station. Such nodes have a microcon-
troller, transceiver, wireless communicating devices and an energy source (bat-
tery). The nodes have limited energy, computational power and storage capacity.
Therefore, WSNs have limitations: low computational capability, small memory
and limited energy resources.
Blockchain is also currently discussed in the news around the globe. It is
proposed in 2008 by Satoshi Nakamoto. It is simply an arrangement of blocks
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 94–105, 2020.
https://doi.org/10.1007/978-3-030-33509-0_9
Node Recovery in Wireless Sensor Networks via Blockchain 95
connected through hashes. The core of this technology is secure and distributed
ledger [1]. Most renowned application of blockchain is bitcoin [2]. However, it is
applicable to different fields, including WSNs, Internet of Things (IoT), Internet
of Vehicles (IoV), academia, smart grid [3], smart city, etc.
In WSNs, the major focus of authors is on security problems, computational
power, low data storage and node failure of sensor nodes. There is a need of
blockchain framework for partially connected IoT devices. In [4], smart cars are
considered as nodes of the network. These cars can be either fully or partially
connected to the network. Rolling blockchain is proposed to handle large data
generated by the cars. Using this technique you have two options; (i) delete
first block from the memory of sensors (ii) delete all blocks except last block,
to accommodate the incoming data. The probabilistic values are found using
Monte Carlo simulations in case of broken links. Simulations show that in the
case of partially connected devices, the network remains stable and blockchain
can be built. However, security analysis, hacker’s attack and use of Merkle tree
in the proposed algorithm are still left open.
The authors in [5] proposed a data transmission scheme, which is based on
the multi-link concurrent communication tree model. It is to handle the failure
nodes in blockchain. Results show that the proposed scheme works effectively for
15% of failed nodes. However, if this number reaches the 30%, communication
time and delay will increase.
Blockchain-based incentive mechanism is proposed in [6] for data storage
by the nodes. The researchers replaced traditional Proof of Work (PoW) with
Provable Data Possession (PDP) to achieve better results. For the comparison
of existing data of a node with new data, they used preserving hash function.
The damaged data is only identified by the proposed scheme; however, it is
not recovered using the proposed schemes. In [7], an energy efficient routing is
proposed for Underwater WSNs using blockchain.
Blockchain-based solution is proposed in [8] by the authors for long range
wide area networks. Crowd sensing is used for the integration of long range wide
are networks and blockchain. The proposed model deals with the issue of trust
and lack of network coverage in private networks.
It is an era of IoT; therefore, the integration of blockchain and IoT is studied
by many researchers. They aimed at how to resolve the issues of trust, latency,
security, scalability, efficiency and massive data generated by IoT devices. In [9],
the authors proposed a blockchain-based secure service provisioning mechanism
for lightweight IoT devices. Smart Contract (SC) is used to check the validity
of acquired services and edge service providers. Results show that the proposed
scheme protects lightweight devices from untrusted edge service providers and
unsecure services. However, a reputation system for the service providers can be
built in future.
In [10], a reputation system is built for the edge servers. Also, incentives are
given. The authors proposed PoA instead of PoW to ensure high throughput and
low latency of the proposed system. However, security mechanism for lightweight
96 R. J. ul Hussen Khan et al.
node. Sink node receives the data from different CHs and performs the necessary
operations. The sink is also responsible to initiate the SC execution. As sensor
nodes are connected to sink through CH; therefore, the failure of CHs can cause
the failure of sensor nodes. When a CH is failed, its attached sensor nodes are
failed to communicate to the sink node.
In the case of working CH, consensus will be performed among CHs to assure
that state = 1. If 51% consensus is achieved for CH is in working state, it receives
the data from sensor nodes and forwards it to the sink. Where, sink node per-
forms the necessary tasks. However if failed CH is detected, consensus will be
among working CHs for the failed CH. Then, the recovery process starts. First
step is the selection of best candidate for replacement. This selection is on the
basis of node degree.
Node degree is the number of edges or connections. The CH which has the
least node degree is selected as the best candidate. As CHs are connected in a
peer-to-peer network; therefore, the distance of all CHs from failed CH is the
same. Due to this, we ignored the distance and only considered the node degree.
Now, the best candidate will replace the failed CH. Once CH is recovered, its
neighbor sensor nodes are now able to communicate normally to the sink node.
In this section, experimental setup and simulation results are discussed. Effec-
tiveness of the models is shown by results. Also, a cost analysis for NodeRecovery
SC is performed. Security analysis of the proposed scheme is also given in this
section.
Node Recovery in Wireless Sensor Networks via Blockchain 99
3.1 SC Implementation
• Tools: Remix IDE, MetaMask, Ganache, Rinkeby test network and MAT-
LAB R2018a.
2000000
Gas consumption (gas)
1500000
1000000
500000
50000
40000
Transaction Cost (gas)
30000
20000
10000
degree = 12; CH3 has ID = 03, sensor nodes = 12 and degree = 15 while, CH4 has
ID = 04, sensor nodes = 3 and degree = 6.
Four different scenarios are used to obtain the results depicted in Figs. 4, 5,
6 and 7. Figure 4 shows the gas consumption for the first scenario, where CH1
is in the non-working state (state = 0) while, other CHs are in the working state
(state = 1). Similarly, Fig. 5 shows the gas consumption for the second scenario,
where the state of CH2 is considered as non-working and other CHs’ as working.
In the third scenario, state = 0 is considered for CH3 and state = 1 for others.
While in the last scenario, CH4 is considered as in the non-working state.
Figures 4, 5, 6 and 7 show the gas consumption for the first, second, third and
fourth scenario, respectively. It can be concluded from the above results that, the
CH which is in non-working state consumes less gas. While the CHs in working
state consume more gas. It can be noted that the CH with non-working state
still consumes gas. The reason behind this, the gas is consumed for checking the
state of a CH.
50000
40000
20000
10000
50000
40000
Transaction Cost (gas)
30000
20000
10000
50000
40000
Transaction Cost (gas)
30000
20000
10000
Figure 9 shows the states of CHs. It can be seen that CH3 is in the non-
working state, i.e., state = 0, while CH1, CH2 and CH4 are in the working state.
After CH3 is detected as a failed node, the recovery process starts.
As recovery in the scheme is on the basis of node degree, so Fig. 10 is the
output for node degrees of different CHs. It can be seen that CH4 has the least
node degree, i.e., 6. Therefore in Fig. 11, it is shown that CH4 will replace the
failed CH3. Ultimately, the adjacent nodes of CH3 are recovered and able to
102 R. J. ul Hussen Khan et al.
Scenarios SC CH1 (gas) CH2 (gas) CH3 (gas) CH4 gas) Total
deployment (gas)
cost (gas)
Failed CH1 1803382 62694 82536 82470 82580 2113662
Failed CH2 1803382 82558 62672 82470 82580 2113662
Failed CH3 1803382 82558 82536 62606 82580 2113662
Failed CH4 1803382 82558 82536 82470 62716 2113662
Ethers. To calculate the price in USD, gas is converted to Ethers. For this, the
formula motivated from [21] is used:
Therefore by using the given formula, it can be found that the total Ethers used
are 0.002113662. Now, the total cost required to execute a full scenario can be
easily calculated by multiplying the result with the current cost of Ether. Hence
after going through all these steps, the total cost of setting up and executing the
NodeRecovery can be found as low as 0.5687$.
4 Conclusion
In recent years, researchers incorporated blockchain in different fields including
WSNs. In this paper, node failure issue in WSNs is addressed using blockchain.
104 R. J. ul Hussen Khan et al.
BNR scheme is proposed for the recovery of failed nodes. PoW is replaced
with PoA to avoid the computational overhead for resource-constrained WSNs.
NodeRecovery SC is developed for the recovery of failed nodes. Failed CH is
successfully detected and recovered using its state with the help of BNR scheme.
Once the CH is recovered, failed nodes are also recovered and able to commu-
nicate again to the sink. Results show that the system is effective in recovering
the failed nodes. As the cost for deploying and executing SC is important, so a
cost analysis is also performed. Results of cost analysis show that the total cost
for deployment and execution of NodeRecovery is 0.5687$, which is very low.
Security analysis of the proposed scheme is also performed in order to assure the
security.
References
1. Chen, W., Xu, Z., Shi, S., Zhao, Y., Zhao, J.: A survey of blockchain applica-
tions in different domains. In: Proceedings of the 2018 International Conference on
Blockchain Technology and Application, pp. 17–21. ACM (2018)
2. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008)
3. Zahid, M., Nadeem, J., Muhammad, B.R.: Balancing electricity demand and sup-
ply in smart grids using blockchain. MS thesis, COMSATS University Islamabad
(CUI), Islamabad, Pakistan, July 2019
4. Kushch, S., Prieto-Castrillo, F.A.: Rolling blockchain for a dynamic WSNs in a
smart city (2018). arXiv preprint arXiv:1806.11399
5. Li, J.: Data transmission scheme considering node failure for blockchain. Wirel.
Pers. Commun. 1031, 179–194 (2018)
6. Ren, Y., Liu, Y., Ji, S., Sangaiah, A.K., Wang, J.: Incentive mechanism of data
storage based on blockchain for Wireless Sensor Networks. Mob. Inf. Syst. 2018,
10 (2018)
7. Mateen, A., Nadeem, J., Sohail, I.: Towards energy efficient routing in blockchain
based underwater WSNs via recovering the void holes. MS thesis, COMSATS Uni-
versity Islamabad (CUI), Islamabad, Pakistan, July 2019
8. Lin, J., Shen, Z., Miao, C., Liu, S.: Using blockchain to build trusted LoRaWAN
sharing server. Int. J. Crowd Sci. 1(3), 270–280 (2017)
9. Xu, Y., Wang, G., Yang, J., Ren, J., Zhang, Y., Zhang, C.: Towards secure network
computing services for lightweight clients using blockchain. Wirel. Commun. Mob.
Comput. 2018, 12 (2018)
10. Rehman, M., Nadeem, J., Muhammad A., Muhammad, I., Nidal, N.: Cloud based
secure service providing for IoTs using blockchain. In: The IEEE Global Commu-
nications Conference (GLOBCOM 2019) (2019)
11. Ali, I., Nadeem, J., Sohail, I.: An incentive mechanism for secure service provision-
ing for lightweight clients based on blockchain. MS thesis, COMSATS University
Islamabad (CUI), Islamabad, Pakistan, July 2019
12. Singh, M., Kim, S.: Branch based blockchain technology in intelligent vehicle. Com-
put. Netw. 145, 219–231 (2018)
13. Samuel, O., Nadeem, J., Muhammad, A., Zeeshan, A., Muhammad, I., Mohsen,
G.: A blockchain model for fair data sharing in deregulated smart grids. In: The
IEEE Global Communications Conference (GLOBCOM 2019) (2019)
Node Recovery in Wireless Sensor Networks via Blockchain 105
14. Naz, M., Nadeem, J., Sohail, I.: Research based data rights management using
blockchain over ethereum network. MS thesis, COMSATS University Islamabad
(CUI), Islamabad, Pakistan, July 2019
15. Jiang, T., Fang, H., Wang, H.: Blockchain-based Internet of vehicles: distributed
network architecture and performance analysis. IEEE Internet of Things J. 6,
4640–4649 (2018)
16. Sharma, P.K., Moon, S.Y., Park, J.H.: Block-VN: a distributed blockchain based
vehicular network architecture in smart city. JIPS 13(1), 184–195 (2017)
17. Javaid, A., Nadeem, J., Muhammad, I.: Ensuring analyzing and monetization of
data using data science and blockchain in IoT devices. MS thesis, COMSATS
University Islamabad (CUI), Islamabad, Pakistan, July 2019
18. Kazmi, H.S.Z., Nadeem, J., Muhammad, I.: Towards energy efficiency and trustful-
ness in complex networks using data science techniques and blockchain. MS thesis,
COMSATS University Islamabad (CUI), Islamabad, Pakistan, July 2019
19. Noshad, Z., Nadeem, J., Muhammad, I.: Analyzing and securing data using data
science and blockchain in smart networks. MS thesis, COMSATS University Islam-
abad (CUI), Islamabad, Pakistan, July 2019
20. Jarwan, A., Sabbah, A., Ibnkahla, M.: Data transmission reduction schemes in
WSNs for efficient IoT systems. IEEE J. Sel. Areas Commun. 37(6), 1307–1324
(2019)
21. Pãnescu, A.-T., Manta, V.: Smart contracts for research data rights management
over the ethereum blockchain network. Sci. Technol. Libr. 37(3), 235–245 (2018)
Towards Plug and Use Functionality
for Autonomous Buildings
1 Introduction
With the emergence of internet of things, almost every aspect of our everyday
life is influenced by smart sensors and actuators that try to optimize and simplify
our life. Building automation is an area which sees its direct benefits as with the
constantly increasing number of smart sensors and network-enabled actuators
for buildings, various tasks can be automated and optimized, leading to a more
and more autonomous building that provides an increased comfort and safety
while exhibiting a reduced cost footprint throughout its entire lifetime [4,12].
From a high-level perspective, this encompasses the following different life-
time phases [11]:
• The planning, installation and commissioning phase of a building,
when the architecture building is defined, the electrical planning is done, and
when all electrical components of a building automation systems are installed,
configured, and put into operational mode.
• The maintenance and operation phase during which the building is used
as planned and where all electrical components are working normally. In case
of a failure of one or more components, a maintenance workflow is triggered
leading to a possible exchange of components putting the system back into
operational state.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 106–116, 2020.
https://doi.org/10.1007/978-3-030-33509-0_10
Towards Plug and Use Functionality for Autonomous Buildings 107
• The demolition and tear down phase, where the building automation
system is teared down permanently, and all its components are discarded.
While the higher degree of automation leads to an increased comfort, effi-
ciency, as well as security of users in buildings, a large number of sensors and
actuators are required. Existing building automation solutions suffer from the
drawback of causing high engineering, commissioning, and installation efforts for
commercial buildings. Furthermore, the existing approaches are error-prone and
require a lot of manual interaction between the involved parties. To overcome
the problems mentioned above, the following challenges has to be addressed:
(i) Identify all major stakeholders that play a major role in the planning and
commissioning of building automation components. (ii) Identify and describe
the main steps of the planning and commissioning workflow of building automa-
tion components. (iii) Identify and analyze the major pain points for the key
stakeholder in each step of the workflow. (iv) Develop improvements that can be
made regarding the current workflow of planning and commissioning of building
automation devices leading to a plug&use functionality. Due to space limitation,
we will focus on the last aspect in this paper.
Based on our analysis of the above aspects, we introduce a novel tag-enabled
commissioning approach aiming for an automated plug&use functionality that
reduces manual and faulty user inputs thereby increasing the efficiency of the
commissioning and configuration process. In this context, we define the plug&use
functionality as the ability of a building automation system consisting of differ-
ent platforms and technologies to (semi-)automatically identify, connect, locate,
and configure all its required components and services and putting them into
an operational state providing the full targeted functionality without any limi-
tations. This comprises introducing and connecting the components to various
internal and external services.
The remainder of the paper is structured as follows: Sect. 2 highlights the
autonomy levels for a step-wise introduction of a plug&use functionality, lead-
ing to a more and more autonomous building. Subsequently, Sect. 3 presents
the general assumptions upon which we based our later design followed by
Sect. 4 describing the design considerations that guided our work. Further-
more, the section describes the steps of an abstract commissioning workflow.
Section 5 provides the definition and classification of use cases addressing a sim-
plified plug&use functionality for building automation. Section 6 gives a detailed
description of a selected use case focusing on adding already installed devices to
a functional building plan. Finally, Sect. 7 concludes our work.
the plug&use functionality, we obtain with the autonomy levels for the plug&use
functionality as shown in Fig. 1.
Thereby, the plug&use functionality is further broken down into the following
functional artifacts:
3 General Assumptions
For the development of the plug&use functionality the following general assump-
tions have been made:
• Network communication is required by a device to provide its functionality
(i.e. not considering standalone devices).
• Focusing on mainly used publicly available communication standards/tech-
nologies, e.g., KNX [8,9], Zigbee [1], Bluetooth [6]. Proprietary or technologies
without any kind of device or interface description (like Bluetooth profiles)
are excluded in this report as they are supposed to be not suitable for the
targeted plug&play capabilities.
• Targeting larger use-cases like mid-size commercial buildings (not private
households, however, overlapping use-cases might occur) with a size of up to
10.000 m2 .
• Devices can have differing FL and PL (e.g. a device installed in a cabinet
switching mains that powers the lamp installed in a room).
• Building automation installations are typically heterogeneous: comprising
various device types, technologies, and manufactured by different manufac-
turers.
4 Design Considerations
In the following, the design considerations that guided our work are presented
that drive the need for plug&use in the area of building automation.
The order of execution may vary: e.g. in KNX typically the device config-
uration is made first using the commissioning tool ETS, where also the device
location is defined manually. Then, after the device connectivity is established
on the KNX network, the device is identified (by the given physical address or
by a pressed push-button) and the device configuration is downloaded to the
device.
1. Traditional greenfield with ETS/KNX: This use case describes the tra-
ditional workflow for the commissioning of KNX devices using ETS.
2. Utilizing an integrated building automation environment [2] for
commissioning of KNX devices: This function-based planning and com-
missioning tool supports the generation of device configurations based on
information modelling on functional planning applying the VDI3813 stan-
dard.
3. Adding a Bluetooth (BTLE) device to existing setup: The target of
this use case is to integrate a new Bluetooth device into a running building
automation system that makes use of the concepts supported by the function-
based planning and commissioning tool. It is assumed the function that is
provided by the device was already considered in the functional planning –
but not yet assigned to a physical device.
4. Add installed devices to a new functional plan with same PL and
FL: The target is to populate a functional plan with existing (and potentially
pre-configured) devices to further on make use of functional planning concepts
for (re-)configuration of the system. In contrast to the use case before this
use case does not require an existing functional plan. Instead, the target is
to populate a functional plan with already installed devices. This approach
can be described as brownfield-scanning. The brownfield-scanning considers
unconfigured and pre-configured devices.
5. Add installed devices to a new functional plan with differing PL
and FL: This use case is representing a special case of the use case 4: It
takes devices into account that have differing PL and FL. The PL is required
to set up the device communication (e.g. based on the network topology)
while the FL is required to set up the device configuration – especially the
interaction with other devices that have the same FL.
6 Case Study
In the following section, we will describe how use case 4 can benefit from the
plug&use concept in detail as it represents the most common use case during
the commissioning workflow.
The main target of this use case is to populate a functional plan with existing
(and potentially pre-configured) devices to make use of functional planning con-
cepts for (re-)configuration of the system. The corresponding approach can be
described as brownfield-scanning. The brownfield-scanning considers the usage
of unconfigured as well as pre-configured devices.
In context of the case study, we made the following assumptions by consid-
ering the following workflow artifacts to be available as shown in Fig. 3.
Towards Plug and Use Functionality for Autonomous Buildings 113
Fig. 3. In- and outputs for automating the commissioning process of devices with same
functional and physical address using a function-based planning and commissioning
tool.
• Network topology: We assume that when the devices are already connected
to the network, in some cases the network topology can be derived by scanning
the network.
• Building topology: The building topology plan can be available before or
created during the device identification task (e.g. using the mobile app for
device scanning also to create the location structure).
• Device placement: The information about device placement can be already
part of a building plan or building information model. Otherwise, if the
devices are already installed at their targeted location, additional concepts
can be utilized: e.g. by identifying the devices at their locations by scanning
their NFC or QR tags using a mobile application and assigning their position
information.
• Semantic device packages: Knowledge about the provided functions per
device exists.
• Pre-configured devices: Basically, we assume that new and unconfigured
devices will be scanned. However, also the case that the scanned devices
already have a configuration will be discussed.
• Device identification: Here, device identification is comparable to use case
3 requiring a mechanism to identify the device and its type.
be done manually within the mobile application by selecting the actual room
within the building topology plan, reading another tag that is assigned to the
room and providing the room identifier, or falling back on the functionality
of an indoor positioning system.
The corresponding output includes the device id, the device type, and device
placement. The device id could be a serial number or the MAC address (e.g. in
case of Bluetooth devices). The device type is required since sometimes it cannot
be derived from the device id. Semantic device packages providing the functions
per device type can be used together with the location of the device and its
type to determine the available functions. The available functions per room are
used as input for the functional planning. Finally, the device placement contains
information where the device was scanned (assuming the same PL and FL).
References
1. Farahani, S.: ZigBee Wireless Networks and Transceivers (2008). https://doi.org/
10.1016/B978-0-7506-8393-7.X0001-5
2. Gamer, T.: An integrated building automation solution environment. ABB
Rev. 4 (2018). https://new.abb.com/news/detail/11238/an-integrated-building-
automation-solution-environment
3. Gamer, T., Klöpper, B., Hoernicke, M., Subasic, M., Biagini, V., Groß, C.:
Industrie-sicht auf autonomie. atp magazin 61(6–7), 62–68 (2019)
4. Garnett Clark, G., Mehta, P.: Artificial intelligence and networking in integrated
building management systems. Autom. Constr. 6(5–6), 481–498 (1997). https://
doi.org/10.1016/S0926-5805(97)00026-5
5. Gu, Y., Lo, A., Niemegeers, I.: A survey of indoor positioning systems for wireless
personal networks. IEEE Commun. Surv. Tutorials 11(1) (2009)
6. Haartsen, J.C.: Bluetooth radio system. IEEE Pers. Commun. 7(1), 28–36 (2000).
https://doi.org/10.1109/98.824570
7. Kaplan, E., Hegarty, C.: Understanding GPS: Principles and Applications. Artech
House (2005)
8. KNX Association: KNX Specifications. https://www2.knx.org
9. Kriesel, W., Sokollik, F., Helm, P.: KNX/EIB für die Gebäudesystemtechnik in
Wohn- und Zweckbau (2009)
10. Liu, H., Darabi, H., Banerjee, P., Liu, J.: Survey of wireless indoor positioning
techniques and systems. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 37(6),
1067–1080 (2007). https://doi.org/10.1109/TSMCC.2007.905750
11. Ngwepe, L., Aigbavboa, C.: A theoretical review of building life cycle stages and
their related environmental impacts (2015)
12. Penya, Y.K.: Last-generation applied artificial intelligence for energy management
in building automation. IFAC Proc. 36(13), 73–77 (2003). https://doi.org/10.1016/
S1474-6670(17)32467-9
13. SAE: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle
Automated Driving Systems (2014)
14. VDI-Richtlinien: VDI 3813 - Building automation and control systems (BACS)
(2015)
An Evaluation of Pacemaker Cluster
Resource Manager Reliability
1 Introduction
Industrial Control Systems (ICS) are now in every sector like energy, telecommu-
nications, water, transport, finance, gas and oil [1,2]. Most of the times they are
classified as Mission-Critical Systems since their failures could disrupt a specific
business operation or even lead to loss of life in case of Safety-Critical operations.
Due to ICS importance in everyday life, many mechanisms and strategies are
enforced to harden the reliability of such systems. A consolidated trend, in this
regard, is the usage of redundant computers organized in clusters that can ensure
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 117–126, 2020.
https://doi.org/10.1007/978-3-030-33509-0_11
118 D. Appierto and V. Giuliano
can strongly affect the CRM behavior, the Benz et al. [7] work was leveraged to
define an optimal configuration.
The reminder of this paper is organized as follows: Sect. 2 describes the ASTS
use case by reporting the cluster architecture and the correspondent model. In
Sect. 3, an overview of Pacemaker and its configuration is provided. Then, Sect. 4
reports the approach conducted in the on-field experiments to test the CRM
and evaluate results. After that, Sect. 5 presents the results obtained after the
experimental campaign. Finally, Sect. 6 concludes the document.
(CRM) 1 , and a messaging layer for reliable communications, the Corosync Clus-
ter Engine 2 . Their combination allows to handle heartbeats between the nodes,
hardware/software fault detection, and application context migration.
The reliability of above-mentioned COTS software is crucial for the integrity
of the whole mission-critical system. As standards state, proving the availability
of COTS SW requires on-field study able to guarantee more accurate estimations.
In this sense, Pacemaker lacks of valid works. This is where our paper aims to
fill the gap.
the cluster architecture presented in Fig. 1. The idea is to test the CRM fail-over
under several different failure circumstances as:
• Corosync Failure: the heartbeat message could fail to reach the other node.
Such a situation may happen for several reasons like an error condition in
Corosync, a network failure, or the total shutdown of a node. Therefore, in
this work, anomalous behaviors like the ones defined before were simulated
by simply randomly killing the Corosync service.
• DRBD Failure: an error in DRBD operations is a plausible condition that
worth considering. Thus, we forced a failure into the Device Mapper (DM)
unit of DRBD. This, in fact, is a framework of Linux kernel for mapping the
physical block devices onto higher-level virtual block devices.
• TMS Failure: a comprehensive analysis must consider even the possibility
that the application itself fails. A wide simulation of software failures is non-
trivial. Many techniques exist in this sense [10]. It would be out of the scope
of this paper. Our work, instead, focused only on the possibility of errors
at OS level. In this sense, we enforced a fault injection into POSIX APIs
leveraging a well-known tool, namely libfiu 3 . Such a tool builds a wrapper for
the application that intercepts all the system calls and allows the modification
of parameters.
3
https://blitiri.com.ar/p/libfiu/.
124 D. Appierto and V. Giuliano
parameters is the Hazard function, that is the instantaneous failure rate as func-
tion of age [15]:
f (t)
h(t) =
1 − F (t)
In Weibull, unlike Exponential distributions, the Hazard function is non-
constant. Based on β values, in fact, the hazard function can increase (β > 1)
or decrease (0 < β < 1). Therefore, such a parameter must be defined based on
degradation assumptions. In this work, the shape parameter value is assumed
equal to β = 0.8, as the Pacemaker fail-over is assumed to improve thanks
also to more suitable parameter configurations. The value of η, instead, indi-
cates the time at which 63.2% of equipment fails. The major findings from the
experimental campaign are:
• The CRM did not fail to perform its recovery operations when CoroSync
failures were simulated
• The CRM did not fail when the DRBD resource was forced to fail
• The occurrence of faults at application level caused the Pacemaker to fail 3
times. Such situations were due to a TMS application hanged execution. In
fact, the CRM was not able to understand in time the anomalous execution.
Based on previous evidences, and knowing that the MTTF of the Weibull pdf is
given by:
M T T F = η(1/β + 1))
the Pacemaker fail-over failure rate (λ = 1/M T T F ) is equal to λ = 1.54 × 10−3 .
6 Conclusion
This paper presented the experimental campaign conducted on a real use case,
the Train Management System of Hitachi Ansaldo STS, to evaluate the fail-
over success probability of the Pacemaker Cluster Resource Manager. Results
demonstrated that the CRM behaves abnormally only in the occurrence of appli-
cation hang. In the other cases, it provides a promptly recovery operation. Such
evidences need further analysis to be validated.
In this sense, future work can and should be done to better understand the
Pacemaker behavior. For example, an interesting extension to this research may
be focused on testing and measuring the effect of CRM configuration parameters
on the fail-over reliability, on the time to switch and, finally, on the overall cluster
reliability.
Acknowledgments. This project has received funding from the European Union’s
Horizon 2020 Framework Programme for Research and Innovation under g.a. No.
833088 (InfraStress).
Authors would like to thank Giovanni Mazzeo for his support in the research activ-
ity.
126 D. Appierto and V. Giuliano
References
1. Campanile, F., Coppolino, L., D’Antonio, S., Lev, L., Mazzeo, G., Romano, L.,
Sgaglione, L., Tessitore, F.: Cloudifying critical applications: a use case from the
power grid domain. In: 2017 25th Euromicro International Conference on Parallel,
Distributed and Network-based Processing (PDP), pp. 363–370, March 2017
2. Cerullo, G., Mazzeo, G., Papale, G., Sgaglione, L., Cristaldi, R.: A secure cloud-
based scada application: the use case of a water supply network. In: SoMeT (2016)
3. Connelly, S., Becht, H.: Developing a methodology for the use of cots operating sys-
tems with safety-related software. In: Proceedings of the Australian System Safety
Conference, ASSC 2011, Darlinghurst, Australia, vol. 133, pp. 27–36. Australian
Computer Society, Inc. (2011)
4. Pierce, R.H.: Preliminary Assessment of Linux for Safety Related Systems.
Research Report Series, HSE Books (2002)
5. Jones, C., Bloomfield, R., Froome, P., Bishope, P.: Methods for assessing the safety
integrity of safety-related software of uncertain pedigree (SOUP). HSE Books
(2001)
6. Mazzeo, G., Coppolino, L., D’Antonio, S., Mazzariello, C., Romano, L.: SIL2 assess-
ment of an active/standby cots-based safety-related system. Reliab. Eng. Syst. Saf.
176, 125–134 (2018)
7. Benz, K., Bohnert, T.: Impact of pacemaker failover configuration on mean time
to recovery for small cloud clusters. In: IEEE International Conference on Cloud
Computing, CLOUD, July 2014
8. Cotroneo, D., Simone, L.D., Natella, R.: Dependability certification guidelines for
NFVIS through fault injection. In: 2018 IEEE International Symposium on Soft-
ware Reliability Engineering Workshops (ISSREW), Los Alamitos, CA, USA, pp.
321–328. IEEE Computer Society, October 2018
9. Cotroneo, D., De Simone, L., Iannillo, A.K., Lanzaro, A., Natella, R., Fan, J., Ping,
W.: Network function virtualization: challenges and directions for reliability assur-
ance. In: 2014 IEEE International Symposium on Software Reliability Engineering
Workshops, pp. 37–42, November 2014
10. Hsueh, M.-C., Tsai, T.K., Iyer, R.K.: Fault injection techniques and tools. Com-
puter 30(4), 75–82 (1997)
11. Lyu, M.R.: Handbook of Software Reliability Engineering. Research Report Series,
Mcgraw-Hill (1996)
12. Cotroneo, D., De Simone, L., Iannillo, A.K., Lanzaro, A., Natella, R.: Dependabil-
ity evaluation and benchmarking of network function virtualization infrastructures.
In: Proceedings of the 2015 1st IEEE Conference on Network Softwarization (Net-
Soft), pp. 1–9, April 2015
13. Kuo, S.Y., Huang, C.Y., Lyu, M.R.: Framework for modeling software reliability,
using various testing-efforts and fault-detection rates. IEEE Trans. Reliab. 50(3),
310–320 (2001)
14. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L., Sgaglione, L.: Exploiting
new CPU extensions for secure exchange of ehealth data at the EU level. In: 2018
14th European Dependable Computing Conference (EDCC), pp. 17–24, September
2018
15. Nelson, W.: Weibull analysis of reliability data with few or no failures. J. Qual.
Technol. 173, 140–146 (1985)
A Secure and Distributed Architecture
for Vehicular Cloud
1 Introduction
Vehicular Ad hoc NETworks (VANETs) are a type of Mobile Ad hoc NETworks
(MANETs) that allow vehicles on roads to communicate among themselves and
form a self-organized network. Although modern vehicles are equipped with com-
puting, communication and storage resources, they often remain underutilized.
The Vehicular Cloud (VC) architecture which combines VANETs with cloud,
was first proposed [1] to fully capitalize the resources in VANET. In their app-
roach, a VC is a collection of autonomous vehicles in VANET where vehicles
contribute their underutilized computing, sensing, and communication devices
to the cloud [2].
In many of the existing vehicular cloud architectures, vehicles either com-
municate with each other directly or using Road Side Units (RSUs) to form a
vehicular cloud. In some schemes such as [3,4], vehicles authenticate themselves
and some other schemes use RSU -aided message authentication [5,6]. These
schemes suffer from communication overhead and do not scale well. If network
traffic becomes heavy, it might not be possible for vehicles to authenticate, pro-
cess, and forward messages in a timely manner. This could also result in message
loss redundant message propagation.
Ensuring security and privacy is an important issue in vehicular cloud; if
information exchanged between entities is modified by a malicious vehicle, seri-
ous consequences such as traffic congestion and accidents can occur. In addition,
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 127–140, 2020.
https://doi.org/10.1007/978-3-030-33509-0_12
128 H. Mistareehi et al.
sensitive data could be lost, and human lives also could be in danger. Hence,
messages sent by vehicles must be authenticated and securely delivered to vehi-
cles in the appropriate regions. Furthermore, driver-related privacy information
such as driver name, position, and traveling route must be preserved. If vehi-
cles cannot communicate anonymously, an attacker could easily trace vehicles by
monitoring the messages sent by that vehicle. Several schemes [3,4,6–8] exist in
literature for solving authentication and privacy issues in communication; how-
ever, many of them do not guarantee confidentiality of exchanged messages and
therefore, are vulnerable to attacks.
In our proposed architecture, vehicles collect data and forward to the cloud
where this data can be verified, analyzed, organized, aggregated and then prop-
agated to the relevant vehicles. Multiple vehicles may observe the same phenom-
ena and forward these to the cloud which could result in propagation of redun-
dant messages. However, if information about observed phenomena is aggregated
and stored in a cloud, this redundant propagation of messages can be prevented.
Hence, data aggregation is another crucial requirement for building an efficient
vehicular cloud. Many of the existing schemes do not address this issue and
therefore, suffer from computation and communication overhead.
2 Proposed Model
In this section, we present our system model and then describe the proposed
architecture in detail.
Vehicle: Vehicles are assumed to be equipped with an on-board unit (OBU) for
computation and communication. Vehicles can communicate with RSUs through
the radio defined under the IEEE Standard 1609.2 [9], which is the proposed
standard for wireless access in vehicular environment (WAVE). We assume that
vehicles obtain their public/private key pairs and the public keys of the RSUs and
a set of pseudonyms when they register with their local RC such as Department of
Motor Vehicles (DMV) that administers vehicle registration and driver licensing.
RSU: RSUs are distributed on the road sides. In our architecture, RSUs are
assumed to be not compromised. They collect the information sent by vehicles
as well as authenticate and aggregate the received messages and forwards them
to the regional cloud.
RC: We assume the geographical area (for example, a country) is divided into
regions and each region is controlled by an RC. RC stores, analyzes, processes
and aggregates the relevant messages received from RSUs and forwards the infor-
mation to CC if necessary. It manages all private information about vehicles and
shares them securely with RSUs upon request. The RC and the RSUs within
its region are able to communicate with each other through a wired or wireless
network. When a vehicle sends a message, the RSU can verify the authenticity
of vehicle and the RC can also help RSUs to identify the real identity of vehi-
cles when investigations are required. RCs are assumed to be trustworthy and
not compromised and have a large computation and storage capacity. RCs are
assumed to be connected to all RSUs in its region, possibly through Internet.
CC: The CC is assumed to have more storage and computational power than the
RCs. CC and RCs can communicate with each other securely via a wired or wire-
less network. RCs provide the CC with services which may be needed by other
vehicles in other regions. In addition, CC can provide services to other depart-
ments such as law enforcement, traffic management, etc. The CC is assumed to
be trustworthy and not compromised.
130 H. Mistareehi et al.
Table 1. Notations.
Notation Description
RCi Regional Cloud i
RSUi Road Side Unit i
CC Central Cloud
IDA Identity of Entity A
P IDA Pseudo Identity of Entity A
M A Message
Vx Vehicle x
T ype Type of Message
Loc Location of the Phenomena
ts Timestamp
SKA Private Key of Entity A
P KA Public Key of Entity A
K Secret Shared Key
SIGA (M ) Signature of M Signed using A’s Private Key
H() Hash Function
E(M, K) Encryption of M with Key K
In this section, we describe our architecture in detail. The notations used in this
section are listed in Table 1.
In our scheme, information collected by vehicles in an area are sent to the
RC which covers that area (e.g., city or state) through the nearby RSU s which
authenticate and aggregate the received messages and then forward them to the
A Secure and Distributed Architecture for Vehicular Cloud 131
RC for storage. RC analyzes, processes and further aggregates the relevant mes-
sages and sends them to vehicles in appropriate regions so the drivers can take
appropriate action. The RCs also communicate securely via wired/wireless net-
work with the CC which has more storage and computational power. The CC
provides services to the RCs and to different departments (e.g., police depart-
ment, traffic department, health department, etc.) and these departments can
also provide the CC with services that the drivers might need. For example, if
someone’s car gets stolen, he/she will call the police department, the police will
notify the CC which will forward it to the RCs and the RCs will forward it to
the vehicles in their region through RSU s. When a vehicle sees the stolen car
using a camera that captures the plate number of the stolen car, it will send a
message that contains the location of the stolen car back to the RC which will
send to the police department.
Fixed infrastructure (e.g., RSU s) may not exist in some areas or nearby RSU
could have failed. In such cases, messages have to be routed to another nearby
RSU through intermediate vehicles. If there are no vehicles or RSUs within the
transmission range of a vehicle, the vehicle stores and carries the message until it
gets closer to the next RSU or a vehicle. RSU s are responsible for verifying the
authenticity and integrity of messages sent by vehicles before forwarding them
to RC. In addition, all driver information should be protected and attackers
should not be able to trace the routes of the vehicles. This could be achieved by
assigning pseudonyms to vehicles in all communications and use them instead of
their real identities and changing them frequently to maximize privacy. Various
solutions proposed in the literature such as [10,11] addressing privacy issue can
be applied in our architecture.
Key Generation and Distribution. We assume that the RSU s, RCs and
the CC are trusted and not compromised. When a vehicle v is registered or
renewed with RC, it gets public/private key pair (P Kv , SKv ) and the public
keys of the RSU s are stored in the vehicles and each vehicle is preloaded with a
set of pseudonyms (P ID1 , P ID2 , ..., P IDn ).
In our architecture, all messages are authenticated using digital signatures.
When a vehicle sends a message, the sender vehicle attaches its digital signature
to the message. The digital signature is made by encrypting the hash of the
message and encrypting it using the vehicle’s private key. Moreover, not all the
messages need to be encrypted; a vehicle can decide if the message needs to be
encrypted or not depending on the type of the message. For example, if a vehicle
has to notify about ice on the road, it need not be encrypt the message. On the
other hand, if vehicle wants to send a message about a crime scene, this message
needs to be encrypted. If the vehicle decides to encrypt a message, it generates
a secret key K and encrypts the message using K and this key also is encrypted
using the public key of RSU P KRSU and sent to the nearby RSU . Encryption of
the secret key K with RSU s public key ensures that only the RSU can decrypt
it. This ensures confidentiality. Now, when RSU receives the message, it gets the
secret key K first by decrypting it using RSU s private key SKRSU and then
132 H. Mistareehi et al.
it decrypts the message using the secret key K and authenticates the message
using the signature.
The following two subsections describe how vehicles send messages about
observed phenomena and how they request a service from the RC.
M2 = IDRSUk , E((P IDvx , T ype, Loc, ts), K), E(K, P KRSUk ), SIGvx (M2 ).
(where, SIGvx (M2 ) = E(H(P IDvx , T ype, Loc, ts), SKvx ).
The message M1 includes the pseudo ID of vehicle vx , type of the message
T ype, the location of phenomena Loc, and the timestamp ts. vx attaches its
digital signature that is obtained by computing the hash of the message and
encrypting it using its private key SKvx . In message M2 , the symmetric key K,
generated by vx is used to encrypt the message and this key is encrypted with
the public key of RSUk . When the nearby RSUk receives the message, it verifies
the authenticity and integrity of the message using the signature and processes
the message. In case, no nearby RSU exists or nearby RSU becomes unavailable
due to failure, our architecture handles this situation as follows.
Case 1. When a vehicle finds that the RSU within its transmission range
has failed (or there is no RSU within its transmission range), it computes the
message using the ID and the public key of the nearest RSU and then forwards
to it through other vehicles using an underlying routing algorithm. We assume
that all vehicles know the location as well as the public keys of all RSUs.
When vehicle vx wants to request a service from the RC, it computes and
sends the message M1 to the nearby RSU which then forwards M2 to the RC
where M1 and M2 are given by,
The message M1 includes the pseudo ID of vehicle P IDvx , the type of event
T ype, the location of event Loc and the timestamp ts. The vehicle vx attaches
its digital signature SIGvx , so the RSU can authenticate the request message.
If the vehicle vx wants to request a sensitive information (e.g., a vehicle from
police department), it generates a symmetric key K and encrypts the message
using K and then encrypts K with RSU s public key P KRSU . In this case vx
sends M3 where M3 is defined as follows:
M3 = IDRSU , E((P IDvx , T ype, Loc, ts), K), E(K, P KRSU ), SIGvx (M3 )
(where SIGvx (M3 ) = E(H(P IDvx , T ype, Loc, ts), SKvx )
If the nearby RSU is not within the transmission range of vx , it will forward
the request message to the nearby RSU through intermediate vehicles using an
underlying routing protocol.
136 H. Mistareehi et al.
If RC does not have the requested information, it forwards the request to the
CC. When CC receives the request, it checks if it has the requested information.
If it has it, CC computes and sends the service message to the RC. When RC
gets the service message, it forwards the service message to the relevant RSU
which forwards it to the vehicle vx . Then vx authenticates the message and
consumes it. Table 3 gives the algorithm for requesting information.
Confidentiality. All the sensitive messages sent by the vehicles, RSUs, RCs
and CC are encrypted using symmetric key which has low overhead.
Privacy Preservation. Vehicles are assigned pseudo IDs. A vehicle never uses
its real ID in any communication. So using the pseudo IDs, privacy of vehicles
is ensured. In order to maximize privacy, many researchers in [10,11] suggest
assigning pseudonyms to vehicles and changing them more frequently. These
schemes could be applied in our architecture. When a malicious node is detected,
the real ID of the malicious vehicle is revealed by the RC to the authorities for
legal investigation.
A Secure and Distributed Architecture for Vehicular Cloud 137
its private key. It is not easy to forge a signature without knowing the sender’s
private key. Thus, our scheme prevents man-in-the-middle attack.
Our architecture is scalable, since vehicles do not store any keys of other vehicles
and do not authenticate any message sent by other vehicles. The RSUs which
have a large storage and computational power are responsible for authenticating
and aggregating messages. Vehicles only need to verify messages received from
RSUs, not from other vehicles; so communication and computation overhead is
low for vehicles. In addition, not all messages need to be encrypted in our archi-
tecture, just the sensitive messages need to be encrypted. If any vehicle decides
to encrypt a message, it generates a symmetric key to encrypt the message. Vehi-
cles do not have to request a symmetric key from RSUs, which further reduces
the communication and computation overhead.
4 Related Work
A cluster-based vehicular cloud architecture has been proposed in [12] and [13],
by grouping vehicles according to their location and speed. Both of these schemes
rely on a cluster head (CH) which is elected by the vehicles in the cluster, and
this CH performs the creation, maintenance, and deletion of all the vehicles
in that cluster. A similar approach is proposed by Chaqfeh et al. [14], where
vehicles in a specific region form a vehicular cloud and elect a broker among
them. The broker collects the desired data from the vehicles and then sends to
a cloud server if further processing is required. None of these schemes scale well
as the number of vehicles increases. When vehicles are moving fast, frequent CH
and broker elections occur that result in large message overhead. In addition, if
CH or broker fails, data aggregated by them may be lost.
Architecture combining VANET and cloud have been proposed by researchers
in [15,16]. In these schemes, vehicles collect data and send them to the cloud
through a mediator or an RSU. The vehicles at the same area could collect the
A Secure and Distributed Architecture for Vehicular Cloud 139
same data, so this leads to redundancy and results in large message overhead.
Like [12,13], they also suffer from single point of failure– if the mediator or the
RSU fails, data aggregated could be lost.
Several privacy-preserving authentication schemes such as cooperative
authentication [3], anonymous authentication [7], and dual authentication [8]
have been proposed. In these schemes, vehicles communicate not only with each
others but also with the RSU s or the T A (Trusted Authority) to verify the
authenticity of the messages. Although they ensure authentication and privacy,
these schemes do not scale well when traffic becomes heavy– vehicles may not be
able to verify all the messages sent by its neighbor vehicles in a timely manner,
which could result in message loss.
5 Conclusion
References
1. Olariu, S., Khalil, I., Abuelela, M.: Int. J. Pervasive Comput. Commun. 7(1), 7
(2011)
2. Eltoweissy, M., Olariu, S., Younis, M.: EAI Endorsed Trans. Mobile Commun.
Appl. 1(1), 1 (2011)
3. Jo, H., Kim, I., Lee, D.: IEEE Trans. Intell. Transp. Syst. 19(4), 1065 (2018)
4. Lin, X., Li, X.: IEEE Trans. Veh. Technol. 62(7), 3339 (2013)
5. Zang, C., Lin, X., Lu, R., Ho, P.: IEEE International Conference on Communica-
tions (ICC), pp. 1451–1457. IEEE (2008)
6. Mallissery, S., Pai, M., Pai, R., Smitha, A.: In IEEE International Conference on
Connected Vehicles and Expo (ICCVE), pp. 596–601. IEEE (2014)
7. Azees, M., Vijayakumar, P., Deboarh, L.: IEEE Trans. Intell. Transp. Syst. 18(9),
2467 (2017)
8. Liu, Y., Wang, Y., Chang, G.: IEEE Trans. Intell. Transp. Syst. 18(10), 2740
(2017)
9. I.S. 1609.2. IEEE Xplore, pp. 1–240 (2016)
10. Ying, B., Makrakis, D.: IEEE International Conference on Communications (ICC),
pp. 7292–7297. IEEE (2015)
11. Li, J., Lu, H., Guizani, M.: IEEE Trans. Parallel Distrib. Syst. 26(4), 938 (2015)
12. Arkian, H., Atani, R., Diyanat, A., Pourkhalili, A.: J. Supercomput. 71(4), 1401
(2015)
140 H. Mistareehi et al.
13. Dua, A., Kumar, N., Das, A., Susilo, W.: IEEE Trans. Veh. Technol. 67(5), 4359
(2018)
14. Chaqfeh, M., Mohamed, N., Jawhar, I., Wu, J.: Proceedings of IEEE Smart Cloud
Networks and Systems, pp. 1–6. IEEE (2016)
15. Hussain, R., Oh, H.: J. Inf. Process. Syst. 10(1), 103 (2014)
16. Xu, K., Wang, K., Amin, R., Martin, J., Izard, R.: IEEE Trans. Veh. Technol.
64(11), 5327 (2015)
Introducing Connotation Similarity
1 Introduction
There are several different categories of textual similarity measures. Researchers have
identified 2 main categories, namely string-based similarity measures, and semantic
similarity measures such as corpus-based, knowledge-based, and hybrid-based mea-
sures [2–4]. To our knowledge, none of these measures explicitly assesses the simi-
larity of expressed opinions. Many different semantic similarity measures have been
introduced over the last 20 years, namely latent semantic analysis [5], latent relational
analysis [6], explicit semantic analysis [7], temporal semantic analysis [8], distributed
semantic analysis [9], among others [10–14].
String-based types such as cosine similarity assess the terms in two sentences that
are exactly the same [2–4]. Such measures deliver results fast but the conclusions are
not always accurate. In particular, cosine similarity fails when comparing synonyms.
Additionally, it also fails if one of the sentences expresses the opposite opinion but they
are otherwise exactly the same. For example, the sentence “I don’t like ice-cream” has
the opposite meaning of the sentence “I like ice-cream”. Their cosine similarity score is
0.8 out of 1 even though they express vastly different opinions. In cases where two
sentences express different opinions using the same terms, cosine similarity can still
return a high score. This is a major flaw with cosine similarity. Any method or algo-
rithm, which relies on cosine similarity in some capacity, is therefore vulnerable to this
flaw. The contributions of this paper are as follows:
5. Axiom. The connotation difference of s1 and s2 is the range between the sentiment
scores of s1 and s2 divided by the full range of sentiment.
6. Axiom. If min is not equal to max but their signs are the same, then their conno-
tation similarity is equal to their connotation commonality.
7. Axiom. The connotation commonality of s1 and s2 is 1 minus the connotation
difference of s1 and s2.
Using the axioms above we can define connotation similarity mathematically.
Figure 1 illustrates the formal mathematical definition of connotation similarity. In the
next section we implement this definition in two separate algorithms.
3 WCS vs MCS
In this section we present and evaluate two different algorithms of the mathematical
definition of connotation similarity provided in Sect. 2, namely WCS and MCS. In
Sect. 4 we establish which one works best with respect to the linguistic definition of
connotation similarity provided in Sect. 1.
In order to assess the similarity of expressed opinions in two sentences, we first
extract the sets of words that are likely to carry an emotional charge in each sentence.
The sets of words that are likely to carry an emotional charge are nouns, verbs, and
adjectives. We then find the minimum and maximum sentiment scores in order to find
the range of sentiment between the two sentences. We then calculate the probability
that the two sentences express different opinions as defined in Fig. 1. We find the
minimum and maximum sentiment scores in two different algorithms:
1. By using a weighted average of the different word sets in each sentence
2. By comparing the word sets to find the highest and lowest scores
The first algorithm WCS generates the range D of sentiment between the sentences
from the weighted sum of sentiment scores of their respective sets of verbs, adjectives,
and nouns. This range is then divided by the full range of sentiment S of the sentiment
analysis system to obtain the probability that they express different opinions.
In particular, we parse sentences s1 and s2 and create a set of verbs from sentence
s1 and a set of verbs from sentence s2. We then get their respective sentiment scores,
denoted as verbs_s1 and verbs_s2 in Fig. 2. We repeat this procedure for all nouns and
adjectives as well. We compute min and max using the weighted sum of sentiment
scores of the verbs, nouns, and adjectives in the two sentences as described in Fig. 2.
The full WCS algorithm is described in Fig. 3.
We also implemented the second algorithm MCS for comparison. Instead of using a
weighted average of the sentiment scores of verbs, adjectives, and nouns in each
phrase, MCS finds the maximum difference between pairs of sentiment scores of the
two sentences. The function shown in Fig. 4 describes this process in detail. It takes as
input two dictionaries, namely scores[], which contains the sentiment scores of verbs,
nouns, and adjectives; and diffs[], which contains the absolute differences between the
scores in the two sentences. The variable cur_diff initially contains the difference
between the sentiment scores of the full sentences. The full MCS algorithm is described
in Fig. 5.
In the next section we evaluate these algorithms in terms of how well they capture
the connotation similarity of two types of phrases from two different datasets we built
using the dataset in [22].
146 M. D. Ibrishimova and K. F. Li
function findMax(scores,diffs,cur_diff)
float min = scores[sentiment_s1]
float max = scores[sentiment_s2]
if diffs[nouns] > cur_diff:
cur_diff = diffs[nouns]
min = scores[sentiment_nouns1]
max = scores[sentiment_nouns2]
if diff[verbs] > cur_diff:
cur_diff = diff[verbs]
min = scores[sentiment_verbs1]
max = scores[sentiment_verbs2]
if diff[adj] > cur_diff:
min = scores[sentiment_adj1]
max = scores[sentiment_adj2]
return min,max
Fig. 4. A MCS function for finding the smallest min and the largest max
4 Results Analysis
From a linguistic perspective, connotation similarity evaluates whether two phrases are
similar in their emotional meaning, which can be negative, positive, or neutral. In this
section we compare WCS to MCS with respect to this definition. In particular, we
discuss the results we obtained by running various examples of phrases with similar
and opposite emotional meaning through WCS, MCS, a standard algorithm of cosine
similarity, and a novel algorithm of cosine similarity we call Weighted Cosine Simi-
larity (WCosS). Similarly to WCS, for WCosS we parse each phrase into sets of verbs,
adjectives, and nouns. Then we run each set through the standard algorithm of cosine
similarity and obtain a score. We then take the average of these scores as the final
WCosS score. For parsing parts-of-speech tags and for obtaining the sentiment scores
we use Google NLP API [23].
We constructed sentences from the first 100 phrases of the dataset in [22]. For each
of the phrases we looked for additional synonym phrases in the dataset and in a
thesaurus, we then negated the phrases, and we finally added identical fill words to
pairs of phrases to create full sentences. As shown in Table 1, for example, one of the
synonymous pairs in the dataset is “continue to believe, are continuing to believe”. An
additional synonymous phrase is “still believe”. The negated phrases include “don’t
continue to believe, aren’t continuing to believe”. We added the words “people, in,
fake, news” to complete the sentences in this example. The first pair of sentences is
“People continue to believe in fake news; People are continuing to believe in fake
news”. They are nearly identical and yet cosine similarity returns a score of only 0.67
out of 1. Our varied implementation of cosine similarity, namely WCosS is not per-
forming any better. This is because in this example one of the sentences contains the
word “are” but the other sentence does not.
Cosine similarity simply checks to see if terms appearing in one sentence also
appear in the other. The word “are” happens to be a verb so WCosS registers it as well.
For this reason, both cosine similarity algorithms return a score lower than expected.
On the other hand, both connotation similarity algorithms capture the similarity of the
expressed opinions as expected and return a score of 0.99/1 and 1/1 respectively.
Similarly, in the second and third example pairs, both connotation similarity algorithms
outperform the cosine similarity algorithms. WCosS performs slightly better than the
ordinary cosine similarity algorithm because in these two cases the extra word is “still”,
which is neither a verb, nor a noun or an adjective so WCosS does not register it.
The phrases “didn’t stop believing, didn’t discontinue to believe” also express
similar sentiment to “continue to believe, are continuing to believe” so their conno-
tation similarity score should be high as well as it is in both WCS and MCS. Unfor-
tunately, both cosine similarity algorithms return a very low similarity score for these
examples.
In example pairs with opposite emotional meaning only MCS performs as
expected. Namely, for two sentences, in which opposite opinions are expressed, MCS
returns the lowest score. This is expected because by the mathematical definition of
connotation similarity, sentences with opposite sentiment are expected to have a
negative connotation similarity score. With respect to the linguistic definition of
148 M. D. Ibrishimova and K. F. Li
Table 3. A test dataset for other parts of speech such as nouns and adjectives
Input Cosine WCosS WCS MCS
The firewall protected the real system 0.78 0.75 0 −0.4
The firewall protected the fake system
The firewall destroyed the real system 0.78 0.75 0 −0.4
The firewall protected the real system
The firewall protected the real system 0.78 0.75 0.99 0.75
The firewall secured the real system
The virus destroyed the fake system 0.78 0.75 0.97 0.9
The malware destroyed the fake system
The malware destroyed the fake system 0.78 0.67 0.95 −0.2
The firewall destroyed the fake system
The malware destroyed the fake system 0.6 0.41 0 −0.25
The firewall protected the fake system
The malware destroyed the fake system 0.5 0.2 −0.1 −0.65
The firewall protected the real system
The malware destroyed the real system 0.78 0.75 0.97 −0.2
The malware destroyed the fake system
examples in Table 3. Each one of these words is associated with a particular sentiment
score as shown in Table 2, which is why there are slight fluctuations in the sentiment of
different sentences. When all else is equal, MCS correctly identifies the connotation
nuances caused by the different sentiment scores of the different parts of speech.
Therefore, it can be used in conjunction with other similarity measures such as cosine
similarity to establish textual similarity of two sentences.
5 Conclusion
In this paper we define the notion of connotation similarity from a mathematical and
from a linguistic perspective for the purpose of establishing similarity of opinions using
sentiment analysis. We implement the mathematical definition into two different
algorithms, namely Weighted Connotation Similarity (WCS) and Maximum Conno-
tation Similarity (MCS), and compare their performance with respect to our mathe-
matical and linguistic definitions of connotation similarity. The two algorithms differ in
the way we extract and rate expressed opinions in two sentences.
We introduce a novel variation of cosine similarity, namely Weighted Cosine
Similarity (WCosS) and compare all algorithms against one another using two datasets.
We show that one of the algorithms for connotation similarity, namely MCS outper-
forms all other when it comes to determining the similarity of sentiment expressed in
two sentences. Both WCS and MCS require a sentiment analysis system, which is
capable of identifying implicit and explicit negation. We implement a state-of-the-art
sentiment analysis, namely Google NLP API, in order to test our algorithms using the
datasets described in the previous section. Unfortunately, the sentiment analysis
function of Google NLP API is proprietary and we could not provide in-depth analysis
150 M. D. Ibrishimova and K. F. Li
of our results [23]. Future work will focus on designing an open source sentiment
analysis system, which is capable of identifying implicit and explicit negation.
References
1. Connotation. https://en.wikipedia.org/wiki/Connotation. Accessed 27 June 2019
2. Gomaa, W.H., Fahmy, A.A.: A survey of text similarity approaches. Int. J. Comput. Appl.
86(13), 13–18 (2013)
3. Vijaymeena, M., Kavitha, K.: A survey on similarity measures in text mining. Mach. Learn.
Appl. Int. J. 3(2), 19–28 (2016)
4. Rozeva, A., Zerkova, S.: Assessing semantic similarity of texts – methods and algorithms.
In: AIP Conference Proceedings, vol. 1910, p. 060012 (2017). https://doi.org/10.1063/1.
5014006
5. Spasić, I., Corcoran, P., Gagarin, A., Buerki, A.: Head to head: semantic similarity of multi-
word terms. IEEE Access 6, 20545–20557 (2018). https://doi.org/10.1109/ACCESS.2018.
2826224
6. Landauer, T.K., Foltz, P.W., Laham, D.: An introduction to latent semantic analysis.
Discourse Processes 25(2–3), 259–284 (1998). https://doi.org/10.1080/01638539809545028
7. Turney, P.D.: Measuring semantic similarity by latent relational analysis. In: Proceedings of
the Nineteenth International Joint Conference on Artificial Intelligence, IJCAI 2005,
Edinburgh, Scotland, pp. 1136–1141 (2005)
8. Gabrilovich, E., Markovitch, S.: Computing semantic relatedness using Wikipedia-based
explicit semantic analysis. In: Sangal, R., Mehta, H., Bagga, R.K. (eds.) Proceedings of the
20th International Joint Conference on Artificial Intelligence (IJCAI 2007), pp. 1606–1611.
Morgan Kaufmann Publishers Inc., San Francisco (2007)
9. Radinsky, K., Agichtein, E., Gabrilovich, E., Markovitch, S.: A word at a time: computing
word relatedness using temporal semantic analysis. In: Proceedings of the 20th International
Conference on World Wide Web (WWW 2011), pp. 337–346. ACM, New York (2011).
http://dx.doi.org/10.1145/1963405.1963455
10. Hieu, N.T., Di Francesco, M., Ylä-Jääski, A.: Extracting knowledge from Wikipedia articles
through distributed semantic analysis. In: Lindstaedt, S., Granitzer, M. (eds.) Proceedings of
the 13th International Conference on Knowledge Management and Knowledge Technolo-
gies (i-Know 2013), Article 6, 8 p. ACM, New York (2013). https://doi.org/10.1145/
2494188.2494195
11. Shirakawa, M., Nakayama, K., Hara, T., Nishio, S.: Wikipedia-based semantic similarity
measurements for noisy short texts using extended Naive Bayes. IEEE Trans. Emerg.
Top. Comput. 3(2), 205–219 (2015). https://doi.org/10.1109/TETC.2015.2418716
12. Pawar, A., Mago, V.: Challenging the boundaries of unsupervised learning for semantic
similarity. IEEE Access 7, 16291–16308 (2019). https://doi.org/10.1109/ACCESS.2019.
2891692
13. Zhu, G., Iglesias, C.A.: Computing semantic similarity of concepts in knowledge graphs.
IEEE Trans. Knowl. Data Eng. 29(1), 72–85 (2017). https://doi.org/10.1109/tkde.2016.
2610428
14. Xie, C., Li, G., Cai, H., Jiang, L., Xiong, N.N.: Dynamic weight-based individual similarity
calculation for information searching in social computing. IEEE Syst. J. 11(1), 333–344
(2017). https://doi.org/10.1109/JSYST.2015.2443806
Introducing Connotation Similarity 151
15. Giatsoglou, M., Vozalis, M.G., Diamantaras, K., Vakali, A., Sarigiannidis, G., Chatzisavvas,
K.Ch.: Sentiment analysis leveraging emotions and word embeddings. Expert Syst. Appl.
69, 214–224 (2017). https://doi.org/10.1016/j.eswa.2016.10.043. ISSN 0957-4174
16. Councill, I.G., McDonald, R., Velikovich, L.: What’s great and what’s not: learning to
classify the scope of negation for improved sentiment analysis. In: Morante, R., Sporleder,
C. (eds.) Proceedings of the Workshop on Negation and Speculation in Natural Language
Processing (NeSp-NLP 2010), pp. 51–59. Association for Computational Linguistics,
Stroudsburg (2010)
17. Priyadarshana, Y.H.P.P., Ranathunga, L., Karunaratne, P.M.: Sentiment negation: a novel
approach in measuring negation score. In: 2016 Future Technologies Conference (FTC), San
Francisco, CA, pp. 689–695 (2016). https://doi.org/10.1109/ftc.2016.7821679
18. Ravi, K., Ravi, V.: A survey on opinion mining and sentiment analysis: tasks, approaches
and applications. Knowl. Based Syst. 89, 14–46 (2015). https://doi.org/10.1016/j.knosys.
2015.06.015. ISSN 0950-7051
19. Appel, O., Chiclana, F., Carter, J., Fujita, H.: A hybrid approach to the sentiment analysis
problem at the sentence level. Knowl. Based Syst. 108, 110–124 (2016). https://doi.org/10.
1016/j.knosys.2016.05.040. ISSN 0950-7051
20. Dragoni, M., Poria, S., Cambria, E.: OntoSenticNet: a commonsense ontology for sentiment
analysis. IEEE Intell. Syst. 33(3), 77–85 (2018). https://doi.org/10.1109/MIS.2018.
033001419
21. Lin, D.: An information-theoretic definition of similarity. In: Proceedings of the Fifteenth
International Conference on Machine Learning, ICML 1998, San Francisco, CA, USA,
pp. 296–304 (1998)
22. Paraphrase Database. http://paraphrase.org/#/download. Accessed 08 July 2019
23. Google NLP API. https://cloud.google.com/natural-language/. Accessed 08 July 2019
A Cotton and Flax Fiber Classification Model
Based on Transfer Learning and Spatial
Fusion of Deep Features
1 Introduction
Cotton and flax both are natural plant fibers and good textile materials. Cotton is good
at moisture absorption with characteristics of soft feeling, but easy to wrinkle, shrink,
and mildew. Flax has excellent breathability and heat dissipation; however, its texture
is rough. With the development of chemical industry and textile industry, a number of
new textiles composed of cotton and flax appear on the market. In terms of the textile
industry, how to detect fiber composition quickly and accurately, as one of the major
indexes for assessing the value of textile goods, has become a key issue.
Although transfer learning has achieved superior results in the classification of flax
and fiber detection than machine learning and deep learning, it is not enough to transfer
learning with deep features by a single CNN architecture. These deep features have
problems of small intra-class variance and large inter-class variance [1]. Generally,
single feature descriptor is only sensitive to changes in some special image charac-
teristics, but not to changes in other characteristics [2]. As for plant fiber images with
similar color features, texture features and backgrounds, classifiers usually fail to get
accurate detection results.
Aiming at the above problems and challenges, a cotton and flax fibred classification
model with fusion of deep features [3] transfer learning is proposed. Specifically, the
pretrained CNN model is used as a feature extractor to extract the deep features of
images [4], and the spatial feature fusion method will be added to cascade the deep
features extracted by different networks [5]. This method uses only 20,000 fiber
images, and achieves a detection accuracy of 0.978 in 100 training epochs. The
detection accuracy of proposed model higher than prior research.
There are three main contributions in this paper. Firstly, it applies the idea of feature
fusion to the classification of plant fibers, making up for the shortcomings of single
deep feature. Secondly, it combines transfer learning with feature fusion ideas, which
further improved the classification performance of the proposed model. Thirdly, the
creation of the proposed model facilitates the work of those involved in the detection
and pricing of the textile.
2 Proposed Model
In the proposed model, two stages were included: deep feature extraction and feature
fusion, as it shows in Fig. 1.
In the first stage, two sets of deep feature extractors are constructed [6], the first
extractor consisting of a VGG 16 network and the other consisting of an Inception V3
network. The feature extracted by the VGG 16 deep features extractor are derived from
the output of the seventh fully connected layer of the VGG 16 network, while for the
Inception V3 deep feature extractor, the features are obtained from the output of the last
154 S. Zhou et al.
fully connected layer Of the Inception V3. Compared with handcraft features, the deep
features are more robust [7]. The second stage is the feature fusion which includes three
parts: (1) Reducing feature dimension select the valuable features by which the vari-
ations in the samples are captured; (2) The features extracted by different extractors are
linearly concatenated to form new generalized features; (3) A SoftMax classifier are
created, consisting of two fully connected layers and SoftMax activation functions.
The proposed model training process are as follows: firstly, the network parameters
of pre-trained CNN should be moved into feature extractor, and get image feature
through the Forward propagation of feature extractor. Finally, training SoftMax clas-
sifier composed of Shallow neural networks achieves result convergence. We can find
out that the process of feature extraction avoids complex backpropagation operations of
convolutional neural networks. In other words, proposed model that needs training is
only a shallow neural network. Therefore, the training time of the model is greatly
shortened. At the same time, compared to a single feature, the fusion of different
features improves generalization ability and detection accuracy of the proposed model.
In this section, we adopt four pre-trained CNNs: AlexNet, VGG 16, Inception V3 and
RestNet 50 as deep feature extractor. All CNNs are trained over the ImageNet dataset
on an image classification problem. The details of these four CNNs are described as
follows.
In 2010, AlexNet proposed by Krizhevsky et al. significantly conquered all the
competitors by reducing the top-5 error from 26% to 15.3% [8]. The structure of
AlexNet is similar to the LeNet by Yann LeCun et al. but was deeper, with more filters
per layer, and with stacked convolutional layers. It attached ReLU activations after
every convolutional and fully-connected layer. In this paper, because the hidden layer
of the AlexNet is relatively small, so that the training can be completed quickly, and
has very good feature extraction ability with regular network structure, so the first
feature extractor designed in this paper is. AlexNet deep feature extractor, the structure
diagram is shown in Fig. 2.
The second chosen network is VGG 16 which was runner-up at the ILSVRC 2014
competition, invented by VGG (Visual Geometry Group) [9] from University of
Oxford. VGGNet consists of 16 convolutional layers and is very appealing because of
its uniform architecture. Similar to AlexNet, it has only 3 3 convolutions, but lots of
filters. It is currently the most preferred choice in the community for extracting features
from images. In this paper VGG 16 feature extractor gets the output of the seventh fully
connected layer of VGG 16 as deep features which dimension is 4096, as can be seen in
Fig. 3.
The third chosen network is Inception V3 [10] which is designed by using
inception blocks on the basis of typical CNN architecture, proposed by Szegedy et al.
in 2015. With orderly adding layers of RMSProp, smoothing label, factorizing 7*7 and
BN-auxiliary on InceptionV2 network, lower error rate is obtained and make it become
the 1st Runner Up for image classification in ILSVRC 2015. In this paper Inception V3
A Cotton and Flax Fiber Classification Model 155
Feature extractor gets the output of the last fully connected layer of Inception V3 as
deep features which dimension is 2048, as can be seen in Fig. 4.
The last chosen network is ResNet 50 [11]. The ResNet network is referenced to the
VGG19 network, and the residual unit is added through the short circuit mechanism, as
shown in Fig. 5. The change is mainly that ResNet directly uses the convolution of
stride = 2 for downsampling, and replaces the fully connected layer with the global
average pool layer. At the same time, an important design principle is applied in the
ResNet framework which the number of feature maps is doubled with t the feature map
size is reduced by half. Thereby complexity of the network layer can be preserved.
ResNet achieves a top-5 error rate of 3.57% which beat human-level performance on
this dataset. In this paper ResNet 50 Feature extractor gets the bottleneck feature which
dimension is 2048 from the ResNet 50.
156 S. Zhou et al.
W ¼ fX1 ; X2 ; ; Xe g ð1Þ
where Xk , k 2 ½1; M is the feature set of a single sample and M is the total number of
samples.
The feature set:
where Xki represents the ith dimension feature in the kth sample, and i, i 2 [1,D] is a
single sample feature dimension. The features extracted by different CNNs form
A Cotton and Flax Fiber Classification Model 157
individual feature spaces. The goal of this feature fusion (refer to Fig. 6) is finding a
feature subspace, which is more generalized than the individual feature space. The
fusion process is defined as:
f : ðWa ; Wb Þ ! W ð3Þ
Where Wa and Wb are different individual feature space and f is Fusion function.
The deep features extracted by CNNs are usually affected by the data imbalance
and inherits noise. However, such joint feature transformation plays vital role to
selecting the valuable features by which the variations in the samples are captured. As a
result, the above factors would not degrade the classification accuracy.
f : Xa þ Xb ! y ð4Þ
Where X a and X b are feature sets extracted by A feature extractor and B feature
extractor respectively. Y represents the fusion space feature set and X a , X b , y 2 WMDC
where M, D and C are the length, width and the channels of the feature set,
respectively.
158 S. Zhou et al.
Cascading fusion preserves two sets of sub-features and expands the fused feature
set dimension to twice the sub-feature set, such as:
In order to verify the performance of the proposed method, this paper uses the cotton
and flax fiber images obtained from the laboratory as a data set to compare with transfer
learning models and the proposed model.
The proposed model still needs to build a SoftMax classifier. However, the inputs
to the classifier are the fusion deep feature.
All experiments are carried out on the CPU with Intel Core i7-8665UE Processor
and GPU with GeForce GTX 1080Ti, 11G by using programming language of Python
3.6 based on TensorFlow framework. For all chosen deep CNNs, the network is
learned 100 epochs. For each epoch, 8 samples are orderly selected by using Adam
Optimizer with 0.001 learning rate, 0.9 beta1 and 0.999 beta2 to update network
weights. One epoch is over until that the whole dataset is traversed.
A Cotton and Flax Fiber Classification Model 159
5.1 Datasets
The data sets used in the experiment are fiber images of cotton and flax collected via
optical microscope, as can be seen in Fig. 8.
The datasets are RGB images which sizes are 1116*164 and saved in PNG format.
So far, a total of 20032 images have been collected including 14445 flax images and
5598 cotton images, and the distribution of the datasets can be seen in Fig. 9.
In order to adapt to the input size requirements of different networks, the sizes of
the image would be resized by OpenCV to 224*224, 227*227 and 299*299
respectively.
160 S. Zhou et al.
5.2 Metrics
Performances of all methods are evaluated by accuracy, sensitivity and specificity,
computed as follows:
TP þ TN
Acc ¼ ð7Þ
TP þ TN þ FP þ FN
TP
Sen ¼ ð8Þ
TP þ FN
TN
Spe ¼ ð9Þ
TN þ FP
where Acc, Sen and Spe are accuracy, sensitivity and specificity respectively. TP and
TN are the number of true positives (Cotton) and negatives (Flax) respectively; TP and
FN are the number of false positives and negatives respectively.
5.3 Experiment
In this experiment, the feature fusion was added to the transfer learning model to
establish a new cotton and flax fiber classification model, which is cotton and flax Fiber
classification model Based on Transfer Learning and Fusion of deep features. As a
result, the classification result about proposed model and transfer learning can be seen
in Table 1.
It can be seen from Table 1 that the accuracy, sensitivity and specificity of the
proposed model are higher than transfer learning models. Especially, the sensitivity of
the proposed model was significantly improved. Therefore, comparing the inception V3
model which get best performance among four transfer learning methods with proposed
model, we can get the confusion matrix of results as Fig. 10.
A Cotton and Flax Fiber Classification Model 161
Fig. 10. Confusion matrix of Inception-V3 and proposed model, 1: Cotton. 0: Flax.
It can be clearly seen from Fig. 6 that the proposed model detected more cotton
fibers than Inception V3, but its recognition ability to flax was unchanged, which
improved the classification accuracy rate. In other words, feature fusion can provide an
enhancement in learning ability of model to cotton fibers. So, making full use of the
spatial feature fusion would reduce the impact from imbalanced data. We can draw a
conclusion that spatial feature fusion can help classifiers to improve the detection
accuracy. Hence, proposed model has better performance in cotton and flax Fiber
classification than transfer learning with single deep feature.
6 Conclusion
Combining transfer learning and Spatial Fusion idea we proposed a cotton and flax
Fiber classification model based on Transfer Learning and Spatial Fusion of deep
features. Due to the unbalanced number of cotton and flax images, transfer learning
models lack of recognition ability to cotton images.
However, experimental results show that recall value of proposed model was
increased. Having this finding, we think spatial feature fusion, to some extent, could
avoid influence from imbalanced data. The proposed model which absorbed the
advantages of transfer learning and spatial feature fusion, represented a successful gain
in accuracy. As for the future direction, more attention can be paid to different methods
of feature fusion. As a result, it is possible to obtain more generalized feature spaces
than before.
162 S. Zhou et al.
References
1. Ge, S., et al.: Deep and discriminative feature learning for fingerprint classification. In: IEEE
International Conference on Computer and Communications (2018)
2. Hassaballah, M., Abdelmgeid, A.A., Alshazly, H.A.: Image features detection, description
and matching. In: Awad, A., Hassaballah, M. (eds.) Image Feature Detectors and
Descriptors, vol. 630. Springer, Cham (2016)
3. Thangarajah, A., et al.: Fusion of transfer learning features and its application in image
classification. In: Electrical and Computer Engineering (2017)
4. Martel, J., et al.: A combination of hand-crafted and hierarchical high-level learnt feature
extraction for music genre classification. In: International Conference on Artificial Neural
Networks and Machine Learning ICANN (2013)
5. Liu, Y., Zou, Z., Xing, J.: Feature fusion method in pattern classification. J. Beijing Univ.
Posts Telecommun. 40(4), 1–8 (2017)
6. Pan, S.J., Yang, Q.: A survey on transfer learning. IEEE Trans. Knowl. Data Eng. 22(10),
1345–1359 (2010)
7. Wang, X., et al.: Matching user photos to online products with robust deep features (2016)
8. Krizhevsky, A., Sutskever, I., Hinton, G.E.: ImageNet classification with deep convolutional
neural networks. In: International Conference on Neural Information Processing Systems
(2012)
9. Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image
recognition (2014). arXiv:1409.1556
10. Szegedy, C., et al.: Rethinking the inception architecture for computer vision. In: Computer
Vision and Pattern Recognition (2016)
11. He, K., et al.: Deep residual learning for image recognition. In: Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition (2016)
An Automatic Text Summary Method Based
on LDA Model
1 Introduction
With the continuous development of Internet technology, the amount of data generated
every day is explosive. How to extract effective information from massive data has
become an urgent need. Automated text summary technology is precisely to refine a
large amount of data content and generate concise summary to replace the entire
document. Since Luhn [1] proposed in 1958, it has been one of the hotspots in the field
of natural language processing.
At the beginning of the research, due to the limitation of computer technology, the
method of automatic summarization was taking some heuristic features into consid-
eration, such as Luhn, which directly considers the importance of word frequency in
documents to sentences, and then ranks them to extract sentences. Edmundson [2]
considers the position of sentences in the original text and word frequency. Then weigh
these factors to calculate the importance of sentences.
In recent years, with the continuous improvement of computer power, some large-
scale deep learning network model and some centrality-based approach was applied to
the field of natural language processing field. Such as Zhong [3] designed a model
contained three parts: concepts extraction, summary generation and reconstruction
validation method, it was the first time use the deep learning in query-oriented docu-
ment summarization tasks. Xiong and Li [4] attempted to combine the TextRank with
information, we used greedy algorithm to sort the sentences and get the final summary
results. The specific process is shown in the following Fig. 1:
Difference from PLSA, LDA considers that the subject and word of a document are
subordinate to the prior distribution of Dirichlet. It is a generalization of Beta distri-
bution in higher dimensions. Its probability density function is:
166 C. Xiong et al.
PK K
C ak Y
pj~
Dir ð~ aÞ ¼ QK k¼1 pak k
k¼1 Cð a Þ
k k¼1
ð1Þ
1 Y K
¼ pak
Dð~
aÞ k¼1 k
Among this:
QK Z 1Y
Cðak Þ K
Dð~
aÞ ¼ k¼1
PK ¼ pkak 1 d~
p ð2Þ
C a
k¼1 k 0 k¼1
The core idea of LDA is to describe the probability distribution among document-
topic and topic-word models with polynomial distribution. Dirichlet distribution is used
as its prior distribution. Its formal representation is as follows:
~ ~
p x~;~
z~ ~~
a; b ¼ p x zj~
z; b pð~ aÞ ð3Þ
d¼1
Subject Words, then a similarity value is calculated by the given activation function.
The activation function used in this paper is Sigmod function. Its mathematical form is
as follows.
1
f ð xÞ ¼ ð6Þ
1 þ ex
After obtain these features, the scoring function of the importance of the final
modelling sentence is as follows:
X
n X
m
Final Score ¼ f ð x Þ bi þ Fi pi ð7Þ
i¼1 i¼1
3 Experimental Analysis
P P
Countmatch ðgramn Þ
S2fReferemeveSummariesg gramn S
ROUGE N ¼ P P ð8Þ
Countðgramn Þ
S2fReferenceSummariesg gramn 2S
Among this, ReferenceSummaries represents standard summary from the data set,
gramn represents the number of lemma.
According to the characteristics of LCSTS dataset, all of them are short texts
extracted from Sina Weibo. So at the time of choosing the number of topics and the
number of words, we tested the Rouge scores from 1 to 8 respectively. The results are
as follows (Fig. 6):
After eliminating several extreme values, we can find that the Rouge value
increases slightly with the increase of subject words, but remains unchanged or even
slightly decreases after increasing to a certain number. This is due to the limitation of
the length of short text, so we choose a suitable median value, the number of topics is
designated as 2, and the number of words is designated as 4.
An Automatic Text Summary Method Based on LDA Model 171
In the FCNNM, we choose Bert model [12] as the pre-training word vector. Tra-
ditional model such as word2vec can’t parse the same words or sentences in different
contexts. The Bert model uses transformer model, which has deeper layers and better
parallelism. In the training process, the learning rate is set to 0.1. In order to prevent
over-fitting, dropout layer is added and the probability of working neurons is set to 0.7,
the final loss value tends to converge when iteration is about 50 times. The results are
as follows (Fig. 7):
After getting the trained model, we get a 768-dimensional vector through the results
of the FCNNM. Then we compare the vectors of each sentence with the results,
calculate the similarity using Manhattan distance, and select several sentences with
high similarity as candidate sentences. Finally, the sentence score calculated by LDA
model and TF-IDF are combined. The final summary is selected by greedy algorithm.
The rouge scores are shown in the following Fig. 8:
4 Summary
References
1. Luhn, H.P.: The automatic creation of literature abstracts. IBM J. Res. Dev. 2(4), 159–165
(1958)
2. Edmundson, H.P.: New methods in automatic extracting. J. ACM (JACM) 16(2), 264–285
(1969)
3. Zhong, S., Liu, Y., Li, B., et al.: Query-oriented unsupervised multi-document summariza-
tion via deep learning model. Expert Syst. Appl. 42(21), 8146–8155 (2015)
4. Xiong, C., Li, X., Li, Y., et al.: Multi-documents summarization based on TextRank and its
application in online argumentation platform. Int. J. Data Warehous. Min. (IJDWM) 14(3),
69–89 (2018)
5. Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3(Jan),
993–1022 (2003)
6. Liu, N., Tang, X.J., Lu, Y., et al.: Topic-sensitive multi-document summarization algorithm.
In: 2014 Sixth International Symposium on Parallel Architectures, Algorithms and
Programming, pp. 69–74. IEEE (2014)
7. Yang, C.Z., Fan, J.S., Liu, Y.F.: Multi-document summarization using probabilistic topic-
based network models. J. Inf. Sci. Eng. 32(6), 1613–1634 (2016)
8. Hofmann, T.: Probabilistic latent semantic analysis. In: Proceedings of the Fifteenth
Conference on Uncertainty in Artificial Intelligence, pp. 289–296. Morgan Kaufmann
Publishers Inc. (1999)
9. Hu, B., Chen, Q., Zhu, F.: LCSTS: a large scale Chinese short text summarization dataset
(2015). arXiv preprint arXiv:1506.05865
10. Momtazi, S.: Unsupervised latent Dirichlet allocation for supervised question classification.
Inf. Process. Manag. 54(3), 380–393 (2018)
An Automatic Text Summary Method Based on LDA Model 173
11. Agarwal, B., Ramampiaro, H., Langseth, H., et al.: A deep network model for paraphrase
detection in short text messages. Inf. Process. Manag. 54(6), 922–937 (2018)
12. Devlin, J., Chang, M.W., Lee, K., et al.: BERT: pre-training of deep bidirectional
transformers for language understanding (2018). arXiv preprint arXiv:1810.04805
Investigating Performance and Cost
in Function-as-a-Service Platforms
1 Introduction
A growing trend is cloud computing has been the adoption of the Function-as-
a-Service (FaaS) service model, where applications are built as sets of functions
that execute on instances (containers or virtual machines) activated on-demand
in response to events [12]. These instances are stateless and temporary, pos-
sibly remaining active during the execution of a single invocation, and fully
managed by the provider, who is responsible for ensuring their scalability and
availability. The customer is charged on a per-invocation basis, without hav-
ing to pay for idle resources. Therefore, the FaaS model may offer significant
cost savings when compared to the more traditional infrastructure/platform-as-
a-service (IaaS/PaaS) models, while at the same time freeing developers from
having to worry about infrastructure management [1]. Several case studies in the
literature have already shown that meaningful cost reductions can be achieved:
Adzic and Chatley [1] report savings of 66% in a PaaS→FaaS migration and 95%
in a IaaS→FaaS migration, Villamizar et al. [14] show that a FaaS deployment
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 174–185, 2020.
https://doi.org/10.1007/978-3-030-33509-0_16
Investigating Performance and Cost in Function-as-a-Service Platforms 175
can reduce costs by 50–70%, and Horovitz et al. [5] pointed to reductions of over
50% in costs using FaaS.
FaaS billing is based on the number of function invocations and on the prod-
uct between resource allocation size and function execution time. As such, costs
in FaaS are more variable than the costs in IaaS/PaaS, where customers are
billed by provisioned capacity [2]. In addition, several studies [2,7,9] point out
that cost visibility is low, i.e., it is hard for a cloud customer to anticipate how
much she will pay for the services.
There are a few choices a developer can make that influence function perfor-
mance and cost. The most often cited is the amount of memory allocated to the
function, since some FaaS platforms, such as AWS Lambda and Google Cloud
Functions, allocate CPU proportional to memory size. In this case, allocating
more memory than necessary in order to run faster might make sense not only
in terms of performance, but also in terms of cost. Another factor is the choice
of programming language, which may have implications not only in code speed
but also in runtime overhead and platform maturity [8].
There is a body of work that explores the costs in the FaaS model. Some
references [1,2,9] disregard how cost may be affected by variations in function
performance – which are often outside the customer’s control but occur in prac-
tice [7,10,12,15] –, while others address both performance and cost [4,5,14].
None of these works explore how the choice of programming language influences
performance and cost.
Our work aims to bridge this gap, exploring more widely how function per-
formance varies in different cloud platforms and what is the cost impact for
customers. We performed experiments with three programming languages (Go,
Node.js, and Python) on three FaaS providers: AWS Lambda, Google Cloud
Functions (GCF), and IBM Cloud Functions. The results show that performance
and cost are heavily dependent on the specific choice of cloud provider, function
size (amount of allocated memory), and programming language.
The remainder of this paper is organized as follows. Section 2 discusses related
work. Section 3 describes the main features of FaaS platforms and their billing
models. Section 4 presents our experimental results. Finally, Sect. 5 concludes
the paper.
2 Related Work
Related work can be broadly divided into three groups of references. The first
group has a focus on FaaS performance, the second group focuses on FaaS costs,
and the third group addresses both performance and cost.
The first group features studies that explored various performance aspects of
FaaS platforms: how concurrency affects performance [8,11], cold start latency
[11,15], expiration behavior of instances on FaaS providers [11], overhead of pro-
gramming language runtimes [8], effect of memory size on performance [10,15],
and performance variability [7]. These references largely disregard cost issues,
including the relationship between performance and cost.
176 D. Bortolini and R. R. Obelheiro
In the second group, Eivy [2] highlights that the FaaS billing model is hard
to understand, variations in function execution time may induce variations in
costs, and, since functions are stateless, they represent just a fraction of the cost
of an application, which will likely have additional costs (storage, networking,
and other services). Adzic and Chatley [1] present a limited cost comparison,
considering a single provider (AWS Lambda) and a function with constant exe-
cution time and only two memory sizes (128 and 512 MB). Leitner et al. [9]
also present a cost model for microservice-based applications implemented using
both IaaS/PaaS and FaaS. The model is difficult to parameterize, and considers
a fixed cost per request, disregarding performance variability. Lastly, Rogers [13]
introduces an analytical model to evaluate how cost is affected by the number of
invocations, memory allocation, and execution time, and he shows that different
providers have the lowest cost depending on the other parameters.
In the third group, Villamizar et al. [14] did an experimental study com-
paring performance and cost of the same application with different architec-
tures: monolithic, microservices, and function-based. Although the FaaS version
had the lowest cost, it used functions on AWS Lambda with two memory sizes
(320 MB and 512 MB). Horovitz et al. [5] introduced FaaStest, a solution that
uses machine learning to dynamically select the lowest-cost platform (FaaS or
IaaS) according to its function call behavior. When FaaS is the chosen platform,
a prediction algorithm is used to estimate when functions will be called next, in
order to prevent cold starts. Figiela et al. [4] evaluated performance and cost on
four FaaS providers (AWS, Azure, GCF, and IBM). They evaluated execution
time for both integer and floating-point benchmarks, file transfer times, instance
lifetime, and infrastructure heterogeneity. They also evaluated the cost of their
integer benchmark (a Node.js function that calls a random number generator
written in C) with varying memory allocations. AWS and IBM provided consis-
tent performance, and only the former allocates CPU in proportion to memory.
GCF and Azure had wide variations in function execution time, with the lat-
ter being generally slower. In terms of cost, AWS is independent of memory
allocation size, while on GCF and IBM smaller functions are cheaper.
Our work compares more directly to the studies that measure performance
and cost [4,14], particularly the latter. Villamizar et al. [14] compared the per-
formance and cost of a specific cloud application, but did not evaluate how dif-
ferent configurations affect performance and/or cost. Figiela et al. [4] evaluated
performance and cost for a benchmark on different configurations, but did not
consider how the choice of programming language influences those aspects. Only
Lee et al. [8] assessed the impact of programming languages on performance, but
they measured the overhead of language runtimes, not their influence on exe-
cution time and/or cost. Therefore, this is the first study that investigates how
the choice of provider, memory allocation, and programming language affects
performance and cost in the FaaS model.
Investigating Performance and Cost in Function-as-a-Service Platforms 177
3 Function-as-a-Service Platforms
For our experiments we have used three of the most popular FaaS platforms:
AWS Lambda1 , Google Cloud Functions2 , and IBM Cloud Functions3 . This
section presents the most relevant features of each platform, including their
billing models. Table 1 summarizes these characteristics.
of requests. After the function ends, its instance becomes idle. To avoid latency
in activating new instances, idle instances can be reused to service new requests,
but this is not guaranteed. Each instance has some space on the local disk for
temporary storage that is wiped when the instance is deactivated; for persistent
storage, the most common option is to use one of the various services offered by
the provider, which are billed separately. Each function has a maximum execu-
tion time ranging from 9 min (Google) to 15 min (AWS).
In all three platforms, the customer has to specify the amount of mem-
ory allocated for an instance, ranging from 128 MB to 2048 MB (Google, IBM)
or 3008 MB (AWS). The granularity of allocation is also variable, as shown
in Table 1. CPU allocation is proportional to memory allocation for AWS and
Google; there is no information on CPU allocation for IBM.
In general, FaaS billing has two components. The first is the number of
function invocations, considering all functions belonging to the same user. This
metric is easy to understand, even if it is dependent on application architecture:
an application with a large number of fine-grained functions induces more invo-
cations than an application with a smaller number of coarse-grained functions
[2]. AWS and Google use this billing component, while IBM does not.
The second billing component is resource consumption. This consumption is
measured in GB-s, which is the product of the allocated memory (in GB) and
the execution time (in seconds). For instance, a function with 512 MB of mem-
ory that executes for 200 ms consumes 0.5 GB × 0.2 s = 0.1 GB-s. An important
issue is that memory allocation and execution time may have different granular-
ities depending on the provider. For instance, a function that needs 140 MB of
memory will require 160 MB in IBM, 192 MB in AWS, but 256 MB in Google.
Execution time is rounded up to a multiple of 100 ms; therefore, a function that
executes in 99 ms will be billed for 100 ms, and a function that runs in 101 ms will
be billed for 200 ms. In Google, resource consumption has an additional compo-
nent, provisioned CPU, which is measured in GHz-s and given by the product
of the execution time and the allocation of CPU cycles, as shown in Table 2.
The three providers offer free usage tiers of 400,000 GB-s each month. AWS
and GCF also include a number of free executions (1 and 2 M, respectively) per
month.
An analysis of the billing models of the three FaaS providers underscores
the relevance of our work. Customers have difficulty in understanding and plan-
ning costs due to the multiple cost components (volume of requests, resource
consumption), free tiers, and differences among providers. In addition, the costs
Investigating Performance and Cost in Function-as-a-Service Platforms 179
4 Results
execution time, with each point representing the CV for a given configuration.
AWS had 8 configurations with CVs between 1% and 4%, and 7 configurations
between 21% and 44%. Google had CVs well distributed between 8% and 57%.
Most of the configurations for IBM (14 out of 15) had a CV below or equal
to 28%, but there was one configuration (Node.js, 128 MB) with a CV of 125%.
Overall, there was significant performance variation in all providers: for one-third
of the configurations (15 out of 45), function execution time had a coefficient of
variation above 20%.
Go
CV of Execution Time (%)
Node.js
75
50
50 25
0
125
100
Python
25 75
50
25
0
0
S
F
M
F
M
F
M
F
M
F
M
C
C
AW
AW
AW
AW
AW
AWS GCF IBM
IB
IB
IB
IB
IB
G
G
Provider Provider
60
40
AWS
20
0
60
Count
40
GCF
20
0
60
40
IBM
20
0
5000 10000
Execution time (ms)
Fig. 2. Histograms for the execution time on configurations with 128 MB and Node.js.
better performance than AWS and GCF for all languages with 128 MB and
256 MB memory sizes, and for Go and Python with 512 MB. Performance was
similar for all languages and providers with 1024 MB, and AWS had better per-
formance for 2048 MB. The results show that IBM provides the same CPU power
irrespective of memory size, while AWS and GCF allocate CPU in proportion to
memory size (as expected). Thus, in terms of performance alone, IBM provides
the best choice for memory sizes up to 512 MB, while AWS is the best for larger
memory allocations.
Figure 3 also shows noticeable performance differences between programming
languages. Figure 4 provides a better visualization for this, depicting the ratios
of execution time of Go/Python to Node.js for all configurations. For comparison
purposes, we also performed measurements on a test machine with an Intel Core
i5 6600 processor at 3.3 GHz and 8 GB RAM, running Ubuntu 18.04.2 LTS; on
this machine we measured ratios of 1.1 (Go) and 6.3 (Python) to Node.js. The
results show that:
1. The ratios were different for each provider and memory size;
2. Node.js outperformed Go and Python on 14 out of 15 combinations of provider
and memory size (the exception was IBM with 128 MB, where Go was faster).
On the FaaS platforms, the average ratios of execution time of Go/Python
to Node.js were 1.9 and 12.7, respectively;
3. On average, IBM had the lowest ratios (1.4 and 10.4), while GCF had the
highest ones (2.5 and 14.8);
4. The differences between languages are larger on the FaaS platforms than on
bare metal (with the exception of IBM with 128 MB, where the Go version is
faster than the Node.js version).
As a whole, these results reveal that (i) it is unreasonable to expect that relative
performance differences observed in a test environment will remain the same
when the code is executed on an FaaS platform, and (ii) a judicious choice of
programming language may produce significant savings on provider costs.
182 D. Bortolini and R. R. Obelheiro
The biggest difference between providers with the same language and mem-
ory size was 8.5×, for IBM/AWS with Go and 128 MB. The maximum difference
between programming languages on the same provider and with the same mem-
ory size was 16.8×, for Go/Python on Google Cloud Functions with 512 MB.
6000
Execution Time (ms)
9000 60000
4000
6000 40000
2000
3000 20000
258
6
24
48
258
6
24
48
258
6
24
48
12
51
12
51
12
51
10
20
10
20
10
20
Allocated Memory (MB) Allocated Memory (MB) Allocated Memory (MB)
Provider AWS GCF IBM Provider AWS GCF IBM Provider AWS GCF IBM
Fig. 3. Function execution time for different configurations. Notice the different scales
on the y-axis.
15
Ratio of Execution Time
2
10
1
5
0 0
128 256 512 1024 2048 8192 128 256 512 1024 2048 8192
Allocated Memory (MB) Allocated Memory (MB)
AWS GCF IBM Bare−Metal AWS GCF IBM Bare−Metal
monthly cost for a fixed request rate λ, expressed in requests per second (req/s).
This fixed rate can be interpreted as the average request rate over a month,
not necessarily as a constant rate. The request rate was multiplied by the aver-
age number of seconds in a month to obtain NRM, the number of requests per
month. The cost due to the number of function invocations per month was given
by NRM multiplied by the cost per invocation, while the cost due to resource
consumption was calculated using NRM, the average execution time (rounded
up to a multiple of 100 ms), and the memory allocation for each configuration; in
both cases, applicable free tiers were taken into consideration. Figure 5 depicts
the average monthly cost for a low request rate (λ = 1 req/s).
With respect to the FaaS providers, the graphs show that:
1. On AWS, costs remain approximately constant, irrespective of memory size,
since cost in inversely proportional to allocated memory. This confirms that
computing power is proportional to allocated memory (cf. Sect. 4.2.2).
2. On IBM, costs are proportional to memory size.
3. On GCF, costs are lower for 256 and 512 MB than for 128 MB (at least for
Go and Python), and increase for memory allocations larger than 512 MB. A
possible explanation is that, according to Table 2, increases in memory allo-
cation beyond 512 MB correspond to smaller increases in CPU provisioning
(e.g., going from 512 MB to 1024 MB gives double the memory but only 75%
more CPU power).
4. IBM has the lowest cost up to 512 MB, AWS and GCF share the lowest cost
for 1024 MB, and AWS has the lowest cost for 2048 MB.
The variations in cost are significant. The biggest difference in cost between FaaS
providers with the same language and memory size was 67.0× (USD 54.13), for
IBM/AWS with Go and 128 MB.
With regard to programming languages, Fig. 5 shows that Node.js has the
lowest cost, except on IBM with 128 MB, where Go is cheaper. The graphs also
show that the difference in cost between Go and Node.js (1.8× on average, with
a maximum of 2.8×) is much smaller than the difference between Python and
Node.js (11.8× on average, with a maximum of 17×). The maximum difference
between programming languages on the same provider and with the same mem-
ory size was 67.2× (USD 54.25), for Go/Python on IBM with 512 MB.
We next combined performance and cost data into a single cost/performance
metric. A cost-conscious FaaS customer will strive to minimize the
cost/performance ratio within the set of feasible configurations for a given func-
tion. Since the ratio is expressed in dollars per throughput [6, Ch. 3], we divided
the number of primes (80, 000) by the average execution time to obtain the
throughput of each configuration in thousand primes per second (kpps). The
cost/performance curves, shown in Fig. 6, allow us to conclude that: (i) the
FaaS platforms with the best cost-efficiency are IBM up to 512 MB (all lan-
guages), GCF for 1024 MB (Node.js and Python), and AWS for 1024 MB (Go)
and 2048 MB (all languages); (ii) GCF is less competitive for Go than for Node.js
or Python; and (iii) Node.js is the most cost-efficient programming language,
while Python is the least cost-efficient language.
184 D. Bortolini and R. R. Obelheiro
nodejs python
80
Monthly Cost (USD)
100 750
60
40 500
50
20 250
0 0
8
6
24
48
8
6
24
48
258
6
24
48
12
25
51
12
25
51
12
51
10
20
10
20
10
20
Allocated Memory (MB) Allocated Memory (MB) Allocated Memory (MB)
Provider AWS GCF IBM Provider AWS GCF IBM Provider AWS GCF IBM
Fig. 5. Average monthly cost (λ = 1 req/s). Notice the different scales on the y-axis.
8
Cost/Performance (USD/kpps)
6 1.5 300
4 1.0 200
2 0.5 100
0 0.0 0
8
6
24
48
8
6
24
48
8
6
24
48
12
25
51
12
25
51
12
25
51
10
20
10
20
10
20
Allocated Memory (MB) Allocated Memory (MB) Allocated Memory (MB)
Provider AWS GCF IBM Provider AWS GCF IBM Provider AWS GCF IBM
5 Conclusion
In this article we presented an experimental performance and cost evaluation of
three function-as-a-service (FaaS) platforms: AWS Lambda, Google Cloud Func-
tions, and IBM Cloud Functions. We have shown that these platforms alleviate
the burden of managing infrastructure but suffer from low cost visibility, since
function execution times vary within and across configurations, which induces
cost fluctuations. The choice of programming language has been identified as a
key factor, with differences in execution time superior to 15×. Memory alloca-
tion size may affect both performance and cost, depending on the platform. The
wide variation across configurations revealed by our cost/performance analysis
lead us to conclude that FaaS customers should use our experimental method-
ology and results as guidance, and evaluate the performance and cost of their
own functions before embarking on large-scale FaaS deployments. In future work
we intend to analyze other factors that influence FaaS costs, such as network
traffic and cloud storage, and perform experiments over an extended period of
time, which would enable us to analyze platform trends and to characterize the
distribution of function execution times.
Investigating Performance and Cost in Function-as-a-Service Platforms 185
References
1. Adzic, G., Chatley, R.: Serverless computing: Economic and architectural impact.
In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engi-
neering, ESEC/FSE 2017, pp. 884–889. ACM, New York (2017)
2. Eivy, A.: Be wary of the economics of “serverless” cloud computing. IEEE Cloud
Comput. 4(2), 6–12 (2017)
3. Field, A., Miles, J., Field, Z.: Discovering Statistics Using R. SAGE Publications,
Thousand Oaks (2012)
4. Figiela, K., Gajek, A., Zima, A., Obrok, B., Malawski, M.: Performance evaluation
of heterogeneous cloud functions. Concurr. Comput. Pract. Exp. 30(23), e4792
(2018)
5. Horovitz, S., Amos, R., Baruch, O., Cohen, T., Oyar, T., Deri, A.: FaaStest –
machine learning based cost and performance FaaS optimization. In: 15th GECON,
Pisa, Italy, pp. 171–186. Springer, Heidelberg, September 2018
6. Jain, R.: The Art of Computer Systems Performance Analysis. Wiley, Hoboken
(1991)
7. Jonas, E., Pu, Q., Venkataraman, S., Stoica, I., Recht, B.: Occupy the cloud:
distributed computing for the 99%. In: SoCC 2017, pp. 445–451. ACM, New York
(2017)
8. Lee, H., Satyam, K., Fox, G.C.: Evaluation of production serverless computing
environments. In: IEEE 11th International Conference on Cloud Computing, pp.
442–450 (2018)
9. Leitner, P., Cito, J., Stöckli, E.: Modelling and managing deployment costs of
microservice-based cloud applications. In: IEEE/ACM 9th UCC, pp. 165–174,
December 2016
10. Lloyd, W., Ramesh, S., Chinthalapati, S., Ly, L., Pallickara, S.: Serverless com-
puting: an investigation of factors influencing microservice performance. In: 2018
IEEE International Conference on Cloud Engineering (IC2E), pp. 159–169. IEEE
(2018)
11. McGrath, G., Brenner, P.R.: Serverless computing: design, implementation, and
performance. In: 2017 IEEE 37th International Conference on Distributed Com-
puting Systems Workshops (ICDCSW) (2017)
12. Roberts, M.: Serverless architectures (2018). https://martinfowler.com/articles/
serverless.html
13. Rogers, O.: Economics of serverless cloud computing. Technical report, 451
Research, June 2017. https://bit.ly/2nB4m6t
14. Villamizar, M., et al.: Cost comparison of running web applications in the cloud
using monolithic, microservice, and AWS Lambda architectures. Serv. Oriented
Comput. Appl. 11(2), 233–247 (2017)
15. Wang, L., Li, M., Zhang, Y., Ristenpart, T., Swift, M.: Peeking behind the curtains
of serverless platforms. In: 2018 USENIX Annual Technical Conference (USENIX
ATC 18), USENIX Association, Boston, MA, pp. 133–146 (2018)
Optimal Bandwidth and Delay of Video
Streaming Traffic in Cloud Data Center
Server Racks
1 Introduction
Clouds’ data center networks (DCNs) consist of layer 2 and 3 switches and routers
connected to form a certain topology among centers server racks. The servers of each
rack are directly interconnected using one tier of top-of-rack (ToR) or edge switches
that are layer 2 type switches [1, 2]. Edge technologies offer viable solution to multiple
challenges faced by interactive media and video streaming today. Figure 1 shows a
snap shot of a distributed use of a certain type of cloud-based data centers. In this
figure, there are three cloud centers 1, 2, and 3 deployed in three different locations.
Mobile host 1 tries to use a certain service such as video streaming. The video to be
streamed is originally found in cloud center 2 while upon arrival of the inquiry from
host 1 at this center, the inquiry is forwarded to a closer location to host 1 being cloud
center 3.
Host 1
Internet Backbone
Network
Clo
r
nte
ud
Ce
Ce
ud
nte
3
Clo
r1
Cloud Center 2
A key factor for the success of cloud computing is the inclusion of virtualization in
its structure. Cloud computing is indeed a method of providing computing services
from a large, highly “virtualized” data center to many independent users utilizing
shared applications. In data centers, the services are provided by “physical” servers and
“virtual” servers. A virtual server is a machine that emulates a server through software
running on one or more real servers. Such virtual servers do not physically exist and
can therefore be moved around and scaled up or down without affecting the end user.
Cloud computing, on the other hand, is equivalent to “distributed computing over a
network” that runs programs or applications on numerous connected host servers at the
same time. A host server in a data center is typically called a blade. A blade includes a
CPU, memory, and disk storage. Blades are normally stacked in racks, with each rack
having an average of 30 blades. These racks of host blades are also known as server
racks.
The challenge of media streaming in data centers passing through DCNs remains a
challenge for researchers [3]. Streaming of media is a technique for transferring data
such that it can be processed as a steady and continuous stream. Streaming video
requires the compression and buffering techniques that allow one to transmit and view
video in real-time through the internet. In other words, streaming media is the simul-
taneous transfer of digital media files such as video, audio, and data through a server
application that can be displayed in real-time by client applications. To play a media
file smoothly, video data needs to be available continuously on a server and in the
proper sequence without interruption [4]. Streaming provides a steady method of
delivery controlled by interaction between computer and the server. Audio and video
streamed content will be delivered from the cloud through centralized or regional data
centers across optimized terrestrial or wireless technologies.
In the rest of the paper, we first introduce a testbed for end-to-end system analysis,
and then focus on obtaining the system performance on delay and bandwidth provi-
sioning. At the end of this paper we present results and conclusion.
188 N. F. Mir et al.
We start with obtaining a clear picture of streaming in cloud data centers by presenting
the testbed systems used in this paper. Figure 2 shows an abstract model of an 8-server
supported DCN that acts as the communication component of data servers. There are 8
server racks in the testbed module. Typical DCNs are currently based on routers and
layer 2 and 3 switches connected in a certain topology. The servers of each rack are
directly interconnected using one tier of top-of-rack (ToR) or edge switches that are
layer 2 type switches. Each host (server) in a server rack has a network interface card
(NIC) that connects it to its ToR switch while each host is also assigned its own data-
center internal IP address. Each top-of-rack (ToR) layer 2 switch in a data center uses a
NIC for its connection.
The destination is typically a host that attempts to receive the cloud’s service. The
service typically passes through ToR, aggregate and core switches and ultimately
impacted by the gateway router. We tried to study the simulation graph for 8 server
racks as shown in Fig. 2.
Video traffic in this paper is set up using the adaptive bit rate streaming (ABS).
ABS is a management technique for streaming live or pre-recorded media over com-
puter networks. ABS can be included in most real-time media transmission protocols.
The most practical deployment of ABS is the one built for transmission over HTTP in
networks. Through the adaptive bit rate streaming, viewing experience for a diverse
range of devices over a broad set of connection speeds can be made possible. The
Optimal Bandwidth and Delay of Video Streaming Traffic in Cloud Data 189
complete topology of Fig. 1 was built in the simulation testbed and the results of the
ABS video streaming to a destination outside and the server which is inside the data
center was simulated.
The basic test bed system also includes appropriate Proxy servers for authentication
purposes (not shown in the figure). Proxy servers may introduce some additional
processing delay to forwarded packets (circuit level filtering) depending on the
application that the datagram belong to.
Another feature incorporated into the testbed system is virtual private network
technique (VPN) that is done for security reasons. A VPN is an example of providing a
controlled connectivity over a public network such as the Internet. VPN utilizes a
concept called an IP tunnel and virtual point-to-point link between a pair of nodes that
are separated by an arbitrary number of networks. The simulation testbed allows
comparing all security with VPN, with firewall and without firewall at a same time by
using different scenarios. VPN is then another source of packet delay.
The parameters defining the above features were defined in Application config and
Profile config of OPNET which helped create the application on servers and profile on
destination node. The results of simulation for a system with 8 server racks are shown
in Fig. 3. The figure shows that the end-to-end delay starts at 0.0254 s, and it tends to
be reduced over the next 500 s. This decreasing delay is due to the time required for the
streaming connection to stabilize when the adaptive bit rate streaming (ABS) tries to
settle.
The data center network is then expanded to 16 server racks from 8 server rackz in
previous topology as shown in Fig. 4. Also, the effect on the video streaming by
changing the video quality on the network was significant.
190 N. F. Mir et al.
Fig. 6. IP multicast traffic received at destination node with high resolution video quality
For more redundancy in a data center network, increasing the number of switches that
handle operations scales the data center. When a data center is scaled, the major change
is contributed by server virtualization, which helps consolidating the load onto the newly
added, more capable switches. This method is cost and performance efficient. However,
192 N. F. Mir et al.
there are major challenges in scaling the data center networks. One such a challenge
would be the resource allocation. Even though there are many servers configured in the
system and the resources are not allocated properly, the performance is at stake. Allo-
cating resources to each machine is as important as scaling the network. Failure of
resource allocation leads to workload imbalance, loss of resources, server unable to host
the needed number of virtual machines and even cause the entire server to crash. Any
scaled system would become efficient when the multiple dependent factors are satisfied.
Implementation of Fat-Tree Architectures
The Fat tree topology is built using the following values. The architecture was built for
k = 4, 5, 6, 7 i.e. 16, 35, 64 and 98 hosts in network as shown in Fig. 7. For all the
above topologies the architecture was designed by scaling the layer of aggregate
switches horizontally and vertically. The connections between any two layers of
switches are made as one too many. In horizontal scaling there is only one layer of
aggregate switches and for vertically scaling there are 2 layers of aggregate switches for
(16, 35 and 64 hosts) and 3 layers of aggregate switches for (98 hosts). Each aggregate
switch layer in the vertical scaling is connected to the above and below aggregate layer
switches in the same pod. The topology diagram can be seen below.
Fig. 7. Fat-tree vertically scaled architectures for 16, 35, 64, and 98 hosts.
Fig. 8. Multi-tiered vertically scaled architectures for 16, 32, 64, and 98 hosts.
Iperf Test
Iperf (Internet performance test) is a tool, which we used to test the limits of the
network. It is used to measure the maximum bandwidth achievable on the IP networks.
With the iperf tool we will have the ability to choose the parameters like protocols,
timing and buffer sizes. When networks are tested with iperf results involve the
parameters like bandwidth, loss and other parameters.
Ping Test
Ping is a function to test the network performance. It is generally used to analyze
parameters like the total number of packets sent and received, the percentage of lost
packets over different paths, and the response time of both minimum and maximum. It
is generally in milliseconds, and the average response time in milliseconds. Ping test
helps check the connectivity as well as the response time for each packet. Ping can be
done between two hosts and between all the nodes in network which can be a unicast or
broadcast type.
Analysis of Layered and Non-layered Fat-Tree Architectures
It was observed from Figs. 9 and 10 that the average bandwidth and average delay of
non-layered architectures is greater than average bandwidth and average delay of
layered architectures for both inter rack communication and intra communication. The
only exception was the 35 host layered fat tree architecture in which the intra rack
average bandwidth was less than inter rack average bandwidth and the intra rack
average delay is higher than inter rack average delay, indicating that the architecture for
35 hosts layered is correctly tailored, to provide higher bandwidth for inter rack
communication in layered architectures as compared to non-layered architectures and
to provide lower delay for inter rack communication in layered architectures as com-
pared to non-layered architectures. The exception was due to the number of switches
and layering in 35 host-layered architecture that provided efficient bandwidth allocation
and response time for end-to-end packet transfer between different racks. For 16 hosts
layered and non-layered architecture the bandwidth was high that was due to the less
load on the network, which has high performance of the mininet.
194 N. F. Mir et al.
Fig. 10. Average delay in fat tree topologies (Inter and Intra)
It was observed that average bandwidth for communications between hosts in the
same rack is higher than the average bandwidth for communications between hosts in
different racks. Also, the average delay between the hosts in different rack is higher
than the average delay between hosts in the same rack. This is because for inter rack
data transfer, the data packet must go through layers of aggregate switches and one
layer of core switches which is indicated in the topology. The layers of aggregate
switches increase the number of times a packet must pass through switches to reach the
end racks of the network topology which in turn results in the packet having to contend
for available bandwidth along with other Inter Rack communication packets and
Switch configuration messages, controller messages in the network. This reduced the
bandwidth available for individual packets during inter rack communication and
increases the switching time, number of times it must share the bandwidth. In Intra rack
Optimal Bandwidth and Delay of Video Streaming Traffic in Cloud Data 195
communication, packets only must pass through maximum of two ToR switches and
sometimes through a single Aggregate switch to reach the distant host connected to the
same rack. Since the ToR switches forward the packets directly to the end hosts and do
not have to deal with forwarding of other packets in inter rack data transfers, most of
their bandwidth is available for forwarding of packets towards destination hosts.
Analysis of Fat-Tree and Multi-tiered Architectures
We calculated and compared the overall average bandwidth and overall average delay
for all architectures in multi-tiered topology and fat-tree topology. The data was
compared in terms of the number of hosts in the network and the type of network
(layered or non-layered). For accurate results of comparison, we designed two
topologies with same metrics.
The difference in bandwidths is because Fat Tree Architecture follows an algorithm
for determining the number of switches in the network based on the number of hosts
per rack, which results in an increase in the overall number of switches. Scaling this
architecture doubles the number of switch connectivity, which in turn increases the
number of times, packet must pass through switches before reaching its destination.
The increased connectivity to multiple core and aggregate switches decreases the
available bandwidth as core and aggregate switches also forward controller messages
and configuration messages from the switches across the same links through which data
packets pass. Any such algorithm does not limit multi-tiered Architecture. It depends
only on the size of switches used for ToR and aggregate connections, which allows
multiple hosts to be connected to single switch and reduces the number of switches
used at ToR, aggregate, and core layers, providing better bandwidth from a source to a
destination.
4 Conclusion
References
1. Lascano, J.E., Clyde, S.W.: Improving computer science education through cloud computing:
an observational study. In: 2017 IEEE 30th Conference on Software Engineering Education
and Training (CSEE&T), Savannah, GA (2017)
2. Mir, N.F.: Computer and Communication Networks, 2nd edn (2015). ISBN 0-13-381474-2
3. Bilal, K., Erbad, A.: Edge computing for interactive media and video streaming. In: 2017
Second International Conference on Fog and Mobile Edge Computing (FMEC), Valencia
(2017)
4. Aceto, G., Botta, A., de Donato, W., Pescapè, A.: Cloud monitoring: definitions, issues and
future directions. In: 2012 IEEE 1st International Conference on Cloud Networking
(CLOUDNET), Paris, France (2012)
5. Barayuga, V.J.D., Yu, W.E.S.: Study of packet level UDP performance of NAT44, NAT64
and IPv6 using Iperf in the context of IPv6 migration. In: IEEE Conference, Beijing, INSPEC:
14882156, October 2014
6. Chee, L.L., Xuen, C.Y., Karuppiah, S.A.L., Fadzil Mohd Siam, M.: IEEE Paper Published in
Advanced Computer Science Applications and Technologies (ACSAT), 26–28 November
2016
Log-Based Intrusion Detection for Cloud
Web Applications Using Machine
Learning
1 Introduction
Typical enterprises use multiple cloud solution providers for hosting services.
Cloud platforms come with advantages such as scalability, faster development,
higher cost efficiency with minimal management effort or service provider inter-
action [3]. Cloud platforms offer a wide range of applications. These include a
range of simple web-based services such as web applications, storage, databases,
data analytics, etc. They also include platforms required by many computation-
ally intensive software such as virtual machines, container services, load bal-
ancers, etc. With the increasing popularity of cloud solutions, security becomes
more important than ever to ensure data integrity, availability and confiden-
tiality. Users can access private data on such services from everywhere, at any
time. This makes it possible for intruders to try accessing or modifying the same
resources [18]. Common intrusion detection systems (IDS) can detect very spe-
cific well-defined attacks that intrude certain platforms or networks. As more
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 197–210, 2020.
https://doi.org/10.1007/978-3-030-33509-0_18
198 J. Fontaine et al.
cloud service public endpoints are provided to customers, more attack vec-
tors arise from potential intruders to attack these systems. Deploying multiple
platform- and application-specific intrusion detection systems is a challenging
problem, however, it is not very flexible and demands domain expertise in how
vulnerabilities are exploited and attacks are executed. Complex detection meth-
ods on many layers of the system will also degrade system performance while
scanning each kind of packet, even safe ones. This paper provides a remedy for
this problem by aiming for a broader system to perform attack detection in
cloud services using web access logs and machine learning (ML) techniques. In
this paper we do not try to implement a full stack detection system, but rather
explore the possibilities of ML that can accelerate and increase the flexibility of
attack classification. We target detection on web applications, using data avail-
able in cloud security logs.
Our main contribution is an introduction of a flexible ML approach to
perform attack detection using logs from web applications. This contribution
includes information-rich features of these logs and proposes configurations of
ML algorithms with outstanding performance and minimal time overhead. In
contrast to previous detection methods, our solution does not require domain
expertise in a vast amount of exploits, making deployment almost effortless
for web applications in cloud environments. More specifically, feature selection
methods on web application logs are used to prove useful features needed for
such detection. Accuracy and computation time trade-offs of ML techniques
are demonstrated and compared to more traditional ruled-based systems. The
particular techniques include both simple and state-of-the-art models such as
decision trees, neural networks and ensemble meta-algorithms.
The remainder of this paper is structured as follows. Section 2 briefly
describes related work. In Sect. 3 a brief overview lists the available cloud secu-
rity logs, followed by datasets used for the training of a log-based intrusion
detection model. In Sect. 4, focusing on web application logs, feature extraction
is performed, followed by an extensive search for the optimal feature selection
method. ML algorithms we used, are examined in Sect. 5 for the use in attack
classification problems followed by their associated results in Sect. 6. Next, future
research is presented in 7 by proposing a cloud security dashboard architecture
and log aggregation system, together with a hybrid approach for attack and
anomaly detection. Finally, Sect. 8 concludes the paper.
2 Related Work
This section describes related work on web and network attack detection using
ML techniques. Table 1 compares the related works in terms of their supported
web attacks, input data, approach and support for multiple types of cloud ser-
vices such as web applications, databases, cloud storage, etc. The first two papers
focus on the detection of network-related attacks, while the other papers focus
on attacks set in the application layer. Compared to the works explained in
more detail below, this paper focuses on a much broader set of web attack types
Log-Based Intrusion Detection for Cloud Web Applications 199
Table 1. Overview of related work in the field of attack detection on web or cloud
applications.
4 Feature Selection
We applied feature selection methods to optimize the attack detection speed
and accuracy of ML algorithms. First, we discuss features extracted from the
logs. Next, methods of analysing detection accuracy and speed of features are
discussed, followed by results of feature selection.
No Selection: Using all the features and collect their performance and accu-
racy.
where xi , x̄i , yi and y¯i correspond to the ith feature value, the mean feature
value, the ith class value and the mean class value, respectively.
Gain Ratio: Gain ratio uses entropy to evaluate the value of features [24]. Gain
ratio between feature X and class Y is defined by (2).
and
H(Y |X) = H(Y, X) − H(X). (4)
where P (xi ) is the probability of feature X having a value xi out of all possible
values, H(Y, X) is the joint entropy and H(Y |X) is the conditional entropy
between class Y and feature X.
Log-Based Intrusion Detection for Cloud Web Applications 203
Table 2. Detection accuracy and training time for 18 selected features. OneR achieves
the highest accuracy and correlation evaluation offers a shorter training time.
Info Gain: Info gain is similar to gain ratio, but does not divide in (5) by the
entropy of feature X.
A desirable metric that indicates the correlation between features was not
found in Weka and could not be tested. Section 4.3 presents results using the
discussed selection methods.
4.3 Results
Table 2 shows the measured accuracy and training time with a selection of the
18 top ranked features (instead of all the 28 features). Correlation evaluation
and gain ratio have a much lower accuracy than info gain and OneR, but their
training timing is lower. This behaviour occurs because the classifier uses dif-
ferent, sometimes more valuable, features selected by the selection algorithms.
When the model trains using all the 28 features, results show a higher accuracy
of 97.71%, but a slower training time of 40 s. The time to classify instances
remained the same. In addition, we confirmed this observation as the trained
decision trees did not change enough in size. These (deeper) trees contained less
features but had more nodes. According to info gain and OneR, the features
which are most informative for ML algorithms are: the length of requested file
and query, the amount of special chars, the amount of dots and the amount of
percentage signs.
We conclude that info gain and OneR are the optimal feature selection meth-
ods, with a preference for info gain because of its faster training time and minimal
accuracy loss. Further results presented in the paper will use all the 28 features
and are preferred in the security context because of their high accuracy and
equal classification time compared to the selected subsets of features.
204 J. Fontaine et al.
these results. This chart gives a quick overview if a algorithm is not pareto-
efficient, meaning that there is another algorithm with a higher accuracy and
a lower classification time. Classification time is calculated based on the total
time needed to classify all 73165 logs. Numerical results are presented in terms
of accuracy, F-score, training and classification time.
Figure 4 shows the pareto-efficiency of the random tree, REP tree, J48, bagging,
boosting, random forest and neural networks. The rule-based measurement is not
shown on the graph, because the classification time is too extended. However, we
can see which algorithm achieves the most optimal results. Random tree is the
fastest in classifying instances, while the neural network is the most accurate.
We can also see that there should be no reason to choose random forest in this
case. Random forest is pareto-inefficient, because it is slower and less accurate
than boosting and the neural network. Table 4 shows the accuracy and F-score
together with training and testing times of the tested ML algorithms. Based
on Table 4 and Fig. 4, J48 should be the choice for cases where classification
time is important. On the other hand, if accuracy is critical, neural networks
should be used. The (relative) 100% rule-based method completes classification
in 115.74 s. This is 47 times slower than J48. The neural network is 26 times
faster than a rule-based method, while only loosing 1.69% accuracy. Taking into
account the training time, decision trees show good scaling when using large
datasets. The authors of [25] show that training decision trees has a complexity
of O(mnlog(n)) + O(n(log(n))2 ), where m and n correspond to the amount of
features and training instances respectively. Decision trees such as J48 and REP
tree will introduce pruning, that will increase training time, but decrease the
total height of the tree. In addition, a less complex model is produced. Boost-
ing and bagging are more complex because of their nature of building multiple
decision trees. However, using weak classifiers, that have an accuracy just above
99
Neural network
Boosting
98 J48
Bagging Random forest
REP tree
97 Random tree
96
2 3 4 5 6
Classification time (s)
Fig. 4. Accuracy (Acc.) and classification time on our dataset using the proposed
machine learning techniques.
Log-Based Intrusion Detection for Cloud Web Applications 207
50%, these algorithms will produce less complex models. Unfortunately, we were
not able to achieve good results with the weak classifiers.
To briefly go into more detail, the confusion matrix in Fig. 5 shows the clas-
sification score for each of the 11 classified classes (10 attack classes + safe
class). These results are derived from the best classifier, in our case the fully-
connected neural network. For better readability, the categorical attack names
are not displayed. The ‘safe’ attack class (nr. 10) is classified 99% correctly.
Except class nr. 4 ‘Half-/fullwidth encoded unicode HTML breaking’ and class
nr. 7 ‘Includes and typical script methods’, all other attack classes are classified
near perfectly. However, class nr. 4 and nr. 7 only contain 34 and 130 training
examples respectively, making generalisation harder for these classes. Wrongly
detected attack classes are only infrequently classified as a ‘safe’ class, which is
unwanted behaviour in the security context. This accuracy could be strength-
ened further by training the classifier only on attack/safe class and increasing
the generalisation for attack detection.
208 J. Fontaine et al.
7 Future Research
Future work should depend on more real-world data, coming from many deployed
cloud services. At the time of writing, hardly any open data is available concern-
ing this. We urge companies to commence publishing data in an open format,
preferably anonymized, to allow and help future research to collect more results
and design up-to-date systems. Extending this research, consists of implementing
ML-trained models in the real world and preprocessing combined logs of multiple
cloud services, that generate logs. Next these logs can be transferred to a central
system that processes these logs e.g. an Azure WebJob. An Azure WebJob runs
in an infinite loop, while constantly checking if new data is available to be pro-
cessed. We used Weka for .NET in a similar configuration to confirm successful
deployment of the model proposed in this paper. The classified output of such
model is then saved to a central database. These logs can then be visualized on
a security cloud dashboard. This future work requires building a platform that
combines logs from multiple cloud services (other than web applications) while
simulating attacks on the platform in order to extend available training data.
Another addition can be made by introducing an online self-learning system.
Such system receives input from experts on the proposed cloud security plat-
form. Experts can e.g. indicate which attacks are misclassified. Periodically the
model is updated, keeping these corrected labels or new attacks into account.
A major advantage, equivalent to the techniques proposed in this paper, is that
we only need to know which attack occurred, without knowing how the attack
is constructed.
Another contribution can be made investigating a hybrid approach by com-
bining anomaly detection, based on the ML techniques in the proposed model,
with a rule-based system for classifying specific attacks. As shown in [16]
attack detection by only classifying attack or no-attack can perform better
than signature-based methods. More complex rule-based systems can investigate
which kind of attack occurred while the anomaly detection method would have
the same performance advantages as the proposed model in this paper, allowing
more real-time detection and mitigation of attacks on cloud-based applications.
Such contribution can also investigate if the anomaly detection is able to detect
zero-day attacks, that the rule-based system cannot classify yet.
Log-Based Intrusion Detection for Cloud Web Applications 209
8 Conclusion
The increasing complexity in the landscape of cloud applications leads to the
need of a more flexible security system. Such system should allow less complex
and easier-to-update detection models. In this work, contributions are made
by presenting web cloud security logs that show similarities with traditional
on-premises security logs. Extra metrics can allow attacks to be classified that
influence the performance of a system, e.g. a distributed denial-of-service attack.
Machine learning techniques are proposed, with the advantage of having more
simplicity when training detection models by quickly adding newly discovered
attacks without the knowledge of their details. These models are applied on web
application logs, derived from multiple servers. Such logs are converted into a
single format, that helps easier feature extraction. Feature selection test scenarios
show that information gain offers the highest accuracy compared to other feature
selection methods, while also being the fastest method. However, using all the
features still delivers the highest accuracy. The J48 decision tree offers the overall
best results, considering both accuracy and performance. This classifier achieves
a 47x performance improvement over the traditional rule-based systems, while
only loosing 2.29% accuracy. The neural network offers the highest accuracy of
98.47% and enables efficient and accurate attack detection, possible on multiple
web services in cloud environments.
Acknowledgments. This work was funded by the Fund for Scientific Research Flan-
ders (Belgium, FWO-Vlaanderen, FWO-SB grant number 1SB7619N).
References
1. Honeypot project. http://old.honeynet.org/. Accessed 22 Mar 2018
2. Public security log sharing site (2006). http://log-sharing.dreamhosters.com/.
Accessed 22 Mar 2018
3. Almorsy, M., Grundy, J.C., Müller, I.: An analysis of the cloud computing security
problem. CoRR abs/1609.01107 (2016). http://arxiv.org/abs/1609.01107
4. Breiman, L.: Bagging predictors. Mach. Learn. 24(2), 123–140 (1996). https://doi.
org/10.1023/A:1018054314350
5. Christian Matthies, M.H.: Phpids (2014). https://github.com/PHPIDS/PHPIDS.
Accessed 11 May 2017
6. Clutch: 2016 enterprise cloud computing survey (2016). https://clutch.co/cloud#
survey. Accessed 29 May 2017
7. Feizollah, A., Anuar, N.B., Salleh, R., Amalina, F., Ma’arof, R.R., Shamshir-
band, S.: A study of machine learning classifiers for anomaly-based
mobile botnet detection. Malays. J. Comput. Sci. 26(4), 251–265 (2013).
https://mjes.um.edu.my/index.php/MJCS/article/view/6785
8. Freund, Y., Schapire, R.E.: A decision-theoretic generalization of on-line learn-
ing and an application to boosting. J. Comput. Syst. Sci. 55(1), 119–139 (1997).
https://doi.org/10.1006/jcss.1997.1504. http://www.sciencedirect.com/science/ar
ticle/pii/S002200009791504X
210 J. Fontaine et al.
9. Gardner, M., Dorling, S.: Artificial neural networks (the multilayer percep-
tron) - a review of applications in the atmospheric sciences. Atmos. Envi-
ron. 32(14–15), 2627–2636 (1998). https://doi.org/10.1016/S1352-2310(97)00447-
0. http://www.sciencedirect.com/science/article/pii/S1352231097004470
10. Gaucher, R.: Apache-scalp (2008). https://code.google.com/archive/p/apache-
scalp/. Accessed 11 May 2017
11. Guyon, I., Elisseeff, A.: An introduction to variable and feature selection. J. Mach.
Learn. Res. 3, 1157–1182 (2003). http://dl.acm.org/citation.cfm?id=944919.
944968
12. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.:
The weka data mining software: an update. SIGKDD Explor. Newsl. 11(1), 10–18
(2009). https://doi.org/10.1145/1656274.1656278
13. Ho, T.K.: The random subspace method for constructing decision forests. IEEE
Trans. Pattern Anal. Mach. Intell. 20(8), 832–844 (1998). https://doi.org/10.1109/
34.709601
14. Holte, R.: Very simple classification rules perform well on most commonly used
datasets. Mach. Learn. 11, 63–91 (1993)
15. Ieracitano, C., Adeel, A., Gogate, M., Dashtipour, K., Morabito, F., Larijani, H.,
Raza, A., Hussain, A.: Statistical analysis driven optimized deep learning system
for intrusion detection. In: International Conference on Brain Inspired Cognitive
Systems (2018)
16. Kaur, J.: Wired lan and wireless lan attack detection using signature based and
machine learning tools. In: Perez, G.M., Mishra, K.K., Tiwari, S., Trivedi, M.C.
(eds.) Networking Communication and Data Knowledge Engineering, pp. 15–24.
Springer, Singapore (2018)
17. Komiya, R., Paik, I., Hisada, M.: Classification of malicious web code by machine
learning. In: 2011 3rd International Conference on Awareness Science and Technol-
ogy (iCAST), pp. 406–411 (2011). https://doi.org/10.1109/ICAwST.2011.6163109
18. Liu, W.: Research on cloud computing security problem and strategy. In: 2012 2nd
International Conference on Consumer Electronics, Communications and Networks
(CECNet), pp. 1216–1219 (2012). https://doi.org/10.1109/CECNet.2012.6202020
19. Lobato, A., Lopez, M.A., Duarte, O.: An accurate threat detection system through
real-time stream processing (2016)
20. Provos, N., et al.: A virtual honeypot framework. USENIX Secur. Symp. 173, 1–14
(2004)
21. Quinlan, J.R.: C4.5: Programs for Machine Learning. Morgan Kaufmann Publish-
ers Inc., San Francisco (1993)
22. Sahoo, D., Pham, Q., Lu, J., Hoi, S.C.: Online deep learning: learning deep neural
networks on the fly. arXiv preprint arXiv:1711.03705 (2017)
23. W3: Logging in w3c httpd (1995). https://www.w3.org/Daemon/User/Config/
Logging.html#common-logfile-format. Accessed 27 May 2017
24. Weka: Weka documentation (2016). http://weka.sourceforge.net/doc.stable/.
Accessed 15 May 2017
25. Witten, I.H., Frank, E., Hall, M.A., Pal, C.J.: Data Mining: Practical Machine
Learning Tools and Techniques. Morgan Kaufmann, Burlington (2016)
Automatic Text Classification
Through Point of Cultural Interest
Digital Identifiers
1 Introduction
The present research has been carried out in the context of the Encore project
(ENgaging Content Object for Reuse and Exploitation of cultural resources),
which makes available a specialized Registry system (the POIr), able to identify
content objects through a unique and persistent Point of (cultural) Interest dig-
ital Identifier (POId). The aim of the whole project is to promote a new model
of publishing in order to favor production and sharing of authors, publishers and
users. Tourism and cultural heritage are the two main areas of interest of the
project, whose corpus consists of unstructured data1 , shared on the web.
Techniques and applications that prepare non-structured or semi-structured
texts for automatic processing are within the scope of NLP (Natural Language
Processing).
The general architecture of the system includes a Domain Ontology whose
Schema is used as structure for all the classifications performed in the project.
1
By “non-structured data” we mean raw texts, characterized by a structure that
machine can not manage without human intervention.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 211–220, 2020.
https://doi.org/10.1007/978-3-030-33509-0_19
212 M. C. Catone et al.
1.1 POId
The aim of POIds is to identify, certify and facilitate the identification of digital
cultural objects, which are unstructured or semi-structured texts where authors
describe or just mention specific cultural facts or objects.
As we said in Sect. 1, the idea of this work is to define a linguistic-based
methodology to automatically attribute the POId codes to texts, relying the
classification of this cultural objects on a domain ontology schema previously
defined.
The POId can be splitted in two parts which includes: a) a prefix which
allows the immediate recognition of the code as a POId and which contains the
description of the semantics of the text; b) a suffix which contains information
about the date of entry and a disambiguation code. The POId schema is showed
in the Table 1.
An example of POId is:
A02.4042115006/301117.00001
in which the A represents the superclass of the ontology (in this case A repre-
sents “Archeological Heritage”), the numerical code 02 represents the subcate-
gory “archaeological areas”, 40421.15006 represents the latitude and longitude
of the place described calculated by a geo-localization algorithm, rounded by 3
decimals, 301117 is the entry date and 00001 is a progressive disambiguation
number. In this paper we will deepen the problem around the automatic attribu-
tion of the first two elements of the POId: the superclasses and the subcategories
from the domain ontology (see Sect. 3.1).
Text Classification Through POIds 213
Prefix
Superclass letter Alphabetic code
Class Number Numeric code
Geographical coordinates Three decimal approximation
Suffix
Inserting document date ggmmyy
univocal disambiguation code 5+ numbers
Text classification is “the activity of labeling natural language texts with the-
matic categories from a predefined set” [13]. In classification systems, group of
words or terms are collected together and organized. Each of these terms will be
associated with a particular concept. [18].
According to [8], text classification determines some advantages: differently
from the dictionary-based approaches which are mainly used to provide infor-
mation on the magnitude, classification ones make available “information about
type and likelihood of being of a type and researchers can go a step further by
understanding what words or patterns lead to being classified as a type” [8]. In
addition, the classification models, as do not describe a word list a priori, can
reveal insights and surprising combinations of words or patterns.
While until the late’ 80s, text classification was especially based on a knowl-
edge engineering systems, characterized by a manual identification of text classi-
fication rules in specific classes, the’ 90s were marked by the adoption of machine
learning (ML) developments that, using a general inductive process, automati-
cally builds an automatic text classifier by learning, from a set of preclassified
documents, the features of the classes of interest [13]. As indicated by [17], ML
algorithms can be classified into supervised, unsupervised and semisupervised
according to specific learning rules. The former refers to a classic way to build-
ing a text classifier as they require a human intervention for assigning labels to
a set of training documents and then apply a learning algorithm to the classifier
building. The most used supervised parametric algorithms are logistic regression
adopted to predict binary classes and the Naı̈ve Bayes [10] which assume that
all attributes of the examples are independent of given category [11]. Among
the non-parametric classifiers, the mostly applied are: support vector machines,
k-nearest neighbor, decision trees and neural networks [18].
The unsupervised algorithms aim at learning underlying characteristics of
text without previously determining specific categories of interest. For this rea-
son, they allow researchers to identify the structure of unlabeled data and to
explore text patterns perhaps understudied or unknown [6]. Classification train-
ing of the unsupervised approaches is usually based on the inferences that are
carried out by clustering data into different clusters without labeled responses:
214 M. C. Catone et al.
The first step of the present methodology consists in the definition of a Cultural
Heritage Ontology Schema which includes two semantic levels: the first level,
characterized by three superclasses, is related to the first character of the POId
code. Then, for each superclass, we define a number of subclasses with a total
of 9 final classes. In this project the words of the dictionary have been system-
atically labeled with the codes designed for ontology. The Ontology Schema is
the following:
• Historical-artistic (A);
– Archeological Areas (01): Parks, sites, excavations and any type of
area of historical and artistic interest;
– Museum (02): Museums, archives, art galleries;
– Architecture Elements (03): churches, villas, monuments, and every-
thing related to buildings of artistic interest;
– Artwork (04): cultural assets related to music, painting, sculpture and
humanistic and scientific knowledge in general;
Text Classification Through POIds 215
• Natural (B);
– Naturalistic Itinerary (01): footpaths, mountains paths, biking trails;
– Parks (02): urban and extra-urban parks, gardens, fields;
– Natural Areas (03): natural protected areas, marine protected areas;
• Cultural (C);
– Objects (01): historical texts, traditional receipts, stage clothes and cos-
tumes, traditional tools and instruments;
– Events (02): manifestation, demonstrations, shows, exhibitions, country
or religious festivals;
2
Electronic dictionaries, usable with all the computerized documents for the text
recognition, for the information retrieval and for the machine translation, should be
conceived as lexical databases intended to be used only by computer applications
rather than by a wide audience, which probably wouldn’t be able to interpret data
codes formalized in a complex way.
3
According to [15], ALUs “refers to the smallest elements of a given language that
are associated with linguistic information. By definition, these ALUs constitute the
vocabulary of the language. They can and must be systematically described in exten-
sion, because some of, or all their properties cannot be computed from their compo-
nents”.
4
A phrase composed of several words is considered to be a multiword unit, or expres-
sion, “if some or all of its elements are frozen together, that is, if their combination
does not obey productive rules of syntactic and semantic compositionality” [9].
In order to assume if a sequence of simple words separated by blanks can be lex-
icalized as a multiword expression it must be verified if it presents the following
properties: semantic atomicity, distributional constraints, and an institutionalized
and shared use in the linguistic community.
216 M. C. Catone et al.
these kind of structures “open series compounds”, which are “lists of compound
ALUs having the first two or three items in common”. Here, the fixed or semi-
fixed head defines the grammatical and semantic features of all variable elements
that constitute the compounds. A typical example is (1).
⎡ ⎤
bronzo
⎢ sale ⎥
statua di ⎢ ⎥
⎣M ichelangelo⎦ (1)
David
Due to syntactic and lexical variation, open series compounds need to be for-
malized into an electronic context able to take into account their peculiarities.
5
We make reference to the lexico-syntactic traits identified by [3], which coincide with
nouns connected to wide semantic classes, such as human nouns, concrete nouns,
abstract nouns, among others. See the property “trait” in Fig. 1.
6
We make reference to less extensive semantically homogeneous classes of nouns, pro-
posed by [7], which block the interpretation of a given predicate (that selects those
nouns as arguments) by specifying its use. Examples are the nouns from the class
“materials” which are selected as direct object by specific predicates such as lavo-
rare “to work”, martellare “to hammer””, polverizzare “to pulverize”, scolpire “to
chisel”, levigare “to smooth”. When occurring together, these subsets of arguments
and predicates reciprocally delineate and circumscribe their interpretation. See the
property “type” in Fig. 1.
Text Classification Through POIds 217
One of the best solution is to link dictionaries, which contain the lists of Atomic
Linguist Units and their syntactic and semantic properties, with syntactic gram-
mars, which can make such words and properties interact into a FSA context
[16]7 . That is why semi-frozen compounds need both dictionaries and grammars
to be recognized and annotated in a correct way. The dictionaries allow the
recognition of the multiword units thanks to the characteristic components C,
which are the word forms or the sequences that occur every time the expressions
occur and originate the recognition of the frozen expressions in texts [16]. The
grammars, in the form of regular expressions or finite state automata8 , let the
machine compute the compounds, despite of the many different forms that in
real texts they can assume. An example of the formalization of the electronic
dictionary is reported in Fig. 1. An extract from the grammar net is reported in
Fig. 2.
Fig. 1. Extract of the Json dictionary of open series compounds characteristic compo-
nents
In this work we generalized the idea that each word (both simple and
compound ones) included in the Cultural Heritage lexical resources could
become characteristic or variable components of bigger multiword expressions.
7
Local grammars are algorithms that, thanks to grammatical, morphological and
lexical instructions, help us in the formalization of linguistic phenomena and in the
parsing of texts.
8
FSAs (finite-state automata) are abstract devices characterized by a finite set of
nodes and transitions that allow us to locate patterns related to a particular path.
Usually we use them when we want to extract sequences from texts and build concor-
dances. A finite state transducer (FST) produces linguistic information as outputs.
FSA and FST can be morphological or syntactical. An RTN (Recursive Transi-
tion Network) is a grammar that contains embedded graphs. An ERTN (Enhanced
Recursive Transition Network) is a more complex grammar that includes variables
and constraints.
218 M. C. Catone et al.
4 Experiment
We tested the effectiveness of the proposed methodology by setting an experi-
ment that includes the following steps: Training set building and pre-processing
(collection of 1000 texts from the Cultural Heritage related to each one of the
ontology classes); Text structuring (extraction of MWEs, Open Series Com-
pounds and words with higher term frequency, conversion of the processed texts
in a JSON structure composed by the information extracted); and, in the end,
Classifier Training and Testing (training of the MaxEnt classifier included in the
Mallet package9 over the 90% of the mentioned collection of texts and testing on
the remaining percentage of texts). In our experiment, we compared the results
of the MaxEnt classifier, trained on the same corpus, first and after the text
structuring phase. Table 2 shows the values of Precision, Recall and F1 for the
two trained classifiers.
9
Mallet includes a series of text classifier algorithms such as the already mentioned
MaxEnt and Naive Bayes. Mallet also allows the automatic evaluation of the trained
classifier.
Text Classification Through POIds 219
The total accuracy value for the classifier trained with structured texts
reaches a value of 0.78. While the accuracy of classifier trained on unstructered
texts reaches the 0.69. We can affirm that the linguistic processing increased the
results of about 0.09 points.
5 Conclusion
In the paper we described a linguistically based strategy to face the problem
of automatic classification and representation of unstructured texts. Thanks to
NLP, information about people, time, places, events or even emotions, contained
in raw texts can be extracted and processed by the machine just like structured
data recorded in traditional databases. In this work we anchored the identifica-
tion of keywords into the Cultural Heritage domain to a subset of terminological
fixed and semi-fixed multiword expressions, demonstrating that higher levels of
accuracy can be reached thanks to a proper linguistic processing of texts.
References
1. Altınel, B., Ganiz, M.C.: A new hybrid semi-supervised algorithm for text classi-
fication with class-based semantics. Knowl.-Based Syst. 108, 50–64 (2016)
2. Bolasco, S., et al.: Statistica testuale e text mining: alcuni paradigmi applicativi.
Quaderni di statistica 7, 17–53 (2005)
3. Chomsky, N.: Aspects of the Theory of Syntax, 11th edn. MIT press, Cambridge
(1964)
4. di Buono, M.P., Monteleone, M., Elia, A.: Terminology and knowledge represen-
tation. Italian linguistic resources for the archaeological domain. In: Proceedings
of Workshop on Lexical and Grammatical Resources for Language Processing, pp.
24–29 (2014)
220 M. C. Catone et al.
1 Introduction
has been proposed to commands the execution of a set of logic rules expressed
in the form of first order predicates. Knowledge Query Manipulation Language
(KQML) [9] is another ACL schema, where messages are composed of: Contents
includes message contents;Communication defines a set of parameters used for
message transmission, as source/destination addresses and the unique identifier
of the communication threads;Message is the fundamental part of the KQML
message as it represents the communicative act correlated to the message type.
The semantic set of communicative acts in KQML is vast which makes it too
generic and prone to scenarios where agents which support different KQML
implementation cannot communicate. In order to define a unique communication
standard between heterogeneous agents, FIPA committee has proposed FIPA-
ACL [1]. FIPA-ACL messages are composed of three parts: Communicative act
defines the message type and it is composed by the only attribute performative;
Message parameters defines attributes used for message transmission and inter-
pretation; Contents contains the message body. Considering that FIPA-ACL has
become the de facto standard for agent communication [14], and that it is sup-
ported by almost all the most popular and available MAS platforms, we have
implemented FIPA-ACL as agent communication language in MASs.
In order to enrich the communication framework with interaction mecha-
nisms, FIPA has proposed a set of protocols which rules the messages exchange
flow during agent interactions. FIPA interaction protocols can be classified
in three main categories: protocols which involve a single interaction (FIPA-
Request, FIPA-Request-When, FIPA-Propose), multiple participant protocols
like those designed to support cooperation and negotiation processes(FIPA-
Contract-Net,FIPA-English-Auction,FIPA-Dutch-Auction, FIPA-Brokerage and
FIPA-Recruting) and multiple interactions protocols where there is a contin-
uous stream of messages exchanged (FIPA-Subscribe, FIPA-Iterated-Contract-
Net). Currently MASs environment supports FIPA-Request, FIPA-Subscribe and
FIPA-Contract-Net, which represent all the categories of FIPA interaction pro-
tocols. Further, considering the natural relationship that has emerged between
distributed agent applications and the Internet of Things (IoT) [13,24] and Edge
Computing [15], in MASs, FIPA interaction protocols are built on top of message
transport standards commonly used in IoT applications, such as REST [18] and
MQTT [20].
MAS Platforms and Tools
Design principles which lead the development of MAS environments can be
classified as agent-centric and middleware-centric. Agent-centric approaches are
focused on reasoning architectures, like the belief-desire-intention (BDI) prac-
tical reasoning model [23], where agent’s actions are selected considering a set
of goals (desires) which are subsequently selected according to agent’s beliefs.
Jason [6], is a Java-based interpreter for AgentSpeak [21], one of the first AOP
languages based on the BDI model. In AgentSpeak, agents are instances of the
agent family element. Agent’s behaviors are expressed in terms of: services and
plans. A service corresponds to a set of actions executed by agents in order to
fulfill desires. The Jason implementation of AgentSpeak strengthens the original
224 A. Shashaj et al.
3 MASs Platform
When we started thinking about creating our MAS, we had to question ourselves
about what we were aiming for. The goal was a robust, powerful, innovative prod-
uct, flexible enough to easily adjust to the business context it was going to be
used in. We really had to create something resembling a real, natural ecosystem,
where every agent contributed to the general balance and enrichment of the
community, the overall result being a framework with an enhanced user expe-
rience. First and foremost we stressed the importance of an hybrid component:
our software agents needed to be able to interact in the utmost possible natural
way with human “agents”.
To this purpose we designed the MASs Ecosystem: a Multi Agent Specialized
system based on the HMAS-UP - Hybrid Multi Agent System Unified Process-
methodology; namely the whole process that describes the UML models design of
An Industrial Multi-Agent System (MAS) Platform 225
Fig. 1. FIPA AM: every Platform contains many agents, including system agents
AMS (Agent Management System, the primary management entity) and DF (Direc-
tory Facilitator, an optional entity that maintains a list of services offered by active
agents); each Agent communicates with the others via a Message transport System
and may interact with external software and tools.
Fig. 2. MASs hierarchical model: every Container (one of the system nodes) contains
Agents, each encapsulating one or more Behaviour (the real computational logic opera-
tors). The Main Container is the coordinator, and contains the AMS and (eventually)
the DF.
Fig. 3. A simple scheme to show how the Algoritmo del Despota works in the event
of failure of the Main Container. The self election message is sent ONLY in case no
other Container answers affirmatively to the question “Are you the coordinator?”
Fig. 4. The various modules for the DAD interface (from left to right, top to bottom):
1. agents navigator, dependencies & history 2. Java classes implementation (Coder ) 3.
Error, save & deploy (Console) 4. Test (Debugger )
Fig. 5. Designer overview: a single request to the Classifier agent triggers an exchange
of messages between four cooperating agents. Developers can follow and keep track of
the communication through the dashed lines (blue lines indicate request messages,
green lines correspond to responses.
An Industrial Multi-Agent System (MAS) Platform 229
pipeline of agents, each assigned with a part of the linguistic analysis: Lemma-
tization (groups together the inflected forms of a word to analyze it as a single
item, the lemma or dictionary form), Grammar and Vocabulary check (Clean-
Phrase agent), comparison with the Corpus, identification of intents and entities
of every sentence, categorization (see Fig. 7 for an example of our linguistic
agents’ pipeline). All these agents need a specific training.
We defined three steps for producing an efficient training model:
This pool of agents, correctly instructed and trained, will basically operate
some Information Retrieval, or IR, on the specific Knowledge Base. Different
software components, external to our MASs, are necessary: Apache Spark and
Spark Streaming to build and interrogate the Knowledge Base, Apache Kafka
for the data stream interaction between MASs and the Big Data Framework
(a collection of open-source software utilities that facilitate using a distributed
system like MASs’ to solve problems involving massive amount of heterogeneous
data and calculations, including distributed storage and low latency MapReduce-
like implementation). So we had to create agents able to interact with these
external softwares: a Scheduler to launch a Spark job for the creation of the
collections which constitute the Knowledge Base; a Spark agent whose job is
to interact with Spark Streaming to load the models and train the semantic
agents and successively interact with the user request operating on the Kafka
An Industrial Multi-Agent System (MAS) Platform 231
Table 1. Examples of how small changes in analyzed phrases may alter the results
of Similarity (which evaluates how much a phrase fits into the Knowledge Base) and
Classification (associates the phrase in question with a topic form a list of available
categories) agents. Phrases are reported in Italian as the processing pipeline has been
developed and trained considering an Italian Knowledge Base. Each phrase is translated
for this paper’s purpose only.
In the first two phrases the different verb inflection of “ricaricare” (which
means to top up credit in a prepaid phone) generate very different results both in
terms of similarity and classification; same thing happened with the verb “atti-
vare”, although in this case the similarity analysis were closer. The lack in the
domain vocabulary of a specific term or a specific synonym or abbreviation will
generate highly negative conditioned results, and in some case outcomes with
high erratic component. Having MASs interact with the Big Data Framework
proves very efficient for a number of reasons: agents provide versatility in ana-
lyzing (even in real time) data of heterogeneous sources and compositions, and
guarantee simple integration of new software technologies (instead of rewriting
entire portions of a classic software, easily integrate within MASs a new agent
deputy to manage the new features); accessing the Big Data framework guaran-
tees the chance of a deep and continuous training of the agents over a knowledge
base of wide dimension.
5 Conclusion
We have presented a distributed FIPA-compliant multi-agent system, MASs
environment, which supports the whole development cycle of a multi-agent appli-
cation characterized by a set of cooperative autonomous software (agent). This
kind of application is considered a worthwhile architecture in domains where the
capacities of a single agent are limited (e.g. Distributed AI, Edge Computing,
etc). We also described a case study of a distributed application implementing
NLP tasks. In the future, improvements of the MASs environment’s components
usability as well as the interoperability with other FIPA-compliant MAS envi-
ronments will be investigated.
232 A. Shashaj et al.
References
1. Fipa specifications: The foundation for intelligent physical agent. http://www.fipa.
org/repository/standardspecs.html
2. Jade primer: parallelism and behaviours. https://www.iro.umontreal.ca/vaucher/
Agents/Jade/primer3.html
3. Bauer, B., Müller, J.P., Odell, J.: Agent UML: a formalism for specifying multia-
gent software systems. Int. J. Softw. Eng. Knowl. Eng. 11(03), 207 (2001)
4. Bauer, B., Odell, J.: UML 2.0 and agents: how to build agent-based systems with
the new UML standard. Eng. Appl. Artif. Intell. 18(2), 141 (2005)
5. Bellifemine, F., Caire, G., Poggi, A., Rimassa, G.: JADE: a software framework for
developing multi-agent applications. Lessons Learned Inf. Softw. Technol. 50(1–2),
10 (2008)
6. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-agentsystems in
AgentSpeak using Jason. Wiley, Hoboken (2007)
7. da Silva, V.T., Choren, R., de Lucena, C.J.: Using the MAS-ML to model a multi-
agent system. In: International Workshop on Software Engineering for Large-Scale
Multi-agent Systems, pp. 129–148. Springer, Heidelberg (2003)
8. Da Silva, V.T., De Lucena, C.J.: From a conceptual framework for agents and
objects to a multi-agent system modeling language. Auton. Agent. Multi-Agent
Syst. 9(1–2), 145 (2004)
9. Finin, T., Fritzson, R., McKay, D., McEntire, R.: KQML as an agent communica-
tion language. In: Proceedings of the Third International Conference on Informa-
tion and knowledge management, pp. 456–463. ACM (1994)
10. Garcia-Molina, H.: Elections in a distributed computing system. IEEE Trans. Com-
put. (1), 48 (1982)
11. Genesereth, M.R., Fikes, R.E., et al.: Knowledge interchange format-version 3.0:
reference manual (1992)
12. Gutknecht, O., Ferber, J.: In: Workshop on Infrastructure for Scalable Multi-
Agent Systems at the International Conference on Autonomous Agents, pp. 48–55.
Springer, Heidelberg (2000)
13. Hahm, O., Baccelli, E., Petersen, H., Tsiftes, N.: Operating systems for low-end
devices in the internet of things: a survey. IEEE Internet Things J. 3(5), 720 (2015)
14. Juneja, D., Jagga, A., Singh, A.: A review of FIPA standardized agent commu-
nication language and interaction protocols. J. Netw. Commun. Emerg. Technol.
5(2), 179 (2015)
15. Ogino, T., Kitagami, S., Suganuma, T., Shiratori, N.: A multi-agent based flexible
iot edge computing architecture harmonizing its control with cloud computing. Int.
J. Netw. Comput. 8(2), 218 (2018)
16. Pokahr, A., Braubach, L., Lamersdorf, W.: In: Multi-agent programming, pp. 149–
174. Springer, Heidelberg (2005)
17. Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach. Pearson Edu-
cation Limited, Malaysia (2016)
18. Severance, C.: Roy T. fielding: understanding the REST style. Computer (6), 7
(2015)
An Industrial Multi-Agent System (MAS) Platform 233
Abstract. Social networks have renewed the ways audiences experience art
and its spaces. The phenomenon concerns visitors, communicating their art
experience through social media, and the artistic institutions, communicating
their spaces and events. Sharing contents is a practice of fruition that allows the
experience to be textualized. Our research focuses on how Igers represent
themselves and their experience at museums, through a qualitative and quanti-
tative description of the data collected. Our approach can support art institu-
tions’ communication strategies.
1 Introduction
Considering museum as a semiotic space with its own specific organization of meaning
[17], the article highlights the way users live their life experience in an exhibition place
and tell it on Instagram. Considered as a novel medium, the social network allows users
and institutions to talk about their cultural experience using images, hashtags and
comments, also describing feelings and emotions These forms of textualization let
analysts to face the phenomenon on multiple levels, organizing visual and linguistic
datas. The research underlines how users, sharing their tourist-cultural experience on
the social network, classify as “museum” places that are not specifically museums. The
use of this linguistic label suggests the permeability of this semiotic space, clearly
highlighted by the Visual Data Analysis and supported by a final psycholinguistic
analysis.
Instagram posts offer different types of information: visual content, comments, hash-
tags [2] and geolocation tags (hereinafter geotags)1. Both visual and textual, these
information have communicative [8] and meta-communicative functions [7], including
1
In order to hyperlink the image’s geographical location.
denotation and connotation related to the topic of the posts and the attributes of the
picture2.
Starting from these assumptions, we have built a dataset collecting Instagram posts
tagged “#museum”, considering “museum” as a topic and as an attribute. Then we
worked on displaying all the images containing the geolocation coordinates of the
metadata. We built a list of words referring to an exhibit space, enriching it by pro-
cessing the label through Natural Language Processing techniques [12]. As a result, we
developed a list of single words, bigrams or trigrams [3] for identifying the posts
clearly geotagged in an exhibit space. In the end, with a pattern matching process, we
have derived an automatic binary coding of all geolocated pictures, with the oppor-
tunity to clearly visualize and define the position and relevance of the pictures in an
exhibit or not exhibit space (Fig. 1).
Fig. 1. Exhibition spaces or other spaces - interactive map - geographic visualization of the
population
The interactive map in Fig. 1 is an overview [19] of our work, allowing to search
and explore the data in each country (or city) of the world. Moreover, the interactive
stacked bar on the bottom has a highlight function. By clicking on the bar, it is possible
to focus attention on the two categories: post geolocated in an exhibit space or not3.
2
Hashtags and geotags present an important difference. In the first case the lexical choices to describe
the image belong to the user; in the second case the choice is instead dictated by a list made available
by the platform itself.
3
The size of each circle is proportioned to the amount of average presence of places in the population.
236 P. Vitale et al.
The score of the geolocated pictures is 67% of the total. Only 44% of the entire dataset
(56,000 posts) were geotagged in an exhibit space, while 23% geolocated are not in an
exhibit space. 33% of the collected posts are not geolocated at all. This means that
more than a half of the images do not refer clearly to any art institutions.
By using a custom python script simulating the human navigation of the Instagram web
interface, we tracked on Instagram the hashtag “museum” and harvested 56,000 posts
published during the last year (January 4, 2017 – January 4, 2018). The collected data
included image/video files, captions and comments published to each post, and
geolocation coordinates including the name of the place tagged.
Different kind of data have been collected in several different files, described
subsequently:
– Single file for each posted picture in jpg format
– Single file for comments published to each post in txt format
– Single file for geolocation coordinates and name of places of each post in json
format
– Single file for metadata of each post in json format.
Museums’ Tales: Visualizing Instagram Users’ Experience 237
The last one and the most important included: url of the picture; number of likes;
number of comments; data and time of publishing; owner_id; media_id; caption of the
post; hashtag mentioned in the caption; user_id tagged in the picture; user_id tagged in
the caption; and type of media: picture or video.
This kind of collection allows the analysis of the phenomenon in different ways and
segments. For the content analysis of the visual data as first stage of the Data refine-
ment process, we merged all the json metadata files in a tabular dataset. From this
dataset we removed all the information not relevant to the purpose of our investigation,
such as: users mentioned in hashtag and tagged in pictures, media and author ID, and
all the video files. In the second stage, we built two different subsets starting from the
tabular dataset. First, we randomly prepared a subset containing 100 images as test to
detect the more efficient judges. Then we set up a random larger subset of 1,000 images
for the designated ones. At the same time, we prepared a relational subset in which
each image from the larger subset is related to all the hashtags contained in its caption.
It contains the information retained from metadata files, geolocation coordinates, names
of places.
The aim of relating each hashtag to a category determined and substantiated by the
final psycholinguistic analysis4.
5 Data Validation
Because of the complexity of the coding process, we drew a first phase of selection of
the judges. We submitted to the candidates the first subset made by 100 pictures in
order to select the better performing ones according to the data coding criteria defined
by the research team. In the second phase, we submitted the above-mentioned subset
containing 1000 pictures to the three designated judges. After this phase we calculated
the intercoder reliability, adopting Krippendorff’s [11] Alpha formula:
1 Observeddisagreement
KALPHA ¼
Expecteddisagreement
4
During the process, trying to establish the quantitative relevance of the hashtags in the dataset, we
found a gap between the number of the images and the number of the main hashtag “museum.” This
gap pertains to the user experience of publishing, that provides the usage of the hashtag in the first
comment and not in the caption. According to Instagram’s system, only the hashtag published in the
caption and in the first comments are involved in the indexing of the images. So, we needed to enrich
the edgelist with all the hashtags present in all the textual comments files, relating them to the images
under they were published.
238 P. Vitale et al.
In this phase we found that two coders (Coder 1 and Coder 3) had a kalpha of 0.9;
meanwhile, the third (Coder 2) had a low level (around 4.1). It is considered acceptable
if the minimum level of 0.6 but it depends on the complexity of the evaluation. If the
variable is simple to define, also a 0.9, kalpha could be low. In our case, the multitude
and the fine line between many different variables makes the process very difficult. In
this way we selected Coder 1 and Coder 3 as the most reliable and relevant for the
analysis.
Before defining the rules of the coding scheme [18], we must define the two main
concepts: exhibition space and exhibited object. We decided to interpret the query
keyword “museum” in the broadest sense of Exhibition space, a place—indoor or
outdoor—where are displayed and shown to a public “objects of lasting interest or
value” (Museum, n.d.). As an instance of Exhibition Space, we intend a museum, a
cloister, the garden of a castle, a park, etc. We defined as Exhibited objects works of
art, scientific specimens, or other objects of cultural value that are gathered in a space
for the purpose of being displayed. Therefore, we consider as Exhibited objects also
architectural elements, performances, and some natural objects. On the basis of these
definitions, we describe the rules for the coding process followed by the judges. Each
variable is dichotomous even if sometimes, when they seem very related, they are not
ever mutually exclusive. This approach helps us identify some particular and
ambiguous cases such as off topic content, screenshots, collages uploaded, etc.
The designated and most efficient two judges interpreted the pictures through
an inductive-deductive coding process [5]: developing codes from the data itself using
a bottom-up method.
Every picture was examined with the following questions:
– Is the Iger represented in the picture? Is she/he indoors? Is she/he outdoors?
– Is the object represented in the picture? Is it indoors? Is it outdoors?
– Is the object represented in the picture as a figure? Or is it on the background?
After they had looked at the picture on a PC monitor, the judges put the relative
binary value for YES (1) or NO (0) on a spreadsheet.
Even if the values of variables were considered mutually exclusive, sometimes,
looking at the picture, it was not possible to identify any spatial element. In these cases,
inside and outside values were 0 for both Iger and object.
Museums’ Tales: Visualizing Instagram Users’ Experience 239
7 Results
The Visual Data Analysis has offered the identification of 21 categories of images
representing different relationships between Igers, the exhibition space and the
exhibited objects5. The hierarchy shows that Igers prefer to post pictures with single
objects displayed with elements of their exhibit’s places (Objects in the Space). Sim-
ilarly, the third category (Figure Objects in Public Space) identifies posts where the
subject of the picture is an object in a public space, such as public artworks, archi-
tectural elements, etc. When the subject of the picture is not an object, we identified a
counterpart category we termed Ground Objects in Public Space.
The second most relevant category is composed of images depicting exhibition
spaces, that is, the overall place where several objects are displayed. The subject of
these images is not a specific object, but rather the relationship between the exhibition
space and objects contained therein. Also, for this category we could find people in the
pictures, usually shot during their visit to an exhibition.
We found the score for the Close-up pictures and the outstanding number of Off-
Topic images to be considerable. On the one hand, Close-up pictures show just the
objects without any visual element that grounds them to an exhibition space. In these
cases, the user’s point of view in the picture appears to be close to the object or focused
on some details. On the other hand, all the images with no presence of objects in a
specific exhibition space were considered Off-Topic. At the end of the process we
coded 15 similar and residual categories, which show other representations of the
relationship between Igers, exhibition spaces, and objects. Because of their low scores
and their similarity, they could be aggregated into three meaningful groups: Uploaded,
Selfie, and No Shared Space (between Iger and object) that accurately describe the last
few residual categories. Even if some categories Uploaded could be identified as a
subcategory of the main categories we described above, they are actually different from
them with respect to the different binary sequence of codes assigned to them.
The No Shared Space category is for pictures shot by Igers situated in a place that is
different and separate from the one where the object is exhibited.
Selfie pictures are unique cases where the Iger is clearly identifiable in the picture.
The images in the Uploaded categories could be accounted as subcategories of the
main categories we described above, but they have been grouped in a different cate-
gory, because of the presence in the pictures of several graphic elements, such as labels,
frames, signatures, stickers etc., indicating the image has been edited before it was
5
Categories are: Objects in the Space (36, 29%); Spaces of Exhibition (13,71%); Figure Objects in
Public Space (12,49%); Close-up (12,44%); Off Topic (11,81%); Upload Objects in Space (3,62%);
Ground Objects in Public Space (3,30%); Selfie with Ground Objects (1,67%); Uploaded
Figure Objects in Public Space (1,13%); Selfie with Objects in the Space (0.72%); Uploaded
Spaces of Exhibition (0.59%); Outside Figure Objects Shot from Inside (0,50%); Selfie with Ground
Objects in Public Space (0,36%); Uploaded Selfie with Objects in the Space (0,27%); Uploaded
Ground Objects in Public Space (0,27%); Inside Objects Shot from Outside (0,23%); Selfie with
Objects with no Exhibit Context (0,18%); Outside Ground Objects Shot from Inside (0,18%); Inside
Selfie with Figure Objects in Public Space (0.09%); Uploaded Selfie Interaction with Objects
(0,09%); Objects with No Exhibit Context (0,05%).
240 P. Vitale et al.
posted on Instagram. These pictures are the result of post-production processes and
probably they don’t belong to the Iger who posted it. So, we consider them outside of
the space of exhibition, coding “Igers presence” variables as neither inside nor outside.
8 Discussion
In order to understand how many and which kind of mages Igers use for specific
exhibition, we interrelated each coded picture with the relative geotag. Among all the
geotagged pictures (44% on the dataset), Selfie categories are more geotagged in an
exhibition space (60%) than all the other pictures representing just objects or spaces of
exhibitions (45%). In particular, we noticed that Close-up and Selfie with Ground
Object posts are the less geotagged (28% and 38%), and only about half of the pictures
representing clearly the exhibition spaces (Object in the Space and Spaces of Exhi-
bition) are not geolocated. Consequently, we moved our attention to observing the
hashtags used by Igers in their posts, in order to verify if places or locations were
indicated in the caption. Considering the 20 most shared hashtags used (about 19,000
hashtags in total, average 17 hashtags per post), we noticed that only a few of them
were words referring to a place or a location (#paris, #gallery, #exhibition, #museo6).
On the contrary, besides the large amount of words related to artistic experience, we
found many hashtags for feelings (#love, #beautiful), acts of shooting (#photography,
#photo), and the merging of these two typologies (#instagood, #photooftheday, #pi-
coftheday)7. In order to understand the relationships hashtags create among categories,
we built a two-mode undirected graph (Fig. 2). Starting from the edgelist8, we sub-
stituted each picture with the associated category, as coded through the visual analysis.
Therefore, the network represents the relationships between two kinds of attributes:
their visual attributes (categories) and their metadata (hashtags). For our purpose, we
decided to assign fixed sizes. Hashtags are represented with nodes with the minimum
size in the graph, and the top 6 categories are represented with the bigger nodes. So, the
medium-size nodes represent the residual categories. Hashtags are colored in gray,
while visual categories are in light blue. The layout we have adopted to visualize this
network is Fruchterman-Reingold [6], in which the nodes with a significant proportion
of non-shared hashtags tend to move their link outwards, whereas the nodes related to
hashtags mainly shared tend to move with their link to the middle of the graph. Each
category is a network related to the others through the inner hashtags and has clusters
of distinctive hashtags positioned around the graph.
6
“Museo” is the Italian and Spanish word for “museum”.
7
Tags and percentages are: museum (100.00%); art (40, 55%); travel (15.45%); photography
(15.45%); artist (11.73%); architecture (9.91%); gallery (9.09%); painting (8.91%); love (8.64%);
contemporaryart (8.64%); history (8.55%); instagood (8.73%); beautiful (6.91%); photooftheday
(6.73%); paris (6.73%); exhibition (6.64%); arte (6.18%); design (6.18%); artwork (6.18%); museo
(6.00%); picoftheday (5.91%); photo (5.36%).
8
In which we had related the pictures to their hashtags published in comments and captions.
Museums’ Tales: Visualizing Instagram Users’ Experience 241
Fig. 2. Network visualization - overview and zoom of a two modes graph about visual
categories and their hashtags
On the right side (Fig. 2) the main categories share very fewer hashtags as against
the not shared ones, whereas most of the residual categories (Selfie, Uploaded, No
Shared Space) have many shared hashtags, both with each other and with the main
categories.
Through the Visual Data Analysis, we saw both Uploaded and Selfie pictures
showing experience museums, art galleries, etc., as inside an exhibition place. But there
is a difference between the two categories: generally, they are the figure of Uploaded
pictures, whereas they are just secondary elements, ground, for the self-representation
(Selfie).
The Visual Data Analysis makes possible a further linguistic reflection. Although
Instagram is a photosharing application, captions and hashtags, images are a rich source
of information about users behaviour, intentions and thoughts. For this reason, we
decided to apply a psycholinguistic analysis to written texts extracted in our images’
corpus. In the next section we will describe the analysis and report the results.
9 Psycholinguistic Analysis
Written texts (both captions and hashtags) were entered into a psycholinguistic anal-
ysis. Our corpus comprised 1.585.504 tokens. First of all, textual data were split into
two datasets:
Museum, which comprises all texts referring to images post-geolocated in an
exhibit space;
Not-museum, which includes all texts related to images that were not post-
geolocated in an exbit space.
242 P. Vitale et al.
The aim of the analysis was to capture people’s social and psychological states by
means of their language; specifically, we were interested in comparing two datasets, in
order to evaluate whether they differ with each other in terms of behaviors, needs,
thinking styles, or other psychological states that language might reflect. We generated
an interactive interface made by a word cloud with the 70 most frequent words in each
dataset with 10 as minimum term frequency, and their relative categories, according to
the following analysis process.
The fowling phase of the work was to automatically annotate the textual data with
LIWC program (http://liwc.wpengine.com/). This tool reads a given text and counts the
percentage of words that reflect different emotions, thinking styles, social concerns, and
even parts of speech. The tool provides a set of summary variables and a categorization
of words adopted in the text, as it is possible to explore in the dashboard shown in
Fig. 3.
The interface is designed to explore the most frequent words in the textual part of the
posts (hastags and captions) adopting a filter that let the user to observe the results when
the pictures are shot in a museum or not. On the right side, each color related to the words
shows the categories in which the words have been recognized by the algorithm. The
order of the words is related to the amount of categories in which they are found.
Museums’ Tales: Visualizing Instagram Users’ Experience 243
Summary variables. Analytical thinking, clout, authenticity, and emotional tone are
research-based composites that have been converted to 100-point scales where
0 = very low along the dimension and 100 = very high.
Analytical thinking (Analytic) refers to analytical or formal thinking. It’s a factor-
analytically derived dimension which captures the degree to which people use words
that suggest formal, logical, and hierarchical thinking patterns. People lower in ana-
lytical thinking tend to write and think using language that is more narrative ways,
focusing on the here-and-now, and personal experiences [16].
Clout refers to the relative social status, confidence, or leadership that people
display through their writing or talking. The algorithm was developed based on the
results from a series of studies where people were interacting with one another [9].
Authenticity (Authentic). When people reveal themselves in an authentic or honest
way, they are more personal, humble, and vulnerable. The algorithm for Authenticity
was derived from a series of studies where people were induced to be honest or
deceptive [14] as well as a summary of deception studies published in the years
afterwards [15].
Emotional tone (Tone). Although LIWC2015 includes both positive emotion and
negative emotion dimensions, the Tone variable puts the two dimensions into a single
summary variable [4]. The algorithm is built so that the higher the number, the more
positive the tone. Numbers below 50 suggest a more negative emotional tone. Data
reveal that in the dataset Museum Igers are more likely to adopt a language which
reflect analytic or formal thinking than in the dataset Non-Museum. This finding could
be interpreted as an evidence that, when posting images referring to exhibition places
people tend to be more objective, to describe what they see and to report details.
Conversely, textual data related to images not geo-tagged in an exhibition space
(dataset Not-Museum) seem to include a language which is more authentic and honest:
people are more incline to speak about their personal experiences and exhibit more self-
confidence or leadership (Clout values). As regards to the emotional tone, both datasets
show a very positive tone (higher than 80%), without relevant differences between
Museum and Not-Museum.
Word categories. Among all psychological dimensions available in LIWC2015,
such as linguistic categories (verbs, prepositions, future tense, past tense, swears, etc.),
psychological processes (anxiety, anger, feeling, cognitive mechanisms, etc.), and
personal concerns (money, religion, leisure, TV, achievement, home, sleep. etc.), we
selected only those categories which reached a threshold of 4% of total words in both
corpora.
Specifically, we focused on the following categories:
Affect: this variable is calculated on the basis of the sum of positive (posemo) and
negative (negemo) emotion words. The degree to which people express emotion, how
they express emotion, and the valence of that emotion can tell us how people are
experiencing the world. Research suggests that LIWC accurately identifies emotion in
language use. For example, positive emotion words (e.g., love, nice, sweet) are used in
writing about a positive event, and more negative emotion words (e.g., hurt, ugly,
nasty) are used in writing about a negative event [10]. LIWC ratings of positive and
negative emotion words correspond with human ratings of the writing excerpts [1].
244 P. Vitale et al.
10 Conclusions
Together with Visual Data Analysis, Psycholinguistic analysis has shown how the
different geolocalization and tagging change the way to describe the museum experi-
ence on a lexical level, still maintaining a positive approach to it. Igers tend to give a
positive and euphoric valorization to their “museum” visit and tale, confirming the idea
that many kinds of exposition places are lived and conceived as it. The communicative
functions related to hashtags and geotags explain the relationship that is established
between the place and the user, or the relationship narrated through uploaded images. It
is not just a referential function, through which the contexts are told, but the set of
expressive, poetic and metalinguistic functions that run through the museum’s story,
made up of images, hashtags and geotags. All these functions and the elements to
which they belong make the text able to seduce and attract the attention of other
followers and other visitors. Finding and analyzing elements and functions make our
approach also able to support art institutions to organize events and communication
strategies following Igers’ narrations.
References
1. Alpers, G.W., Winzelberg, A.J., Classen, C., Roberts, H., Dev, P., Koopman, C., et al.:
Evaluation of computerized text analysis in an Internet breast cancer support group. Comput.
Hum. Behav. 21, 361–376 (2005)
2. Bruns, A., Burgess, J.E.: The use of Twitter hashtags in the formation of ad hoc publics. In:
Proceedings of the 6th European Consortium for Political Research (ECPR) General
Conference (2011)
Museums’ Tales: Visualizing Instagram Users’ Experience 245
3. Cavnar, W.B., Trenkle, J.M.: N-gram-based text categorization. In: Proceedings of SDAIR-
94, 3rd Annual Symposium on Document Analysis and Information Retrieval, pp. 161–175
(1994)
4. Cohn, M.A., Mehl, M.R., Pennebaker, J.W.: Linguistic indicators of psychological change
after September 11, 2001. Psychol. Sci. 15(10), 687–693 (2004)
5. Corbin, J., Strauss, A.: Basics of Qualitative Research: Techniques and Procedures for
Developing Grounded Theory. Sage, Thousand Oaks (2008)
6. Fruchterman, T.M., Reingold, E.M.: Graph drawing by force-directed placement. Softw.:
Pract. Exp. 21(11), 1129–1164 (1991)
7. Giannoulakis, S., Tsapatsoulis, N.: Evaluating the descriptive power of Instagram hashtags.
J. Innov. Digit. Ecosyst. 3(2), 114–129 (2016)
8. Jakobson, R.: Essais de linguistique générale. Éditions de Minuit, Paris (1963)
9. Kacewicz, E., Pennebaker, J.W., Davis, M., Jeon, M., Graesser, A.C.: Pronoun use reflects
standings in social hierarchies. J. Lang. Soc. Psychol. 33(2), 125–143 (2013)
10. Kahn, J.H., Tobin, R.M., Massey, A.E., Anderson, J.A.: Measuring emotional expression
with the linguistic inquiry and word count. Am. J. Psychol. 120(2), 263–286 (2007)
11. Krippendorff, K.: Content analysis: An Introduction to its Methodology. Sage, Thousand
Oaks (2004)
12. Kumar, E.: Natural Language Processing. I.K International Publishing House, New Delhi
(2011)
13. Manikonda, L., Meduri, V., Kambhampati, S.: Tweeting the mind and instagramming the
heart: exploring differentiated content sharing on social media (2016)
14. Newman, M.L., Pennebaker, J.W., Berry, D.S., Richards, J.M.: Lying words: predicting
deception from linguistic styles. Pers. Soc. Psychol. Bull. 29(5), 665–675 (2003)
15. Pennebaker, J.W.: The Secret Life of Pronouns: What Our Words Say About Us.
Bloomsbury, New York (2011)
16. Pennebaker, J.W., Chung, C.K., Frazee, J., Lavergne, G.M., Beaver, D.I.: When small words
foretell academic success: the case of college admissions essays. PLoS One 9(12), e115844
(2014)
17. Pezzini, I.: Semiotica dei nuovi musei. Laterza, Roma-Bari (2011)
18. Potter, W.J., Levine-Donnerstein, D.: Rethinking validity and reliability in content analysis.
J. Appl. Commun. Res. 27(3), 258–284 (1999)
19. Shneiderman, B., The eyes have it: a task by data type taxonomy for information
visualizations. In: Proceedings of IEEE Symposium on Visual Languages, pp. 336–343
(1996)
20. Semin, G.R., Fiedler, K.: The cognitive functions of linguistic categories in describing
persons: social cognition and language. J. Pers. Soc. Psychol. 54(4), 558 (1988)
21. Tetlock, P.E.: The influence of self-presentation goals on attributional reports. Soc. Psychol.
Q. 44, 300–311 (1981)
Research Topics: A Multidisciplinary Analysis
of Online Communities to Detect
Policy-Making Indicators
1 Introduction
used the term for the first time in his text, The Third Wave [6], to indicate the improved
shape of consumers in.
Generation X. The improvement of technology devices causes an unceasing
redefinition of the modalities to share one’s own experiences, which are configured as a
composite and intricate relationship network. Taking account of these specificities,
Lévy [7] identified cyberspace as a place where individuals can generate new
knowledge and, for that reason, introduced the concept of “collective intelligence”.
To determine the value of the conversations that take place in a digital environment,
we can refer to Pea [8] who distinguishes between ritual communication and trans-
formative communication. Ritual communication gives emphasis to participation,
sharing, and continuous interaction between the members of the community, as well as
a sense of belonging. Transformative communication, on the other hand, focuses on the
transmission of learning messages. Online virtual communities have some distinctive
features: members interact with each other through the network; policies exist to
manage users’ interactions; services are used to support interaction among members
and to create a sense of belonging in the community [9].
As previously mentioned, Lévy [7] deemed that virtual space gives rise to differ-
entiated forms of intelligence and he identified cyberspace as a place where individuals
could generate new knowledge, thanks to collective intelligence. To constitute this
particular form of intelligence, the significant element (the fourth element) is the result
of the negotiated construction of individual knowledge, called the knowledge space.
Since intelligence is distributed where there are human “settlements”, then, according
to the author, information communication technologies allow democratic and global
dissemination of knowledge and, consequently, a renewed structure of social systems.
In fact, in the last few decades, there have been more and more terms to define the
phenomenon of virtual communities: discourse community, community of practices,
knowledge-building community, learning community [10]. As suggested in the spe-
cialist literature, each form of community has detailed characteristics, but there are
natural overlaps between one category and another. There are communities centered on
conversation; this is the case in discourse communities in which participants find
themselves because they share interests and needs. The massive diffusion of tech-
nologies and the Internet have increased possibilities for conversation and the differ-
entiation of issues of common interest. In the knowledge-building community, on the
other hand, the focus is on individual members’ knowledge, which contributes
knowledge for collective growth. Learning, therefore, is built in social relations and not
determined a priori.
Chism [11] believes that online conversations can carry out various educational
functions: they allow the building of a cohesive group (learning community), each
actor is responsible for achieving a common goal, they favor the elaboration of ideas,
they offer support or tutoring, and they generate positive feedback for individual
problem-solving strategies. More generally, Jenlink and Carr [12] identified three main
functions of online conversation: transactional function, if the conversation is directed
at negotiating and exchanging and/or sharing of knowledge and points of view;
transformative function, if interlocutors suspend their own opinions and judgment on
what is said by others; transcend function, if the conversation leads to the overcoming
of personal convictions, in order to advance collective knowledge.
248 I. S. Iannotta and P. Vitale
Communities of practice hint at their constructivist heritage [13]; the main principle
is to shift control from instructors to learners and to the learning path. Siemens [14]
believes that the Internet has heralded the inception of a new educational paradigm
called connectivism. Social constructivist views recognize that learners produce
knowledge as they attempt to understand their shared experiences and actively create
meaning. Learners regularly select and follow their own learning (they do this differ-
ently, depending on age).
The interaction between members of the knowledge building community is
therefore the essential element of the social process of knowledge building, and allows
every participant to become a knowledge builder rather than a passive interpreter of the
learning process [15]. A key concept of communities of practice is community
knowledge, in which the sum of this community knowledge is greater than the sum of
individual participant knowledge [16].
2 Research Description
Starting from the results and the methodology of a preliminary study [17], propose a
multidisciplinary approach: beginning with a large textual dataset created using web
mining techniques, we have built an interactive visual tool to explore and navigate
topics extracted from data mined from Facebook conversations. Due to its extreme
popularity, Facebook offers the possibility to collect heterogeneous data. In addition,
the language on Facebook is more emotional and interpersonal compared with other
social media [4]. To analyze topics, we borrowed techniques from natural language
processing (NLP); in particular, we address the problem by proposing an approach
based on topic modeling.
Topic modeling offers an interesting machine-learning-based solution [18] to
manage large textual data and to discover a hidden thematic structure in a collection of
documents; it allows one to find salient and the most debated themes using latent
semantic analysis and, in a second step, perform an interactive time analysis of a
particular topic. We propose an interdisciplinary approach, combining NLP with data
visualization methods to translate data into a visual system to explore the collection.
We designed a set of views about the relevance of topics in Facebook conversations in
order to examine them dynamically, basing their value on time spent on each topic. The
tool is composed of a set of “views” and navigation filters which allow exploration of
the dataset for different ranks and trends, and through various levels of detail, following
the classical pattern overview first, zoom and filter, then details-on-demand [19].
Visualization is primarily designed as an exploratory tool which allows a visual
interactive analysis of Facebook conversations at different levels of depth and
granularity.
Research Topics: A Multidisciplinary Analysis of Online Communities 249
3 Data Collection
The analysis was carried out on large text corpora, pertaining to seven years of con-
versation on the largest and longest-running Italian Facebook group about research
topics, with more than 14000 members: ROARS (www.roars.it). The group is public
and all the data that was processed for this analysis are available and accessible via
queries to the Facebook Public API.
The dataset contains 183762 rows, starting on the first day, 30 September 2011,
until the final day of data collection, 5 April, 2017.
The posts that were published by the members inside the group number 18891 and,
for each of these, we collected the typology (i.e., status, video, link, photos, etc.) and
the number of interactions generated, such as shares, comments, likes, and reactions
(i.e., like, love, wow, sad, angry, etc.). The latter interactions could represent a scale of
base emotions, in which like and love have a positive polarity, wow has a neutral
polarity, and sad and angry are clearly identifiable as negative.
The large remaining number of posts—164871 rows—are the comments published
with their relevance (comment, likes) and, if any, the user_id and name of users to
whom the response was sent.
Our purpose was to focus only on the comments.
4 Data Pre-processing
For our purposes, we carried out two processes of data refining, building two different
datasets for micro and macro exploration. First, we decided to focus our attention on an
analysis of the evolving relevance of the topic in these communities and to detect this
in several corpora for each year. Moreover, to detect critical topics, we filtered our
dataset, focusing attention on all the statuses (first level of publications inside the
group) marked by a percentage of negative emotions greater or equal to 50%. Once we
detected the potentially critical statuses, we collected all their comments and we
merged all the textual contents (critical statuses and their comments) into a unique
dataset.
Considering that the reactions were introduced on the 24 February, 2016 (and the
slow rise of usage), the ones that we defined as “critical status” are interestingly 23% of
a total of 4521 posts.
For the efficient topic modeling analysis, it was necessary to convert the dataset into
a plain text format, removing links, stop words, and the entire non-textual format used
by the users, such as gif, images, videos, memes, and emoji. Our goal was to explore
latent topics and relations, so we chose to analyze data by borrowing techniques from
natural language processing (NLP). In particular—as a first step—we chose to pre-
process data, following the entire NLP pipeline widely talked about in the literature
[20]. We addressed the problem by proposing an approach based on topic modeling. As
shown by several recent studies, topic modeling offers an interesting machine-learning-
based solution [18] to manage large textual data and to discover a hidden thematic
structure in a collection of documents: they allow one to find salient and the most
debated themes using latent semantic analysis and, in a second step, to perform an
250 I. S. Iannotta and P. Vitale
5 Data Visualization
In the following visualizations, with regard to the macro exploration of the thematic
trends in the conversation, we focused our attention on the comments published from 1
January 2012 to 31 December 2016 in order to avoid partial results in the first and last
years.
After data processing carried out using the MALLET algorithm, we detected the
top five topics for each year examined. By interpreting the results, seven topics for
different fields were identified. However, not all the same topics were presented for
each year. For example, the topic of the theme of research funding starts to appear in
the top five from 2014; the topic of the school and the Italian Ministry of Education
disappears in 2015.
The topic concerning political arguments, labelled policymaking, remains stable in
second place, after dropping to third in 2012. The topic evaluation/National Academic
Qualification (NAQ) (explained below), is always present in the top five topics. Table 2
shows some examples of the labelled topics:
Research Topics: A Multidisciplinary Analysis of Online Communities 251
Many studies deal with the visualization of data from large text corpora or topical
hierarchies, particularly focusing attention on the words that comprise the topics and
applying visual formatting such as networks [23]. In order to better understand the
evolving relevance of the topics in a text, there are many visual strategies. These start
with the adoption of the “stacked graph” by ThemeRiver [24] through to the approach
of TIARA [25], which includes in the graph a summarization of the words, and
ultimately to the flow graph of TextFlow [26] which allows observation of the rela-
tionship (“splitting and merging”) between the topics.
In order to achieve the research goal, we decided to adopt a hierarchial alluvial
diagram [27] to clearly understand in an overview diagram (Fig. 1) which one of the
seven topics detected is relevant for each year. In the following visualization, on the
upper side we present all the topics in ascending order, from left to right. Each tick
represents a year, with a fixed size [19].
To better understand the evolving ranking of the topics over time, we used a
Sankey diagram [28], with a timeline on the ordinates. Moreover, on the abscissae,
there are no quantitative values; however, there is an inverted top-down scale from 1 to
6. Therefore, the line in the first position on a specific year represents the main topic of
the year. Each topic has a different color that defines its position until the last year.
When a topic could not be detected in the top five topics of the year, its path does
not start from the tick. For instance, the topic regulatory framework only appears in
2016.
In the upper right side, there is a dropdown menu allowing one to switch from the
hierarchy to trend visualization (Fig. 3).
All the topics detected may be defined as “educational topics”, except for chit-chat.
We labelled this topic in this way because it does not represent any particular theme;
however, it includes all the daily conversations among the members.
The topic scientific production pertains to all conversations about journals, reviews,
citations, and other words about academic publishing. Evaluation NAQ (National
Academic Qualification) is the topic in which people talk about evaluation criteria for
promotion, in order to achieve the title of academic professor in Italy or to improve
one’s own academic role. Policy making is the cluster of conversation about the work
of Italian politicians, specifically, presidents and ministers. The topic regulatory
framework is a little different. Here, people talk more specifically about the laws in the
field of school and research. In schooling/MIUR members generally talk about school
and relationships between one’s academic career and the attainability of earning the
title of professor in compulsory education. Finally, the topic funding pertains to all the
comments about provision and management of funds.
By selecting the “trends” button in the dropdown menu positioned in the upper
right corner of the former visualization, it is possible to change the view. In the
following visualization, it is possible to change the reading perspective of the data,
focusing attention not on the weight of each topic, but on the relevance evolutions. For
this purpose, we decided to adopt a bump chart, in which each topic, colored as before,
is positioned on a timeline. Each path has a standard maximum size, so it is not possible
to make comparisons among different topics.
For instance, for the topic schooling/MIUR, it is possible to advise that there is a
different amount of relevance between the year 2012 and 2014, even if it is still in third
position. Moreover, the topic funding seems to be decreasing, albeit having a stable
position (fourth) in the last two years analyzed.
6 Critical Topics
Using the same approach, we also analyzed the content for critical topics; however, in
this case, the observed period is between the launch of the reactions interaction and the
day of the data collection process: 23 February 2016 to 5 April 2017.
254 I. S. Iannotta and P. Vitale
Topic Keyword
Evaluation NAQ Anni valutazione commissione ricercatori concorso
vqr
Issues about scientific career of a Articolo scritto tesi plagio scrivere ministro
Minister
University inequality North/South Studenti scuola sud nord università lavoro laurea
As carried out for topic detection in posts, for critical topics we developed manual
decoding and labelling. We re-identified, evaluation NAQ: this is the topic in which
people talk about the evaluation criteria for entitling, in order to attain an academic title
or to improve one’s own academic career. Critical topic keywords are “years, evalu-
ation, commission, researcher, selection”. The second critical topic concerns facts and
discussions related to a recent news item which has long been covered by the media:
the authors of this study define this as the “issue about the scientific career of a
Minister”. The news reported the supposed plagiarism of the doctoral thesis of the ex-
Minister of Public Administration; the case closed with a full acquittal. In this case, as
reported below, the keywords are: “article, written, thesis, plagiarism, writer, Minister”.
In our analysis, the label “University inequality North/South” reveals the unfortunately
evident disparity that exists between universities in Southern Italy and those in the
North in terms of structures and possibilities. Keywords are “students, school, north,
south, universities, degree”. The critical topic of financing distinctly emerges and, in
this case, we labelled it “funding and comparison”, because it was noted in posts that
members of the community talked about comparison with others European Countries.
We infer this from keywords: “research, Italy, euro, Germany, university, financing”.
There is also a comments area that it is not possible to clearly classify, because the
main words are “problem, part, system, right, always, research”; we called this chit-
chat. A sixth critical topic identified in this research is “person to person call”; in other
words, this discussion theme concerns a direct call from the school head. Keywords
that identified this theme are: “Government, Natta, teaching chair, Minister, reform,
President”. A final critical topic is the subject of “research approach missing in
decision-making”; the list of keywords is “research, university, xylella, Italian, scien-
tist, bacterium”. This topic refers to a news report which gave rise to a debate about the
value of news that can be recognized as “scientific” and is for this reason useful to
address decision-making. To visualize these results, we decided to adopt a treemap
(Fig. 4) [29] in which it is possible to show the hierarchy of the critical topics and their
most relevant keywords, used to decode the meaning. The sizes and color scale refer to
the dirichlet parameter, so the ranking of each topic in the top seven is clearly readable.
Research Topics: A Multidisciplinary Analysis of Online Communities 255
7 Discussion
In this paper, the authors first focused their attention on the comments published in the
ROARS Facebook group from 1 January 2012 to 31 December 2016. This choice was
made in order to elude potential partial results in the first year, 2011, and in the last
year, 2017. The MALLET algorithm allows the detection of the top five topics for each
year from 2012 to 2016. As already mentioned, topics are not presented every year of
analysis. For example, the topic labelled research funding appears in 2014. It is pos-
sible to infer that this argument, or similar arguments, was the subject of Facebook
conversation even before 2014. Nevertheless, in 2014, the European Researcher wrote
an open letter opposing vicious budget cuts that were wrecking scientific based
research and threatening Europe’s economic future. Clearly, the interest of the com-
munity of researchers in ROARS rose in that period. Visualization of data shows
(Fig. 2) that only the topic labelled Evaluation NAQ is represented in every year of
analysis, but even this had its ups and downs. It is important to point out that the topic
chit-chat is present every year, but this topic does not signify any specific theme. It
follows that the evaluation of the scientific path and relative NAQ are arguments
particularly significant for Italian research.
The second aim of this research study concerns critical topics in the observed
period between the launch of the reactions interaction and the day of the data collection
process (23 February 2016 to 5 April 2017). Data processing led to the detection of
seven critical topics, as reported in the previous section. We can summarize the results
of the analyses carried out on critical topics in two macro-categories: the first macro-
category we call “inequality”, the second “research value”. The first macro-category is
easily explained: inequality refers to all those discriminations, more or less evident,
concerning the field of education or research. Among these inequalities are, for
example, the difference in the conditions of possibility between north and south, the
quality of the services offered by formal educational contexts, and inequality which
256 I. S. Iannotta and P. Vitale
also affects job opportunities at the end of the course of study. With regard to the
second macro-category, which we have called “research value”, in this case the label
identifies a double meaning. On the one hand, it identifies all the evaluation methods
that involve the world of education and research in our country, such as, for example
VQR or the National Academic Qualification. On the other hand, it concerns the value,
in the proper meaning of the term, given to the concept of research. What value does
research have? Is it possible to use research data to address the political decision-
maker? Do we believe in the value of research?
The results of the analysis carried out on critical topics leave ample space for
debate; certainly the connotations of the reactions ought to be taken into consideration.
8 Conclusions
This study follows a multidisciplinary approach: starting from a large textual dataset
produced using web mining techniques, the authors built an interactive visual tool. It
was possible to identify and analyze topics extracted from data mined from Facebook
conversations and to understand the connotation of the interactions in the ROARS
community. Individual knowledge and collective knowledge should support each
other. Rather than creating performance goals, learning communities produce artifacts
and histories that aid in the transfer of knowledge and the increase of understanding of
common problems or tasks. In fact, at any moment and from any place, each member
of the online community can access and mediate within a single exchange. Such
collaborative construction directly invests the actions involved in the interaction and,
indirectly, in the whole community. Despite evidence of such constructive collabora-
tion in the ROARS community, it is necessary to further investigate the relationship
between posts and comments in order to understand the actual value of the practice
community from an educational point of view.
References
1. Ahmad, A.N.: Is Twitter a useful tool for journalists? J. Media Pract. 11(2), 145–155 (2010)
2. Sheffer, M.L., Schultz, B.: Paradigm shift or passing fad? Twitter and sports journalism. Int.
J. Sport Commun. 3(4), 472–484 (2010)
3. Hermida, A.: # Journalism: reconfiguring journalism research about Twitter, one tweet at a
time. Digit. J. 1(3), 295–313 (2013)
4. Shah, D.V., Cho, J., Eveland, W.P., Kwak, N.: Information and expression in a digital age:
modeling Internet effects on civic participation. Commun. Res. 32(5), 531–565 (2005)
5. McLuhan, M., Nevitt, B.: Take Today; The Executive as Dropout. Harcourt Brace
Jovanovich, New York (1972)
6. Toffler, A.: The Third Wave. Bantam Books, New York (1980)
7. Lévy, P.: L’intelligenza collettiva. Per un’antropologia del cyberspazio. Feltrinelli, Milano
(1996)
8. Pea, R.D.: Seeing what we build together: distributed multimedia learning environments for
transformative communication. J. Learn. Sci. 13(3), 285–299 (1994)
Research Topics: A Multidisciplinary Analysis of Online Communities 257
1 Introduction
This section introduces the proposed transesophageal echo examination support sys-
tem. The proposed system has the following functions: (1) display of CT section
imitating the echocardiogram echo image, (2) presentation of echo display location on
a volume rendering display, and (3) measurement on a pseudo echocardiogram from
the CT image. Figure 1 shows the user interface.
Display of a CT Section Imitating an Echocardiogram Image
The echocardiogram image is a fan-shaped image centered on the probe position shown
in Fig. 1. The proposed system imitates an echocardiogram and generates a CT cross-
section (hereinafter referred to as a CT echo image) of the specified range and angle
from the virtual probe position. Using this function, it is possible to facilitate the
correspondence between echocardiography and CT echo images.
Presentation of Echo Display Location on a Volume Rendering Display
This function displays the fan area displayed by beam simulation has displayed in the
same 3D CT image space as the volume rendering display shown in Fig. 2. Using this
system simultaneously with actual echocardiography, it becomes possible for the
doctor to accurately grasp the current position of the probe being operated in three
dimensions. However, there are cases in which CT echo images become difficult to
read depending on the state of volume rendering and the position of the probe.
Therefore, we extended the function whereby the doctor can optionally set the trans-
parency and transfer function of volume rendering.
Fig. 1. User interface of the proposed system Fig. 2. Echo display location on a
volume rendering display
260 H. Takahashi et al.
Fig. 3. Virtual echo image and measurement (distance and area) (unit: mm)
Even if the same region is displayed, echocardiography and CT images look com-
pletely different. By filtering the CT image and making it look similar to the
echocardiographic image, the echocardiographic image and the CT image can be easily
contrasted. The structure of this image filter is as follows. Let k be the position of the
starting pixel of the beam in the pseudo echo image generated on the two-dimensional
image. In addition, let (x, y) be the position of an arbitrary pixel, and let c(x, y) be the
luminance value of this pixel. The distance between k and (x, y) can be calculated as
follows:
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
l ¼ ðxk xc Þ2 þ ðyk yc Þ2 ð1Þ
( n
r
n
r 1
s¼ ð3Þ
r \1
n
1
n1
P¼ ð4Þ
2s
The pixel c′ is calculated as follows:
PP PP
0 i¼P j¼P cðx þ si; y þ siÞ
c ðx; yÞ ¼ ð5Þ
ð2P þ 1Þ2
This is a smoothing filter with sampling interval s, in which the range in the x and
y directions is [− Ps, Ps]. The difference in the results when the sampling interval is
changed is shown in Figs. 4 and 5. This filter reproduces the state in which the intensity
has extended away from the probe position, as in the original echo image shown in
Fig. 6. This smoothing filter is fast and suitable for interactive operation.
Fig. 4. Case of sampling with a high density Fig. 5. Case of sampling with low density
R ¼ Rx Ry Rz ð6Þ
0 1
1 0 0
Rx ðhÞ ¼ @ 0 cos h sin h A ð7Þ
0 sin h cos h
0 1
cos h 0 sin h
Ry ðhÞ ¼ @ 0 1 0 A ð8Þ
sin h 0 cos h
0 1
cos h sin h 0
Rz ðhÞ ¼ @ sin h cos h 0A ð9Þ
0 0 1
In the case of relative rotation, the following calculation has been performed. Here,
n is the rotation axis of length 1, and R is the rotation formula of Rodriguez rotating
axis n by h, where
n ¼ ð n1 ; n 2 ; n3 Þ ð10Þ
0 1
cos h þ n21 ð1 cos hÞ n1 n2 ð1 cos hÞ n3 sin h n1 n3 ð1 cos hÞ þ n2 sin h
@
RðnÞ ¼ n2 n1 ð1 cos hÞ þ n3 sin h cos h þ n22 ð1 cos hÞ n2 n3 ð1 cos hÞ n1 sin h A
n3 n1 ð1 cos hÞ n2 sin h n3 n2 ð1 cos hÞ þ n1 sin h cos h þ n23 ð1 cos hÞ
ð11Þ
When the current rotation axes are xa, ya, and za (where xa ? ya ? za and
xa 6¼ ya 6¼ za ), new rotation axes about xa are expressed as follows:
0
xa ¼ xa ð12Þ
0
ya ¼ Rðxa Þya ð13Þ
0
za ¼ Rðxa Þza ð14Þ
5 Evaluation
The existing transesophageal echo apparatus does not have simultaneous display of
beam range and volume rendering and the distance measurement function.
Subjective evaluation was performed using this system for one doctor. The doctor
performed the three functions shown in Sect. 2. The functions are (1) display of the CT
section imitating the echocardiogram echo image, (2) presentation of echo display
location on a volume rendering display, and (3) measurement on a pseudo echocar-
diography from a CT image.
264 H. Takahashi et al.
Smooth real time operation was realized for all functions, even if the user interface
was different from the actual probe operation. Transesophageal echocardiography is
very patient. In addition, the doctor who examined it required a lot of time and
attention. The doctors using this system reported its effectiveness.
On the other hand, the echocardiographic filter was not faithfully reproduced. This
requires further improvement of the reproduction method.
6 Conclusion
Acknowledgments. The present study was supported by JSPS KAKENHI Grant Number
26350541 (Grant-in-Aid for Scientific Research C) “Basic research on pre-operative and intra-
operative support system for tailor-made medical treatment” and the Public Interest Foundation
of the Japan Keirin Association.
References
1. Sekimura, S., Doi, A., Kato, K., Hozawa, M., Morino, Y.: An extraction method of coronary
artery and left ventricle from heart CT images based on hough transformation and region
growing. In: The Twelfth 2017 International Conference on Knowledge, Information and
Creativity Support Systems (KICCS 2017), November 2017
2. Ishizuka, N., Ashihara, K.: Transesophageal echocardiography and diagnosis Atlas Series
ultrasonic knitting vector core, March 2012. (in Japanese)
3. Okamoto, H., Sugimura, S.: Transesophageal echocardiography - basic method and training
of how to take, how to diagnose Yodosha, 1 June 2011. (in Japanese)
A Study of 3D Shape Similarity Search
in Point Representation by Using
Machine Learning
Abstract. 3D shape similarity seach have been studied for detecting or finding
a specified 3D model among 3D CAD model database. We propose to use 3D
point data for the search, because it has become easier to obtain 3D point data by
photographs. CAD data is converted into 3D point data in advance. Then, using
machine learning, we attempt to match those data with the 3D point data
acquired in the field. It can be expected that the accuracy of matching is
improved by directly handling 3D data. As a preliminary trial, we have tried to
clasify 10 kinds of chair models in represented as 3D point data with a machine
learning approach. It was suggested that 3D shape matching between 3D point
data is possible by our proposed method as the result.
1 Introduction
In the manufacturing maintenance field, it is often required to identify the exact product
name of a real object in front of you. In order to identify this product, it is currently
inquired about the product by a two-dimensional image. A photograph taken at the
product operation site is sent to a service center, and a person who is familiar with the
product recognizes the feature and identifies the product identification number as
shown in Fig. 1.
So far, many image processing researches and developments have been performed
to support this work, and they have achieved certain results. However, since the
acquisition of 3D shapes has been becoming easy, it has been examined whether the
matching work can be effectively performed by using the 3D point data. Therefore, by
adding point cloud data to conventional three-dimensional CAD data, I have started to
study a fundamental system that handles both design data and measurement data
efficiently.
As our start, I started to investigate the possibility of 3D shape similarity search
using 3D point cloud data by using machine learning. In this paper, we report the
concept and the preliminary test results.
The final goal is to develop a new data management framework for PLM (Product
Lifecycle Management) which can handle both surface and point data. High-speed,
high-precision laser measurement and 3D shape measurement by photographs are
generally used, and a large amount of point data has being acquired [1–3]. However, at
present, point data is transient data for obtaining surface data for reverse engineering
[4], and it is rare to use point as it is. Therefore we are considering how to use the point
data as it is.
We have developed a technology to convert surface data to point data at high speed
[5–7]. Using this technology, we plan to convert CAD data to point data and use the
point data as a subset of CAD data. If the product can be identified by using the point
data measured in the field and the point data that is a subset of CAD data, it is not
necessary to convert point data back to surface data like shown in Fig. 2. In the future,
when 3D measurement becomes easier, 3D shape search based on point data has the
potential to be maintenance work in the manufacturing industry effective.
3 Related Works
3D shape recognition has long been studied, and various methods have been proposed,
such as a histogram-based method [8] in Fig. 3(a), a visual-similarity-based method [9]
in Fig. 3(b), and others [10, 11]. In this research, we propose 3D shape similarity
search by introducing machine learning into histogram-based method. In the histogram-
based method, as the first stage, points are generated randomly on the object surface.
Thereafter, as a key of the 3D shape similarity search, a histogram of the distance from
a certain point, for example, the center of gravity or a histogram of the distance
between all the points are calculated [12].
(a) (b)
Fig. 3. Typical methods of 3D shape similarity search (a) Histogram-based method (b) visual-
similarity-based method: the picture indicates the method by using images viewed from all
directions in 360°
In this study, we apply a fast point generation technology we developed to the stage of
point generation on the object surface. Our point generation method can generate point
data in various resolutions for the object while changing two parameters. Since the
proposed method is fast, it is easy to generate a lot of point data sets quickly for one
object. Taking advantage of this characteristic, a large number of point cloud data sets can
be generated and used to learn the histograms for machine learning. We used the two
kinds of distance histograms. The first is the distance histogram from the center of gravity
of all points to all points, and the second is the distance histogram from the farthest point
from the gravity point to all points. In this paper, the former is called H1 histogram and
the latter is called H2 histogram. The next section describes our point generation method.
In this section, we introduce our method [5–7] for point generation from the surface
object. It uses rendering process in computer graphics. The output of rendering with Z
buffer algorithm is stored in memory area called frame buffer and Z buffer separately.
The color information is stored in frame buffer and the depth information is stored in Z
buffer respectively shown in Fig. 4.
268 H. Miyachi and K. Murakami
Fig. 4. Color and depth information in graphics memory after Z buffer rendering.
Combining these two kinds of data, 2.5 dimensional point data can be obtained.
By rendering the object from various viewpoints, it is possible to acquire many
kinds of 2.5 dimensional point data viewed from various directions as shown in Fig. 5.
Furthermore, combining all of 2.5 dimensional point data, 3D point data to represent
entire 3D object can be obtained. In the processes of Figs. 4 and 5, there is one
parameter each which can be determined arbitrarily. In Fig. 4, the display resolution,
that is, the product of the vertical and horizontal image pixel sizes of the frame buffer or
Z buffer becomes a parameter for determining the density of point data generated. In
Fig. 5, the number of direction from which 2.5-dimensional data is to be acquired, that
is, the number of view point, is another parameter for determining the density of the
point data generated.
Fig. 5. Reconstructing 3D point data by combining of multiple 2.5D point data sets.
A Study of 3D Shape Similarity Search in Point Representation 269
5 Experiment
5.1 Experiment Procedure
The outline of experiment procedure is illustrated in Fig. 6. Although our goal is to
search for 3D shapes represented as point data in a CAD database similar to the point
data measured in the field, as shown in Fig. 2, but here we study feasibility of searching
3D point data by using a histogram approach with machine learning.
Table 1. Name and download site (Database) for each chair. Database 1: 3Delicious [13], 2:
Free3D [14]
Model ID Name Database
1 13494_Folding_Chairs_v1_L3.stl 2
2 ArmchiairHollyHunt130518.stl 1
3 ArmchairclassicN120518.s tl 1
4 Chair.stl 2
5 ChairMulanCattelanItaliaN040519.stl 1
6 ChairbarN230918.stl 1
7 ChairditamoderrnN220419.stl 1
8 OldChair.stl 2
9 SeatINARTN040519.stl 1
10 obensandalye.stl 2
H1 and H2 histogram were calculated from those point data. The histogram was
divided into 1000 from 0 to the maximum value which is the average of the maximum
value of the data set, and the frequency was normalized by percentage. The all of H1
histogram of chairs are shown in Fig. 8. Each graph contains 900 histograms. From this
figure, it can be seen that even if the two parameters at the point generation are
changed, the general tendency is the same, but the details are different.
A Study of 3D Shape Similarity Search in Point Representation 271
The CNN consists of two convolution blocks and one full connected block. The
convolution block consists of two convolution layers (filter size = 3, stride = 1) and
one pooling (maximum value). The full connected block reduces the number of
parameter from 1024 to 10. ReLU (Rectified Linear Normalization) is used as an
activation function. Batch Normalization [19] and Dropout [20] (50%) are used for
avoiding overfitting. This program is built on KERAS with Python language. From the
total number of 3000 experiment data, 2700 were used for the learning and 300 were
used for the evaluation.
6 Conclusion
This paper described a preliminary trial result to identify the chair with a machine
learning approach in the data sets of 3D point data generated from 3D geometry data.
We used two types of histograms as the key of the identification. The one was the
distance histogram from the center of the gravity to the all points and the other was the
distance histogram from the farthest point from the center of the gravity to the all
A Study of 3D Shape Similarity Search in Point Representation 273
points. As a result, it was suggested that 3D shape matching between 3D point data is
possible by machine learning.
In this test, only 10 types of chair data were used. However, in order to show the
possibility of general shape recognition, it is necessary to identify various data. As the
next step, we will confirm the identification performance of simple primitives such as
spheres, cones, and cubes, and then investigate the identification performance for
complex and diverse 3D shapes such as animals, ships, and cars.
References
1. Buonamici, F., Carfagni, M., Furferi, R., Governi, L., Lapini, A., Volpe, Y.: Reverse
engineering modeling methods and tools: a survey. Comput.-Aided Design Appl. 15(3),
443–464 (2018)
2. Agarwal, S., Furukawa, Y., Snavely, N., Simon, I., Curless, B., Seitz, S.M., Szeliski, R.:
Building rome in a day. Commun. ACM 54(10), 105–112 (2011)
3. Mizoguchi, T., Kuma, T., Kobayashi, Y., Shirai, K.: Manhattan-world assumption for as-
built modeling industrial plant. Key Eng. Mater. 523, 350 (2012)
4. Kashiwara, K., Kanai, S., Date, S., Kim, T.: Automatic recognition and modeling of piping
system from large-scale terrestrial laser scanned point cloud. In: ACDDE (2012)
5. Miyachi, H.: Data reduction by points extraction in consideration of viewpoint positions of
observer. Trans. VSJ 36(8), 40–45 (2016). (in Japanese)
6. Miyachi, H.: Quality evaluation of the data reduction method by point rendering. In: The 3rd
International Symposium on BioComplexity, pp. 986–990 (2018)
7. Miyachi, H.: Quality evaluation of 3D image represented by points. In: The 21st
International Symposium on Artificial Life and Robotics, pp. 686–689 (2016)
8. Ankerst, M., Kastenmüller, G., Kriegel, H.-P., Seidl, T.: 3D shape histograms for similarity
search and classification. In: Proceedings of 6th International Symposium on Spatial
Databases. Lecture Notes in Computer Science (1999)
9. Chen, D.-Y., Tian, X.-P., Shen, Y.-T., Ouhyoung, M.: On visual similarity based 3D model
retrieval. In: Computer Graphics Forum (EUROGRAPHICS 2003), vol. 22, no. 3, pp. 223–
232 (2003)
10. Li, Y., Li, W.: A survey of sketch-based image retrieval. Mach. Vis. Appl. 29(7), 1083–1100
(2018)
11. Tabia, H., Laga, H.: Covariance-based descriptors for efficient 3D shape matching, retrieval,
and classification. IEEE Trans. Multimed. 17(9), 1591–1603 (2015)
12. Osada, R., Funkhouser, T., Chazelle, B., Dobkin, D.: Shape distributions. ACM TOG 21(4),
807–832 (2002)
13. Download site 3 Delicious (2019). https://3delicious.net/
14. Download site Free3D (2019). https://free3d.com/ja/3d-model/folding-chairs-v1–612720.
html
15. Glorot, X., Bordes, A., Bengio, Y.: Domain adaptation for large-scale sentiment
classification: a deep learning approach. In: Proceedings of the Twenty-eight International
Conference on Machine Learning (ICML 2011), June 2011
274 H. Miyachi and K. Murakami
16. Fukushima, K., Miyake, S.: Neocognitron: a new algorithm for pattern recognition tolerant
of deformations and shifts in position. Pattern Recognition 15(6), 455–469 (1982)
17. LeCun, Y., Bottou, L., Bengio, Y., Haffner, P.: Gradient-based learning applied to document
recognition. Proc. IEEE 86(11), 2278–2324 (1998)
18. Krizhevsky, A., Sutskever, I., Hinton, G.E: ImageNet classification with deep convolutional
neural networks. In: Proceedings of NIPS (2012)
19. Hinton, G., Srivastava, N., Krizhevsky, A., Sutskever, I., Salakhutdinov, R.R.: Improving
neural networks by preventing co-adaptation of feature detectors (2012)
20. Ioffe, S., Szegedy, C.: Batch normalization: accelerating deep network training by reducing
internal covariate shift (2015)
A Fog-Cloud Approach to Enhance
Communication in a Distance Learning Cloud
Based System
1 Introduction
Still regarded as a solution to storage and processing problems, the use of a simple
cloud-computing infrastructure has been questionable. One problem faced by this type
of technological solution is the scalability and performance of the applications. With
this, other paradigms of computing systems, such as Fog Computing, have been
researched and employed in both industry and the academia. Examples of such an
interest are the papers and research presented in [1–3].
The interest in new paradigms has been growing, especially in the academic milieu
and companies with a large amount of geographically distributed data. The use of
Cloud Computing has shown different bottlenecks, such as latency and flow, which are
limited by the network. There are also security issues, large-volume of data processing
and time constraint, as can be seen in research projects [4] and [5].
While Cloud Computing-based architectures focus on centralization, Fog Com-
puting approaches intends to decentralize the network by bringing data prepossessing
and communication requirements to the local network. Therefore, Fog Computing is a
decentralized computing architecture where data, communications, storage, applica-
tions, and management are distributed between the data source and the cloud [6].
Distance education courses in Brazil aim to reach students who are in regions
located far from the educational institution. In this way, remote centers or units, lit-
erally translated from Portuguese as “educational poles”, are located in small towns so
that students have access to school laboratories and local didactic support, without the
need to attend the main institution’s campus. Institutions that offer distance-learning
courses adopt platforms with a Cloud Computing architecture in which data storage and
processing are centralized in the main educational institution. In this process, teachers
and students interact with each other using an online platform.
The educational institution here under study has the system of “educational poles”
(henceforth referred to as ‘supporting off-campus units’ or ‘remote units’). These
remote units are geographically spread and are used for performing tasks in the
computational cloud, whose source platform is physically located in the main campus.
A problem arises when the quality of the Internet connection does not support the
volume of data in the network, which also negatively impacts the students’ assessment
of the off-campus unit, and therefore the user’s Quality of Experience (QoE).
With respect to this technological model based on cloud, distance education courses
in Brazil face difficulties in view of the precarious technological infrastructure of some
schools. In this context, the problem tackled in the present study is: How to improve the
infrastructure of the supporting off-campus units with the purpose of enabling the full
use of online education platforms, reducing communication failures and deploying a
low-cost computational solution?
In this context, this paper aims provide educational institutions that offer courses in
the distance modality with a financially interesting solution to communication prob-
lems. The proposal of this study was evaluated through an experiment in which the
cooperation of fog-cloud proves to be a distinguishing feature towards scalability and
better performance of the application.
The paper is organized in seven sections, the first one being the introduction and
presentation of the scope of the problem. Second section presents the theoretical
foundation, introducing the concepts of Cloud and Fog Computing. The topic pre-
sented in section three is related work that aims to elucidate the state of the art. Fourth
section addresses the proposed solution, revealing the initial motivation of the study.
Subsequently, the experimental results are presented, and finally conclusions are drawn
and future work is suggested.
2 Theoretical Foundation
This section presents the theoretical basis necessary to understand the concepts
addressed in this study, considering the main research areas: Fog and Cloud computing
and Distance Learning.
3 Related Works
This section presents studies that relate to the main themes of the work developed in
this paper, that is: Cloud Computing, Fog Computing and Distance Education.
The first important point to be made is that cloud-based architectures are no longer
sufficient to support the demands of the Internet, especially when it comes to data
volume allied to delivery time [7]. In the classic configuration of Cloud Computing
278 L. Larcher et al.
(Fig. 1), all data processing is the responsibility of the cloud, and clients are only
passive elements.
In this context, in [8] the authors present Fog Computing as a solution to deal with
the demands found on the Internet, being a powerful solution and an extension of the
cloud. It is a solution mainly used on the Internet of Things (IoT), which works the
resources at the edge of the cloud, i.e. it performs prepossessing closer to the data
source. In this way, their study proposes a task-scheduling approach for the fog-cloud
configuration.
According to [5], fog is a powerful tool to help cloud computing. The authors
characterize it as an extension of the cloud. Their study proposes an approach, looking
for a relationship between energy consumption and system delay, exploring the
interaction between cloud and fog.
The fog-cloud cooperation is presented in [9] from a mobile perspective, suggesting
fog as a solution for offloading services for smart technologies. In this way, the authors
present a hybrid proposal of cloud and fog to solve the problem.
[14] show that bandwidth, throughput and latency are directly affected by Fog-
Cloud cooperation. In this way, the work performs a case study verifying the behavior
of these measures. The latency is verified as the main problem, pointing the offloading
approach as an interesting computational solution.
The authors in [10] claim that cloud infrastructures no longer meet the current
demands of IoT applications, being network bandwidth and latency the two main
causes. Therefore, they suggest fog and edge computing as solutions to alleviate these
limitations and give the cloud a chance to survive. The authors proposed four forms of
workload, besides challenges concerning machine learning, security and communica-
tion networks.
In [15], Fog Computing is considered a solution to the classic cloud architecture
problems generated by flow and delivery time. The study applies the fog concepts to a
scanner’s system, which due to the type of files generated, the cloud infrastructure was
not sufficient to handle the processing and storage of the data. The solution was to
perform prepossessing on the fog before the data were sent to the cloud.
In the educational context, the authors in [11] draw attention to the need for
educational content exchanges between universities, and suggest a synchronization
system, since instability in connection, according to the authors, impairs the teaching
and learning process. In this way, the authors expect a savings of technological
resources, mainly because of the scarcity of resources in terms of connection.
According to [12], in an evolved society, education is fundamental, and learning
monitoring systems grow to aid that. The best-known system used by the authors is
Moodle, a platform to support Distance Education. According to the authors, due to
poorer learning conditions, some places cannot always have Internet connection, which
is a bare necessity for the use of the platform. In the article, the authors propose that
Moodle be autonomous and work offline as a solution to the connection problems.
A Fog-Cloud Approach to Enhance Communication 279
The studies mentioned in this section indicate that the alternative of processing in
fog is a viable solution to solve the problems identified in the classic architectures
based on Cloud Computing, where a stable connection with the Internet is a necessary
factor. In this sense, it is clear the importance of studies related to communication
issues, designing applications for those environments. From an educational perspective,
the Fog Computing paradigm presents itself as a solution to communication and
scalability problems. In this way, the present study can be understood as a contribution
to the educational area, trying to increase the reach of Distance Education in regions
with poor communication infrastructure.
This section presents the proposal of this study, the form that it is structured and how it
is inserted in the context of cloud and fog computing. The proposal aims to solve the
problem previously exposed, transforming a Classical Cloud architecture into an
architecture based on fog-cloud cooperation.
Distance-learning environments, the subject of research in this study, are classic
cloud computing systems where students in different geographical locations have
access to the system through the Internet. This system is the online Distance Learning
platform available from the main university so that students can interact with teachers
and tutors. In addition, all evaluative activities are developed in this platform and
students submit their assignments, meeting the deadlines established by the teacher.
The computational architecture of a platform is the traditional model of
client/server applications, as shown in Fig. 1, where each user stays in the off-campus
unit. These off-campus units provide machines and Internet connection, and the uni-
versity offers a Web service with database features. Student perform the tasks and
submit them to the server through this Web interface.
This scenario presents some problems for the users of the platform (students,
teachers and tutors) due to the poor infrastructure in the off-campus units: (i) connec-
tion failure; (ii) delay in submitting the assignments; (iii) difficulties in downloading
didactic material; and, mainly, (iv) difficulties to upload documents.
280 L. Larcher et al.
We can see the geographic distribution of all this structure in Fig. 3, where the
‘graduation cap’ are off-campus units and the ‘construction’ are the educational
institution (UFJF). In this map it is possible see the distance of some off-campus units
to UFJF, which contribute to enlarge the connection problem.
In this context, the solution proposed in this paper seeks to solve the problems
concerning the connectivity between the supporting off-campus units and the central
server of the main educational institution, allocated in the cloud. The major problem
relates to students uploading their completed activities. A second objective is to solve
this problem in a scalable way and the least costly possible, facilitating the creation of
new off-campus units and more easily implementing the solution in the existing units
Based on the knowledge presented in this paper and the findings of similar studies,
e.g. [11, 12], one solution that emerges is to apply the fog paradigm. With a fog node,
the off-campus units can have the autonomy of the cloud and the possibility of pre-
possessing the data locally, now tackling the file upload problem differently.
The solution is to install a software application that manages the files submitted by
students, keeping them on a local server in the remote unit, and when convenient the
system can upload these files. That way, the proposed solution meets the requirements
of being feasible and scalable, while at the same time it solves the Quality of Expe-
rience issue.
In this way, differently from the current architecture based on a classic Cloud
Computing approach, the use of the Fog paradigm requires a local structure to keep the
system up and running. Figure 2 presents this situation. Fog nodes, which are located
in the remote supporting units, assist the cloud located at the university.
In this paper, the architecture developed considers fog-cloud cooperation. Thus, the
system still works with the cloud server (located in the university), but the great
innovation is the adoption of fog nodes (located in the off-campus units) next to the
data source, so they can be prepossessed. Under this configuration, there is a low
A Fog-Cloud Approach to Enhance Communication 281
number of jumps in the network and, in principle, hardware with greater availability to
process the data produced by the students.
With this new architecture, it is expected that the documents produced by students
be quickly processed in the fog, without the need to send them to the cloud. When the
student completes the assignment, the Fog node stores the document locally, sending it
to the cloud at a later time. This avoids overloading the network in the remote units,
thus increasing response time.
5 Experimental Results
In order to evaluate the proposal, an experiment was carried out by simulating the
network in operation, verifying its weaknesses in order to find out what to attack and
how the solution will have the expected effect.
Data on the remote units’ infrastructure were then collected for the experiment,
checking the number of machines and the internet package in each unit, so that the
solution simulation environment would reflect the real environment of the units.
As reported by teachers, students and tutors, near the time scheduled for the
beginning of the online activities, there is a large amount of access, as students need to
access the platform to download the activities and related-content files. In this time
range, many requests are directed to centralized server of the university.
During the period of students’ activities, some other requests for documents are
disregarded because there is not a clear concentration of package submissions in the
meantime.
Near the assignment upload deadline, there is another sharp curve of package
submissions, which is when students send their completed tasks to the server of the
distance-learning platform.
In this way, the distribution of packet uploads and downloads of a certain remote
unit is given by a distribution with packet concentration at the beginning and at the end
of the available time. This distribution draws on teachers’ experience and data analysis
regarding the activities saved in the Moodle platform. This scenario was implemented,
simulating the current situation of the system.
To perform the evaluation, data were collected from the off-campus units of the
Federal University of Juiz de Fora (UFJF), in the city of Juiz de For a, Brazil. Data
from five remote units were used: Barroso, Boa Esperança, UAB of Juiz de Fora, Santa
Rita de Caldas and Sete Alagoas. The number of machines per remote unit are 30, 20,
47, 50 and 30, respectively, and the network flow values are 20 Mb/s, 4 Mb/s, 4 Mb/s
and 10 Mb/s, as shown in Table 1. The UFJF server has a 100 Mb/s connection, which
is the value used in the simulation.
282 L. Larcher et al.
In general, students can take up to 2 h to complete activity. After that time, students
are no longer allowed to send the assignment by the Moodle platform. In this situation,
students have to rely on the willingness and availability of the face-to-face tutors and
the teachers in charge of the assignment.
One point that was also considered during the simulation is the fact that some
Internet providers in Brazil offer plans with an upload rate limit lower than the
download rate limit. The first indication of that fact is the information provided by
SPEEDTEST, a website that performs speed tests around the world and compiles the
information. According to that website, the upload rate in Brazil represents on average
46\% of the download speed [15].
Another widely adopted upload rate in Brazil is 10% of the download rate. Thus,
during the simulations, three factors were deployed: 10%, 46% and 100% of the initial
value of download rate.
Even though the idea was to get as close as possible to a real scenario, other types
of network traffic were not considered other than that of the remote units and the
distance-learning server, which excludes external problems, hence making this scenario
close to the best possible extent according to what the system offered.
For the present experiment, the class assignments of the off-campus students were
done simultaneously in order to obtain the greatest amount of access possible in the
distance-learning server of the main university. The intent was to make sure if the
bottleneck origin would be in the distance-learning server. However, this hypothesis
was discarded through an initial analysis of the data after simulation, evincing that the
problem stemmed from the remote units
To carry out the experiment and generate the data, it was necessary to undergo a
series of processes, from the generation of the scripts run in the simulator, to a graph
analysis of the simulation results. To streamline this process and to be able to perform
multiple experiments with greater ease, a Framework was developed to support these
process steps.
A python program was developed in the sheel script language using Network
Simulator 2 (ns − 2) to generate data, which are also processed by a python program
that generates output for the use of Gnuplot and python’s matplotlib, yielding graphs
for better visualization and analysis of the obtained results. The source codes of this
framework were made available in GitHub [17] in order to help other researchers.
(1) The 100% Factor: When the upload and download flow are equal, the simulation
presents results that, although within the limit of the remote infrastructure, would not
cause the identified problems for the remote units. The delivery is fast enough for the
situation in the remote units, which is not reflected in the report by teachers, students
and tutors.
Figure 4 refers to the time each file takes to be sent from its start until delivery to the
server that will store the data, showing the off-campus units in different colors and
points shape. The points indicate the moment of files delivery for the cloud server. The
file upload time takes approximately 2 min, which is satisfactory for the problem. In
this case, where the upload rate is the same as that of download, the cloud service
presents no problems, being sufficient for the application.
(2) The 46% Factor: In the same way as shown in the previous situation. In this
simulation where the upload rate is 46% of the download rate, delivery begins to take
longer, which now reflects the situation mentioned by teachers, students and tutors –
the cloud bottleneck begins to be evident in this situation.
Figure 5 refers to the time each file takes to be sent, the time for all off-campus units
to send the files, in the two worst cases (yellow and green units), is 8 min – a con-
siderably high amount of time for the file’s delivery. In this situation, some students
could not send their activities in due time (120 min).
In this case, the students need to start for sending the tasks 8 min earlier, i.e., they
have less time to solve the tasks them students from other off-campus units.
(3) The 10% Factor: The first result obtained for the 10\% upload rate, refers to the
amount of packet traffic in the network, in an overview, during the entire period of an
assignment fulfilled. In this case, the time is quite large, on an emergency basis.
The time that all remote units need to send all the files until the end of the trans-
mission. The deadline established for sending the files is within 120 min (two hours to
carry out the online activities). There is an evident delay of approximately 70 min for
the delivery part of files, which points to the fact that the flow is not enough.
284 L. Larcher et al.
Fig. 4. Files sent in relation to assignment Fig. 5. Files sent in relation to assignment
completion time (100% factor) completion time (46% factor)
Fig. 6. Files sent in relation to assignment Fig. 7. Files sent in relation to assignment
completion time (10% factor) completion time (Fog-cloud cooperation)
Complementing the previous result, Fig. 6 shows the sending time of each class
assignment performed, with each remote unit represented by a different color, showing
only the end of the period, which concentrates the submissions. The characteristics of
the off-campus units follow the same order as in Table 1, where the yellow and green
remote units have more machines and an insufficient internet connection, hence causing
a much longer delay. The 70 min previously mentioned are a responsibility of these
remote units. The Figure points to the problem of off-campus units, revealing what was
already expected – that the flow is not enough and the structure needs to be improved.
This case extrapolates the previous case and shows urgency about the use of another
type of structure.
simple one for a local network. The files will only be sent to the server at a later time,
compressed and in a controlled manner.
Naturally, if assignments are sent to the local server, which in the case is a fog
node, the time is much shorter. Figure 7 only reinforces this statement, with the same
graph for the file sending time. In this case, the times are so short that they are less than
a minute. In this case, fog-cloud cooperation is a viable alternative for solving the
problem of connecting the off-campus units located in remote regions very far from the
major centers. With this strategy, the sending problem is solved, making the system
scalable and viable.
These results considered the average of the results obtained after several executions
of the Framework. However, it is worth noting that, even though the experiments were
performed with different seeds, there were no outliers, i.e., the results of each execution
follow a very similar distribution.
This study reveals the cloud’s state-of-the-art, as it points to a cloud limitation. Later,
fog is presented as a solution, which can extend cloud boundaries in certain situations.
The situations in which the fog structure is most used are mainly when there is a need
of flow or time of delivery. Fog also appears to solve other problems such as energy
and Quality of Experience (QoE).
To validate this information and solve a real problem in the educational context, an
experiment was carried out considering poor Internet connection as a debilitating factor
for the adoption of a classical cloud architecture. At first, considering economic,
infrastructural and geographic issues, it was found that some supporting off-campus
units did not have a connection good enough to carry out the tasks they were supposed
to.
The experiment brings the problem to evidence and confirms the previous
hypothesis. It is clear that the system is at its limit, especially when it concerns structure
expansion and number of off-campus units. To solve this problem, fog-cloud coop-
eration presents itself as a viable solution, since its premise is based on flow and
delivery time.
When the proposed architecture was evaluated through the experiments, it became
clear that it is a viable and scalable functional solution to the problem and that it can
even extend the life of the structure. In this way, the experiment reveals the power of
fog, helping the cloud, and how these paradigms should work together to avoid cloud
overhead.
As future work, we intend to implement this new architecture at the Federal
University of Juiz de Fora for an evaluation of the proposal in real-time execution.
Acknowledgment. The authors would like to thank FAPEMIG, CAPES, CNPq and PTI-Lasse
for partially funding the research presented in this article.
286 L. Larcher et al.
References
1. Cisco: Fog Computing and the Internet of Things: Extend the Cloud to Where the Things
Are. White Paper, Cisco (2015)
2. IBM. https://www.ibm.com/blogs/cloud-computing/2014/08/25/fog-computing/. Accessed
Feb 2019
3. Openfog. https://www.openfogconsortium.org/. Accessed Feb 2019
4. Gomes, E.H.A., Plentz, P.D.M., De Rolt, C.R., Dantas, M.A.R.: A survey on data stream,
big data and real-time. Int. J. Netw. Virtual Organ. 20(2), 143–167 (2019)
5. Deng, R., Lu, R., Lai, C., Luan, T.H.: Towards power consumption-delay tradeoff by
workload allocation in cloud-fog computing. In: 2015 IEEE International Conference on
Communications (ICC), pp. 3909–3914, June 2015, https://doi.org/10.1109/icc.2015.
7248934
6. Stojmenovic, I., Wen, S., Huang, X., Luan, H.: An overview of Fog computing and its
security issues. Concurr. Comput.: Pract. Exp. 28(10), 2991–3005 (2016). https://doi.org/10.
1002/cpe.3485
7. Pepper, R., Garrity, J.: The internet of everything: how the network unleashes the benefits of
big data. In: Bilbao-Osorio, B., Dutta, S., Lanvin, B. (eds.) The Global Information
Technology Report 2014, Rewards and Risks of Big Data, pp. 35–43. World Economic
Forum, Geneva (2014)
8. Pham, X.-Q., Huh, E.-N.: Towards task scheduling in a cloud-fog computing system. In:
2016 18th Asia-Pacific Network Operations and Management Symposium (APNOMS),
pp. 1–4, October 2016. https://doi.org/10.1109/apnoms.2016.7737240
9. Du, J., Zhao, L., Feng, J., Chu, X.: Computation offloading and resource allocation in mixed
fog/cloud computing systems with min-max fairness guarantee. IEEE Trans. Commun. 66
(4), 1594–1608 (2017). https://doi.org/10.1109/tcomm.2017.2787700
10. Bierzynski, K., Escobar, A., Eberl, M.: Cloud, fog and edge: Cooperation for the future? In:
2017 Second International Conference on Fog and Mobile Edge Computing (FMEC),
pp. 62–67, May 2017. https://doi.org/10.1109/fmec.2017.7946409
11. Ijtihadie, R.M., Hidayanto, B.C., Affandi, A., Chisaki, Y., Usagawa, T.: Dynamic content
synchronization between learning management systems over limited bandwidth network.
Hum.-Centric Comput. Inf. Sci. 2(1), 17 (2012). https://doi.org/10.1186/2192-1962-2-17
12. Ngom, B., Guillermet, H., Niang, I.: Enhancing Moodle for offline learning in a degraded
connectivity environment. In: 2012 International Conference on Multimedia Computing and
Systems, pp. 858–863, May 2012. https://doi.org/10.1109/icmcs.2012.6320168
13. Mell, P.M., Grance, T.: The NIST Definition of Cloud Computing Recommendations of the
National Institute of Standards and Technology (2011)
14. Dantas, M., Bogoni, A.R., Eduardo, P., Filho, P., Eduardo, J.F.: An application study case
tradeoff between throughput and latency on fog-cloud cooperation. In: IJNVO (In press)
15. SPEEDTEST. https://www.speedtest.net/reports/brazil/. Accessed Feb 2019
16. MOODLE. https://moodle.org/. Accessed Feb 2019
17. GitHub. https://github.com/lucaslarcher/Framework_Analise_Saida_NS2. Accessed Feb
2019
Research Characterization on I/O
Improvements of Storage Environments
1 Introduction
Recent improvements related to I/O architectures have been found in some dif-
ferent dimensions. Many contributions are being proposed focusing on data dis-
tribution. Other works consider hardware combination to enhance data access.
Some of these solutions utilize flash memory, as SSD (Solid-State Disk) together
with HDD (Hard Disk Drive) to support the I/O management problems, improv-
ing then the performance of these applications. Finally, other dimensions adopt
the software improvement in the up layer to enhance the I/O performance, as
illustrated in [9].
Therefore, we can consider that the actual efforts are divided in a macro view
of software, hardware and storage systems approach. Our proposal can be under-
stood, as Fig. 1 shows, as a characterization related to the I/O improvements,
studying each component separately (i.e. software, hardware and storage sys-
tems) and their interconnections. In a previous literature review we found a gap
which indicates a necessary set of experiments to better understand the relation
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 287–298, 2020.
https://doi.org/10.1007/978-3-030-33509-0_26
288 L. Pioli et al.
2.1 HPC
HPC systems, such as clusters, grids, and supercomputers, consist of a very
specialized and complex combination of hardware and software elements. Their
design mainly focuses on providing high processing power for large scale dis-
tributed and parallel applications, even though low communication and data
access latency are considered increasingly important requirements [3,15].
A main characteristic observed in these environments is the separation of
compute and storage resources, which results in massive data movements through
layers of the I/O path during the execution of a data-intensive application. In
such complex computing environments, many factors can affect the I/O perfor-
mance perceived by an application: workload characteristics, system architecture
and topology model, configurations in the many layers of the parallel I/O soft-
ware stack, properties of hardware components, interference and system noises,
to name a few.
Most previous research works addressing I/O performance variability pro-
posed inter-application coordination approaches focusing on reducing the impact
of multiple applications simultaneously executing on the HPC system [6,7,14,
26,30]. However, on extreme-scale computational science applications, denot-
ing applications with dedicated access to all resources of the HPC environment
for execution, I/O performance variability can be mostly attributed to intra-
application interference. One major, yet intrinsic, source of intra-application
interference in this context relates to the load balance on PFS’s data servers.
2.2 DISC
DISC focuses on data-centric, different type of applications, such as industrial,
can be the target of this effort, because it is oriented to data management and
analysis and has goals such as scalability, fault-tolerance, availability and cost-
performance. In [22] there is an interesting discussion about DISC considering
hardware, software packages and computation environment.
Research Characterization on I/O Improvements of Storage Environments 289
3 Related Work
In this section, we present some previous works targeting I/O improvements on
storage devices, systems and software done by researchers which are concerning
about the performance on I/O layer.
In general, conducting performance studies on storage devices is challenging
for researchers as they need to deal with various low-level concepts and new
technologies. Applications that produce and process many data in a short time
interval almost always need to store and retrieve data and usually they encounter
latency problems to perform such operations. Much of these problems are related
to the device and technology that are being used. The related works shown below
exemplify some issues that are being addressed for researchers to improve I/O
performance. These works were selected because it is being realized a systematic
review concerning I/O improvements on storage devices and systems that were
proposed at the last 10 years. These solutions were divided into numbered groups
that were used in the characterization proposal presented in Sect. 4, the groups
are:
1. Yang et al. [29] proposed (WARCIP) which means “write amplification reduc-
tion by clustering I/O pages” to minimize the negative impact of garbage
collection (GC) on SSD devices. They used a clustering algorithm to min-
imize the rewrite interval variance of pages in a flash block. Chang et al.
[4] proposed an approach to operate wear leveling on virtual erase counts
instead of real erase counts using SSD devices. Kim et al. [13] we have pro-
posed an I/O architecture that optimizes the I/O path to take full advantage
of NVMe SSDs. The authors approach works eliminating the overhead of
user-level threads, bypassing unnecessary I/O routines and enhancing the
interrupt delivery delay. Ramasamy et al. [21] proposed an algorithm called
random first flash enlargement to improve the performance of write operation
on the flash-memory-based SSDs. Shen et al. [23] proposed an I/O scheduler
where the design of the solution is motivated by unique characteristics on
Flash-Based SSDs.
2. Mackey et al. [16] proposed a novel storage device called Igloo which serves
to solve the problem of accessing cold data storage. Chen et al. [5] is looking
for the issue of random write operations which is very common on NAND-
flash memories. They proposed utilizing the NVM device as an auxiliary
device because the NVM technology such as phase-change memory, supports
better in-place updates presenting better I/O performance. Stratikopoulos
et al. [25] introduces an FPGA-based approach for accelerating NVMe-based
SSDs. Their solution introduces an FPGA-based fast path that accelerates
the access to the NVMe drive, improving then the I/O performance of the
device.
3. Wu et al. [27] proposed a priority-based data placement method for databases
using SSDs. They consider a mechanism and a migration rule for performing
migrations between HDDs and SSDs. Yang et al. [28] proposed a content
look-aside buffer (CLB) for simultaneously providing redundancy-free virtual
290 L. Pioli et al.
disk I/O and caching. They implemented a CLB on KVM hypervisor and
demonstrate that CLB delivers considerably improved I/O performance with
realistic workloads. Huo et al. [10] proposed a caching management algorithm,
sometimes called as a framework named ACSH, which is based on SSD devices
and DRAM and is focused on the improvement of metadata I/O on the file
systems. Ou et al. [19] proposed a file index scheme for flash file system called
NIS. In this scheme they are concerned about the performance of file systems
when using NAND flash as a storage device.
4. Nakashima et al. [18] proposed a method for improving I/O performance of a
big data application using SSD as cache. The results presented by the authors
demonstrate that the method can improve I/O performance. Min et al. [17]
proposed a method using NVMe SSDs to enhance I/O resource management
of Linux Cgroup on NUMA systems. Ouyang et al. [20] proposed a method
which is an aggregation staging I/O to enhance checkpoint writing perfor-
mance using staging I/O and SSD on the data server archiving better write
bandwidth. Kannan et al. [12] proposed a mechanism using Active NVRAM
based approach for I/O staging. In the considered method, each physical node
has an additional active NVRAM component to stage I/O. Bhattacharjee
et al. [2] proposed utilizing SSD to enhance recovery and restart through
random access capability in a database engine.
5. Others contributions focus on the I/O improvements targeting storage sys-
tems. Zhou et al. [31] proposed an attributed consistent hashing algorithm
called attributedCH, which manages heterogeneous nodes on a consistent
hashing ring. The algorithm is particularly suitable for heterogeneous stor-
age systems. Shi et al. [24] proposed SSDUP which is a scheme to improve
the burst buffer by addressing some limitations such as requiring large SSD
capacity and harmonious overlapping between computation phase and data
flushing stage. Du et al. [8] proposed a balanced partial stripe (BPS) scheme
that improves the write performance of RAID-6 systems which is a bottleneck
to deal with some applications.
4 Proposed Approach
In this article we present a research characterization on I/O improvements
related to the storage devices and systems targeting HPC and DISC applica-
tions.
Figure 1 presents the proposed characterization which is composed by three
basics elements: software, hardware and storage systems. Software investigations
could be understood as an improvement where the object that is being proposed
as a solution is an algorithm, method, frameworks or any programmable solution.
Hardware investigations could be characterized as improvements when the object
that is being proposed to improve is a physical component or something palpable.
We found that these two groups can relate and improve each other or a storage
system targeting the improvement of I/O performance.
In Sect. 3, we presented some contributions that were done by researchers
to improve the I/O performance on the storage devices and systems. All these
Research Characterization on I/O Improvements of Storage Environments 291
contributions presented in the group 1 are some kind of “software” solution and
could be characterized into a “solution” that is being proposed to improve I/O
performance on storage device. This group of improvements were characterized
and shown in Fig. 1 as the arrow that leaves the red circle (Software) and arrives
in the green circle (Hardware). For easy viewing, the acronym S2H-IO which
means “Software solution to improve I/O performance on Hardware” was created
and added above the arrow.
Authors from group 2 are looking for improvements targeting I/O perfor-
mance on the hardware device but to do that they are using technology to per-
form it. In all of these cases, the solution involves differently hardware technology
as solution. This group of improvements were characterized and shown in Fig. 1
as the arrow that is circling the hardware circle. For this group of improvements
the acronym H2H-IO which means “Hardware solution to improve I/O perfor-
mance on Hardware” was created and added below the green circle (Hardware).
All contributions presented in group 3 are some kind of “software” solution
which could be characterized into a “solution” that is being proposed to improve
I/O performance on another “software” object differently from the group 1. It is
important to notice that although the improvements are from software to soft-
ware, they take into account the storage technologies that they are using. These
group of improvements receive the acronym S2S-IO which means “Software solu-
tion to improve I/O performance on Software”. It was created and added below
the red circle (Software) on Fig. 1.
Authors from group 4 presented improvements targeting I/O performance
on the software but to do that they are using technology, that is hardware, to
perform it. Although, this approach is not the most natural to receive the looks
of the researchers, it was classified and characterized as presented below. These
group of improvements receive the acronym H2S-IO which means “Hardware
solution to improve I/O performance on Software”. It was created and added
292 L. Pioli et al.
below the arrow that leaves the green circle (Hardware) and reach to the red
circle (Software) on Fig. 1
Group 5 is concerned about the I/O improvements targeting storage systems.
It is good to make it clear that in these characterizations Storage Systems does
not mean some software that is present in a storage device but rather a group
of technologies and software working together and asynchronously in an envi-
ronment. Because the Storage Systems are made up of hardware and software,
the improvements proposed by researchers can be either software or hardware
improvements or both of them. To this end, the acronym S2SS-IO and H2SS-IO
which means “Software solution to improve I/O performance on Storage Sys-
tems” and “Hardware solution to improve I/O performance Storage Systems”
respectively was created and added above the arrow that reaches to the blue
circle above (Storage Systems).
In order to carry out our experiments, this subsection presents the factors that
we used in the analysis.
• Storage Device
The right usability of the storage can improve the I/O performance of appli-
cations that needs to execute I/O operations frequently. To verify that the
technology device usually can influence on the performance, this research
takes care of three common approaches to store data. The first one is to store
all kind of data, data and metadata, on an HDD device. The second is use
SSD to store metadata while the data are stored on the HDD devices. Finally,
we stored data and metadata on the SSD device.
• Linux I/O Schedulers
To provide a better usage and access of the data, the I/O schedulers take care
about the disk access requests. In this experiment we consider three Linux
I/O schedulers. Complete Fairness Queueing [1], deadline and noop are the
schedulers that were considered as factors to the experiment complementing
the scenario to store data shown above.
• Task Numbers
Another important factor that we consider on the experimentation is the
number of tasks that should participate on the test. In this experiment we
consider 32 and 64 as the number tasks because we believe that different
workloads and sizes numbers can be easily found in DISC applications and it
probably influences on the performance results.
• Access Patern
Finally, more two factors were introduced on the experimental parameters is
related with the access pattern. We consider that the random and sequential
accesspatterns could give us different information and present broader results.
Before starting, let’s discuss how the data and information were presented
in this graphics. In each figure presented, 24 outcomes for the read and write
operations are shown. All bars with hatches we have the read latency time for one
scheduler and all bars without hatches, located after the hatched bar, we have
the write latency time for the same scheduler. The write latency time always
comes after the related read latency time scheduler.
Figure 2 we analyze the latency time for the operations when storing both
data and metadata on the HDD device switching then the I/O schedulers. Table 1
we present the average latency time for all the scenarios presented in Fig. 2. We
present this average because we believe that DISC and HPC applications can
treat and use heterogeneous kind of data with different access patterns and
number of tasks on the same application. Considering this, it’s possible to see in
Table 1 that when we are storing both data and metadata on the HDD device the
scheduler that presents the lowest average latency time to perform read operation
is the deadline and to perform the write operation is the CFQ scheduler.
Figure 3 we analyze the latency time for the operations when storing data on
HDD and metadata on SSD device switching then the I/O schedulers. Just as it
happened in Fig. 2, in Fig. 3 all values to perform the write operation are greater
than the value to perform the read operation. It’s possible to see too that in
Table 2 the latency average to execute the read operation for all schedulers are
smaller when storing data on HDD and metadata on SSD if comparing with the
approach presented in Fig. 2. We can also notice that when we are storing data
on HDD and metadata on SSD the scheduler that presents the lowest average
latency time to perform read and write operation is the Noop scheduler.
Research Characterization on I/O Improvements of Storage Environments 295
Figure 4 we store even the data and metadata on SSD which is a device that
does not have mechanical components switching then the same I/O schedulers.
In this case the write average latency time decreased significantly compared with
the other two approaches presented earlier. However, it’s possible to notice that
the read average latency time did not suffer significant variations.
These results could lead us to think that if the device that you are storing
the data is an SSD device, it’s very likely that the latency time will be decreased
and thereby improve the performance of write operations (Table 3).
the storage devices used in the I/O architecture of huge environments. We con-
sider that the actual efforts are divided in a macro view of software, hardware and
storage systems approach. Our proposal can be understood as a characterization
related to the I/O improvements, where we are studying each component sepa-
rately (i.e. software, hardware and storage systems) and their interconnections.
In this paper, we present a set of experiments performed inside the Grid’5000, a
large distributed computational environment, which targeted to indicate aspects
related to I/O performance, and we could demonstrate that the latency when
performing I/O operations can undergo many variations if we take into account
the presented factors evaluated in the experiments. The most expressive result
is related to the reduction of the latency time of the write operation when the
approach of storing both data and metadata on the SSD. In order to improve
these research, we also intend to finish a survey which consider more than 4.7
thousand works and classify all the improvements longer to 10 years using our
characterization presented on this paper. We would like share and analyze the
throughput rate performed on this experiment on the next work, and we want
perform more experiments in Grid’5000 using an entire cluster, or even more
than one, exploring others technologies such as flash NVMe on the experimen-
tation.
Acknowledgment. Experiments presented in this paper were carried out using the
Grid’5000 experimental testbed, being developed under the INRIA ALADDIN devel-
opment action with support from CNRS, RENATER and several Universities as well
as other funding bodies (see https://www.grid5000.fr). We also would like to thank the
Federal University of Juiz de Fora (UFJF), CNPq, CAPES, FAPEMIG, PTI-LASSE
and INESC P&D Brazil in SIGOM project that support in part this study.
References
1. Axboe, J.: Linux block IO–present and future. In: Ottawa Linux Symposium, pp.
51–61 (2004)
2. Bhattacharjee, B., Ross, K.A., Lang, C., Mihaila, G.A., Banikazemi, M.: Enhanc-
ing recovery using an SSD buffer pool extension. In: Proceedings of the Seventh
International Workshop on Data Management on New Hardware, pp. 10–16. ACM
(2011)
3. Chang, C., Greenwald, M., Riley, K., et al.: Fusion energy sciences exascale require-
ments review. an office of science review sponsored jointly by advanced scientific
computing research and fusion energy sciences. In: USDOE Office of Science (SC)
(2017)
4. Chang, L., Huang, S., Chou, K.: Relieving self-healing SSDs of heal storms. In:
10th ACM International Systems and Storage Conference, p. 5. ACM (2017)
5. Chen, R., Shen, Z., Ma, C., Shao, Z., Guan, Y.: NVMRA: utilizing NVM to improve
the random write operations for NAND-flash-based mobile devices. Softw. Pract.
Exp. 46, 1263–1284 (2016)
6. Dorier, M., Antoniu, G., Cappello, F., Snir, M., Orf, L.: Damaris: how to effi-
ciently leverage multicore parallelism to achieve scalable, jitter-free I/O. In: IEEE
International Conference on Cluster Computing, pp. 155-163. IEEE (2012)
Research Characterization on I/O Improvements of Storage Environments 297
7. Dorier, M., Antoniu, G., Ross, R., Kimpe, D., Ibrahim, S.: CALCioM: mitigating
i/o interference in HPC systems through cross-application coordination. In: IEEE
28th International Parallel and Distributed Processing Symposium, pp. 155–164.
IEEE (2014)
8. Du, C., Wu, C., Li, J., Guo, M., He, X.: BPS: a balanced partial stripe write scheme
to improve the write performance of raid-6 In: IEEE International Conference on
Cluster Computing, pp. 204–213. IEEE (2015)
9. Gorton, I., Klein, J.: Distribution, data, deployment: software architecture conver-
gence in big data systems. IEEE Softw. 32, 78–85 (2015)
10. Huo, Z., Huo, X., et al.: A metadata cooperative caching architecture based on
SSD and DRAM for file systems. In: International Conference on Algorithms and
Architectures for Parallel Processing, pp. 31–51. Springer (2015)
11. Inacio, E.C. and Dantas, M.A.R.: IORE: a flexible and distributed i/o performance
evaluation tool for hyperscale storage systems. In: Symposium on Computers and
Communications (ISCC), pp. 01026–01031. IEEE (2018)
12. Kannan, S., Gavrilovska, A., Schwan, K., Milojicic, D., Talwar, V.: Using active
NVRAM for I/O staging. In: Proceedings of the 2nd International Workshop on
Petascal Data Analytics: Challenges and Opportunities, pp. 15–22. ACM (2011)
13. Kim, J., Ahn, S., La, K., Chang, W.: Improving I/O performance of NVMe SSD on
virtual machines. In: Proceedings of the 31st Annual ACM Symposium on Applied
Computing, pp. 1852–1857. ACM (2016)
14. Kuo, C., Shah, A., Nomura, A., Matsuoka, S., Wolf, F.: How file access patterns
influence interference among cluster applications. In: International Conference on
Cluster Computing (CLUSTER), pp. 185–193. IEEE (2014)
15. Lucas, R., Ang, J., Bergman k., et al.: Top ten exascale research challenges. DOE
ASCAC subcommittee report, 1–86 (2014)
16. Mackey, G., Agun, M., Heinrich, M., Ryan, R., Yu, J.: Igloos make the cold bear-
able: a novel HDD technology for cold storage. In: 20th International Conference
on HPC and Communications; 16th International Conference on Smart City; 4th
International Conference on Data Science and Systems (HPCC/SmartCity/DSS),
pp. 99–108. IEEE (2018)
17. Min, J., Ahn, S., La, K., Chang, W., Kim, J.: Cgroup++: enhancing I/O resource
management of Linux Cgroup on NUMA systems with NVMe SSDs In: Proceedings
of the Posters and Demos Session of the 16th International Middleware Conference,
p. 7. ACM (2015)
18. Nakashima, K., Kon, J., Yamaguchi, S.: I/O performance improvement of secure
big data analyses with application support on SSD cache. In: Proceedings of the
12th International Conference on Ubiquitous Information Management and Com-
munication, p. 90. ACM (2018)
19. Ou, Y., Wu, X., Xiao, N., Liu, F., Chen, W.: NIS: a new index scheme for flash file
system. In: 29th Symposium on Mass Storage Systems and Technologies (MSST),
pp. 44–51. IEEE (2015)
20. Ouyang, X., Marcarelli, S., Panda, D.K.: Enhancing checkpoint performance with
staging IO and SSD. In: International Workshop on Storage Network Architecture
and Parallel I/Os, pp. 13–20. IEEE (2010)
21. Ramasamy, A.S., Karantharaj, P.: RFFE: a buffer cache management algorithm for
flash-memory-based SSD to improve write performance. Can. J. Electr. Comput.
Eng. 38, 219–231 (2015)
22. Randal E. B.: Data-intensive supercomputing: intensive supercomputing: the case
for DISC the case for DISC. Technical report: CMU-CS-07-128 (2019)
298 L. Pioli et al.
23. Shen, K., Park, S.: FlashFQ: a fair queueing I/O scheduler for flash-based SSDs.
In: Presented as part of the 2013 USENIX Annual Technical Conference USENIX
(ATC 2013), pp. 67–78. ACM (2013)
24. Shi, X., Li, M., Liu, W., Jin, H., Yu, C., Chen, Y.: SSDUP: a traffic-aware SSD
burst buffer for HPC systems. In: Proceedings of the International Conference on
Supercomputing, p. 27. ACM (2017)
25. Stratikopoulos, A., Kotselidis, C., Goodacre, J., Luján, M.: FastPath: towards wire-
speed NVMe SSDs. In: 28th International Conference on Field Programmable Logic
and Applications (FPL), pp. 170–1707. IEEE (2018)
26. Wan, L., Wolf, M., Wang, F., Choi, J.Y., Ostrouchov, G., Klasky, S.: Comprehen-
sive measurement and analysis of the user-perceived I/O performance in a produc-
tion leadership-class storage system. In: International Conference on Distributed
Computing Systems (ICDCS), pp. 1022–1031. IEEE (2017)
27. Wu, C.H., et al.: A priority-based data placement method for databases using
solid-state drives. In: Proceedings of the 2018 Conference on Research in Adaptive
and Convergent Systems, pp. 175–182. ACM (2018)
28. Yung, C., Liu, X., Cheng, X.,: Content look-aside buffer for redundancy-free virtual
disk I/O and caching. In: International Conference on Virtual Execution Environ-
ments, pp. 214–227. ACM (2017)
29. Yang, J., Pei S., Yang, Q.: WARCIP: write amplification reduction by clustering
I/O pages. In: 12th ACM International Conference on Systems and Storage, pp.
155–166. ACM (2019)
30. Yildiz, O., Dorier, M., Ibrahim, S., Ross, R., Antoniu, G.: On the root causes of
cross-application I/O interference in HPC storage systems. In: International Par-
allel and Distributed Processing Symposium (IPDPS), pp. 750–759. IEEE (2016)
31. Zhou, J., Chen, Y., Wang, W.: Atributed consistent hashing for heterogeneous
storage systems. In: PACT, pp. 23–1. ACM (2018)
Home Fine Dust Monitoring Systems
Using XBee
1 Introduction
Currently, fine dust is one of the most serious causes of social health issues in East-
Asian countries. The negative effect of breathing fine dust has been the primary topic in
Korea portal news season after season. People wear masks outdoors when dangerous
fine dust density values are reported in the weather forecast. Even inhabitants having an
air purifier in the living room (or in different indoor places) cannot sense fine dust
density values or air pollutants. Furthermore, they do not consider the effects of fine
dust on their lifestyle and health.
Recently, the Internet of Things (IoT) has become a popular paradigm owing to its
benefits in modern wireless telecommunications. The IoT pertains to a world-wide
network of interconnected objects that are uniquely addressable, based on standard
communication protocols [1]. Among these wireless network protocols, Zigbee man-
ages various data traffic and communication with businesses and consumer devices.
Therefore, using the FRIBEE white Arduino board, air fine dust density values are
verified based on the XBee method to obtain air fine dust density values.
According to conventional research, fine dust density measurements have been
implemented variously. Primarily, only one dust density sensor and one IoT platform
were used. Although several sensors have been developed, a costly Wi-Fi shield was
required and only a simple network topolog was created [2]. Therefore, an experiment
was conducted to use XBee S2C, which is a newer version of XBee Pro, and the
Arduino FRIBEE white (with built-in XBee shield) to receive sensor results with star
topology. A star topology can be better used in IoT home automation research com-
pared to other topologies such as peer-to-peer because the primary coordinator serves
as a server and controls other end sensors. With two end nodes (sensor node) and one
coordinate node, two fine dust sensors in two different places send sensor values to the
coordinate node to display the values. Furthermore, an Android phone can obtain
results through Bluetooth with Arduino. By developing a home fine dust monitoring
system, the author has obtained different results between outdoor and indoor fine dust
density values. Indoor fine dust density values depend on different air environments
such as cooking, smoking, and vacuuming.
The remainder of this paper is structured as follows. Section 2 introduces the
FRIBEE Arduino platform. ZigBee and ZigBee network topologies are explained in
Sects. 3 and 4, respectively. Section 5 presents fine dust sensors used primarily in IoT
research. IoT star topology, implementation, and results are described in Sect. 6.
Finally, Sect. 7 presents the conclusions of this study and future work.
Many do-it-yourself prototyping platforms are available that allow one to create IoT
prototypes quickly and easily. Particularly, Arduino and Raspberry Pi are heavily used
as hardware platforms for teaching basic computer science in schools and for IoT
product prototype development.
Arduino is a flexible open source micro-controller that functions with several
communication and sensing technologies. This single-board development environment
allows one to read data coming from sensors and to control different devices. The
Arduino board (Arduino UNO R3) consists of an open hardware design with an
ATmega328 micro-controller [1]. Primarily, the Arduino software supports C and C++
programming languages. Various inputs and outputs are provided in the Arduino
board; therefore, eight input and output ports can be used simultaneously for various
applications.
FRIBEE white is a Fribot Arduino R3 expansion board containing a built-in XBee
shield; therefore, no additional shield is required. It is compatible with Arduino and can
be fitted easily with XBee such that developers can reap the advantages of reduced
overall volume, reduced cost, and convenient application. Connectable wireless com-
munication can be implemented easily by selecting various antennas such as XBee
(S1)/Zigbee (S2)/Bluetooth/Wi-Fi [3] (Fig. 1).
Home Fine Dust Monitoring Systems Using XBee 301
3 ZigBee
ZigBee is an IEEE 802.15.4 standard for data communication with businesses and
consumer devices. It was developed to provide low-power, wireless connectivity for a
wide range of network applications related to monitoring and control. ZigBee and
ZigBee Pro are mesh communication protocols that are based on IEEE 802.15.4.
ZigBee PRO is an improved version of the original ZigBee protocol, providing a
number of additional features that are particularly useful for extremely large networks
(may include hundreds or even thousands of nodes).
XBee and XBee Pro, also known as XBee S1, are product names for radio com-
munications modules produced by Digi International. The XBee and XBee Pro mod-
ules provide an easy-to-implement solution and are used for peer-to-peer and star
networks. Contrary to XBee S1, XBee S2 is an antenna used for mesh networking and
requires an extremely creative networking configuration (Fig. 2).
Three types of network topologies that ZigBee supports are as follows: star topology,
peer-to-peer topology, and cluster tree, as shown in Fig. 3 [5].
A dust sensor is used to detect house dust, cigarette smoke, etc. and is designed as a
sensor to automatically operate applications such as air purifiers and air conditioners
with air purifier functions.
The sharp dust sensor GP2Y1010AU0F is a more accurate and affordable device that
is used for measuring smoke and dust particles. The sharp dust sensor GP2Y1010AU0F
is an optical dust sensor that is also known as an optical air quality sensor. The sharp
dust sensor consumes less power and provides a highly reliable and stable output.
A 220µF capacitor and a 150Ω resistor are used for pulse driving of a given sensor LED
[6] (Fig. 4).
Fig. 7. Relationship among Channel, PAN ID, and MY address in XBee network
Similar to the figure above, if the channel or PAN is different, XBee cannot
communicate with other XBees although it is in the same place. Although the channel
number is the same, if the PAN ID is different, communication is impossible. There-
fore, under the same channel and PAN ID, the XBee network topology can be created.
In an XBee 1: N network, writing MY address and DL address is required in the X-
CTU modem configuration. For this communication agreement, the My address is
written in the node configuration to send data and the DL address is written for another
node to receive data. The address range is 0-FFFF. 0 is used for every node and FFFF is
used for broadcasting.
In this project, with End Node and Remote Node X-CTU Modem Configuration,
the author uses the factory mode for the PAN ID, MY address, and DL address because
every node is in the same channel.
The following Figs. 8 and 9 show the DustDensity1 (Arduino project name)
end nodes and DustDensity2 (Arduino project name), respectively. Figure 10 is a
receive_test (Arduino project name) remote node serving as a coordinator. The two
ends nodes are operated by a battery, and a remote node is powered by a laptop.
306 S. W. Cho
Fig. 8. DustDensity1
Fig. 9. DustDensity2
digitalWrite(ledPower, LOW);
delayMicroseconds(samplingTime);
voMeasured = analogRead(measurePin);
delayMicroseconds(deltaTime);
digitalWrite(ledPower,HIGH);
delayMicroseconds(sleepTime);
From Arduino pin A0, voMeasure reads an analog value; calcVoltage is a voltage
changed from voMeasure. Based on the Sharp GP2Y1010AU0F specification sheet [7],
the author calculates “dustDensity” with this voltage and generates the dust density in a
serial monitor.
Additionally, receive_test is a coordinator node code that receives fine dust density
values located in different places in a home. Once these fine dust values are processed from
the end nodes, receive_test sends values to an Android smartphone through Bluetooth.
if(Serial.available()){
buffer[bufferPosition++] = data;
if(data == '\n'){
buffer[bufferPosition] = '\0';
// Send dust density to Smartphone
btSerial.write(buffer, bufferPosition);
bufferPosition = 0;
}
}
308 S. W. Cho
The next experimental results on Android applications are average fine dust values
measured in two different locations. Figure 11 shows a room and another room test.
Figure 12 shows a room and a kitchen. Because of indoor lights and a windy envi-
ronment, the dust density values changed frequently. To obtain satisfactory results, the
author calculates the average of 30 dust density values. Creating a dark place and
closing windows may be required to measure consistent values.
Figure 11 shows the dust density values for two rooms. To configure the dust
density values, the author referred to portal information. The portal fine dust infor-
mation is as follows: 0–30 is good, 30–80 is average, 80–150 is poor, and above 150 is
very poor. Therefore, one experimental result was average and another was poor. While
this experiment was conducted, the outside dust density value was 51 at approximately
3 pm. Contrary to the outside value, the indoor dust density was higher.
Figure 12 shows the dust density values for one room and a kitchen. The room
values were average, but the kitchen values were poor. The outside dust density value
was 67 at approximately 5 am. Hence, the author assumes that cooking might have
contributed to higher values regardless of the outside dust density values.
Home Fine Dust Monitoring Systems Using XBee 309
Compared to existing systems research, a method to measure indoor fine dust values at
a lower cost and efficiently was presented herein. By developing a star topology with
Xbee in Arduino, a user in a home can easily measure the fine dust density value of
each home location. Moreover, XBee can be placed depending on user preferences.
Two fine dust density values were collected in an Arduino coordinator and an Android
smartphone by synchronizng. This primary result obtained indicated that despite the
cheap IoT platforms and sensors, these methods provided accurate results in illumi-
nated or air environments. Thus, the author suggests indoor inhabitants to read the dust
density values of this system rather than relying on outdoor fine dust density infor-
mation on portals.
As IoT has developed, context-aware communication and computing are funda-
mental and are expected to be the same in the IoT paradigm. Context aware computing
pertains to sensing the environment and context, and adapting to behaviors accordingly
in IoT systems. Furthermore, the current IoT industrial market products are involved in
context-awareness using machine-learning algorithm of AI algorithms.
In future research, machine-learning technologies and IoT will be evaluated in
home IoT environments more efficiently. In addition, the author plans to use machine-
learning algorithms for fine dust alert systems, because the current proposed system
only displays fine dust density values in a simple Android UI. In addition, the author
plans to explore more complicated network architectures such as the mesh topology
and its corresponding test in other indoor places. The result of this future research is
expected to render indoor fine dust monitoring systems extremely useful for indoor
inhabitants’ health and lifestyles.
References
1. Giovanni, F., Raffaele, S., Imma, T., Roberto, C., Giorgio, V.: Polluino: an efficient cloud-
based management of IoT devices for air quality monitoring. In: IEEE 2nd International
Forum on Research and Technologies for Society and Industry Leveraging a better tomorrow
(RTSI) (2016)
2. Seung-Il, J., Eun-Ki, L.: Implementation of improved functional router using embedded Linux
system. In: The Institute of Electronics and Information Engineers Conference (2017)
3. Wook-Jin, C.: FRIBEE white board (2019). https://fribot.com/goods/view?no=66
4. Tareq, A.: A survey on environmental monitoring systems using wireless sensor networks.
J. Netw. 10, 606–615 (2016)
5. Priyanka, K.: A review on wireless networking standard-Zigbee. Int. Res. J. Eng. Technol.
(2016)
6. Ravi, K., Borade, S.: MQTT based air quality monitoring. In: 2017 IEEE Region 10
Humanitarian Technology Conference (2017)
7. Chris, N.: Air Quality Monitoring (2012). http://www.howmuchsnow.com/arduino/airquality/
Opinion Mining in Consumers Food Choice
and Quality Perception
Abstract. In this work we present a system for the automatic analysis of text
comments related to food products. Systematic analysis means allowing an
analyst to have at a glance all the needed aggregated data and results that
summarize the meaning of hundreds or thousands of comments, written in
natural language. The analysis of the comments, and therefore the choices of the
consumers, can therefore constitute a patrimony of very high value for the
companies of the sector.
At this aim we implemented a system, developed in Python. It uses the state
of the art libraries of processing texts written in natural language, because the
messages in natural language collected on the domain of food are written in
Italian language.
1 Introduction
It is now established practice to publish online comments on the places visited, the
services offered and the products purchased. This information is a sounding board that
feeds data for marketing companies. Attention to user comments is particularly high in
the domain of food-related products.
The business that moves around food is consolidated on billion dollars.
In this work we present a system for the automatic analysis of text comments
related to food products. Systematic analysis means allowing an analyst to have at a
glance all the needed aggregated data and results that summarizes the meaning of
hundreds or thousands of comments, written in natural language. The analysis of the
comments, and therefore the choices of the consumers, can therefore constitute a
patrimony of very high value for the companies of the sector.
At this aim we implemented a system for sentimental analysis, developed in
Python. It uses the state of the art libraries of processing texts written in natural
language, because the messages in natural language collected on the domain of food are
written in Italian language.
In the case of study built for validating the analyzer, the system retrieves from
Twitter some posts (through proper APIs) on which performs sentiment analysis
operations.
3 Opinion Analysis
Once you have requested and obtained the API from Twitter you need to decide which
tweets, among all those present, to consider. This operation is done by selecting only
the posts that contain a certain hashtag, this is possible by using a particular script
written in python in which is needed to specify the reference language and the number
of tweets that the user wants to take into consideration [11–14].
In Fig. 2 we report a script for the selection of 50 tweets characterized by hashtag
“food”.
Before explaining how the sentiment analysis on the tweets that have been found
through the methods reported in the previous section was done, we report some key
point on this kind of analysis.
Terms of Sentiment Analysis indicates the field of natural language processing that
deals with building systems for the identification and extraction of opinions from the
text [15–19].
It is based on the main methods of computational linguistics and textual analysis.
Existing approaches to sentiment analysis can be grouped into 4 main categories [1]:
1. Spotting of keywords: classifies the text from influential categories based on the
presence of influential but ambiguous words such as happy, sad, afraid, bored;
2. Lexical Affinity: it does not only aim to detect influential words, but has also the
task of assigning to words, in an arbitrary manner, a probable particular emotions;
3. Statistical methods: they rely instead on elements taken from machine learning
methods, such as latent semantic analysis, support vector machines, bag of words
and semantic orientation. In order to extrapolate opinion in a given context and
obtain its characteristics, the grammatical relations of words are used.
4. Conceptual level techniques: these kind of approaches rely on knowledge repre-
sentation tools such as ontologies and semantic networks, and aimed to detect
semantics that are expressed in a subtle way.
The import commands for the extension of the sentiment analysis modules are
shown in Fig. 3.
Once the tweets are obtained, they will have to be analysed to extract opinions.
For this operation we used the Python procedures, which allowed us, through
proper scripts, to obtain sentimental information about the same.
In Fig. 4 the script for performing the sentiment analysis is reported.
At this point, the last part of the program is to call the function for the analysis of
each tweet determined and saved appropriately in an array, printing the text and the
result, as reported in Fig. 5.
The developed python program aims to analyze the documents of interest, in our case a
series of comments, published on one of the main social network (Twitter), related to a
list of selected food products. The input texts are taken from public accessible cooking
pages available on the web, in order to evaluate the product according to the extent of
the comments, whether positive or negative. In the end, based on the score received
from comments, the product will be assigned a number of stars, for a maximum of 5 in
case of all positive comments.
Using spacy and the PyCharm IDE we have implemented the code reported in
Fig. 6.
314 A. Amato et al.
Fig. 6. Screenshot of the code fragment reporting the rate of the comments
We imported the spacy library and the model propaedeutic for the recognition of
the characteristics of the Italian language, in which the comments are written, in order
to perform the processing of the comments written in natural language [20–25].
The score variable takes into account the score achieved by the food product.
We count the number of comments and increase the score depending on the
comment found through the command token.text.rfind:
For each “Congratulations” (complimenti) and “Very Good” (buonissimo) found in
the file there is an increase of 0.75; “very good” (molto buono) and “very good recipe”
(ricetta molto buona) correspond to the maximum score for a comment, that is 1;
“goodness” (bontà) corresponds to 0.65; “wonder” (meraviglia) to 0.8; “I don’t like” (non
mi piace) to 0.25; “not bad” (non male) to 0.5; “to try” (da provare) to 0.6; “very bad”
(pessimo) to 0. The Italian translation of the sentences is reported between the brackets.
In Fig. 7 is reported the snippet of code used for printing the resulting score.
5 Conclusions
In this work we presented a system for the automatic analysis of text comments related
to food products. Systematic analysis means allowing an analyst to have at a glance all
the needed aggregated data and results that summarize the meaning of hundreds or
thousands of comments, written in natural language. The analysis of the comments, and
therefore the choices of the consumers, can therefore constitute a patrimony of very
high value for the companies of the sector.
At this aim we implemented a system, developed in Python. It uses the state of the
art libraries of processing texts written in natural language, because the messages in
natural language collected on the domain of food are written in Italian language.
Through this system it is possible to analyze the reactions of users to certain posts,
selecting those to which correspond positive feedback, also for proposing to the user
content that is interesting for him.
Acknowledgments. This work was co-funded by the European Union’s Justice Programme
(2014–2020), CREA Project, under grant agreement No. 766463.
316 A. Amato et al.
References
1. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Pearson
Education Limited, Malaysia (2009)
2. Chianese, A., Marulli, F., Piccialli, F.: Cultural heritage and social pulse: a semantic
approach for CH sensitivity discovery in social media data 2016. In: IEEE Tenth
International Conference on Semantic Computing (ICSC), pp. 459–464 (2016)
3. Amato, F., Moscato, V., Picariello, A., Piccialli, F., Sperlí, G.: Centrality in heterogeneous
social networks for lurkers detection: An approach based on hypergraphs. Concurr. Comput.:
Pract. Exp. 30(3), e4188 (2018)
4. Hussain, S., Keung, J., Khan, A.A., Ahmad, A., Cuomo, S., Piccialli, F., Jeon, G.,
Akhunzada, A.: Implications of deep learning for the automation of design patterns
organization. J. Parallel Distrib. Comput. 117, 256–266 (2018)
5. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L., Sgaglione, L.: Exploiting new CPU
extensions for secure exchange of eHealth data at the EU level. In: 2018 14th European
Dependable Computing Conference (EDCC), Iasi, pp. 17–24 (2018). https://doi.org/10.
1109/edcc.2018.00015
6. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L.: A comparative analysis of emerging
approaches for securing java software with Intel SGX. Futur. Gener. Comput. Syst. 97, 620–
633 (2019). ISSN 0167-739X. https://doi.org/10.1016/j.future.2019.03.018
7. Mazzeo, G., Coppolino, L., D’Antonio, S., Mazzariello, C., Romano, L.: SIL2 assessment of
an active/standby COTS-based safety-related system. Reliab. Eng. Syst. Saf. 176, 125–134
(2018). ISSN 0951-8320. https://doi.org/10.1016/j.ress.2018.04.009
8. Cilardo, A., Barbareschi, M., Mazzeo, A.: Secure distribution infrastructure for hardware
digital contents. IET Comput. Digit. Tech. 8(6), 300–310 (2014)
9. Amelino, D., Barbareschi, M., Cilardo, A.: An IP core remote anonymous activation
protocol. IEEE Trans. Emerg. Top. Comput. 6(2), 258–268 (2016)
10. Cilardo, A., et al.: An FPGA-based key-store for improving the dependability of security
services. In: 10th IEEE International Workshop on Object-Oriented Real-Time Dependable
Systems. IEEE (2005)
11. Amato, F., Moscato, F., Moscato, V., Colace, F.: Improving security in cloud by formal
modeling of IaaS resources. Futur. Gener. Comput. Syst. 87, 754–764 (2018). https://doi.
org/10.1016/j.future.2017.08.016
12. Di Lorenzo, G., Mazzocca, N., Moscato, F., Vittorini, V.: Towards semantics driven
generation of executable web services compositions. J. Softw. 2(5), 1–15 (2007). https://doi.
org/10.4304/jsw.5.1.1-15
13. Moscato, F., Aversa, R., Di Martino, B., Rak, M., Venticinque, S., Petcu, D.: An ontology
for the cloud in mOSAIC. In: Cloud Computing: Methodology, Systems, and Applications,
pp. 467–485 (2017). https://doi.org/10.1201/b11149
14. Aversa, R., Di Martino, B., Moscato, F. Critical systems verification in MetaMORP(h)OSY.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics). LNCS (LNAI and LNB), vol. 8696,
pp. 119–129. Springer (2014). https://doi.org/10.1007/978-3-319-10557-4_15
15. Albanese, M., Erbacher, R.F., Jajodia, S., Molinaro, C., Persia, F., Picariello, A., Sperlì, G.,
Subrahmanian, V.S.: Recognizing unexplained behavior in network traffic. In: Network
Science and Cybersecurity, pp. 39–62. Springer, New York (2014)
16. Casillo, M., Clarizia, F., Colace, F., Lombardi, M., Pascale, F., Santaniello, D.: An approach
for recommending contextualized services in e-tourism. Information 10(5), 180 (2019)
Opinion Mining in Consumers Food Choice and Quality Perception 317
17. Amato, F., Cozzolino, G., Sperlì, G.: A hypergraph data model for expert-finding in
multimedia social networks. Inf. (Switzerland), 10(6) (2019). Article no. 183
18. Amato, F., Moscato, V., Picariello, A., Sperli’ì, G.: Extreme events management using
multimedia social networks. Futur. Gener. Comput. Syst. 94, 444–452 (2019)
19. Amato, F., Moscato, V., Picariello, A., Piccialli, F.: SOS: a multimedia recommender system
for online social networks. Futur. Gener. Comput. Syst. 93, 914–923 (2019)
20. Clarizia, F., Colace, F., Lombardi, M., Pascale, F., Santaniello, D.: Chatbot: an education
support system for student. In: International Symposium on Cyberspace Safety and Security,
pp. 291–302. Springer, Cham (2018)
21. Colace, F., De Santo, M., Greco, L., Napoletano, P.: A query expansion method based on a
weighted word pairs approach. In: Proceedings of the 3rd Italian Information Retrieval (IIR),
vol. 964, pp. 17–28 (2013)
22. Colace, F., De Santo, M.: Adaptive hypermedia system in education: A user model and
tracking strategy proposal. In: 2007 37th Annual Frontiers in Education Conference-Global
Engineering: Knowledge Without Borders, Opportunities Without Passports, pp. T2D–18.
IEEE, 2007 October
23. Amato, F., Moscato, F., Xhafa, F.: Generation of game contents by social media analysis and
MAS planning. Comput. Hum. Behav. (2019)
24. Amato, F., Cozzolino, G., Moscato, V., Moscato, F.: Analyse digital forensic evidences
through a semantic-based methodology and NLP techniques. Futur. Gener. Comput. Syst.
98, 297–307 (2019)
25. Amato, F., Cozzolino, G., Mazzeo, A., Moscato, F.: Detect and correlate information system
events through verbose logging messages analysis. Computing 101(7), 819–830 (2019)
A Model for Human Activity Recognition
in Ambient Assisted Living
1 Introduction
According to 2013 projections from the IBGE (Brazilian Institute for Geogra-
phy and Statistics), the elderly people in Brazil in 2016 would represent approx-
imately 12% of the population of the country. By 2060, the institute projects
that the population of the elderly will represent almost 34% of the population
of Brazil. In absolute numbers, it is estimated that the number of elderly people
practically triple by 2060 [1].
This great growth of the elderly population creates both the opportunity and
the need to establish conditions that may guarantee them a life with quality and
independence. Based on this scenario, technologies that monitor individuals (IoT
devices) in their homes have emerged – the so-called Ambient Assisted Living.
Although human activity recognition systems reinforce the notion that the main
target audience is the elderly population, it is important to note that this kind of
system, as well as the proposed model, can be useful for the entire population in
general, regardless of their age group or other characteristics that define them.
An Ambient Assisted Living consists of a heterogeneous set of wearable and
environment sensors (IoT devices) that generate large volumes of data. These
environments use a variety of techniques to detect abnormalities; however, such
abnormalities are usually detected only when they are actually occurring, which
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 318–328, 2020.
https://doi.org/10.1007/978-3-030-33509-0_29
A Model for Human Activity Recognition in Ambient Assisted Living 319
2 Related Work
Table 1 presents a comparison between the approaches used in some of the papers
that were selected as related work.
3 Proposal
As life expectancy keeps increasing, focused solutions for Ambient Assisted Liv-
ing environments arise with the objective of improving the quality of life and
guaranteeing independence for the elderly.
This work proposes a model for human activity recognition, monitoring indi-
viduals within their homes. The data to be analyzed in this prediction refer to
positioning and movement.
Figure 1 shows an overview of the proposed model, which utilizes the IoT
technology. The figure depicts every process within the model, from the input
of data – which are captured from sensors – to the prediction of the activity
performed by the monitored individual.
The main goal of this work is to propose a model that is capable of accurately
inferring what activity the monitored individual is performing, based on their
location and movement data.
A Model for Human Activity Recognition in Ambient Assisted Living 321
3.1.1 Movement
In order to obtain movement data, the individual will carry a wearable sen-
sor which will be comprised of a TinyDuino, a BLE shield for communication
between the sensor and the computer system, and an accelerometer shield. The
main board and the shields can be seen in the Fig. 2. The dimensions of the
assembled sensor are 20 mm × 20 mm × 16.8 mm.
3.1.2 Location
For the identification of an individual’s location, Bluetooth devices will be dis-
tributed throughout the environment. These devices will be responsible for ver-
ifying the signal strength of the BLE carried by the person. The location of the
monitored individual will be defined according to the signal strength measured
by the Bluetooth devices.
In this step, it will be necessary to train the model to recognize the surround-
ings of the house. In order to do so, it is necessary to equip the sensor and walk
around the house, manually discriminating each room.
The process of identifying the distinct areas of the environment is described
as follows:
1. Every second, each of the Bluetooth devices will store data regarding the
signal intensity of the wearable sensor in a database;
2. The computational system will be responsible for reading the last 3 sets of
data of each Bluetooth device, and for calculating the average intensity of
each device;
3. The average intensity of each device will be used as an index for the prediction
of the location;
4. The K-NN algorithm will be used to predict the location;
5. The prediction will be stored in the database.
the case of the high intensity category, which has only one activity and thus has
120 s to perform it. Categories that have more activities, on the other hand, have
less time for each activity, as is the case of the domestic activity category, which
has an average of 11 s for each activity, since it comprises 11 activities.
4.1 Scenarios
Scenario I presents the results for the tests where only movement data were used
for the recognition of human activity. Scenario II presents the results for the tests
where movement and location data were used. Scenario II was performed in two
different ways: in II(a) the location data from the proposed model are used,
whereas in II(b) synthetic location data are used, considering an accuracy of
100%, that is, all locations are correctly labeled. This decision has been made
due to low data precision in indoor locations where there were no Bluetooth
devices (hallway, restroom and laundry room). Rooms with Bluetooth devices
reached an accuracy of nearly 95%, while rooms without Bluetooth devices had
an accuracy close to 30%.
4.2 Cross-Validation
We have run tests using three different algorithms: Extra Trees, Gradient Boost-
ing and Random Forest. Table 2 presents a comparison of the accuracy of the
model – for the training data – using the cited algorithms.
After running some experimental tests, we have observed that complex attributes
(interquartile range, entropy, signal magnitude area and correlation) are the
ones that are less important for the model, whereas simpler attributes – such
as maximum value and minimum value – have a greater weight for the selection
process.
In scenarios II(a) and II(b), where location data were analyzed, it is observed
that attributes that are related to location play a significant role, having a great
weight in the selection process. In scenario II(b), where all locations were correct,
these attributes have, on average, a weight three times higher than the other
attributes.
A Model for Human Activity Recognition in Ambient Assisted Living 325
Scenario Accuracy
I 81,16%
II(a) 92,59%
II(b) 97,56%
Throughout this work it was clear that the existing literature related to the
context of human activity recognition in ambient assisted living, based on IoT
technology, lacks standards, in a way that a wide variety of approaches are used.
In this work, we have decided to use only one wearable sensor (IoT device) for
each monitored individual, and data regarding location and movement are sent
to the computer system for the prediction of activities.
The model proved to be effective for the recognition of human activities
for the test data, presenting 81.16% accuracy when using only movement data,
92.59% when using both movement and location data and 97.56% when move-
ment data and synthetic location data are used.
During the tests, some Bluetooth communication problems were identified,
mainly in the indoor localization system, which led to a low accuracy of this
system in rooms where there were no Bluetooth devices – hallway, restroom
and laundry room. To address this problem, using the same approach, it would
be necessary to install Bluetooth devices in all monitored environments, which
would be impractical for the general public. Even with the problem of communi-
cation, the importance of localization for the recognition of human activity has
been proven when using synthetic location data.
The positioning of the Bluetooth devices was also a key to the success of the
research. It was necessary to test various device arrangements in order to achieve
satisfactory results. Obstructions in the path between the Bluetooth devices and
the wearable sensor, however small, can have a major impact on signal strength
measurements.
We chose the accelerometer as the main sensor for the identification of activ-
ities mainly due to its low energy consumption and small dimensions, which
favors non-intrusiveness, guaranteeing a life with quality and independence for
the monitored individuals.
After analyzing the results of the research, we can suggest some improvements
that can be addressed in future works:
A Model for Human Activity Recognition in Ambient Assisted Living 327
References
1. IBGE: Projeção da população do brasil por sexo e idade 2000-2060. Revisão 2013
(2013)
2. Forkan, A.R.M., Khalil, I., Tari, Z., Foufou, S., Bouras, A.: A context-aware app-
roach for long-term behavioural change detection and abnormality prediction in
ambient assisted living. Pattern Recognit. 48(3), 628–641 (2015)
3. Amaral, W.D., Dantas, M.: Um modelo de reconhecimento de atividades humanas
baseado no uso de acelerômetro com qoc. In: Workshop de Iniciação Cientı́fica
do WSCAD 2017 (XVIII Simpósio em Sistemas Computacionais de Alto Desem-
penho), pp. 45–50 (2017)
4. Mario, M.: Human activity recognition based on single sensor square HV accel-
eration images and convolutional neural networks. IEEE Sens. J. 19, 1487–1498
(2018)
5. Choi, H., Wang, Q., Toledo, M., Turaga, P., Buman, M., Srivastava, A.: Tempo-
ral alignment improves feature quality: an experiment on activity recognition with
accelerometer data. In: 2018 IEEE/CVF Conference on Computer Vision and Pat-
tern Recognition Workshops (CVPRW), Salt Lake City, UT, USA, pp. 462–4628
(2018)
6. Dwiyantoro, A.P.J., Nugraha, I.G.D., Choi, D.: A simple hierarchical activity
recognition system using a gravity sensor and accelerometer on a smartphone.
Int. J. Technol. 7(5), 831–839 (2016)
7. Murao, K., Terada, T.: A combined-activity recognition method with accelerome-
ters. J. Inf. Process. 24(3), 512–521 (2016)
8. Kim, Y.J., Kang, B.N., Kim, D.: Hidden Markov model ensemble for activity recog-
nition using tri-axis accelerometer. In: 2015 IEEE International Conference on Sys-
tems, Man, and Cybernetics, pp. 3036–3041 (2015)
9. Maurer, U., Smailagic, A., Siewiorek, D.P., Deisher, M.: Activity recognition and
monitoring using multiple sensors on different body positions. In: Proceedings of
the International Workshop on Wearable and Implantable Body Sensor Networks,
BSN 2006, pp 113–116. IEEE Computer Society, Washington, DC (2006)
10. Atallah, L., Lo, B., King, R., Yang, G.Z.: Sensor positioning for activity recognition
using wearable accelerometers. IEEE Trans. Biomed. Circuits Syst. 5(4), 320–329
(2011)
11. Noor, M.H.M., Salcic, Z., Wang, K.I.-K.: Adaptive sliding window segmentation
for physical activity recognition using a single tri-axial accelerometer. Pervasive
Mob. Comput. 38(1), 41–59 (2017)
328 W. D. do Amaral et al.
12. Chevalier, G.: LSTMS for human activity recognition (2016). https://github.com/
guillaume-chevalier/LSTM-Human-Activity-Recognition. Accessed 13 June 2017
13. Anguita, D., Ghio, A., Oneto, L., Parra, X., Reyes-Ortiz, J.L.: A public domain
dataset for human activity recognition using smartphones. In: 21th European Sym-
posium on Artificial Neural Networks. ESANN, Computational Intelligence and
Machine Learning (2013)
14. Zhu, C., Sheng, W.: Motion- and location-based online human daily activity recog-
nition (2013)
15. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O.,
Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A.,
Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: machine
learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)
16. Nazário, D.C., Campos, P.J., Inacio, E.C., Dantas, M.A.R.: Quality of context eval-
uating approach in AAL environment using IoT technology. In: 2017 IEEE 30th
International Symposium on Computer-Based Medical Systems (CBMS), Thessa-
loniki, pp. 558–563 (2017)
Omniconn: An Architecture for
Heterogeneous Devices Interoperability
on Industrial Internet of Things
1 Introduction
Nowadays, there has been a significant increase in the number of devices on
the Internet of Things (IoT) context. It is expected that IoT will be one of the
greatest revolutions since the Internet, bringing numerous opportunities world-
wide [12]. The growth in IoT also pushes some related areas such as VANETs,
Smart Cities, and Industrial IoT (IIoT).
According to [20], two of the most significant application challenges within
the context of IoT are the high heterogeneity and cooperation among millions
of distributed devices. The quantity of device types and protocols makes it very
difficult to approach standardization. And this may become even more complex
over the years, due to the release of new devices and protocols. An approach is
necessary that makes possible the integration of these devices.
In [8], the authors proposed to use a Service-Oriented Architecture (SOA)
to deal with interoperability issues. While service utilization is a promising
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 329–339, 2020.
https://doi.org/10.1007/978-3-030-33509-0_30
330 B. M. Agostinho et al.
approach, a traditional SOA architecture may reduce some flexibility from the
technologies adopted. Using a different method, [6] proposed to use containers
and SDN technologies to deal with heterogeneous networks, but they did not
perform connectivity tests. In [14], the authors proposed the use of a gateway
to deal with heterogeneity in the communication between Zigbee and Bluetooth
LE devices, sending the data to the cloud. However, until the moment of the
publication, they had not done any validation of the environment.
The Omniconn proposal presents an approach using microservices to handle
different types of devices and protocols. Rather than a traditional SOA app-
roach, we decided to use microservices, taking advantage of its flexibility and
independence about other services approaches. Diverging from some proposals
presented, Omniconn was designed to use and process locally collected data,
enabling the use of its infrastructure within the context of Fog Computing. The
work brings as contribution, the feasibility of an environment that supports the
interoperability of heterogeneous devices, presenting the results obtained by the
experimental environment to validate the proposal. Furthermore, this work has
validated an approach using microservices to handle different devices and pro-
tocols and implemented an Industrial IoT control architecture.
The structure of this work is organized as follows. The second section brings
some relevant concepts related to the proposal. In the next section, we discussed
some related works. In Sects. 3 and 4, the Omniconn Architecture and the results
obtained in the experimental environment are presented. The work ends with
conclusions and future work.
2 Background
2.1 Industrial Internet of Things (IIoT)
The growth of the number of devices connected to the Internet in recent years and
the interaction between them, where everything can be connected and considered
a distinct object is called the Internet of Things (IoT). IoT devices can sense
and actuate in the environment, besides they interact with other devices and
users (sharing information and taking decisions) [2].
According to [3], IoT is a new concept that is growing and based on objects
or things that are pervasively distributed in an environment. These things can
be sensors, actuators, smartphones, and smart things (devices that can interact
with users through Internet).
Until the year 2020 is expected 212 billion devices connected through Internet
[2]. However, how these devices will interact, communicate, collect, and store
data is not a consense between IoT researchers. Besides IoT is a natural trend,
it is necessary the definition of standards that properly integrate IoT devices.
IoT applications can be used in several practical contexts: medical wireless
sensor networks, smart homes, smart factories and smart farming. Thus, IoT is
a trend that will change the way users interact with their goods and facilities.
Omniconn: An Architecture for Industrial Internet of Things 331
2.2.2 Zigbee
Zigbee [5], was developed to be a reliable, low cost and low energy, wireless tech-
nology. Based on IEEE 802.15.4 standard, it implements network and application
layers. Devices remain in sleep mode most of their lifetime to save energy.
3 Related Works
The challenges to be overcome within the context of IoT, Industry 4.0, and pro-
tocols interoperability has been increasing researches in this area. In this section,
we have selected some related works to compare and validate our proposal.
In [8], the variety of protocols are managed by service-oriented drivers, taking
advantage of the concept of “service platform”, while the network is handled
locally on the platform. Despite the solution seens works well, using a traditional
SOA architecture can take away the system flexibility. In the model presented,
the authors suggest a centralized service platform creation, presenting itself as
a possible point of failure in case of problems.
The use of SDN technologies and Docker containers to solve the problems
related to heterogeneity using IoT devices was proposed by [6]. Experiments
were performed using an architecture with a centralized SDN controller. The
332 B. M. Agostinho et al.
4 Omniconn Architecture
In this paper, we propose the Omniconn Architecture, developed as a solution for
interoperability problems in the communication between heterogeneous devices
within an Industrial IoT context. Omniconn was designed to act on four groups
of components, based on the work [1]: Main Gateway, Secondary Gateways, IOT
Objects, and Control Devices. Each of these will be explained in detail in this
section.
Figure 1 illustrates the interaction between Omniconn components. Although
it appears in the figure, the control application did not have its prototype devel-
oped. The functionalities were tested through HTTP requests, simulating the
expected performance of the application.
Main Gateway: Its primary function is to provide information to the control
devices about which objects are available and which gateways should be called
for the desired service. Requests are composed by a command responsible for
performing some function or get data from an IoT Object. The communication of
the main gateway with the secondary ones will be done through HTTP requests,
in the client/server model.
Omniconn: An Architecture for Industrial Internet of Things 333
Secondary Gateways: They are the main actors of this architecture. The
proposal is to have several gateways that handle all objects and sensors in
the environment without overloading. These devices will be controlled (acti-
vated/deactivated or data collection) through microservices. Services send or
receive messages to the objects or gather information from the sensors through
the GPIO of the board. The collected data is sent to the central gateway.
IoT Objects: Can be treated as actuators and sensors in a control system.
They have a moderate computational capacity, require low power consump-
tion and, communicate themselves through IoT protocols. For the proposal, the
used protocols were Zigbee, Bluetooth LE, and Wi-fi. The gateway must have a
transceiver with the modulation and radio frequency specified by the standards
of each communication.
Control Devices: The control devices are responsible for showing the inter-
action options with the IoT Objects. The available objects determine the pos-
sibilities. The devices will communicate with the central gateway to log in and
acquire tokens to access the secondary gateways.
4.1 Development
5 Experimental Environment
For the experiments, a structure was set up to simulate a small environment
from a Smart Factory. We used 3 secondary gateways connected to a central
gateway, as shown in Fig. 2.
The experiments performed in this work were designed to measure the level of
interference that the use of multiple communication protocols can generate. For
this, we chose the Zigbee, BLE, and Wi-fi protocols. The tests were performed
initially for each communication protocol individually, increasing the number of
IoT objects connected to the corresponding secondary gateway. We performed
the isolated tests to compare it with the multiple protocols scenario. All tests
were executed five times, using the mean of the results as the final result. We
used 4 SOCs Raspberry Pi 2 as the gateways in the experiments. The boards
have a four-core 900 MHz processor and 1 Gb of memory each.
To simulate real use, we put all IoT objects in the same environment. The
secondary gateways for BLE and Zigbee devices were placed together with the
IoT objects, while the secondary gateway responsible for Wi-Fi objects and the
central gateway were placed in a separate environment, connected to a wired
network.
Table 1 shows the quantity of each type of device used in the test cases. Due
to the stabilization of the detections for the previously presented BLE devices,
Omniconn: An Architecture for Industrial Internet of Things 335
it was decided to repeat the number of devices for the last 2 tests, using 15
instead of 20. For the results, we will use the term Ineroperability for the tests
using multiple protocols and Isolated for the tests using a specific one. The blue
columns and lines represent the results for the referred protocol, while the red
ones represent the interoperability results.
Figure 3 shows results of the number of requests performed using the Blue-
tooth protocol in the isolated tests compared to experiments using multiple
protocols. It is possible to see that the quantities of requests in the isolated tests
and of interoperability remain very close in the tests with 1, 5, and 10 devices.
The difference slightly increases for the experiments with 15 devices (BLE and
Zigbee with 9 devices each). Finally, we can see the most significant difference
in the last test, using all the devices.
Regarding the average response time, it is possible to notice in Fig. 4 that the
results remained very close with 1 and 5 devices. The difference increased slightly
for tests with 10 and 15 devices and reached the most significant difference in
the last test, where the average response time of the interoperability tests was
almost 20% higher.
336 B. M. Agostinho et al.
The test with Zigbee protocol shows, as can be seen in Fig. 5, the number
of requests increasing according to the number of devices and stabilizing since
the tests with 6 devices. The number of requests remained very close in all
experiments. The most significant differences observed were 2% higher for the
interoperability tests with 3 devices and 3% for the isolated tests using 6 objects.
The difference between the response time can be seen on Fig. 6.
Figure 7 shows the result of the comparison of the number of requests between
the isolated and interoperability tests related to the Wi-Fi protocol. Unlike pre-
vious protocols, the total amount is continually increasing as more devices are
inserted.
Regarding the average response time of the requests, the values found in the
isolated tests remained higher during configurations with 1, 3, and 6 devices. In
the experiments with 9 and 12 devices the average of the interoperability tests
were higher, reaching the most significant difference (approximately 26%) with
9 devices.
Omniconn: An Architecture for Industrial Internet of Things 337
References
1. Agostinho, B.M., Rotta, G., Della Mea Plentz, P., Dantas, M.A.R.: Smart Comm:
a smart home middleware supporting information exchange. In: IECON 2018 -
44th Annual Conference of the IEEE Industrial Electronics Society, pp. 4678–4684,
October 2018
2. Al-Fuqaha, A., Guizani, M., Mohammadi, M., Aledhari, M., Ayyash, M.: Internet
of Things: a survey on enabling technologies, protocols, and applications. IEEE
Commun. Surv. Tutor. 17, 2347–2376 (2015)
3. Atzori, L., Iera, A., Morabito, G.: The Internet of Things: a survey. Comput. Netw.
54(15), 2787–2805 (2010)
4. Augustin, A., Yi, J., Clausen, T., Townsley, W.M.: A study of LoRa: long range
& low power networks for the Internet of Things. Sensors 16(9), 1466 (2016)
Omniconn: An Architecture for Industrial Internet of Things 339
5. Baronti, P., Pillai, P., Chook, V.W., Chessa, S., Gotta, A., Hu, Y.F.: Wireless
sensor networks: a survey on the state of the art and the 802.15.4 and Zigbee
standards. Comput. Commun. 30(7), 1655–1695 (2007). Wired/Wireless Internet
Communications
6. Bedhief, I., Kassar, M., Aguili, T.: SDN-based architecture challenging the IoT het-
erogeneity. In: 2016 3rd Smart Cloud Networks Systems (SCNS), pp. 1–3, Decem-
ber 2016
7. Bellavista, P., Cardone, G., Corradi, A., Foschini, L.: Convergence of MANET and
WSN in IoT urban scenarios. IEEE Sens. J. 13, 3558–3567 (2013)
8. Bottaro, A., Gérodolle A.: Home SOA: facing protocol heterogeneity in pervasive
applications. In: Proceedings of the 5th International Conference on Pervasive Ser-
vices, ICPS 2008, pp. 73–80. ACM, New York (2008)
9. Gomez, C., Oller, J., Paradells, J.: Overview and evaluation of bluetooth low
energy: an emerging low-power wireless technology. Sensors 12(9), 11734–11753
(2012)
10. Luzuriaga, J.E., Perez, M., Boronat, P., Cano, J.C., Calafate, C., Manzoni, P.: A
comparative evaluation of AMQP and MQTT protocols over unstable and mobile
networks. In: 2015 12th Annual IEEE Consumer Communications and Networking
Conference (CCNC), January 2015
11. Moazzami, M., Xing, G., Mashima, D., Chen, W., Herberg, U.: Spot: a
Smartphone-based platform to tackle heterogeneity in smart-home IoT systems.
In: 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT), pp. 514–519,
December 2016
12. Ngu, A.H., Gutierrez, M., Metsis, V., Nepal, S., Sheng, Q.Z.: IoT middleware: a
survey on issues and enabling technologies. IEEE Internet Things J. 4(1), 1–20
(2017)
13. Perumal, T., Ramli, A.R., Leong, C.Y.: Interoperability framework for smart home
systems. IEEE Trans. Consum. Electron. 57(4), 1607–1611 (2011)
14. Rahman, T., Chakraborty, S.K.: Provisioning technical interoperability within Zig-
bee and BLE in IoT environment. In: 2018 2nd International Conference on Elec-
tronics, Materials Engineering Nano-Technology (IEMENTech), pp. 1–4, May 2018
15. Rotta, G., Dantas, M.A.R.: Um estudo sobre protocolos de comunicação para ambi-
entes de internet das coisas. Escola Regional de Alto Desempenho (2017)
16. Saint-Andre, P., Smith, K., Tronçon, R., Troncon, R.: XMPP: The Definitive
Guide. O’Reilly Series. O’Reilly Media, Sebastopol (2009)
17. Sarkar, C., Nambi, A.U., Prasad, R.V., Rahim A.: A scalable distributed architec-
ture towards unifying IoT applications. In: 2014 IEEE World Forum on Internet
of Things (WF-IoT), March 2014
18. Siekkinen, M., Hiienkari, M., Nurminen, J.K., Nieminen, J.: How low energy
is Bluetooth low energy? Comparative measurements with Zigbee/802.15.4. In:
2012 IEEE Wireless Communications and Networking Conference Workshops
(WCNCW), pp. 232–237, April 2012
19. Sobral, J., Rodrigues, J., Rabelo, R., Lima Filho, J.C., Sousa, N., Araujo, H.S.,
Filho, R.: A framework for enhancing the performance of Internet of Things appli-
cations based on RFID and WSNs. J. Netw. Comput. Appl. 107, 02 (2018)
20. Xiao, G., Guo, J., Xu, L.D., Gong, Z.: User interoperability with heterogeneous
IoT devices through transformation. IEEE Trans. Ind. Inform. 10(2), 1486–1496
(2014)
21. Zhiliang, W., Yi, Y., Lu, W., Wei, W.: A SOA based IoT communication mid-
dleware. In: 2011 International Conference on Mechatronic Science, Electric Engi-
neering and Computer (MEC), August 2011
A Framework for Allocation of IoT
Devices to the Fog Service Providers
in Strategic Setting
1 Introduction
As the unprecedented growth of IoT devices is around the corner [1] (CISCO
estimated that by 2020 there will be 50 billion of connected devices with an
average of 7 per person [2]), big chunks of data will need to be collected and
processed. The most potential option for processing the data is to use the cloud
framework that provide infrastructure less services starting from any individual
F. Xhafa—(On Leave, University of Surrey, UK).
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 340–351, 2020.
https://doi.org/10.1007/978-3-030-33509-0_31
A Framework for Allocation of IoT Devices to the Fog Service Providers 341
to small and large enterprises. However, the IoT devices are to be connected with
the cloud through Internet and thereby can consume a huge bandwidth and may
not be supported always with the limited bandwidth availability (even with the
next-generation standard for wireless communications such as 5G or more). To
circumvent this issue, Fog computing could be a viable solution, where much of
the data processing may be done close to the data source rather than being sent
to cloud. In this paper, we are concerned about the fact that, there are some
Fog service providers and the data collected by the IoT devices can be processed
with one or more of such Fog service providers.
At present, the number of Fog service providers are limited. However, with
the ever increasing growth of IoT devices and to meet their demand, many more
Fog service providers may join the market. The increasing number of Fog service
providers will be providing users (synonymously be used with IoT devices) a
greater choice and also creating difficulty to choose the most appropriate provider
for their requirements. This requires a proper and efficient resource allocating
mechanism in Fog computing both in strategic and non-strategic settings. In
strategic setting the users are strategic in the usual game theoretic sense [3].
In strategic setting, the resource allocation problem can be represented both
with money (when users pay to the fog service providers) and without money
(when users get certain services free of cost). In this paper, we have studied
the resource allocation problem in a without-money setting. First, in this paper,
we have considered a case where an IoT device (user) needs an exclusive use of
the Fog Service Provider (F SP ) for a long time once allocated (later described
as ti = ∞). The model is then extended in an interesting case where an IoT
device needs the F SP for a specific duration from when they are allocated
(later denoted as ti = ∞). A detailed simulation is provided for both the cases.
The remaining sections of the paper are described as follows. The prior works
are demonstrated in Sect. 2. In Sect. 3, we describe the system model and formu-
late the problem. The proposed mechanisms are illustrated in Sect. 4. In Sect. 5,
the analysis of the F SAM -IComP is carried out. The algorithm for the extended
version of the problem is depicted in Sect. 6. The experimental results are dis-
cussed in Sect. 7. Finally, the conclusions and future works are highlighted in
Sect. 8.
2 Related Works
subsequent papers. As the participating agents are rational they can manipulate
their private information to have some extra incentives. In order to tackle such
situation, some truthful mechanisms are discussed [5]. Further considering the
scenario where there is/are single (or multiple) service provider offering multiple
heterogeneous services and on the other hand we have multiple users request-
ing for bundle of services among the available services. In literature such type
of scenarios are modelled by utilizing the framework of combinatorial auction.
Moving on to the case where money is not involved in any sense, in [6] the set-
up is, there are multiple users and multiple service providers say n, and users
provide a preference ordering over the available service providers. Here, the goal
is to allocate the best available service provider to each of the users.
The truthful mechanism is proposed for this discussed set-up. Further in [7],
the set-up discussed in [6] is extended to the case, where both the users and
the service providers are providing the strict preference ordering (full or partial
preference) over the members of the opposite community. A truthful mechanism
is proposed to allocate the services to the users (each user receives single ser-
vice). Coming back to our IoT+Fog+Cloud framework, currently there are few
existing works on the concept of fog computing [8,9]. For the detailed overview
of Fog computing and the research challenges the readers can go through [8–
11]. In [12], in the Fog environment, the bidders reveal the bids along with the
discrete sets of resources. The purpose of these bids is to reserve and allocate
those resources for a fixed period of time. The objective, here, is to allocate
the resources to the bidders in a non-conflicting manner. The above discussed
papers in Fog computing have mainly considered the problems from the mone-
tary perspective. However, it is found that till date no work has been done in
Fog computing environment from non-monetary (Money is not involved in the
market in any sense.) perspective. We believe that this paper is the first time one
of the problems in a Fog computing environment has been modelled by utilizing
the concept of mechanism design without money.
P3
P1 P2
Fig. 1. Partitioning the service provider based on the category of services provided.
service providers as P = {P1 , P2 , . . . Pk }, where i ni = n. This characterization
is shown in Fig. 1.
Similarly, we have a number, m, of IoT devices and their demand is hetero-
geneous in nature. They will be categorized by services they need. We denote
all IoT devices in a particular category ci ∈ C as Ai = {ac1i , ac2i , . . . acmi i } and
i mi = m and all such IoT devices as A = {A1 , A2 , . . . , AK }. Each IoT device
is characterized by aci i = (δici , tci i }, where δici is a strict preference ordering over
Pi∗ ⊆ Pi and tci i is the time needed to complete the desired job of the IoT device
(Here, job means the desired processing of its collected data.). Every user of the
specific category ci (viz. aci i ∈ Ai ) has a strict preference ordering over Pi∗ ⊆ Pi .
The strict preference ordering of the j th user in category ci i.e. acji ∈ Ai is
denoted by δjci , where δjci = {pcri : pcri ∈ Pi } and each pcri ∈ Pi is separated by
a relation P j . For example, say we have five service provider in Pi and user
i
j = 2 has a given preferences (it could be full preference also) over pc2i , pc1i ,
and pc5i in that order. So, the δ2ci becomes : δ2ci = (pc2i P ci P i ci ci
2 p1 2 p5 ). tj is
i
only a number, say 10 that depicts the completion time from when it is getting
allocated. The unit of the number may be second, minute, hour etc. depending
on the applications. So, we can say tcji ∈ .
First let us take the structure of the full preference and later we will come
back to the partial preference case again. From now on we will discuss the algo-
rithm in any arbitrary category until stated otherwise without loss of generality.
If we don’t superscript ci , it will be assumed that it is for some arbitrary cate-
gory ci . For the full preference case, say for example, there are three users (viz.
a1 , a2 , and a3 ) and three service providers (viz. p1 , p2 , and p3 ). In the one sided
matching, users give their strict preferences over the service providers. Therefore
every user has a power to rank all the service providers and provide the strict
preferences over the service providers. Every service provider delivers its service
for a particular category e.g., every user find a job from different job sites. Here
job sites can be depicted as the service providers, and the users are denoted as
the job seekers. Hence, the users yield their strict preferences over the job sites,
344 A. Bandyopadhyay et al.
i.e they provide rank of the job sites. Here, every user (a1 , a2 , and a3 ) gives their
preferences to the job sites (s1 , s2 , and s3 ). In this paper, we generally use the
notation pi k pj , where i = j, This notation signifies that the user k prefers
the service provider pi to the service provider pj . Total ordering of the users
could be depicted as follows: (1) a1 : p1 1 p3 1 p2 , (2) a2 : p2 2 p1 2 p3 ,
and (3) a3 : p3 3 p2 3 p1 . Here three possible conditions may be introduced
in the partial preference cases: (1) m = n, (2) m > n, and (3) m < n. In these
situations, every user gives their partial preferences over the intended service
providers, and obtains the best available service providers.
4 Proposed Mechanisms
In this section, firstly RanAlgo is given as a naive solution for our problem,
that will help to understand better, the truthful mechanism called Fog Service
Allocation Mechanism with Incomplete Preferences (F SAM -IComP ) motivated
by [13,14].
The central idea of RanAlgo is, for each category ci , randomly pick a user from
the available users list. Next, randomly pick a service provider from the selected
user’s preference list and allocate it. Remove the user along with the allocated
service provider from the market. The process repeats until the users list becomes
empty.
We will first make an observation here. The observation will provide the insights
that will help developing algorithm in this setting.
6.1 Observation
Algorithm 3. MFSAM-IComP
1 for each category ci ∈ C do
2 D ← Extract users of this category
3 Randomize D
4 for i = 1 to |D| do
/* process each ai */
5 for j = 1 to |P ∗ | ⊆ |Pi | do
/* process the ranked list of ai */
6 if ai could be accommodated to pj ∈ P ∗ based on the length of the job then
7 assign ai to pj
8 break
9 end
10 end
11 end
12 end
we have to keep the door of the service provider opens as long as possible.
This view point will enable us to accommodate more users to their preferred
available service provider. The idea of the algorithm is given in Algorithm 3.
The time complexity of the proposed algorithm is O(kmn) time, where k is
the total number of categories to be processed. If k = O(m) or k = O(n) and
m = O(n) then the time complexity is boiling down to O(n3 ).
Proof. Fix a category ci and consider the ith user being processed. The ques-
tion is that whether he should provide the preference list truthfully or not. Our
claim is yes. First observe that all the users 1, 2, . . . , i − 1 being processed inde-
pendently of the preference list provided by the ith user and the processing is
done sequentially. This ensures that no further processing will be made to the
users 1, 2, . . . , i − 1. Some of the choices that are common to i s preference, may
be taken away by the earlier users processed before ith user and ith user can’t
do anything. Now, the proof boiling down to the fact that whether ith user is
getting the best available choice when his turn of processing is coming. By the
construction of the algorithm i s preference list will be scanned top to bottom in
348 A. Bandyopadhyay et al.
that order and he will get the next choice when and only when the previous list
has been exhausted. So, we can infer that he will always get the best available
choice. So, he should be truthful. Any possible lie will allocate him a service
provider which is not better than the current best. Hence the theorem.
Proof. In M F SAM -IComP , a user is allocated his first choice as long as possi-
ble. Otherwise, he is allocated the best available. At any ith stage if we consider
allocating a user by any other algorithm, it has to chose the strategy of the
M F SAM -IComP , otherwise it will lead to a sub-optimal allocation in terms of
choice as stated earlier, by construction, M F SAM -IComP allocates a user his
first choice as long as possible (the user will be getting a lower ranked service
provider than the current best, a worsening effect and hence violating the Pareto
optimal property). So, we conclude that M F SAM -IComP is Pareto optimal.
7 Experimental Analysis
In the fog computing framework, users give their true preferences over the ser-
vice providers. In this segment, we analyze the efficiency of the F SAM -IComP
algorithm via the simulation study. Here, RanAlgo has to be considered as a
benchmark algorithm and is compared with F SAM -IComP (in case of partial
preferences). In this area, some simulation has been worked out in light of the
data created randomly. To demonstrate the execution of proposed calculation
F SAM -IComP , we compare F SAM -IComP algorithm with Random Algo-
rithm (RanAlgo). Of note, the experimental code is composed in the Python
language.
For the simulation purpose, here, we have considered 500 different users and 500
different service providers. It is to be noted that, in each of the categories, the
users and the service providers are fixed. For the simulation, let the number of
users and service providers be the same.
The execution of the proposed systems is estimated under the standard of two
vital parameters: (1) Efficiency Loss (EL): Efficiency Loss can be calculated by
the difference between the index of the allocated service provider from the user
preference list and the index of the most preferred service provider by the user
from his preference list. (2) Best Allocation (BA): It evaluates the number of
the user (ui ) that gets their most preferred service provider from their provided
preference list over the accessible number of service providers.
A Framework for Allocation of IoT Devices to the Fog Service Providers 349
7.3 Discussion
To demonstrate the proficiency of the proposed algorithm F SAM -IComP , we
have compared our proposed algorithm to the Random algorithm RanAlgo along
with several cases such as (F SAM -IComP -L-var), (F SAM -IComP -M -var)
and (F SAM -IComP -S-var). Here, (F SAM -IComP -L-var) is depicting the
fact that 12 of the users can manipulate their true preference list. Likewise,
(F SAM -IComP -M -var) and (F SAM -IComP -S-var) is depicting the fact that
1 1
4 and 8 of the users can manipulate their true preference lists respectively.
With the help of these three conditions, we compare the performance of the
Random algorithm with the F SAM -IComP algorithm. Now, we calculate the
efficiency loss and compare between our algorithm F SAM -IComP and the Ran-
dom Algorithm (RanAlgo). In Fig. 2a, when the subset of all the users varies their
true preference ordering, then the EL of the users with the RanAlgo is more than
the large variation (F SAM -IComP -L-var) is more than the medium variation
(F SAM -IComP -M -var) is more than the small variation (F SAM -IComP -S-
var) is more than the without variation F SAM -IComP . The observation leads
to the conclusion that F SAM -IComP algorithm performs much better than the
Random Algorithm and also better than the deviation cases with m/2, m/4 and
m/8 number of users. Next, we have depicted the best allocation by the users
to the service providers in Fig. 2b. It can be concluded that F SAM -IComP ,
in this case, is performing better i.e. when the users are not manipulating their
true preferences, a substantial number of users are getting their best preference.
In Fig. 3 we have compared M F SAM −IComP against F SAM −IComP in
two different scenarios, for the case where ti = ∞. It can be seen that, the number
350 A. Bandyopadhyay et al.
References
1. Brogi, A., Forti, S.: QoS-aware deployment of iot applications through the fog.
IEEE Internet of Things J. 4(5), 1185–1192 (2017)
2. CISCO. Fog computing and the Internet of Things: extend the cloud to where
the things are. https://www.cisco.com/c/dam/enus/solutions/trends/iot/docs/
computing-overview.pdf (2015)
3. Nisan, N., Roughgarden, T., Tardos, E., Vazirani, V.V.: Algorithmic Game Theory.
Cambridge University Press, New York (2007)
A Framework for Allocation of IoT Devices to the Fog Service Providers 351
4. Sutherland, I.E.: A futures market in computer time. Commun. ACM 11(6), 449–
451 (1968)
5. Zhang, X., Wu, C., Li, Z., Lau, F.C.M.: A truthful (1 − ε)-optimal mechanism for
on-demand cloud resource provisioning. IEEE Trans. Cloud Comput. 1 (2019)
6. Bandyopadhyay, A., Mukhopadhyay, S., Ganguly, U.: Allocating resources in cloud
computing when users have strict preferences. In: 2016 International Conference on
Advances in Computing, Communications and Informatics, ICACCI 2016, Jaipur,
India, 21-24 September 2016, pp. 2324–2328 (2016)
7. Bandyopadhyay, A., Mukhopadhyay, S., Ganguly, U.: On free of cost service dis-
tribution in cloud computing. In: 2017 International Conference on Advances in
Computing, Communications and Informatics (ICACCI), pp. 1974–1980, Septem-
ber 2017
8. Hu, P., Dhelim, S., Ning, H., Qiu, T.: Survey on fog computing. J. Netw. Comput.
Appl. 98(C), 27–42 (2017)
9. Mahmud, R., Kotagiri, R., Buyya, R.: Fog computing: a taxonomy, survey and
future directions. pp. 103–130. Springer, Singapore (2018)
10. Puliafito, C., Mingozzi, E., Longo, F., Puliafito, A., Rana, O.: Fog computing for
the Internet of Things: a survey. ACM Trans. Internet Technol. 19(2), 18:1–18:41
(2019)
11. Mouradian, C., Naboulsi, D., Yangui, S., Glitho, R.H., Morrow, M.J., Polakos,
P.A.: A comprehensive survey on fog computing: state-of-the-art and research chal-
lenges. IEEE Commun. Surv. Tutor. 20(1), 416–464 (2018)
12. Fawcett, L., Broadbent, M., Race, N.: Combinatorial auction-based resource allo-
cation in the fog. In: 2016 5th European Workshop on Software-Defined Networks,
pp. 62–67 (2016)
13. Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am.
Math. Monthly 69(1), 9–15 (1962)
14. Roughgarden, T.: CS269I: Incentives in computer science, (Stanford University
Course), Lecture #1: The draw and college admissions, September 2016
15. Roughgarden, T.: CS269I: Incentives in computer science (Stanford University
Course), Lecture #2: Stable matching, September 2016
The 12th International Workshop on
Simulation and Modelling of
Engineering and Computational Systems
(SMECS-2019)
Blockchain Based Decentralized
Authentication and Licensing
Process of Medicine
1 Introduction
In the modern era, counterfeit medicines are still a serious issue. These coun-
terfeit medicines are not only damaging the patient’s health, rather, it is also
a dismal reflection of society. The manufacturers who formulate the counter-
feit medicines, put patient’s life on risk as well as they are responsible for tax
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 355–366, 2020.
https://doi.org/10.1007/978-3-030-33509-0_32
356 M. Azeem et al.
evasion, pollution, unemployment and child labor. To overcome these issues, lit-
erature is full of ideas, models, and processes by which medicine can be traceable,
authenticate and minimize the production of counterfeit medicines.
With to increasing number of medicines, the Drug Regulatory Authority
(DRA) made lot of rules and trying to fully implemented these rules to over-
come on counterfeit medicines. Departments under drug regulatory authority
are: (1) Licensing Department (LD) (2) Regulatory Department (RD) (3) Qual-
ity Assurance Department (QAD). These department are working in unsynchro-
nized environment, due to which efficiency and traceability are unsatisfied. How-
ever, strict and unimplemented regulation and inefficient bureaucratic job are
also a huge reason in the production of counterfeit medicines. All these depart-
ment have their own different database and asynchronous communications. This
asynchronous communication makes beneficial for counterfeit medicine’s manu-
facturer, in the formation of bogus and low quality medicines. Once, a manufac-
turer reaches to LD for register a medicine, LD does not have enough information
to see the history of a manufacturer, its previously registered medicine and the
quality of medicine it is producing. Also, QAD do not have enough information
of registered and currently producing medicine of manufacturer.
Vendor is an entity of this system, which buying medicines from manufacturer
and selling to user. Mischievously, vendor are not registered with the DRA. So,
some vendors are selling counterfeit medicines with the cooperation of bogus
manufacturers.
There is a need of synchronous distributed database, which provides data
efficiently and correctly with security. In the medicine domain, LD should have
access to view history of the manufacturer, its quality reports and overall
progress before issuing a new license of medicine. QAD should also have access
to know about all licensing products of a manufacturer and it should be able to
check currently manufacturing medicine. Blockchain is now emerging and one of
the disruptive technologies, providing the most beneficial and secure mechanism
to trade between entities without any centralized party. Besides, high security
and reliability make Blockchain (BC) more convenient to use in every field of
life. A decentralized BC based medicine licensing and authentication system per-
forms better than centralized asynchronous database. Moreover, asynchronous
data can be stolen or temper in any way, whereas, BC based decentralized data
is very hard to stolen and tempered. Although, every entity of BC has a copy
of the database if any hacker will try to tempered data, others have a copy of
original data to mitigate this issue.
For controlling counterfeit medicines, our contribution is summarized as fol-
low:
2 Related Work
the entry of malicious nodes. Ethereum environment for transactions are used
in [13–15] which provides an authentic way to transfer incentive from one node
to another. Data is indisputable, tamper-proof and decentralization with PDP
consensus mechanism [10]. Decentralized storage, spectral efficiency Q-learning
and exhaustive learning mechanism increase the connectivity of live users with
disconnecting the sleeping node [11]. In paper [10] POW, electronic signature,
point to point network, hashing algorithm and distributed ledger decrease pol-
lution attacks and bloating problems. Multi layer access in mobile devices and
transport networks are proposed for scalable and secure access data from data
centers [12].
Different sensing devices spreading very fast to sense data, manipulate and
broadcast it, i.e. temperature devices are connected in a network with different
manners to sense temperature and send it to the network for further analysis.
Due to their very low power, storage, and computation resources, they cannot
defend themselves from attacks of malicious devices. Wireless sensor nodes are
connected through BC and used different consensus mechanism in [17–20]. Prov-
able data possession and hash rate are used in [17] along with the problem of the
selfish node. In [18] virtual credit, privacy protection, and confusion mechanism
made secure and reliable data sharing.
3 Traditional Approach
4 Architecture
DRA issues the license to the manufacturer through smart contracts against a
medicine as shown in Fig. 2. In BC, medicine license broadcasts to the network,
miners check eligibility of specific manufacturer. Once, a manufacturer will be
able to purchase a license, some amount as Ethereum will be deducted from
his account to DRA’s account. Every action from DRA like quality checks and
rules applying, will be saved into manufacturer’s account. Like, the polluted
environment and poor quality penalty imposed through the smart contract and
will be written in manufacturer’s profile after miner validation.
DRA: To register a medicine, every specific area has its own DRA, which deals
with medicine related challenges, quality, rules and facilitates manufacturers
with new medicine manufacturing technology. The focus of DRA is discussed in
this paper, is to stop the manufacturing of counterfeit medicines and provide a
secure way to check medicine’s authenticity. Functionality of DRA departments:
• LD: Medicine licensing is the first step for a manufacturer in order to get
permission from DRA to manufacture medicine. Manufacturers provide all
evidence about the ability of production of medicine, packing and storing. LD
will analyze manufacturer pre-production steps and the history of previously
manufactured medicines. The manufacturers, with good pre-production steps
and having a good record of previously manufactured medicine, are able to
get the license of a particular medicine.
• RD: Every medicine has different production processes, packing constraints
and ways of storing. Some medicines will be stored in freezing temperature
and some will be stored at room temperature. Medicine packing processes and
packing material also have some constraints. So, every medicine production,
packing and storing related rules and regulations are imposed by the RD.
Furthermore, these rules are continuously changed with the new technology
evolves.
360 M. Azeem et al.
• QAD: This department ensures that the rules and regulations are followed by
the manufacturers. With the use of IoT devices QAD can check quality mea-
sures of manufacturing processes. It is easy way to identify a manufacturer
which will not following the rules. Once, a manufacturer with bad activities
identifies, QAD will impose a penalty on him. Some amount as Ethereum will
be detected from the manufacturer’s account. Also, profile rating of manu-
facturer will be decrease. QAD have right to cancel the license of any culprit
manufacturer.
Vendor: The vendor is the intermediate entity between end-user and manufac-
turers. Manufacturer after manufacturing medicines sales to the different ven-
dors through the smart contract. Vendor ensures first about the authenticity of
medicine by looking manufacturer profile and check license number that belong
to related manufacturer. Then, vendor purchases medicines through smart con-
tract and responsible for further storing these medicines in good quality environ-
ments. Vendors are registered with DRA, now every transaction between vendor
and manufacturer, will be saved in the database of BC. Now, DRA can easily
verify about the manufacturer and vendor, which are making transaction.
Once, a vendor enters the network, it is hard to sell counterfeit medicines,
due to maintaining profile rating. If any vendor will involve in selling counterfeit
medicines, Once a user will purchase that medicine and check it by interface.
Then, user will report about culprit vendor and DRA will cancel vendor’s license.
End User: Patients are the ones who will use the medicines, they are not
well known about manufacturers. They mostly doubtful about medicines, while,
these medicines are formulated by authorized manufacturers, well packed and
came from a good environment. To mitigate this issue, our proposed system
provides an interface to end user. On which users input medicine license and
transaction number, all details about medicine like manufacturer name, formula,
batch number, will display on his interface.
Smart Contract: The smart contract, basically, is a code written in a program-
ing language. It has a set of rules, which will be broadcast to network, when two
parties agreed upon a situation. A smart contract does not change once it will
be broadcasted to the network. The penalty will be imposed on nodes, which
agreed on a smart contract and later break rules written in the smart contract.
5 Methodology
5.1 Blockchain
miner and perform mining while adding a block in the BC. In the consortium
BC, the network is classified into different layers and a specific layer has the
right of mining. A private BC has a limited number of nodes, and only selected
nodes will behave as miners. Miners are that nodes in the network, which solve a
mathematical task to validate a transaction. Due to every node has a copy of the
BC, no one can change data stored in the BC unless it has strong computation
power. If anyone have such computation power it can be able to hack 51% nodes
then it can control mining which is not possible. Because of this ability, BC is
widely studied in research nowadays.
Blockchain is consists of blocks that are arranged in a specific order, each
block has a number of transactions. These transactions are generated by traders
and after successful validation, transactions broadcasted to the entire network.
Blocks are chained in a way that every block address has some value of the
previous block, i.e., the hash value. The change in any block address would
change the entire BC address. Furthermore, a nonce is added in the block, which
is the mathematical problem. A miner which will efficiently solve the nonce, will
considered as centered node and broadcast his block. Miner election schemes,
e.g., POW, proof of capacity, proof of stake use computation power, storage
capacity and capital respectively to elect a node as a miner. Consequently, BC
is more successful in providing data security in decentralized manners.
Highly rating vendors would prefer to deal with highly rated manufacturers.
In this way, manufacturers and vendors always maintain their high ratings for
selling and purchasing.
Step4 : Customer application interface: In traditionally, there was no way to
determine the authentication of medicine by the customer. The proposed model
provides an interface to the customer, on which customer input license and
transaction number that he performed with the vendor and get all details of
medicines. Moreover, counterfeit medicine would not have any record, and the
customer will receive an attention message. On the interface,customer would
complain to DRA if the medicine is bogus, by clicking on complaint button.
8 Conclusion
In this paper, we proposed BC based decentralized medicine licensing and
authentication system. The manufacturer will request by smart contract to
apply for licensing, Smart contract is used for applying licensing, imposing rules,
quality checks and receiving penalty. User also use smart contract to verify the
authenticity of medicine. Finally, the vendor is now registered with DRA and
part of the network for any transaction.
References
1. Drosatos, G., Kaldoudi, E.: Blockchain applications in the biomedical domain: a
scoping review. Comput. Struct. Biotechnol. J. (2019)
2. Roehrs, A., et al.: Analyzing the performance of a blockchain-based personal health
record implementation. J. Biomed. Inf. 92, 103140 (2019)
366 M. Azeem et al.
1 Introduction
malware samples into grayscale images, using the similarity of the images between
malicious code variants, and combining image processing methods to classify malware.
On this basis, Cui et al. [7] used the convolutional neural network method to improve
the scheme proposed by L. Nataraj.
Based on the full study of the above research results, we proposed a visualization
method to classify malicious code. This method converts binary files to RGB images,
then uses a flexible and lightweight neural net which is novel and fit for the image
classification problem whose image features are simple. In consideration of data
visualization such as malware visualization and protocol visualization generally use
uncomplicated method to create feature maps to replace original textual data, these
textures of maps are usually simple compared with textures of animals. So, a light-
weight structure is enough for a net to classify texture-simple images and a flexible
structure makes sure its general applicability. Therefore, the flexible and lightweight
net (FLNet) we designed are suitable for our proposed detection method.
The experimental results demonstrated that by using 9342 samples from 25 families
for evaluation, the average classification accuracy rate on validation data set is 94.39%
after 200 epochs, which can effectively classify malicious code samples.
2 Data Preprocessing
This paper selects the Malimg dataset published by the Vision Research Lab team in
2011 as the experimental data set, which includes 9342 samples from 25 malware
families [6].
The malware binary bit string can be divided into several substrings of length 8 bits,
since 8 bits can be regarded as unsigned integers in the range of 0–255, which cor-
responds to the range of gray-scale values 0–255, so each substring can be thought of
as one pixel [7]. Three consecutive 8-bit character strings are selected, which respec-
tively correspond to the RGB three-color channel in the color image, that is, the first 8-
bit string corresponds to the value of the R channel, and the second 8-bit string
corresponds to the value of the G channel, and the third 8-bit string corresponds to the
value of the B channel, and then the process is repeated until all the data has been
selected (the data of the last segment less than 24 bits is complemented by 1).
For example, if there is a bit string 011011101001100111010011, the processing is
011011101001100111010011 ! 01101110, 10011001, 11010011 ! 110,153,211.
A 3-byte (24-bit) binary number B ¼ ðb23 ; b22 ; b21 ; ; b2 ; b1 ; b0 Þ can be converted
to the values of the R, G, and B color channels by the following method.
X
7
R¼ bi þ 16 2i ;
i¼0
X
7
G¼ bi þ 8 2i ;
i¼0
Detection of Malicious Code Variants Based on a FLNet 369
X
7
B¼ bi 2i :
i¼0
In this way, the malware binary bit string is converted into a length * width * 3
type matrix. Considering that the input of the convolutional neural network used in this
paper is an RGB image of 224 pixels * 224 pixels. To facilitate the input of images into
the neural network, we generate a color image according to the length: width = 1:1
(image squared), and then proportionally scales to 224 pixels * 224 pixels in size to
maximize texture features in the image. Figure 1 shows the flow chart for sample
preprocessing in this paper.
The texture characteristics between different malicious families are different. Fig-
ure 2 shows three color images from three malicious families after image normalization.
Fig. 2. (a) (b) (c) were from the Adialer.C family, the Swizzor.gen!I family, and the VB.AT
family in sequence and all of them were squared to 224 px * 224 px.
370 W. Bo et al.
Fig. 3. (a) (b) were from Lolyda.AA2 family and both of them were squared to 224 px * 224 px.
Samples between the same family have similar texture patterns. Figure 3 shows two
sample images in the Lolyda.AA2 family after image normalization. It can be seen
from the figure that the texture features of Sample 1 and Sample 2 are similar from top
to bottom.
According to the strategy designed in the previous section, the Malimg sample set
was processed to obtain a color image of a total of 9342 samples of 25 malicious
families. Compared with the grayscale image, the color image retains the main features
of the grayscale image, and has a more obvious emphasis on the repeated short data
segments in the binary file (the repeated occurrence here is not a constant repetition, but
refers to pseudo-repeat, that is, the segment after the repeated segment can be slightly
different from the previous segment, so that a color gradient pattern is produced in the
color image, as shown in the green pattern in Fig. 2(c). This article will use the deep
learning method to train the classification model which is novel and inspired by the
VGG structure [8] and Xception structure [9]. The details will be described in the next
section.
⊕ ⊕
28×28×512 feature maps 7×7×512 feature maps
Fig. 4. The FLNet structure: the data first goes through the entry flow, then through the middle
flow which is composed of the same two blocks, and finally through the exit flow. Note that all
Convolution and SeparableConvolution layers are followed by batch normalization [10] (not
included in the diagram). All SeparableConvolution layers use a depth multiplier of 1 (no depth
expansion)
classification effect is good enough to deal with uncomplicated texture patterns such as
malware visualization images.
The data set distribution used in this paper is shown in Fig. 5. Since the sample number
distribution among the malicious families is not uniform (for example, the Allaple.A
family has 2949 samples and the kintrim.N family has only 80 samples), if the number
difference between the samples is ignored and no adjustment is adopted for neural
network structure, it will produce over-fitting phenomenon, resulting in a decrease in
classification accuracy.
Fig. 6. The Dropout schematic diagram. (a) shows a standard neural network, in this example
there are 4 layers containing 16 nodes, which needs to calculate 55 times (if one arrow represents
one calculation). However, if the neural network use Dropout with activation probability
P = 0.5, it can be described as (b). There are only 8 nodes participate in calculating, which only
needs to calculate 15 times, saving about 72.7% of calculation times.
To solve the problem, the Dropout is introduced in the fully connected layer
portion of the neural network, and the schematic diagram is shown in Fig. 6. In 2012,
Hinton presented Dropout in his paper [12]. When a complex feedforward neural
network is used to train on a small data set, it is easy to cause overfitting. To prevent
overfitting, the performance of the neural network can be improved by preventing the
feature detectors from acting together. In short, when we are propagating forward, let a
certain neuron activate with a certain probability, which makes the model more gen-
eralized because it does not rely too much on some local features.
Assume that a neural network has L hidden layers, setting l 2 f1; . . .; Lg as the index
of hidden layers, ZðlÞ as the vector inputs to l layer, yðlÞ as the output vector of l layer
(yð0Þ ¼ x represents the input). WðlÞ and bðlÞ are respectively the weights and the bias of l
layer. Therefore, a standard forward propagation of neural network can be described as:
ðl þ 1Þ ðl þ 1Þ l ðl þ 1Þ
zi ¼ wi y þ bi ;
ðl þ 1Þ ðl þ 1Þ
yi ¼ f zi ;
Where f is any activation function, for example, when Dropout is used, the forward
propagation becomes:
ðlÞ
rj BernoulliðpÞ;
ðl þ 1Þ ðl þ 1Þ l
zi ¼ wi ~y þ bðli þ 1Þ ;
ðl þ 1Þ ðl þ 1Þ
yi ¼ f ðzi Þ:
Where * represents the product of elements. For any layer l, rðlÞ is the vector form
of independent random Bernoulli variable with probability sum of 1. By multiplying
rðlÞ and yðlÞ to get the reduced output ~yðlÞ as the input to the next layer. This process is
applied to each layer, equivalent to sampling a subnetwork from a large network.
As shown in Fig. 7, an easy-to-understand description is that in training period for
each neural node, it has the probability P to activate. But in test period, each node is
always activated because we must insure the integrity of model while testing.
probability p activated
w pw
Fig. 7. Operation of Dropout in predicting the model. (a) shows that while training, the node is
activated with probability P and w represent the weights to the next layer. (b) shows that in
ðlÞ
testing the node is always activated and the weights to the next layer become Wtest ¼ pWðlÞ :
5 Performance Analysis
This part evaluates the performance of FLNet and compares the results with common
neural network (e.g. VGG and Xception). In this comparison, we use Loss, Accuracy to
evaluate each neural network.
In this experiment, we use the data set Malimg from Vision Research Lab [6] and
implement preprocessing to transform them into RGB images. Then, we use Keras to
build and train CNN in the environment of Intel Core i7-8750H CPU (2.20 GHz, 12
CPUs) and Nvidia GeForce GTX 1060 GPU (6G) and 16 GB RAM.
As is shown in Fig. 8, FLNet shows a significant advantage compared with VGG16
and Xception because it has a faster convergence speed and lower loss value. From
Fig. 8(a) we can understand that on train data set, FLNet has been converged in about
20 epochs, much quicker than Xception in about 60 and VGG16 in about 200 or more.
The reason is that FLNet is much more lightweight than other two (about 1/7 of
VGG16 and about 1/10 of Xception) so it can reach the convergence faster. Simplified
Detection of Malicious Code Variants Based on a FLNet 375
structure design can extract the simple texture feature efficiently, but complicated
structure will reach the counterproductive effect. Therefore, FLNet rank the higher
Accuracy and lower Loss in training period.
in some situation where fast results are needed, such as online testing, FLNet has a high
application value.
6 Conclusions
This paper presents a method of converting binary file into RGB image to emphasize
the feature of repeated short data segments and an approach to detect malicious code
variants using a novel neural network FLNet, which is flexible and lightweight and
performs well on extracting simple feature. Adamax algorithm is chosen as the gradient
optimization algorithm because it applies to the large parameter neural network and the
large data set and performs best compared with other algorithms on FLNet. To speed up
the training and avoid overfitting further, we use Dropout in the FC layer. The benefit
to use CNN to detect and classify malicious code variants is that it only requires little
preprocessing, without code execution or disassembling, has a good accuracy and
quick response in an automatic way. The scheme we proposed has potential value in
online detection or assisting professional analysts in determining the type of malicious
code variants.
Acknowledgements. This work is supported by the National Key Research and Development
Program of China Under Grants No. 2017YFB0802000, National Cryptography Development
Fund of China Under Grants No. MMJJ20170112, the Natural Science Basic Research Plan in
Shaanxi Province of china (Grant Nos. 2018JM6028), National Nature Science Foundation of
China (Grant Nos. 61772550, 61572521, U1636114, 61402531), Engineering University of
PAP’s Funding for Scientific Research Innovation Team (Grant No. KYTD201805).
References
1. Symantec: Internet Security Threat Report (2017)
2. Anderson, B., Lane, T., Hash, C.: Malware phylogenetics based on the multiview graphical
lasso. In: Advances in Intelligent Data Analysis Xiii, vol. 8819, pp. 1–12 (2014)
3. Alazab, M.: Profiling and classifying the behavior of malicious codes. J. Syst. Softw. 100,
91–102 (2015)
4. Yoo, I.: Visualizing windows executable viruses using self-organizing maps. In: Proceedings
of ACM Workshop on Visualization and Data Mining for Computer Security, pp. 154–166
(2004)
5. Han, K.S., Lim, J.H., Kang, B.: Malware analysis using visualized images and entropy
graphs. Int. J. Inf. Secur. 14(1), 1–14 (2015)
6. Natara, L., Karthikeyan, S., et al.: Malware images: visualization and automatic classifi-
cation. In: International Symposium on Visualization for Cyber Security (2011)
7. Cui, Z.H., Xue, F., Cai, X.J., Cao, Y., Wang, G.G., Chen, J.J.: Detection of malicious code
variants based on deep learning. IEEE Trans. Ind. Inf. 14(7), 3187–3196 (2018)
8. Simoyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image
recognition. Computer Science (2014)
9. Chollet, F.: Xception: deep learning with depthwise separable convolutions. In: 2017 IEEE
Conference on Computer Vision and Pattern Recognition (CVPR). IEEE (2017)
Detection of Malicious Code Variants Based on a FLNet 377
10. Ioffe, S., Szegedy, C.: Batch normalization: accelerating deep network training by reducing
internal covariate shift. In: Proceedings of the 32nd International Conference on Machine
Learning, pp. 448–456 (2015)
11. Kingma, D.P., Ba, J.: Adam: a method for stochastic optimization. Computer Science (2014)
12. Hinton, G.E., Srivastava, N., Krizhevsky, A., et al.: Improving neural networks by
preventing co-adaptation of feature detectors. Computer Science (2012)
Preprocessing of Correlation Power Analysis
Based on Improved Wavelet Packet
1 Introduction
In the process of encrypting data, cryptographic devices often have some the leakage,
such as power consumption [1], time [2], electromagnetic radiation [3], and so on. Side
Channel Analysis (SCA) is to make full use of the leakage, and to calculate the
relationship between the leakage and the encrypted (or decrypted) data through
mathematical statistical analysis, so as to achieve the purpose of decrypting the secret
key. Power analysis attack is the method of analyzing and attacking power trace leaked
by the cryptographic device during the encryption process. Correlation Power Analysis
(CPA) proposed by E Brier et al. [4] in 2004 has been widely adopted due to its strong
aggression and the efficiency of decrypting keys.
Usually before the implementation of SCA, the first step is to sample the leakage of
the cryptographic device. In order to eliminate the influence of noise and improve the
quality of sampling power consumption, many methods are used to denoise data before
power analysis attack. Thanh-Ha proposes to use the estimated fourth-order cumulant
instead of the original signal to perform traditional CPA and Differential Power
Analysis (DPA) to improve the attack performance [5]. Xavier used wavelet transform
to improve DPA [6]; Souissi also proposed a special noise reduction threshold based on
information theory, but it is not universal in noise reduction of power trace [7]. In
addition, Wei also proved that the efficiency of wavelet transform noise reduction is
better than high-order cumulant [8]. However, the wavelet transform based noise
reduction method ignores the high frequency part of the data during the denoising
process, and has certain defects in characterizing the data detail information [9]. In
[10], Wavelet Packet Decomposition (WPD) is used in data preprocessing to denoise
data and improve the attack efficiency of power attack. However, in fact, wavelet
packet decomposition may have special threshold requirements for different applica-
tions and neglect of useful components in high-frequency signals in noise reduction
processing.
Aiming at the problems in the above noise reduction methods, this paper proposes
an improved wavelet packet denoising method. Singular Spectrum Analysis (SSA) [11]
is an effective time series analysis tool that decomposes complex signals into different
subsequences by singular value decomposition. Unlike Principal Component Analysis
(PCA) [12], SSA can process single-shot data based on a special matrix structure.
Therefore, the SSA is used to process the low-frequency part and the high-frequency
part of the wavelet packet decomposition, and the detail information of power trace is
extracted from each part according to the singular entropy [13] fluctuation trend so as to
improve the quality of the power trace. Then use three kinds of data (original power
trace, wavelet packet threshold noise reduction power trace, improved wavelet packet
noise reduction power trace) to select the plaintext attack on the hardware imple-
mentation of SM4 algorithm, and verify the attack efficiency of the proposed method
for related power attack. And the accuracy rate is improved.
2 Preliminaries
E ðT; H Þ E ðT ÞE ðH Þ
qðT; H Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð1Þ
VarðTÞVarðHÞ
Transform (STFT) uses the fixed sliding window function to determine the time-
frequency resolution of the fixed signal, it still lacks the corresponding adaptive ability.
The wavelet transform solves the above problems in signal analysis and processing.
Wavelet transform (WT) is a signal analysis and processing method based on a series of
mathematical analysis methods such as Fourier transform, general function analysis and
numerical analysis. It is widely used in signal processing, image analysis and speech
processing [17]. Figure 2 shows the two-layer wavelet decomposition of signal S.
X
j ¼
P2i Gðk 2tÞPij1 ðtÞ ð4Þ
k
K ¼ diagðk1 ; k2 ; ; kk ; 0; ; 0Þ ðk \ l; ki 6¼ 0; i ¼ 1; 2; ; kÞ ð7Þ
When the signal has a lower signal-to-noise ratio, the matrix obtained by the
singular value decomposition can be described as Eq. 8.
X
k
Ek ¼ DEi ðk lÞ ð9Þ
i¼1
Where k represents the order of the singular entropy. DEi represents the increment
of the singular entropy at the order k, which can be calculated by Eq. 10.
X
l X
l
DEi ¼ ðki kj Þ logðki kj Þ ð10Þ
j¼l j¼l
In the process of using wavelet packet decomposition and noise reduction, the choice of
threshold and the quantization method of threshold are closely related to the effect of
data noise reduction [24]. In practical applications, either the default threshold noise
reduction is selected, or the adjustment parameters are continuously tested to achieve
the purpose of noise reduction. The default threshold method is not targeted and cannot
accurately denoise the characteristics of power consumption data. By continuously
testing and adjusting parameters to reduce noise, its parameters are only suitable for
noise reduction of current power consumption data, and these parameters are not
universal. WPD is only for the high frequency coefficient threshold denoising of each
384 P. Ma et al.
A noisy signal S
Denoising data X
layer, ignoring that the low frequency fine number still contains a small amount of
noise. In the case of low signal-to-noise ratio, the noise signal contained in the low-
frequency fine number still occupies a large proportion, which seriously affects the
efficiency of power consumption attack and the accuracy of decrypting the key.
Therefore, in view of the above problems, this paper adds SSA to WPD and pre-
processing noise reduction for power consumption data, improving the efficiency of
CPA.
Figure 4 is a flow chart of the wavelet packet denoising of the improved power data
pre-processing. The basic flow is:
(1) Decompose the power consumption data by wavelet packet. Firstly, a wavelet
with better symmetry, tight support and orthogonality is selected as the wavelet
(0,0)
0.15
(3,0) (3,1) 0
-0.05
(4,0) (4,1)
-0.1
(5,0) (5,1)
-0.15
(6,0) (6,1) (6,2) (6,3)
-0.2
1000 2000 3000 4000
Fig. 6. Corresponding energy value of the best wavelet packet tree nodes
base of wavelet packet decomposition, and then the number of layers of wavelet
packet decomposition is determined.
(2) Getting the best tree, as shown in Fig. 5. Choose a suitable entropy criterion and
solve the optimal wavelet packet tree of wavelet packet decomposition.
(3) Processing of wavelet packet decomposition coefficients. As can be seen from
Fig. 6, except for the highest energy value of the first node (parent node), the
remaining nodes exhibit a large one and a small distribution. Therefore, in the
wavelet packet noise reduction, the low frequency and high frequency nodes
should be analyzed and processed at the same time. The wavelet packet coeffi-
cients are processed using singular spectrum analysis. The power consumption
information is extracted according to the fluctuation trend of the singular entropy
corresponding to the low frequency and the high frequency singular value.
(4) Wavelet packet reconstruction. The node coefficients processed by SSA are
rewritten into the node, and then reconstructed to obtain the power consumption
data after noise reduction.
In order to evaluate the efficiency and accuracy of CPA in this method, the hardware-
based SM4 algorithm is selected by chosen plaintext attack. Follow the steps in
Sect. 2.1 to select the first rounds of S-boxes as leak points for attack. Figure 7 shows a
piece of power trace by sampled. Then we use three kinds of power consumption data
(raw power trace, WPD power trace, improved WPD power trace) to carry out CPA
attack, analyze the attack efficiency of three kinds of data and the accuracy of
decrypting the key.
Figures 8, 9, 10 and 11 shows the relationship between the correlation coefficient
and the number of power traces obtained by performing CPA on four S-boxes for three
types of power consumption data (From left to right: raw power consumption, WPD
386 P. Ma et al.
Fig. 8. The relationship between the first S-box power consumption data and the correlation
coefficient
Fig. 9. The relationship between the second S-box power consumption data and the correlation
coefficient
Fig. 10. The relationship between the third S-box power consumption data and the correlation
coefficient
Fig. 11. The relationship between the forth S-box power consumption data and the correlation
coefficient
5 Conclusion
In this paper, in view of the current problems of wavelet packet denoising, we com-
bines SSA with WPD, and proposes a CPA method by improved WPD. The method
firstly uses WPD to find the best wavelet packet tree, and extracts the low-frequency
coefficients and high-frequency coefficients of the power consumption data in each
node. Then, SSA is used to remove the noise information according to the singular
value singular entropy fluctuation trend of the node coefficients. Finally, all processed
node coefficients are written into the wavelet packet tree, and then the data is recon-
structed to obtain the pure power consumption data after noise reduction. The method
effectively solves the problem that the threshold noise reduction in the wavelet
decomposition and noise reduction is not targeted, while retaining the power con-
sumption information in the high frequency part and improving the power consumption
quality. By chosen plaintext attack for CPA of the SM4 algorithm based on hardware,
the proposed method is superior to WPD in denoising.
Acknowledgements. This work is supported by the National Key Research and Development
Program of China Under Grants No. 2017YFB0802000, National Cryptography Development
Fund of China Under Grants No. MMJJ20170112, the Natural Science Basic Research Plan in
Shaanxi Province of china (Grant Nos. 2018JM6028), National Nature Science Foundation of
China (Grant Nos. 61772550, 61572521, U1636114, 61402531), Engineering University of
PAP’s Funding for Scientific Research Innovation Team (grant no. KYTD201805).
388 P. Ma et al.
References
1. Kocher, P., Jaffe, J., Jun, B.: Differential power analysis. In: Advances in Cryptology,
CRYPTO, vol. 1666 (1999)
2. Kocher, P.C.: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other
systems. In: Advances in Cryptology—CRYPTO 1996. Springer, Heidelberg (1996)
3. Agrawal, D., et al.: The EM Side – Channel (s): Attacks and Assessment Methodologies (2003)
4. Brier, E., Clavier, C., Olivier, F.: Correlation power analysis with a leakage model. In:
International Workshop on Cryptographic Hardware and Embedded Systems. Springer,
Heidelberg (2004)
5. Le, T.H., Clediere, J., Serviere, C., et al.: Noise reduction in side channel attack using fourth-
order cumulant. IEEE Trans. Inf. Forensics Secur. 2(4), 710–720 (2007)
6. Charvet, X., Pelletier, H.: Improving the DPA attack using wavelet transform. In: NIST
Physical Security Testing Workshop, p. 46 (2005)
7. Souissi, Y., Elaabid, M.A., Debande, N., et al.: Novel applications of wavelet transforms
based side-channel analysis. In: Non-Invasive Attack Testing Workshop (2011)
8. Liu, W., Wu, L., Zhang, X., et al.: Wavelet-based noise reduction in power analysis attack.
In: 2014 Tenth International Conference on Computational Intelligence and Security,
pp. 405–409. IEEE (2014)
9. Yanni, P.: Application of wavelet transform in signal denoising. J. ChongQing Univ. 27(10),
40–43 (2004)
10. Duan, X., She, G., Gao, X., et al.: Wavelet packet based AES related power analysis attack.
Comput. Eng. 43(6), 84–91 (2017)
11. Myung, N.K.: Singular spectrum analysis. 1283(4), 932–942 (2009). Springer, Berlin
12. Wold, S.: Principal component analysis. Chemometr. Intell. Lab. Syst. 2(1), 37–52 (1987)
13. Yang, W., Jiang, J.: Study on singular entropy of mechanical signals. J. Mech. Eng. 36(12),
9–13 (2000). (in Chinese)
14. Wang, S., Gu, D., Liu, J., et al.: A power analysis on SMS4 using the chosen plaintext
method. In: 2013 9th International Conference on Computational Intelligence and Security
(CIS), pp. 748–752. IEEE (2013)
15. Teng, Y., Chen, Y., Chen, J. et al.: Differential power consumption and related power
analysis of SM4 algorithm. J. Chengdu Univ. Inf. Technol. 29(1), 13–18 (2014)
16. Pan, M., Lv, X., Zhang, L., et al.: Signal case analysis combining wavelet transform and
Fourier transform. Inf. Secur. Commun. Priv. 6, 62–63 (2007)
17. Ma, L., Han, Y.: Periodicity of time series using wavelet transform. In: National Academic
Conference on Youth Communication (2007)
18. Liu, Z.: Signal denoising method based on wavelet analysis. J. ZheJiang Ocean Univ. (Nat.
Sci. Ed.) 30(2), 150–154 (2011)
19. Qi, X.: Research on quantitative timing strategy based on wavelet packet transformation (2018)
20. Nikolaou, N.G., Antoniadis, I.A.: Rolling element bearing fault diagnosis using wavelet
packets. NDT E Int. 35(3), 197–205 (2002)
21. Golub, G.H., Reinsch, C.: Singular value decomposition and least squares solutions. In:
Linear Algebra, pp. 134–151. Springer, Heidelberg (1971)
22. Ai, J., Wang, Z., Zhou, X., et al.: Improved wavelet transform for noise reduction in power
analysis attacks. In: 2016 IEEE International Conference on Signal and Image Processing
(ICSIP), pp. 602–606. IEEE (2016)
23. Ren, N., Liu, Z.: Research on spectral analysis method based on modern signal processing.
Software 39(455(3)), 157–159 (2018)
24. Lv, N., Su, S., Zhai, C.: Application of improved wavelet packet threshold algorithm in
vibration signal denoising. In: 11th Youth Academic Conference of the Chinese Acoustics
Society, vol. 1, pp. 330–333 (2017)
A Method of Annotating Disease Names
in TCM Patents Based on Co-training
Abstract. In the era of big data, annotated text data is a scarce resource. The
annotated important semantic information can be used as keywords in text
analysis, mining and intelligent retrieval, as well as valuable training and testing
sets for machine learning. In the analysis, mining and intelligent retrieval of
Traditional Chinese Medicine (TCM) patents, similar to Chinese herbal medi-
cine name and medicine efficacy, disease name is also an important annotation
object. Utilizing the characteristics of TCM patent texts and based on co-training
method in machine learning, this paper proposes a method of annotating disease
names from TCM patent texts. Experiments show that this method is feasible
and effective. This method can also be extended to annotate other semantic
information in TCM patents.
1 Introduction
In the era of big data, annotated text data is a scarce resource. The annotated important
semantic information can be used as keywords in text analysis, mining and intelligent
retrieval, as well as valuable training and testing sets for machine learning. At present,
in order to obtain high quality annotated data, it usually takes a lot of manpower to
annotate a large number of text data manually.
In the analysis, mining and intelligent retrieval of TCM patents, similar to the name
of Chinese herbal medicine and the effect of medicines, the name of disease is also an
important annotation object. The annotated disease names can be used as keywords in
patent text mining, such as patent classification, patent clustering and so on. They can
also be used as keywords in patent intelligent retrieval. In intelligent search, search
engines return patents containing words similar to the semantics of disease names.
The abstract part of patent contains the main information of the patent, including
the technology used in the patent, the efficacy achieved by the patent and so on.
In TCM patent text, the abstract mainly contains the diseases that can be treated by the
patent, the main Chinese herbal used and the efficacy that can be achieved. The patent
abstracts are usually short texts containing concise information of patents. The tradi-
tional keyword extraction methods are not suitable for patent abstracts.
Based on the characteristics of TCM patent abstract texts and the co-training
method in machine learning, this paper proposes a method to annotate disease names
from TCM patent texts. Experiments show that this method is feasible and effective.
This method can also be extended to annotate other semantic information of TCM
patent texts.
2 Related Work
Disease name in TCM patent texts indicates the name of disease that the patent can
treat or prevent. Through observation, we find that in TCM abstract texts, disease
names or the clauses containing disease names usually have some remarkable
characteristics:
(1) The clauses containing disease names often contain some special words, which
are called clue words in this paper. Such as “treat”, “cure” and “prevent”. Clauses
containing clue words are also highly likely to contain disease names.
(2) Disease names always appear continuously in many cases, such as “(the patent)
can treat various skin diseases, such as tinea pedis, eczema, beri-beri, and so on”.
4 Clue Words
Clue words refer to those words that can indicate that the clause is a clause containing
disease name. According to the different situations of clue words, we divide them into
the following categories:
A Method of Annotating Disease Names in TCM Patents 391
(1) Therapeutic indicators: Therapeutic indicators refer to the words such as “treat”,
“cure”, “prevent and “mainly treat” and so on. These words are usually followed
by disease names, indicating that the patent can treat certain diseases. For
example, “The invention is a kind of drug for treating sinusitis”, in which “si-
nusitis” is a disease name.
(2) Adverbial indicators of disease object: adverbial indicators of disease object refer
to the words such as “for”, “be aimed at” and so on. These adverbials are usually
followed by disease names, which mean that patents have therapeutic effects on
certain diseases.
(3) Therapeutic effect indicators: Therapeutic effect indicators refer to the words such
as “significant”, “unique”, “effective”, “curative effect”, “effect” and so on. These
words indicate that patents are effective in treating certain diseases, or the extent
to which they are effective.
(4) Therapeutic effect adverbial indicators: Therapeutic effect adverbial indicators
refer to the words such as “have” and “achieve”. These adverbials are usually
followed by therapeutic effects, indicating that patents have certain therapeutic
effects.
5 Method
According to the above, disease names often appear continuously in the abstract texts
of TCM patents, and the clauses containing disease names usually contain some special
clue words. Therefore, this paper uses these structural characteristics and text com-
position characteristics, and combines co-training technology in machine learning to
give a method to annotate disease names from TCM patent abstract texts. The flow
chart of the method is shown in Fig. 1.
The process in details is as follows:
1. Start from a small number of TCM patent abstract texts, and the texts are cut into
clauses using punctuation marks (period, comma, etc.).
2. For each clause, Chinese word segmentation is executed and according to certain
strategy, the set of disease name seeds can be obtained.
3. In more TCM patent abstract texts, clause cut and Chinese word segmentation are
carried out.
4. For each clause, the weight of each clause is calculated according to whether it
contains clue words and disease name seeds. The clause whose weight exceeds the
threshold which is manually set is taken as candidate clause.
5. After deleting the stop words and other irrelevant words from the candidate clause,
the new annotated disease name is obtained.
6. The newly annotated disease name can be added to the set of disease name seeds to
start the next iteration.
392 N. Deng et al.
A few TCM
patent abstract More TCM
texts patent abstract
texts
Set of disease
After filteration, get
name seeds
candidate clauses whose Stop words
weight exceeds the removal
threshold
Disease
names
5.1 Preprocessing
The abstract texts of TCM patents need to be preprocessed, including clause cutting
and Chinese word segmentation. patent_abstract_list is a list storing TCM patent
abstract texts. patentID_clauselist_dict is a two-level nested dictionary. The key of the
outer dictionary is patent ID. The value clauseID_clause_dict is the inner dictionary.
The key of the inner dictionary is clause ID. The value is the word list named
words_list generated from the clause after Chinese word segmentation. The structure of
the two-level nested dictionary is shown in Fig. 2.
A Method of Annotating Disease Names in TCM Patents 393
Key Value
Secondary level
clauseID words_list
dictionary
Key Value
weight_of_word is added to
the weight of the clause
are also stored in a two-level nested dictionary. The key of the outer dictionary is the
patent ID, and the value is an inner dictionary; the key of the inner dictionary is the
clause ID, and the value is the final weight of the clause. The Python code is shown in
Fig. 7, where patentID_clause_weight_dict is the outer nested dictionary, and
clause_weight_dict is the inner dictionary, which is also the value of patentID_clause_
weight_dict.
6 Experiments
We run the code in Fig. 4 in 1000 TCM patent abstract texts, and get disease name
seeds as shown in Fig. 9.
7 Conclusion
Taking advantage of the characteristics of TCM patents, that is, the clauses containing
disease names also contains clue words, and disease names often appear continuously,
this paper proposes a method based on co-training to annotate disease names from the
abstract texts of TCM patents. The experimental results show that the method is
effective.
Acknowledgments. This work was supported by National Key Research and Development
Program of China under Grant 2017YFC1405403; National Natural Science Foundation of China
under Grant 61075059; Philosophical and Social Sciences Research Project of Hubei Education
Department under Grant 19Q054; Green Industry Technology Leading Project (product devel-
opment category) of Hubei University of Technology under Grant CPYF2017008; Research
Foundation for Advanced Talents of Hubei University of Technology under Grant BSQD12131;
Natural Science Foundation of Anhui Province under Grant 1708085MF161; and Key Project of
Natural Science Research of Universities in Anhui under Grant KJ2015A236.
References
1. Guangpu, F., Xu, C., Zhiyong, P.: A rules and statistical learning based method for Chinese
patent information extraction. In: Eighth Web Information Systems & Applications
Conference. IEEE, Piscataway New Jersey (2011)
2. Hou, C.Y., Li, W.Q., Li, Y.: An automatic information extraction method based on the
characteristics of patent. Adv. Mater. Res. 472–475, 1544–1550 (2012)
3. Wang, F., Lin, L.F., Yang, Z.: An ontology-based automatic semantic annotation approach for
patent document retrieval in product innovation design. Appl. Mech. Mater. 446–447, 1581–
1590 (2013)
4. Blum, A., Mitchell, T.: Combining labeled and unlabeled data with co-training. In:
Conference on Computational Learning Theory, pp. 92–100 (1998)
5. Deng, N., Wang, C., Zhang, M., et al.: A semi-automatic annotation method of effect clue
words for chinese patents based on co-training. Int. J. Data Warehouse. Min. 14(4), 1–19
(2018)
6. Chen, X., Peng, Z., Zeng, C.: A co-training based method for Chinese patent semantic
annotation. In: The 21st ACM International Conference on Information and Knowledge
Management. ACM (2012)
7. Chen, X., Deng, N.: A semi-supervised machine learning method for Chinese patent effect
annotation. In: 2015 International Conference on Cyber-Enabled Distributed Computing and
Knowledge Discovery (CyberC). IEEE, Piscataway New Jersey (2015)
Semantic Annotation in Maritime Legal Case
Texts Based on Co-training
Abstract. In the era of artificial intelligence and big data, a large number of
legal case texts have been accumulated in the process of law enforcement of
marine rights protection. These case texts contain a lot of important information,
such as the time, place, person, event, judgment body, judgment result and so
on. The annotation of these semantic information is an important link in text
analysis, mining and retrieval of sea-related cases. In this paper, a semantic
annotation method based on collaborative training for maritime legal texts is
proposed. The experimental results show that the method is correct and feasible.
1 Introduction
In the era of artificial intelligence and big data, a large number of legal case texts have
been accumulated in the process of law enforcement of marine rights protection. These
case texts contain a lot of important information, such as the time, place, person, event,
judgment body, judgment result and so on. The annotation of these semantic infor-
mation is an important link in text analysis, mining and retrieval of sea-related cases.
How to effectively use the important information in these case texts has become an
important proposition at present.
With the development of computer science and artificial intelligence technology,
people are more and more inclined to use the powerful computing power of computer
and the powerful analytical power of artificial intelligence to assist human decision-
making. However, the strong computing power of computers and the strong analytical
power of artificial intelligence are based on the need for a large number of high-quality
training sets and test sets. Therefore, labeled data is a scarce resource in the era of big
data. At present, there is a popular saying in the data labeling industry, “How much
intelligence, how many manual work”. It reflects an objective fact: in order to provide
high-quality training and test sets for machine learning and artificial intelligence, people
usually use time-consuming manual annotation method to annotate the semantic fea-
tures of data. Under the disadvantageous condition of insufficient labeling data, in order
to extricate people from the arduous predicament of manual labeling, collaborative
training technology emerged as the times require. Under the disadvantage of insufficient
labeling data, this paper proposes a semantic labeling method based on collaborative
training to label the important semantic information of legal texts of maritime cases.
2 Related Work
At present, the research on semantic annotation by scholars at home and abroad covers
many aspects, such as keyword extraction, named entity recognition, entity relationship
recognition and so on. The main purpose of named entity recognition is to identify the
components representing named entities from text. In this field, the current mainstream
methods of Chinese named entity recognition have many directions: rule-based,
statistics-based, machine learning-based and the combination of various methods.
A rule-based entity recognition method is usually based on the analysis of the
entity’s feature codes, and then constructs artificial rules for matching. The rule-based
method for named entity recognition has the advantages of stable performance and fast
speed in small-scale corpus testing. However, the drawbacks are that it takes a lot of
money and time to summarize rules manually or to organize corpus and named entity
database. And portability is poor. Once ported to other languages or other fields, named
entity recognition cannot be completed. Rules and defined entities need to be rewritten.
Rule-based methods tend to have higher accuracy, but recall rates need to be improved;
once a large number of rules are written, rules may conflict with each other.
The research on cooperative training algorithm can be traced back to the Co-
Training algorithm proposed by Blum and Mitchell [1]. The algorithm assumes that
data attributes have two sufficient redundant views [2], which are recorded as view 1
and view 2. Firstly, classifier C is trained on view 1 of labeled data set L, and classifier
C2 is trained on view 2. Then randomly select a number of instances (counted as u)
from unmarked data set U and put them into the set U. All elements in U were marked
with C1 and C2, respectively, and marked as E1 and E2. Then, from E1 and E2, P
positive markers and n positive markers with high confidence were selected and put
into L. Finally, 2p + 2n data from U are selected and added to U’, and the above
process is repeated until the cut-off condition is satisfied.
Collaborative training is a weak guidance machine learning method. Its working
principle is to construct two independent classifiers, train one classifier with a small
amount of labeled data, and then add the labeled samples with high confidence to the
training samples of another classifier. With such iteration, the two classifiers cooperate
with each other and gradually expand the scale of labeled data. Collaborative training is
very suitable for large amount of data but no or less annotated data. In recent years, it
has been applied to various types of data annotation, such as image [4], web page [5],
emotional text [6], entity relationship extraction [7].
There are many research methods based on semantic annotation. Document [8]
combines statistics and rules to recognize named entities of Internet text. Document [9]
Considering that the expression structure of numerals and time words is more stan-
dardized in the process of named entity recognition, rule-based method is adopted to
recognize numerals and time. Considering the irregularity of names, place names and
organization names, the conditional random field model is used to identify them.
Semantic Annotation in Maritime Legal Case Texts Based on Co-training 401
Fig. 1. Semantic annotation model of sea-related case text based on collaborative Training
Firstly, three classifiers are trained based on three views of a small number of
labeled data samples. Then, some unlabeled data are randomly selected from the
unmarked sample data set U and labeled by three classifiers. The first n samples with
high confidence are selected from the labeled results of a single classifier and added to
402 J. Luo et al.
the other two training sets. The above process is repeated until the end condition is
reached. When judging the new samples, the result with more votes will be taken as the
criterion, which will greatly improve the accuracy of the classifier’s conclusion.
For each iteration in each training process, it is necessary to record the test accuracy
of the collaborative training process. If the accuracy of model testing recorded in the
current iteration version is higher than that recorded in the previous iteration process, it
is considered that the supplementary set selected in this paper can promote the whole
model, and the supplementary set is added to the training set. If the accuracy of model
testing recorded in the current iteration version is lower than that recorded in the
previous iteration process, it is considered that the selected supplementary set has a
negative effect on the whole model, and the supplementary set is returned to the test set,
waiting for the next iteration process, and marking the test set. When the number of
labeling arrives at the set value (assumed to be N times), the test set is considered to
have N times labeled as a side-effect sample by the model, which will be removed from
the overall data. Through this model, a large number of test sets can be trained, which
can promote the model, so as to ensure the accuracy of the whole set and training
process.
The specific implementation of the implementation is divided into the following five
steps:
1. Acquisition of sea-related case samples
Using Python language to write crawler scripts to capture target information in sea-
related cases, there will be a lot of content to be grasped, which will be matched and
Semantic Annotation in Maritime Legal Case Texts Based on Co-training 403
searched with the key words of “law concerning sea”, “law enforcement of ocean” and
“safeguarding rights of ocean”. When crawler technology is used to grab text docu-
ments, it will produce some irrelevant content, so regular expressions are needed to
clean up and filter irrelevant content. Grabbing strategies include depth-first traversal
algorithm, breadth-first traversal algorithm and Beautiful Soup algorithm.
2. Constructing a semantic annotation model
Based on the obtained text of the sea-related legal case,basic theory and method of
using natural language processing, combined collaborative training method,label all
kinds of important semantic information in the case text, such as time, law, plaintiff,
defendant, illegal act, judgment agency, punishment, etc. The semantic information
labeling process of the sea-related legal case text using collaborative training is shown
in Fig. 2.
According to the different types of important semantic information, different
methods are proposed for labeling. For time information and legal information, because
of its obvious characteristics: year, month, day or book name, etc., it is proposed to use
the method of rules to semantically mark these two types of information.
Text of maritime
legal casesText of Chinese word Remove out-of-
maritime legal cases segmentation date words
classification
End
Fig. 2. Semantic information annotation flow chart of the sea-related legal case text of
collaborative training
Text of maritime
Chinese word Remove out-of-
legal cases
segmentation date words
Semantic
annotation for
different text
information
Select a view of
collaborative
training
View
Cooperative
Training
Fig. 3. Schematic diagram of the collaborative training model for annotating semantic
information
5. Performance evaluation
(1) Preparation of test set: In the semantic annotation of maritime legal case texts, due
to the lack of common test sets, it is proposed to build test sets independently and
evaluate the accuracy of semantic annotation of test samples manually.
(2) Spatio-temporal cost of testing under different scale corpora: test the space-time
overhead and performance of the project method in case texts of different scales
such as 100, 1000, 10000, 100000.
(3) Contrast experiments with other existing text labeling methods: compare the
accuracy and time-space overhead of the method and other text labeling methods
in different scales of 100, 1000, 10000, 100,000, etc. Compare and evaluate the
performance of the project method.
5 Experiment
In order to verify the reliability and validity of this method, we give the titles of four
test sample cases, each sample corresponds to one case. The source of the sample
sentences in these tests is the preliminary tagging and screening of the title of the case
text. The purpose of screening is to classify the description of the specific violations
committed by the parties in the sample. Namely:
Sentence 1 = “Accidents involving Foreign Maritime Traffic”
Sentence 2 = “Dispute over Liability for Damage Caused by Ship Collision”
Sentence 3 = “Dispute over Contract of Carriage of Goods by Sea”
Sentence 4 = “Ship Construction Insurance Contract Dispute Case”
According to the semantic annotation model under collaborative training, the four
test sentences are divided into:
Sentence 1 = {“foreign-related”, “maritime”, “traffic accident case”, “accident
case”}. Among them, “foreign-related” is the attribute of the relationship, “sea” is the
place where the case occurs, “traffic accident case” is the type of case, and “accident
case” is the attribute of the case, which lies between criminal and civil cases;
Sentence 2 = {“collision of ships”, “collision damage”, “liability dispute case”,
“dispute case”}, in which “collision of ships” is the action of the case, “collision
injury” is the attribute of the degree of the case, “liability dispute” is the category of the
case, and “dispute case” is the attribute of the case, generally referring to civil cases;
Sentence 3 = {“maritime”, “cargo transport”, “contract dispute case”, “dispute
case”}, in which “maritime” is the place where the case occurred, “cargo transport” is
the action when the case occurred, “contract dispute case” is the category of the case,
and “dispute case” is the attribute of the case, generally referring to civil cases;
Sentence 4 = {“Ship Construction”, “Insurance Contract”, “Contract Dispute
Case”, “Dispute Case”}, in which “Ship Construction” is the action when the case
occurs, “Insurance Contract” is the content attribute of the case concerned, and
“Contract Dispute” is the attribute of the case, generally referring to civil cases.
By training different test samples, dividing and labeling the cases on the premise of
semantic labeling, we can quickly classify the cases.
406 J. Luo et al.
The four test sentences are classified according to the category labels formed by
semantic markers. The similarities between sentence 3 and sentence 4 have the highest
confidence, and can be classified into one type of case handling. Sentence 1, which has
the lowest confidence similar to Sentences 2, 3 and 4, cannot be classified as a case type
with the other three cases. The similar confidence between sentence 2 and sentence 3,
sentence 2 and sentence 4 is not as good as that between sentence 3 and sentence 4, but
higher than that between sentence 1 and the other three sentences. Therefore, it is an
intermediate state between high confidence and low confidence. It can be divided
according to specific needs. The results obtained from the annotation model of algo-
rithm evaluation and training are shown in Table 1.
The accuracy of sample text training can be obtained by comparing the results of
algorithm evaluation and semantic annotation model with the actual results of whether
the case is similar or not.
Experiments introduce the algorithm and semantic annotation model through fewer
test cases, but to distinguish a large number of maritime case texts, it is not feasible to
use only pure semantic annotation model, because it will consume a lot of human
resources to draw conclusions from the model and the actual situation of the case text.
It is neither convenient nor scientific to compare the situation. Therefore, this paper
intends to adopt the semantic annotation model of sea-related case texts based on
collaborative training proposed above. We can train a large number of case texts
directly from a small sample set to a large sample set that can handle a large number of
samples. By establishing a large database, the model saves the label content of case text
semantic annotation, and manages the training large sample set through the database,
which improves the efficiency of data management and increases the security of data.
Table 2. Comparing the accuracy of model training before and after semantic annotation
Model Classification model of direct training Semantic annotated training model
Accuracy rate 71% 80.6%
F1 70.3% 80.4%
Semantic Annotation in Maritime Legal Case Texts Based on Co-training 407
Table 3. Accuracy of collaborative training model with different numbers of training texts
Number of Classification model of direct Accuracy of training model after
training training accuracy rate semantic annotation
10 81.262% 97.414%
20 79.641% 88.019%
30 74.579% 84.813%
40 72.131% 83.520%
50 71% 80.641%
60 70.40% 79.701%
70 69.98% 77%
80 69.44% 76.905%
90 68.5 75.95%
100 70.3% 76.31%
The experimental results (as shown in Table 2) show that, compared with the
classification model using original data directly, the collaborative training model based
on semantic annotation can improve the accuracy of detection by nearly 9% points. The
scheme proposed in this paper is suitable for the case of fewer labeling and processing
samples. With the increase of samples, the training accuracy of the model decreases
gradually with the increase of samples. The trend is shown in Fig. 4, and the experi-
mental data are recorded in Table 3.
6 Conclusion
This paper proposes a semantic annotation model for sea-related case texts based on
collaborative training, which can improve the accuracy of classification to nearly 10%
points, which has great practical significance in the process of text processing with
large amount of data. Firstly, the tags of semantic tagging under collaborative training
are standardized, and then the mapping relationship of tags is analyzed by using the co-
occurrence relationship of tags. Thus, it can accurately annotate the mapping rela-
tionship of related ontologies (concepts, attributes, examples, etc.), that is, the key
words with mapping relationship such as time, place, law, plaintiff, defendant, illegal
act, judgment institution, punishment, etc. in this paper. Through statistical analysis of
the co-occurrence relationship between tags, the semantic correlation between tags is
revealed by using the co-occurrence relationship between tags. Through a large number
of repeated training and experiments, it is concluded that the cases with the highest
confidence in similarity among samples can be judged as the same type of cases. It is
basically consistent with the actual situation of artificial judgment, thus achieving the
experimental purpose.
Deficiencies. There are still some deficiencies in the project, such as the need to judge
similar cases manually in the process of accuracy verification. Therefore, we will take
the content of natural language and machine learning as the direction of improvement
408 J. Luo et al.
Acknowledgments. This work was supported by Innovation and Entrepreneurship Project for
College Students in Hubei Province under Grant S201910500040; Philosophical and Social
Sciences Research Project of Hubei Education Department under Grant 19Q054.
References
1. Blum, A., Mitchell, T., et al.: Combing labeled and unlabeled data with co – training. In:
Proceedings of the 11th Annual Conference on Computational and Learning Theory, pp. 92–
100. Springer, Berlin (1998)
2. Zhou, Z.H., et al.: Collaborative Training Style in Semi-supervised Learning. Machine
Learning and its Application, p. 275. Tsinghua University Press, Beijing (2007)
3. Blum, A., Mitchell, T.: Combining labeled and unlabeled data with co-training. In:
Conference on Computational Learning Theory, pp. 92–100 (1998)
4. Xu, M., Sun, F., Jiang, X., et al.: Multi-label learning with co-training based on semi-
supervised regression. In: 2014 IEEE International Conference on Security, Pattern Analysis,
and Cybernetics, pp. 175–180 (2014)
5. Wang, W., Lee, X.D., Hu, A.L.: Co-training based semi-supervised web spam detection. In:
The 10th IEEE International Conference on Fuzzy Systems and Knowledge Discovery,
pp. 789–793 (2013)
6. Iosifidis, V., Ntoutsi, E., et al.: Large scale sentiment learning with limited labels. In: The
23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,
pp. 1823–1832 (2017)
7. Zhang, J.H., et al.: Research on Text Entity Relationship Extraction Based on Semi-
supervised Learning. Harbin Engineering University, Harbin (2017)
8. Liu, S.X., et al.: Research on Internet Named Entity Recognition Based on Conditional
Random Fields. Zhongyuan Institute of Technology, Zhengzhou (2016)
9. Cheng, Z.G., et al.: Research on Chinese Named Entity Recognition Based on Rules and
Conditional Random Fields. Central China Normal University, Wuhan (2015)
10. Wang, C.Y., et al.: Cluster analysis of labels. Mod. Libr. Inf. Technol. 5, 67–70 (2008)
Data Analytical Platform Deployment:
A Case Study from Automotive
Industry in Thailand
1 Introduction
2 Proposed Platform
The system structure is shown in Fig. 1. It takes the data from Facebook Graph
API and the stores the data in Node.js platform. The underlying data storage
engine is MongoDB. Inside the platform, there are two sub-components, i.e. data
analyzing and the Restful service to response to the client systems through http
requests. The transmitting data is in JSON type. The result provides to the
client can be graphs in various forms.
The JSON data for the system is shown in Fig. 2. In this work, there are
two collections, i.e. Post and Result collections. The Post collection stores the
data from Facebook Graph API, e.g. message, picture, comments, sharing infor-
mation, or reaction of the posts. The Results store summarizing data from the
posts.
Data Analytical Platform Deployment 411
2.2 System UI
The system frontend allows users to determine the data of searched keywords or
hashtags that are related to the automotive industry. The examples of system
statistics are summarization on number of shares or posts, summarization in
term of the types of content, posts, common words, contents by dates in Figs. 3,
4 and 5, respectively. Such information can be utilized by users.
412 C. Kanmai et al.
3 Evaluation
Secondly, we evaluate the system by a focus group interview, and then trans-
lated into the specified question/answer in Likert scale. The case is based on
the largest automotive dealer in Thailand, where the sales division is focused,
where the size of the team is 22 people with moderate experience (5–10 years
experience in sales). Before the evaluation, we explain the procedure to use the
system, then let them try using the system for their routine tasks, e.g. determine
the sales-leads, summarize the data before making a call to the target, or com-
municate with the technical team. Our finding from the evaluation after their
usage is as follows.
• The average score of the users on seeing benefit on the summarization is 4.5
out of 5, particularly on the less experience sales.
• The average score of the users on capability to assess the impact of the pro-
motion on the sales is 4.32 out of 5.
• The average score of the time-sensitive data display to the users is 4.32, e.g.
the question to find the highest-sales quarter can be answered effectively.
• The average score of the benefit for sales-planning is 4.5 out of 5, particularly
the 5–10 experience sales.
• The average score of the adequate data display on the system is 4.36 out of 5.
4 Conclusion
In this paper, we present a case study on data analytical platform based on
automotive sales data. The system takes the input from the Facebook Graph
API. The developed system can then analyze such data and store the insight into
the stored data system. When the users focus on the related keywords or hashtags
which could be the model/specification of the automotive, the information in the
form of graphs, images, and text can be returned and utilized by the salesteam.
From the system performance experimental results, as well as the focus-group
interviewing, it can show that our system can help salesteam to work on their
operations effectively. The improvement on the time-sensitive and data display
are planned and can be deployed in the next release.
414 C. Kanmai et al.
References
1. Jiwcharoen, T.: Influence of social media advertising that affecting to brand aware-
ness consumer in Bangkok: case study, car business sector, Bangkok University
(2015)
2. TAIA: The thai automotive industry association (2017). http://www.taia.or.th/
Statistics/
3. Arpavate, W., Dejasvanong, S.C.C.: Communication behavior in facebook of stu-
dents at rajamangala university of technology Phra Nakhon. RMUTP Res. J. 7(2)
(2010)
4. Wipawin, N.: Network in a networked society. TLA Res. J. 8(2), 119–127 (2015)
The 10th International Workshop on
Streaming Media Delivery and
Management Systems (SMDMS-2019)
The Structured Way of Dealing
with Heterogeneous Live
Streaming Systems
1 Introduction
Live streaming can be done either over a classic client-server architecture or a
distributed one. The high bandwidth that live streaming requires may limit the
number of clients that the source can serve. A small number of clients could be
sufficient to saturate the source resources.
In a distributed scenario (e.g., P2P), the bandwidth required can be spread
among the users and the bottleneck at the source can be reduced. So, peer-to-
peer systems are cheap to operate and scale well with respect to the centralized
ones. Because of this, the P2P technology is an appealing paradigm for providing
live streaming over the Internet.
In P2P context, we can choose between an unstructured or a structured
overlay network. In unstructured overlay networks, peers self-organize themselves
without a defined topology. Unlike the structured case, any peer can receive each
piece of the video from a different peer. In structured overlay networks, peers are
organized in a static structure with the source at the root of the diffusion tree
A node receives data from a parent node that can be a peer or the source of the
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 417–426, 2020.
https://doi.org/10.1007/978-3-030-33509-0_38
418 A. Tomassilli et al.
Due to lack of space, all the obtained results could not be included in the con-
ference version and can be found in [19].
2 Related Works
There is a large amount of work on video streaming systems (see [11,18] for sur-
veys), such as to improve video coding, e.g., adaptive streaming [16] or multiview
video [12], to reduce energy consumption [5], or to improve the way the overlay
network deals with churn using techniques from optimization [17], protocols, or
algorithmics. Our work lies in the last category.
There are two main categories of distributed systems for video live stream-
ing: unstructured and structured. [14] provides an overview of P2P based live
streaming services. Hybrid solutions are also possible [22]. In unstructured over-
lay networks, peers self organize themselves in an overlay network, that does
not have a defined topology. CoolStreaming/DONet [23] is an implementation
of this approach. In structured overlay networks, peers are organized in a static
structure with the source at the root of the tree. There are many techniques used
in P2P live streaming with single-source and structured topology. These tech-
niques may fall into two categories: single-tree and multiple-tree. In the single-
tree approach, each node is connected to a small number of nodes to which it
is responsible for providing the data stream. ZIGZAG [20] is an implementation
The Structured Way of Dealing with Heterogeneous Live Streaming Systems 419
of this approach. In the multiple-tree approach, the main idea is to stripe the
content across a forest of multicast trees where each node is a leaf in every tree
except one. SplitStream [7] is an implementation of this approach.
In terms of reliability, unstructured systems are considered the best choice.
As shown in [6] this kind of system handles churn (peers leaving the system) in
a very efficient way. Only few works [8,9] focus on tree maintenance in struc-
tured systems. In [9] the authors propose a simple distributed repair algorithm
that allows the system to fastly recover and obtain a balanced tree after one
or multiple failures. In [8] the authors develop a simple repair and distributed
protocol based on a structured overlay network. By providing, through analysis
and simulations, estimations of different system metrics like bandwidth usage,
delay and number of interruptions of the streaming, they show that a structured
live-streaming system can be very efficient and resistant to churn. However, their
study is based on the fact that all nodes have the same bandwidth, where the
bandwidth determines the maximum number of other nodes that can be served
simultaneously. We extend their work to the case of peers with heterogeneous
bandwidth.
3.1 Modeling
We model a live streaming system as a tree of size n+1 where the root represents
a source streaming a live video. A summary of the variables used in this work is
given in Table 1. The n other nodes are clients wanting to watch the video. The
source is the only reliable node of the network; all other peers may be subject
to failure. A node v has a limited bandwidth d(v) used to serve its children.
A node is said to be overloaded, when it has more than d(v) children. In this
case, it cannot serve all its children and some of them do not receive the video.
Note that the distance, in the logical tree, between a peer and the root gives the
reception delay of a piece of media. Hence our goal is to minimize the tree depth
while respecting degree constraints.
Each node applies the following algorithm with a limited knowledge of the
whole network.
Table 1. Summary of the main variables and terminologies used in this work.
Churn. We model the system churn rate with a Poisson model of rate of Λ.
A node departure (also called churn event) occurs after an exponential time of
parameter Λ, i.e., in average after a time 1/Λ. We note the individual failure rate
λ = Λ/n. Authors in [10,21] carried out a measurement campaign of a large-
scale overlay for multimedia streaming, PPLive [1]. Among other statistics, the
authors report that the median time a user stays in such a system is around
10 min. In this study, we use this value as the default value.
Repair Rate. When a node has a push operation to carry out, it has first to
change its children list, and then to contact its two children implicated in the
operation so that they also change their neighborhoods (parent, grandparent or
child). This communication takes some amount of time, that can vary depending
on the node to contact and congestion inside the network. To take into account
this variation, we model the repair time as a random variable with an expo-
nential distribution of parameter μ. [13] reports that the communication time
in a streaming system is on average 79 ms. Thus, we believe that assuming an
average repair time of 100 ms is appropriate.
Default Values. In the following, for the ease of reading, we normalize the
repair rate to 1. We call unit of time the average repair time, 100 ms. The
normalized default churn rate, for an average stay of 10 min, λ is thus 1/6000
and the system churn rate is Λ = nλ ≈ 0.17. These default values are indicated
as typical examples and are reported in Table 1, but, in our experiments, we
present results for a range of values of Λ between 0 and 1. We talk of low churn
systems for values of Λ below 0.4, and of high churn systems for values above
0.4.
3.2 Metrics
Number of People Not Receiving the Video. Due to repair and churn
events, some people do not receive the video during small periods. We study
what fraction of the nodes do not receive the video and during which amount of
time.
Height of the Tree or Delay. The height of the diffusion tree gives the max-
imum delay between the source and a node.
Number of Interruptions and Interruption Duration. We monitor the
number of interruptions of the video diffusion to a node during the broadcast
lifetime, as well as the distribution of interruption durations.
Thus, the distributed protocols that we propose try to maintain nodes with high
bandwidth on top of the diffusion tree. To this end, an overloaded node has to
carefully select which node is pushed under which node using its information on
the diffusion tree.
Local Bandwidth Protocol (LBP). In this protocol, each node knows
the bandwidth of each of its children. Moreover, a node keeps track of the number
of push operations done on each of its children. Note that this local information
is easy to maintain accurately.
When a node is overloaded, it pushes its child with the smallest bandwidth,
as nodes with higher bandwidth should stay on top on the diffusion tree. This
child has to be pushed on a node receiving the video. We consider all the nodes
receiving the video and push on them proportionally to their bandwidth (e.g., a
node with a bandwidth of d = 4 should receive twice as much pushes than a node
with a bandwidth of d = 2). In details, the expected number of pushes to each
child is proportional to its bandwidth. The parent then pushes into the child
with the largest difference between the push operations done and the expected
number of push operations.
Bandwidth Distribution Protocol (BDP). In this protocol, nodes have
additional information. Each node knows the bandwidth of each of its children
and the bandwidth distribution of the subtree rooted in each of its children. Note
that the bandwidth distribution can be pulled up from the subtree. This may
be considered costly by the system designer. However, it is also possible for a
422 A. Tomassilli et al.
Fig. 1. Parameters obtained from the Fig. 2. Average metrics for Distri-
model for the considered streaming session. bution 1 after 250 simulations.
Fig. 3. Number of viewers as a function of the time for a streaming session of the user
dizzykitten.
Height of the Diffusion Tree and Delay. We see that all protocols achieve a
very small height of the diffusion tree: around 5 or 6 for the average. Recall that
we have around 1500 users at the maximum of the stream. The protocols are thus
very efficient. The evolution of the diffusion tree height is given as an example
in Fig. 4. We see the increase of height when the users connect to the stream till
a maximum height of 6 for FLP and LBP, and of 7 for BDP. FLP gives the
tree with the smallest height for all the distributions. The results of LBP and
BDP are different from the simulation case of the previous section. Since the
individual churn rate is very small during the experiment (∼1.5 * 10−5 ), pushing
according to the children’s bandwidths (local information) reveals to be a good
strategy, leading to a better height than BDP for 2 of the 4 distributions. In
particular, LBP behaves better than BDP in the case of very distant values of
bandwidth (Distributions 1 and 3) and worst when the values of bandwidth are
close between them (Distribution 4).
Percentage of People Without the Video During Time. In this case, the
3 protocols behave similarly, as in the simulation case. They are very efficient:
on average, only 0.2% of peers are unable to watch the video. Recall that we
count the users arriving and waiting to be connected at the right place of the
tree.
Number of Interruptions During the Diffusion. The protocols have sim-
ilar behavior in most cases. For Distributions 1, 2 and 3 the number of inter-
ruptions ranges from 12 to 21, and for Distributions 4, it ranges from 5 to 6.
This means that, in the worst case, a peer staying for all the duration of the
stream experiences an interruption every 10 min. In all cases, the duration of
these interruptions is very small. Considering all protocols and all the distribu-
tions, we see that a node is never interrupted for more than the 0.02% of the
time. A peer remaining during the whole stream session is thus interrupted for
less than 3 seconds. A buffer of few seconds (e.g., 10 s) for the video makes these
interruptions imperceptible to the end-users. For a video rate of 480 kbps, it
corresponds to a buffer size of only 40MB.
The Structured Way of Dealing with Heterogeneous Live Streaming Systems 425
Fig. 4. Height of the diffusion tree during time for an example of Twitch session
dizzykitten.
6 Conclusion
In this study we examined the problem of delivering live video streaming in a
P2P overlay network using a structured overlay. We have proposed 3 distributed
protocols to repair the diffusion tree of the overlay, when there is churn. The pro-
tocols use different amounts of information. Using simulations and experiments
with real traces from Twitch, we have shown that our protocols behave well with
respect to fundamental QoS metrics, even for very heterogeneous bandwidth dis-
tributions. Our main result is that, with very simple distributed repair protocols
using only local information, structured overlay networks can be very efficient
and resistant to churn.
References
1. PPLive. http://www.pplive.com/
2. Twitch Blog. https://blog.twitch.tv/twitch-hits-one-million-monthly-active-
broadcasters-21dd72942b32
3. Twitch. http://www.twitch.com/
4. Twitch Statistics. http://socialblade.com/twitch/
5. Bacco, M., Catena, M., De Cola, T., Gotta, A., Tonellotto, N.: Performance anal-
ysis of WebRTC-based video streaming over power constrained platforms. In: 2018
IEEE Global Communications Conference (GLOBECOM), pp. 1–7. IEEE (2018)
6. Bonald, T., Massoulié, L., Mathieu, F., Perino, D., Twigg, A.: Epidemic live
streaming: optimal performance trade-offs. In: ACM SIGMETRICS Performance
Evaluation Review, vol. 36, pp. 325–336. ACM (2008)
7. Castro, M., Druschel, P., Kermarrec, A.M., Nandi, A., Rowstron, A., Singh, A.:
SplitStream: high-bandwidth multicast in cooperative environments. In: ACM
SIGOPS Operating Systems Review, vol. 37, pp. 298–313. ACM (2003)
8. Giroire, F., Huin, N.: Study of repair protocols for live video streaming distributed
systems. In: IEEE GLOBECOM (2015)
9. Giroire, F., Modrzejewski, R., Nisse, N., Pérennes, S.: Maintaining balanced trees
for structured distributed streaming systems. In: International Colloquium on
Structural Information and Communication Complexity, pp. 177–188. Springer
(2013)
10. Hei, X., Liang, C., Liang, J., et al.: Insights into PPLive: a measurement study of
a large-scale P2P IPTV system. In: International Word Wide Web Conference on
IPTV Workshop (2006)
426 A. Tomassilli et al.
11. Hoque, M.A., Siekkinen, M., Nurminen, J.K.: Energy efficient multimedia stream-
ing to mobile devices–a survey. IEEE Commun. Surveys. Tutorials 16(1), 579–597
(2014)
12. Kito, T., Fujihashi, T., Hirota, Y., Watanabe, T.: Users’ demand-based segment
scheduling for progressive multi-view video transmission. In: IEEE GLOBECOM
(2018)
13. Li, B., Qu, Y., Keung, Y., Xie, S., Lin, C., Liu, J., Zhang, X.: Inside the new
coolstreaming: principles, measurements and performance implications. In: 27th
IEEE International Conference on Computer Communications (2008)
14. Li, B., Wang, Z., Liu, J., Zhu, W.: Two decades of internet video streaming: a
retrospective view. ACM Trans. Multimedia Comput. Commun, Appl (2013)
15. MacMillan, D., Bensinger, G.: Amazon to buy video site twitch for $970 million
(2014). http://www.wsj.com/articles/amazon-to-buy-video-site-twitch-for-more-
than-1-billion-1408988885
16. Nihei, K., Yoshida, H., Kai, N., Satoda, K., Chono, K.: Adaptive bitrate control
of scalable video for live video streaming on best-effort network. In: 2018 IEEE
Global Communications Conference (GLOBECOM), pp. 1–7. IEEE (2018)
17. Park, J., Hwang, J.N., Wei, H.Y.: Cross-layer optimization for VR video multicast
systems. In: 2018 IEEE Global Communications Conference (GLOBECOM) (2018)
18. Seufert, M., Egger, S., Slanina, M., Zinner, T., Hoßfeld, T., Tran-Gia, P.: A sur-
vey on quality of experience of HTTP adaptive streaming. IEEE Commun. Surv.
Tutorials 17(1), 469–492 (2015)
19. Tomassilli, A., Huin, N., Giroire, F.: The structured way of dealing with heteroge-
neous live streaming systems. Technical report, Inria (2017)
20. Tran, D., Hua, K., Do, T.: Zigzag: an efficient peer-to-peer scheme for media
streaming. In: IEEE INFOCOM (2003)
21. Vu, L., Gupta, I., Liang, J., Nahrstedt, K.: Measurement of a large-scale overlay
for multimedia streaming. In: ACM HPDC (2007)
22. Wang, F., Xiong, Y., Liu, J.: Mtreebone: a hybrid tree/mesh overlay for
application-layer live video multicast. In: IEEE ICDCS (2007)
23. Zhang, X., Liu, J., Li, B., Yum, T.: CoolStreaming/DONet: a data-driven overlay
network for peer-to-peer live media streaming. In: IEEE INFOCOM (2005)
A Rule Design for Trust-Oriented Internet Live
Video Distribution Systems
Abstract. In recent years, Internet live video distribution has become popular
and Internet distributors such as YouTubers have attracted attention. In Internet
live distribution, the distributors often record and distribute themselves with a
smartphone while moving, and deliver video via the internet. Regarding the trust
between the distributor and the viewers, there is a social problem that the
viewers are threaten or attacked by the distributor if there is no trust, and
securing the trust in the Internet live distribution provides secure distributions to
the distributor safe. It is possible to transmit information with trust. However,
there has been no Internet live video distribution system considering the trust so
far, and the distributor hides the face and distributes so that the surroundings and
the surroundings are not displayed. We propose a trust-oriented Internet live
distribution system for video processing, especially in this research, we designed
rules for event-driven processing of the relationship between distributor infor-
mation, trust environment, and video content in trust-oriented live video
distributions.
1 Introduction
In recent years, the viewer specifies the name from the face of the distributor captured
in the Internet live distribution and performs an act of intimidation, etc. and the viewer
who captures the remark of the distributor as a trap identifies the location from the
surrounding situation and attacks and so on, it is becoming a social problem that the
distributor is at risk. These problems are due to the fact that an appropriate trust
relationship (trust) has not been secured between distributor and viewer.
Therefore, in this research, we propose a trust-oriented Internet live distribution
system that appropriately manages (abandon, build, and maintain) trusts according to
the policy of the distributor. By solving the problem of “what kinds of Internet live
distribution system can properly manage trust?”, The distributor can transmit infor-
mation by Internet live distribution with trust. It will lead to the promotion of a rich
information society by distribution.
2 Related Research
In the paper [1], the importance of trust is discussed. Besides, various Internet live
distribution systems are being researched and developed at home and abroad and
presented at prominent international conferences ([2–4]). However, these systems can
not properly manage the trust according to the policy of the distributor. The authors
have built an Internet live distribution system using a P2P communication environment
etc. [5]. We propose the rule design of the Internet live distribution system that can
manage the trust properly by making use of the results obtained in these researches.
3 System Design
The following is a proposal for the design of rules in an Internet live distribution
system to properly manage the trust.
In this research, a set of event, condition (condition), and action are described, and
some ECA (Event, Condition, Action) rules that perform event-driven processing are
used. By representing the relationships in Table 1 by ECA rules, it is possible to design
and manage the following event processing. The video content (condition) is an event,
the trust status, and environment, and the index to the template image are conditions. In
addition, connecting to the image processing action for each video object based on the
approach makes it possible to maintain and abandon the trust environment.
5 Summary
Acknowledgments. This research was supported by I-O DATA Foundation and a Grants-in-
Aid for Scientific Research (C) numbered JP17K00146 and JP18K11316.
References
1. Hoffman, L., et al.: Trust beyond Security: an expanded trust model. Comm. ACM 49(7), 94–
101 (2006)
2. Zhang, X., et al.: Keyword-driven image captioning via context-dependent bilateral LSTM.
In: IEEE ICME, pp. 781–786 (2017)
3. Li, J., et al.: Attention transfer from web images for video recognition. In: ACM Multimedia,
pp. 1–9 (2017)
4. Naor, Z., et al.: Content placement for video streaming over cellular networks. In:
IEEE ICNC, pp. 133–137 (2015)
5. Matsumoto, S. et al.: A design of hierarchical ECA rules for distributed multi-viewpoint
internet live broadcasting systems. In: SMDMS 3PGCIC, pp. 340–347 (2018)
6. https://ai.google/
High-Performance Computing
Environment with Cooperation Between
Supercomputer and Cloud
1 Introduction
Due to the recent popularization of machine learning, such a deep reinforcement
learning as AlphaGO [1], which has advanced to analyze large-scale data, is
attracting great attention. In deep reinforcement learning, users evaluate many
functions in large-scale computer environments such as a supercomputer system
and a cloud system. Such a supercomputer as “K computer” [2] operated by the
RIKEN Center for Computational Science (R-CCS) is a computer system that
mainly uses a CPU. Supercomputers can be used in simulation evaluations to
predict the future of large-scale natural environments, such as climatic variations
and tsunamis [3]. On the other hand, the cloud, such as Amazon Web Services
(AWS) [4], can be used in simulation evaluations using many GPUs with CPU-
based virtual servers.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 433–443, 2020.
https://doi.org/10.1007/978-3-030-33509-0_40
434 T. Kotani and Y. Gotoh
Cloud services can provide computer resources according to the scale of the
computer environment desired by users. On the other hand, in a conventional
large-scale computer environment that only consists of CPUs or GPUs, the pro-
cessing time greatly increases according to the scale of the calculation processing.
For example, distributed deep reinforcement learning which is one kind of deep
reinforcement learning, performs simulation evaluations using a large amount of
CPUs and memory. In addition, GPUs are required for learning based on the
result of simulation evaluations. In this case, since the processing time must be
reduced using a computer environment that combines CPUs and GPUs, we need
to construct such a system.
In this paper, we propose a high-performance computing environment for
deep reinforcement learning that links the supercomputer and cloud systems.
Our proposed system can construct a high-performance computing environment
based on the scale of the computing process by cooperating with supercomputer
and cloud systems with short physical and short network distances.
The remainder of the paper is organized as follows. In Sect. 2, we explain the
configuration of the Hokkaido University Information NEtwork System (HINES).
Machine learning and distributed deep reinforcement learning are introduced
in Sects. 3 and 4. In Sect. 5, we explain the implementations of the functions
that link the supercomputer and the cloud. The performance of our proposed
environment for deep reinforcement learning is evaluated in Sect. 6. Finally, we
conclude our paper in Sect. 7.
3 Machine Learning
3.1 Outline
Machine learning uses several methods that enable the identification of images
and the prediction of correct results through algorithms. For example, when
identifying an image, machine learning inputs an image of handwritten numbers
and outputs correct numbers through the algorithm. In machine learning, we can
improve accuracy using an appropriate method based on the learning object.
Fig. 4. Ape-X
4.2 Ape-X
5 Implementation
In this section, we implement the functions that link the supercomputer and the
cloud.
We use Distributed Tensorflow [9] to link the deep learning between the super-
computer and the cloud. Distributed Tensorflow creates clusters for parallel dis-
tributed processing using multiple tensorflow servers. We allocate the processes
by operating parameter server and worker servers and achieve the cooperation
of the supercomputer and the cloud.
438 T. Kotani and Y. Gotoh
5.2 MPI
Message Passing Interface (MPI), which is a standard for parallel computing, is
used in large-scale distributed processing environments such as supercomputers.
Its primary projects using the MPI library are MPICH and OpenMPI. On the
supercomputer of the Hokkaido University Information Initiative Center, Japan,
IntelMPI
R Library (Intel MPI) [10] is installed. When we use MPI at this center,
after setting the number of nodes used in the supercomputer, the number of
MPI processes, and the number of threads for each process, we request the job
management system to execute the job.
5.3 Horovod
Horovod [11] is a framework for the distributed processing of deep learning. In
the distributed processing of Distributed Tensorflow, we implement the system
based on parameter servers, worker servers, and the data for each one. Therefore,
both the cost of adapting conventional code to distributed processing and that
of learning is high. On the other hand, horovod can easily realize high-speed
distributed processing by reducing these costs.
In this paper, we use horovod for distributed deep reinforcement learning by
connecting a supercomputer and the cloud. Since horovod automatically con-
nects from the host server to another server by SSH based on configuration files,
we do not need to check the connection status. In addition, horovod can also use
MPI to support the Keras needed to implement the Ape-X programs. On the
other hand, in Distributed Tensorflow, since the supercomputer and the cloud
are linked, we need to execute the program in the parameter server and the
worker server. Therefore, in the cloud, we can execute programs at any time by
occupying resources.
In the supercomputer, since the job is put in the standby state based on the
occupation situation, the timing of the job execution is uncertain. Therefore, we
need to check the program’s execution state in the supercomputer to link the
supercomputer and the cloud.
5.4 Network
Next we explain networks to link the supercomputer and the cloud as well as
the problems in constructing networks. When we use Distributed Tensorflow, the
server that constructs the cluster is specified by its IP address and a port number.
However, we can not connect directly from the cloud to the supercomputer and
vice versa. When the cloud connects to the supercomputer, it links to a login
node, which is a server that sends jobs to the supercomputer. However, it is
difficult to connect to a supercomputer composed of multiple nodes. On the
other hand, the supercomputer can not connect to the cloud even if we specify
the IP address of the cloud.
In our proposed system, the supercomputer connects to the cloud by a login
node. We achieved the cooperation between the supercomputer and the cloud
on the network by setting a SSH port-forwarding that mutually connects the
supercomputer and the cloud.
High-Performance Computing Environment with Cooperation 439
6 Evaluation
6.1 Evaluation Environment
In Fig. 5, we show the processing time in the Distributed Tensorflow. The hori-
zontal axis is the number of epochs for learning one kind of data, and the vertical
axis is the processing time. We compare the results of executing the Distributed
Tensorflow with the cloud and the supercomputer and for the cloud only.
In Fig. 5, the processing time with just the cloud is shorter than just using
the supercomputer and the cloud. For example, when the number of epochs is
1000, the processing time is 19.6 s with just the cloud and 481.2 s with just the
supercomputer and the cloud. In the cooperation between the supercomputer
and the cloud, the processing time was delayed by dividing the processing into
a parameter server for updating the parameter and a worker server that learns
in the same model using the data of multiple mini-batches. In the original Dis-
tributed TensorFlow, we need to learn the data using more parameter servers
and worker servers. However, in this evaluation, since we combined the super-
computer and the cloud by one parameter server and one worker server, the
processing performance was low and the processing time was lengthened.
440 T. Kotani and Y. Gotoh
We show the performance for the distributed process on Ape-X in Fig. 9. The
horizontal axis is the number of episodes. The vertical axis is the number of
image processing on the Actor per second. The number of actors is twelve.
In Fig. 9, when the number of episodes ranges from 1 to 960, the processing
speed per second is 63 steps using both the CPU and the GPU. When the
number of episodes ranges from 1 to 970, the processing speed per second is 46
steps using only the CPU. At this time, the processing speed with only the CPU
is 26.9% lower than when using both the CPU and the GPU. In both cases, as the
442 T. Kotani and Y. Gotoh
7 Conclusion
References
1. Silver, D., Huang, A., Maddison, C.J., Guez, A., Sifre, L., Driessche, G.V.D.,
Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot, M., Dieleman, S.,
Grewe, D., Nham, J., Kalchbrenner, N., Sutskever, I., Lillicrap, T., Leach, M.,
Kavukcuoglu, K., Graepel, T., Hassabis, D.: Mastering the game of go with deep
neural networks and tree search. Nature 529, 484–489 (2016)
2. RIKEN Center for Computational Science (R-CCS): K computer. https://www.r-
ccs.riken.jp/en/k-computer/
3. Meteorological Research Institute (MRI): Supercomputer System. http://www.
mri-jma.go.jp/Facility/supercomputer en.html
4. Amazon Web Services (AWS): Amazon. https://aws.amazon.com/jp/
5. Hokkaido university Information NEtwork System (HINES): Hokkaido University
Information Initiative Center. https://www.hines.hokudai.ac.jp/
6. National Institute of Informatics (NII): Science Information NETwork 5. https://
www.sinet.ad.jp/en/top-en
7. Open-AI: Gym. https://gym.openai.com
High-Performance Computing Environment with Cooperation 443
8. Horgan, D., Quan, J., Budden, D., Barth-Maron, G., Hessel, M., Hasselt, H.V.,
Silver, D.: Distributed prioritized experience replay. In: Proceedings of the Inter-
national Conference on Learning Representations (ICLR 2018) (2018). https://
arxiv.org/pdf/1803.00933.pdf
9. Google: Distributed TensorFlow. https://www.tensorflow.org/deploy/distributed
10. Intel Corporation: INTEL MPI LIBRARY. https://software.intel.com/en-us/mpi-
library
11. Sergeev, A., Del Balso, M.: Horovod: fast and easy distributed deep learning in
TensorFlow, arXiv https://arxiv.org/abs/1802.05799 (2018)
Evaluation of a Distributed Sensor Data
Stream Collection Method Considering
Phase Differences
1 Introduction
In the Internet of Things (IoT), various devices (things) including sensors gen-
erate data and publish them via the Internet. We define continuous sensor data
with difference cycles as a sensor data stream and have proposed methods to
collect distributed sensor data streams as a topic-based pub/sub (TBPS) sys-
tem [14]. In addition, we have also proposed a collection system considering phase
differences to avoid concentrating the data collection to the specific time by the
combination of collection cycles [6]. These previous methods are based on skip
graphs [1], one of the construction techniques for overlay networks [3,4,7–13].
In our skip graph-based method considering phase differences, the collection
time is balanced within each collection cycle by the phase differences, and the
probability of load concentration to the specific time or node is decreased. How-
ever, our previous paper provides the simulation results only when the distribu-
tion of collection cycles is uniform. Therefore, This paper provides the additional
simulation results in different distributions of collection cycles. The employed dis-
tributions are the normal (Gaussian) distribution and exponential distribution.
2 Problems Addressed
2.1 Assumed Environment
The purpose of this study is to disperse the communication load in the sensor
stream collections that have different collection cycles. The source nodes have
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 444–453, 2020.
https://doi.org/10.1007/978-3-030-33509-0_41
Evaluation of a Distributed Sensor Data Stream Collection Method 445
sensors so as to gain sensor data periodically. The source nodes and collection
node (sink node) of those sensor data construct P2P networks. The sink node
searches source nodes and requires a sensor data stream with those collection
cycles in the P2P network. Upon reception of the query from the sink node, the
source node starts to delivery the sensor data stream via other nodes in the P2P
network. The intermediate nodes relay the sensor data stream to the sink node
based on their routing tables.
The source nodes are denoted as Ni (i = 1, · · · , n), and the sink node of sensor
data is denoted as S. In addition, the collection cycle of Ni is denoted as Ci .
In Fig. 1, each node indicates source nodes or sink node, and the branches
indicate collection paths for the sensor data streams. Concretely, they indicate
communication links in an application layer. The branches are indicated by dot-
ted lines because there is a possibility that the branches may not collect a sensor
data stream depending on the collection method. The sink node S is at the top
and the four source nodes N1 , · · · , N4 (n = 4) are at the bottom. The figure
in the vicinity of each source node indicates the collection cycle, and C1 = 1,
C2 = 2, C3 = 2, and C4 = 3. This corresponds to the case where a live camera
acquires an image once every second, and N1 records the image once every sec-
ond, N2 and N3 record the image once every two seconds, and N4 records the
image once every three seconds, for example. Table 1 shows the collection cycle
of each source node and the sensor data to be received in the example in Fig. 1.
The communication load of the source nodes and sink node is given as the total
of the load due to the reception of the sensor data stream and the load due to
the transmission. The communication load due to the reception is referred to
as the reception load, the reception load of Ni is Ii and the reception load of
446 T. Kawakami et al.
1 node
Key
21 33 Membership
Level 2 10 01 vector
13 48 75 99
00 00 11 11
21 75 99
Level 1 10 11 11
13 33 48
00 01 00
Level 0 13 21 33 48 75 99
00 10 01 00 11 11
lower level links. In the case of range queries that specifies the beginning and
end of keys to be searched, the queries are forwarded to the peer whose key is
within the range, or less than the end of the range. The number of hops to key
search is represented to O(log n) when n is denoted as the number of peers. In
addition, the average number of links on each peer is represented to log n.
4 Evaluation
In this section, we describe the additional evaluation to our proposed method
in [6].
Key 3 3 3 2 2 1 1 Dest.
Phase diff. 2 1 0 1 0 0 0 node
N1 N2 N3 N4 N5 N6 N7 D1
t=0
t=1
t=2
t=3
t=4
t=5
x is determined between 0.0 and 5.0 at random. For other parameters, the sim-
ulation time denoted as t is from 0 to 2519, which length is the least common
multiple of the selectable cycles. In addition, this simulation has no communica-
tion delays among nodes although there are various communication delays in the
real world. As comparison methods, we compare the proposed method with skip
graph-based method without PS shown in Fig. 3, the method in which all source
nodes send data to the destination node directly (Source Direct, SD), and the
method in which all source nodes send data to the next node for the destination
node (Daisy Chain, DC).
Figures 5 and 6 show the results for the maximum instantaneous load and total
loads of nodes by the number of nodes, respectively. The number of node is the
value on the lateral axis, and the allowable number of stream aggregation is under
11. In all the distributions from Fig. 5, the proposed method, skip graphs (SG)
with PS, has a lower instantaneous load compared to SD-based methods where
the destination node receives data directly from the source nodes. Although the
larger the allowable number of stream aggregation in DC-based methods, the
smaller the number of transmission and reception. In this simulation environ-
ment, however, the proposed method has a lower instantaneous load than the
results of DC-based methods. In addition, the proposed method has a lower
instantaneous load compared to SG without PS because each node has different
transmission and reception timing by its phase difference even if another node
is configured the same collection cycle. In Fig. 6, on the other hand, SD-based
methods have the lowest total loads. However, the proposed method has lower
total loads compared to DC-based methods in this simulation environment. In
addition, the total loads are the lowest in the exponential distribution because
longer cycles have higher probabilities to be selected.
450 T. Kawakami et al.
400
400
400
SD w/o PS SD w/o PS SD w/o PS
SD w/ PS SD w/ PS SD w/ PS
DC w/o PS DC w/o PS DC w/o PS
DC w/ PS DC w/ PS DC w/ PS
300
300
300
SG w/o PS SG w/o PS SG w/o PS
SG w/ PS SG w/ PS SG w/ PS
200
200
200
100
100
100
0
0
0
100 200 300 400 100 200 300 400 100 200 300 400
8000
8000
8000
6000
6000
6000
SG w/ PS SG w/ PS SG w/ PS
4000
4000
4000
2000
2000
2000
0
0
100 200 300 400 100 200 300 400 100 200 300 400
150
SD w/ PS SD w/ PS SD w/ PS
DC w/o PS DC w/o PS DC w/o PS
DC w/ PS DC w/ PS DC w/ PS
SG w/o PS SG w/o PS SG w/o PS
Avg. Number of Hops
Avg. Number of Hops
SG w/ PS SG w/ PS SG w/ PS
100
100
100
50
50
50
0
0
100 200 300 400 100 200 300 400 100 200 300 400
400
300
SG w/ PS SG w/ PS SG w/ PS
200
200
200
100
100
100
0
0
100 200 300 400 100 200 300 400 100 200 300 400
Similar to the results for the maximum instantaneous load and total loads
of nodes, Figs. 7 and 8 show the results for the average number and maximum
number of hops by the number of nodes under 11 streams aggregation, respec-
tively. In Figs. 7 and 8, SD-based methods have only one hop as the average
number and maximum number although those instantaneous loads described in
Fig. 5 are high. The proposed method has log n as the average number of hops
while n is denoted as the number of nodes and DC-based methods are affected
linearly by n.
400
400
400
SD w/o PS SD w/o PS SD w/o PS
SD w/ PS SD w/ PS SD w/ PS
DC w/o PS DC w/o PS DC w/o PS
DC w/ PS DC w/ PS DC w/ PS
300
300
300
200
200
200
100
100
100
0
0
40 41 42 43 40 41 42 43 40 41 42 43
Allowable Number of Stream Aggregation Allowable Number of Stream Aggregation Allowable Number of Stream Aggregation
Fig. 9. The maximum instantaneous load by the allowable number of stream aggrega-
tion
20000
20000
20000
15000
SG w/ PS SG w/ PS SG w/ PS
10000
10000
10000
5000
5000
5000
0
0
40 41 42 43 40 41 42 43 40 41 42 43
Allowable Number of Stream Aggregation Allowable Number of Stream Aggregation Allowable Number of Stream Aggregation
Fig. 10. The total loads by the allowable number of stream aggregation
Figures 9 and 10 show the results for the maximum instantaneous load and
total loads of nodes by the allowable number of stream aggregation, respectively.
The allowable number of stream aggregation is the value on the lateral axis, and
the number of node is 200. SD-based methods have a constant value as the
maximum instantaneous load not affected by the allowable number of stream
aggregation because the source nodes send data to the destination node directly.
In Figs. 9 and 10, most of the results decrease by the increase of the allowable
number of stream aggregation. The proposed method, SG with PS, has lower
results for both of the maximum instantaneous load and total loads even in the
452 T. Kawakami et al.
5 Conclusion
We have proposed a skip graph-based collection system for sensor data streams
considering phase differences. In this paper, we evaluated our proposed method
in the different distributions of collection cycles. The employed distributions are
the normal (Gaussian) distribution and exponential distribution. Our additional
simulation results show that our proposed system can equalize the loads of nodes
even if the distribution of collection cycles are not uniform.
References
1. Aspnes, J., Shah, G.: Skip graphs. ACM Trans. Algorithms (TALG) 3(4(37)), 1–25
(2007)
2. Banno, R., Takeuchi, S., Takemoto, M., Kawano, T., Kambayashi, T., Matsuo, M.:
Designing overlay networks for handling exhaust data in a distributed topic-based
pub/sub architecture. J. Inf. Process. (JIP) 23(2), 105–116 (2015)
3. Bharambe, A.R., Agrawal, M., Seshan, S.: Mercury: supporting scalable multi-
attribute range queries. In: Proceedings of the ACM Conference on Applications,
Technologies, Architectures, and Protocols for Computer Communications (SIG-
COMM 2004), pp. 353–366 (2004)
4. Kaneko, Y., Harumoto, K., Fukumura, S., Shimojo, S., Nishio, S.: A location-based
peer-to-peer network for context-aware services in a ubiquitous environment. In:
Proceedings of the 5th IEEE/IPSJ Symposium on Applications and the Internet
(SAINT 2005) Workshops, pp. 208–211 (2005)
5. Kawakami, T., Ishi, Y., Yoshihisa, T., Teranishi, Y.: A skip graph-based collection
system for sensor data streams considering phase differences. In: Proceedings of
the 8th International Workshop on Streaming Media Delivery and Management
Systems (SMDMS 2017) in Conjunction with the 12th International Conference
on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC 2017), pp. 506–
513 (2017)
6. Kawakami, T., Yoshihisa, T., Teranishi, Y.: A load distribution method for sensor
data stream collection considering phase differences. In: Proceedings of the 9th
International Workshop on Streaming Media Delivery and Management Systems
(SMDMS 2018) in Conjunction with the 13th International Conference on P2P,
Parallel, Grid, Cloud and Internet Computing (3PGCIC 2018), pp. 357–367 (2018)
7. Legtchenko, S., Monnet, S., Sens, P., Muller, G.: RelaxDHT: a churn-resilient
replication strategy for peer-to-peer distributed hash-tables. ACM Trans. Auton.
Adapt. Syst. (TAAS) 7(2), 28 (2012)
Evaluation of a Distributed Sensor Data Stream Collection Method 453
8. Mondal, A., Lifu, Y., Kitsuregawa, M.: P2PR-tree: an R-tree-based spatial index
for peer-to-peer environments. In: Proceedings of the International Workshop on
Peer-to-Peer Computing and Databases in Conjunction with the 9th International
Conference on Extending Database Technology (EDBT 2004), pp. 516–525 (2004)
9. Ohnishi, M., Inoue, M., Harai, H.: Incremental distributed construction method
of delaunay overlay network on detour overlay paths. J. Inf. Process. (JIP) 21(2),
216–224 (2013)
10. Shinomiya, J., Teranishi, Y., Harumoto, K., Nishio, S.: A sensor data collection
method under a system constraint using hierarchical delaunay overlay network.
In: Proceedings of the 7th International Conference on Intelligent Sensors, Sensor
Networks and Information Processing (ISSNIP 2011), pp. 300–305 (2011)
11. Shu, Y., Ooi, B.C., Tan, K.L., Zhou, A.: Supporting multi-dimensional range
queries in peer-to-peer systems. In: Proceedings of the 5th IEEE International
Conference on Peer-to-Peer Computing (P2P 2005), pp. 173–180 (2005)
12. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek,
F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup protocol for internet
applications. IEEE/ACM Trans. Netw. 11(1), 17–32 (2003)
13. Tanin, E., Harwood, A., Samet, H.: Using a distributed quadtree index in peer-to-
peer networks. Int. J. Very Large Data Bases (VLDB) 16(2), 165–178 (2007)
14. Teranishi, Y., Kawakami, T., Ishi, Y., Yoshihisa, T.: A large-scale data collection
scheme for distributed topic-based pub/sub. In: Proceedings of the 2017 Interna-
tional Conference on Computing, Networking and Communications (ICNC 2017)
(2017)
A Mathematical Analysis of 2-Tiered Hybrid
Broadcasting Environments
1 Introduction
broadcast band and communication band. Authors also focused on the balance of 2
points shown in the following (a) and (b).
(a) When the number of clients is large, the larger the broadcast bandwidth is, the
easier it is to shorten the playback interruption time (because it can be delivered
collectively).
(b) When the number of clients is small, the larger the communication bandwidth,
the easier it is to shorten the playback interruption time (since it can be sent on request).
In this paper, we propose a video data distribution method and model for flexible
bandwidth allocation in hybrid broadcasting environments. We call our proposed
method the Request-based Division Broadcasting (RDB) method. In the RDB method,
the server broadcasts the requested pieces only when the transmission time via the
broadcasting channel is predicted to be earlier than that via the communication channel.
Show in Fig. 3.
456 S. Matsumoto et al.
2 Related Work
Guo et al. [1]: Investigate, 3GPP has not yet defined any broadcast/multicast solution for
5GNR, although some proposals will be revisited as soon as time units in latest 5G
become available. In this work, we analyze the use of a mixed mode that shares mul-
ticast, broadcast and unicast resources via the same physical channel. Goto et al. Have
proposed a method for creating a broadcast schedule when users use multiple data [2].
However, the broadcast schedule is fixed and only predetermined data can be broadcast.
Research is being conducted to distribute data not only by radio broadcasting but also by
the Internet. Hironaka et al. [3]: Are researching and developing a system called hybrid
cast that distributes access destinations via radio broadcasts and downloads and displays
the access destination homepage delivered via the Internet. However, these research
cannot broadcast data according to the user’s situation. Some researchers has started to
distribute data according to the user’s situation in a broadcast format. There has been
proposed a method for determining the processing order on the terminal side so that the
processing time is shortened when data is broadcast in sequence in response to requests
from multiple computers [4]. It assumes large-scale distributed computation and is not
intended for high-speed notification, response, or continuous transmission. It assumes
large-scale distributed computation and is not intended for high-speed notification,
response, or continuous transmission. It assumes large-scale distributed computation
and is not intended for high-speed notification, response, or continuous transmission. It
assumes large-scale distributed computation and is not intended for high-speed notifi-
cation, response, or continuous transmission. A method has been proposed in which a
user terminal requests and broadcasts necessary data from a list of data given in advance
[5]. The user can only request data in the list, and cannot use a large amount of data.
Authors have created an Internet broadband distribution system [6], which is the pre-
decessor of the experimental environment for distributing the Hybrid broadcast pro-
posed in this paper, and am preparing them for a new experimental environment.
There is a technology called near video on demand which realizes the video on demand
service in a pseudo manner by distributing data repeatedly. However, waiting time
occurs until the video start data is acquired. The waiting time can be shortened by
taking the beginning part via in unicast. In hybrid broadcast, in multicast and unicast
A Mathematical Analysis of 2-Tiered Hybrid Broadcasting Environments 457
band allocation, the band allocation that can reduce latency appropriately and effec-
tively becomes indefinite depending on the number of viewers. Therefore, there is a
problem that it is desired to clarify appropriate band allocation when the total band-
width is constant. In order to solve these problems, the authors propose to find an
optimal value in a mathematical model. Viewer request model show in Fig. 4.
BB D1
D1 þ ¼D
R
Hence,
D
D1 ¼
1 þ BB =R
If the average arrival interval of the clients k is shorter than the time needed to
receive S1 from the communication system, the waiting time to start playing the video
data for the clients increases because the communication bandwidth is shared with the
next client and the reception time of S1 lengthens. Therefore, the shortest average
interval of the clients ^k that the waiting time does not lengthen is given by the time
needed to receive S1 from the communication system. Thus,
^k ¼ RD1 ¼ RD
BC BC ð1 þ BB =RÞ
In this paper, we assume that the total bandwidth of the broadcasting system and
the communication system is fixed to B and is flexibly divided to the broadcasting
system and the communication system. We define b as the ratio of the bandwidth for
the broadcasting system to the total bandwidth.
BB ¼ bB
BC ¼ ð1 bÞB
458 S. Matsumoto et al.
In this case,
^k ¼ RD
ð1 bÞð1 þ bB=RÞB
df
¼ ð1 þ bB=RÞB þ B2 ð1 bÞ=R
db
ð1 þ bB=RÞB ¼ B2 ð1 bÞ=R
Therefore, the limit of the average arrival interval that the waiting time does not
lengthen is the shortest when:
BR
b¼
2B
90
80
70
60
50
f(b)
40
30
20
10
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
B=10 b
B=20
B=30
Fig. 5. f (b) graph B = 10, 20, 30 R = 5. Result of simulation, when R is fixed to 20, f (b) is
maximum when b is 0.32. The values used for B were 10, 20, and 30.
140
120
100
80
f(b)
60
40
20
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
R=1 b
R=5
R=10
Fig. 6. f (b) graph B = 20 R = 1, 5, 10. Result of simulation, when B is fixed to 20, f (b) is
maximum when b is 0.46. The values used for R were 1, 5, and 10.
460 S. Matsumoto et al.
4 Conclusions
References
1. Guo, W., Fuentes, M., Christodoulou, L., Mouhouche, B.: Roads to multimedia broadcast
multicast services in 5G new radio. In: Proceedings IEEE International Symposium on
Broadband Multimedia Systems and Broadcasting (BMSB), Valencia, Spain (2018)
2. Fukui, D., Gotoh, Y.: A scheduling method for switching playback speed in selective
Contents Broadcasting. Journal of Mobile Multimedia (JMM) 12, 181–196 (2017)
3. Hironaka, Y., Majima, K., Kai, K., Sunasaki, S.: Broadcast metadata providing system for
hybridcast. In: Proceedings IEEE International Conference on Consumer Electronics,
pp. 328–329 (2015)
4. Wu, C.J., Ku, C.F., Ho, J.M., Chen, M.S.: A novel pipeline approach for efficient big data
broadcasting. IEEE Trans Knowl. Data Eng. 28(1), 17–28 (2016)
5. Lu, Z., Wu, W., Li, W.W., Pan, M.: Efficient Scheduling Algorithms for on-Demand Wireless
Data Broadcast. In: IEEE INFOCOM (2016)
6. Matsumoto, S., Yoshihisa, T.: Different Worlds broadcasting: a video data distribution
method for flexible bandwidth allocation in hybrid broadcasting environments. In:
Proceedings of 33rd International Conference on Advanced Information Networking and
Applications (AINA 2019), Shimane, Japan, March 2019
The 9th International Workshop on
Multimedia, Web and Virtual Reality
Technologies (MWVRTA-2019)
Influence of Japanese Traditional Crafts
on Kansei in Different Interior Styles
1 Introduction
There are many types of traditional crafts in the various regions of Japan. On the other
hand, current Japanese traditional crafts have the following problems [1]:
• difficulty procuring raw materials, lack of successors
• lack of know-how for business expansion, difficulty in developing sales channels by
individual
• weakness of information transmission and branding
In such circumstances, the Ministry of Economy, Trade and Industry is promoting
the development of overseas demand and the utilization of information technology in
the “Basic Guidelines on the Promotion of Traditional Craft Industry [2].”
We implemented a Japanese traditional crafts presentation system by Kansei
retrieval method using Virtual Reality Modeling Language (VRML) [3–8] and a
Japanese traditional crafts AR presentation system by Kansei retrieval method using
Augmented Reality (AR) technology [9, 10] in the previous research. On the other
hand, both systems are based on Japanese-style room and do not take into consideration
the influence on Kansei when traditional crafts are placed in Western-style room and
We calculated the average value, standard deviation and dispersion value of the
evaluation scores for each Kansei Word when Japanese traditional crafts were placed in
Japanese, Western, and Chinese style rooms. The evaluation scores of each Kansei
word are shown in Table 1. In case of the “Modern - Classic”, the evaluation score is 2
when the impression is “moderately modern.” Moreover, Table 2 shows Fusuma, Shoji
and Tsuitate placed in each style room.
Table 2. Japanese traditional crafts placed in Japanese, Western, and Chinese style rooms.
Fusuma placed
A in Japanese-style
room space
Fusuma placed
B in Western-style
room space
Fusuma placed
C in Chinese-style
room space
Shoji placed
D in Japanese-style
room space
Shoji placed
E in Western-style
room space
Shoji placed
F in Chinese-style
room space
Tsuitate placed
G in Japanese-style
room space
Tsuitate placed
H in Western-style
room space
Tsuitate placed
I in Chinese-style
room space
466 R. Nakai et al.
Table 3 shows the average, standard deviation, and dispersion of the evaluation
scores of Fusuma placed in Japanese-style room space. The average value of Fusuma
placed in Japanese-style room is the Kansei word “Warm - Cool (4.00)” and “Indi-
vidual - Traditional (3.71)” at the top. Conversely, the average value of Fusuma placed
in Japanese-style room is the Kansei words “Like - Dislike (1.57)” and “Calm - Gaudy
(1.86)” at the bottom. Therefore, Fusuma placed in Japanese-style room strongly
influences the Kansei words “Cool,” “Traditional,” “Like,” and “Calm.”
Table 3. Average value, standard deviation and dispersion value of evaluation score of Fusuma
placed in Japanese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 3.29 1.16 1.20 1.35
Gorgeous - Simple 3.14 1.12 1.17 1.27
Calm - Gaudy 1.86 0.91 0.95 0.84
Individual - 3.71 1.10 1.14 1.20
Traditional
Modern - Classic 3.21 1.32 1.37 1.74
Plain - Delicate 3.14 0.99 1.03 0.98
Hard - Soft 3.21 1.21 1.25 1.45
Rustic - Smart 3.50 0.82 0.85 0.68
Warm - Cool 4.00 1.07 1.11 1.14
Like - Dislike 1.57 0.62 0.65 0.39
Table 4 shows the average, standard deviation, and dispersion of the evaluation
scores of Fusuma placed in Western-style room space. The average value of Fusuma
placed in Western -style room is the Kansei word “Hard - Soft (3.79)” and “Massive -
Light (3.43)” at the top. Conversely, the average value of Fusuma placed in Western-
style room is the Kansei words “Individual - Traditional (2.21)” and “Modern - Classic
(2.21)” at the bottom. Therefore, Fusuma placed in Western-style room strongly
influences the Kansei words “Soft,” “Light,” “Individual,” and “Modern.”
Table 5 shows the average, standard deviation, and dispersion of the evaluation
scores of Fusuma placed in Chinese-style room space. The average value of Fusuma
placed in Chinese -style room is the Kansei word “Plain - Delicate (3.64),” “Calm -
Gaudy (3.50)” and “Individual - Traditional (3.50)” at the top. Conversely, the average
value of Fusuma placed in Chinese-style room is the Kansei words “Massive - Light
(1.64)” and “Gorgeous - Simple (1.79)” at the bottom. Therefore, Fusuma placed in
Chinese-style room strongly influences the Kansei words “Delicate,” “Gaudy,” “Tra-
ditional,” “Massive,” and “Gorgeous.”
Influence of Japanese Traditional Crafts on Kansei 467
Table 4. Average value, standard deviation and dispersion value of evaluation score of Fusuma
placed in Western-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 3.43 1.12 1.16 1.24
Gorgeous - Simple 2.93 0.96 1.00 0.92
Calm - Gaudy 3.00 1.00 1.04 1.00
Individual - 2.21 1.08 1.12 1.17
Traditional
Modern - Classic 2.21 0.86 0.89 0.74
Plain - Delicate 2.64 0.72 0.74 0.52
Hard - Soft 3.79 0.56 0.58 0.31
Rustic - Smart 3.14 1.12 1.17 1.27
Warm - Cool 3.07 1.16 1.21 1.35
Like - Dislike 2.57 1.05 1.09 1.10
Table 5. Average value, standard deviation and dispersion value of evaluation score of Fusuma
placed in Chinese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 1.64 0.81 0.84 0.66
Gorgeous - Simple 1.79 0.77 0.80 0.60
Calm - Gaudy 3.50 1.45 1.51 2.11
Individual - 3.50 1.30 1.34 1.68
Traditional
Modern - Classic 3.21 1.32 1.37 1.74
Plain - Delicate 3.64 1.17 1.22 1.37
Hard - Soft 2.29 1.10 1.14 1.20
Rustic - Smart 2.86 0.99 1.03 0.98
Warm - Cool 2.50 0.91 0.94 0.82
Like - Dislike 2.43 0.90 0.94 0.82
Table 6 shows the average, standard deviation, and dispersion of the evaluation
scores of Shoji placed in Japanese-style room space. The average value of Shoji placed
in Japanese-style room is the Kansei word “Gorgeous - Simple (3.64),” “Massive -
Light (3.57)” and “Individual - Traditional (3.57)” at the top. Conversely, the average
value of Shoji placed in Japanese-style room is the Kansei words “Calm - Gaudy
(1.79)” and “Plain - Delicate (2.21)” at the bottom. Therefore, Shoji placed in Japanese-
style room strongly influences the Kansei words “Simple,” “Light,” “Traditional,”
“Calm,” and “Plain.”
468 R. Nakai et al.
Table 6. Average value, standard deviation and dispersion value of evaluation score of Shoji
placed in Japanese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 3.57 0.98 1.02 0.96
Gorgeous - Simple 3.64 0.81 0.84 0.66
Calm - Gaudy 1.79 0.56 0.58 0.31
Individual - 3.57 0.90 0.94 0.82
Traditional
Modern - Classic 3.36 0.97 1.01 0.94
Plain - Delicate 2.21 1.26 1.31 1.60
Hard - Soft 3.00 1.13 1.18 1.29
Rustic - Smart 3.36 0.81 0.84 0.66
Warm - Cool 3.43 1.05 1.09 1.10
Like - Dislike 2.43 0.82 0.85 0.67
Table 7 shows the average, standard deviation, and dispersion of the evaluation
scores of Shoji placed in Western-style room space. The average value of Shoji placed
in Western -style room is the Kansei word “Gorgeous - Simple (3.64)” and “Rustic -
Smart (3.64)” at the top. Conversely, the average value of Shoji placed in Western-style
room is the Kansei words “Like - Dislike (2.43),” “Calm - Gaudy (2.50)” and “Modern
- Classic (2.50)” at the bottom. Therefore, Shoji placed in Western-style room strongly
influences the Kansei words “Simple,” “Smart,” “Like,” “Calm,” and “Modern.”
Table 8 shows the average, standard deviation, and dispersion of the evaluation
scores of Shoji placed in Chinese-style room space. The average value of Shoji placed in
Chinese-style room is the Kansei word “Plain - Delicate (3.50)” and “Modern - Classic
(3.29)” at the top. Conversely, the average value of Shoji placed in Chinese-style room
is the Kansei words “Massive - Light (2.29),” “Calm - Gaudy (2.50),” and “Like -
Dislike (2.50)” at the bottom. Therefore, Shoji placed in Chinese-style room strongly
influences the Kansei words “Delicate,” “Classic,” “Massive,” “Calm,” and “Like.”
Table 7. Average value, standard deviation and dispersion value of evaluation score of Shoji
placed in Western-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 3.93 0.59 1.02 0.35
Gorgeous - Simple 3.64 0.89 0.84 0.80
Calm - Gaudy 2.50 0.73 0.58 0.54
Individual - 3.21 0.77 0.94 0.60
Traditional
Modern - Classic 2.50 1.05 1.01 1.11
Plain - Delicate 2.57 0.82 1.31 0.67
Hard - Soft 3.00 0.93 1.18 0.86
Rustic - Smart 3.64 0.72 0.84 0.52
Warm - Cool 3.43 0.62 1.09 0.39
Like - Dislike 2.43 0.73 0.85 0.53
Influence of Japanese Traditional Crafts on Kansei 469
Table 8. Average value, standard deviation and dispersion value of evaluation score of Shoji
placed in Chinese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 2.29 0.88 0.91 0.78
Gorgeous - Simple 2.64 1.04 1.08 1.09
Calm - Gaudy 2.50 1.12 1.16 1.25
Individual - 3.00 1.20 1.24 1.43
Traditional
Modern - Classic 3.29 1.10 1.14 1.20
Plain - Delicate 3.50 0.91 0.94 0.82
Hard - Soft 2.79 0.77 0.80 0.60
Rustic - Smart 3.21 0.77 0.80 0.60
Warm - Cool 3.00 1.00 1.04 1.00
Like - Dislike 2.50 0.73 0.76 0.54
Table 9 shows the average, standard deviation, and dispersion of the evaluation
scores of Tsuitate placed in Japanese-style room space. The average value of Tsuitate
placed in Japanese-style room is the Kansei word “Plain - Delicate (3.50),” “Individual
- Traditional (3.29)” and “Rustic - Smart (3.29)” at the top. Conversely, the average
value of Tsuitate placed in Japanese-style room is the Kansei words “Like - Dislike
(2.21)” and “Gorgeous - Simple (2.64)” at the bottom. Therefore, Tsuitate placed in
Japanese-style room strongly influences the Kansei words “Delicate,” “Traditional,”
“Smart,” “Like,” and “Gorgeous.”
Table 9. Average value, standard deviation and dispersion value of evaluation score of Tsuitate
placed in Japanese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 2.93 1.28 1.33 1.64
Gorgeous - Simple 2.64 1.29 1.34 1.66
Calm - Gaudy 2.71 1.22 1.27 1.49
Individual - 3.29 1.28 1.33 1.63
Traditional
Modern - Classic 3.00 1.20 1.24 1.43
Plain - Delicate 3.50 0.91 0.94 0.82
Hard - Soft 3.14 1.19 1.23 1.41
Rustic - Smart 3.29 1.03 1.07 1.06
Warm - Cool 2.86 1.12 1.17 1.27
Like - Dislike 2.21 1.01 1.05 1.03
Table 10 shows the average, standard deviation, and dispersion of the evaluation
scores of Tsuitate placed in Western-style room space. The average value of Tsuitate
placed in Western -style room is the Kansei word “Calm - Gaudy (3.29),” “Massive -
Light (3.14)” and “Plain - Delicate (3.14)” at the top. Conversely, the average value of
470 R. Nakai et al.
Table 10. Average value, standard deviation and dispersion value of evaluation score of
Tsuitate placed in Western-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 3.14 1.12 1.17 1.27
Gorgeous - Simple 2.57 1.05 1.09 1.10
Calm - Gaudy 3.29 1.10 1.14 1.20
Individual - 2.00 1.00 1.04 1.00
Traditional
Modern - Classic 2.43 1.05 1.09 1.10
Plain - Delicate 3.14 0.91 0.95 0.84
Hard - Soft 2.71 1.03 1.07 1.06
Rustic - Smart 2.93 1.03 1.07 1.07
Warm - Cool 2.79 1.01 1.05 1.03
Like - Dislike 2.93 1.03 1.07 1.07
Table 11. Average value, standard deviation and dispersion value of evaluation score of
Tsuitate placed in Chinese-style room space.
Kansei words Average Standard Standard deviation Dispersion
deviation (n) (n − 1)
Massive - Light 2.71 1.28 1.33 1.63
Gorgeous - Simple 2.21 1.15 1.19 1.31
Calm - Gaudy 3.14 1.06 1.10 1.12
Individual - 3.64 1.17 1.22 1.37
Traditional
Modern - Classic 3.21 1.15 1.19 1.31
Plain - Delicate 3.07 1.03 1.07 1.07
Hard - Soft 3.00 0.93 0.96 0.86
Rustic - Smart 3.29 0.96 0.99 0.92
Warm - Cool 2.36 0.81 0.84 0.66
Like - Dislike 2.71 0.96 0.99 0.92
Influence of Japanese Traditional Crafts on Kansei 471
3 Conclusion
In this research, we investigated the influence on Kansei when placing Japanese tra-
ditional crafts in virtual reality space of Japanese-style room, Western-style room and
Chinese-style room. As a result, it turned out that the impression of traditional crafts
changes with each style room. For example, Fusuma placed in Japanese-style room
strongly influences the Kansei words “Cool,” “Traditional,” “Like,” and “Calm.” On
the other hand, Fusuma placed in Western-style room strongly influences the Kansei
words “Soft,” “Light,” “Individual,” and “Modern.”
References
1. Ministry of Economy, Trade and Industry: Efforts for the current status and promotion of the
traditional craft industry. https://www.kanto.meti.go.jp/seisaku/creative/data/20170929setum
eikai_siryou1.pdf. Accessed July 2018
2. Ministry of Economy, Trade and Industry: Basic guidelines on the promotion of the
traditional craft industry. https://www.tohoku.meti.go.jp/s_cyusyo/densan-ver3/html/pdf/1_
5.pdf. Accessed July 2018
3. Miyakawa, A., Sugita, K., Ishida, T., Shibata, Y.: Implementation and evaluation of a
tradition search engine using sensitivity searching method. In: Proceedings of the 18th
International Conference on Advanced Information Networking and Applications, pp. 630–
635 (2004)
4. Sugita, K., Ishida, T., Miyakawa, A., Shibata, Y.: Kansei retrieval method using VPIC of
traditional Japanese crafting objects. In: Proceedings of the 18th International Conference on
Advanced Information Networking and Applications, pp. 10–13 (2004)
5. Sugita, K., Ishida, T., Miyakawa, A., Shibata, Y.: Kansei retrieval method using the
quantitative feature of traditional Japanese crafting object. In: Proceedings of the 24th
International Conference on Distributed Computing Systems Workshops, pp. 112–117 (2004)
6. Miyakawa, A., Ishida, T., Sugita, K., Shibata, Y.: Proposal of tradition handicraft searching
method using DCML. In: Proceedings of the 7th International Workshop on Network-Based
Information System, pp. 348–352 (2004)
7. Sugita, K., Ishida, T., Miyakawa, A., Barolli, L., Shibata, Y.: Experimental result of feature
extraction method for digital traditional Japanese crafting system. In: Proceedings of the 19th
International Conference on Advanced Information Networking and Applications, pp. 235–
240 (2005)
8. Miyakawa, A., Ishida, T., Shibata, Y.: Visual and physical feature analysis for Kansei
retrieval method in VR Japanese crafting presentation system. In: Proceedings of the 22th
International Conference on Advanced Information Networking and Applications Work-
shops, pp. 477–482 (2008)
9. Iyobe, M., Ishida, T., Miyakawa, A., Sugita, K., Uchida, N., Shibata, Y.: Proposal of a
virtual traditional Japanese crafting presentation system mobile edition. In: Proceedings of
the 10th International Conference on Innovative Mobile and Internet Services in Ubiquitous
Computing, pp. 120–125 (2016)
10. Iyobe, M., Ishida, T., Miyakawa, A., Sugita, K., Uchida, N., Shibata, Y.: Development of a
mobile virtual traditional crafting presentation system using augmented reality technology.
Int. J. Space-Based Situated Comput. (IJSSC) 6(4), 239–251 (2017)
11. Justeasy. https://www.justeasy.cn/. Accessed July 2018
Semantic Similarity Calculation
of TCM Patents in Intelligent Retrieval
Based on Deep Learning
1 Introduction
of patent data, how to find the required information accurately and comprehensively
becomes an urgent problem, and patent retrieval is a powerful tool to solve this
problem. For patent applicants, patent retrieval can help stimulate inspiration, avoid
duplicate research and avoid infringement; for patent examiners, they need to retrieve
authorized patents similar to those under examination and decide to grant them or not;
for patentees, patent retrieval can retrieve patents that infringe their own patents,
through filing patent invalidation lawsuits to safeguard their own rights and interests;
for enterprises, patent retrieval can help them understand the R&D direction of com-
petitors or to make decision support for technology trade.
Different from web search, patent retrieval is difficult because of the following
reasons: patents contain a large number of professional terms, and is not easy to be
recognized by Chinese word segmentation tools; some patent applicants, for the pur-
pose of technical protection and expanding the scope of patent protection, intentionally
use hyponyms, vague words, even custom words to replace the original concept, in
order to reduce the probability of patent being retrieved.
As a sub-task of patent retrieval, compared with patent retrieval in other fields,
TCM patent retrieval is often more difficult, mainly reflected in the following aspects.
Firstly, aliases of traditional Chinese medicines are particularly common. Due to
the variety, complex sources and extensive production areas of traditional Chinese
medicine which has been passed down for thousands of years, and influenced by
various factors such as written errors, regional dialects and usage habits, the situation
that one herbal has multiple different names and a name corresponds multiple different
herbal medicines often occurs. For example, ginseng has more than ten aliases, such as
Jilin Ginseng, Yishan Ginseng, Shizhu Ginseng, Shencao, Dijing, Tujing and so on,
while Sanqi, Tudahuang, Hutoujiao, Diburongg and other Chinese herbal medicines all
have a name called Jinbuhuan.
Secondly, due to historical reasons and writing habits, there are a large number of
disease synonyms in TCM patents. For example, disease “catch a cold” can be
expressed as “feng han” or “shou liang”, “suffer from indigestion” can be expressed as
“xiao hua bu liang” or “ji shi” and so on.
All the aspects above may make the traditional keyword-based TCM patent
retrieval produce a very high leakage rate. In traditional keyword-based patent retrieval,
the searcher enters the query request and the retrieval system returns the patents
containing the requested keyword, without any semantic content involved. This kind of
searching misses many patents that do not match keywords but have similar semantics
with keywords. In patent retrieval targeting full recall rate, the omission of a patent may
have serious consequences. The most direct consequence is repeated R&D and patent
infringement litigation.
At present, the mainstream TCM patent retrieval systems and platforms, such as
SIPO, CNIPR, Patent Star and SooPAT [2], are all built on traditional keyword-based
retrieval methods, without the function of semantic retrieval, and the results are not
satisfactory. If we need to get a more comprehensive retrieval result on the premise of
ensuring the accuracy rate, that is, to achieve a higher recall rate, it is necessary to
execute queries repeatedly with different search terms. This requires not only high
retrieval skills, but also familiarity in the field of TCM. The lack of query semantics in
474 N. Deng et al.
TCM patent retrieval system indirectly attacked the enthusiasm of inventors in the field
of TCM and hindered the development speed of TCM innovation in China.
The characteristics of high investment, high risk and long period in the R&D of
TCM make it necessary to search patents in advance. The correctness and compre-
hensiveness of the search results are very important. Aiming at the lack of semantics in
the current TCM patent retrieval systems, and in order to realize intelligent TCM patent
retrieval, this paper will study the semantic similarity calculation between words in
TCM patent texts based on deep learning.
2 Related Work
Patent retrieval is quite different from common web search. Patent texts have some
outstanding characteristics, such as long text, semi-structured, numerous metadata,
vague expression, multi-graph and multi-language. These characteristics bring great
challenges to patent retrieval. In recent years, patent retrieval has been studied as an
important subject in the field of information retrieval at home and abroad [3, 4]. Since
2002, the National Institute of Information Science of Japan has set up a special
symposium on patent retrieval and published patent test data sets for English and
Japanese. CLEF (Cross Language Evaluation Forum) is an open evaluation platform
for information retrieval in European languages. Since 2009, CLEF-IP, a symposium
on patent retrieval, has been set up. In China, most of the research on patent retrieval
focuses on English patent retrieval. Liu Bin [5], Xu Kan [6], Yao Hongxing [7] and
other scholars have done a lot of useful research on patent retrieval, infringement
retrieval and knowledge-based patent retrieval.
There are many methods to calculate the semantic similarity between words, for
example, ontology-based, wordnet-based [8, 9], hownet-based [10, 11]; knowledge
base based, such as wiki [12, 13], Baidu Encyclopedia; synonym based, such as all
kinds of synonym lists, etc. Since ontology, knowledge base and synonym lists can not
contain all concepts and words, these three methods have some limitations.
In the era of big data, all walks of life have accumulated huge amounts of data,
including large amounts of text data. In fact, these texts have implied the context and
semantic relationship between words. In order to reveal the relationship, an effective
method is to use deep learning technology to discover the semantic relationship in
texts.
As a novel word representation method, distributed word vector Word2Vec [14]
has become a core technology applying deep learning into natural language processing
since it was proposed by Tomas Mikolov in 2013. Word2Vec has changed the dis-
advantage of high dimension and high sparseness in traditional bag of words method.
Through the training of neural network, it uses a low dimension and dense real vector
to represent words, which greatly promotes the development of deep learning in natural
language processing. The low-dimensional word vectors trained from the corpus can
not only be used as inputs of neural network conveniently, but also contain the
semantic relationship between words.
Semantic Similarity Calculation of TCM Patents in Intelligent Retrieval 475
By utilizing distributed word vector technology in deep learning, this paper will
build and train a neural network model on a large number of TCM patent corpus to
discover the semantics similarity between words in TCM patents.
3 Our Method
In order to find the semantic similarity between words and concepts in TCM patents,
this paper constructs a neural network model, which is essentially a probabilistic
language model based on Bengio’s distribution hypothesis that the semantics of words
are determined by their context. The workflow of our method is shown in Fig. 1.
Word1 Word2
Words Sequence
The semantic similarity of any two words is negative correlated with their distance;
that is, the smaller the distance, the higher is the semantic similarity between the two
words; conversely, the larger the distance, the lower is the semantic similarity between
the two words.
In this paper, after Chinese word segmentation and stop words removal, the word
sequence obtained from the original TCM patent texts is used as the input of Word2Vec
neural network. While training completes, we can get the vector representation of words.
Source code in Python for implementing training model is shown in Fig. 3.
In the code in Fig. 3, tain_file_path stores the word sequence after Chinese word
segmentation and stop words removal, and these words are separated by spaces;
save_model_file_path stores the final generated neural network model; gensim. models.
Word2Vec sets the running parameters of the neural network model, in which size is the
length of the vector, min_count means that the word whose frequency is lower than this
value will be discarded; works is the concurrent number of training, and iter is the
number of training iterations.
4 Experiments
Using 7000 TCM patents as the original corpus, the abstract text was segmented into
words, and the stop words were removed. A Word2Vec neural network was estab-
lished. Table 2 is part of experimental result of calculating the similarity between some
word combinations.
We can find Top N similar words corresponding with a specific word. The
experiment result is shown in Table 3 (N = 5).
It can be seen that the method can not only calculate the semantic similarity
between Chinese herbal medicine names in TCM patents, but also calculate the
semantic similarity between effect words and other words.
5 Conclusion
In view of the lack of semantics in the current retrieval system of TCM patents, this
paper proposes a method for computing the semantic similarity of words based on deep
learning through Word2Vec technology. This method can not only calculate the
semantic similarity between Chinese herbal medicines names in TCM patents, but also
calculate the semantic similarity between effect words, as well as other words.
Semantic similarity in TCM patents can provide query expansion and other support for
intelligent retrieval of TCM patents.
Acknowledgments. This work was supported by National Key Research and Development
Program of China under Grant 2017YFC1405403; National Natural Science Foundation of China
under Grant 61075059; Philosophical and Social Sciences Research Project of Hubei Education
Department under Grant 19Q054; Green Industry Technology Leading Project (product devel-
opment category) of Hubei University of Technology under Grant CPYF2017008; Research
Foundation for Advanced Talents of Hubei University of Technology under Grant BSQD12131;
Natural Science Foundation of Anhui Province under Grant 1708085MF161; and Key Project of
Natural Science Research of Universities in Anhui under Grant KJ2015A236.
References
1. Feng, L., Peng, Z.Y., Liu, B., et al.: A latent-citation-network based patent value evaluation
method. J. Comput. Res. Dev. 52(3), 649–660 (2015)
2. Xu, N.Y.: A brief introduction to China’s major patent retrieval databases. China Invention
and Patent, vol. 9, pp. 35–37. (2014)
3. Zhang, L., Liu, Z., Li, L., et al.: PatSearch: an integrated framework for patentability
retrieval. Knowl. Inf. Syst. 57, 135–158 (2018)
4. Shalaby, W., Zadrozny, W.: Toward an interactive patent retrieval framework based on
distributed representations. In: The 40th ACM International SIGIR Conference on Research
and Development in Information Retrieval. ACM, New York (2018)
5. Liu, B., Feng, L., Wang, F., et al.: Patent search and analysis supporting technology
innovation. J. Commun. 37(3), 79–89 (2016)
6. Xu, K.: Research on query expansion of patent retrieval. Doctoral Dissertation of Dalian
University of Technology (2017)
7. Yao, H.X.: Research on method of product innovative design based on patent knowledge.
Master Dissertation of Zhejiang University (2016)
8. Zhao, Z., Yan, J., Fang, L., et al.: Measuring semantic similarity based on wordnet. In: Web
Information Systems & Applications Conference. IEEE, Piscataway (2009)
9. Zhang, X., Sun, S., Zhang, K.: An information content-based approach for measuring
concept semantic similarity in WordNet. Wirel. Pers. Commun. 3, 1–16 (2018)
Semantic Similarity Calculation of TCM Patents in Intelligent Retrieval 481
10. You, B., Liu, X.R., Ning, L., Yan, Y.S.: Using information content to evaluate semantic
similarity on HowNet. In: The Eighth International Conference on Computational
Intelligence & Security. IEEE, Piscataway (2013)
11. Dai, L., Liu, B., Xia, Y., et al.: Measuring semantic similarity between words using HowNet.
In: International Conference on Computer Science & Information Technology. IEEE,
Piscataway (2008)
12. Jiang, Y., Zhang, X., Tang, Y., et al.: Feature-based approaches to semantic similarity
assessment of concepts using Wikipedia. Inf. Process. Manag. 51(3), 215–234 (2015)
13. Shirakawa, M., Nakayama, K., Hara, T., et al.: Wikipedia-based semantic similarity
measurements for noisy short texts using extended Naive Bayes. IEEE Trans. Emerg.
Top. Comput. 3(2), 205–219 (2015)
14. Mikolov, T., Chen, K., Corrado, G., et al.: Efficient estimation of word representations in
vector space. Computer Science (2013)
The Design and Development
of Assistant Application for Maritime Law
Knowledge Built on Android
1 Background
This project comes from the key special project of the national key R&D plan “Marine
Environment Safety Guarantee” “Research and Development of Law Enforcement
Decision Support System for Reef and Marine Structures”. This project is an important
measure after the country has made considerable progress in the field of infrastructure,
platform equipment and instruments related to the protection of maritime rights. The
demonstration project to enhance the ability of law enforcement for the protection of
marine rights is of great significance to better carry out law enforcement activities for
the protection of marine rights in the future and win the victory of the struggle for the
protection of marine rights.
At present, the category judgment system being used by Chinese courts provides
more cases of poor quality, lack of authority and limited guiding significance [1].
Therefore, it is imperative to establish an application system covering maritime dis-
putes, maritime rights protection, case retrieval and case judgment. In the era of arti-
ficial intelligence and big data, a large number of legal case texts have been
accumulated in the process of law enforcement for marine rights protection. These texts
contain important information, which can not only provide decision support for law
enforcement for marine rights protection, but also further enhance law enforcement and
judicial workers for marine rights protection to a large extent, fairness and impartiality
of work.
Using advanced information technology and Internet technology, developing a
knowledge assistant software focusing on knowledge sharing, knowledge exchange
and knowledge push will surely become an important magic weapon and winning tool
for China’s marine law governance.
2 Related Work
The people served by assistants of maritime legal knowledge software include law
enforcement personnel of maritime departments of governments at all levels, personnel
of enterprises and units related to marine resources development, scientific research and
production personnel, etc.
The software assistant of maritime legal knowledge integrates marine legal
knowledge base and maritime legal cases, providing abundant marine knowledge and
relevant legal cases for users to learn and use.
1. Performance requirements
The response time of case knowledge base fragment search and query should not
exceed 1 s in general (in the environment of 4G operator network). Online search and
query response time should not exceed 3 s.
2. Data capacity requirements
Generally speaking, it is only related to the local hardware capacity and is not
limited by the software.
3. Requirements for working mode
The working mode of the system in different network operating environment
should be different. In the networked state, local and cloud data and information
synchronization should be supported, and the data obtained from the Internet should be
updated in time. In order to improve the user’s efficiency and experience, the operating
interface should be brief, intuitive and easy to operate, and the page depth should not
exceed three layers.
4. Security requirements
The security protection of user’s account information and content resources is the
key consideration of this application system. Through the application of encryption
algorithm, the user data is encrypted to ensure the user’s account security and privacy
information is not leaked. By establishing key distribution and key agreement proto-
cols, the security of user accounts is greatly improved on the premise that users are as
convenient as possible [5].
Fig. 4. Software assistant download flow chart of case text concerning sea
The Design and Development of Assistant Application 489
The system maintains a database related to sea-related cases. The database contains
all kinds of tags after semantic annotation of case texts and all relevant laws and
regulations related to the basis of judgment of maritime cases. Through natural lan-
guage processing, the system automatically matches the keywords retrieved with the
database of maritime legal cases, and finally pushes them to users according to the
ranking of similarity from high to low.
From the point of view of system requirement, the conceptual model of the system
is established through the entity relationship model (E-R model) as shown in Fig. 7.
5 System Testing
Fig. 8. Main interface of software system Fig. 9. Application interface of layer two soft-
ware system
Because the agile development mode is adopted in this project, the performance test
of each iteration version should not only complete the new feature test of the current
iteration, but also ensure that the historical function is not affected by regression test.
Compatibility testing in all possible environments, the stability and performance of the
system should be tested. The performance testing of the system is mainly divided into
offline and online performance testing. In different network environments, the stability
of the software system performance is tested. System security testing mainly focuses on
penetration testing and injection attacks on user account information and content
resources. By verifying the security of user’s account information and content
resources, the user’s safe use can be ensured.
6 Conclusion
1. The main interface test results of the system are shown in Fig. 8. The main interface
is divided into four parts: maritime case push, collection management, note man-
agement and personal account information management. The main interface of
system testing has a good UI design interface.
2. The results of the second layer interface test of the system are shown in Fig. 9. This
interface is the user pushes into the second layer of the interface by searching for
cases of legal texts related to the sea or clicking on the case of the main interface.
While the interface is concise and beautiful, it should also be able to quickly write
notes and collect cases when reading the content of the case text.
The Design and Development of Assistant Application 493
3. Due to time constraints, so far the time spent in software testing is insufficient, and
there is no complete software testing process as planned. At present, the software
system cannot run smoothly, there are still some bugs. But the main functional
modules have been written and passed the unit test. Therefore, the software will be
maintained and upgraded in the later stage, in order to achieve a perfect software
assistant of maritime legal knowledge.
Acknowledgments. This work was supported by Innovation and Entrepreneurship Project for
College Students in Hubei Province under Grant S201910500040; Philosophical and Social
Sciences Research Project of Hubei Education Department under Grant 19Q054.
References
1. Zuo, W.M.: How to realize classified judgment by artificial intelligence, china legal network,
vol. 2 (2018)
2. Jiang, B.N.: Research on the construction of institutional knowledge base in scientific
research management of Chinese Universities, Northeast Normal University, vol. 4 (2011)
3. Cheng, N.: Design and development of knowledge assistant software for ocean management,
Dalian University of Technology (2016)
4. Wang, W.J., Wu, G., et al.: A comparative study on the status quo of institutional knowledge
base construction at home and abroad. Nat. Lib. J. 31–35 (2010)
5. Douglas, R.S., et al.: Cryptography, Theory and Practice, 3rd edn. pp. 330–332 (2009)
6. Qin, X.H., Hou, X., Zhao, X., et al.: An entity relation extraction algorithms. J. Beijing Univ.
Inf. Sci. Technol. Nat. Sci. Edn. 34(1), 64–67 + 98 (2019)
7. Xing, Z., et al.: Continuous transmission of breakpoints and multi-threaded download,
programmer, vol. 3 (2002)
8. Li, S.W., Wang, A.J., Tan, H.X., et al.: Software Architecture Design and Practice in Agile
Development, Computer and Information Technology, vol. 3 (2015)
9. Wang, A.J., et al.: Design and Practice of Software Architecture in Agile Development,
Henan University (2015)
10. John Wiley & Sons, Vliet, H.V.: Software Engineering Principles and Practice, 2nd edn.
New York (2000)
A Matrix Factorization Recommendation
Method Based on Multi-grained
Cascade Forest
1 Introduction
Collaborative filtering technology (CF) [1] is one of the most critical technologies in
the recommender system, which is to understand the interactive relationship between
users and items based on their interaction histories. Matrix factorization (MF) [2, 3], as
one of the most important collaborative filtering methods, maps users and items into a
latent space, respectively uses a latent vector to represent users and items, and finally
uses a simple inner product to represent the interactive relationship between users and
items. A lot of research on recommender systems is devoted to improving the per-
formance of matrix factorization methods.
The traditional MF uses the inner product [4] to explore the interactive relationship
between latent vectors, which makes matrix factorization method inevitably suffer from
the limitation of inner product [3]. Inner product is an operation of reducing dimension,
which undoubtedly leads to the loss of interactive information. For the simple and fixed
inner product, it is difficult to explore the complex interaction between users and items
in low-dimensional latent space. Therefore, matrix factorization is difficult to improve
the accuracy of recommendation.
Recently, deep learning has been found to have good effects in various fields, and it
has the ability to approximate any continuous function [5], which makes many
researches begin to focus on the combination of deep learning and recommender
system [6]. At present, most recommender systems based on deep learning apply deep
learning in feature engineering, and cannot improve performance from model kernel. In
the study of learning interactive relations from by deep learning, most are based on
deep neural network (DNN). For example, Salakautdinov et al. [7] used two-layer
RBM to model the rating of users and items. Ouyang et al. [8] made use of three-layer
auto-encoder to model the rating. He et al. [9] proposed an implicit feedback Neural
Collaborative Filtering (NCF) framework, which extended the traditional matrix fac-
torization to explore the nonlinear relationship between users and items. Although the
deep neural network has a good performance in these methods, the deep neural network
requires too much data and is difficult to be put into practical application in the face of
high tag cost. Moreover, the deep neural network has many hyper-parameters, and the
model performance depends heavily on the adjustment of the hyper-parameters, which
makes the use of the deep neural network difficult to control.
In this paper, a matrix factorization recommendation method based on multi-
grained cascade forest is proposed. The feature embedding module is used to extract
the latent vectors of users and items, and then multi-grained cascade forest is used to
mine the interaction relationships between latent vectors. Through experiments, it is
found that compared with DNN, the multi-grained cascade forest not only has fewer
parameters and faster speed, but also has better performance.
2 Proposed Methods
User
ID
GMF Training
Layer
Item
ID
Feature Embedding
one-hot encoding Module
Cascade forest
CRF Forest
PRF Forest
CRF
Forest
PRF Ave.
Forest
CRF
PRF Layer N
Multi-Grained Scan
Layer 1 Layer 2 Layer 3
sense the context structure and spatial relationship of input data [11], and cascading
forests can carry out characterization learning of features layer by layer. In this paper,
GCForest is used to replace the inner product operation in GMF. On the one hand,
Multi-grained scanning is used to mine the spatial feature of latent vectors, and on the
other hand, deep structure is used to further explore the interaction between latent
vectors.
Multi-Grained Scanning
In order to explore the interaction relationship between the latent vectors, we need to
concatenate the two latent vectors to make it into one feature vector, as shown in Fig. 2.
A Matrix Factorization Recommendation Method 497
It is assumed that the dimensions of latent vectors of users and items are both 64
dimensions. After connecting the two latent vectors, the input vector of multi- grained
scanning is 128 dimensions, and then the sliding window with a length of 32 is used for
scanning to generate 97 feature vectors with 32-dimensional. These feature vectors
extracted by sliding window will generate 97 two-dimensional class vectors (binary
classification) through random forest. In order to increase the diversity of models [12],
a pair of random forests is usually used for classification, one is ordinary random forest,
the other is completely random forest [13]. In general, 194 two-dimensional class
vectors can be obtained from the original 128-dimensional vectors through sliding
window scanning, and then a 388-dimensional vector can be obtained through vector
concatenation.
In fact, we can use windows with different lengths to generate feature vectors of
different granularity, which will further enhance the mining of information by the
model. As shown in Fig. 1, GCForest uses sliding windows with lengths of [32, 64, 96]
to conduct multi-grained scanning, after which the scanned vectors will be input into
the subsequent cascade forest.
Cascade Forest
Similar to DNN learning with layer by layer representation learning, GCForest cascade
multiple layers composed of several random forests to learn the input features layer by
layer, as shown in Fig. 3.
498 S. Zhou et al.
Feature vector sample are input into each layer for training and generate class
vectors. Since the task is a binary classification problem, each random forest will
generate a two-dimensional class vector. In Fig. 3, each layer of cascade forest is
composed of different types of random forest to ensure diversity [12] and each random
forest layer is composed of 2 ordinary random forests and 2 complete random forests,
so 8 enhanced features will be output. Finally, the original features and these enhanced
features will be concatenated as the input of the next layer.
Each new extended layer uses a validation set to verify the performance of the entire
cascade forest, and if there is no significant improvement in performance, the training
process is terminated. Such an adaptive method to determine the complexity of the
model can make the model better adapt to the training data of different scales. The four
two-dimensional class vectors obtained from the last layer are averaged, and the ones
with the highest probability are used as predicted values for subsequent recommen-
dation and evaluation.
3 Experiments
3.1 Dataset
The MovieLens dataset is one of the movie rating datasets commonly used to evaluate
collaborative filtering algorithms. We use the movielens-100k dataset, which contains a
total of 100,000 ratings of 1,682 movies by 943 users, each of whom has rated at least
20 movies.
A Matrix Factorization Recommendation Method 499
In order to study the modeling method based on implicit feedback data [14], the
rating data of the original data set is converted into implicit data. It is defined that if the
user has scored the movie, the interaction has been observed, otherwise it has not.
1; if interaction is observed;
yui ¼ ð1Þ
0; otherwise:
Number of Hits@K
HR@K ¼ ð2Þ
jGTj
8
>
> P
K
< DCG@K = 2rðiÞ 1
log ði þ 1Þ
ð3Þ
2
i¼1
>
>
: NDCG@K = DCG@K
iDCG@K
Where jGTj represents the number of items in all test sets in Eq. 2. In Eq. 3,
DCG represents the cumulative discount gain, calculates the ranking performance of
the prediction list, and iDCG represents the cumulative discount gain of the optimal
ranking list.
3.3 Baselines
To verify performance, the GCF-MF have been compared with the following methods
in this field.
Item-KNN [15]: This is a standard item-based collaborative filtering method.
BPR [16]: Bayesian Personalized Ranking, which optimizes personalized ranking
tasks, is often used as a baseline for item-based recommendations.
GMF [9]: This is an extension of matrix factorization proposed in the NCF
framework to learn the nonlinear relationship between embedded vectors.
Table 2. Performance of different window settings when the latent vector dimension is 32
Evaluation indicator (d = 32) Window settings of multi-grained scanning
[16, 32, 48] [8, 16, 24] [4, 8, 12] No window
HR@10 0.835 0.827 0.826 0.824
NDCG@10 0.544 0.546 0.543 0.54
A Matrix Factorization Recommendation Method 501
References
1. Zhang, H., et al.: Discrete collaborative filtering. In: The 39th International ACM SIGIR
Conference. ACM (2016)
2. Koren, Y.: Factorization meets the neighborhood: a multifaceted collaborative filtering
model. In: Proceedings of the 14th ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining, Las Vegas, Nevada, USA, 24–27 August 2008. ACM (2008)
3. He, X., et al.: Fast matrix factorization for online recommendation with implicit feedback
(2017)
4. Rendle, S.: Factorization machines. In: IEEE International Conference on Data Mining.
IEEE (2011)
5. Hornic, K.: Multilayer feedforward networks are universal approximators. Neural Netw. 2
(5), 359–366 (1989)
6. He, K., et al.: Deep residual learning for image recognition (2015)
7. Salakhutdinov, R., Mnih, A., Hinton, G.: ACM Press the 24th International Conference -
Corvalis, Oregon, 20–24 June 2007. Proceedings of the 24th International Conference on
Machine learning - ICML 2007 - Restricted Boltzmann Machines for Collaborative Filtering,
pp. 791–798 (2007)
8. Ouyang, Y., et al.: Autoencoder-based collaborative filtering (2014)
9. He, X., et al.: Neural collaborative filtering (2017)
10. Zhou, Z.H., Feng, J.: Deep forest: towards an alternative to deep neural networks (2017)
11. Lecun, Y., et al.: Gradient-based learning applied to document recognition. Proc. IEEE 86
(11), 2278–2324 (1998)
12. Zhou, Z.H.: Ensemble Methods - Foundations and Algorithms. Taylor & Francis (2012)
13. Breiman, L.: Random forests (2001)
14. Liang, D., et al.: Modeling user exposure in recommendation (2015)
15. Sarwar, B., et al.: Item-based collaborative filtering recommendation algorithms. In:
International Conference on World Wide Web 2001 (2001)
16. Rendle, S., et al.: BPR: Bayesian personalized ranking from implicit feedback (2012)
17. Hu, Y., Koren, Y., Volinsky, C.: Collaborative filtering for implicit feedback datasets. In:
2008 Eighth IEEE International Conference on Data Mining. IEEE (2009)
The 9th International Workshop on
Adaptive Learning via Interactive,
Cognitive and Emotional approaches
(ALICE-2019)
Multi-attribute Categorization of MOOC
Forum Posts and Applications
to Conversational Agents
Abstract. Discussion forums are among the most common interaction tools
offered by MOOCs. Nevertheless, due to the high number of students enrolled
and the relatively small number of tutors, it is virtually impossible for instructors
to effectively monitor and moderate them. For this reason, teacher-guided
instructional scaffolding activities may be very limited, even impossible in such
environments. On the other hand, students who seek to clarify concepts may not
get the attention they need, and lack of responsiveness often favors abandon-
ment. In order to mitigate these issues, we propose in this work a multi-attribute
text categorization tool able to automatically detect useful information from
MOOC forum posts including intents, topics covered, sentiment polarity, level
of confusion and urgency. Extracted information may be used directly by
instructors for moderating and planning their interventions as well as input for
conversational software agents able to engage learners in guided, constructive
discussions through natural language. The results of an experiment aimed at
evaluating the performance of the proposed approach on an existing dataset are
also presented, as well as the description of an application scenario that exploits
the extracted information within a conversation agents’ framework.
In their short history, MOOCs have attracted learners from around the world and
gained notoriety at world-class educational institutions [1]. Nevertheless, to reach their
full extent, several technological and pedagogical issues remain to be solved. In par-
ticular, due to their scale, the involvement of instructors during delivery stages has to
be limited to the most critical tasks [2]. As argued in [3], this strongly affects the
assessment task, so that existing systems often resort to automated approaches and
techniques relying on students’ contribution, like peer assessment [4, 5]. Due to the
same reasons, teacher-guided instructional scaffolding activities may be very limited,
even impossible in MOOCs. As a matter of fact, the connection between teachers and
students tends to be a one-directional transfer of information.
1
https://datastage.stanford.edu/StanfordMoocPosts/.
Multi-attribute Categorization of MOOC Forum Posts and Applications 507
and contribution to collaborative activities. In the most common approaches [15, 16],
the agent intervention is generally triggered by the presence of keywords in forum or
chat posts. The introduction of automatic post categorization may be used to generate
more targeted and timely interventions so improving their overall effectiveness.
The aim of this paper is to present the first results of a research aimed at building a
multi-attribute text categorization tool for MOOC forum posts based on state-of-the art
natural language understanding methods and tools. The tool is able to detect useful
information from forum posts including intent (the aim of the post), topics (main
learning domain concepts the post is about), sentiment (the affective polarity of the
post), confusion (level of confusion expressed by the post) and urgency (how urgently a
reply to the post is requested). An application scenario exploiting extracted information
with conversational agents is also provided.
The paper is organized as follows: after having described the adopted document
representation model as well as the proposed text categorization approach, we present
the results of an experiment aimed at evaluating the performance of the proposed
approach on an existing dataset of forum posts (the same used in [6]). Application to
conversational agents is then discussed, followed by conclusions and future work.
jD j
wi ¼ TF ðti ; d Þ log : ð2Þ
DF ðti Þ
508 N. Capuano and S. Caballé
where TF ðti ; d Þ is the term frequency while DF ðti Þ is the domain frequency of ti i.e. the
number of training documents where ti appears at least once.
The main limitation of BOW is that it disregards context, grammar and even word
order. Such limitations can be overcome by more refined context-sensitive approaches
like Word Embeddings (WE). Within WE, words are represented by dense vectors
projecting them into a continuous vector space. The position of a word vector within
such space is learned from training documents and it is based on the words that
surround the word when it is used.
WE are able to capture semantic similarities between words: words with similar
meanings have close vector representations. In [20] it was shown that semantic and
syntactic patterns can be reproduced using vector arithmetic e.g. by subtracting the
vector representation of the word “Man” from the vector representation of “Brother”
and then adding the vector representation of “Woman”, a result which is closest to the
vector representation of “Sister” is obtained. Within such model a document can be
represented as the sum or mean of word vectors of included terms [21].
Once the weight vectors associated with training documents have been constructed
with BOW or WE, a classifier capable of evaluating the degree to which each new
document belongs to one of the available classes can be trained. Many machine
learning approaches exist to perform this task including decision trees, neural net-
works, Bayesian classifiers, and support vector machines. Among the others, in this
paper we adopt a Neural Networks based approach leveraging on the SpaCy2 open
source Python framework for natural language understanding. In particular two dif-
ferent architectures have been experimented for MOOC post categorization:
• bow-ff: the BOW model is adopted for documents encoding and a fully connected
2-layers feed forward neural network is used for categorization;
• cnn-we-ff: a 4-layers convolutional neural network is used to learn word vectors
from training documents, then documents are represented by averaging word vec-
tors of included terms and a fully connected 2-layers feed forward neural network is
used for categorization.
With both architectures, the output layer applies a soft-max function that takes as
input a vector z of k real numbers (corresponding to non-normalized output of the
preceding layer) and normalizes it into a probability distribution as follows:
ez i
rðzÞi ¼ Pk for i 2 f1; . . .; kg and z ¼ ðz1 ; . . .; zk Þ 2 Rk ð3Þ
zj
j¼1 e
After applying soft-max, each output component is in the interval ½0; 1, and the
components will add up to 1. The transformation is non-linear and thought to highlight
the largest values and hide those that are significantly smaller than the maximum value.
2
https://spacy.io/.
Multi-attribute Categorization of MOOC Forum Posts and Applications 509
Defined algorithms have been trained on the Stanford MOOCPosts data set con-
taining 29,604 anonymized learner forum posts from 11 Stanford University public
online classes [6] within the Humanities, Medicine and Education domain areas. Each
post was manually coded along the following dimensions by three independent coders:
question (yes/no), answer (yes/no), opinion (yes/no), sentiment (from 1 to 7), confusion
(from 1 to 7), urgency (from 1 to 7). In our experiment the first three dimension
(question, answer, opinion) have been wrapped in a single attribute (intents) while
feasible values for the last three (sentiment, confusion, urgency) have been discretized
in three categories (positive/negative/neutral for sentiment, low/medium/high for
confusion and urgency). The educational area of the post has been obtained from
additional course information and used to model the topics attribute.
Cross-validation has been used to estimate categorization performances. The
dataset has been divided in 4 disjoint subsets of equal size and at each step, the k-th
subset with k 2 f1; . . .; 4g has been used as validation set, while the remaining subsets
have been used for training. Performance obtained on the validation set for intents and
concepts have been measured in terms of average precision, recall and f-score as
follows:
TP TP prec rec
prec ¼ ; rec ¼ ; F ¼ 2 ð4Þ
TP þ FP TP þ FN prec þ rec
510 N. Capuano and S. Caballé
where TP is the total number of true positives (correctly predicted labels), FP is the
total number of false positives (wrongly predicted labels) while FN is the total number
of false negatives (correct but unpredicted labels) [22].
In each step the classifier has been trained on 22,203 items while 7401 have been
used for validation. Experiment with 20 and 50 training epochs have been performed
with a batch size increasing from 4 to 32 samples per iteration. A fixed 20% dropout
rate has been used to prevent overfitting. Obtained results, averaged among the 4
validation steps are shown in Table 2. The obtained f-score ranges from about 75% to
over 87%, with a slight dominance of the bow-ff architecture over cnn-we-ff. With
respect to training extent, is should be noted that 20 epochs are enough to characterize
the dataset while performing additional training does not seem to add useful
information.
In this section, an application scenario fostering the adoption of the defined text cat-
egorization tools with Conversational Agents (CAs) is described. As introduced in the
first section, CAs are software programs interacting with learners within synchronous
and asynchronous collaboration tools with the final aim of promoting constructive
Multi-attribute Categorization of MOOC Forum Posts and Applications 511
Fig. 1. A sample forum thread with a conversational agent fostering productive discussion
based on the results of the proposed multi-attribute post categorization tool.
5 Final Remarks
In this paper we have described the preliminary results of a research aimed at defining a
tool for multi-attribute texts categorization, specialized on the analysis of MOOC
forum posts. The developed tool is able to detect intents, topics, sentiment, confusion
and urgency of forum posts with a level of accuracy ranging from about 75% to over
87% (in terms of f-score), as resulting from an experiment made on an existing dataset
of annotated posts. An application scenario that takes advantage of the extracted
information within a conversation agents’ framework has been also discussed.
Future work is planned both in terms of categorizer improvement and in terms of its
adoption in real MOOC environments. Regarding the first point, it should be noted that
the dataset used for training is slightly imbalanced, with some underrepresented cat-
egories. Thus, performance can be improved by integrating such dataset and/or
applying data augmentation techniques. Moreover, as already pointed out in the pre-
ceding section, additional methods like transfer learning and named entity recognition
may be integrated to facilitate tool adaptation to different learning domains.
With respect to the second point, the integration of the proposed tool within an
existing framework for conversational agents is already planned in the context of the
colMOOC project (see acknowledgement) aimed at developing and experimenting
conversational agents and learning analytics tool in MOOCs.
Acknowledgement. This work has been supported by the project colMOOC “Integrating
Conversational Agents and Learning Analytics in MOOCs”, co-funded by the European Com-
mission within the Erasmus + program (ref. 588438-EPP-1-2017-1-EL-EPPKA2-KA).
References
1. Liyanagunawardena, T., Adams, A., Williams, S.: MOOCs: a systematic study of the
published literature 2008/2012. Int. Rev. Res. Open Distance Learn. 14(3), 202–227 (2013)
2. Glance, D.G., Forsey, M., Riley, M.: The pedagogical foundations of massive open online
courses. First Monday 18(5) (2013)
3. Capuano, N., Caballé, S.: Towards adaptive peer assessment for MOOCs. In: Proceedings of
the 10th International Conference on P2P, Parallel, GRID, Cloud and Internet Computing
(3PGCIC 2015), Krakow, Poland (2015)
4. Capuano, N., Loia, V., Orciuoli, F.: A fuzzy group decision making model for ordinal peer
assessment. IEEE Trans. Learn. Technol. 10(2), 247–259 (2017)
5. Albano, G., Capuano, N., Pierri, A.: Adaptive peer grading and formative assessment. J. E-
Learn. Knowl. Soc. 13(1), 147–161 (2017)
6. Agrawal, A., Venkatraman, J., Leonard, S., Paepcke, A.: YouEDU: addressing confusion in
MOOC discussion forums by recommending instructional video clips. In: Proceedings of the
International Conference on Educational Data Mining, Madrid, Spain (2015)
7. Yang, D., Wen, M., Howley, I., Kraut, R., Rose, C.: Exploring the effect of confusion in
discussion forums of massive open online courses. In: Proceedings of the 2nd ACM
Conference on Learning@Scale, New York, NY, USA (2015)
8. Hollands, F., Tirthali, D.: MOOCs: expectations and reality. Center for Benefit-Cost Studies
of Education, Teachers College, Columbia University, NY (2014)
514 N. Capuano and S. Caballé
9. Tomkin, J., Charlevoix, D.: Do professors matter?: using an A/B test to evaluate the impact
of instructor involvement on MOOC student outcomes. In: Proceedings of the ACM
Conference on Learning@Scale, New York, NY, USA (2014)
10. Binali, H., Wu, C., Potdar, V.: A new significant area: emotion detection in e-learning using
opinion mining techniques. In: Proceedings of the 3rd IEEE International Conference on
Digital Ecosystems and Technologies (DEST 2009), Istanbul, Turkey (2009)
11. El-Halees, A.: Mining opinions in user-generated contents to improve course evaluation. In:
Software Engineering and Computer Systems, pp. 107–115 (2011)
12. Caballé, S., Lapedriza, A., Masip, D., Xhafa, F., Abraham, A.: Enabling automatic just-in-
time evaluation of in-class discussions in on-line collaborative learning practices. J. Digit.
Inf. Manag. 7(5), 290–297 (2009)
13. Wei, X., Lin, H., Yang, L., Yu, Y.: A convolution-LSTM-based deep neural network for
cross-domain MOOC forum post classification. Information 8, 92 (2017)
14. Wen, M., Yang, D., Rosè, C.: Sentiment analysis in MOOC discussion forums: what does it
tell us? In: Proceedings of Educational Data Mining (2014)
15. Kumar, R., Rosé, C.: Architecture for building conversational agents that support
collaborative learning. IEEE Trans. Learn. Technol. 4(1), 21–34 (2011)
16. Demetriadis, S., Tegos, S., Psathas, G., Tsiatsos, T., Weinberger, A., Caballé, S.,
Dimitriadis, Y., Sánchez, E.G., Papadopoulos, P.M., Karakostas, A.: Conversational agents
as group-teacher interaction mediators in MOOCs. In: Proceedings of Learning
With MOOCS (LWMOOCS), Madrid, Spain (2018)
17. Manning, C., Raghavan, P., Schütze, H.: Introduction to Information Retrieval. Cambridge
University Press, Cambridge (2008)
18. Sebastiani, F.: Machine learning in automated text categorization. ACM Comput. Surv. 34
(1), 1–47 (2002)
19. Cichosz, P.: Case study in text mining of discussion forum posts: classification with bag of
words and global vectors. Appl. Math. Comput. Sci. 28(4), 787–801 (2019)
20. Mikolov, T., Sutskever, I., Chen, K., Corrado, G., Dean, J.: Distributed representations of
words and phrases and their compositionality. Adv. Neural Inf. Process. Syst. 26, 3111–
3119 (2013)
21. Le, Q., Mikolov, T.: Distributed representations of sentences and documents. In:
Proceedings of the 31st International Conference on Machine Learning (ICML 2014),
Beijing, China (2014)
22. Sokolova, M., Lapalme, G.: A systematic analysis of performance measures for classification
tasks. Inf. Process. Manag. 45, 427–437 (2009)
23. Tegos, S., Demetriadis, S.: Conversational agents improve peer learning through building on
prior knowledge. Educ. Technol. Soc. 20(1), 99–111 (2017)
24. Capuano, N., Gaeta, M., Salerno, S., Mangione, G.R.: An ontology-based approach for
context-aware e-learning. In: 3rd IEEE International Conference on Intelligent Networking
and Collaborative Systems, Fukuoka, Japan (2011)
25. Capuano, N., Dell’Angelo, L., Orciuoli, F., Miranda, S., Zurolo, F.: Ontology extraction
from existing educational content to improve personalized e-Learning experiences. In:
Proceedings of the 3rd IEEE International Conference on Semantic Computing (ICSC 2009),
Berkeley, CA, USA (2009)
26. Lee, C., Hwang, Y., Oh, H., Lim, S., Heo, J., Lee, C., Kim, H., Wang, J., Jang, M.: Fine-
grained named entity recognition using conditional random fields for question answering.
LNCS, vol. 4182, pp. 581–587 (2006)
A Tool for Creating Educational Resources
Through Content Aggregation
1 Introduction
standard features [12]: a resource and metadata management system, an access man-
agement system and an interconnection system between repositories. The first system
facilitates the management of resources (create, edit, delete) and the organization of
resources into logical structures called digital collections that represent related digital
resources. The second system allows to decide the contents of the resources that are
shown to each user. The latest system allows to connect a set of repositories to share the
resources contained in each of them offering services of import, export and visual-
ization of unified data. Open data repositories and linked data are two types of digital
repositories [1]. These are two initiatives that have emerged in different fields but with
a similar final objective. Open data repositories is an initiative that arises in the field of
public and private institutions that aims to make available to any user (in a generally
free way) the data generated during the performance of their activities. In this way the
exposed data can be exploited in various ways by users to create value-added services
or achieve strategic or economic advantages [6]. In these repositories, the usual way to
retrieve information is usually by using a REST web services API [4]. The invocation
of a service generates a query that returns the data requested in the query stored in a file
of a certain format such as xml, json, csv and others. On the other hand, linked data
repositories is an initiative that arises in the field of semantic web [3] and aims to relate
data sets using the RDF language. Through this language it can be defined RDF
statements in the form of subject-property-verb triplets that allow to express the rela-
tionships between electronic resources that are stored in different digital repositories. In
this way, a graph of information is created that can be consulted using a graph query
language called SPARQL [9]. SPARQL queries retrieve all resources that match the
restrictions represented. A large number of public and private institutions have opted
for this initiative and added their resources to this network [5]. One of the most
important linked data repositories is Wikidata [10]. This is an initiative of the Wiki-
media Foundation in which an extensive collection of resources described by RDF and
related to datasets from other digital repositories is stored [8]. In Wikidata, each
information element is characterized by a uniquely identifying label, a description that
details the characteristics of an element based on property-value pairs and a number of
aliases. Properties can link to external databases [2] or content found in wikis such as
Wikipedia, Wikibooks or Wikiquote. To access the information in Wikidata, it used
specific clients to browse the contents of Wikidata, use a query API [10], or use a
SPARQL endpoint [4] (it is an access point to the contents of Wikidata where it is
possible to write queries in SPARQL [7] and retrieve data in different formats such as
json, csv or rdf [2]). Therefore, both types of repositories constitute a free and easily
accessible source of information that could be used to create educational resources for a
specific topic.
This article proposes a proposal to solve the problem posed by offering students
additional materials of the subjects generated by the teachers themselves and that in
addition the generation of them is not too expensive for the teacher. In this sense, the
proposal is to create educational resources by adding materials available to the teacher
(which may be in different formats) without having to be previously edited to integrate
them. In particular, it is proposed that the information from the exploitation of open
data repositories and linked data be also used to create educational resources. There-
fore, the main task of the teacher in this process will be to select the materials that
A Tool for Creating Educational Resources Through Content Aggregation 517
constitute the educational resource and ensure that its contents are adequate and con-
sistent with the contents explained in class.
There are a wide variety of content aggregation tools in which it is not necessary to
perform any type of editing, it simply consists of adding. A very simple way would be
to use a blog post or a wiki. It can also be used more specific tools that offer content
container templates that allow to manipulate how the presentation will be, do some type
of basic editing on the contents or perform the storage of resources in standard formats.
An example of such tools would be eXeLearning. However, any of the cases presented
presents some disadvantage with respect to implementing the proposed proposal. In the
first case, a blog or a wiki is not a specific tool for creating educational resources and
offers other additional features that are not necessary or adaptable for this area. And in
the second case, a minimum edition and configuration of the educational resources is
required, in addition to not contemplating the possibility of using resources recovered
from an open data or linked data repository. For these reasons, this article presents a
tool that has been implemented with the objective of better adjusting to the described
proposal. The described tool covers a double objective. On the one hand, it offers a
teacher a tool to create educational resources by aggregating content and publishing it
later in a simple and intuitive way. And on the other hand, it offers a user management
system that allows a student to register in the tool and associate with a specific teacher
so that he can access all the resources published by the teacher.
The article is structured as follows. Section 2 sets out the objectives of the tool
developed. Next, Sect. 3 describes the functionality implemented for each type of user.
Section 4 describes the evaluation performed on the tool. And finally, in Sect. 5 a set of
conclusions and lines of future work are proposed.
2 Objectives
In general for students, searching for complementary content for a subject on the
Internet is complicated given that the information is scattered and can come from
unreliable sources. In this sense, having a unified and controlled source of resources
would facilitate access to information. To solve this need, a tool has been created with
the following objectives:
• Create a web application that allows to create, publish and retrieve digital educa-
tional resources from the field of software engineering.
• The application will allow students and teachers from different groups to be
managed.
• Allow teachers to create resources from material uploaded by teachers or from
material recovered from open or linked data repositories. These materials are
recovered through SPARQL queries about Wikidata.
• Allow students to register with the different teachers who publish resources in the
repository.
Note that the application has been designed as a repository to create digital edu-
cational resources and download them. However, it is not possible to perform some
operations such as: sort out selected resources in a specific order, create different
518 A. Sarasa-Cabezuelo and S. Caballe
3 Description
Users interact with the application client through a web browser. Requests are made
to an Apache server from the client. These requests can be directed to a MySQL
database using SQL queries. The returned data is processed on the server from which
the results are sent in the form of HTML pages.
Next, the main features will be described. Any user, regardless of the type, to access
the functionality of the application must authenticate to the system using a user and a
password. Once authenticated, it has access to the functionality of each type of user.
The administrator has associated functions related to the management of the
application. In this sense, it can be activated a teacher who has requested to use the
application as shown in Fig. 2 (when a teacher request the register, the activation of a
user is not direct and the administrator must confirm its registration), delete teachers
and students who are already users, or modify the user profiles of anyone.
Another option is to visualize the resources that teachers have created and down-
load them as shown in Fig. 3.
The main functions of the teacher are the management and creation of educational
resources, and the management of students. The registration of a student is not direct.
For this, the student must request the registration with a form, in which he must
indicate his personal data and the group to which he wishes to associate. The teacher in
charge of the selected group receives the request, and is responsible for rejecting or
accepting the student’s request for registration (Fig. 4). Also, the teacher can eliminate
any student registered with him.
520 A. Sarasa-Cabezuelo and S. Caballe
However, the main function of the teacher is the creation of digital educational
resources. The creation of a resource requires several phases. First, the teacher must
upload the files (documents, images, videos, audios or links) that it will be used to
create a resource to the application. Next, the system automatically generates a
SPARQL query that retrieves information and data about Software Engineering from
Wikidata that can be used to create resources. The files that a teacher uploads can be
used by any teacher active in the application to create their own resources.
Once the files are in the application, the teacher can create resources. To do this, it
must be selected the files that will form the resources, and he will be assigned a title and
description. Once the resource is created, it can be previewed. Then, the teacher can
publish the resources so that it can be searched and retrieved by any user registered in
the application, or it can be saved to continue editing it later. Figure 5 shows the
process of creating a resource.
Fig. 5. (a) Title and description of a resource, (b) selection of files, (c) creation of resources.
A Tool for Creating Educational Resources Through Content Aggregation 521
• Download a resource. To do this it must be selected the resource, and selected the
download option.
• Modify the profile. For this, the teacher will use a link called “Profile” from which it
is possible to modify the name, description, photo and office.
• Remove students. For this, the teacher will use a link called “My Students” from
which it is possible to select a specific student and delete the account.
• Remove resources. For this, the teacher will use a link called “My Resources” from
which it is possible to select a specific resource and remove it from the application.
The main function of the student is the search and recovery of the resources created
by the teachers. In order to do this, it is possible to navigate over a set of resources
created or use a search engine that performs searches on the titles and descriptions that
the resources have associated. Once the searched resources have been recovered, they
can then be displayed by selecting it. Also, a student can perform the following actions:
• Modify the profile. For this, the student will use a link called “Profile” from which
he can modify the name, description, photo and studies.
• Display a resource. To do this, the resource must be selected, so that the files that
are part of the resource will be displayed, and can be downloaded
• Download a resource. In order to this, it must select the resource, and select the
download option.
522 A. Sarasa-Cabezuelo and S. Caballe
Finally comment on the aspect of data privacy. All data, both from teachers and
students, are encrypted within the database used by the application. In this way, free
access to them is not possible.
4 Evaluation
An evaluation of the usability of the tool and user satisfaction between different people,
both students and teachers, has been carried out. For this, a survey with fourteen
activities has been created where the user must perform certain tasks and answer
questions about the tasks performed by choosing values between 1 and 5 (1 being the
most unfavorable option and 5 the most favorable), or indicating how much effort the
action has involved. The evaluation involved 15 teachers and students and was done
using Google Forms form technology. In this sense, a form1 was created that included
the tasks to be performed and the questions that they had to answer after performing the
tasks. The form was sent to the participants, who performed the tasks without time limit
and without help.
The results obtained in the evaluation were the following:
• Regarding the creation of a new account with the role of student, 75% have thought
that it has been very intuitive and 25% that it has been quite intuitive.
• 75% of the responses show that it is very intuitive to activate the account of a
previously created user, and 25% think it is quite intuitive.
• 87.5% of users have responded that it is intuitive to log out of the tool and the
remaining 12.5% respond that it is not very intuitive.
• Regarding the visualization of resources, 25% think that the design is very good,
62.5% think that it is quite good and 12.5% think that it is not bad.
• 37.5% think that the modification of the user profile is very intuitive, 37.5% think
that it is quite intuitive and 25% think that it is not bad.
• Regarding the search for resources. 50% think that it has not cost them to find the
resources, 25% think that almost nothing and 25% think it has cost them little.
• 75% think that the download of resources is intuitive and 25% think that it is not
intuitive.
• 50% think that the design of the application is very good, and the other 50% think
that the design is good.
• Regarding the task of uploading a file, creating a resource with the file previously
uploaded and publishing it. 62.5% think it has been very easy and the other 37.5%
think it has been easy.
• Regarding the task of uploading a file, creating a resource with the file previously
uploaded and saving it. 37.5% think that it has been very easy, 25% think that it has
been easy, 25% think that it has not been easy and 12.5% that it has been difficult.
1
https://docs.google.com/forms/d/e/1FAIpQLSee1Z9H1ilbRXWUwbw6HAXHbeADdjO94-3kwEJ0
N7u3ASbXgw/viewform?vc=0&c=0&w=1.
A Tool for Creating Educational Resources Through Content Aggregation 523
• Regarding the task of modifying a resource. 25% think that it has been very easy,
50% think that it has been easy, 12.5% think that it has not been easy and 12.5%
that it has been difficult.
• 62.5% think it is very easy to remove a user from the system. However, 37.5% think
it is easy.
• 50% think that finding resources and eliminating them is very easy, 25% believe
that it is easy and the remaining 25% think that it is not easy.
Regarding the task of uploading a file, creating a resource with the file The
objective of the evaluation was to assess the usability of the application in a reduced
and controlled context. In general, the results show that in this context, the perception
that the tool is usable. However, it cannot be stated categorically that the tool is usable
as a more formal experiment should be carried out.
This article has presented a tool that allows the creation and exploitation of educational
resources on the subject of software engineering. Three types of user profiles have been
defined in the tool: teacher, administrator and student.
The educational resources that can be created with the tool can consist of files of
different types: videos, audios, images, documents or links. Some of these resources are
automatically retrieved from open data repositories linked through SPARQL queries.
The tool allows to manage different teachers who publish their own resources. In
this sense, a peculiarity of the tool is that the resources that each teacher creates and
uses are shared, so that any teacher can use resources from other teachers to create their
own resources.
With respect to other similar tools such as learning management systems or content
creation tools, it offers fewer features. However, the tool has several important con-
tributions: (a) It offers a specific content of Software Engineering, (b) Resources are
created by experts, (c) It offers a simple system for managing teachers and students
The main lines of future work that would improve this work would be:
• Extend the tool to other subjects than Software Engineering.
• Add a resource valuation system so that the user can know for example which file is
the most complete or the most valued.
• Improve the user interface so that it can be selected the language in which the
content is displayed or display the content in alphabetical order or by creation date.
• Create a mobile version of the tool.
• Create a forum in the tool where users and teachers can easily ask and answer
questions.
• Design a comment system for each resource created.
Acknowledgments. This work has been partially supported by the European Commission
through the project “colMOOC: Integrating Conversational Agents and Learning Analytics in
MOOCs” (588438-EPP-1-2017-1-EL-EPPKA2-KA). Also, I would like to acknowledgment to
Manuel Martín Canoray David Limón Miralles
524 A. Sarasa-Cabezuelo and S. Caballe
References
1. Hausenblas, M., Karnstedt, M.: Understanding linked open data as a web-scale database. In:
Proceedings of the Second Conference on Advances in Databases Knowledge and Data
Applications, 11–16 April 2010, France, pp. 56–61 (2010). https://aran.library.nuigalway.ie/
handle/10379/1127. Accessed 20 Nov 2018
2. Hausenblas, M.: Exploiting linked data to build web applications. IEEE Internet Comput. 13
(4), 68–73 (2009). https://doi.org/10.1109/MIC.2009.79
3. Heath, T., Bizer, C.: Linked data: evolving the web into a global data space. Synth. Lect.
Semant. Web Theor. Technol. 1(1), 1–136 (2011). https://doi.org/10.2200/
S00334ED1V01Y201102WBE001
4. Kahan, J., Koivunen, M.R., Prud’Hommeaux, E., Swick, R.R.: Annotea: an open RDF
infrastructure for shared Web annotations. Comput. Netw. 39(5), 589–608 (2002). https://
doi.org/10.1016/S1389-1286(02)00220-7
5. Kitchin, R.: The Data Revolution: Big Data, Open Data, Data Infrastructures and Their
Consequences. Sage, California (2014)
6. Larson, R.R.: Introduction to information retrieval. J. Am. Soc. Inf. Sci. Technol. 61(4),
852–853 (2010). https://doi.org/10.1002/asi.21234
7. Lehmann, J., Isele, R., Jakob, M., Jentzsch, A., Kontokostas, D., Mendes, P.N., Bizer, C.:
DBpedia–a large-scale, multilingual knowledge base extracted from Wikipedia. Seman. Web
6(2), 167–195 (2015). https://doi.org/10.3233/SW-140134
8. Labrinidis, A., Jagadish, H.V.: Challenges and opportunities with big data. VLDB
Endowment 5(12), 2032–2033 (2012). https://doi.org/10.14778/2367502.2367572
9. Quilitz, B., Leser, U.: Querying distributed RDF data sources with SPARQL. In:
Proceedings of European Semantic Web Conference, Spain, 1–5 June 2008, The Semantic
Web: Research and Applications. Lecture Notes in Computer Science, vol. 5021, pp. 524–
538. Springer, Heidelberg (2008)
10. Vrandečić, D.: Wikidata: a new platform for collaborative data collection. In: Proceedings of
the 21st International Conference on World Wide Web, Universite de Lyon, Lyon, 16–20
April 2012, pp. 1063–1064. ACM, New York (2012)
11. Park, J.R., Tosaka, Y.: Metadata creation practices in digital repositories and collections:
schemata, selection criteria, and interoperability. Inf. Technol. Libr. 29(3), 104–116 (2010)
12. Bluhm, M., Getting, B., Hayft, M., Walz, S.: U.S. Patent No. 7,085,755. Washington, DC:
U.S. Patent and Trademark Office (2006)
A Methodology Approach to Evaluate
Cloud-Based Infrastructures in Support
for e-Assessment
Abstract. In the last decade, cloud development has grown exponentially and
increasingly companies, administrative and educational institutions decide to
make the leap and turn their solutions to a cloud platform. In particular, cloud
technologies are applicable to educational contexts, especially in online learn-
ing, as online universities historically have their educational services installed
on-premises, but the trend is to move them to the cloud. This is mainly because
of the evident non-functional benefits of using cloud-based solutions, such as
high availability, scalability and real-time responsiveness, which are impossible
or too much costly to be achieved on-premises Indeed, these benefits can
effectively support the current broad and demanding educational services, such
as document sharing, communication, assessment, administrative procedures
and reporting tools, which must be available to an increasing number of students
and university staff anytime and anywhere. However, from the architectural
point of view, cloud-based systems pose some challenges not existing in tra-
ditional on-premises systems, such as modularization and separation of services,
which require additional work to guarantee performance and data protection
against potential risks. In this paper, we focus on the assessment services pro-
vided by an innovative cloud-based educational system named TeSLA, which
may reduce considerably the university costs and infrastructure maintenance,
while offering flexible and effective e-assessment solutions. The ultimate goal of
the paper is to propose a methodology to evaluate the TeSLA system from the
underlying cloud infrastructure in terms of non-functional requirements.
1 Introduction
Cloud platform major benefits are related with the easiness of setting up an infra-
structure in the cloud comparing with setting up on-premises. In a cloud environment a
new machine or service can be deployed in question of minutes, while doing the same
on-premises (purchasing the hardware, installing it physically, setup operating systems,
etc.) can take considerably more time and become too costly. Furthermore, cloud
environments easily and rapidly enable vertical and horizontal scaling when required.
In addition to the ease of use, cloud platforms offer many other advantages, such as fast
processing, large data-storage capacity and sharing of resources that overall can help in
the accomplishment of key business non-functional requirements [1, 2].
2 Background
Cloud platforms offer multiple services of different types that can be categorized in
many ways, but in general there are three distinguished layers or service models (XaaS
services), namely Software as a Service (SaaS), Platform as a Service (PaaS),
1
The Universitat Oberta de Catalunya (UOC) located in Barcelona, Spain, offers full distance higher
education through the Internet since 1995. UOC's Virtual Campus supports currently about 75,000
students, lecturers and tutors who are involved in some of the 350 official degrees and other post-
graduate programs. The UOC web site is found at: https://www.uoc.edu.
2
The TeSLA system (Trust-based authentication & authorship e-assessment analysis) is a project
funded by the European Commission with the aim to provide educational institutions with an
adaptive trust e-assessment system for assuring e-assessment processes in online environments. The
TeSLA web site is found at: https://tesla-project.eu/.
A Methodology Approach to Evaluate Cloud-Based Infrastructures 527
Infrastructure as a Service (IaaS) [7, 8]. Many contributions [7–10] agree to identifying
the main advantages and issues of cloud platforms, the most important are the easy of
management and the possibility of reducing costs. The scalability of components, the
uninterrupted service or the characteristics for disaster management are also mentioned
as the main advantages of the cloud. In addition, other relevant issues are related with
security and privacy.
There are many examples of cloud architectures or framework proposals and
application case studies in different fields [12, 13]. In particular, there are many con-
tributions about cloud applications in the field of education [4]. For instance, the
authors in [14] present the architecture of an e-learning system deployed on the cloud,
which is divided in several layers with the application layer supporting educational
services, such as content production, content delivery, virtual laboratory, collaborative
learning, assessment and management features.
For the sake of our work, we focus our research on the assessment services of the
learning process on a VLE (i.e., e-assessment). We can define e-assessment as the
process where information and communication technologies are used for the man-
agement of the end-to-end assessment process [15]. In other words, e-assessment deals
with methods, processes, and web-based software tools (or systems) that allow sys-
tematic inferences and judgments to be made about the learner’s skills, knowledge, and
capabilities [16]. The literature discusses different models and platforms for virtual
automatic e-assessment, such as the work of [16] and [17]. However, most of this
literature focuses on an educational or a technological description without taking into
account any security measure. In this context, we define security measure as how the
learner is authenticated on the system when a learning activity is performed or sub-
mitted, how the authorship of the activity is verified, and how the system protects the
integrity of submitted activity. These security requirements have been previously
considered in [18] and [19] in the attempt to cover all the possibilities of cheating.
However, the counter-measures to mitigate these issues are not always easy to
implement [5].
There are different tools called instruments that allow the identification of people.
Some identification mechanisms of the instrument can be transferable such as a card
and an access code; or can be not transferable such as biometric data. Biometric
instruments are valid to check if it is the student who really makes the activity,
including facial recognition, voice recognition, keyboard pattern recognition or anal-
ysis of the style of writing. In terms of copy detection there are also different tools
known as anti-plagiarism. Next, we briefly describe some of these instruments that will
be involved in our pilot scenario (see Sect. 4.1 and [6, 20]):
Facial Recognition (FR): compares the face and facial expressions using images
and videos with the learner model.
Keystroke Dynamics (KD): compares the rhythm and speed of typing when using
the keyboard with the learner model.
Plagiarism Detection (PD): detects similarities (word-for-word copies) between a
given set of text documents created by students using text matching.
Forensic Analysis (FA): compares the personal writing style to the learner model,
which is updated over time with submission of new documents.
Apart from PD, these identification instruments require an initial training process or
enrolment that each student must carry out and that allows capturing their characteristic
features for later identification (learner model). During the process of analyzing the data
captured during the activity (called verification), the instruments compare the gathered
data with the initial learner model captured during enrollment and return a probability
value about if the student is who is doing the activity.
Extensibility. TeSLA system was designed to be extensible in some different ways, and
the modularization of components, the correct definition of interfaces and the inter-
operability between components were the key to success. On one hand, TeSLA defines
an instrument interface that can be implemented by any third party instruments to be
integrated in the system like a plugin. On the other hand, the system is able to work
with different VLEs (at the end of the project it is compatible with Moodle out-of-box)
thanks to a defined interface which can be implemented particularly by other VLEs in
the future.
Performance. The number of potential students and instructors to be using the TeSLA
system is quite big, more than 10.000, so it should be prepared to support a big number
of concurrent requests. This is not only achieved by developing high performant
components, but also by scaling some parts of the system. Scalability can be addressed
in two ways: either by scaling vertically (increase machine resources) or horizontally
(increase the number of machines supporting a service).
Security. The most obvious security issues are related with communications security
using encryption to avoid man-in-the-middle attacks, or the authentication and
authorization mechanisms for each of the interfaces of the system (either visual
interfaces or endpoints). This is especially important to ensure in cloud systems
because data is moved from the on-premises installation to the exterior. In order to
increase even more the security in the communications between components, each
component uses its own client certificate emitted by a trusted certifying authority (CA).
Additionally, the system does not store personal information about students; the way to
identify them is using a unique TeSLA ID which is generated for each student. The
translation between the TeSLA ID and the corresponding student is stored in the Plugin
component which is installed always in the VLE side (this means in the institution
premises).
Operability. Operability of the system includes deployment and maintainability. The
containerization of the components helps in the deployment of the system, which is
deployable through an installation script adaptable to each institution. The maintain-
ability is enhanced by the use of the Portal component tools. The Portal includes tools
for administrators, they can deploy and manage components (including instruments and
instances) and centralizes the monitoring of all the components of the system (status,
health, logs, etc.).
Usability. This requirement is not directly related with architecture, but it is very
important each time more. A system can be fully functional, performant, robust, secure,
but if it is not usable it will not succeed. The development of TeSLA system took into
account some premises (finally accomplished or not) about the usability of the system:
(i) it should not be intrusive for students or impede them to work normally if there is
some failure, (ii) it should be easy for instructors to setup activities and the results
shown should be easily interpretable, (iii) the system would be easy to be managed by
administrators, and (iv) the system has to be aware of SEND students and offer
alternatives (for example a dumb person cannot use a voice recognition system, another
alternative should be offered like face recognition or keystroke).
530 J. Prieto and D. Gañán
4 Evaluation Methodology
In order to evaluate the previous approach of the cloud-based TeSLA system, in this
section we propose, first, the pilot scenario that will conduct the evaluation activities of
the system. Second, the experimental study [21] to validate the impact the system in
A Methodology Approach to Evaluate Cloud-Based Infrastructures 531
several indicators of interest related mainly to non-functional but also functional and
educational requirements. Finally, once the experiment is over, the results will be
elaborated and will be reported in next publications (see Sect. 5). Note that this paper
intends to propose a suitable design for a future experiment to be conducted in order to
evaluate the potential benefits of the cloud-based TeSLA system.
Technical Scenario. The pilot will be performed using Moodle courses and activities,
which are already integrated into the UOC virtual campus using an LTI provider, thus
allowing for sharing information about students, courses and activities between the
virtual campus and Moodle though LTI REST APIs (see Fig. 2 and [2] for details). All
the communications between the Moodle and TeSLA system will use a unique iden-
tifier called TeSLA ID which corresponds to a unique student. The TIP component will
take care of generating those TeSLA ID and managing the conversion from and to the
internal virtual campus id. Finally, TeSLA provides a REST API that provides all the
public functionalities of the system, like send enrolment data, query student results, etc.
The Moodle activities use those APIs in order to query and update configuration of
activities in the TeSLA system, and to get evaluation results. The learner browser also
uses these APIs directly to send evaluation data either for enrolment or during activities
532 J. Prieto and D. Gañán
Educational Scenario. The assessment activity proposed for this pilot will be intended
to assess an online teaching planning. Students will be required to design and plan a
teaching action in a virtual environment (e.g. plan a course, design an e-assessment
activity or design a learning platform) with the following main learning objectives:
• To master the fundamental elements for the planning of processes and scenarios of
online training that respond to specific training needs.
• To plan the most appropriate strategies and resources for the evaluation of specific
online learning situations.
• To design learning activities for virtual environments (e-activities) that foster the
interaction, participation, and collaboration of students.
The assessment activity will be used both for formative and summative purposes
within the course. The teacher supports and monitors the development of the project by
giving guidelines, answering questions and reviewing the ongoing project. After the
delivery of the learning output, the teacher will provide personalized feedback about
the work and will offer a mark to each student once the activity is delivered.
Hypotheses
H1: The system outperforms on-premises solutions at scale
H2: The system is modular as it provides extensibility and operability
H3: The authentication and authorization mechanisms are reliable and robust
H4: There are no security issues affecting the system functioning
H5: The system is functional and is considered as a valuable educational resource
H6: The use of the system increases the knowledge acquired during the course.
Following the standard method to report empirical results [21], information about
the participants, the apparatus used for experimentation and the procedure of the
experiment are proposed next.
Participants. In order to appropriately evaluate the cloud-based TeSLA system in the
terms and features considered in the formulated goals and hypotheses, the sample of the
experiment in terms of targeted participants, demographics and courses are suggested
to be the following:
• Number of students: 1,500 online students located at home
• Number of lecturers and technicians: 130
• Number of courses in which TeSLA is integrated into the assessment system: 20
(unsupervised individual assessment activities)
• Demographics of the students using TeSLA: gender balanced, age normally dis-
tributed around a mean age of 33
Apparatus and Stimuli. Several TeSLA instruments will be applied (see Sect. 3.1 for a
description). In particular, Keystroke Dynamics (KD), Forensics Analysis (FA) and
Plagiarism Detection (PD) will work online for authentication and authorship purposes
while students will perform the assessment activity in Moodle Quiz. In addition, Face
Recognition (FR) will be used to strengthen students’ authentication without impacting
on students’ activity performance.
According to the targeted type of participant (students, lecturers and technicians),
three different types of questionnaires are to be launched after the experiment:
1. After the assessment activity, the participating students will be required to fill in a
questionnaire, which will include the following 6 sections: (i) identification data;
(ii) open questions related to the pedagogical topics and contents of the assessment
activity in order to validate the knowledge acquired during the course; (iii) test-
based evaluation of the systems supporting the assessment activity (Moodle Quiz
and TeSLA instruments) as valuable educational resources; (iv) test-based evalu-
ation on the usability of the system; (v) test-based evaluation on the emotional state
when using the system; (vi) a test-based evaluation of the questionnaire. All sec-
tions have a final field to express suggestions and further comments about aspects
not represented in the questions. The questionnaire’s Sects. 2–5 are considered for
the purpose of our study.
2. The previous questionnaire will be sent to the participating lecturers involving all
sections but Sect. 2 as for the knowledge acquired during the course.
534 J. Prieto and D. Gañán
Engineering applications that will be deployed in a cloud infrastructure does not differ
dramatically from engineering distributed applications deployed on-premises. How-
ever, some specific considerations should be taken into account when using a cloud
A Methodology Approach to Evaluate Cloud-Based Infrastructures 535
infrastructure, overall those regarding to security and data privacy because data is not
anymore stored and managed on-premises but in a remote server. Performance and
availability are also an important point to design so moving to the cloud does not affect
the response time of the application. Furthermore, cloud technologies offer very
interesting features to distributed applications, mainly at easing the setup and main-
tenance of infrastructure. The first part of the paper discussed about engineering
applications for the cloud and described the most important points that distinguish
typical on-premises application architectures from that cloud based.
Second part of the paper describes the architecture of a cloud-based application for
trust-based online assessment called TeSLA system is presented. The TeSLA system
was designed to accomplish the functional and non-functional requirements found in
the context of e-assessment of educational organizations. The paper shows an overview
of the TeSLA system in terms of system specifications and requirements, the archi-
tecture schema and its components. Finally, a comprehensive experimental design is
proposed as a key contribution of the paper describing all the evaluation activities to be
undertaken during the experimentation of the presented cloud-based system TeSLA in
a future pilot scenario, including details on the goals and hypotheses, the method as
well as the techniques and tools of data analysis for evaluation and validation purposes
of the empirical data. The design presented is based on the standard guidelines to report
empirical studies for online education research.
The ultimate goal of the paper is to propose a methodology to evaluate the TeSLA
system from the underlying cloud infrastructure chiefly in terms of non-functional
requirements. The natural next step of this research is to run the proposed experimental
design and analyze the collected empirical data in order to evaluate and validate the
system from the cloud-based perspective. This experiment may follow others that
correct and extend some design parameters that help collect more appropriate quanti-
tative and qualitative data in order to evaluate the system more objectively.
Acknowledgements. This work has been supported by Spanish Government through the Grant
TIN2014-57364-C2-2-R “SMARTGLACIS and the H2020-ICT-2015/H2020-ICT-2015 T pro-
ject ‘An Adaptive Trust-based e-assessment System for Learning’, Number 688520.
References
1. Talukder, A.K., Zimmerman, L.A.P.H.: Cloud economics: principles, costs, and benefits. In:
Antonopoulos, N., Gillam, L. (eds.) Cloud Computing Computer Communications and
Networks. Springer, London (2010)
2. Prieto, J., Gañán, D.: Engineering cloud-based technological infrastructure. In: Baneres, D.,
Guerrero-Roldán, A.E., Rodríguez-González, M.E. (eds.) Engineering Data-Driven Adaptive
Trust-based e-Assessment Systems. Lecture Notes on Data Engineering and Communica-
tions Technologies, vol. 34, ch. 4. Springer. ISBN 978-3-030-29325-3 (2020, in press)
3. Pecori, R.: A virtual learning architecture enhanced by fog computing and big data streams.
Future Internet 10(1), 4 (2018)
4. González-Martínez, J.A., Bote-Lorenzo, M.L., Gómez-Sánchez, E., Cano-Parra, R.: Cloud
computing and education: a state-of-the-art survey. Comput. Educ. 80, 132–151 (2015)
536 J. Prieto and D. Gañán
5. Baneres, D., Rodríguez, M.E., Guerrero-Roldán, A.E., Baró, X.: Towards an adaptive e-
assessment system based on trustworthiness. In: Caballé, S., Clarisó, R. (eds.) Formative
Assessment, Learning Data Analytics and Gamification in ICT Education, pp. 25–47.
Elsevier (2016)
6. Bañeres, D., Noguera, I., Rodríguez, M.E., Guerrero-Roldán, A.E.: Using an intelligent
tutoring system with plagiarism detection to enhance e-assessment. In: INCoS 2018,
pp. 363–372 (2018)
7. Rimal, B.P., Choi, E., Lumb, I.: A taxonomy and survey of cloud computing systems. In:
Fifth International Joint Conference on NCM 2009, pp. 44–51. IEEE, August 2009
8. Jadeja, Y., Modi, K.: Cloud computing-concepts, architecture and challenges. In: 2012
International Conference on Computing, Electronics and Electrical Technologies (ICCEET),
pp. 877–880. IEEE (2012)
9. Rimal, B.P., Jukan, A., Katsaros, D., Goeleven, Y.: Architectural requirements for cloud
computing systems: an enterprise cloud approach. J. Grid Comput. 9(1), 3–26 (2011)
10. Tsai, W.T., Sun, X., Balasooriya, J.: Service-oriented cloud computing architecture. In: 2010
Seventh International Conference on Information Technology: New Generations (ITNG),
pp. 684–689. IEEE, April 2010
11. Zimmermann, O.: Architectural refactoring for the cloud: a decision-centric view on cloud
migration. Computing 99(2), 129–145 (2017)
12. Karim, B., Tan, Q., El Emary, I., Alyoubi, B.A., Costa, R.S.: A proposed novel enterprise
cloud development application model. Memetic Comput. 8(4), 287–306 (2016)
13. Felemban, M., Basalamah, S., Ghafoor, A.: A distributed cloud architecture for mobile
multimedia services. IEEE Netw. 27(5), 20–27 (2013)
14. Masud, M.A.H., Huang, X.: An e-learning system architecture based on cloud computing.
Int. J. Comput. Electr. Autom. Control Inf. Eng. 6(2), 255–259 (2012)
15. Cook, J., Jenkins, V.: Getting Started with e-Assessment. University of Bath, Bath (2010)
16. Ala-Mutka, K.M.: A survey of automated assessment approaches for programming
assignments. Comput. Sci. Educ. 15(2), 83–102 (2005)
17. Ihantola, P., Ahoniemi, T., Karavirta, V., Seppälä, O.: Review of recent systems for
automatic assessment of programming assignments. In: Proceedings of the 10th Koli Calling
International Conference on Computing Education Research, pp. 86–93 (2010)
18. Weippl, E.: Security in e-Learning. Advances in Information Security, vol. 16. Springer
(2005)
19. Neila, R., Rabai, L.B.A.: Deploying suitable countermeasures to solve the security problems
within an e-learning environment. In: Proceedings of the 7th International Conference on
Security of Information and Networks, pp. 33–38 (2014)
20. Okada, A., Noguera, I., Alexieva, L., Rozeva, A., Kocdar, S., Brouns, F., Ladonlahti, T.,
Whitelock, D., Guerrero-Roldán, A.: Pedagogical approaches for e-assessment with
authentication and authorship verification in Higher Education. Br. J. Educ. Technol.
(2019). https://doi.org/10.1111/bjet.12733
21. Caballé, S.: A computer science methodology for online education research. Int. J. Eng.
Educ. 35(2), 548–562 (2019)
22. Kay, R.H., Loverock, S.: Assessing emotions related to learning new software: the computer
emotion scale. Comput. Hum. Behav. 24, 1605–1623 (2008)
23. Brooke, J.: SUS: a ‘quick and dirty’ usability scale. In: Jordan, P.W., Thomas, B.,
Weerdmeester, B.A., McClelland, A.L. (eds.) Usability Evaluation in Industry, pp. 189–194,
Taylor and Francis, London (1996)
Towards an Educational Model for Lifelong
Learning
Abstract. Today, lifelong learning is fully integrated into our society. From the
student point of view, lifelong learning has several characteristics that differ-
entiate it from regular learning: domains of interest may be very broad; learning
occurs in different depths; topics to study may be related both to work, family
and leisure; students’ continuity cannot be guaranteed since their availability can
be intermittent and little constant; a great dynamism is required in order to allow
studying any topic, in any order, in the moment that best suit each student and at
the best pace for everyone. Over 25 years ago some authors already claimed for
moving towards innovative learning models, more personalized and where the
students would take a more active role and would decide what to learn, when to
learn and how to learn. Technology was not ready then to support this change of
pedagogical paradigm, but it seems to be ready now. Thus, the technological
context is set for facilitating a change of paradigm to promote lifelong learning.
However, lifelong learners continue suffering from a model not adapted to their
needs and preferences. This position paper discusses on the actual situation of
lifelong learning from a critical point of view, analyzing some of the relevant
literature and justifying the need to create new models that promote self-
determination of students in the context of lifelong learning.
1 Introduction
Lifelong learning is fully integrated into our society. We constantly need to learn in our
everyday activities: for travelling, for using new software programs, for keeping
updated, for curiosity, etc. In the professional context, lifelong learning is a need, all
professionals should be lifelong learners [1] and should use different kind of envi-
ronments to do so, such as formal, informal and non-formal learning environments [2].
© Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 537–546, 2020.
https://doi.org/10.1007/978-3-030-33509-0_50
538 J. Conesa et al.
Lifelong learning has some specific characteristics to take into account. Some of
them may be due to the time and availability constraints of people, such as the
impossibility of having a full dedication, schedule constraints, time periods of
unavailability or the lack of constant dedication. Others come from the complexity of
the current world or the myriad of preferences of people, that impose a more multi-
disciplinary learning, mixing leisure and professional aspects as well as aspects related
to daily activities. Others are due to the uniqueness of each person; both referring to the
current knowledge, skills and competences everyone has and to the different necessities
of skills and knowledge of everyone. Therefore, the more suitable environment for
lifelong learning is one where adults are able to choose what to learn, how to learn,
when to learn, in what order and at what pace [3], what is known as heutagogy (or self-
determined learning) [4].
The necessity of providing a self-determined learning for lifelong learning is not
new, some works claimed, almost 30 year ago, the necessity to use different models,
more personalized, in which students take a more active role, deciding what to learn,
when to learn and how to learn [3]. Obviously, in the 90’s, technology was immature to
support such models, but it is ready nowadays: there are millions of digital learning
resources available, thousands of organizations teach online, current information sys-
tems are able to provide personalized learning and to automate some of the interactions
with students, there is a huge amount of social/collaboration tools that could be used
and students are used to participate and benefit of communities of interest. Therefore,
providing a technological environment that supports self-determined learning seems
feasible. Even though, lifelong learners continue suffering from a similar model, more
ubiquitous and efficient thanks to the use of technology, but still not adapted to their
needs and/or preferences.
Changes should be done not just in the way students learn, but also in what they
learn and when they learn. Choosing what content to learn requires new ways for
enrolling and choosing courses, different to the enrollment to a given subject or a group
of subjects related to a given topic, which are the typical structures of masters and
subjects offered by educational organizations. Learning whenever learners prefer
requires having flexible schedules, allowing each student to decide when to begin the
course, when to finish the course and at what pace the student will work. Implementing
these changes requires educational organizations to evolve, mostly in their business and
organizational models. Therefore, the change of paradigm does not just affect peda-
gogy, but the whole learning experience, that is, all the facets related with learning
activities and their actors/resources: the necessity of new materials, of new techno-
logical tools, of persons with new roles, of new business models, of new motivational
policies, etc.
The goal of this work is to provide a discussion on the adult needs in the context of
lifelong learning, how these needs can be addressed and from what perspectives. The
paper also provides a glance to a model under development at the Open University of
Catalonia, that try to design, implement and evaluate new tools, both methodological
and technological, to move forward to a more suitable lifelong learning environment.
The paper is organized as follows. Section 2 presents a brief review about the terms
lifelong learning, lifewide learning, andragogy and heutagogy; relevant in the current
context. The section also presents a use case that shows how a future lifelong learning
Towards an Educational Model for Lifelong Learning 539
environment can be. Section 3 sketch the main needs of lifelong learners and point out
the current gap between their needs and the current educational offer. Section 4 briefly
presents the proposed model and the different aspects it takes into account. Finally,
Sect. 5 outlines the main conclusions and provides on-going and future directions of
research.
2.1 Background
Lifelong learning has become very relevant due to the continuous necessity to keep up
updated into work environments [5], but also in daily life [6]. Some research also point
out its potential to improve us as a society [7, 8]. In this sense, eLearning may be a
game changer to break the barriers between education and work [1]. Mainly because of
its ability to deal with ubiquity, personalization, communication and automatization.
Many authors claim that lifelong learning should be addressed from an heuta-
gogical perspective. Heutagogy can be viewed as an evolution from pedagogy that
passes through andragogy. Heutagogy occurs due to the maturity, awareness and
autonomy of lifelong learners [7]. Blaschke has proposed a framework, in the form of a
pyramid, to reflect such perspective [4], depicted in Fig. 1.
Pedagogy may be seen as the theory of teaching. At this level the teacher is the
responsible of the learning process, choosing what to learn, when to learn, in what
order and how. In some sense, we can say that students are educated and have few
decisions to take about their learning. Second level is andragogy, characterized by more
self-responsibility and self-control of learners. In this level, students are more aware of
how they learn and what are their main necessities. They are the responsible to identify
their learning necessities and to plan how these necessities will be addressed. Even
though their voice is taken into account, the role of the teachers is still very relevant,
and they take great responsibility in the learning process. Andragogy is also known as
self-directed learning. Finally, third level is heutagogy. Heutagogy requires learners
that have progressed in maturity and autonomy, who are ready to take a step further and
conduct a self-determined learning, that is, choosing what to learn, when to learn, how
to learn and at what pace. Some authors define heutagogy as the learning with the
absence of educators [7]. Heutagogy, under our humble opinion, does still need edu-
cators, but with a different role, a role more focused in guiding students during the
540 J. Conesa et al.
Fig. 1. Blaschke framework reflecting the lifelong learning process (from [4]).
learning process and in promoting their curiosity and knowledge by the provision of
examples, activities, success cases or any other resource related to the student interest.
Another difference among pedagogy, andragogy and heutagogy is the type of their
learning outputs. Pedagogy and andragogy are relevant to get knowledge and com-
petences, but heutagogy is more focused to learn capabilities, understanding a capa-
bility as the ability to use a competence (skill or knowledge) efficiently to deal with
different problems, even when these problems are very different to the ones seen during
learning. The acquisition of competence requires changes in the learning methodology:
to add a double loop [9]. The double loop is a process in which learners revisit their
acquired competences and try to find out how to adapt them in their daily activities to
improve them.
activity that requires the use of the learned knowledge and skills to address the pro-
posed challenge. There is a whole system of complex interrelations between courses to
state their relations and group different courses to respond to larger and complex
challenges. These aggrupations may represent different abstraction levels and reflect the
magnitude of the proposed challenge and the skills needed to address it. A graphical
representation of courses, their relationships and aggregations is provided by an
interactive and navigable visualization.
Thirty minutes later of her first contact with the system, Neus is already aware of
the structure of the courses, of the main courses related to her interests (healthy food)
and understand what the most convenient order of courses is to address her learning.
After some interactions, by using communication tools that Neus usually uses (e-
mail, phone and messaging applications), she does know the courses she should face
and in what order. Her first choice has been a course about the impact of sugar-
sweetened beverages in health. The course is compound, composed of five smaller
courses, titled: “Introduction to the digestive system”, “What are the carbohydrates?”,
“Do I need glucose? How many?”, “Sugar-sweetened drinks - learning to identify them
-” and “Evidence based-studies on Sugar-sweetened drinks”. Since she already knows
about the digestive system and carbohydrates, she decides to enroll in the third one
directly “Do I Need glucose? How much?”. Immediately, she receives a personalized
message from Clara, her teacher on this course, briefly introducing the benefits of the
glucose, the risks of its excessive consumption, a guideline for the course and a link to
the course materials. The course has a planned dedication of one week but there is no
time limitation to finish it. She enjoyed the course for two weeks before finishing it.
Just at the end of her first course she receives news at work that worries her: there
are plans to implement an ERP in the company where she works. Neus has heard about
these systems from friends that work in the sector, and not very well by the way. But
she does not have much knowledge of what an ERP is and what problems may have its
implementation. She contacts her mentor to ask whether there are some available
courses on ERP. In few hours, she gets information about the courses on the subject.
There are content for more than one year of study, but she decides to just take a short
introductory course titled “What is an information system for organizations?”. She
finishes the course after a couple of days worried, very worried indeed. She is now
aware about the potential advantages of ERP, but also about the potential problems
their implementation may have. She wonders whether there is something that can be
done to increase the chances of success of the ERP implementation. After navigating
through the visualization of courses, she finds a course that seems interesting, it
belongs to a compound course in project management, titled “What should be done to
guarantee success in the implementation of an ERP?”. There are some preliminary
courses, but she decides to ignore them to take the relevant course with urgency and
high interest. In few hours she learnt about the critical success factors to take into
account when implementing an ERP. Enric, her teacher in the course, aware of her
situation, has provided some success and failure cases of ERP implementation to her.
After studying thoroughly these cases, she talks with her boss about the potential risks
of the future ERP implementation and ways to mitigate them. She will become a
coordinator member of the implementation project team due to her recent acquired
542 J. Conesa et al.
knowledge and will be able to deal with such responsibility due to her ability to learn
what she needs, when she needs.
Some weeks later, Neus returns to her study about sugar-sweetened drinks. She
does not have to start from the beginning, since the virtual learning environment
provides her a visual reminder of what she had done, what she had read, the interac-
tions she had with her teacher and the activities she performed. Such information helps
her to resume the learning in few hours. Since that day, Neus is a promoter of the
lifelong learning service, useful for both her work and her life.
There are some experiences in which learning has been adapted to lifelong learners’
necessities, but they are mostly punctual and isolated. In [7], for example, authors
analyze an experience focused to deal with the fourth sustainable development goal
(4SDG) from the UN [10] (ensure inclusive and equitable quality education and pro-
mote lifelong learning opportunities for all1) in Kenia. The experience used an heut-
agogical approach to promote agricultural education. The provided education was
focused to address three different dimensions: human, financial and society. In this
experience the students were not just knowledge receptors, but also knowledge gen-
erators, promotors and communicators. Some communities of interest have been
blossomed from the experience, providing a rich and natural environment to learn, but
also to share the learnt lessons about agriculture that farmers, who were the lifelong
learners, have learn during their life. Lessons that may be difficult to be learnt from
academics. In [11] the relationship between travelling and learning is analyzed. The
research presents travelling as a very suitable platform for lifelong learning, since
through travelling we do not only acquire knowledge, but also competences and soft
skills (stereotype removals, cultural changes, motivation, etc.). In [12] lifelong learning
approaches are used in order to deal with poverty, social inclusion and long-term
unemployment. Finally, [13] analyzes different lifelong learning approaches in the
contexts of Europe and Asia. It results that European approaches are more focused to
individuals, promoting their employability, meanwhile, in the Asiatic countries, there is
a lot of focus in the education that promotes community and collective ethos.
Aside of some isolated approaches, the main response of higher education orga-
nizations to lifelong learning needs are academic offers very similar to conventional
formal education, but with more practical or work-related contents. These offers tend to
have form of long courses, scheduled like underdegree courses (by semesters with
similar calendars), with none (or few) flexibility in the assessment activities and with
constraints on when the courses can be started, how they can be taken and at what pace
they should be studied. Some of the offers are composed by several courses and allow
few (or none) electives, such as a master. A master has a curriculum designed for a
given standard student, a student that, in the real world, it is very difficult to find, and
even more in the case of adult learners.
1
Source: https://sustainabledevelopment.un.org/sdg4.
Towards an Educational Model for Lifelong Learning 543
It seems clear that students’ needs do not fit with the characteristics of the offer that
higher education institutions are providing. Figure 2 shows some of the mismatches
between the academic offer and the students’ needs, which will be discussed in more
detail below.
Adult students do not have fully dedication because they should conciliate their
family, work, leisure and learning activities. In addition, they have responsibilities at
home and at work that may get them unavailable for a given period of time: an urgent
project at work or a baby issue in the family, for example. Regular academic calendar is
very unsuitable for them, since courses length are long (several months) and constant
dedication is expected. In addition, assessment activities from courses are scheduled
and allow few (or none) flexibility; it is not rare the case of students who fail a course
because they had to travel for a couple of weeks and have been unable to deliver an
assessment activity on time. Therefore, short courses with a lot of flexibility to deal
with the potential unavailability of students is advisory for lifelong learning.
Students have their schedule preferences shaped by their responsibilities. Some
may work in shifts of one week and have one week free, for example, others may have
availability just at summer; Then, why academic institutions do not allow them to take
the course whenever they want? Current schedules (mostly aligned with fixed seme-
sters) are, obviously, not the best solution for most people, but very convenient to
academic organizations.
Each learner is different, since past experiences shape our knowledge and abilities
to the current state. The differences among learners are more noticeable in adults. In
addition, lifelong learners do not focus in the learning of just one topic, but many of
them, related to the different facets in their life: work, leisure, travelling, family and
others. These characteristics make difficult the creation of academical offers that are
suitable for large communities of students. It seems more suitable to create very small
courses, focused to cover a given piece of knowledge or a skill. In that approach, it is
easier to find out interested learners and the courses can be grouped to create compound
courses that deal with a given topic in more detail. Under such structure students would
544 J. Conesa et al.
be able to choose the curriculum they want, avoiding unnecessary courses, taking into
account their interests and facilitating to take the courses in the order that better suits
their needs.
Since lifelong learning is not one-shot activity but a long-distance race, the current
business model (payment for enrolment) may not be the most adequate. New business
models should be considered, models that charges students for the use they do,
affordable for most people, providing higher scalability in order to incorporate larger
number of students easily and, with the final goals of making academic organizations
sustainable and making lifelong learning a right for everyone.
We are working in a long-term project to create, implement and test a model that
facilitates lifelong learning in a distance learning environment. The model should be
created taking into account the scientific evidence and lessons learnt during the last
decades.
The problem cannot be solved just providing a new pedagogical model, there are
models for andragogy and heutagogy already, but rarely applied in real world. We
humbly believe that the solution should be more multidisciplinary, a solution that
provide the tools (both methodological, theoretical and technological) to deploy an
environment where lifelong learning is conducted easily and conveniently. Such pro-
posal should take into account pedagogy (to promote learning), but also organizational
studies (to propose suitable ways to structure lifelong learning educational organiza-
tions), business models (to make the proposal sustainable and scalable), user experi-
ence (to adapt the model to the students’ needs and limitations), psychological (to study
how we can motivate students in the new paradigm), informational (to study ways of
organizing academical offers in small pieces that can be aggregated in other pieces of
higher level recursively) and technological (to study how technology, eLearning tools
and analytics can be used to personalize learning and automate the system as much as
possible).
The basic characteristics of the proposed model are:
– Educational resources must be digital, very modular and with small granularity.
– Learning units (the subjects or courses in the current model) should be modular,
with a very small granularity (of one week or a few hours) and very interrelated.
The interrelations between the different units will allow to define units of greater
granularity and complexity, but also to identify prerequisites, related subjects and
possible paths that the students can take. These interrelations will have to be shown
graphically and interactively so that the student can navigate and understand what
there is, and how it is related.
– Student’s experience must be integral (taking into account aspects of user experi-
ence, pedagogy and psychology), flexible (allowing to begin the courses whenever
the student wants), dynamical, (allowing to suspend any activity whenever neces-
sary and resume it later), personalized (with support of analytical tools and tech-
nology that allows personalization), and accompanied, with mentoring figures that
Towards an Educational Model for Lifelong Learning 545
Acknowledgments. This work has been partially supported by the eLearn Center through the
project Xtrem 2018 and by European Commission through the project “colMOOC: Integrating
Conversational Agents and Learning Analytics in MOOCs” (588438-EPP-1-2017-1-EL-
EPPKA2-KA). This research has also been supported by the SmartLearn Research Group at
the Universitat Oberta de Catalunya.
References
1. Ashton, J., Newman, L.: An unfinished symphony: 21st century teacher education using
knowledge creating heutagogies. Br. J. Educ. Technol. 37(6), 825–840 (2006)
2. Manuti, A., Pastore, S., Scardigno, A.F., Giancaspro, M.L., Morciano, D.: Formal and
informal learning in the workplace: a research review. Int. J. Train. Dev. 19(1), 1–17 (2015)
546 J. Conesa et al.
3. Candy, P.C.: Self-Direction for Lifelong Learning. A Comprehensive Guide to Theory and
Practice. ERIC (1991)
4. Blaschke, L.M.: Heutagogy and lifelong learning: a review of heutagogical practice and self-
determined learning. Int. Rev. Res. Open Distance Learn. 13(1), 56–71 (2012)
5. Kettle, J.: Flexible pedagogies: employer engagement and work-based learning flexible
pedagogies: preparing for the future (2013)
6. Tuckett, A.: The rise and fall of life-wide learning for adults in England. Int. J. Lifelong
Educ. 36(1–2), 230–249 (2017)
7. Carr, J., Balasubramanian, A., Atieno, K., Onyango, R.: Lifelong learning to empowerment:
beyond formal education. Distance Educ. 39(1), 69–86 (2018)
8. Louw, W.: Designing learning experiences to prepare lifelong learners for the complexities
of the workplace. In: Psycho-Social Career Meta-Capacities: Dynamics of Contemporary
Career Development, pp. 307–319. Springer International Publishing (2014)
9. Hase, S., Kenyon, C.: From andragogy to heutagogy. Ulti-BASE In-Site (2000)
10. Robert, K.W., Parris, T.M., Leiserowitz, A.A.: What is sustainable development? goals,
indicators, values, and practice. Environ. Sci. Policy Sustain. Dev. 47(3), 8–21 (2005)
11. Liang, D.J.: Caton, K., Hill, K.: Lessons from the road: travel, lifewide learning, and higher
education, 15(3), 225–241 (2015)
12. Harrison, R., Vanbaelen, J.: Lifelong learning as a steppingstone to entrepreneurship and
innovation (Conference Paper) (2016)
13. Osborne, K., Borkowska, M.: A European lens upon adult and lifelong learning in Asia. Asia
Pac. Educ. Rev. 18(2), 269–280 (2017)
14. Gibson, D., Ostashewski, N., Flintoff, K., Grant, S., Knight, E.: Digital badges in education.
Educ. Inf. Technol. 20(2), 403–410 (2015)
The 7th International Workshop on
Cloud and Distributed System
Applications (CADSA-2019)
Optimization Algorithms and Tools Applied
in Agreements Negotiation
1 Introduction
One of the aims of informatic systems (and in particular of the ones based on Artificial
Intelligence) is to help people (e.g. domain experts) make decisions by proposing
solutions to given problems. In order to be helpful and effective, those systems must be
outright easy to use and able to satisfy every possible need of the user without over-
coming him.
As informatics and AI evolve, hopefully those systems will help us with more and
more aspects of our lives in order to improve them.
The costs and extremely long trial times is also a common problem for the majority
of the European Union member states. The cross-border proceedings take an inordinate
amount of time, both to set up and for a decision to be rendered. Specific problems
include finding a judge with the requisite competence and translating the summons and
other relevant material into a language intelligible to the addressee. Moreover, cross-
border civil proceedings are far too expensive for most citizens, due to the high costs of
document translation and finding and consulting qualified legal experts. Another
obstacle that citizens face in cross-border disputes is the divergent interpretations of
different national courts, even when EU rules apply. The length of national proceedings
is also a common problem for the majority of the member states.
Also, the current legal systems do not adequately value the possibility of reaching
an agreement of the parties, instead they always try to find the solution in legal rules
often divergent compared to the wishes of the parties and in a long and debilitating
conflict of comparison process1.
For all these reasons the “Conflict Resolution with Equitative Algorithms” (CREA)
project was established by the European Commission. It involves several European
universities and each one has his own duty. The project aims to introduce new
mechanisms of dispute resolution as a helping tool in legal procedures for lawyers,
mediators and judges with the objective to reach an agreement between the parties; in
some situations, it could be used directly by citizens. Its primary objectives are the
following:
1. to apply algorithmic mechanisms to the solution of certain national and cross-border
civil matters, including matrimonial regimes, successions and trusts, commercial
law and consumer law, facilitating the agreement process among the parties;
2. to demonstrate the efficacy of an algorithmic approach [12–14] and apply it into the
allocation of goods, or the resolution of issues, in disputes, leading the parties to a
friendly solution before or during the trial comparison.
In this paper we will see an example of such a system used for resolving legal
disputes, in particular for disputes regarding a division of goods; this system makes use
of mathematical algorithms that belong to the Game Theory and is being developed
within a project that aims to diffuse this algorithmic approach for making legal pro-
cedures faster and fairer. We will focus on the algorithms used for resolving disputes
that involve a division of goods between agents, e.g. inheritance, divorces and com-
pany law [1–11].
The algorithms we will look at apply to cases were some goods have to be assigned to a
set of entities (e.g. people or companies), which we will call agents. Each agent is given
a share of entitlement, i.e. a share weight. Typically, if there are n agents, the share will
be 1/n for each one of them, but it could be different. For instance, shares could reflect
the closeness of relatives to a deceased person, or the effort. The algorithms will give us
a solution in form of the share of each good assigned to each agent.
1
Sections 2, 3, 4 and 5 are to be attributed to all authors; Sect. 1 in particular is to be attributed to
Marco Giacalone.
Optimization Algorithms and Tools Applied in Agreements Negotiation 551
• The market price is decreased by 20%. This price is low enough to guarantee the
selling of the good (or at least provide an extremely high probability for its
selling). Below this price, called the lower bidding bound, an offer cannot be
considered acceptable.
• Each agent is asked to distribute the budget as bids over the unassigned goods.
Each bid cannot be less than the lower bidding value, and the total value of bids
cannot exceed the budget.
– The idea is that the higher the bid, the more likely is for the agent to receive the
good.
Using this method, the utility of each good for the agents is just the bid:
with bij being the bid of the agent i for the good j and uij its utility.
does not regard the monetary value of the good. For instance, an agent is involved
in the allocation of a house worth 100000 euros and a second-hand Harley-
Davidson motorbike worth 6000 euros. The house is worth more, but he already
owns a beautiful house and he knows that managing a house is time and money
consuming. On the other hand, he has always dreamt about riding that motorbike.
He will give 2 stars to the house and 5 to the bike.
– Notice that assigning 5 stars to all items will not make you any better off than
assigning 1 star to all of them. What counts is the profile: you raise the chance of
getting the items you really want by assigning them a high mark, and by giving a
low mark to those you are not too interested.
If we call rij 2 {1, 2, 3, 4, 5} the rating agent i gives to the good j and K > 1 the
revaluation rate for each star (typically K = 1.1) the utility is given by:
3 The Solutions
In this paragraph we introduce the tools adopted for the implementation of the two
most adopted criteria: The Equitable Allocation Algorithm and the Nash solution of
Competitive Equilibrium. Our algorithms can be identified as optimization problems,
since they have an objective function and one or more constraints; to implement an
optimization problem we must detect what kind of problem it is in order to choose the
right tool to solve [25–27]. We will see that the kind of problem we are going to solve
is not always the same.
By construction, this solution is egalitarian. It turns out that this solution is also
efficient: no other allocation, even a non-egalitarian one, can make all agents better off
simultaneously. The allocation, however, has some problems: it’s not resources
Optimization Algorithms and Tools Applied in Agreements Negotiation 553
monotonic, it doesn’t have responsive shares, it suffers from domination. But the most
important problem is that the allocation may cause one or more agents to be envious of
the goods assigned to other agents; let’s consider an example: suppose there are 3
agents (I, II and III) and 3 divisible items (a, b and c). In the following table, we
describe the utility of each item by each player.
The egalitarian solution assigns item a to agent I, item b to agent II and item c to
agent III – without splits. Each one gets a utility of 40. However, agent III is envious of
agent II, because he received item c (valued 40) but he would have preferred item b
(valued 50 to him) that was assigned to agent II.
This solution is Resource Monotonic (ore goods to divide should not be bad news
for anyone), it has Responsive Shares (if an agent raises the bid on a certain good, he
cannot end up with a smaller share of that good) and doesn’t suffer from domination.
Most importantly it’s envies free, although it’s not usually egalitarian: let’s consider
again three agents sharing three divisible items (see Table 1). The CEEI/Nash solution
prescribes that: agent I gets item a in its entirety, agent II gets 9/10 of item b, agent III
gets item c and 1/10 of item b. Agent III will not be envious anymore, because in his
evaluation item c in its entirety plus 1/10 of item b is no less (actually it equals) 9/10 of
item b.
554 A. Amato et al.
They both have a utility of 45. In terms of utility, we note that the utility of agent I
is 40, the utility of agent II is 36 and the utility of agent III is 45, therefore the
allocation is not equitable. But here agents modify the utilities depending on the likes
and dislikes of goods and the utility does not directly represent money anymore.
3.3 Constraints
The maximization problems we are considering are rather flexible and can incorporate
other constraints to better suit the division problem: we will see, as an example,
indivisible goods and restricted assignments, CREA Algorithms so far.
A good is indivisible if it cannot be split and must be assigned to only one agent in
its entirety. If a good j is indivisible, we impose that
4 Implementation Tools
between 0 and 1), plus the convenient variable t (which is positive); all the variables are
continuous except for the ones associated with indivisible goods (because they can be
either 0 or 1). There are three groups of constraints in our problem: the first constraints
are that the sum of the shares for each good must be exactly 1; then we have the
constraints that incorporate the problem’s main inequality, i.e. for each agent the sum
of every goods share multiplied by a coefficient (previously calculated) must be higher
than t; the last group of constraints concerns the restricted assignments, as the solutions
relative to them are predetermined. Our goal is to maximize t in our system, so the
objective function is just t and the problem is a maximization one [15–20].
4.2 CSNumerics
CSNumerics is a Portable Class Library (PCL) of various numerical algorithms written
in C#. It comprehends the implementation of three optimization algorithms by
Michael J. D. Powell: BOBYQA for minimizing a nonlinear objective function subject
to variable bounds, LINCOA for minimizing a nonlinear objective function subject to
linear constraints and COBYLA for minimizing a nonlinear objective function subject
to nonlinear constraints.
In our project CSNumerics was used for implementing the Nash allocation algo-
rithm because its objective function is non-convex being a product between variables
and thus cannot be implemented using OR-Tools (which only supports sums of vari-
ables and multiplications for constants). In particular the COBYLA (Constrained
Optimization BY Linear Approximation) algorithm was used; it lets us define only
constraints in form of inequality and it solves only minimization problems, but we will
see how to bypass those issues later. Setting up the problem is pretty much the same as
with OR-Tools, but this time the objective function and the constraints are defined
within a procedure that will be called by the constructor of the solver [21–24].
5 Conclusion
In this paper, we focused on the algorithms used for resolving disputes that involve a
division of goods between agents, e.g. inheritance, divorces and company law. We
evaluated the advantage of the Equitable Allocation, its equity in monetary terms
though in most cases it’s more important not to generate envy among the parties; also,
the Nash solution tends to avoid splitting goods. For those reasons (and the ones we
talked about before) the Nash solution is more similar to the way those cases are dealt
with in ordinary proceedings.
Keep in mind that the solution displayed by the program can just be taken as an
advice and it’s always a decision of the mediator whether to use it or not. Therefore, the
solution could be adjusted: e.g. for the goods that, according to the solution, must be
split, negotiations should take place. A negotiation for each good should begin and
should involve only the players entitled to some fraction of the good.
556 A. Amato et al.
Acknowledgments. This paper has been produced with the financial support of the Justice
Programme of the European Union, 766463 CREA. The contents of this report are the sole
responsibility of the authors and can in no way be taken to reflect the views of the European
Commission.
References
1. Russell, S., Norvig, P.: Artificial Intelligence: A modern approach, 3rd edn. (2009)
2. Audiconsum. CREA Project. https://www.adiconsum.it/al-tuo-fianco/iniziative/crea-conflict-
resolution-with-equitative-algorithms/. Accessed 02 Feb 2019
3. CREA: CREA Project. http://www.crea-project.eu. Accessed 02 Feb 2019
4. CREA: Commission, European. Grant Agreement number - 766463 (2017)
5. Kumar, V.: Algorithms for constraint-satisfaction problems: a survey. AI Mag. 13(1), 32
(1992)
6. Pazner, E.A., Schmeidler, D.: Egalitarian equivalent allocations: a new concept of economic
equity. Q. J. Econ. 92, 671–687 (1978)
7. Nash, J.F.: The Bargaining Problem. Econometrica 18, 155–162 (1950)
8. Bogomolnaia, A., Moulin, H., Sandomirskiy, F., Yanovskaya, E.: Competitive division of a
mixed manna. Econometrica 85, 1847–1871 (2017)
9. Buchanan, B.G., Headrick, T.E.: Some speculation about artificial intelligence and legal
reasoning. Stan. Law Rev. 23, 40–62 (1970)
10. AI vs Lawyer: LawGeex, February 2018. https://www.lawgeex.com/resources/aivslawyer/
11. European Commission: Effective justice the 2018 EU Justice Scoreboard. https://ec.europa.eu
12. Chianese, A., Marulli, F., Piccialli, F.: Cultural heritage and social pulse: a semantic
approach for CH sensitivity discovery in social media data. In: IEEE Tenth International
Conference on Semantic Computing (ICSC), pp. 459–464 (2016)
13. Amato, F., Moscato, V., Picariello, A., Piccialli, F., Sperlí, G.: Centrality in heterogeneous
social networks for lurkers detection: an approach based on hypergraphs. Concurrency
Comput.: Pract. Exp. 30(3), e4188 (2018)
14. Hussain, S., Keung, J., Khan, A.A., Ahmad, A., Cuomo, S., Piccialli, F., Jeon, G.,
Akhunzada, A.: Implications of deep learning for the automation of design patterns
organization. J. Parallel Distrib. Comput. 117, 256–266 (2018)
15. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L., Sgaglione, L.: Exploiting new CPU
extensions for secure exchange of eHealth data at the EU level. In: 14th European
Dependable Computing Conference (EDCC), pp. 17–24, Iasi (2018). https://doi.org/10.
1109/edcc.2018.00015 (2018)
16. Luigi, C., D’Antonio, S., Mazzeo, G., Luigi, R.: A comparative analysis of emerging
approaches for securing Java software with Intel SGX. Future Gener. Comput. Syst. 97,
620–633 (2019). ISSN 0167-739X. https://doi.org/10.1016/j.future.2019.03.018
17. Mazzeo, G., Coppolino, L., D’Antonio, S., Mazzariello, C., Romano, L.: SIL2 assessment of
an active/standby COTS-based safety-related system. Reliab. Eng. Syst. Saf. 176, 125–134
(2018). ISSN 0951- 8320. https://doi.org/10.1016/j.ress.2018.04.009
18. Cilardo, A., Barbareschi, M., Mazzeo, A.: Secure distribution infrastructure for hardware
digital contents. IET Comput. Digit. Tech. 8(6), 300–310 (2014)
Optimization Algorithms and Tools Applied in Agreements Negotiation 557
19. Amelino, D., Barbareschi, M., Cilardo, A.: An IP core remote anonymous activation
protocol. IEEE Trans. Emerg. Top. Comput. 6(2), 258–268 (2016)
20. Cilardo, A., et al.: An FPGA-based key-store for improving the dependability of security
services. In: 10th IEEE International Workshop on Object-Oriented Real-Time Dependable
Systems. IEEE (2005)
21. Amato, F., Moscato, F., Moscato, V., Colace, F.: Improving security in cloud by formal
modeling of IaaS resources. Future Gener. Comput. Syst. 87, 754–764 (2018). https://doi.
org/10.1016/j.future.2017.08.016. Elsevier B.V
22. Di Lorenzo, G., Mazzocca, N., Moscato, F., Vittorini, V.: Towards semantics driven
generation of executable web services compositions. J. Softw. 2(5), 1–15 (2007). https://doi.
org/10.4304/jsw.5.1.1-15
23. Moscato, F., Aversa, R., Di Martino, B., Rak, M., Venticinque, S., Petcu, D.: An ontology
for the cloud in mOSAIC. In: Cloud Computing: Methodology, Systems, and Applications,
pp. 467–485 (2017). https://doi.org/10.1201/b11149
24. Aversa, R., Di Martino, B., Moscato, F.: Critical systems verification in MetaMORP
(h) OSY. In: Artificial Intelligence and Lecture Notes in Bioinformatics, LNCS, vol. 8696,
pp. 119–129. Springer. https://doi.org/10.1007/978-3-319-10557-4_15
25. Albanese, M., Erbacher, R.F., Jajodia, S., Molinaro, C., Persia, F., Picariello, A.,
Subrahmanian, V.S.: Recognizing unexplained behavior in network traffic. In: Network
Science and Cybersecurity, pp. 39–62. Springer, New York (2014)
26. Amato, F., Cozzolino, G., Moscato, V., Moscato, F.: Analyse digital forensic evidences
through a semantic-based methodology and NLP techniques. Future Gener. Comput. Syst.
98, 297–307 (2019)
27. Cozzolino, G.: Using semantic tools to represent data extracted from mobile devices. In:
Proceedings - 2018 19th International Conference on Information Reuse and Integration for
Data Science, IRI 2018, vol. 8424755, pp. 530–536. IEEE (2018)
A Configurable Implementation
of the SHA-256 Hash Function
1 Introduction
SHA-256 is one of the most widely adopted cryptographic hash functions nowa-
days. Its applications include, for example, Hash-Based Message Authentication
Code [11] and the Digital Signature Algorithm [12], of relevance in security-
critical areas such as the Internet of Things, finance, and cloud computing [2–
4,10]. Because of the stringent requirements posed by these areas of applica-
tion, hardware acceleration of SHA-256 is often desirable. The quest for efficient
SHA-256 implementations has been further pushed by the explosion of Bitcoin,
employing SHA-256 at the heart of its mining protocol [10].
The SHA-256 hash function is defined by the National Institute of Standards
and Technology (NIST). It was firstly introduced in 2001 and is currently in use
as secure hash algorithm [13]. SHA-256 is a block-based hash function, meaning
that the variable-length message to be hashed is split into fixed-length Padded
Data Blocks (PDBs), and each PDB is processed throughout the hash algorithm.
The hash algorithm itself applies a compression function to a state variable for
a predefined number of iterations or rounds, while the input PDB is expanded to
produce a key for each round of the compressor function. A detailed description
of the SHA-256 function can be found in the standard [14].
A direct hardware implementation of SHA-256 is presented in [15], while a
large number of optimizations have been proposed, including variable precom-
putation [1], pipelining [5–9], loop unrolling [8,9], and resource reordering [7–9].
This paper presents a hardware accelerator of SHA-256 which is config-
urable with respect to several architectural parameters. Relying on its flexibility,
the proposed accelerator can be adapted to different application requirements.
Like [1], we present a configurable implementation aimed at comparing differ-
ent alternatives for the implementation of the round function. Nevertheless, the
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 558–567, 2020.
https://doi.org/10.1007/978-3-030-33509-0_52
A Configurable Implementation of the SHA-256 Hash Function 559
2 Proposed Implementation
The SHA-256 implementation proposed in this paper takes as input a full PDB
and produces as output the corresponding hash value. Figure 1 shows the data
path of the proposed architecture.
The architecture is composed of two parallel pipelines, one for the Compressor
and one for the Expander. For each stage of the Compressor pipeline, there is
also an associated ROM containing the values of the constants K relevant for
that stage, as required by the standard [14].
560 R. Martino and A. Cilardo
2.1.1 Compressor
The round registers, clocked by the external base clock, are also employed as
pipeline registers. The two functions are controlled by a multiplexer, placed
before the register within the round, and driven by a major cycle signal. The
major cycle signal is produced by the round counter, which also outputs the
address input for the ROMs.
The compressor pipeline registers contain the 8 working variables and a valid-
ity flag, which is set during the first stage and carried up to the output, to signal
that the value of the output hash register is valid.
2.1.2 Expander
Within the Expander, the round registers work as 16-position word-wide shift
registers during the stage, commuting to parallel registers when the major cycle
signal is asserted, again by means of a multiplexer array. Since the last shift of
the stage works with the major cycle asserted, it is not recorded by the shift
register. Instead, it must be captured by properly rearranging the connection
with the register of the following stage, as shown in Fig. 2.
To perform unrolling, the shift register chain of each Expander stage is split
into a number of chains equals to the unrolling factor, as shown in Fig. 3, since
that number of expanded words W must be generated at each clock cycle. Words
are distributed among the split chains cyclically with respect to their positions
within the original chain.
According to the SHA-256 standard [14], the 16 initial words forming the
input message are in big-endian order, causing a reverse sorting of the input
message, which must be taken in little-endian order. This makes it necessary to
reverse the input of the Expander, and this reversal must in turn be taken into
account when splitting the Expander into stages.
A Configurable Implementation of the SHA-256 Hash Function 561
Basically, the Control Unit should only keep the round counter enabled during
the computation and reset it at the end. Hence, in principle, it should be made
only of two states, idle and compute.
An additional last stages state is added to flush the pipeline when no new
PDBs are provided to the core for hashing. Since the number of pipeline stages is
configurable, it is not viable to employ an FSM state per pipeline stage. Instead,
a stage counter is employed, fed by the major clock cycle and enabled during
the last stages state. As for the round counter, the counting value of the stage
counter can be computed from the values of the generic parameters of the
design. When the round counter signals that the pipeline is fully flushed, the
FSM can go into the idle state.
The Control Unit is also responsible for properly driving the timing of the cir-
cuitry. Due to the presence of the multiplexers, it is possible to load the pipeline
only when the major cycle signal is asserted, but since upon reset the major
cycle signal is cleared, the very first major cycle would be lost. To avoid this, the
Control Unit introduces two control signals, which enable the Compressor and
the Expander respectively to receive incoming data also during the very first
major cycle. This is done during an additional stage, first load, as shown in
Fig. 4a.
In this version of the FSM, the control signals for initialising the Compressor
and the Expander pipeline are actually the same signal. However, depending on
the chosen architecture of the transformation round, the data path may incur
562 R. Martino and A. Cilardo
Fig. 4. FSM of the Control Unit. a with the Compressor and the Expander aligned. b
with the Expander moved ahead
a further timing issue, related to the constant ROM. For handling such cases,
the Control Unit provides an additional stage, second load, which delays only
the Compressor pipeline by one clock cycle, keeping it from accepting inputs.
To work correctly, the Expander must instead start working, hence the need of
differentiating the two control signals. The modified FSM is shown in Fig. 4b,
whilst Sect. 2.3 discusses the conditions on the round architecture under which
the modified FSM must be instantiated.
Number of Pipeline Stages. The number of pipeline stages can be set directly
as the value of the PIPELINE STAGES parameter (set to 1 to disable pipelin-
ing). This value is also the number of PDBs which can be processed at the
same time by the architecture. The number of pipeline stages must divide 64
(this constraint is checked by an assert in the code).
Unrolling Factor. The unrolling factor of the design must be set as the value
of the UNROLLING FACTOR parameter (set to 1 to disable unrolling). Note
that this value must be set consistently with the unrolling factor of the
selected internal transformation round, otherwise the architecture will not
work. Moreover, the unrolling factor must divide 64 (the latter constraint is
checked by an assert).
Timing. The boolean parameter FIX TIME allows for reconfiguring the timing of
the part of the design which provides K and W constants, as required by the
standard [14]. Due to the fact that the K ROM takes as input the counter
value, there is a one-cycle delay between the counter increment and the cor-
responding value of the constant. If the pipeline register is placed before any
use of the K constants, as it happens in the Naive transformation round
architecture, the pipeline register itself compensates for the delay and hence
no further action is required, so FIX TIME must be set to false. Otherwise,
if the value of K is used before the pipeline registers, as in transformation
A Configurable Implementation of the SHA-256 Hash Function 563
component, which must implement the round function. The following architec-
tures for this component are provided:
2.5 Discussion
The main aim of our work is to provide a fully configurable design solution to
be used to explore and evaluate existing and possibly new architectures. Most of
the previous literature proposals for SHA-256 can in fact be seen as a particular
instance of the configurable solution presented here. Only architectures that
completely redefine the data path of the SHA-256 core, such as [6], are not
suitable to be described by the framework proposed in this paper. Furthermore,
a few contributions that take advantage of the particular application of the SHA-
256 function to enhance the performance of the overall system, such as [9], also
fall out of the scope of this work. Such architectures can be integrated into our
framework for the part regarding the SHA-256 design, but they cannot exploit
the benefits of the particular application. This is an intended goal of this work,
which aims to make it easier and fairer to compare SHA-256 implementations
on their own.
3 Experimental Results
The proposed architecture has been captured in VHDL. Several configuration
alternatives have been synthesized, placed and routed with the Xilinx Vivado
IDE, in order to validate the configurable implementation and to assess the
different tradeoffs brought by each configuration. Table 1 lists the different con-
figurations that have been evaluated.
The target device for this experiment is the Kintex UltraScale+ XCKU5P
FPGA [16], and the results are shown in Table 2.
Despite the fact that they are unable to handle multiple PDBs of a single
message, pipelined configurations offered the highest values of the hash rate.
It is worth recalling, however, that this improvement can be exploited only in
contexts where different messages need to be hashed. If there are not enough
messages to feed a pipelined architecture, a Naive configuration with unrolling
provides the best performance.
The Naive configuration with pipelining and unrolling showed not only the
highest hash rate, but also the best power efficiency. Nevertheless, the best area
A Configurable Implementation of the SHA-256 Hash Function 565
No Core type PIPELINE STAGES UNROLLING FACTOR FIX TIME FINAL SUM AS STAGE
efficiency was obtained with the Reordered UF1 transformation round, in the
pipelined configuration. The Reordered UF1 transformation round should there-
fore be preferred in area-constrained contexts, given also that its nonpipelined
configuration reached the least overall area occupation.
Interestingly, the unrolled configurations reached the best power efficiency,
both amongst the pipelined configurations and the nonpipelined configurations.
4 Conclusions
Architecture exploration is crucial for the effective evaluation and comparison of
hardware acceleration solutions. This is especially true of SHA-256 implementa-
tions, which provide a variety of different design options. In this work, a config-
urable implementation of the SHA-256 hash function was presented, providing
a superset of most literature solutions and allowing the effective exploration of
various implementation trade-offs. As future work, we will further improve the
framework flexibility, in order to support more configurations. Namely, we will
566 R. Martino and A. Cilardo
References
1. Algredo-Badillo, I., Feregrino-Uribe, C., Cumplido, R., Morales-Sandoval, M.:
FPGA-based implementation alternatives for the inner loop of the secure hash
algorithm SHA-256. Microprocess. Microsyst. 37, 750–757 (2013). https://doi.org/
10.1016/j.micpro.2012.06.007
2. Amato, F., Moscato, F.: A model driven approach to data privacy verification in
e-health systems. Trans. Data Priv. 8(3), 273–296 (2015)
3. Amato, F., Mazzocca, N., Moscato, F.: Model driven design and evaluation of
security level in orchestrated cloud services. J. Netw. Comput. Appl. 106, 78–89
(2018). https://doi.org/10.1016/j.jnca.2017.12.006
4. Amato, F., Moscato, F., Moscato, V., Colace, F.: Improving security in cloud by
formal modeling of IaaS resources. Future Gener. Comput. Syst. 87, 754–764 (2018)
5. Dadda, L., Macchetti, M., Owen, J.: An ASIC design for a high speed implemen-
tation of the hash function SHA-256 (384, 512). In: GLSVLSI 2004 - 14th ACM
Great Lakes Symposium on VLSI, pp. 421–425 (2004). https://doi.org/10.1145/
988952.989053
6. Macchetti, M., Dadda, L.: Quasi-pipelined hash circuits. In: ARITH 2005 - 17th
IEEE Symposium on Computer Arithmetic, pp. 222–229 (2005). https://doi.org/
10.1109/ARITH.2005.36
7. Michail, H., Milidonis, A., Kakarountas, A., Goutis, C.: Novel high throughput
implementation of SHA-256 hash function through pre-computation technique. In:
ICECS 2005 - 12th IEEE International Conference on Electronics, Circuits, and
Systems (2005). https://doi.org/10.1109/ICECS.2005.4633433
8. Michail, H.E., Kakarountas, A., Milidonis, A., Goutis, C.: A top-down design
methodology for ultrahigh-performance hashing cores. IEEE Trans. Dependable
Secure Comput. 6, 255–268 (2009). https://doi.org/10.1109/TDSC.2008.15
9. Michail, H.E., Athanasiou, G.S., Kelefouras, V., Theodoridis, G., Goutis, C.E.:
On the exploitation of a high-throughput SHA-256 FPGA design for HMAC.
ACM Trans. Reconfigurable Technol. Syst. 5(1), 2 (2012). https://doi.org/10.1145/
2133352.2133354
10. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://
bitcoin.org/bitcoin.pdf
11. National Institute of Standards and Technology: The keyed-hash message authenti-
cation code (HMAC). FIPS 198-1, U.S. Department of Commerce (2008). https://
doi.org/10.6028/NIST.FIPS.198-1
12. National Institute of Standards and Technology: Digital signature standard (DSS).
FIPS 186-4, U.S. Department of Commerce (2013). https://doi.org/10.6028/NIST.
FIPS.186-4
A Configurable Implementation of the SHA-256 Hash Function 567
13. National Institute of Standards and Technology: NIST policy on hash func-
tions (2015). https://csrc.nist.gov/projects/hash-functions/nist-policy-on-hash-
functions
14. National Institute of Standards and Technology: Secure hash standard (SHS). FIPS
180-4, U.S. Department of Commerce (2015). https://doi.org/10.6028/NIST.FIPS.
180-4
15. Sklavos, N., Koufopavlou, O.: On the hardware implementations of the SHA-2 (256,
384, 512) hash functions. In: ISCAS 2003 - 36th IEEE International Symposium
on Circuits and Systems (2003). https://doi.org/10.1109/ISCAS.2003.1206214
16. Xilinx Inc.: Kintex Ultrascale+ FPGA product brief (2016). https://www.xilinx.
com/support/documentation/product-briefs/kintex-ultrascale-plus-product-brief.
pdf
A Blockchain Based Incentive Mechanism
for Crowd Sensing Network
1 Introduction
With the proliferation of emerging technology naming smartphones, smart-
watches, wearable devices, and smart-glasses with sensors embedded has given
the opportunity to sense raw data from the environment at a very high rate.
It is apparently the new trend in the market [1]. This advent in technology has
enabled many applications to collect data from a crowd through Mobile Crowd
Sensing Network (MCSN). The dawn of this sensing paradigm works through
outsourcing the acquiring of sensory data to a crowd of volunteering users, called
data collectors or crowd workers [2]. Their aim is to complete a task which is
broadcast-ed by any service provider or a requester and in return, they are com-
pensated for their efforts and spent resources with some fair share. This approach
is adapted from the traditional mechanism which is referred as a win win situ-
ation. It provides the opportunity to both the parties i.e., client and server, a
chance to collaborate. All the involved participants work together for a conflict
and comes up with a mutually beneficial solution.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 568–578, 2020.
https://doi.org/10.1007/978-3-030-33509-0_53
A Blockchain Based Incentive Mechanism for Crowd Sensing Network 569
From the commercial point of view, many researchers have exploited this
trend to gain the maximum benefit from Crowd Sensing Network (CSN). There-
fore, service oriented approach is another perspective of a CSN that has been
addressed by multiple authors [3]. Moving on, another entity [4] i.e., service con-
sumers is brought into the scenario for sole purpose of utilizing the data that
has been acquired by the data collectors. Otherwise, without the third entity,
there is no point of collecting this massive amount of data and letting the crowd
workers to spend their efforts, time, and resources for no good reason at all. For
businesses to improve, drive towards success, and achieve organizational goals,
there is a dire need [5] to analyze and process data which is not generated by
themselves. Rather, the raw data purchased from service providers of a CSN
where you can fill up gaps and generate leads.
Although CSN is serving the purpose of sensing data at a very cheaper rate
and providing a handful of advantages however, there are multiple issues which
arise with such kind of mechanisms and the major issue that has been addressed
by multiple researchers, is attaining the data quality [4] and engaging skilled
users. Since smart phone users are participating and spending their resources like
battery, storage and computation power, with that they are also exposing them-
selves with the potential privacy leakage. There should be some kind of reward
or incentive mechanism to compensate for their privacy leakage and resource
consumption. Therefore, a truthful and secure incentive mechanism has an utter
importance for CSNs. Furthermore, the sensing domain is divided into two cate-
gories i.e., opportunistic (in-volunteer) and participatory (volunteer) [6–8]. This
categorization help organizations to decide their task allocation, resources, and
the measures to take regarding the challenges mentioned above.
In order to encounter the issues faced by a CSN, many incentive mechanisms
have been proposed such as socially aware incentive mechanism for MCSN [9],
Quality and Usability Of INformation (QUOIN) [10] and many more monetary
approaches. However, these mechanisms posses a central authority [11] which
can lead to a single point failure. With the advent of technology and emerging
trends in application centric approaches, blockchain has proved to be the opti-
mal solution for the problems faced by CSNs. The Fig. 1 is taken from [12] to
elaborate the structure of blockchain.
In this paper, we have proposed a blockchain based data sharing mechanism
for CSN with two communication paradigms. In addition to that, AES128, an
encryption technique is also applied for preserving privacy of data collectors.
Smart contracts are used for communication purposes and enforcing the defined
criteria autonomously.
The paper is further divided as follows; Sect. 2 describes the motivation
and problem statement. Whereas, Sect. 3 provides the related work. Section 4
presents the proposed system model and explanation. Moving on, Sect. 5 has the
details of experimental results while the paper is concluded in Sect. 6.
570 Z. Noshad et al.
CSN use sensors carried by mobile phones to collect sensed data and can effec-
tively save cost. In [13], authors have proposed a blockchain based privacy pro-
tection and virtual credit incentive mechanism for CSN. They have targeted
two issues of CSN, i.e., privacy leakage and low user involvement respectively.
Former issue is resolved by using encryption technique i.e., Affine Cipher. The
latter issue is resolved through tackling the issue of privacy leakage. However,
the Affine Cipher used for encryption is rather a less secure substitution cipher
and it is vulnerable to all the attacks of cipher class. Also, they have not used
smart contracts as a secure communication platform rather, encryption tech-
niques are applied separately when data is submitted by the sensors and Merkle
Tree (MT) root is used for data validation. Furthermore, the communication
paradigm between service provider and consumers is not considered.
Taking the motivation from the paper mentioned above and to tackle the
following limitations, we have proposed a system which is further divided into
two communication paradigms;
In the proposed scenario, where AES128 is used for encryption and a smart
contract is initiated by the service provider who acts as a requester in the net-
work for a specific task. Encryption is used to make sure that worker’s identity
is kept safe while submitting their committed task and incentive is distributed
among all the data collectors/workers immediately to stimulate user participa-
tion. Moreover, another smart contract is deployed for service consumers that
can request service and get a response from the service provider. Following that,
payment will be made to the service provider for sending the requested data.
A Blockchain Based Incentive Mechanism for Crowd Sensing Network 571
3 Related Work
CSNs are where a large group of individuals have mobile devices consisting of
sensors. These devices are capable of sensing and computing shared data which
can be used to extract useful information for measuring, mapping, analyzing, or
estimating any process of common interest. Most mobile devices (smart phones,
tablet computers, wearables) can sense ambient light, noise (through the micro-
phone), location (through the GPS), movement (through the accelerometer),
and much more. In [14], authors have proposed a blockchain based incentive
mechanism for CSNs to increase the participation rate of the active users with
preserving their privacy. This mechanism mainly considers the truthfulness of
the mechanism by introducing a cryptocurrency as a secure reward to com-
pensate the participant. In this way, high quality users will be rewarded with
cryptocurrency that is built on blockchain and is recorded in transaction blocks.
The server will publish a sensing task with deposit, users will upload sensing
data, miners will verify the quality of data and transactions and in the end,
server will distribute the reward to all the participants. Whereas in [13] the
authors have proposed a blockchain based location privacy preserving incentive
mechanism in CSNs. The emphasis of this mechanism is to protect the pro-
vided information and sanctions reward for participation which will increase the
involvement of the users. The experiments are conducted in a campus environ-
ment with a total of 10 nodes (participants) and the results obtained are effective
in terms of encouraging user participation. In [12] the authors have introduced
blockchain based crowd sensing system where the miners and sensing-task work-
ers are rewarded through some pre-defined incentives which provides authentic
anonymity and system robustness. In [10], the authors have proposed QUOIN
which concurrently provides quality and usability of information for crowd sens-
ing applications. Stackelberg game model is applied in QUOIN to ensure that
every participant attains a sufficient level of financial gain. The authors have
evaluated this mechanism through a case study and the results show their effi-
ciency and effectiveness for the purpose of stimulating participation rate.
In [15], the authors have suggested an incentive mechanism which is based on
contract theory for mobile CSNs. A trust scheme has been introduced between
crowd sensing platform and mobile users which is based on direct and indirect
trust. Following that, an optimal contract is laid out that is based on incen-
tive scheme to encourage mobile users for participation in CSN. This contract,
together with maximizing the platform’s profitability, satisfies individual incen-
tive compatibility. The authors in [9] have proposed a novel technique, called
the social incentive mechanism where the social friends of the participants are
incentivized which strengthens the social ties among participators to promote
global cooperation. The incentive allotment depends on the participants social
circle therefore they get motivated to impact their friend’s behavior in order to
secure an increased payback. This kind of approach is useful where the quality of
the sensed data depends on the interdependent relationship among participants
or users.
In [16], a case study has been conducted by the authors which involves Partic-
ipAct platform and ParticipAct living lab. This experiment has been conducted
572 Z. Noshad et al.
in University of Bolonga that involves 170 students, for a whole year, invested
in multiple crowd sensing campaigns who can access the smartphone sensors
passively and also provoke for user active collaboration. This paper presents the
outline of ParticipAct’s design, architecture, its feature, and report with the
quantitative results.
Cryptographic techniques play an important role when the information is
exchanged between users. In [17] and [18], the authors have compared encryp-
tion and decryption techniques for multimedia and guessing attacks prevention
such as RSA, Blowfish, AES, 3DES, and many more. The analysis is based on
comparing the encryption, decryption time, memory used, avalanche effect, and
entropy. Likewise in 2016, the authors of [19] designed a platform to promote
CSN not just as a service but as a contribution for the society too. However,
where there are people involved, there is always a risk of privacy leakage. This
issue causes a huge set back to CSNs as they are purely based on user’s vol-
unteering or in-volunteering involvement towards the network. To tackle this
issue, the authors used AES256 encryption technique for preserving the privacy
of users that attracted skillful participants for the platform. Moreover, in [13],
the authors have used Affine Cipher for the same issues mentioned above.
Furthermore, in conventional CSNs, there are many other techniques which
are used for preserving privacy. In [20], the authors have used Dynamic Trust
Relationships Aware Data Privacy Protection (DTRPP) mechanism for achiev-
ing privacy. The system is devised to combine public key with trust management
mechanism. The extensive simulation analysis showed that the system performed
better in-terms of average delay, delivery and loading rate when measured against
traditional systems. Likewise, [21], authors have proposed a mechanism to pro-
tect the location of the mobile users through combining k -anonymity and differ-
ential privacy-preserving.
4 System Model
The proposed system is an incentive mechanism which is based on blockchain
for CSN. In the suggested scenario, there are three entities which are partici-
pating in the CSN, i.e., the service provider, the service consumers, and data
collectors. The terms requester and service provider will be used alternatively
throughout the paper likewise, the terms data collector and worker will be used
interchangeably. The roles of the entities are defined in Table 1.
Participants Roles
Service provider Broadcasting a task in the network and provide services to consumers
Service consumers Requesting data and utilizing that information which is acquired by a
data collector
Data collectors Measuring the required data about a subject of interest using mobiles
which is stated in the task broadcast-ed by service provider
A Blockchain Based Incentive Mechanism for Crowd Sensing Network 573
After entering the system, service provider will initiate a smart contract by
setting the demands of task for sensing data and stores a definite amount of
deposit for establishing an incentive for the worker. Then, the task is published
in the network. Following that, worker’s identity is kept safe through encryption
AES128 which tackles with the issue of privacy leakage.
Once the workers submit their sensed data and it has been validated by the
miners, they will get the incentive immediately which is reserved in the smart
contract protocol. This helps in building the reputation of the system and boosts
up the enthusiasm of both miners and data collectors because to the instant
receival of incentives. In addition to that, since the rules are already established
in the smart contract initiated by service provider, both data collector and miners
can put their trust in service provider as a reliable administrator. Also, the
posting of gathered data by data collectors will cost them a definite aggregate of
gas in smart contract. It is the equivalent to security deposits by data collectors
before participating in the CSN, this process will help in preventing various
attacks. The motivation for proposed system model as shown in Fig. 2 is taken
from [13] and [22].
574 Z. Noshad et al.
5 Experimental Results
600000
400000
200000
0
Creat e Task Abort Task Check Dat a
125000
100000
75000
50000
25000
0
View Task Com m it Task
60000
Transact ion cost
50000 Execut ion cost
30000
20000
10000
0
Service Request Service Response Paym ent
cost. The reason behind increase in gas consumption is because some amount
is edited from the smart contract’s account while added in service provider’s
account. This transaction is then added in the blockchain.
Fig. 6. Execution time comparison for Affine Cipher, AES128, AES256, and 3DES
A Blockchain Based Incentive Mechanism for Crowd Sensing Network 577
6 Conclusion
With the advent of technology, blockchain has emerged to be the optimal solution
for providing a decentralized environment to applications and helping out in
terms of security, privacy and single point of failure. In this paper, a blockchain
based incentive mechanism is devised for CSN which aims to motivate data
collectors and attract highly skilled users. Encryption is used to preserve the
privacy of participants and a communication platform i.e., smart contract is
provided for secure reporting. The objective of the proposed model is to cater the
needs of all the entities of CSN in a decentralized manner which in return achieve
integral and reliable data, high participation rate, and secure communication.
The system is evaluated by analyzing gas consumption of all smart contracts
deployed whereas, the encryption technique is validated through examining the
execution time and comparing it with other techniques.
In future, the objective is to calculate trustworthiness of the data contributed
by the users. Through comparing the user’s trust attitudes and applying non-
parametric statistic methods, we can examine the subjectivity in contributed
data for the proposed scenario.
References
1. He, D., Chan, S., Guizani, M.: User privacy and data trustworthiness in mobile
crowd sensing. IEEE Wirel. Commun. 22(1), 28–34 (2015)
2. Jin, H., Su, L., Xiao, H., Nahrstedt, K.: Incentive mechanism for privacy-aware data
aggregation in mobile crowd sensing systems. IEEE/ACM Trans. Netw. (TON)
26(5), 2019–2032 (2018)
3. Merlino, G., Arkoulis, S., Distefano, S., Papagianni, C., Puliafito, A., Papavassiliou,
S.: Mobile crowdsensing as a service: a platform for applications on top of sensing
clouds. Future Gener. Comput. Syst. 56, 623–639 (2016)
4. Nie, J., Luo, J., Xiong, Z., Niyato, D., Wang, P.: A stackelberg game approach
toward socially-aware incentive mechanisms for mobile crowdsensing. IEEE Trans.
Wirel. Commun. 18(1), 724–738 (2019)
5. Gisdakis, S., Giannetsos, T., Papadimitratos, P.: Security, privacy, and incentive
provision for mobile crowd sensing systems. IEEE Internet Things J. 3(5), 839–853
(2016)
578 Z. Noshad et al.
6. Luo, C., Liu, X., Xue, W., Shen, Y., Li, J., Hu, W., Liu, A.X.: Predictable privacy-
preserving mobile crowd sensing: a tale of two roles. IEEE/ACM Trans. Netw.
(TON) 27(1), 361–374 (2019)
7. Ahmad, W., Wang, S., Ullah, A., Yasir Shabir, M.: Reputation-aware recruitment
and credible reporting for platform utility in mobile crowd sensing with smart
devices in IoT. Sensors 18(10), 3305 (2018)
8. Lane, N.D., Eisenman, S.B., Musolesi, M., Miluzzo, E., Campbell, A.T.: Urban
sensing systems: opportunistic or participatory? In: Proceedings of the 9th Work-
shop on Mobile Computing Systems and Applications, Napa Valley, CA, USA, pp.
11–16 (February 2008)
9. Yang, G., He, S., Shi, Z., Chen, J.: Promoting cooperation by the social incentive
mechanism in mobile crowdsensing. IEEE Commun. Mag. 55(3), 86–92 (2017)
10. Ota, K., Dong, M., Gui, J., Liu, A.: QUOIN: incentive mechanisms for crowd
sensing networks. IEEE Netw. 32(2), 114–119 (2018)
11. Jaimes, L.G., Vergara-Laurens, I.J., Raij, A.: A survey of incentive techniques for
mobile crowd sensing. IEEE Internet Things J. 2, 370–380 (2015)
12. Huang, J., Kong, L., Kong, L., Liu, Z., Liu, Z., Chen, G.: Blockchain-based crowd-
sensing System. In: 2018 1st IEEE International Conference on Hot Information-
Centric Networking (HotICN), pp. 234–235. IEEE (August 2018)
13. Jia, B., Zhou, T., Li, W., Liu, Z., Zhang, J.: A blockchain-based location privacy
protection incentive mechanism in crowd sensing networks. Sensors 18(11), 3894
(2018)
14. Park, J.S., Youn, T.Y., Kim, H.B., Rhee, K.H., Shin, S.U.: Smart contract-based
review system for an IoT data marketplace. Sensors 18(10), 3577 (2018)
15. Wang, J., Li, M., He, Y., Li, H., Xiao, K., Wang, C.: A blockchain based privacy-
preserving incentive mechanism in crowdsensing applications. IEEE Access 6,
17545–17556 (2018)
16. Dai, M., Su, Z., Wang, Y., Xu, Q.: Contract Theory Based Incentive Scheme for
Mobile Crowd Sensing Networks. In: 2018 International Conference on Selected
Topics in Mobile and Wireless Networking (MoWNeT), pp. 1–5. IEEE (June 2018)
17. Cardone, G., Corradi, A., Foschini, L., Ianniello, R.: Participact: a large-scale
crowdsensing platform. IEEE Trans. Emerg. Topics Comput. 4(1), 21–32 (2016)
18. Ahamad, M.M., Abdullah, M.I.: Comparison of encryption algorithms for multi-
media. Rajshahi Univ. J. Sci. Eng. 44, 131–139 (2016)
19. Wahid, M.N.A., Ali, A., Esparham, B., Marwan, M.: A comparison of crypto-
graphic algorithms: DES, 3DES, AES, RSA and blowfish for guessing attacks pre-
vention (2018)
20. Mottur, P.A., Whittaker, N.R.: Vizsafe: the decentralized crowdsourcing safety
network. In: 2018 IEEE International Smart Cities Conference (ISC2), pp. 1–6
(September 2018)
21. Wu, D., Si, S., Wu, S., Wang, R.: Dynamic trust relationships aware data pri-
vacy protection in mobile crowd-sensing. IEEE Internet Things J. 5(4), 2958–2970
(2017)
22. Chi, Z., Wang, Y., Huang, Y., Tong, X.: The novel location privacy-preserving
CKD for mobile crowdsourcing systems. IEEE Access 6, 5678–5687 (2017)
Design of a Cloud-Oriented Web Application
for Legal Conflict Resolution Through
Equitative Algorithms
1 Introduction
For thousands of years humankind tried to understand some of the most important
mental faculties, i.e. thinking and reasoning, whose research was assigned to philosophy
and science. Nowadays a new discipline, A.I. (Artificial Intelligence), is developing and
its aim is even more ambitious: not only understanding thinking and reasoning activities
but also creating entities which are capable of performing these activities [1]. It is hard to
define what exactly “Artificial Intelligence” is; historically the main definitions were
focused on different aspects such as inner reasoning process or external actions of the
intelligent system1. In particular, there are four main approaches [1]:
1. Thinking humanly: the process [15] leading the intelligent agents to solve a
problem is similar to the process [16] a human being would perform (this approach
is related to cognitive science);
2. Thinking rationally: the process [17] leading the intelligent agents to solve a
problem is formal and it is modelled by using logic;
3. Acting humanly: the outcome of an intelligent agent action is indistinguishable
from a human being action;
4. Acting rationally: the outcome of an intelligent agent action is the best possible
result according the provided data [18].
In Fig. 1 it is possible to read several definitions according to different approaches:
Over time A.I. reached important and remarkable targets; indeed, there are many
interesting areas of application: natural language understanding, decisional support
system, robotics and automation in transportation, manufacturing, business etc.
Another area of application, maybe less intuitive than the previous ones but certainly
not less important, is in law: especially the use of artificial intelligence systems for legal
conflict resolution, also called “A.I. & Law research” [2–11].
1
Sects. 2, 3 and 4 are to be attributed to all authors; Sects. 1 and 5 in particular are to be attributed to
Marco Giacalone.
Design of a Cloud-Oriented Web Application 581
For this reason, the European project CREA (Conflict Resolution with Equitative
Algorithms) was born. Its objective is to introduce, thanks to the contribution of rules
and principles coming from disciplines even outside the judicial system, new mecha-
nisms for disputes resolution such as support tools in legal procedures which could be
useful for lawyers, judges and mediators, by making things easier also for Europe
citizens (2). In Europe there are currently too many costs and extremely long trial times
in cross-border and national civil proceedings in the member states. This happens
because of several problems: finding a judge with the appropriate competence, trans-
lating the summons and other important material into languages understandable for the
2 System Design
To achieve the goal, create an application in the Cloud, was considered a Client Server
model. Specifically, the MVC (Model-View-Controller) pattern [5] was used. In this
MVC architectural scheme the application is divided into three components: models,
views and controllers.
This pattern allows the separation of tasks:
• Model represents the state of the application or the operations that it must follow,
the views use the View-Model component that contains the data to be displayed.
The controller creates and populates the ViewModel instances from the model.
public class Agent {
public int agentID {get; set;}
public char Name {get; set;}
public char Surname {get; set;}
public float Budget {get; set;}
public char Via {get; set;}
public char City {get; set;}
public int Telephone {get; set;}
public bool Conciliator {get; set;}
public float Share_of_entitlement {get; set;}
11
public ICollection <Association> Associations {get;
set;}
public ICollection <Offer> Offers {get; set;}
}
• Views are responsible for showing the content through the user interface [25]. They
use the Razor <display engine. The presence of logic must be minimal, and that
which there is must refer to the presentation of the content;
Design of a Cloud-Oriented Web Application 583
@model CREAProject.Models.Agente
@{
ViewData ["Title"] = "Create";
}
• Controllers are the components that manage user interaction, interact with the model
and distinguish the visualization that will be rendered.
584 A. Amato et al.
// GET: Agentes
public async Task <IActionResult> Index ()
{
return View (await _context.Agente.ToListAsync ());
}
...
// GET: Agentes / Create
public IActionResult Create ()
{
return View ();
}
}
The data model is shown in Fig. 4. The main entities and associations (in yellow in the
Figure) of this model are:
• AGENT presenting as a primary key agentID is the entity that represents the user
among the various attributes Shared of entitlement is the one that represents the
right of that agent on a given asset;
• BID, is an association that has the primary keys of Good and Agent as its foreign
keys;
• GOOD, entity representing assets in goodID primary key disputes, we note that the
Divisible attribute is of Boolean type so if set to TRUE it is a divisible asset
otherwise it is not;
• DISPUTE, entity with primary controversial ID that identifies the dispute, with the
ResolutionMethod attribute sets the first or second method;
• BAD, entity representing the debts identified by a badID;
In the next section it will be explained how from the ER model through the use of
the Entity Framework and ASP.NET Core, we implemented the cloud application.
Design of a Cloud-Oriented Web Application 585
4 Implementation
To develop the project on the Web, Visual studio was used with ASP.NET Core. ASP.
NET is a multi-platform, open source framework used for compiling modern cloud-
based applications, allowing you to:
• Compile web apps and services;
• Use your favorite development tools in Windows, macOS and Linux;
• Deploy in the cloud or locally.
Entity Framework Core is a framework intended to hide the details of a relational
database, allowing us to think of our data model as a set of objects. With Entity
Framework, you can operate at a higher level of abstraction by managing data and
creating data-oriented applications with less code than traditional applications [18–20].
In our case study, Entity Framework [21, 22] allowed us to transform the entities of
the data model monster into classes and the attributes into dynamic properties managed
by list of objects.
public ICollection <Association> Associations {get; set;}
public ICollection <Bid> Bids {get; set;}
586 A. Amato et al.
5 Conclusions
In this work an approach that uses artificial intelligence techniques to solve problems
related to legal disputes is presented. In particular, concepts and algorithms used in
Game Theory (equitable resource allocation algorithms) are adopted to arrive at
solutions that maximize the satisfaction of the parties involved. In particular it is proved
the effectiveness of an algorithmic approach in disputes resolution, explaining with an
example how to lead contrasting parties to a solution as friendly (and equal) as
possible.
Design of a Cloud-Oriented Web Application 587
The subject matter could be interesting, first of all, for legal professionals such as
lawyers, judges and mediators but also experts in consumer dispute and judicial
cooperation experts. This new procedure could potentially modify in a deep way the
national and cross-border legal proceeding in Europe, by reducing the waiting time for
citizens-consumers and eliminating differences due to specific national laws.
Acknowledgments. This work was co-funded by the European Union’s Justice Programme
(2014–2020), CREA Project, under grant agreement No. 766463.
References
1. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. (2009)
2. AUDICONSUM: CREA Project, 02 Feb 2019. https://www.adiconsum.it/al-tuo-fianco/
iniziative/crea-conflict-resolution-with-equitative-algorithms/
3. CREA: CREA Project, 02 Feb 2019. http://www.crea-project.eu
4. European Commission: Grant Agreement number - 766463 - CREA (2017)
5. Kumar, V.: Algorithms for constraint-satisfaction problems: a survey. AI Mag. 13(1), 32
(1992)
6. Pazner, E.A., Schmeidler, D.: Egalitarian equivalent allocations. A new concept of economic
equity. Q. J. Econ. 92, 671–687 (1978)
7. Nash, J.P.: The bargaining problem. J. Econ. Soc. 18, 155–162 (1950)
8. Bogomolnaia, A., Moulin, H., Sandomirskiy, F., Yanovskaya, E.: Competitive division of a
mixed manna. Econometrica 85, 1847–1871 (2017)
9. Buchanan, B.G., Headrick, T.E.: Some speculation about artificial intelligence and legal
reasoning. Stan. L. Rev. 23, 40 (1970)
10. AI vs Lawyer. LawGeex, Feb 2018. https://www.lawgeex.com/resources/aivslawyer/
11. European Commission: The 2018 EU Justice Scoreboard. Effective justice. https://ec.europa.eu
12. Chianese, A., Marulli, F., Piccialli, F.: Cultural heritage and social pulse: a semantic
approach for CH sensitivity discovery in social media data. In: 2016 IEEE Tenth
International Conference on Semantic Computing (ICSC), pp. 459–464 (2016)
13. Amato, F., Moscato, V., Picariello, A., Piccialli, F., Sperlí, G.: Centrality in heterogeneous
social networks for lurkers detection: an approach based on hypergraphs. Concurr. Comput.:
Pract. Exp. 30(3), e4188 (2018)
14. Hussain, S., Keung, J., Khan, A.A., Ahmad, A., Cuomo, S., Piccialli, F., Jeon, G.,
Akhunzada, A.: Implications of deep learning for the automation of design patterns
organization. J. Parallel Distrib. Comput. 117, 256–266 (2018)
15. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L., Sgaglione, L.: Exploiting new CPU
extensions for secure exchange of eHealth data at the EU level. In: 2018 14th European
Dependable Computing Conference (EDCC), pp. 17–24. IASI (2018). https://doi.org/10.
1109/edcc.2018.00015
16. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L.: A comparative analysis of emerging
approaches for securing java software with Intel SGX. Future Gener. Comput. Syst. 97, 620–
633 (2019). https://doi.org/10.1016/j.future.2019.03.018
588 A. Amato et al.
17. Mazzeo, G., Coppolino, L., D’Antonio, S., Mazzariello, C., Romano, L.: SIL2 assessment of
an active/standby COTS-based safety-related system. Reliab. Eng. Syst. Saf. 176, 125–134
(2018). https://doi.org/10.1016/j.ress.2018.04.009. ISSN 0951-8320
18. Cilardo, A., Barbareschi, M., Mazzeo, A.: Secure distribution infrastructure for hardware
digital contents. IET Comput. Dig. Tech. 8(6), 300–310 (2014)
19. Amelino, D., Barbareschi, M., Cilardo, A.: An IP core remote anonymous activation
protocol. IEEE Trans. Emerg. Top. Comput. 6(2), 258–268 (2016)
20. Cilardo, A., et al.: An FPGA-based key-store for improving the dependability of security
services. In: 10th IEEE International Workshop on Object-Oriented Real-Time Dependable
Systems. IEEE (2005)
21. Amato, F., Moscato, F., Moscato, V., Colace, F.: Improving security in cloud by formal
modeling of IaaS resources. Future Gener. Comput. Syst. 87, 754–764 (2018). https://doi.
org/10.1016/j.future.2017.08.016
22. Di Lorenzo, G., Mazzocca, N., Moscato, F., Vittorini, V.: Towards semantics driven
generation of executable web services compositions. J. Softw. 2(5), 1–15 (2007). https://doi.
org/10.4304/jsw.5.1.1-15
23. Moscato, F., Aversa, R., Di Martino, B., Rak, M., Venticinque, S., Petcu, D.: An ontology
for the cloud in mOSAIC. In: Cloud Computing: Methodology, Systems, and Applications,
pp. 467–485 (2017). https://doi.org/10.1201/b11149
24. Aversa, R., Di Martino, B., Moscato, F.: Critical systems verification in MetaMORP(h)OSY.
In: Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence and Lecture
Notes in Bioinformatics), LNCS, vol. 8696, pp. 119–129. Springer, Berlin (2014). https://
doi.org/10.1007/978-3-319-10557-4_15
25. Albanese, M., Erbacher, R.F., Jajodia, S., Molinaro, C., Persia, F., Picariello, A., Sperlì, G.,
Subrahmanian, V.S.: Recognizing unexplained behavior in network traffic. In: Network
Science and Cybersecurity, pp. 39–62. Springer, New York (2014)
Equitative Algorithms for Legal Conflict
Resolution
1 Introduction
At present, there are too many costs and extremely long trial times to a proper func-
tioning of cross-border and national civil proceedings in the Member States. Regarding
the cross-border proceedings, these proceedings take an inordinate amount of time,
both to set up and for a decision to be rendered. Specific problems include finding a
judge with the requisite competence and translating the summons and other relevant
material into a language intelligible to the addressee. Moreover, cross-border civil
proceedings are far too expensive for most citizens, due to the high costs of document
translation and finding and consulting qualified legal experts. Another obstacle that
citizens face in cross-border disputes is the divergent interpretations of different
national courts, even when EU rules apply. The length of national proceedings is also a
common problem for the majority of the member states.
Also, the current legal systems do not adequately value the possibility of reaching
an agreement of the parties, instead they always try to find the solution in legal rules
often divergent compared to the wishes of the parties and in a long and debilitating
conflict of comparison process1.
For all these reasons the “Conflict Resolution with Equitative Algorithms” (CREA)
project was established by the European Commission. It involves several European
universities and each one has his own duty. The project aims to introduce new
mechanisms of dispute resolution as a helping tool in legal procedures for lawyers,
mediators and judges with the objective to reach an agreement between the parties; in
some situations, it could be used directly by citizens. Its primary objectives are the
following:
1. to apply algorithmic mechanisms to the solution of certain national and cross-border
civil matters, including matrimonial regimes, successions and trusts, commercial
law and consumer law, facilitating the agreement process among the parties;
2. to demonstrate the efficacy of an algorithmic approach [12–14] and apply it into the
allocation of goods, or the resolution of issues, in disputes, leading the parties to a
friendly solution before or during the trial comparison.
We will focus on the algorithms used for resolving disputes that involve a division
of goods between agents, e.g. inheritance, divorces and company law [1–11].
The algorithms we will look at apply to cases were some goods have to be assigned to a
set of entities (e.g. people or companies), which we will call agents. Each agent is given
a share of entitlement, i.e. a share weight. Typically, if there are n agents, the share will
be 1/n for each one of them, but it could be different. For instance, shares could reflect
the closeness of relatives to a deceased person, or the effort. The algorithms will give us
a solution in form of the share of each good assigned to each agent.
Let’s have a look at the notation we are going to use; we have:
• A set of agents N = {1, 2,…, n}
• A set of goods M = {1, 2,…, m}
• A market value for each good mj, j 2 M
• A share weight for every agent wi, i 2 N
• A solution of the allocation problem where:
– zij is the share of good j 2 M given to agent i 2 N
– Z = {zij} i2N, j2M is the solution matrix
We have to make the agents express their preference about which goods they would
like to get and which goods they don’t and in what measure. We can achieve that in
two ways: the bids method and the ratings method; whether we choose one method or
the other, we end up with the utility for each good of each agent, i.e. how much the
agents value each good.
1
§§ 2 and 3 are to be attributed to all authors; § 1, 4 and 5 in particular are to be attributed to Marco
Giacalone.
Equitative Algorithms for Legal Conflict Resolution 591
with bij being the bid of the agent i for the good j and uij its utility.
3 The Solutions
The next step is finding a way to correctly distribute utilities among the agents. In the
end, the overall utility of an agent will be given by the sum of the utilities of the goods
received. If an agent gets a fraction of the good, the utility will be weighted by this
fraction. For instance, if, according to the proposed solution, I should receive 1/3 of a
house which I valued 90000 euros, my utility will be 90000 * (1/3) = 30000 euros.
How to find an optimal allocation of the goods? Research suggests that no single
criterion is universally better than the others. The recent literature shows that two
criteria prevail: the egalitarian equivalent allocation and the Competitive Equilibrium
from Equal Income.
By construction, this solution is egalitarian. It turns out that this solution is also
efficient: no other allocation, even a non-egalitarian one, can make all agents better off
simultaneously. The allocation, however, has some problems: it’s not resource
monotonic, it doesn’t have responsive shares, it suffers from domination. But the most
important problem is that the allocation may cause one or more agents to be envious of
the goods assigned to other agents; let’s consider an example: suppose there are 3
agents (I, II and III) and 3 divisible items (a, b and c). In the following Table 1, we
describe the utility of each item by each player.
The egalitarian solution assigns item a to agent I, item b to agent II and item c to
agent III – without splits. Each one gets a utility of 40. However, agent III is envious of
agent II, because he received item c (valued 40) but he would have preferred item b
(valued 50 to him) that was assigned to agent II.
This solution is Resource Monotonic (ore goods to divide should not be bad news
for anyone), it has Responsive Shares (if an agent raises the bid on a certain good, he
cannot end up with a smaller share of that good) and doesn’t suffer from domination.
Most importantly it’s envy free, although it’s not usually egalitarian: let’s consider
again three agents sharing three divisible items, with the same utility table considered
before.
a b c
I 40 30 30
II 30 40 30
III 10 50 40
The CEEI/Nash solution prescribes that: agent I gets item a in its entirety, agent II
gets 9/10 of item b, agent III gets item c and 1/10 of item b. Agent III will not be
envious anymore, because in his evaluation item c in its entirety plus 1/10 of item b is
no less (actually it equals) 9/10 of item b.
They both have a utility of 45. In terms of utility, we note that the utility of agent I
is 40, the utility of agent II is 36 and the utility of agent III is 45, therefore the
allocation is not equitable. But here agents modify the utilities depending on the likes
and dislikes of goods and the utility does not directly represent money anymore.
594 A. Amato et al.
3.3 Constraints
The maximization problems we are considering are rather flexible and can incorporate
other constraints to better suit the division problem: we will see, as an example,
indivisible goods and restricted assignments, CREA Algorithms so far.
A good is indivisible if it cannot be split and must be assigned to only one agent in
its entirety. If a good j is indivisible, we impose that
4 Constraint-Satisfaction Problems
A large number of problems in A.I. ad other areas of computer science can be viewed
as special case of the constraint-satisfaction problems (also known as CSP), e.g.
machine vision, temporal graph problems, planning of genetic experiments etc.
An application we are interested on is the possibility of modelling legal cases as a
sort of CSP.
A constraint-satisfaction problem is a type of problem which needs a solution
satisfying a set of conditions and constraints provided. Generally, the more problems
are complicated, the greater number of constraints necessary for the solution becomes;
therefore, it gets more difficult to apply algorithms.
First of all, let us see how a CSP is represented.
CSPs are represented in terms of state space where the important thing is not the
solution path from the initial state to the final state but finding a state capable of
satisfying the constraints.
Theoretically a CSP can be defined by using three components X, D and C:
• X is a set of variables, X = {X1, X2, …, Xn}.
• D is a set of domains, D = {D1, D2, …, Dn}, where each domain has a set of
available values, e.g. Di = {vi1, vi2, …}.
• C is a set of constraints specifying allowable combinations of values.
Each state in CSPs is defined by an assignment of values to all (or even some)
variables, e.g. {Xi = vi, Xj = vj, …}.
An assignment that does not violate any constraints is called “consistent assign-
ment” while an assignment in which a value is assigned to every variable is called
“complete assignment”.
Equitative Algorithms for Legal Conflict Resolution 595
The solution to a CSP will be a consistent and complete assignment. The com-
plexity implied in these procedures is high and this is the reason why using A.I.
techniques is useful in this field. The technique we propose in this paragraph is the
Backtracking Search.
5 Conclusion
Acknowledgments. This paper has been produced with the financial support of the Justice
Programme of the European Union, 766463 CREA. The contents of this report are the sole
responsibility of the authors and can in no way be taken to reflect the views of the European
Commission.
References
1. Russell, S., Norvig, P.: Artificial Intelligence: A modern approach (3rd edition) (2009)
2. Audiconsum: CREA Project. https://www.adiconsum.it/al-tuo-fianco/iniziative/crea-conflict-
resolution-with-equitative-algorithms/. Accessed Feb 02 2019
3. CREA: CREA Project. http://www.crea-project.eu. Febbraio 02 2019
4. European Commission: Grant Agreement number - 766463 - CREA (2017)
5. Kumar, V.: Algorithms for constraint-satisfaction problems: a survey. AI Mag. 13(1), 32
(1992)
6. Pazner, E.A., Schmeidler, D.: Egalitarian equivalent allocations: a new concept of economic
equity. Q. J. Econ. 92, 671–687 (1978)
7. Nash, J.F.: The bargaining problem. 18, 155–162 (1950)
8. Bogomolnaia, A., Moulin, H., Sandomirskiy, F., Yanovskaya, E.: Competitive division of a
mixed manna. Econometrica 85, 1847–1871 (2017)
9. Buchanan, B.G., Headrick, T.E.: Some speculation about artificial intelligence and legal
reasoning. Stanf. Law Rev. 23, 40–62 (1970). Stanford, s.n
10. AI vs Lawyer: LawGeex, February 2018. https://www.lawgeex.com/resources/aivslawyer/
11. European Commission: The 2018 EU Justice Scoreboard. Effective justice. https://ec.europa.eu
12. Chianese, A., Marulli, F., Piccialli, F.: Cultural heritage and social pulse: a semantic
approach for CH sensitivity discovery in social media data. In: 2016 IEEE Tenth
International Conference on Semantic Computing (ICSC), pp. 459–464 (2016)
13. Amato, F., Moscato, V., Picariello, A., Piccialli, F., Sperlí, G.: Centrality in heterogeneous
social networks for lurkers detection: an approach based on hypergraphs. Concurrency
Comput. Pract. Experience 30(3), e4188 (2018)
14. Hussain, S., Keung, J., Khan, A.A., Ahmad, A., Cuomo, S., Piccialli, F., Jeon, G.,
Akhunzada, A.: Implications of deep learning for the automation of design patterns
organization. J. Parallel Distrib. Comput. 117, 256–266 (2018)
Equitative Algorithms for Legal Conflict Resolution 597
15. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L., Sgaglione, L.: Exploiting new CPU
extensions for secure exchange of eHealth data at the EU level. In: 2018 14th European
Dependable Computing Conference (EDCC), pp. 17–24, Iasi (2018). https://doi.org/10.
1109/edcc.2018.00015
16. Coppolino, L., D’Antonio, S., Mazzeo, G., Romano, L.: A comparative analysis of emerging
approaches for securing java software with Intel SGX. Future Gener. Comput. Syst. 97, 620–
633 (2019). https://doi.org/10.1016/j.future.2019.03.018. ISSN 0167-739X
17. Mazzeo, G., Coppolino, L., D’Antonio, S., Mazzariello, C., Romano, L.: SIL2 assessment of
an active/standby COTS-based safety-related system. Reliab. Eng. Syst. Saf. 176, 125–134
(2018). https://doi.org/10.1016/j.ress.2018.04.009. ISSN 0951-8320
18. Cilardo, A., Barbareschi, M., Mazzeo, A.: Secure distribution infrastructure for hardware
digital contents. IET Comput. Digital Tech. 8(6), 300–310 (2014)
19. Amelino, D., Barbareschi, M., Cilardo, A.: An IP core remote anonymous activation
protocol. IEEE Trans. Emerg. Topics Comput. 6(2), 258–268 (2016)
20. Cilardo, A., et al.: An FPGA-based key-store for improving the dependability of security
services. In: 10th IEEE International Workshop on Object-Oriented Real-Time Dependable
Systems. IEEE (2005)
21. Amato, F., Moscato, F., Moscato, V., Colace, F.: Improving security in cloud by formal
modeling of IaaS resources. Future Gener. Comput. Syst. 87, 754–764 (2018). https://doi.
org/10.1016/j.future.2017.08.016. Elsevier B.V
22. Di Lorenzo, G., Mazzocca, N., Moscato, F., Vittorini, V.: Towards semantics driven
generation of executable web services compositions. J. Softw. 2(5), 1–15 (2007). https://doi.
org/10.4304/jsw.5.1.1-15
23. Moscato, F., Aversa, R., Di Martino, B., Rak, M., Venticinque, S., Petcu, D.: An ontology
for the cloud in mOSAIC. In: Cloud Computing: Methodology, Systems, and Applications,
pp. 467–485 (2017). https://doi.org/10.1201/b11149
24. Aversa, R., Di Martino, B., Moscato, F.: Critical systems verification in MetaMORP
(h) OSY. In: Lecture Notes in Computer Science (including subseries Lecture Notes in
Artificial Intelligence and Lecture Notes in Bioinformatics), LNCS, vol. 8696, pp. 119–129.
Springer (2014). https://doi.org/10.1007/978-3-319-10557-4_15
25. Albanese, M., Erbacher, R.F., Jajodia, S., Molinaro, C., Persia, F., Picariello, A.,
Subrahmanian, V.S.: Recognizing unexplained behavior in network traffic. In: Network
Science and Cybersecurity, pp. 39–62. Springer, New York (2014)
The 7th International Workshop on
Cloud Computing Projects and
Initiatives (CCPI-2019)
An Approach to Help in Cloud Model
Choice for Academia Services’ Supplying
2 Related Works
From the analysis of recent work on the topic made by the authors, no papers
have been found that are related to decision support methodologies on private
vs public cloud system choice.
In [1] has been exploited the serviced offered in a federated way to support
service provisioning in the Italian Academia. These can be used as component
to realize more complex services provisioned in a hybrid cloud model.
As reported in [6] the cost factor is not always in favor of the public solution.
The authors of that work have shown that, in a long time terms, the private
solution is cheaper than the public one.
The adoption of cloud computing in e-learning systems as a strategy to
improve agility and reduce costs has been studied in [4]. The authors have dealt
with the problem of the choice between a public or private cloud with a sugges-
tion to use the experience of the manager to do the final choice. In this sense
our work can also be thought as a way to expand the research started with this
work.
In [5] has been studied the benefits of using services from federated clouds
with various coupling levels and different optimisation methods.
A comprehensive study on cloud for research computing has been done in [2].
This report summarizes the results from a workshop on topics and challenges
for academic research cloud computing in applications, support, data movement,
administrative, legal, and financial issues.
In [3] has been reviewed what the cloud computing infrastructure will provide
in the universities and what can be done to increase the benefits of common
applications for students and teachers.
3 Services Classification
The starting point of the methodology is represented by a brief survey to be
answered by the person who needs the service be implemented. This survey is
focused not on ICT aspects, but mainly on domain requirements and this permits
to obtain a first parameterization of the requirements.
Now these information are enriched with other ICT related parameters. They
are also given by a brief survey answered by the ICT manager.
Both set of parameters become variables measured in both domains and
represented with a scale of values in 0...N range. The choice of this scale is
dictated by the need to express qualitative parameters with numbers. In our
case, the meaning of the numerical values is this: they grows according to the
necessity of having specific features not publicly available. A value of 0 means
that the feature could be obtained by a full-public solution, while a value of N
denotes the need of that feature only in a private model.
The first group of parameters under analysis for this starting point of the
research are those related to the application domain (P 1 to P 5) and shown in
the Table 1.
An Approach to Help in Cloud Model Choice 603
The second group of parameters deals with pure ICT aspects of the problem.
They are labeled from P 6 to P 10 and shown in the Table 2. They come from the
answers to the survey as given by the ICT specialist.
4 Parameters Representation
In order to represent and later analyze parameter values, the Kiviat graph has
been used. This choice has been derived by the graph’s easiness and the immedi-
acy of understanding and also by the types of analysis that are in the objective
of the work. This graph also allows to easily identify total or partial overlapping
zones, and also regions with small deviations.
In our case, the graph will have as much rays as the number of parameters to
represent. Each parameter’s value, as extracted by the answers to the survey, is
represented with a point on the ray of the corresponding parameter with a 0...N
scale. A value of 0 means that there is no need for the corresponding parameter
feature to be provided as private.
604 P. Cantiello et al.
Values grow with the importance of the parameter till the N value which
represent the not substitutability of the requirement and the mandatory private
model for it.
5 Model Analysis
After the representation of the parameters on the diagram, they are connected
as usual with segments in order to form the polygon representing the model.
Now the process continues by adding regular polygons with growing rays. Each
growing ray represent the greater necessity to have the service provisioned in a
private model.
Among these regular polygons, some of them must be highlighted:
• The smallest one containing all the problem polygon, called external polygon
with a ray Re . This gives the guarantee that all requirement are met.
• The one with an immediately lower radius called peak polygon (Rp = Re −
1). This indicates the possibility to operate the service with some relaxed
requirements.
• The internal polygon that is the biggest one (ray Ri ) entirely contained in the
problem polygon. This represent the maximum of the minimum requirements.
The analysis of the requirements that fall in the polygonal crown (rays Re
and Rp ) permits to extract information on the constraints that could be relaxed
if one want to contains all the problem diagram in the Rp polygon. The number
of values in the crown is indicated with Np (number of peaks). The distance
between internal and external rays D = Re − Ri gives an indication of the
regularity of shape of the problem polygon.
So, at the end of the representation, we have obtained the values
Re , Rp , Ri , Np and D, and we can obtain several suggestions from them.
The peak parameters investigation requires now more effort, not a simple
survey as in the first round. There is the need of a deep discussion on the peak
parameters. In this round the actors involved are all together and this can help
to verify the effective need of a private approach for the related features.
If some of these peeks are lowered, a new graph with a new representation
of the parameters can be done and used as the final one. This is shown in the
case study.
6 A Case Study
As a case study the model has been tested with the real need to provide a new
e-learning service to the students of the University of the authors.
P4 P3
P5 P2
P6 P1
P7 P10
P8 P9
for the students rather than its effectiveness with the whole academia system.
So, it has been agreed that P3 can be surely lowered from 4 to a value of 2.
The second peek parameter (P5) is related to the copyrights or patents affect-
ing the data managed by the service. It is certainly true that the lessons with
related audio, video and teaching materials and their authors must be protected,
but there are no specific needs to do this on on-premise systems, since cloud
providers can easily assure the protection needed. So, a middle value answer
seems more appropriate. So P5 has been lowered from 4 to 3.
Last parameter (P8) concerns throughput and bandwidth parameters of the
service. It is obviously that audio/video streaming requires proper connections
An Approach to Help in Cloud Model Choice 607
P4 P3
P5 P2
P6 P1
P7 P10
P8 P9
with high bandwidth, and it is undoubtedly that a private cloud can provide
better performance than a public cloud, but this is true only on the local con-
texts.
The answer given at first by the ICT manager with a value of 4, was right,
but the stakeholder shows that the most users want to use the e-learning service
not in the campus, but away from it (e.g. at home, or during trips). In this case
the best results can be given by a public system that, if required, can also be
spread over other regions. The new value of P8 is 2.
After the second trip the new Kiviat graph is shown in Fig. 2.
References
1. Attardi, G., Di Martino, B., Esposito, A., Mastroianni, M.: Using federated cloud
platform to implement academia services for research and administration. In: 2018
32nd International Conference on Advanced Information Networking and Applica-
tions Workshops (WAINA), pp. 413–418 (May 2018)
2. Bottum, J., Atkins, D., Blatecky, A., McMullen, R., Tannenbaum, T., Cheetham,
J., Wilgenbusch, J., Bhatia, K., Deumens, E., von Oehsen, B., et al.: The future of
cloud for academic research computing (2017)
3. Ercan, T.: Effective use of cloud computing in educational institutions. Procedia-
Soc. Behav. Sci. 2(2), 938–942 (2010)
4. Pocatilu, P., Alecu, F., Vetrici, M.: Using cloud computing for e-learning systems.
In: Proceedings of the 8th WSEAS International Conference on Data Networks,
Communications, Computers, pp. 54–59. Citeseer (2009)
5. Subramanian, T., Savarimuthu, N.: A study on optimized resource provisioning in
federated cloud. arXiv preprint. arXiv:1503.03579 (2015)
6. Vikas, S., Gurudatt, K., Vishnu, M., Prashant, K.: Private vs public cloud. Int. J.
Comput. Sci. Commun. Netw. 3(2), 79 (2013)
Italian Cloud Tourism as Tool to Develop
Local Tourist Districts Economic Vitality
and Reformulate Public Policies
1 Introduction
Tourism is one of Italy’s most significant economic sectors and its long-term devel-
opment potential arises strategic. Such development is also boosted by an ever stronger
need for quality services regardless of the market segment. This matter presents several
bottlenecks, particularly in Italian tourism supply, with the presence of an entrepre-
neurial system based on small firms without standardized services and industrial
methods. This situation implies also a different rating system from region to region and
within the same region. In order to create an accumulation of knowledge on innovation
technology, public policies and tourism sector, this research is focused on Campania
region analyzing cloud Tourism as changing process.
The term “cloud Tourism” was coined as a result of the rapid developments in
information and communication technologies (ICTs) and their applications to the
sector. Cloud Tourism is one of the most representative paradigms of the knowledge
economy and represents an emerging investigative field for researchers and practi-
tioners [16, 23]. Due to its capacity to provide tourist organizations with a huge and
varied amount of data, from which it is possible to gain invaluable insights [25] about
customers views, preferences, needs and attitudes [10, 13], cloud Tourism is being
acknowledged as a key source of value for Local Tourist Districts (LTD). In this
perspective the aim of the research is to analyze the Local Tourist Districts (LTD) in the
Campania region (Italy) so as to identify value enhancing elements in LTD perfor-
mance. The eTourism and cloud solutions, offer ample opportunities to improve the
performance value. The strengths of the sector include the wealth of natural, historical
and cultural heritage [31] assets of the Campania region. On the other hand, the digital
divide and the organizational bottlenecks represent the main weaknesses. A competi-
tiveness-enhancing decision making policy related to cloud tourism has been devised
and implemented in the region but the process is still in its early stages. Nevertheless,
two important issues emerge from the investigation and the international research
findings on the subject (WTTC, 2017):
• citizens’ increasing expectations in terms of digital services and of promotion of
local economic development;
• the tendency of many LTDs to turn to technology for answers.
Italy’s and Campania’s LTDs, have for some years, acknowledged the importance
of managing tourist information as a result of the amount of data generated by the
increase in tourist presences and made available by ICTs. E – tourism and in
particular the cloud economy, could aid LTDs in driving economic vitality by
ensuring:
• more efficient service cost management;
• improvement of service delivery to citizens;
• transformation of the business model.
All of the local districts would benefit from a management approach based on the
pursuit of these three objectives, as on the one hand, they all compete to attract new
presences, confirm returns and extend visitors’ stay and, on the other hand, they all
need to address two major issues:
– more domestic than foreign tourism (senior citizens, young people, business visitors
and families);
– data access and management.
As to the first issue, the question is how to attract more foreign visitors i.e. how to
enhance the Destination Management Organization (DMO) [4] so as to ensure com-
prehensive and sustainable solutions. As to the second issue, the question is how to
improve ICT management. The technology is, in fact, readily available and accessible
but in the case of many districts several factors such as the lack of competencies, skills,
infrastructure and management ability have a negative impact on customer fruition and
service delivery. For example, limited access to any kind of digital information can
result in a delayed, partial or negative assessment or feedback concerning the stay at the
chosen destination [4, 34]. Visitors require information delivery, possibly in real time,
before during and after the stay, so collection, storage [29], information flow pro-
cessing and big data management, play a strategic role and therefore the cloud can be a
strong accelerator for the growth in such an information intensive sector. The paper
aims to define and develop a methodology in order to evaluate the different levels of
cloud Tourism implementation in the analyzed districts. Furthermore, the study focuses
on the correlation between created value, ICT implementation and eventual increased
number of visitors to verify with the application of the methodology on the context of
Campania’s LTDs. In the next sections the literature review with focus on the theory
and its operational applications are presented. The conclusions highlight the future
implications of this research.
Italian Cloud Tourism as Tool to Develop LTD Economic Vitality 611
2 Literature Review
2.1 Categories of Innovation in the Tourism Sector
The Schumpeterian approach to innovation categories was applied to the tourism sector
by Hall [22], Weiermair [35]. Starting from different research topics, they identified the
main body of four innovation categories: product or service, process,
organizational/managerial, and market Innovation. Over the last decades these four
categories, were modified by Information and Communication Technology (ICT) [7].
Information and Communication Technology (ICT) represents a main agent for process
innovations. Yuan, Gretzel, and Fesenmaier [37] underline how ICT modifies the
organizational features and specific managerial objectives. Furthermore Blake, Sinclair,
and Soria [3] demonstrate that ICTs improve the outcomes and produce positive effects
when they are combined, for example, with other strategic and managerial actions such
as competence building and HRM (Human Resources Management). In addition, ICTs
are generating rapid innovation impacts also in [19] eTourism, and creating new
marketing tools, such as the Cloud, useful in customer profiling. However, several
aspects of the development still require further analysis.
Use 10-point type for the name(s) of the author(s) and 9-point type for the address
(es) and the abstract. For the main text, please use 10-point type and single-line
spacing. We recommend the use of Computer Modern Roman or Times. Italic type
may be used to emphasize words in running text. Bold type and underlining should be
avoided.
Papers not complying with the LN style will be reformatted. This can lead to an
increase in the overall number of pages. We would therefore urge you not to squash
your paper.
can be used for mobile booking, online [28] payment, information access, and self-
entertainment during travel [1]. The combination of Artificial intelligence and the cloud
entails that a computer-based system has problem-solving, data storage and human
language understanding capabilities [34]. This technology can be employed to forecast
tourist flow, evaluate tourism services, handle tourist crowding, issue emergency
tourism alerts, and so on [36]. In this sense the cloud has changed the traditional tourist
services and therefore the tourist sector needs to become electronic to respond to the
demand for new tourism services.
3 Methodology
The data [21] should be acquired through questionnaires submitted to all the top level
managers of the analyzed units. The questionnaire consists in 30 pre – developed
macro-area questions, with 15 sub-questions each. Likert (scale) statements should be
used to assess the degree of criticism with respect to each particular item. The dif-
ferentiation of organization typology, proactive, participated and insensitive, was based
on Schein’s approach [30]. Specifically, respondents should be asked to indicate the
level of criticism on a seven point scale, ranging from “highly critical” (7) to “slightly
Italian Cloud Tourism as Tool to Develop LTD Economic Vitality 613
critical” (1) for each item. The collected data should be statistically analyzed using the
Statistical Package for the Social Sciences version 22.0. The 30 macro area questions
should be explored by principal components factor analysis and varimax rotation,
which will result in a four factor solution. Factor analysis is the tool will be used to
investigate variable relationships for complex concepts. It will allow to examine
concepts that are not easily measured directly by reducing a large number of variables
into a few interpretable factors related to the analyzed context. Each factor took into
account a certain amount of the overall variance in the observed variables, and the
factors should be itemized according to the amount of variation they will show. The
purpose of the factor analysis [21] is to transform the statements into a set of factor
combinations capable of synthesizing the characteristics of an organization type. The
internal consistency of each factor should be examined by Cronbach’s alpha tests and
which will show how strictly related as a group a set of items is. They should be used as
a measure of scale reliability. Considering that the alpha test does not allow for the
measurement of the scale unidimensionality, an exploratory factor analysis should be
performed to check such a dimensionality. Cronbach’s alpha, as a coefficient of reli-
ability, can be written as a function of the number of test items and the average inter-
correlation among the items. Below, the formula for the standardized Cronbach’s
alpha:
N c
a¼ ð1Þ
v þ ðN 1Þ c
References
1. Adukaite, A., Reimann, A.M., Marchiori, E., Cantoni, L.: Hotel mobile apps. The case of 4
and 5 star hotels in European German-speaking countries. In: Xiang, Z., Tussyadiah, L.
(eds.) Information and Communication Technologies in Tourism 2014, pp. 45–47. Springer,
Cham (2013)
2. Ali, A., Frew, A.J.: ICT and sustainable tourism development: an innovative perspective.
J. Hospitality Tourism Technol. 5(1), 2–16 (2014)
3. Blake, A., Sinclair, M.T., Soria, J.A.C.: Tourism productivity: evidence from the United
Kingdom. Ann. Tourism Res. 33(4), 1099–1120 (2006)
4. Bokunewicz, J.F., Shulman, J.: Influencer identification in Twitter networks of destination
marketing organizations. J. Hospitality Tourism Technol. 8(2), 205–219 (2017)
5. Buhalis, D., Licata, M.C.: The future eTourism intermediaries. Tourism Manag. 23(3), 207–
220 (2002)
6. Buhalis, D.: eTourism: information technology for strategic tourism management. Pearson
(Financial Times/Prentice Hall) (2003)
7. Buhalis, D., Law, R.: Progress in information technology and tourism management. 20 years
on and 10 years after the Internet – the state of eTourism research. Tourism Manag. 29, 609–
623 (2008)
8. Buhalis, D., O’Connor, P.: Information communication technology revolutionizing tourism.
Tourism Recreat. Res. 30(3), 7–16 (2005)
9. Buhalis, D., Amaranggana, A.: Smart tourism destinations. In: Xiang, Z., Tussyadiah, L.
(eds.) Information and Communication Technologies in Tourism 2014, pp. 553–564.
Springer, Cham (2013)
10. Canhoto, A.I., Clark, M.: Customer service 140 characters at a time: the users’ perspective.
J. Mark. Manag. 29(5–6), 522–544 (2013)
11. Caragliu, A., Del Bo, C.D., Nijkamp, P.: Smart cities in Europe. J. Urban Technol. 18(2),
65–82 (2011)
12. Connell, J., Reynolds, P.: The implications of technological developments on tourist
information centers. Tourism Manag. 20(4), 501–509 (1999)
13. Choudhury, M.M., Harrigan, P.: CRM to social CRM: the integration of new technologies
into customer relationship management. J. Strateg. Mark. 22(2), 149–176 (2014)
14. Chui, M., Loffler, M., Roberts, R.: The Internet of things. McKinsey Q. 2, 1–9 (2010)
15. Dredge, D.: Destination place planning and design. Ann. Tourism Res. 26(4), 772–791
(1999)
16. Erickson, S., Rothberg, H.: Big Data and knowledge management: establishing a conceptual
foundation. Electr. J. Knowl. Manag. 12(2), 108–116 (2014)
17. European Commission: Measuring the economic impact of cloud computing in Europe
(2016)
18. Fodor, O., Werthner, H.: Harmonise: a step toward an interoperable eTourism marketplace.
Int. J. Electr. Commer. 9(2), 11–39 (2005)
19. Go, F.M., Lee, R.M., Rosso, A.P.: E-heritage in the globalizing society: enabling cross-
cultural engagement through ICT. Inf. Technol. Tourism 6(1), 55–68 (2003)
20. Gretzel, U.: Intelligent systems in tourism: a social science perspective. Ann. Tourism Res.
38(3), 757–779 (2011)
21. Hair, J.F., Anderson, R.E., Tatham, R.L., Black, W.C.: Multivariate Data Analysis with
Readings. Prentice-Hall, Hemel Hempstead (1995)
22. Hall, C.M.: Innovation and tourism policy in Australia and New Zealand: never the twain
shall meet? J. Policy Res. Tourism Leisure Events 1(1), 2–18 (2009)
Italian Cloud Tourism as Tool to Develop LTD Economic Vitality 615
23. Law, R., Buhalis, D., Cobanoglu, C.: Progress on information and communication
technologies in hospitality and tourism. Int. J. Contemp. Hospitality Manag. 26(5), 727–750
(2014)
24. Michopoulou, E., Buhalis, D., Michailidis, S., Ambrose, I.: Destination management
systems: technical challenges in developing an eTourism platform for accessible tourism in
Europe. In: Sigala, M., Mich, L., Murphy, J. (eds.) Information and Communication
Technologies in Tourism 2007, pp. 301–310. Springer, Wien (2007)
25. Morabito, V.: Big Data and Analytics: Strategic and Organizational Impacts. Springer,
Berlin (2015)
26. Pearce, D.G.: Tourist district in Paris: structure and functions. Tourism Manag. 19(1), 49–65
(1998)
27. Pühretmair, F.: It’s time to make eTourism accessible. In: Miesenberger, K., Klaus, J.,
Zagler, W., Burger, D. (eds.) Computers Helping People with Special Needs. Proceedings
9th International Conference, ICCHP 2004, Paris, France, July 2004, pp. 272–279. Springer,
Berlin (2004)
28. Reino, S., Alzua-Sorzabal, A., Baggio, R.: Adopting interoperability solutions for online
tourism distribution: an evaluation framework. J. Hospitality Tourism Technol. 7(1), 2–15
(2010)
29. Sahin, I., Gulmez, M., Kitapci, O.: E-complaint tracking and online problem-solving
strategies in hospitality management: plumbing the depths of reviews and responses on
TripAdvisor. J. Hospitality. Tourism Technol. 8(3), 372–394 (2017)
30. Schein, E.H.: Organizational Culture and Leadership, 3rd edn, pp. 193–222. Wiley, Jossey-
Bass (2010)
31. Scuderi, R.: Special focus: local resources for tourism – from impact to growth. Tourism
Econ. 24(3), 294–296 (2018)
32. Soteriades, M.: Tourism destination marketing: approaches improving effectiveness and
efficiency. J. Hospitality Tourism Technol. 3(2), 107–120 (2012)
33. Tavares, J.M., Neves, O.F., Sawant, M.: The importance of information in the destination on
the levels of tourist satisfaction. Int. J. Tourism Policy 8(2), 129–146 (2018)
34. Wang, C.: Predicting tourism demand using fuzzy time series and hybrid grey theory.
Tourism Manag. 25(3), 367–374 (2004)
35. Weiermair, K.: Product improvement or innovation: what is the key to success in tourism?
In: OECD. (ed.) Innovation and Growth in Tourism, pp. 53–69. OECD, Paris (2006)
36. Zhang, M., Yang, W.: Fuzzy comprehensive evaluation method applied in the real estate
investment risks research. Phys. Procedia 24, 1815–1821 (2012)
37. Yuan, Y.L., Gretzel, U., Fesenmaier, D.R.: The role of information technology use in
American convention and visitor bureaus. Tourism Manag. 27(3), 326–341 (2006)
Auto-scaling in the Cloud: Current Status
and Perspectives
1 Introduction
Nowadays cloud computing systems are attractive and extensively used. This
popularity is mainly linked to the possibility to lease low-cost computing
resources, thus avoiding huge investments for the purchase of proprietary and
rapidly obsolescing computing infrastructures. Moreover, elasticity is a signif-
icant feature of cloud environments: it is the ability of a system to adapt to
workload changes and represents a key factor to ensure Quality of Service (QoS)
requirements. As a matter of fact, in the NIST definitions “rapid elasticity” and
“on-demand self-service” (the enabler of elasticity) are considered core features
of cloud computing [19].
Tools that allow to change the amount of leased computing resources accord-
ing to some kind of user-generated or self-managed, autonomic input are called
auto-scalers. These can be extraordinarily powerful instruments, but they also
pose challenging issues that need to be addressed. In particular:
policies. One of the main challenges in the field of resource provisioning concerns
the distribution of resources to applications, so as to reduce power consumption
and costs. Many recent studies have addressed this problem.
In [15] the authors propose a resource prediction model based on double
exponential smoothing. Besides considering the current state of resources, the
system also takes into account historical data. The experiments performed on
the CloudSim simulator show a good model accuracy. In [9] Bankole and Ajila
describe cloud client prediction models for the TPC-W benchmark web applica-
tion using three machine learning techniques: Support Vector Machine (SVM),
Neural Networks (NN) and Linear Regression (LR). They also use the SLA met-
rics for Response Time and Throughput as input parameters to the chosen pre-
diction models. As an improvement of this work, in [6] the authors implemented
their model on a public cloud infrastructure (Amazon EC2) by extending the
experimentation time by over 200% and using random workload pattern. In
both cases the Support Vector Machine turned out to be the best model. Paper
[11] proposes mechanisms for autonomic service provisioning, implemented in a
prototype and tested using Wikibench, a benchmark that replays real workload
obtained from Wikipedia access traces. The experiments show that the system is
self-adaptable respect to the workload fluctuations. Paper [10] proposes an auto-
matic provisioning solution for multi-tier applications called AutoMAP. It allows
both horizontal and vertical auto-scaling. The system is tested using the RUBiS
benchmark on a real cloud architecture. Another hybrid solution is provided by
Moltó et al. [21]. They propose a system providing automatic vertical elasticity,
adapting the memory size of the VMs to their current memory consumption.
The system uses live migration to prevent overload scenarios, without downtime
for the VMs.
4 Auto-scaling Implementations
In this section, we analyze some existing auto-scaling solutions, including those
used by several commercial cloud providers.
Amazon Web Service (AWS) offers an auto-scaling service in the IaaS EC2
(Elastic Compute Cloud) public cloud [1]. An Auto Scaling Group (ASG) is char-
acterized by the configuration of the virtual machines that will be part of the
group. The Auto Scaling Group maintains EC2 instances in the group by per-
forming a periodic health check. If any instance becomes unhealthy, it is stopped
and replaced with another instance within the group. Another fundamental com-
ponent is the Launch Configuration. It is a template used by Auto Scaling Group
to launch EC2 instances. It allows to specify the Amazon Machine Image (AMI)
(instances type, key pair, and security groups, etc.) during the launch configu-
ration step. Finally, the Scaling Plans specify when and how to scale. There are
several ways to scale within the Auto Scaling Group:
• Maintaining current instance level at all times: maintenance of a
fixed number of running instances in the Auto Scaling Group. If an instance
becomes unhealthy, it is immediately replaced.
• Manual scaling: once the group capacity is specified, auto-scaling maintains
the instances with updated capacity.
• Scale based on schedule: this approach can be used when traffic peaks are
expected. In this case scaling actions are performed based at specific times.
• Scale based on demand: with this approach resources scale by using a
scaling policy. It is possible to scale in or out considering specific parameters
(CPU utilization, Memory, Network In and Out, etc.).
Amazon AWS supports only horizontal auto-scaling out-of-the-box. Vertical
auto-scaling is possible by harnessing the AWS services (e.g., by the CloudFor-
mation(CF) templates, CloudWatch alarms, SNS and Lambda).
622 M. Catillo et al.
5 Research Directions
Until the end of the first decade of the new millennium, the auto-scaling prob-
lem was addressed mainly from the datacenter management point of view and it
Auto-scaling in the Cloud: Current Status and Perspectives 623
was strictly related to resource scheduling problem. The research focused on the
optimal allocation of many-task applications over existing resources, in order to
minimize resource usage, reduce energy consumption and so on. According to
the state of art, currently auto-scaling in infrastructures is no more a technolog-
ical issue: existing tools are able to scale both horizontally and vertically in an
almost transparent way for the upper layers, thanks to virtualization, containers
and balancers. In fact, auto-scaling is even offered as a commercial service (as
discussed in Sect. 4).
Nowadays the problem is decoupled: auto-scaling is offered as a service to
the application, and the requested resources are independently scheduled on the
lower physical infrastructural layer, aiming at optimizing resource consumption,
especially for energy-aware considerations. In practice, the auto-scaling problem
moves from the infrastructure level up to the application level: scaling should
be done taking into account the single application behavior, adapting to the
workload it is subject to, not considering the load of many-task applications.
At the state of art, infrastructures offer the capability to scale, while it is
up to the application to make a decision on when, how and how much to scale.
As a consequence, the research topics change and can be summarized as follows:
(i) auto-scaling policy definition and design, (ii) comparison and benchmarking
auto-scaling tools, (iii) definition of auto-scaling metrics and performance figures,
(iv) trade-off among scaling and costs and finally (v) protection against Economic
Denial of Sustainability or Fraudulent cloud Resource Consumption attacks.
The first and clear open research point is the need for techniques and lan-
guages to design and express scalability policies in a way that is as much as
possible vendor- and technology-independent, being at the same time able to
catch the application behavior and to define the criteria and logic needed to
scale.
Regarding the second point, comparison and benchmarking auto-scaling tools,
even if the technologies are nowadays commonly available, at the best of author’s
knowledge there is not a commonly accepted reference architecture for auto-
scaling tools, and no stable benchmarks that enable a comparison among the
different techniques and solutions on the market. This is clearly an open issue:
being the auto-scaling delegated to the application, together with the associated
costs, it is relevant to know how well the auto-scaling tool will react and imple-
ment the requested policy. Performance indicators should be correctly identified
in order to evaluate well and to implement the scaling policies.
The need for benchmarks opens up a research area even for new metrics
and indicators (see point (iii) above), able to express in a clear way the over-
head introduced, how it affects the scaling policy and, overall, the scaling qual-
ity. In this field, one of the most innovative aspects is to devise metrics tak-
ing into account the relationship with costs, as turning out from a pay-per-use
resource usage. While at infrastructure level the resources are almost fixed and
the costs are mainly considered to optimize their use and/or to reduce energy
dissipation (obtained reducing the amount of resources adopted), moving the
scaling problem at application level implies a direct effect of scaling on costs:
624 M. Catillo et al.
6 Conclusions
Auto-scaling is no more a technological issue, as its adoption opens up to a lot
of new problems and opportunities to be addressed from research point of view.
Our research team is now working on a set of new performance figures able to
benchmark, evaluate and compare auto-scaling tools. The objective is to devise
a methodology that, taking into account such parameters, can produce in an
automated way an auto-scaling policy. This policy should be provided using a
formalism that allows its implementation over existing services and tools. The
proposed methodology should be able not only to optimize resource usage and
manage the trade-off among costs and performance, but even to take into account
the risks due to the EDoS attacks.
References
1. https://aws.amazon.com/it/autoscaling/
2. https://azure.microsoft.com/en-in/features/autoscale/
3. https://www.rackspace.com/cloud/auto-scale
4. https://cloud.google.com/appengine/docs/
5. https://go.cloudbees.com/docs/plugins/vmware/
6. Ajila, S.A., Bankole, A.A.: Cloud client prediction models using machine learn-
ing techniques. In: 2013 IEEE 37th Annual Computer Software and Applications
Conference, pp. 134–142 (2013)
7. Amiri, M., Mohammad-Khanli, L.: Survey on prediction models of applications for
resources provisioning in cloud. J. Netw. Comput. Appl. 82(C), 93–113 (2017)
8. Assuncao, M., Cardonha, C., Netto, M., Cunha, R.: Impact of user patience onauto-
scaling resource capacity for cloud services. Future Gener. Comput. Syst. 55, 41–50
(2015)
9. Bankole, A.A., Ajila, S.A.: Cloud client prediction models for cloud resource provi-
sioning in a multitier web application environment. In: 2013 IEEE 7th International
Symposium on Service-Oriented System Engineering, pp. 156–161 (2013)
Auto-scaling in the Cloud: Current Status and Perspectives 625
1 Introduction
The question is not if Cloud computing should be used, but how: There are
concerns about private data, and consequently the simultaneous use of private
and public Cloud; there are questions about vendor lock-in and portability; there
are questions about the best deployment models, like deploy a Virtual Machine
(VM) and a database in that machine, or use a database as a service offered in
the Cloud; there are questions about scalability and maintenance of the deployed
application as application use and Cloud offerings evolve over time. Furthermore,
applications in the future will need to relate to major IT-trends1 like wearable
devices and sensors, mobility of users, and strong security requirements.
1
https://www.iqvis.com/blog/cloud-computing-predictions-2020/.
This work has received funding from the European Union’s Horizon 2020 research and
innovation programme under grant agreement No. 731664 MELODIC: Multi-cloud
execution-ware for large-scale optimised data-intensive computing; and grant agree-
ment No. 731533 DECIDE: Multicloud applications towards the digital single market.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 626–637, 2020.
https://doi.org/10.1007/978-3-030-33509-0_59
Patterns for Cloud Application Life-Cycle Management 627
Today, a decade into the era of Cloud computing, the situation is similar to
the one faced a decade into the era of object-oriented programming when soft-
ware systems grew in complexity making them exponentially harder to develop
and maintain. There was a need for abstractions [30] and the identification of best
practices, which gave raise to what became known as design patterns [10]. With
growing software system complexity this again led to architectural patterns [26],
and recently to microservices patterns [6] to help the design of distributed appli-
cations in the Cloud.
Even though such patterns capture the best practices and may help the design
and initial deployment of Cloud applications, the current state of the art fails to
capture the dynamic nature of Cloud applications. The Cloud deployment must
react to variations in use, adopt new Cloud services, and exploit new capabili-
ties offered by Edge and Fog devices, or within data centers offering GPUs or
dedicated processors for AI. The Cloud services, virtual and physical resources,
and their combinations – in the core Cloud, at the Edge, or in the Fog – will
herein be referred to collectively as Cloud capabilities.
Autonomic computing [20] applied to the application Cloud deployment can
remedy some of the concerns above. This requires a continuous feedback con-
trol loop: Monitor, Analyse, Plan, Execute—with Knowledge (MAPE-K) [17].
There are already successful utility based approaches to autonomic application
configuration management in context aware mobile computing [22] and ubiq-
uitous computing systems [28]. In the novel Multi-cloud Execution ware for
Large scale Optimised Data Intensive Computing2 (MELODIC) framework these
approaches are extended to Cross-Cloud autonomic application deployment and
run-time management [14]. These approaches assume that the application to be
deployed can be modeled as a set of interconnected components or objects [25],
and there are many frameworks based on dialects of cloud modeling languages [2].
MELODIC exploits the application model in The Cloud Application Modelling
and Execution Language (CAMEL) [1], and can thus be seen as a complete mod-
elsrun.time [16] framework that has already been successfully applied to several
demanding Computational Intelligence (CI) [19] applications [15].
An issue with this approach is the Planning part of the MAPE-K loop since
finding the best application configuration for a given execution context is a com-
binatorial optimization problem whose time complexity is typically exponential
in the number of application components, and possibly also the Cloud capa-
bilities offered by the Cloud providers that may host the application’s compo-
nents. The complexity of the problem remains hard even though it is possible in
many cases to find algorithms that work well for smaller configurations, e.g. an
adapted and improved version of the Nondominated Sorting Genetic Algorithm
II (NSGA-II) [21] is used in the DECIDE3 project to optimize the problem of
selecting the most appropriate cloud services for an application that needs to
comply with a set of non-functional requirements [24].
2
https://melodic.cloud/.
3
https://www.decide-h2020.eu/.
628 G. Horn et al.
3 Deployment Patterns
Microservices are a key pattern both in terms of software engineering and in
terms of software management in terms of deployment and configuration of
5
https://www.w3.org/.
6
https://www.w3.org/Submission/OWL-S/.
7
https://www.ieee.org/.
8
https://standards.ieee.org/project/2302.html.
630 G. Horn et al.
Fig. 1. The Semantic Model as a graph with five layers highlighting the generic and
provider agnostic side, and the platform and vendor specific side. The semantic rep-
resentations of both sides are fundamental for defining the equivalence among the
different levels and to enable semantic inference and matchmaking within a coherent
pattern based methodology.
9
https://octopus.com/.
10
https://www.ibm.com/support/knowledgecenter/en/linuxonibm/liaag/wecm/
l0wecm00 was deployment manager.htm.
11
https://cloud.google.com/deployment-manager/.
632 G. Horn et al.
5 Application Adaptation
There are many types of Cloud applications. Our vision assumes that the appli-
cation will run over quite some time, and the deployment must therefore consider
the various factors indicated in the previous Sect. 4 life-cycle discussion. Addi-
tionally, the application may have intrinsic variability caused by the data it
processes or caused by the application users. Consider for instance an airline
industry application responsible for scheduling planes, crews certified for some
type of planes, and the passengers. It must be available around the clock, all
days around the year. It may experience variation in demand and use between
day and night, and between week days and weekends. It may see changes in
users’ location as the earth rotates. Finally, if there is a major incident closing
a major airport hub, there may temporary be a large demand for resources to
re-schedule planes, crews and passengers to clear this exceptional situation as
quickly as possible. All of these situations call for the application to be adaptive
to its current execution context.
It will be costly and error prone to have a human DevOps team constantly
monitoring the application and exploiting the elasticity of the Cloud computing
paradigm to provide or to remove resources as the demand fluctuates. Current,
autonomic approaches based on the MAPE-K loop are reactive. In other words,
when some Complex Event Processing (CEP) shows that the monitored sensors
indicate a change in the application’s execution context in the analysis phase,
there must be an efficient planning phase finding a better deployment solution
and executing this solution before the application context has changed again.
The planning phase typically involve solving a combinatorial optimization prob-
lem whose time complexity grows exponentially with the number of factors to
13
https://web.cloudmore.com/.
14
https://www.computenext.com/platform/enterprise-cloud-brokerage.
15
http://www.nephostechnologies.com/technology/hybrid-cloud-management/.
16
https://www.intercloud.com/platform/overview.
17
https://www.ibm.com/us-en/marketplace/cloud-brokerage-solutions.
18
https://www.jamcracker.com/.
19
https://www.decide-h2020.eu.
634 G. Horn et al.
consider for the next deployment. Using anytime algorithms will produce the
new deployment configuration solution within the time window of stability for
the current execution context. However, this may severely impact the solution
quality, and consequently the usefulness of the adapted deployment.
Consequently, it is paramount to reduce the number of factors to consider
in the planning phase. Knowing the software patterns of the application, and
their surjective mapping onto architecture patterns, and the surjective mapping
of these again onto deployment patterns will reduce the decision problem to
select the deployment pattern that is best suited for the application’s current
context. This is essentially a sorting problem that can be solved in polynomial
time. Consider as an example a very simple application with a front-end web-
server and a back-end database. Some deployment patterns can be pre-computed
for these components: They can be co-located on the same VM, they can be
on separate VMs, and the web-server and the database can both be hosted as
services offered by the Cloud platform provider. If cost is the main concern,
the current cost of using any of these three deployment patterns can quickly be
retrieved from the potential Cloud providers, and the less expensive pattern is
selected and enacted.
6 Discussion
The significant rise of Cloud computing models, services and solutions [23], in
conjunction with automatic adaptation platforms create a very complex envi-
ronment for the development and maintenance of modern applications. Also,
modern applications are becoming more complex and integrated with various
sources of data in different ways. Applications may process huge amount of data
in real-time, based on data streams or complex data lakes. On the other hand,
even when using Cloud computing, the cost of computing resources is a signif-
icant element of the whole Total Cost of Ownership (TCO) of an Information
Technology (IT) system. The rising complexity of modern applications requires
dedicated methods to handle this issue. As presented in this paper, by using well
defined, described, implemented, and tested patters, it is possible to reduce the
complexity of modern Cloud applications. It is very important to distinguish the
Cloud deployment patterns and software development patters. The first ones are
dedicated patters representing application architecture, which handle typical sit-
uation for the deployment into the Cloud. Use of these predefined patterns limits
the impact of the complexity of deployment. Also, there is limited need for test-
ing configurations based on these patterns, as they have already been deployed
and tested. On the other hand, it is still the issue of selecting the right pattern
in the certain moment, especially for some applications where different patterns
must be deployed at a various levels of applications use, e.g. high workload or
low workload. Increasing workload would sometimes even require to completely
redeploy the application with a different deployment architecture.
As automatic application management platforms become standard for the
deployment of modern, complex applications, the importance of deployment
Patterns for Cloud Application Life-Cycle Management 635
7 Conclusion
In this paper we have devised and illustrated a preliminary methodology to sup-
port the complex Cloud application life-cycle consisting of designing, developing,
composing and deploying Cloud applications in a multiservice and multiplatform
scenario, which include possible edge and fog integration. Our proposal is to use
extensively patterns at all stages. We are investigating techniques for automat-
ing the enactment of the different stages of the life-cycle, with use of machine
readable semantic representation of patterns and service, inference, and machine
learning techniques.
References
1. Rossini, A., Kritikos, K., Nikolov, N., Domaschka, J., Griesinger, F., Seybold, D.,
Romero, D., Orzechowski, M., Kapitsaki, G., Achilleos, A.: The cloud applica-
tion modelling and execution language (CAMEL). OPen Access Repositorium der
Universität Ulm, p. 39 (2017). https://doi.org/10.18725/OPARU-4339
2. Bergmayr, A., Rossini, A., Ferry, N., Horn, G., Orue-Echevarria, L., Solberg, A.,
Wimmer, M.: The evolution of CloudML and its applications. In: Paige, R., Cabot,
J., Brambilla, M., Hill, J.H. (eds.) Proceedings of the 3rd International Workshop
on Model-Driven Engineering on and for the Cloud 18th International Conference
on Model Driven Engineering Languages and Systems (MoDELS 2015), vol. 1563,
pp. 13–18. CEUR Workshop Proceedings, Ottawa (2015). http://ceur-ws.org/Vol-
1563/
636 G. Horn et al.
3. Androcec, D., Vrcek, N., Seva, J.: Cloud computing ontologies: a systematic review.
In: The Third International Conference on Models and Ontology-based Design of
Protocols, Architectures and Services, MOPAS 2012, pp. 9–14 (2012)
4. Di Martino, B., Cretella, G., Esposito, A.: Cloud Portability and Interoperability -
Issues and Current Trends. Springer, Berlin (2015). https://doi.org/10.1007/978-
3-319-13701-8
5. Beniamino, D.M., Antonio, E., Giuseppina, C.: Semantic representation of cloud
patterns and services with automated reasoning to support cloud application porta-
bility. IEEE Trans. Cloud Comput. 5(4), 765–779 (2017). https://doi.org/10.1109/
TCC.2015.2433259
6. Richardson, C.: Microservices Patterns: With Examples in Java, 1st edn. Manning
Publications, Shelter Island, New York (2018)
7. Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. 2(9), 24–27 (2014).
http://injoit.org/index.php/j1/article/viewFile/139/104
8. Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a
systematic mapping study. In: CLOSER 2018, pp. 221–232 (2018). https://pdfs.
semanticscholar.org/f6e8/8823482de1729584acbfb450d4502f4d393d.pdf
9. Deng, Y., Head, M., Kochut, A., Munson, J., Sailer, A., Shaikh, H.: Introducing
semantics to cloud services catalogs. In: 2011 IEEE International Conference on
Services Computing (SCC), pp. 24–31 (2011)
10. Gamma, E., Helm, R., Johnson, R., Vlissides, J., Booch, G.: Design Patterns:
Elements of Reusable Object-Oriented Software, 1st edn. Addison-Wesley Profes-
sional, Reading (1994)
11. European Union: Regulation (EU) 2018/1807 of the European Parliament and of
the Council of 14 November 2018 on a framework for the free flow of non-personal
data in the European Union (text with EEA relevance) (2018). http://data.europa.
eu/eli/reg/2018/1807/oj
12. Amato, F., Moscato, F.: Pattern-based orchestration and automatic verification
of composite cloud services. 56 (2016). https://www.sciencedirect.com/science/
article/pii/S0045790616302026
13. Amato, F., Moscato, F.: Exploiting cloud and workflow patterns for the analysis
of composite cloud services. Future Gener. Comput. Syst. 67, 255–265 (2017)
14. Horn, G., Skrzypek, P.: MELODIC: utility based cross cloud deployment optimisa-
tion. In: 32nd International Conference on Advanced Information Networking and
Applications (AINA) Workshops, pp. 360–367. IEEE Computer Society, Krakow
(2018). https://doi.org/10.1109/WAINA.2018.00112
15. Horn, G., Skrzypek, P., Materka, K., Przeździek, T.: Cost benefits of multi-cloud
deployment of dynamic computational intelligence applications. In: Barolli, L.,
Takizawa, M., Xhafa, F., Enokido, T. (eds.) Proceedings of the Workshops of the
33rd International Conference on Advanced Information Networking and Appli-
cations (WAINA-2019). Advances in Intelligent Systems and Computing, vol.
927, pp. 1041–1054. Springer, Matsue (2019). https://doi.org/10.1007/978-3-030-
15035-8 102
16. Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42(10), 22–27
(2009). https://doi.org/10.1109/MC.2009.326
17. IBM: An architectural blueprint for autonomic computing. White Paper Third
Edition, IBM, 17 Skyline Drive, Hawthorne, NY 10532, USA (2005). http://www-
03.ibm.com/autonomic/pdfs/AC%20Blueprint%20White%20Paper%20V7.pdf
18. Dietrich, J., Elgar, C.: A formal description of design patterns using OWL. In:
2005 Australian Software Engineering Conference, pp. 243–250. IEEE Computer
Society, Brisbane (2005). https://doi.org/10.1109/ASWEC.2005.6
Patterns for Cloud Application Life-Cycle Management 637
Abstract. The motivation for this transition comes from the fact that
constantly maintaining a monolithic architecture has resulted in diffi-
culties in keeping up in pace with new development approaches such as
DevOps, calling for deployment several times a day. In contrast, microser-
vices offer a more flexible option, where individual services comply with
the single responsibility principle (SRP), and they can therefore be scaled
and deployed independently. We propose a methodology, starting from a
source code application, that provides a new architecture for the appli-
cation oriented to microservices and deployable on Cloud.
1 Introduction
Lately more and more organizations, have developed a tendency to move existing
enterprise-scale, and mostly, monolithic applications to the cloud. The reasons
to do so are manifold: high availability and redundancy, automatic scaling, easier
infrastructure management and compliance with latest security standards ensure
a more agile and combined flow of development and operation, also referred to
as DevOps [3]. The motivation for this transition comes also from the fact that
monolithic architectures that have grown over years can become large, complex
and in later stages even fossilize, meaning the accumulated technical debt results
in obscure structures that make the product un-maintainable with a reasonable
effort. A new architectural style, referred to as Microservices, promises to address
these issues. It started as a trend in software engineering industry practice which
was first described in detail by Lewis and Fowler [14].
Companies such as Amazon [18], Netflix [17], LinkedIn [10], SoundCloud [5]
and many more have made the transition to microservice architecture because
their existing monolithic application was too hard to maintain, develop and scale.
On the other hand the transition between these quietly different architectures
is not easy e.g. the communication between multiple microservices can introduce
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 638–647, 2020.
https://doi.org/10.1007/978-3-030-33509-0_60
From Monolith to Cloud Architecture 639
performance issues if the services are too fine-grained [20]. One challenge is also
to handle the orchestration of the microservices in production. Luckily in the last
few years many new tools for supporting this have been made such as Kubernetes
[1] and Mesos [2] to name two. The main contribution in this paper is to provide
a general methodology that could support a team in re-factoring a monolith
application thus easing the transition to microservices. The basic idea behind
the proposed methodology is that not everything can be done automatically, but
it is possible to identify the application’s modules that can be used or combined
to obtain a microservices architecture and, then, also produce the skeleton stubs
for the microservices architecture. The remainder of the paper is organized as
follows. In Sect. 2 we will highlight the architecture evolution that in time led to
the birth of microservices architecture; in Sect. 3 we will highlight the current
approaches used for re-factoring and modernizing a monolithic architecture.
2 Roadmap to Microservices
The main difference we observe in the Fig. 1 is that all the features were ini-
tially under a single instance sharing a single database, but then, with microser-
vices, each feature was allocated to a different microservice that handles its own
data, and performs different functionalities.
Finding the seams requires good knowledge about the business use cases.
However, this knowledge should already be in the organization. Either in the
code base, if the monolith has good modular architecture or, even if the modules
are not well defined, then at least the use cases should be clear and defined.
On top of the technical challenges, adopting microservice architecture requires
organizational changes [19], as the teams need to adapt and adjust in an ever
changing environment. The organization needs to adapt accordingly to the new
architecture. This means developing, testing, deploying and taking care of the
service in production. DevOps culture needs to be adopted as teams now need to
deploy, monitor and address issues also in production [12]. Teams have to set up
their own continuous integration (CI) and continuous delivery (CD) pipelines.
In the previous sections we have tried to briefly highlight the challanges that
could be faced when transitioning from monolith to microservices but the chal-
lenges concern the entire microservices paradigm. According to [13] the chal-
lenges with adopting microservices architecture can be divided according to two
different points of view:
There are various technical challenges that needs to be addressed and solved
before adopting a full microservices architecture. When the starting point is a
monolithic application, the organization is most likely already familiar with the
domain and has an idea where the seams of the application can be found. The
biggest problem in these cases is to find and separate these services.
It can take a lot of time and effort to refactor the services out from the mono-
lithic architecture. This is why the refactoring towards microservices should be
done in small steps. Also, when implementing new functionalities, they should
not be appended to the monolithic stack even though it might be faster. Instead,
organizations should expand their microservices offering and add new microser-
vices to replace the old monolithic code. It is extremely important to be careful
when doing this refactoring, because there is the possibility of introducing new
bugs in existing features. This is why good test coverage is needed before starting
this process.
When splitting up the services, attention should also be paid to the fact
that the services do not become too fine-grained. Microservices can introduce
a relevant performance overhead, especially if the communication is done over
network [19]. For example, if the communication is done using REST over HTTP
protocol, each inter-service call adds overhead from the network latency and from
marshalling and un-marshalling the data. If the services are too fine-grained there
642 S. A. Maisto et al.
will be a lot of traffic between them and, as each call adds overhead, the outcome
can be a system that does not perform well enough.
One of the biggest challenges is the integration between different microser-
vices [14]. It is not recommended to tie the integration between services to some
specific technology, because the teams might want to use different programming
languages when implementing services. There are also multiple other challenges
when thinking about the integration of microservices. The microservices inter-
faces should be simple to use and they should have good backwards compatibility.
So when new functionalities are introduced, the clients using the service do not
have to be necessarily updated.
5 Methodology
The proposed methodology was carried out with the aim of providing support
for the re-engineering of old monolithic applications, in favor of new cloud tech-
nologies using a microservices architectural approach.
The goal is to provide the designer with a series of guidelines for the imple-
mentation of the new software and to minimize the task of redesigning the appli-
cation architecture. Another goal is to provide developers with the communica-
tion stubs of the new microservices, so that they can concentrate exclusively on
re-engineering the functionalities.
The proposed methodology consists of three phases: “Decomposition
phase” which deals with identifying a possible microservice architecture starting
from the application source code; “Microservices production and ranking
phase” which deals with producing the communication stubs and ordering the
microservices among them in order to provide a priority index for development;
and “Cloud deployment phase” in which through the annotation of the iden-
tified microservices and thanks to domain ontologies (Cloud Services and Cloud
pattern) it is possible to identify any microservices that can be replaced by cloud
From Monolith to Cloud Architecture 643
services already ready for use, and finally produce a standard deployment model
of the new microservice application.
The objective of this first phase is to identify the new microservices to be devel-
oped, in a first version it was decided to start from any monolithic application
written in JAVA. The process of identifying the proposed microservices is the
following:
the aggregation of the classes. A layered graph model has been identified as a
better solutions (Fig. 3). This model makes it possible to represent the individual
classes identified with the nodes and with the edges the method calls between
the classes. The call direction of the methods was not considered important, i.e.
which class calls the other, since for the analysis to be carried out they have
equal value; for this reason the individual levels of the model are indirect graphs
with weighted edges.
The first level, “Entry level”, consists of as many nodes as the classes
identified through the AST. Each class is connected to other classes by as many
edges as there are methods that are called by the other class and vice versa;
each edge has a weight that indicates how many times that particular method
is called.
The second level, “Edge normalization level”, provides an abstraction of
the underlying level by normalizing the number of edges between classes. For
each pair of classes there is only one weighted edge, where the weight is the sum
of all the weights of the edges between the two classes. The normalization step is
fundamental in order to have a single number (communication rate) to evaluate.
Subsequent levels, “no merged layer”, are used to represent intermediate
class mergers. These mergers are decided by a very simple heuristic “The rate
of communication between two classes must not be greater than X” where X
is an arbitrary value chosen by the designer. The choice of this heuristic is, as
of today, very simplified and not self-explanatory. The purpose here is to the-
oretically validate the methodology taken as a whole, once the methodology is
completed in its very step, this heuristic variable will be the result of a con-
strained optimization problem that would take into account all the necessary
variables.
The last level, “End merged layer”, represents the new microservice archi-
tecture. Each node keeps within it the history of the joint nodes, so as to be able
to better reconstruct the communication stubs.
of the stubs. For each identified microservice a specification document has been
produced that includes within it all the functionalities that the microservice
exposes towards the other microservices.
The microservices ranking is proposed in this phase to give the designer the
priority to follow in the development of the new architecture. As described in
[13] one of the main reasons for the modernization of applications is due to the
obsolescence of the code, i.e. the use of old libraries and deprecated methods.
Even in this phase, in a very simplistic way, it has been chosen to introduce
only this factor; for this reason, for each microservice the deprecated parts of
code used are identified using a knowledge base. The microservice that has more
deprecated code is the first candidate for reengineering, the rest of them are
ordered according to the same logic.
646 S. A. Maisto et al.
In the last phase of the methodology the new microservices architecture is eval-
uated and the microservices that can be replaced by services offered in the cloud
are identified; finally a model is produced that can allow an easy deployment of
the application. The Fig. 5 shown these phases.
In [7] a framework for the semantic representation of RESTful API of IoT
devices has been proposed, in this work the same semantic model, based on
OWL-S [15], is used to semantically represent the identified microservices. This
semantic model is the basis of an inferential engine that, exploiting different
knowledge bases, such as the semantic representation of cloud services, described
in [16], the semantic representation of cloud pattern, described in [6], and more
generally any semantic representation of applications and cloud services allows
you to identify services that can replace the microservices of the new architecture.
The last step is to produce a standard model that can be used for application
deployment. The OASIS standard “Topology and Orchestration Specification for
Cloud Applications” (TOSCA) [22] has been identified as a reference standard.
The standard allows to represent the complete architecture of a complex system
and to create a model that can then be used for the deployment of the application
or, in the case of this work, in the deployment of the new microservices identified.
The methodology proposed in this phase involves the automatic creation of
a file, following the TOSCA syntax, which contains, for each microservice, all
the information necessary for its deployment. Thanks to the use of the OpenAPI
model it is possible to produce the code to be inserted in the TOSCA Implenta-
From Monolith to Cloud Architecture 647
tionArtifact and produce CSAR packages that can, in turn, be executed through
the tools that support the TOSCA specification, such as OpenTosca [4].
Acknowledgement. This work has received funding from the Campania Regional
Government, under the project “Linee Guida e Proposte per I 4.0 Campania”.
References
1. Kubernetes (2017). https://kubernetes.io/
2. Mesos (2017). https://mesos.apache.org/
3. Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-
Wesley Professional, Boston (2015)
4. Binz, T., Breitenbücher, U., Haupt, F., Kopp, O., Leymann, F., Nowak, A., Wag-
ner, S.: OpenTOSCA–a runtime for TOSCA-based cloud applications. In: Interna-
tional Conference on Service-Oriented Computing, pp. 692–695. Springer (2013)
5. Calçado, P.: Building products at soundcloud—part i: dealing with the monolith.
Dosegljivo (2014). https://developers.soundcloud.com/blog/building-products-at-
soundcloud-part-1-dealing-withthe-monolith
6. Di Martino, B., Esposito, A., Cretella, G.: Semantic representation of cloud pat-
terns and services with automated reasoning to support cloud application porta-
bility. IEEE Trans. Cloud Comput. 5(4), 765–779 (2015)
7. Di Martino, B., Esposito, A., Maisto, S.A., Nacchia, S.: A semantic IoT framework
to support RESTful devices’ API interoperability. In: 2017 IEEE 14th International
Conference on Networking, Sensing and Control (ICNSC), pp. 78–83. IEEE (2017)
8. Feathers, M.: Working Effectively with Legacy Code. Prentice Hall Professional,
Upper Saddle River (2004)
9. Fowler, M.: Microservice premium. Saatavissa, May 2015. http://martinfowler.
com/articles/microservices.html
10. Ihde, S.: InfoQ—from a monolith to microservices 1 rest: the evolution of LinkedIn’s
service architecture (2015)
11. Initiative, O., et al.: OpenAPI specification. Retrieved from GitHub, 1 (2017).
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0
12. Jamshidi, P.: Microservices architecture enables DevOps
13. Kalske, M., et al.: Transforming monolithic architecture towards microservice
architecture (2018)
14. Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term.
Mars (2014)
15. Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S.,
Narayanan, S., Paolucci, M., Parsia, B., Payne, T., et al.: OWL-S: Semantic
markup for web services. W3C member submission 22(4) (2004)
16. Martino, B.D., Cretella, G., Esposito, A., Carta, G.: An owl ontology to support
cloud portability and interoperability. Int. J. Web Grid Serv. 11(3), 303–326 (2015)
17. Mauro, T.: Adopting microservices at Netflix: lessons for architectural design
(2015). https://www.nginx.com/blog
18. Munns, C.: I love APIs 2015: microservices at Amazon (2015)
19. Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly
Media, Inc., Newton (2015)
20. Richards, M.: Microservices AntiPatterns and pitfalls (2016)
21. Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly Media, Inc., Newton
(2008)
22. Standard, O.: Topology and orchestration specification for cloud applications ver-
sion 1.0 (2013)
Reinforcement Learning for Resource
Allocation in Cloud Datacenter
1 Introduction
The Cloud, as of today, is a widely used computing model that enables con-
venient, on-demand network access to a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications, and services) that can
be rapidly provisioned and released with minimal management effort or service
provider interaction [9]. In the cloud computing paradigm, all ICT resources are
“virtualised” as datacenter facilities and are operated by third party providers
[15–17]. Cloud computing data-centers employ virtualisation technologies that
2 Resource Management
The cloud is quite appealing because of its ability to reduce capital expenditures
and increase return on investment, since the traditional model, where physi-
cal hardware and software resources were bought and managed is no longer an
option, due to its time and cost consuming management, which often has resulted
in a poor quality of service. In fact many approaches often face workload and
system changes that affect their performance during over time.
The cloud, first, must be able to handle large fluctuating loads; of course
some situations are quite predictable, e.g. like the promotion of a new feature.
In these cases resources can be provisioned in advance through the use of proven
techniques like scaling and balancing. However, for unplanned usage spikes or
other kinds of events, even more sophisticated solutions cannot ensure the best
results.
650 S. Venticinque et al.
This is one of the main reasons why companies rely on the cloud infrastruc-
ture: as it grants features, like autoscaling mechanisms, as a way to automatically
adjust resources allocated to applications based on their needs at any given time.
On the contrary if the resources were managed directly by the companies, these
scaling mechanisms should be programmed specifically by the companies.
In addition, auto-scaling seems to be a lot more justified when it comes
to handle changes in applications (following software improvements). The core
features of auto-scaling are a pool of available resources that can be pulled or
released on-demand and a control loop to monitor the system and decide in
real time whether it needs to grow or shrink [3]. In this scenario the burden of
ensuring the Service Level Agreement (SLA) and Quality of Service(QoS) falls
completely to the cloud data-centers.
Thus a cloud data-center has to constantly handle numerous requests for the
currently running applications and these demands also vary quite rapidly. Due to
continuous arrival and departure of workloads, the management for allocation,
migration and the consolidation process across the data center are performed
periodically to ensure stability in the data center and to ensure low overheads.
Another fundamental aspect is that the workload of each service or applica-
tion generally changes over time, as mentioned before, and consequently their
energy consumption and related costs may significantly impact both the cloud
data-center as well as the users.
Thus, it is necessary to adopt specific mechanisms that perform resource
allocation and management, that can be scalable, cost-aware and energy-aware
in order to efficiently:
usage patterns. The unpredictable and changing requests need to run on data-
center resources across the Internet.
The aim of resource allocation for any particular cloud provider can be either
optimize QoS of applications or improve resource utilization and energy effi-
ciency. The main objective is to optimize QoS parameters, e.g. response time,
which measure the efficiency of resource allocation regardless of the type of ICT
resources allocated to end-users.
The optimized QoS parameters can be any measure such as time, space, bud-
get, and communication delay. Some of the challenges associated with energy effi-
cient resource allocation policies, which have been identified also in [5], include:
– Choosing the best allocation according to characteristics such as resource
usage, performance, and power consumption.
– Evaluating the inter-dependencies between workloads that may reside on the
same physical node
– Provisioning of resource allocation and utilization at run time by evalu-
ating the possibility of centralized, federated, and standardized datacenter
resources.
– Increasing performance by assessing application inter-dependencies to facili-
tate resource consolidation.
3 Related Work
The current state of the art, regarding not only the resource allocation problem
but, more generally, the resource management, comprises a plethora of works.
To the best of our knowledge, most of them set as primary objective the energy
efficiency of the resource management mechanisms while focusing on the optimal
scheduling and allocation of the virtual machines.
Nathuji and Schwan [10] have studied power management techniques in the
context of virtualized data centers. Besides hardware scaling and VMs consol-
idation, the authors have introduced and applied a new power management
technique called “soft resource scaling”. The idea is to emulate hardware scal-
ing by providing less resourcetime for a VM using the Virtual Machine Moni-
tor’s (VMM) scheduling capability. Raghavendra et al. [11] have investigated the
problem of power management for a data center environment by combining and
coordinating five diverse power management policies. The authors explored the
problem in terms of control theory and applied a feedback control loop to coor-
dinate the controllers’ actions. It is claimed that, similarly to [10], the approach
is independent of the workload type. Like most of the previous works, the sys-
tem deals only with the CPU management. Verma et al. [14] have formulated the
problem of power-aware dynamic placement of applications in virtualized hetero-
geneous systems as continuous optimization: at each time frame the placement of
VMs is optimized to minimize power consumption and maximize performance.
All these cited work focus on more classic techniques for improving resource
management, while more recently machine learning techniques have been exten-
sively used for the same purpose. Specifically the advanced field of reinforcement
652 S. Venticinque et al.
learning is more and more establishing itself as a major technique for resource
management.
In [19] the authors presents a unified reinforcement learning approach, namely
URL, to automate the configuration processes of virtualized machines and appli-
ances running in the virtual machines. The approach lends itself to the applica-
tion of real-time autoconfiguration of clouds. It also makes it possible to adapt
the VM resource budget and appliance parameter settings to the cloud dynam-
ics and the changing workload to provide service quality assurance. Dutreilh et
al. [3] propose to deal with these problems using appropriate initialization for
the early stages as well as convergence speedups applied throughout the learn-
ing phases and we present their first experimental results for these. They also
introduce a performance model change detection on which we are currently work-
ing to complete the learning process management. [4] propose a Reinforcement
Learning-based Dynamic Consolidation method (RL-DC) to minimize the num-
ber of active hosts according to the current resources requirement. The RL-DC
utilizes an agent to learn the optimal policy for determining the host power mode
by using a popular reinforcement learning method. [20], inspired by the success of
Deep Reinforcement Learning (DRL) on solving complicated control problems,
present a novel DRL-based framework for power-efficient resource allocation in
cloud RANs. Specifically, the authors defines the state space, action space and
reward function for the DRL agent, apply a Deep Neural Network (DNN) to
approximate the action-value function, and formally formulate the resource allo-
cation problem as a convex optimization problem. [8] propose a novel hierarchi-
cal framework for solving the overall resource allocation and power management
problem in cloud computing systems. The proposed hierarchical framework com-
prises a global tier for VM resource allocation to the servers and a local tier for
distributed power management of local servers. The emerging deep reinforcement
learning (DRL) technique, which can deal with complicated control problems
with large state space, is adopted to solve the global tier problem. Furthermore,
an autoencoder and a novel weight sharing structure are adopted to handle the
high-dimensional state space and accelerate the convergence speed. On the other
hand, the local tier of distributed server power managements comprises an LSTM
based workload predictor and a model-free RL based power manager, operating
in a distributed manner.
U d
Ni (SN , fN , P tN , rN , rN , StN , PN )
Where SN is the storage size of the node, fN are the CPU cycles per sec-
ond; P tN is the transmission power of the node, this is parameter is necessary
654 S. Venticinque et al.
U
when we must consider to offload the module to another node, rN is the uplink
d
rate, while rN is the download rate. The node at a certain time t can be in a
specific state StN (t) ∈ St = {Start, Optimal, U nderestimated, Overestimated,
Overloaded, Idle}. We assume the power consumption of a server in the sleep
mode is zero, and the power consumption of a mode at time t in a different state
is a function of the CPU utilisation.
Now if we consider TM as the execution delay that is a function of CCM and
fN and EM as the corresponding energy consumption of the module, we can
formulate a cost function of the single module executing on the node.
N n n
CM = wT TM + wE EM
where wT and wE represent the weights of time and energy cost of the specific
module. The same function can be defined for the node, but in this case the
O
cost function CN (of f loading) will take into consideration also the transmission
delay and the energy consumed in case the module has to be offloaded to another
node. This is to address the necessity of re-configuring the allocation strategy
in case of infrastructure changes or if the arrival of new applications set off the
need for a new configuration.
O
CN = wT TN + wN E N
Where TN is a combination that takes into account the transmission delay and
the execution time, while EN is the energy that takes into account both the exe-
cution and the energy consumed for the transmission. These two cost functions,
N O
CM and CN , combined together represent the objective function of our learning
problem, that needs to be optimised in order to obtain the optimal allocation
for each module.
Previously we have shown an example of all the possible configurations when
it comes to the resource allocation for a very simple application. As executing an
algorithm that can evaluate and find the best solution would be extremely time
consuming, without the certainty to obtain the best solution, we have opted for
formulating the resource allocation problem as a reinforcement learning problem.
As shown in Figure 1, the general agent-environment interaction modelling con-
sists of an agent, an environment, a finite state space S, a set of available actions
A, and a reward function: SXA → R. The decision maker is called the agent,
and should be trained as the interaction system runs. The agent needs to inter-
act with the outside, which is called the environment. The interaction between
the agent and the environment is a continual process. At each decision epoch k,
the agent will make decision ak based on his knowledge about the current state
sk of the environment. Once the decision is being made, the environment would
receive the decision and make corresponding changes, and the updated new state
sk + 1 of the environment would be presented to the agent for making future
decisions. The environment also provides reward rk to the agent depending on
the decision ak , and the agent tries to maximize some notion of the cumulative
rewards over time. This simple reward feedback mechanism is required for the
agent to learn its optimal behaviour and policy.
Reinforcement Learning for Resource Allocation in Cloud Datacenter 655
References
1. Alam, M.G.R., Hassan, M.M., Uddin, M.Z., Almogren, A., Fortino, G.: Autonomic
computation offloading in mobile edge for iot applications. Future Gener. Comput.
Syst. 90, 149–157 (2019)
2. Chevaleyre, Y., Dunne, P.E., Endriss, U., Lang, J., Lemaitre, M., Maudet, N.,
Padget, J., Phelps, S., Rodriguez-Aguilar, J.A., Sousa, P.: Issues in multiagent
resource allocation. Informatica 30(1) (2006)
Reinforcement Learning for Resource Allocation in Cloud Datacenter 657
3. Dutreilh, X., Kirgizov, S., Melekhova, O., Malenfant, J., Rivierre, N., Truck, I.:
Using reinforcement learning for autonomic resource allocation in clouds: towards a
fully automated workflow. In: The Seventh International Conference on Autonomic
and Autonomous Systems, ICAS 2011, pp. 67–74 (2011)
4. Farahnakian, F., Liljeberg, P., Plosila, J.: Energy-efficient virtual machines consoli-
dation in cloud data centers using reinforcement learning. In: 2014 22nd Euromicro
International Conference on Parallel, Distributed, and Network-Based Processing,
pp. 500–507. IEEE (2014)
5. Hameed, A., Khoshkbarforoushha, A., Ranjan, R., Jayaraman, P.P., Kolodziej, J.,
Balaji, P., Zeadally, S., Malluhi, Q.M., Tziritas, N., Vishnu, A., et al.: A survey and
taxonomy on energy efficient resource allocation techniques for cloud computing
systems. Computing 98(7), 751–774 (2016)
6. Howard, R.A.: Dynamic Programming and Markov Processes (1960)
7. Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term.
Mars (2014)
8. Liu, N., Li, Z., Xu, J., Xu, Z., Lin, S., Qiu, Q., Tang, J., Wang, Y.: A hierarchical
framework of cloud resource allocation and power management using deep rein-
forcement learning. In: 2017 IEEE 37th International Conference on Distributed
Computing Systems (ICDCS), pp. 372–382. IEEE (2017)
9. Mell, P., Grance, T., et al.: The NIST definition of cloud computing (2011)
10. Nathuji, R., Schwan, K.: VirtualPower: coordinated power management in virtu-
alized enterprise systems. In: ACM SIGOPS Operating Systems Review, vol. 41,
pp. 265–278. ACM (2007)
11. Raghavendra, R., Ranganathan, P., Talwar, V., Wang, Z., Zhu, X.: No power strug-
gles: coordinated multi-level power management for the data center. ACM SIGOPS
Oper. Syst. Rev. 42(2), 48–59 (2008)
12. Reiss, C., Wilkes, J., Hellerstein, J.L.: Google cluster-usage traces: format+
schema. Google Inc., White Paper, pp. 1–14 (2011)
13. Sutton, R.S., Barto, A.G., et al.: Introduction to Reinforcement Learning, vol. 2.
MIT Press, Cambridge (1998)
14. Verma, A., Ahuja, P., Neogi, A.: pMapper: power and migration cost aware
application placement in virtualized systems. In: Proceedings of the 9th
ACM/IFIP/USENIX International Conference on Middleware, pp. 243–264.
Springer, New York (2008)
15. Wang, L., Chen, D., Huang, F.: Virtual workflow system for distributed collabo-
rative scientific applications on grids. Comput. Electr. Eng. 37(3), 300–310 (2011)
16. Wang, L., Chen, D., Zhao, J., Tao, J.: Resource management of distributed virtual
machines. Int. J. Ad Hoc Ubiquit. Comput. 10(2), 96–111 (2012)
17. Wang, L., Von Laszewski, G., Chen, D., Tao, J., Kunze, M.: Provide virtual
machine information for grid computing. IEEE Trans. Syst. Man Cybern.-Part
A: Syst. Hum. 40(6), 1362–1374 (2010)
18. Watkins, C.J.C.H.: Learning from delayed rewards (1989)
19. Xu, C.Z., Rao, J., Bu, X.: URL: a unified reinforcement learning approach for
autonomic cloud management. J. Parallel Distrib. Comput. 72(2), 95–105 (2012)
20. Xu, Z., Wang, Y., Tang, J., Wang, J., Gursoy, M.C.: A deep reinforcement learning
based framework for power-efficient resource allocation in cloud RANs. In: 2017
IEEE International Conference on Communications (ICC), pp. 1–6. IEEE (2017)
The 6th International Workshop
on Distributed Embedded Systems
(DEM-2019)
DUST Initializr - CAD Drawing Platform
for Designing Modules and Applications
in the DUST Framework
1 Introduction
With the advances in internet and communication technology, we are able to
collect and process more data than ever before. It is expected that the number
of connected Internet-of-Things (IoT) devices alone will reach 25 billion by 2021
[9]. Additionally, new emergent development in Cyber-Physical Systems (CPS)
and simulation [1] allows us to create complex autonomous machines and vehicles
that can communicate with each other to provide emergent behaviour on a larger
scale. However, hard constraints (e.g. latency, energy usage, etc.) are imposed
on these systems. The DUST framework provides a platform to research and
develop these systems.
The development of a DUST-based application is straightforward. However,
the file-based configuration of such an application can quickly become unclear for
complex architectures. Also, the modular design requires us to implement lots of
standard mandatory interfaces and rules that result in repetitive, tedious coding
work. Therefore, we propose a tool which assists the engineers in creating faster
and efficient modules in the DUST framework; and keeping a better overview of
the entire application in order to lower their workload.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 661–670, 2020.
https://doi.org/10.1007/978-3-030-33509-0_62
662 T. Huybrechts et al.
In Sect. 2 of this paper, we discuss the DUST framework and the underly-
ing communication architecture that we target to configure automatically and
generate code for. Section 3 discusses the high-level architecture of a DUST appli-
cation and the work required to successfully deploy such a system. To conclude,
we present our DUST Initializr tool in Sects. 4 and 5.
them depending on the current context. For example, it can be feasible to swap
between sockets and shared memory when the linked modules are placed on the
same node to optimise the network and CPU usage. The data streaming layer
is built upon the publish-subscribe pattern [4]. Each link contains a topic with
a predefined message type and is extendable to have multiple publishers and/or
subscribers connected (i.e. many-to-many).
3 DUST Applications
A DUST application is a collection of modules that work together in a distributed
environment by communicating with each other over data links with predefined
messages. We differentiate two major development parts when creating a DUST
application. On the one hand, we have the basic components that contain the
business logic or algorithms of the application. These components are the DUST
modules. Each DUST module is built upon the DUST block interface of the
DUST-Core library. This library provides a basic interface to execute program
logic and send messages to other modules. The DUST-Core will handle all nec-
essary operations and configurations to transmit and receive messages, monitor
the state of the system and perform the migration and recovery of the nodes with
minimal effort of the module developer. By separating every ‘task’ or concern
into its own module, a collection of small modular services will be obtained that
are reusable in other applications when the right level of abstraction is applied.
On the other hand, we have the collection of DUST modules that are con-
nected and working together to achieve new emergent behaviour to solve domain-
specific problems. This higher architecture of interconnected DUST modules is
a DUST application. At this level, we need to describe the interactions and con-
nections between each module to have the desired behaviour. These interactions
are fixed in a DUST file. This configuration file contains the preferred commu-
nication stack, the data links and its link role (i.e. publisher or subscriber). The
DUST file contains static parameters which the DUST-Core uses to configure
itself. However, the DUST-Core is able to reload a new configuration. This fea-
ture allows us to dynamically adapt the system to optimise its configuration
to the state of the entire system (e.g. network load, battery capacity of mobile
nodes, etc.). The DUST framework uses an orchestrator node that monitors dif-
ferent state parameters of the system in order to determine the most optimal
module configuration across the network. Therefore, the orchestrator will update
the DUST file when modules are migrated to other network nodes. An additional
orchestration file is required that hints the orchestrator about the behaviour and
characteristics of each DUST module (e.g. Worst-Case Execution Time, energy
consumption, etc.). These characteristics are determined using behaviour and
resource analysis tools, such as the COBRA framework [3,8].
Creating a complex application in DUST can be an intricate task to per-
form. As previously discussed, the development can be divided among two major
teams, i.e. the module and the application developers. Nevertheless, each team
still has its challenges in designing its part of the system. The module devel-
opers have to implement the DUST-Core interfaces which can be a tedious and
664 T. Huybrechts et al.
4 DUST Initializr
the module of the received message. With the Update interface, any code can
be executed to perform computations on the received message. Additionally, the
generated subscriber is responsible for parsing the received data stream to a
usable message object.
The project compiler is responsible for generating the necessary code files
for each newly defined DUST module. The generated code projects serve as a
starting point for the developers to implement the business logic of each module.
In order to create these project files, the Initializr tool uses default code tem-
plates for each supported programming language. Each code template engine is
an extension for the project compiler. Each template consists of static code with
annotated parts. These parts are used to dynamically inject types and names
into the code based on the provided project configuration in the tool, e.g. mod-
ule name, I/O, etc. A template generated module will consist of a main block
with a configuration callback and the main processing thread. In addition, the
publisher and subscriber classes with their message type are added to the code
base according to the defined module I/O.
After the implementation of the business logic into the generated code base,
the developer is able to archive the module into the DUST module collection
for future reuse. The database contains a list of blocks that are functional and
integrable directly into an application. This feature is extremely useful for generic
modules with a modular design which are easily employable into systems with
similar requirements. In order to add a block to the DUST module database,
we need to package the source code into a module archive. Such a package
contains the executable code and/or the source code of the module to deploy the
block. Furthermore, a manifest file is included to describe the I/O and features
of the module. The file will enable the Initializr tool to generate a graphical
representation of the module with immutable I/O settings inside the graph.
This allows the developer to configure the system without having to manually
remodel the module in the tool.
DUST Initializr 667
The DUST Initializr tool can generate two type of configuration files depend-
ing on the chosen operation mode that is used for deployment and initialisation
of the system. The functional behaviour of a DUST application is determined
on two different levels. The configuration of a DUST module on the lowest level
is a static description defining the target host and its data link parameters. We
call this configuration a ‘DUST file’. This JSON formatted file is used by the
DUST library during start-up to configure its subscribers and publishers on the
data links, e.g. target IP address, link name, port number, etc. The configuration
of multiple modules may reside in one DUST file. Based on a unique identifier,
a module will find its configuration parameters. The configuration of a module
will remain static as long as the DUST file is not updated.
The dynamic behaviour of the DUST framework comes into play when we
push updates to the configuration of the DUST file. This can be achieved by
manually editing the content of the file. Nonetheless, this approach is a tedious
task that is not scalable or responsive at all. The automation and intelligence
of the DUST framework is provided on a second layer by the orchestrator, as
discussed in Sect. 3. In addition to managing the migration of DUST blocks over
the network, the orchestrator uses the DUST file to push updated configura-
tions to all application nodes. By deploying an orchestrator, we no longer have
to worry about the low-level placement of the modules across the network hosts,
as it will determine and persist the most optimal distribution. Notwithstanding,
the orchestrator needs information of the network topology, but also the actual
DUST application and its code behaviour in order to optimise the system per-
formance. Therefore, a list of Key Performance Indicators (KPI’s) is composed
that describe the context of the system [5]. These KPI’s are then translated in a
cost function which the orchestrator will try to optimise when distributing the
application modules. The topology, context and behaviour of the application is
summarised in an ‘orchestrator file’. Most of this information is derived from the
graph model. Additional details such as code behaviour models of code analysis
can be entered into the tool as well [3,8].
5 Results
Fig. 3. Front-end view of the Initializr tool with the CAD graph.
Table 1 shows an overview of the ratio between the total number of code lines
and the template generated lines for the test application. The code base of tem-
plate generated modules only contains the pre-filled interfaces that need to be
implemented by the developer. The domain specific logic (e.g. algorithms, data
processing, etc.) will therefore take the majority of the code lines depending on
the complexity. However, the manual labour of creating customised boilerplate
interfaces for a new module is minimised. A significant conclusion in Table 1 is
the full code coverage of the message object and its builder class by the tem-
plate engine. As a result, the Initializr tool is able to fully manage the message
objects. Any change to a message interface is feasible through the tool without
any manual intervention inside the code and thus, it significantly reduces the
development time and chance of errors.
670 T. Huybrechts et al.
6 Conclusion
Creating and adjusting an application with the DUST framework can become
a tedious task to update the configuration and keep an overview of the system.
The proposed DUST Initializr tool reduces the development load of the engi-
neers. The current version includes four main features to speed up the process:
boilerplate code for new modules, configuring and documenting DUST networks;
and storing/importing existing modules for reuse. A SAAS application has been
developed to easily distribute the latest DUST updates to all users. The devel-
opment methodology is focused on building a visual graph of the DUST network
in the CAD window. The code generators create the necessary configuration files
to deploy the application and code projects of each module to immediately start
implementing the essential business logic. In the results, we notice that message
objects and their builders for communication over DUST are fully generated by
the tool and thus, any update to these objects are manageable through the GUI
instead of coding.
References
1. Bosmans, S., Mercelis, S., Hellinckx, P., Denil, J.: Towards evaluating emergent
behavior of the internet of things using large scale simulation techniques. In: Pro-
ceedings of the Theory of Modeling and Simulation Symposium, p. 4. Society for
Computer Simulation International (2018)
2. Cosmina, I.: Pivotal Certified Professional Spring Developer Exam. Springer, Hei-
delberg (2017)
3. De Bock, Y., Altmeyer, S., Huybrechts, T., Broeckhove, J., Hellinckx, P.: Task-
set generator for schedulability analysis using the TACLeBench benchmark suite.
ACM SIGBED Rev. 15, 22–28 (2018). https://doi.org/10.1145/3199610.3199613
4. Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.: The many faces of publish/-
subscribe. ACM Comput. Surv. (CSUR) 35(2), 114–131 (2003)
5. Eyckerman, R., Sharif, M., Mercelis, S., Hellinckx, P.: Context-aware distribution
in constrained IoT environments. In: Proceedings of the 13th International Confer-
ence on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC-2018), pp.
437–446 (2019). https://doi.org/10.1007/978-3-030-02607-3 40
6. Fedosejev, A.: React.js Essentials. Packt Publishing Ltd., Birmingham (2015)
7. Hintjens, P.: ZeroMQ: Messaging for Many Applications. O’Reilly Media, Inc.,
Newton (2013)
8. Huybrechts, T., De Bock, Y., Haoxuan, L., Hellinckx, P.: COBRA-HPA: a block
generating tool to perform hybrid program analysis. Int. J. Grid Util. Comput. 10,
105–118 (2019). https://doi.org/10.1504/IJGUC.2019.098211
9. Omale, G.: Gartner identifies Top 10 strategic IoT technologies and trends (2018)
10. Vanneste, S., de Hoog, J., Huybrechts, T., Bosmans, S., Eyckerman, R., Sharif, M.,
Mercelis, S., Hellinckx, P.: Distributed uniform streaming framework: an elastic fog
computing platform for event stream processing and platform transparency. Future
Internet 11, 158 (2019). https://doi.org/10.3390/fi11070158
Distributed Task Placement in the Fog:
A Positioning Paper
1 Introduction
The task placement problem spans several areas. Below we present a summary
of most relevant research.
Distributed Task Placement in the Fog: A Positioning Paper 673
Hardware and Software Models: Xia et al. [4] modeled basic device metrics
such as CPU, RAM and disk capacity for a task placement technique on the fog.
Huybrechts et al. [5] looked into the application model, focusing on Worst-Case
Execution Time (WCET) analysis using a hybrid approach. To achieve their goal,
the COBRA and TACLeBench tool suites were used [6]. Using techniques such
as these, the application metrics were more efficiently calculated and modeled.
Constraints: Plenty of constraints are present when working with fog devices.
Xia et al. [4] considered the resource constraint where the device has a set of
available resources, whose usage cannot be exceeded. Similarly, Sharma et al.
[7] considered the software heterogeneity when placing tasks on Google compute
clusters, with for example tasks requiring a minimum Kernel version to properly
run. They then measured the performance impact of such constraints on the
task scheduler.
Distributed Software Frameworks: Distributed software development pro-
vides more challenges than monolithic software, such as message passing and
state maintenance. To aid with this challenge, Vanneste et al. [8] developed the
Distributed Uniform STreaming (DUST) framework. The framework provides
base building blocks for event streaming in a distributed fashion. This allows
users to build parts of applications on these blocks, creating a connected dis-
tributed application, which can, in turn, be distributed over the network.
Context: The devices on which the tasks run, employ a context. This concept
of context-awareness has been around for some time. One popular definition was
coined by Dey & Abowd, whose definition included user, application, location,
and device awareness [9]. Although all these contexts influence task placement,
only device awareness influences it directly. Location and user awareness can, for
example, have an influence on the application, which can, in turn, be simplified
into a change in the software requirements. If, for example, it gets dark outside,
regular cameras will not be of much use on smart vehicles and can thus be
disabled, lowering the amount of data the task has to move, thus changing the
task requirements.
Fog Challenges: Many challenges appear when attempting task placement on
fog networks, as presented by Wen et al. [10]. They described several challenges,
such as the IoT device heterogeneity, security, network latency, dynamicity, and
fault tolerance, which correspond with problems in the proposed research, such as
the device heterogeneity. Others have already attempted similar approaches, such
as Brogi and Forti, researching into placing tasks across fog devices regarding the
Quality of Service (QoS), and proving NP-hardness [11]. Guaranteeing the QoS
was interpreted as placing the tasks without overloading the physical data links
between devices and without overloading the machines themselves. Wang et al.
[12] proposed a placement algorithm based on Multi-Access Edge Computing
(MEC), a technique where they place micro-clouds closer to the edge. They
used Linear Programming methods for mapping tree application graphs onto
tree network graphs, and make simplifications to make the problem tractable.
674 R. Eyckerman et al.
Optimization Techniques: There are multiple techniques for solving the task
placement problem, one of which is by use of heuristics. Xia et al. [4] looked into
application placement with fog devices, using dedicated zones for application
deployment areas to ensure placed tasks’ locality. Their goal was to minimize
the weighted average latency when placing his tasks over his devices using sev-
eral solutions, such as exhaustive search, naive search, and improvements of
naive search. Wang et al. [12] proposed an MEC application placement algo-
rithm, a technique where they placed micro-clouds closer to the edge, which is
then compared to a greedy and the vineyard algorithm. The research used Linear
Programming methods for mapping tree application graphs onto tree network
graphs. In my previous research, I compared a brute force placement technique
to a Genetic Algorithm (GA) and a Hill-Climb (HC) technique [13]. Plenty of
research already exists, but it is noticeable a distributed implementation is lack-
ing. Distributed approaches bring massive added complexity. One method of
solving the problem is by using the Contract Net Protocol, as defined by Smith
[14]. There, the agents distributed tasks one by one, using a simple bidding
mechanism. Another solution would be the A-Team, as defined by Talukdar et
al. [15], who defined a set of autonomous agents, called the A-Team or Asyn-
chronous Team, which work together to solve the same goal. This approach was
implemented by Barbucha and Je [16], to solve the Vehicle Routing Problem.
Barbucha also showed the efficiency of distributed agent optimization [17]. Here
they focus on placing teams of agents on a distributed network and showing
that an increase of agents improves efficiency up to a certain point, after which
efficiency starts decreasing again due to overhead.
Simulation: The research is to be tested using simulation. One versatile sim-
ulator is Simgrid, which has been in active development since 2001 [18]. This
simulator allows the simulation of a concurrent software stack on top of simu-
lated hardware resources, optionally using ns-3 for network simulation. Simgrid
allows modeling the application and tests its behavior, speeding up research.
Other simulators exist, most focusing on the specific behavior of IoT networks
such as IoTSim [19], which attempts to mimic the behavior of an existing appli-
cation to generate results about certain metrics and its behavior in the network.
This State of the Art covers all the fundamental parts required for developing
a task placement coordinator. We will define problems not stated in the state
of the art. Different kind of placement techniques will need to be compared and
reviewed, combining and editing where necessary, to finally end up with a stable
technique.
3 Problem Definition
The main objective of this paper is to show the current problems involved when
trying to distribute tasks across IoT networks using decentralized optimization
algorithms. There are several reasons for not using a centralized approach. A
centralized approach might be too slow for time-critical applications (optimiza-
tion or communication might take too long), in a highly dynamic environment
Distributed Task Placement in the Fog: A Positioning Paper 675
Network and Application Shape: Both the network shape and the applica-
tion shape will be modeled as graphs. Previous research often used tree graphs for
the network, and directed linear [13] or tree graph structures for the application
[12]. Constraining the graphs allows for constraint modeling into the optimiza-
tion techniques. Mesh-like networks are underrepresented due to them greatly
enlarging the search space but are necessary to exploit the full benefits of the
network, such as redundancy. Similarly, directed mesh application graphs are
676 R. Eyckerman et al.
3.2 Techniques
There are multiple techniques that can be used, as stated in the state of the art.
Due to the design of the application and network graphs, there is a very large
search space with worst-case O(N A ) run time, meaning exact search techniques
are infeasible. Heuristics can bypass this problem. However, finding and com-
posing the best heuristic is a major part of this research, and greatly depends
on the choices made when selecting a MOO technique. The selected technique
should be inspected for features which can be implemented in the heuristics for
pre-optimization, improving search efficiency. Another selection to be made is
the multi-agent technique, such as A-Team, combining it with heuristics.
3.3 Simulation
The use case is found in the automotive sector. The safety of vulnerable road
users can be improved, by implementing cooperative detection of such road users
near a crossing, combining vehicle data with infrastructure sensors. The network
is shown in Fig. 2. It describes infrastructure cameras monitoring for vulnerable
road users, and a roadside unit connected with a vehicle, with vehicular proximity
sensors for additional detection and a graphical interface for the driver. In case
of any problems, alerts are sent to the driver’s display in the visualized network.
The application preprocesses the data before reaching the cloud server, where it
accounts for data checking. Afterward, data compression and conversion happens
before finally reaching the target device. The application graph is shown in Fig. 3.
Distributed Task Placement in the Fog: A Positioning Paper 679
4 Test
We have provided a small test scenario as some preliminary results. First, we
describe our test scenario, after which we explain our achieved results. In this
scenario, we test centralized coordination techniques and compare them. This
differs from distributed techniques since a single node is responsible for the
placement. A simplified scenario is provided, which differentiates from future
research since currently, placement calculation happens centralized.
The use case is the previously defined use case, shown in Fig. 2. The network is
a static network, purely for testing placement techniques. Four different contexts
are used, where the cloud, edge devices, actuators, and monitoring devices have a
different context. The green node represents the video monitor as a data source,
and the red nodes are the actuators as data sinks. The blue node is a task forced
to run at the cloud level, for data integrity checking. All the colored nodes are
locked nodes, and thus cannot be moved. The The Key Performance Indicators
(KPI) are defined with a preference to keep the tasks as close to the node level
as possible. The objective function we use is the following, based on [13].
#Components I
#KP
C= wij Cij (1)
i=0 j=0
Here we try to minimize the placement cost of component i onto the device with
KPI cost j per device. Sum these costs over the entire network for the global
cost. Several techniques are used to solve this problem, briefly listed below.
Branch and Bound: A branch & bound with fail-early constraint checking is
used to provide a baseline. A constraint is, for example, a device is allocated more
tasks than its resources can handle. This algorithm is guaranteed to return the
best placement, by iteratively checking all possible placements. However, since
it has to check all possible placements, it has a worst-case run time of O(N A ),
making it is infeasible to use this technique in practice.
Hill Climb: The Hill-Climb (HC) heuristic is used as a local optimization algo-
rithm. It is based on a multiple restart steepest descent HC,, implemented with
Fig. 2. Use case network graph Fig. 3. Use case application graph
680 R. Eyckerman et al.
Fog computing will help in relieving network stress, but this needs a coordinator
function to organize the fog processes. It provides an approach and ends its case
with a test scenario. From this scenario can be concluded that the HC tends
to do better in regard to solution quality, but the GA provides faster and more
consistent results. Additionally, this paper lists some of the most important
literature in this field and defines some problems that are yet to be solved.
A briefly touched subject in this paper is the problem of network monitoring,
including network discovery and link monitoring. This is, however, a significant
challenge when it comes to dynamic networks since it is infeasible to keep the
network status up to date at all times. Another major problem is the current
lack of security: if an attacker manages to get the coordinator to distribute his
software, he gets an arsenal of resources to his disposal, or he can make the
682 R. Eyckerman et al.
References
1. Vinitsky, E., Parvate, K., Kreidieh, A., Wu, C., Bayen, A.: Lagrangian Control
through Deep-RL: applications to bottleneck decongestion. In: IEEE Intelligent
Transportation Systems Conference, pp. 759–765 (2018)
2. Cisco: Cisco Global Cloud Index: Forecast and Methodology 2014-2019 (white
paper). Cisco, pp. 2016–2021 (2016)
3. Iorga, M., et al.: Fog computing conceptual model. NIST, Gaithersburg, MD, Tech-
nical report, March 2018
4. Xia, Y., et al.: Combining heuristics to optimize and scale the placement of IoT
applications in the fog. In: 2018 IEEE/ACM 11th International Conference on
Utility and Cloud Computing (UCC), pp. 153–163 (2018)
5. Huybrechts, T., Mercelis, S., Hellinckx, P.: A new hybrid approach on WCET
analysis for real-time systems using machine learning, no. 5, pp. 1–5 (2018)
6. IDLab, Imec, and University of Antwerp: COBRA Framework. http://cobra.idlab.
uantwerpen.be/
7. Sharma, B., Chudnovsky, V., Hellerstein, J.L., Rifaat, R., Das, C.R.: Modeling and
synthesizing task placement constraints in Google compute clusters. In: Proceed-
ings of the 2nd ACM Symposium on Cloud Computing - SOCC 2011, pp. 1–14.
ACM Press (2011)
8. Vanneste, S., et al.: Distributed uniform streaming framework: towards an elastic
fog computing platform for event stream processing. In: Proceedings of the 13th
International Conference on P2P, Parallel, Grid, Cloud and Internet Computing,
pp. 426–436 (2019)
9. Abowd, G.D., et al.: Towards a better understanding of context and context-
awareness. In: Lecture Notes in Computer Science, vol. 1707, pp. 304–307 (1999)
10. Wen, Z., et al.: Fog orchestration for internet of things services. IEEE Internet
Comput. 21(2), 16–24 (2017)
11. Brogi, A., Forti, S.: QoS-aware deployment of IoT applications through the fog.
IEEE Internet Things J. 4(5), 1–8 (2017)
12. Wang, S., Zafer, M., Leung, K.K.: Online placement of multi-component applica-
tions in edge computing environments. IEEE Access 5, 2514–2533 (2017)
13. Eyckerman, R., Sharif, M., Mercelis, S., Hellinckx, P.: Context-aware distribution
in constrained IoT environments, pp. 437–446 (2019)
14. Smith, R.G.: Communication and control in a distributed problem solver. IEEE
Trans. Comput. C(12), 1104–1113 (1980)
15. Talukdar, S., Baerentzen, L., Gove, A., De Souza, P.: Asynchronous teams: coop-
eration schemes for autonomous agents. J. Heurist. 4(4), 295–321 (1998)
16. Barbucha, D., Je, P.: An agent-based approach to vehicle routing problem. Int. J.
Appl. Math. Comput. Sci. 4(1), 36–41 (2007)
17. Barbucha, D.: Agent-based optimization. In: Agent-Based Optimization, vol. 456,
pp. 55–75 (2013)
Distributed Task Placement in the Fog: A Positioning Paper 683
18. Casanova, H., Giersch, A., Legrand, A., Quinson, M., Suter, F.: Versatile, scal-
able, and accurate simulation of distributed applications and platforms. J. Parallel
Distrib. Comput. 74(10), 2899–2917 (2014)
19. Zeng, X., et al.: IOTSim: a simulator for analysing IoT applications. J. Syst. Archi-
tect. 72, 93–107 (2017)
20. Marler, R., Arora, J.: Survey of multi-objective optimization methods for engineer-
ing. Struct. Multidisc. Optim. 26(6), 369–395 (2004)
21. Marler, R.T., Arora, J.S.: The weighted sum method for multi-objective optimiza-
tion: new insights. Struct. Multidisc. Optim. 41, 853–862 (2010)
22. Kaufman, K.A., Michalski, R.S.: Learning from inconsistent and noisy data: the
AQ18 approach. In: Symposium A Quarterly Journal In Modern Foreign Litera-
tures, pp. 411–419 (1999)
23. Gavras, A., Karila, A., Fdida, S., May, M., Potts, M.: Future internet research and
experimentation: the FIRE initiative. Sigcomm 37(3), 89–92 (2007)
Using Neural Architecture Search to
Optimize Neural Networks for Embedded
Devices
1 Introduction
In recent years, developing state-of-the-art neural networks has become a chal-
lenge, due to the vast complexity of these systems. Developing neural networks
usually requires a substantial amount of experimentation and hyperparameter
tuning, as well as domain knowledge and expertise in designing neural networks.
This is a lengthy and tedious process due to the sheer size of the hyperparam-
eter and architectural space. In order to solve this problem, the idea of Neural
Architecture Search (NAS) [1] was introduced. In Neural Architecture Search, a
controller is trained using a reinforcement learning algorithm, REINFORCE [2]
in our case. The controller first generates a neural network. This network is then
trained and evaluated based on its performance. The controller then uses the net-
works’ performance to learn and generate better networks. This search process
still takes a long time to converge, however. In order to remedy this, Pham et al.
tested the idea of weight sharing [3]. Instead of training a network from scratch
every time, weights are shared between all architectures, allowing architectures
to converge faster. While this was a major improvement on NAS, there are still
some unaddressed issues. Something that has been overlooked in most research is
the resource requirements of a NAS system. Most papers just focus on optimizing
the generated networks’ performance [1,3]. The resource requirements of neural
networks are set to become equally important however, given the prevalence of
mobile and edge devices in modern IoT networks. Some research has gone into
improving networks resource consumption, showing promising results [4].
In this paper we will attempt to address some of these resource constraints
by introducing hard and soft constraints on our architectures. Our research com-
bines the short search times achieved by Pham et al. [3] with a multi-objective
approach, allowing us to quickly find cells that also meet a given set of con-
straints. We first discuss the current state-of-the-art in NAS technology (Sect. 2),
then we give an overview of the techniques we employed to improve on the current
state-of-the-art (Sect. 3), we explain our experiments (Sect. 4) and also present
our results (Sect. 5). Finally we offer some insights into the behaviour of our
current system and determine a possible direction for future research (Sect. 6).
2 State-of-the-art
The state-of-the-art in NAS can be split into three categories: Reinforcement
Learning (RL) based approaches [1,3,5], Evolutionary approaches [4,6] and
Bayesian approaches [7]. We chose to use a RL-based approach because of the
quick search times that recent RL-based NAS methods can achieve.
In their initial paper, Zoph and Le [1] described a way to use a reinforcement
learning controller to generate Recurrent Neural Network (RNN) cells and Con-
volutional Neural Networks (CNNs). Both of these systems performed similar
to state-of-the-art, human-designed, systems, while requiring little to no human
interaction. Later, further improvements were made on this work by introducing
weight sharing [3]. Weight sharing involves forcing all models to share a single
set of trainable parameters. Using the idea of weight sharing in ENAS, Pham et
al. were able to significantly reduce the amount of computational power required
to traverse the search space. Results show that ENAS is capable of finding com-
petitive cells in less than a day on a single GPU, compared to 32 400–43 200
GPU hours for earlier NAS algorithms [5].
Recently, new research has shown that NAS isn’t limited to optimizing for
a single objective. In their paper Elsken et al. [4] used Lamarckian evolution
to find architectures that are not only comparable to state-of-the-art systems
in terms of performance, but also offer a significant reduction in the amount of
parameters the models require.
3 Methods
For our research we intend to improve on ENAS by introducing extra constraints
to the reward function of the controller. We will design these constraints to max-
imize the generated networks’ performance, while keeping resource requirements
686 T. Cassimon et al.
low. In order to make our system sufficiently flexible, we decided to split our
constraints into two categories. The first is a set of hard constraints, and the
second is a set of soft constraints. If the system fails to meet one of the hard
constraints, its reward will be zero. If the hard constraints are met, the system
will be rewarded with the sum of its soft constraints.
In order to implement these constraints, we use Eq. 1 to determine the reward,
R given to our controller during its training.
n−1
R (Ch , μ, Cs , p) = (Ch,0 · Ch,1 · . . . · Ch,k−1 ) · μi · Cs,i (1)
i=0
In this equation, we have k hard constraints (Ch,0 through Ch,k−1 ) and n soft
constraints (Cs,0 through Cs,n−1 ). Each soft-constraint is weighted using a pre-
set weight (μi for the i-th constraint).
Just as in the previous case, a small ε is added to our latency to make sure
the system has some spare time for computations that aren’t part of our model.
Using Neural Architecture Search to Optimize Neural Networks 687
In our experiments, we used 13 for μL1 , 12 for μL2 and 1 for μL3 . This choice
is arbitrary and not representative of the cost of cache misses. Our choice of
parameters gives a smaller penalty for models that don’t fit into L1 cache, a
slightly larger penalty for models that don’t fit into the combination of L1 and
L2 cache and an even larger penalty for models that don’t fit into the combination
of L1, L2 and L3 caches. Models are penalized less, but also rewarded less, for
exceeding the size of small caches. The main reason for this is, that it is unlikely
that our system will be able to fit a model into a L1 cache, due to their limited
size (typically measured in kilobytes).
The final constraint for our system is the performance of our cells on a
validation dataset. We calculate our performance reward as described in Eq. 5.
When designing our reward function, we noticed that Pham et al. don’t mention
the value of c used for their experiments. We decided to set c to 80, which is the
same value Zoph and Le [1] used.
c
p= 2 (5)
(pplvalid )
Initial experiments show that ENAS is able to meet hard constraints, given a
static cell size. Our controller is still limited in how small it could make the
networks it produces, since the number of blocks in a cell is fixed. In order to
give the controller greater freedom in choosing the design of its cells, we allowed
the controller to sample the number of blocks in a cell. This allows the controller
to change the size of its cells in a significantly larger range than before. In order
to generate a dynamically-sized cell, the controller first samples the number of
blocks in a cell, after which the generation process proceeds normally.
688 T. Cassimon et al.
4 Experiments
In this section, we will discuss our results. First, we explain the idea behind our
experiments in Sect. 4.1. We provide an overview of the parameters used in our
experiments (Sect. 4.2) and discuss the results of different cells in Sect. 4.3.
4.2 Configuration
We organize our results based on whether or not our constraints were enabled.
When constraints are disabled, we only take a cell’s accuracy into account. We
also include the cell reported by Pham et al., trained from scratch. In our exper-
iments, when using dynamic cell sizes, our model is allowed to choose cell size
in the range [2–24], where previous research used static cell sizes, the cell size
is fixed at 12. Our search space consists of four activation functions: identity,
sigmoid, ReLU and tanh. In order to be able calculate an estimated cell size
in bytes, we assumed a parameter size of 4 bytes. When performing architec-
ture search, the weight of our cache-constraint is 10−13 and the weight of the
network’s performance is left at 1. Our agent tends to have little trouble under-
standing and optimizing for its cache-constraint, and thus, we opted to put a
larger emphasis on accuracy.
Our hidden states and embeddings have dimension 1000, both during search
and during inference. Weight-tying is used for our encoders and decoders, as
described by Inan et al. [10], alongside L2 regularization, weighted by a factor of
10−7 and gradient clipping, with a maximum of 0.25. We also add our controller’s
sample entropy to its reward, weighted by a factor of 0.0001. Our generated cells
are also enhanced using highway connections [11]. We also note that, contrary
to Zoph and Le [1], we do not perform a grid-search over hyperparameters after
training our cell.
4.3 Cells
We were unable to reproduce the performance reported by Pham et al. [3] (55.8
Perplexity points on Penn Treebank (PTB) [12]) or the performance reported
Using Neural Architecture Search to Optimize Neural Networks 689
by Li et al. [13] (60.3 Perplexity points using DARTS’ [14] training code) using
the cell shown in Fig. 1a. In order to be able to provide a fair comparison, we
trained the cell reported by Pham et al. [3] ourselves, reaching a test perplexity
of 186.35, using early stopping after 14 epochs of training on the PTB dataset.
While attempting to reproduce the results from ENAS, we also noticed that
dropout on our hidden-to-hidden weights actually deteriorated our network’s
performance by a significant amount, with our best validation perplexity rising
to 221.09 after 12 epochs.
Fig. 1. Comparison of the different cells generated with dynamic cell size
Running our algorithm without constraints and with dynamic cell size, results
in cells which are drastically smaller than those generated when the cell size is
fixed. Cells generated with this combination of parameters typically contain 3–
4 blocks, due to their simplicity, these cells tend to exhibit a worse validation
accuracy than their fixed-size counterparts. The cell that was used to gather
results is shown in Fig. 1b, and was able to achieve a validation perplexity of
252.57.
The smallest cells are generated when ENAS is put under resource constraints
and given the ability to choose the size of the cells it generates. The cell we used
to gather our results consists of a single line of blocks, shown in Fig. 1c. This cell is
similar to the cell generated without constraints, which also consisted of sigmoid
and ReLU blocks. Under constraints the controller presumably creates long,
snake-like cells with a single line of blocks, because this simple structure results
in the least amount of connections, which in turn reduces the necessary amount of
memory for the cell. It should also be noted that the generated cell contains two
sigmoid activation functions, which are 19.97 times slower than ReLU activations
and 31.7 times slower than identity activations, showing that ENAS still tries
690 T. Cassimon et al.
Fig. 2. Estimated inference time as a function of training steps, showing that ENAS
is capable of meeting and exceeding a given hard constraint in a reasonable amount of
time. Red areas indicate constraint violations, green areas indicate that the constraint
was met.
5 Results
Table 1. Overview of our results, showing validation perplexity, memory use and
inference latency.
Fig. 3. Graphical comparison of the different cells, all numbers are normalized to
ENAS’ scores. A smaller surface area means a system is better.
References
1. Zoph, B., Le, Q.V.: Neural architecture search with reinforcement learning (2017).
https://arxiv.org/abs/1611.01578
2. Williams, R.J.: Simple statistical gradient-following algorithms for connectionist
reinforcement learning. Mach. Learn. 8, 229–256 (1992)
3. Pham, H., Guan, M., Zoph, B., Le, Q.V., Dean, J.: Efficient neural architecture
search via parameters sharing (2018). http://proceedings.mlr.press/v80/pham18a/
pham18a.pdf
4. Elsken, T., Metzen, J.H., Hutter, F.: Efficient multi-objective neural architecture
search via lamarckian evolution. In: International Conference on Learning Repre-
sentations (2019). https://openreview.net/forum?id=ByME42AqK7
5. Zoph, B., Vasudevan, V., Shlens, J., Le, Q.V.: Learning transferable architectures
for scalable image recognition. CoRR, vol. abs/1707.07012 (2017). http://arxiv.
org/abs/1707.07012
6. Real, E., Aggarwal, A., Huang, Y., Le, Q.V.: Regularized evolution for image classi-
fier architecture search. CoRR, vol. abs/1802.01548 (2018). http://arxiv.org/abs/
1802.01548
7. Kandasamy, K., Schneider, J., Pczos, B., Xing, E.P.: Neural architecture search
with Bayesian optimisation and optimal transport. In: Conference in Neu-
ral Information Processing Systems (2018). https://papers.nips.cc/paper/7472-
neural-architecture-search-with-bayesian-optimisation-and-optimal-transport.pdf
8. Horowitz, M.: 1.1 computing’s energy problem (and what we can do about it).
In: 2014 IEEE International Solid-State Circuits Conference Digest of Technical
Papers (ISSCC), pp. 10–14, February 2014
9. Wong, B.L.: Essential Study Skills, 8th edn. Cengage, Boston (2015). ISBN
9781285430096
10. Inan, H., Khosravi, K., Socher, R.: Tying word vectors and word classifiers: a loss
framework for language modeling. CoRR, vol. abs/1611.01462 (2016). http://arxiv.
org/abs/1611.01462
11. Zilly, J.G., Srivastava, R.K., Koutnı́k, J., Schmidhuber, J.: Recurrent highway net-
works. In: Precup, D., Teh, Y.W. (eds.) Proceedings of the 34th International Con-
ference on Machine Learning. Proceedings of Machine Learning Research, PMLR,
06–11 Augus 2017, vol. 70, pp. 4189–4198. International Convention Centre, Syd-
ney (2017). http://proceedings.mlr.press/v70/zilly17a.html
12. Marcus, M., Kim, G., Marcinkiewicz, M.A., MacIntyre, R., Bies, A., Ferguson,
M., Katz, K., Schasberger, B.: The penn treebank: annotating predicate argument
structure. In: Proceedings of the Workshop on Human Language Technology, HLT
1994, pp. 114–119. Association for Computational Linguistics, Stroudsburg (1994).
https://doi.org/10.3115/1075812.1075835
13. Li, L., Talwalkar, A.: Random search and reproducibility for neural architecture
search. CoRR, vol. abs/1902.07638 (2019). http://arxiv.org/abs/1902.07638
Using Neural Architecture Search to Optimize Neural Networks 693
14. Liu, H., Simonyan, K., Yang, Y.: DARTS: differentiable architecture search. arXiv
preprint arXiv:1806.09055 (2018)
15. Van Moffaert, K., Drugan, M.M., Nowé, A.: Hypervolume-based multi-objective
reinforcement learning. In: Purshouse, R.C., Fleming, P.J., Fonseca, C.M., Greco,
S., Shaw, J. (eds.) Evolutionary Multi-Criterion Optimization, pp. 352–366.
Springer, Heidelberg (2013)
16. Van Moffaert, K., Drugan, M.M., Now, A.: Scalarized multi-objective reinforcement
learning: novel design techniques. In: 2013 IEEE Symposium on Adaptive Dynamic
Programming and Reinforcement Learning (ADPRL), pp. 191–199, April 2013
17. Cai, H., Zheng, V.W., Chang, K.C.-C.: A comprehensive survey of graph embed-
ding: problems, techniques and applications. IEEE Trans. Knowl. Data Eng. 30,
1616–1637 (2017)
18. Perozzi, B., Al-Rfou, R., Skiena, S.: DeepWalk: online learning of social represen-
tations. In: Proceedings of the 20th ACM SIGKDD International Conference on
Knowledge Discovery and Data Mining, KDD 2014, pp. 701–710. ACM, New York
(2014). https://doi.org/10.1145/2623330.2623732
Spiking Neural Network Implementation
on FPGA for Robotic Behaviour
Abstract. Over the last few years there has been a considerable amount
of progress in the field of machine learning. Neural networks are com-
mon in academic literature and they are often used in engineering appli-
cations. A certain class of Artificial Neural Networks (ANN) is called
Spiking Neural Networks (SNN), these are neural networks that utilise
the specific time when a neuron fires, to calculate its output. Feedback
loops with these kind of SNNs allow the execution of complex tasks in
a compact manner. Due to their parallel character they are unquestion-
ably suitable to be implemented on Field Programmable Gate Arrays
(FPGA). The aim of this paper is to take a step towards creating a colli-
sion avoidance robot, which uses a SNN on an FPGA and Reinforcement
Learning (RL) on an external device.
1 Introduction
Conventional Artificial Neural Networks (ANN) are not time-varying systems,
unlike Spiking Neural Networks (SNN) which rely on spike timings as informa-
tion conveyor. This makes SNNs computationally more powerful than the con-
ventional ANNs [1]. SNNs are inspired on the biological neural system, which
remains the most efficient neural system we know. The focus of this paper is the
implementation of SNNs onto an FPGA and the creation of a framework which
supports Hardware-In-the-Loop (HIL) simulation in a reinforcement learning
task. FPGAs are especially suited for this application because the different neu-
rons and layers can be parallelised while being at the fraction of the cost of
ASICs [2], certainly if we take into account the trial-and-error of trying to find
a suitable architecture for the neural network. With ASICs, a new ASIC should
be manufactured each time the desired architecture changes. The purpose of this
paper is to train the SNN with reinforcement learning. Reinforcement learning is
especially suitable for a situation where an agent, controlled by a spiking neural
network, learns by interacting with its environment. The agent should learn its
own representation of the environment to minimise the bias of the programmer
[3]. As always with neural networks it is best to give the neural network as much
freedom over its decision process as possible.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 694–703, 2020.
https://doi.org/10.1007/978-3-030-33509-0_65
Spiking Neural Network Implementation on FPGA for Robotic Behaviour 695
2 Implementation
2.1 Spiking Neural Network
The type of SNN used in this paper is the leaky-integrate-and-fire model [4].
Whenever a neuron receives a spike, the potential of this neuron will rise. It will
keep rising until it reaches a certain threshold. Once that happens, the neuron
will output a spike to all neurons connected to its output. The advantage of SNNs
is that the neuron only recalculates its state, if it receives a spike. Neurons that
do not get a lot of input and are not very active will not take up processing power.
This reduces the strain on the system and making the computation dependent
on the amount of spikes instead of the network architecture and depth [5]. Once
the neuron fires, it will enter a refractory period for a certain amount of time.
Whilst in this period the neuron will not react to any incoming spikes. This limits
696 M. Walravens et al.
MATLAB FPGA
Reinforcement
Leaning
Weights and Delays
the maximal spike rate of the neuron. The last characteristic of this model is
the leak. At a fixed time, there will be a deduction from the potential. Without
this leak, a neuron that does not get many inputs could fire after a long and
arbitrary time. This could cause the whole dynamic of the system to change and
make the learning algorithm change the weights. The leak should be seen as a
limited window of memory. The lower the leak rate, the longer an input will
linger in the SNN [4].
An advantage of SNNs is that there are two parameters, of the intercon-
nections or synapses, that the learning algorithm can change: the weights and
the delays. Due to the potential leaking away from neurons, a neuron will spike
quicker if the connection with the previous neuron has a higher weight. This
because the output of the previous neuron will be multiplied, and more spikes
will arrive. This will cause the neuron to spike more quickly. The other param-
eter is the delay. If the output of the previous neuron is delayed, the potential
has more time to decrease due to leak. A high delay will cause a neuron to spike
less often. This is illustrated in Fig. 2B. In this figure 100 is the threshold value.
With a delay increase from 5 to 10, the amount of spikes required went up from
5 to 7 and the time to spike increased from 20 ms to 60 ms.
The robot has 10 distance sensors (inputs) and the left and right wheel speeds
are the output signals. Therefore, the architecture chosen here is a three layer
10-6-2 network, as shown in Fig. 2A. This architecture is an arbitrary choice and
is often chosen experimentally or a proven model is used. Since the architecture is
bound to the 10 input neurons (10 sensors) and two output neurons (2 wheels),
finding a proven model is difficult. Thus, trying the 10-6-2 model could be a
viable solution.
Spiking Neural Network Implementation on FPGA for Robotic Behaviour 697
100
A) B)
90
80
70
Neuron Potential(mV)
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80
time(ms)
Fig. 2. (A) A representation of a 10-6-2 neural network architecture and its intercon-
nections. The black dots signify the part of the architecture shown in Fig. 3 (B) Com-
parison of neuron with a short (first spike) and long (second spike) pre-synaptic delay.
A high delay will cause the neuron to take more time to reach the threshold and thus
spike less often.
Synapse: The synapse component will need to multiply the spikes with the weight
and delay the spikes according to the delay. Both the multiplying and delaying
will run on a 1 ms clock. To be able to adjust the delay, while running, a dynamic
FIFO is used [8].
Motorblock : The wheels of the robot are controlled with a servo signal. This is
a PWM signal, with a period of 20 ms and a high time that varies between 1 ms
and 2 ms. The robot is driving backwards if the high time is 1 ms, it is standing
still at 1.5 ms high time and is driving forward at 2 ms high time. To convert
the incoming spikes to this signal, the block will count for 18 ms, how many
spikes come in from the motor neurons. These are the last two neurons of the
architecture. These are normal neurons with another name to differentiate from
the hidden layer, as can be seen in Fig. 3. After 18 ms have passed, the amount
will be converted into a high time between 1 and 2 ms.
Synapse2_1 Synapse2_L
MotorBlock
InputNeuron2
Synapse1_2 Synapse1_R
Neuron2
. MotorNeuronR
Synapse2_2
. Synapse2_R
. .
.
.
Sensor Input Weights and Delays Weights and Delays Wheel Speeds
Simulation
Position (x,y,θ)
sensors
Reinforcement Collision
Learning Detection
MATLAB
that only one application can use the JTAG cable at a certain time. Using this
toolbox, the FPGA can read out the sensor and weight/delay values and write
in the wheel speed registers.
2.4 MATLAB
MATLAB will use the wheel speed values to calculate the new position of the
robot in the simulation. For this it will use a differential drive toolbox in MAT-
LAB. Each time the robot moves, MATLAB will recalculate all the sensor dis-
tances and write these in the FPGA registers. It will also perform a collision
detection and if the robot has touched an obstacle or wall, a boolean will be
set to true. This can later be used for the RL algorithm’s fitness function. Since
the RL is not implemented yet, the weights and delays will be set at random at
the start of the simulation. This way we can test if the simulation is working
properly, using a random SNN.
2.5 Results
FPGA: Since there are few open source libraries for spiking neural networks
in VHDL, the basic code had to be written from scratch. This framework has
been achieved as described in the above section. To verify the functionality a
testbench architecture was created. After functionality was verified, the code was
loaded to a Zybo Z7 (XC7Z020-1CLG400C). This is an FPGA with an on-board
Zyng-7020 processor, which is used to communicate with MATLAB, this could
also be done with a soft core MicroBlaze processor.
To connect the VHDL code to the PC, the AXI protocol was used for com-
munication. This AXI block writes the output signals from the SNN HDL
block to registers on the FPGA. This way the MATLAB block can read
from these registers and send them to the PC. An addition to the FPGA
side could be a block that writes the weights to non-volatile memory. This
way the weights do not need to be initialised each time the FPGA is shut
down. However, it is still recommended to additionally save the weights con-
figuration on the PC so FPGAs could be interchanged. Since the used FPGA
(Zybo Z7) also has a hardware processor on-board, it would not be difficult
to write code to make the processor read from the sensor registers on the
robot, and send this data to the appropriate registers, for the SNN to read out.
In Table 1 below, the 10-6-2 architecture uses about 14% of the total FPGA
slices. This means a network of at least 5 times the size (about 90 neurons) could
fit on a single FPGA, being able to solve relatively complex tasks.
MATLAB : The MATLAB GUI of the simulation is a simple figure with an
imported map. The collision avoidance and sensor distance estimation were
implemented in Simulink via MATLAB functions. For the differential drive con-
version of wheel speeds to x, y and θ (the orientation of the robot), the Mobile
Robotics Simulation toolbox has been used.
700 M. Walravens et al.
3.2 Metrics
A suitable metric would be the time or distance the robot drives until it collides.
The problem with both of these is that there is no sense of urgency. If time is
chosen, the robot could drive very slowly and this way the robot could maximise
its time before collision. Another problem is that if the robot drives at a reduced
speed, the result could be a mediocre collision avoidance algorithm. If driving
speed is increased, it could instantly drive into something. If distance is chosen
on the other hand, the algorithm could be good, but it could be very slow to react
on obstacles or impulses. Ways to solve this would be to let the robot restart not
only when it collides but also when it dives under an arbitrary minimum speed.
Spiking Neural Network Implementation on FPGA for Robotic Behaviour 701
As shown in [10], there are several RL algorithms. The problem is, that they
are not all satisfactory for this application. Many are focussed on discrete action
spaces. Since discretising the continuous values leads to an explosion of dimen-
sions, Deep Q-networks and its likes are inefficacious. Using more suitable algo-
rithms would be appropriate. Algorithms like Deep Deterministic Policy Gradi-
ent, Trust Region Policy Optimization or Asynchronous Advantage Actor Critic
would be best [11]. A common approach to speed up the RL is to use architecture
and parameters from previous successful set-ups. Usually we adjust the neural
network to the type of inputs. If the inputs consist of pixel values of the environ-
ment, convolutional architectures would be suitable. If the states are numerical
vectors, multi-layer perceptrons may be most feasible. If the states are sequen-
tial data, Long Short-Term Memory would be a good starting point [11]. But
in this case the aim of this paper is to check whether Spiking Neural Networks
are a good choice for applications like collision avoidance. Parameters used for
this set-up will not be taken from previous papers, but will be generated in a
simulation from scratch. An exploration mechanism should also be chosen. As
shown in [12], classical -greedy mechanisms fail to provide enough performance
in continuous and multi-action scenarios. A solution for this would be Noisy Net
[12] or an Ornstein-Uhlenbeck process [13].
Instead of starting with random starting parameters for the neural network,
a good idea would be to apply a genetic algorithm (GA) and later build on
this foundation to get the RL algorithm started. Genetic algorithms have been
inspired by the natural selection mechanisms described by Darwin. They apply
a set of operators on a population of solutions, in such a way that the new
population improves.
In simulation the neural network could reach far with this GA method. But
improvements could still be made with RL if it is not satisfactory enough. A
next step could involve implementation in the real world.
if it fails and runs into an obstacle, the costs of repair could be quite high.
This is why transfer learning would be a good idea. The concept of transfer
learning is to use knowledge of the past. Since training times can be long, it is
recommended to reuse data from the past. For example from a simulation, that
had similar parameters as the real life environment. But this is expected to be
still not faithful enough to be used, without alteration. Using simulation data
for a real robot, using transfer learning, has already been proven in the past [14].
Since the choice of architecture was quite arbitrary, it could also be possible
to test different kinds of neural network configurations and observe if there are
performance boosts or downgrades. These configurations could be the amount
of hidden layers and the amount of nodes, these layers consist of. At the time
of writing there is no real calculation to know the perfect amount of layers and
neurons. The only way is systematic experimentation, by means of a hyper-
parameter sweep. In [15] is stated that deep neural networks seem to perform
better. However, for this problem, creating a deep neural network with multiple
layers does not seem necessary to cover this simple problem of converting sensor
input to wheel speed, for obstacle avoidance.
References
1. Maass, W.: Networks of spiking neurons: the third generation of neural network
models. Neural Netw. 10, 1659–1671 (1997)
2. Pearson, M.J., Melhuish, C., Pipe, A.G., Nibouche, M., Gilhesphy, I., Gurney, I.,
Mitchinson, B.: Design and FPGA implementation of an embedded real-time bio-
logically plausible spiking neural network processor. In: Proceedings - 2005 Inter-
national Conference on Field Programmable Logic and Applications, FPL (2005)
3. Florian, R.V.: A reinforcement learning algorithm for spiking neural networks.
In: Proceedings - Seventh International Symposium on Symbolic and Numeric
Algorithms for Scientific Computing, SYNASC (2005)
4. Cessac, B., Paugam-Moisy, H., Viéville, T.: Overview of facts and issues about
neural coding by spikes (2010)
5. O’Connor, P., Welling, M.: Deep Spiking Networks. CoRR, vol. abs/1602.08323
(2016)
6. Gerstner, W., Kistler, W.: Spiking neuron models: single neurons, populations,
plasticity. Encycl. Neurosci. 4(7–8), 277–280 (2002)
7. Goldberg, D.H., Andreou, A.G.: Distortion of neural signals by spike coding. Neural
Comput. 19, 2797–2839 (2007)
8. Rosado-Muñoz, A., Bataller-Mompeán, A., Guerrero-Martı́nez, J.: FPGA imple-
mentation of spiking neural networks. In: IFAC Proceedings Volumes (IFAC-
PapersOnline) (2012)
9. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction. The MIT
Press, Cambridge (2018)
10. Arulkumaran, K., Deisenroth, M.P., Brundage, M., Bharath, A.A.: A brief survey
of deep reinforcement learning. Special Issue on Deep Learning for Image Under-
standing (2017)
11. Behzadan, V., Arslan, M.: Adversarial reinforcement learning framework for bench-
marking collision avoidance mechanisms in autonomous vehicles (2018)
Spiking Neural Network Implementation on FPGA for Robotic Behaviour 703
12. Fortunato, M., Azar, M.G., Piot, B., Jacob, M., Hessel, M., Osband, I., Graves,
A., Mnih, V., Munos, R., Hassabis, D., Pietquin, O., Blundell, C., Legg, S.: Noisy
networks for exploration (2017)
13. Bowling, M., Veloso, M.: Rational and convergent learning in stochastic games. In:
IJCAI International Joint Conference on Artificial Intelligence (2001)
14. Mu, J.W., et al.: Transfer learning for reinforcement learning on a physical robot.
Zhonghua yi xue za zhi (2010)
15. Goodfellow, I., Bengio, Y., Courville, A.: Adaptive Computation and Machine
Learning. MIT Press (2016)
A New Approach to Selectively
Implement Control Flow Error Detection
Techniques
Jens Vankeirsbilck, Jonas Van Waes, Hans Hallez, and Jeroen Boydens(B)
1 Introduction
et al. took another approach with their Abstract Control Signatures (ACS) tech-
nique [9]. They divide the basic blocks into regions and assign a specific signature
to each region. Each basic block in a region has a signature update instruction
inserted, while signature verification instructions are only inserted in basic blocks
where the control flow changes from one region to another. Khudia et al. define
their regions as a collection of basic blocks which has a single entry point but
multiple exit points. Ideally, the regions should possess certain properties that
help in minimizing the number of signature updates and verifications.
Although SETA-C and ACS show promise, implementing them can be diffi-
cult. SETA-C only inserts the verification instructions in larger basic blocks. For
algorithms with little difference between the length in basic blocks, the decrease
in execution time overhead can be limited. To gain the maximum decrease in exe-
cution time overhead when applying ACS, the division of the CFG into regions
is critical. However, Khudia et al. provide little guidance on how to find this
optimal division.
Therefore, we propose an easier and more consistent approach to selectively
implement CFE detection techniques. We propose to only insert the signature
verification instructions in return basic blocks. These are basic blocks which
contain the return statement that exits out of the current function or program
and returns control to the calling function or program. These basic blocks are
the last basic block in each possible path through the target CFG and thus allow
to detect all CFEs that occur within the CFG.
3 Selective RACFED
RACFED is our CFE detection technique that uses run-time signature updates
to detect both inter- and intra-block CFEs. A high-level implementation of
RACFED is shown on the left-hand side of Fig. 1. The instructions inserted
by RACFED are indicated in bold and S is the run-time signature. As can be
seen, a signature update is inserted at the beginning of each basic block and
after each non-jump original instruction. In RACFED, each basic block has a
signature verification instruction that compares the run-time signature with the
compile-time value. These are indicated as S != #value: error(). When a mis-
match between the run-time and compile-time value is detected, a call is made
to the error-handler.
Applying our proposed selective implementation approach transforms
RACFED in S-RACFED. As shown in the right-hand side of Fig. 1, only the
A New Approach to Selectively Implement CFE Detection Techniques 707
bottom basic block has a signature verification instruction inserted because that
is the return basic block. Since S-RACFED does not remove any signature update
instructions, it should have the same CFE detection ratio as RACFED but with
a lower execution time overhead.
1. First, all needed compile-time variables are assigned to all basic blocks.
2. Then, the instruction monitoring is implemented. These update instructions
help to detect intra-block CFEs.
3. Next, the first signature update and the signature verification instructions
are inserted in each basic block.
4. Finally, the last signature update is inserted in each basic block.
To implement S-RACFED, the third step is slightly adjusted. The first sig-
nature update instruction is still inserted in each basic block. The signature
verification, however, is only inserted in return basic blocks. Therefore, an extra
check is inserted in the compile-time process that analyses whether or not the
last instruction of the basic block is a return instruction. If so, only then the
signature verification is inserted in the basic block.
4 Experimental Setup
latency of S-RACFED and RACFED. This section discusses the setup of the
performed experiments in detail. First, we present the four criteria we measured
for S-RACFED. Next, we present the selected case studies and the selected
target. Finally, we discuss the used fault injection process.
4.1 Criteria
To compare S-RACFED with RACFED, we measured four criteria: the effect of
each error, the execution time overhead, the code size overhead and the error
detection latency.
4.3 Target
We executed the case studies on an ARM Cortex-M3, because it is an industry-
leading 32-bit processor used in many different embedded application domains.
For the CFE injection experiments, we used a simulated Cortex-M3 provided
by the Imperas simulator [8]. The Imperas simulator is an instruction set simu-
lator which allows to execute the target instructions at host (computer) speed,
speeding up the fault injection experiments. The Imperas simulator supports
ARM, MIPS, PowerPC and several other targets.
Because the Imperas simulator is an instruction accurate simulator and not
a cycle accurate simulator, it is less suited to perform timing measurements.
Therefore, we performed the execution time measurements on a physical tar-
get, the NXP LPC 1768. The NXP LPC 1768 is an ARM Cortex-M3 driven
microcontroller running at 96 MHz, including 512 kB FLASH and 32 kB RAM.
obtained. Next, the processor executes the number of steps indicated by exec-
Steps variable. The execSteps variable indicates how far into the case study the
fault injection testing has already progressed. When no CFE was injected, the
processor of the current instance of the virtual platform is progressed one step
further and the corresponding variables are updated.
Next, the current PC of the processor is read out and the loop variable
CFE Injected is updated. The read PC value is compared to the user specified
endAddress value. The endAddress is the PC value that indicates the end of the
current fault injection experiment. When this value is reached, all desired CFEs
have been injected and the experiment can thus stop. In our case, the endAddress
is the return address of the function implementing the target algorithm. In other
words, in our case the endAddress is the first PC value of the verification part
of the case study.
The next step in the algorithm is to determine whether or not the read out
PC falls within the user specified range. When the PC is not in that range, a
new CFE attempt is started and the execution phase restarts. In case the PC
does fall within the range, its according CFE possibilities are extracted from all
possibilities that were created at the start of the algorithm.
Finally, the process analyses whether for the current PC a new CFE must
be injected. This is determined by comparing the current wanted possibility
index (possIndex ) with the number of possibilities for this PC. If a CFE must be
injected, it is injected, analysed for its effect on the target program, the according
variables are updated and the current instance of the virtual platform is deleted.
Then, the execution part of the fault injection restarts.
When no CFE must be injected, a final check is executed. This final check
determines whether or not the current PC must be removed from the range of
allowed PC values. It does this by checking if the total amount of injected CFEs
exceeds the limit provided by the user via the minCFEs option. When the total
amount of injected CFEs exceeds the limit, the PC is removed. The minCFEs
option is mainly used to break the process out of case studies that have loops
with a lot of iterations. In this case, the loop iterations will inject the same
CFEs until the minCFEs limit is reached. Once reached, the PC values part of
the loop will be removed from the allowed PC range, causing the fault injection
experiment to skip them and test the remainder of the target program.
5 Results
This section represents the results of the performed experiments per defined
criterion.
For each of the selected case studies, we defined five datasets and we subjected
each combination of case study, dataset and implemented technique to fault
injection experiments. The results are shown in Fig. 2 and are the averages for
A New Approach to Selectively Implement CFE Detection Techniques 711
Fig. 2. Bar chart presenting the results of the fault injection experiments.
the five datasets. The green bar indicates the percentage of CFEs that was
detected by the implemented technique (Det), the red bar indicates the percent-
age of CFEs that was not detected and caused a wrong result (SDC), and gray
bar shows the percentage of CFEs that were either detected by the microcon-
troller itself or that were not detected and did not corrupt the result of the case
study (HD + NE).
As shown, the impact of implementing RACFED selectively changes from
case study to case study. For the CU, DIJ, and QS case studies, the SDC ratio
of S-RACFED is approximately the same as when RACFED is implemented.
For the DIJ case study, S-RACFED even has a higher error detection ratio. A
minor negative impact on the SDC ratio is measured for the BS and FFT case
studies. For these two case studies, the SDC ratio increases with one or two
percent. The FFT case study also reports a much lower error detection ratio
with S-RACFED implemented, but the undetected errors are mainly covered by
either the hardware or the application resilience. However, for the BC, CRC and
MM case studies, the chart illustrates that the selective implementation has a
major negative impact on both the error detection ratio and the SDC ratio. For
these case studies, the SDC ratio increases with five to ten percent, resulting in
an intolerable SDC ratio between ten and eighteen percent. Regarding the CRC
and MM case studies, this increase is coupled with a significant decrease in error
detection ratio.
Although little to no difference between the fault injection results of
RACFED and S-RACFED were expected, the results indicate that, depending
on the case study, large differences are possible. Especially for the smaller case
studies, i.e. BC and CRC, bigger differences were noted. The data shows that
when S-RACFED is implemented, more single-bit CFE resulted in premature
undetected exits out of the algorithm, increasing the SDC ratio.
712 J. Vankeirsbilck et al.
Fig. 4. Boxplots showing the extra error detection latency of S-RACFED compared to
RACFED.
extends to 4000 instructions and 500 instructions, respectively. The median value
for most case studies is located around 10 instructions.
The error detection latency of S-RACFED, however, is much higher for all
case studies. Here, we can divide the case studies in two groups. The first group
consists of BC, CRC, CU and DIJ, and has an error detection latency range
from 1 executed instruction to various upper limits, going to 1 million executed
instructions before the CFE was detected for the DIJ case study. The second
group consists of the remaining case studies and shows little spreading in its
error detection latency. For these case studies, the CFE was only detected once
the entire program has executed.
These results indicate that S-RACFED is not suited for all types of applica-
tions. For example, an application that controls an actuator preferably has a low
error detection latency as erroneously controlling an actuator can cause damage
or injuries. Applications that are suitable for S-RACFED are applications that
process data and return the result. Since only the result is of importance, a
higher detection latency can often be tolerated.
6 Conclusions
This paper proposed a new approach to selectively implement CFE detection
techniques. We propose to only insert signature comparisons and the branches
to the error handler in the return basic blocks of the target algorithm. The
advantages of this approach are that it is easy to apply and that it can be
applied to most, if not all, existing CFE detection techniques.
We validated this approach by applying it to our own RACFED technique
to create Selective RACFED (S-RACFED). Next, we performed fault injection
experiments for eight case studies and measured the detection ratio, the error
detection cost and the error detection latency of S-RACFED. The results show
714 J. Vankeirsbilck et al.
that S-RACFED has approximately the same error detection ratio with a lower
overhead when compared to RACFED. This reduction in overhead does come
at a cost of a high error detection latency. This high latency makes S-RACFED
less suited for actuator controlling applications. Its high detection ratio and low
execution time overhead do make S-RACFED very suitable for data processing
applications.
References
1. Alkhalifa, Z., Nair, V.S.S., Krishnamurthy, N., Abraham, J.A.: Design and evalu-
ation of system-level checks for on-line control flow error detection. IEEE Trans.
Parallel Distrib. Syst. 10(6), 627–641 (1999). https://doi.org/10.1109/71.774911
2. Asghari, S.A., Abdi, A., Taheri, H., Pedram, H., Pourmozaffari, S.: SEDSR: soft
error detection using software redundancy. J. Softw. Eng. Appl. 5(9), 664–670
(2012). https://doi.org/10.4236/jsea.2012.59078
3. Asghari, S.A., Taheri, H., Pedram, H., Kaynak, O.: Software-based control flow
checking against transient faults in industrial environments. IEEE Trans. Industr.
Inf. 10(1), 481–490 (2014). https://doi.org/10.1109/TII.2013.2248373
4. Baffreau, S., Bendhia, S., Ramdani, M., Sicard, E.: Characterisation of microcon-
troller susceptibility to radio frequency interference. In: Proceedings of the Fourth
IEEE International Caracas Conference on Devices, Circuits and Systems (Cat.
No.02TH8611), pp. I031–1–I031–5 (2002). https://doi.org/10.1109/ICCDCS.2002.
1004088
5. Chielle, E., Rodrigues, G.S., Kastensmidt, F.L., Cuenca-Asensi, S., Tambara, L.A.,
Rech, P., Quinn, H.: S-SETA: selective software-only error-detection technique
using assertions. IEEE Trans. Nucl. Sci. 62(6), 3088–3095 (2015). https://doi.org/
10.1109/TNS.2015.2484842
6. Goloubeva, O., Rebaudengo, M., Sonza Reorda, M., Violante, M.: Soft-error detec-
tion using control flow assertions. In: Proceedings of the 18th IEEE International
Symposium on Defect and Fault Tolerance in VLSI Systems, DFT 2003, Washing-
ton, DC, USA, pp. 581–588. IEEE Computer Society (2003)
7. Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown,
R.B.: MiBench: a free, commercially representative embedded benchmark suite.
In: Proceedings of the Fourth Annual IEEE International Workshop on Workload
Characterization. WWC-4 (Cat. No. 01EX538), pp. 3–14 (2001). https://doi.org/
10.1109/WWC.2001.990739
8. Imperas: Revolutionizing embedded software development (2018). http://www.
imperas.com/
9. Khudia, D.S., Mahlke, S.: Low cost control flow protection using abstract control
signatures. SIGPLAN Not. 48(5), 3–12 (2013). https://doi.org/10.1145/2499369.
2465568
10. Li, A., Hong, B.: Software implemented transient fault detection in space computer.
Aerosp. Sci. Technol. 11(2), 245–252 (2007). https://doi.org/10.1016/j.ast.2006.06.
006
A New Approach to Selectively Implement CFE Detection Techniques 715
11. Nicolescu, B., Savaria, Y., Velazco, R.: SIED: software implemented error detection.
In: Proceedings 18th IEEE Symposium on Defect and Fault Tolerance in VLSI
Systems, pp. 589–596 (2003)
12. Oh, N., Shirvani, P.P., McCluskey, E.J.: Control-flow checking by software signa-
tures. IEEE Trans. Reliab. 51(1), 111–122 (2002)
13. Sierawski, B.D., Reed, R.A., Mendenhall, M.H., Weller, R.A., Schrimpf, R.D., Wen,
S.J., Wong, R., Tam, N., Baumann, R.C.: Effects of scaling on muon-induced soft
errors. In: 2011 International Reliability Physics Symposium, pp. 3C.3.1–3C.3.6
(2011). https://doi.org/10.1109/IRPS.2011.5784484
14. Tang, A., Sethumadhavan, S., Stolfo, S.: CLKSCREW: exposing the perils of
security-oblivious energy management. In: 26th USENIX Security Symposium
(USENIX Security 17), pp. 1057–1074. USENIX Association, Vancouver, BC
(2017)
15. Vankeirsbilck, J., Penneman, N., Hallez, H., Boydens, J.: Random additive control
flow error detection. In: Gallina, B., Skavhaug, A., Bitsch, F. (eds.) Computer
Safety, Reliability, and Security, pp. 220–234. Springer International Publishing,
Cham (2018)
In-Air Imaging Sonar Sensor Network
with Real-Time Processing Using GPUs
1 Introduction
Sonar sensing has, contrary to what nature tells us, often been judged to as not
being capable of supporting complex, dynamic environments for intelligent inter-
action when used outside water. For implementation in robotics, optical sensors
are often the first choice [4] and sonar is not considered. However, as we can see
with several species of bats, their biosonar allows for classification of objects and
finding their prey among them [7,14]. In recent years, our research group has
developed sonar systems inspired by the echolocation system used by these bats,
capable of finding detailed 3D information from complex environments [9,15].
This sensing modality can serve a wide range of applications, especially in
harsh environments where optical techniques tend to fail due to medium distor-
tions due to foggy weather or dusty environments. As an example application in
robotics, a Simultaneous Localisation and Mapping (SLAM) solution was devel-
oped using 3D sonar for estimating the ego-motion of a mobile platform [16].
Furthermore, in 2017, a control strategy was developed to navigate a mobile
platform through an environment using the acoustic flow field generated by the
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 716–725, 2020.
https://doi.org/10.1007/978-3-030-33509-0_67
In-Air Imaging Sonar Sensor Network with Real-Time Processing 717
sonar sensor [17]. As these works show, sonar is an increasingly capable sensing
modality.
However, often multiple sensors are embedded into a (mobile) platform, sens-
ing in different directions. This is no different for sonar. The current sonar system
we use is capable of sensing the entire frontal hemisphere in front of the sensor.
When trying to sense the entire 360-degree around a mobile platform, multiple
sonar sensors are required. In this paper we propose a framework to deploy a
network of these sonar sensors for such a platform, providing time-synchronised
measurements which can be processed in real-time on a Compute Unified Device
Architecture (CUDA) [12] enabled Graphics Processing Unit (GPU) by NVIDIA.
Our main focus lies on being able to scale up of the amount of sensors, general
ease of use of the framework and being able to always operate in real-time, being
only limited by the frequency of sonar measurements.
2 Sonar Synchronisation
First, we will provide a brief overview of the 3D sonar system used, our Embed-
ded Real Time Imaging Sonar (eRTIS) [15]. A much more in-depth description
of the sonar can be found in [9,18]. The sensor has a single emitter and uses a
known, irregularly positioned array of 32 digital microphones, as can be seen on
Fig. 1a.
A broadband FM-sweep is emitted allowing the microphones to capture the
reflected echos. The processing of the recorded microphone data to create the 2D
or 3D images of the environment which will be further discussed in Subsect. 4.1.
The microphone signals are recorded over a 1 bit Sigma-Delta Pulse-Density
Modulation (PDM) ADC. The embedded microprocessor on the eRTIS sensor
sends out the recorded data over a USB 2.0 connection to a Raspberry Pi, which
will distribute it to the network which be discussed in the next section.
As we use acoustic echolocation, allowing each eRTIS sensor to freely choose
when to emit the FM-sweep and capture data with the microphones would cause
heavy interference from one another as the emission signals from other sen-
sors would be captured. This would cause artefacts making most measurements
meaningless. Therefore, we have to make the emitters of the eRTIS sensors send
their FM-sweeps simultaneously in order to make the emitters form a consistent
source. To that end, we use a synchronisation mechanism that we have built into
the hardware, which is discussed in more detail in [8]. The eRTIS sensors use
a SYNC signal to synchronise with each other as seen on Fig. 1b. This SYNC
signal allows each eRTIS sensor to synchronise with the previous eRTIS sensor
and will also propagate the SYNC signal to further daisy-chained eRTIS sensors
in the network. To set the measurement rate, the first eRTIS sensor in the chain
can be controlled by an external clock pulse. Each connected Raspberry Pi will
receive a specific message over its USB serial data connection after the FM-
sweep has been emitted and will cause the Raspberry Pi to initiate the capture
of the measurement data over that same serial connection. The measurement
delay with this synchronised system is constant and is ca. 400 ns. However, this
718 W. Jansen et al.
a)
Emitter SYNC
USB
Microphone
Array STM32 Raspberry Pi
Ethernet
GPIO GPIO
b) TTL SYNC Connection
External
Clock
Pulse
Generator
3 Network
Worker
Fig. 2. A diagram visualising the network topology and communication between all
the nodes as well as the different states of the central node. The sensor nodes (client)
send their data packages to the central node (server). This node, being in either storage
or processing state, will identify each package and add it to a queue. The centre node
has a series of multi-threaded workers which will pick from that queue and either store
or process the measurement. In the processing state, the resulting processed imaging
data will be put on another queue. Data in this queue is send to the correct application
nodes (client) by separate process.
another process, serialising the data and sending it to the correct application
nodes. The entire communication layer is shown in Fig. 2.
4 Real-Time Processing
Where our research group had previously implemented the processing algorithm
discussed in this section on a Central Processing Unit (CPU) using Python, it
was not capable of performing real-time computation for one or more eRTIS
sensors when the amount of directions of interest was increased substantially. To
achieve real-time applications making use of our 3D sonar images, an accelerated
implementation of the processing pipeline had to be made. First, we will discuss
the current processing implementation as it was created for a CPU, followed by
the benefits of using a GPU over a CPU and describing its architecture. Finally,
we will discuss the changes made to the processing algorithm to make better
usage of the GPU resources.
N channels N channels
M directions M directions
Range
Envelope Detector Visualisation
...
...
Application
Azimuth
Fig. 3. Overview of the processing pipeline. The microphone signals containing the
reflected echoes of the detected objects are demodulated and passed through a matched
filter. Afterwards, a beamformer generates a spacial filter for every direction of interest.
The output is then put through an envelope detector for every direction. The last
visualisation step and resulting 2D image is not part of the processing but is shown
here to illustrate a possible application of the sensor imaging.
of interest we can calculate the delay, relative to the particular channel of the
microphone array. This allows for steering into the directions of interest with
simple delay-and-sum beamforming [19]. After beamforming, we can extract the
envelope of the signal as the representation of the reflector distribution for each
particular direction, with the time axis representing the range for that direction.
We now have a 2D or 3D image that gives us the intensity, range and direction
for each detected reflector.
CUDA [12] has enabled programming on the GPU beyond rendering of graph-
ics. This allows to speed up and parallelise heavy computational tasks. Recently,
multiple works have been published using GPUs for audio signal processing
[2,3,11] and (sonar) beamforming algorithms such as (Linearly Constrained)
Minimum Variance, Minimum Variance Distortionless Response, Generalised
Sidelobe Canceller and Capon [1,5,6,10]. Similarly, our research group looked
at GPUs to provide the potential to perform real-time processing of an eRTIS
sonar with a high number of directions during beamforming to create a high res-
olution 3D image of the sensor’s frontal hemisphere. Our processing algorithm,
which is computationally expensive and needs to be used in parallel to allow
for multiple sensors to be processed simultaneously is therefore an ideal case for
using a GPU.
The architecture of an NVIDIA GPU has been consistent over the last few
generations. It is composed of multiple Streaming Multiprocessors (SM). Each
SM contains a set of pipelined CUDA cores. For high-speed, high bandwidth
memory access, an NVIDIA GPU has access to device memory (global ) and
faster on-chip (shared ) memory. When programming device code that has to
run on the GPU cores, it is also called a kernel function. One such kernel can be
made to be run concurrently by multiple cores. It is then called a thread. Threads
are grouped in thread blocks, with a maximum of 1024 threads for each block. A
block can be designed to organise threads in up to three dimensions. All threads
in a block have access to the same shared memory. The GPU will schedule the
blocks over each SM. An SM can run up to 32 parallel threads, which is called a
warp. Using all 32 threads in a warp is important, as not optimally using a single
SM will increase latency. During the validation of our system we used 3 different
GPUs. The Jetson TX2, GTX 1050 and GTX 1080 Ti representing what could
be used on a mobile platform with low power usage, a laptop GPU and a high-
end desktop GPU respectively. Their specifications can be found in Table 1. All
share the same restrictions on thread block dimensions and maximum amount
of blocks for each SM. The specific architecture of an NVIDIA GPU requires
careful adaptation of the algorithms to exploit it’s full power. The changes are
detailed in the next subsection.
722 W. Jansen et al.
5 Experimental Validation
For validating the processing on a GPU we used three different models as shown
in Table 1. For comparison, we used three Intel CPUs. An i7-7567U (2 cores,
up to 4 GHz), an i7-7700HQ (4 cores, up to 3.8 GHz) and an i9-7960X (16 cores,
up to 4.2 GHz). Similarly as with the GPU choices, these represent what could
be expected on a mobile platform with low power usage, a laptop and a high-
end desktop respectively. We ran 3 different processing configurations for each
hardware setup. First, a 2D image of the horizontal plane in front of the sensor,
using 90 directions over the entire azimuth range. A second configuration was
a 3D image with 1850 directions distributed between −45 and 45◦ for both
azimuth and elevation. Finally, a 3D image of the full hemisphere in front of the
sensor, using 3000 directions. For every configuration, 100 measurements were
processed and the computation duration was recorded. The results can be found
in Table 2.
One comment we would like to make when looking at the results is the remarkable
performance of the i7-7567U compared to the other CPUs. A partial explana-
tion is that the CPU implementation of the processing algorithm was done in
Python, making heavy usage of the NumPy and SciPy packages. Most of their
functions are not multi-threaded and the Python Global Interpreter (GIL) limits
the Python interpreter to only have one thread in a state of execution at any
point in time [13]. This severely limits our CPU algorithm to make full usage of
the i9-7960X’s 16 cores. However, if we want would process multiple eRTIS sen-
sors at the same time, we can make usage of Python’s Multiprocessing package
to run multiple workers simultaneously, making usage of multiple cores (which
we do as explained in Subsect. 3 when describing the workers). In such cases,
the i9 would outclass the other CPUs in our tests. But for these results we are
only looking at single sensor processing. Nevertheless, we did not find an expla-
nation why the i7-7567U performs better in single thread performance than the
i9-7960X as on paper the second should be better. Lastly, given these results
and after doing additional experiments we found that on the Jetson TX2, suited
well for a mobile platform, up to three eRTIS sensors could be processed at 5 Hz
724 W. Jansen et al.
when using 90 directions of interest. Moreover, on the GTX 1080 Ti, a single
eRTIS sensor could be processed at 10 Hz with 3000 directions covering the entire
frontal hemisphere.
References
1. Asen, J.P., Buskenes, J.I., Nilsen, C.I.C., Austeng, A., Holm, S.: Implementing
Capon beamforming on a GPU for real-time cardiac ultrasound imaging. IEEE
Trans. Ultrason. Ferroelectr. Freq. Control 61(1), 76–85 (2014). https://doi.org/
10.1109/TUFFC.2014.6689777
2. Belloch, J.A., Ferrer, M., Gonzalez, A., Martinez-Zaldivar, F., Vidal, A.M.:
Headphone-based virtual spatialization of sound with a GPU accelerator. J. Audio
Eng. Soc. 61(7/8), 546–561 (2013)
3. Belloch, J.A., Bank, B., Savioja, L., Gonzalez, A., Valimaki, V.: Multi-channel IIR
filtering of audio signals using a GPU. In: 2014 IEEE International Conference on
Acoustics, Speech and Signal Processing, pp 6692–6696. IEEE (2014). https://doi.
org/10.1109/ICASSP.2014.6854895
4. Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot.
Autom. 2(1), 14–23 (1986). https://doi.org/10.1109/JRA.1986.1087032
5. Buskenes, J.I., Åsen, J.P., Nilsen, C.I.C., Austeng, A.: Adapting the minimum vari-
ance beamformer to a graphics processing unit for active sonar imaging systems.
J. Acoust. Soc. Am. 133(5), 3613–3613 (2013). https://doi.org/10.1121/1.4806739
6. Buskenes, J.I., Asen, J.P., Nilsen, C.I.C., Austeng, A.: An optimized GPU imple-
mentation of the MVDR beamformer for active sonar imaging. IEEE J. Oceanic
Eng. 40(2), 441–451 (2015). https://doi.org/10.1109/JOE.2014.2320631
7. Griffin, D.R.: Listening in the Dark: The Acoustic Orientation of Bats and Men.
Dover Publications (1974)
In-Air Imaging Sonar Sensor Network with Real-Time Processing 725
8. Kerstens R., Laurijssen, D., Schouten, G., Steckel, J.: 3D point cloud data acqui-
sition using a synchronized in-air imaging sonar sensor network. In: IEEE/RSJ
International Conference on Intelligent Robots and Systems (2019, to be published)
9. Kerstens, R., Laurijssen, D., Steckel, J.: eRTIS: a fully embedded real time 3D
imaging sonar sensor for robotic applications. In: IEEE International Conference
on Robotics and Automation (2019, to be published)
10. Lorente, J., Vidal, A.M., Pinero, G., Belloch, J.A.: Parallel implementations of
beamforming design and filtering for microphone array applications. In: European
Signal Processing Conference (2011)
11. Schneider, M., Schuh, F., Kellermann, W.: The generalized frequency-domain
adaptive filtering algorithm implemented on a GPU for large-scale multichannel
acoustic echo cancellation. In: Speech Communication, 10. ITG Symposium, VDE
Verlag GmbH, p. 296 (2012)
12. NVIDIA: CUDA Toolkit (2019). https://docs.nvidia.com/cuda/index.html
13. Python: GlobalInterpreterLock (2019). https://wiki.python.org/moin/Global
InterpreterLock
14. Schnitzler, H.U., Moss, C.F., Denzinger, A.: From spatial orientation to food acqui-
sition in echolocating bats. Trends Ecol. Evol. 18(8), 386–394 (2003). https://doi.
org/10.1016/S0169-5347(03)00185-X
15. Steckel, J.: RTIS (2019). https://www.3dsonar.eu/
16. Steckel, J., Peremans, H.: BatSLAM: simultaneous localization and mapping
using biomimetic sonar. PLoS ONE 8(1), e54,076 (2013). https://doi.org/10.1371/
journal.pone.0054076
17. Steckel, J., Peremans, H.: Acoustic flow-based control of a mobile platform using
a 3D sonar sensor. IEEE Sens. J. 17(10), 3131–3141 (2017). https://doi.org/10.
1109/JSEN.2017.2688476
18. Steckel, J., Boen, A., Peremans, H.: Broadband 3-D sonar system using a sparse
array for indoor navigation. IEEE Trans. Rob. 29(1), 161–171 (2013). https://doi.
org/10.1109/TRO.2012.2221313
19. Van Trees, H.L.: Optimum Array Processing. Wiley, New York (2002). https://
doi.org/10.1002/0471221104
20. Vanneste, S., de Hoog, J., Huybrechts, T., Bosmans, S., Sharif, M., Mercelis, S.,
Hellinckx, P.: Distributed uniform streaming framework: towards an elastic fog
computing platform for event stream processing. In: International Conference on
P2P, Parallel, Grid, Cloud and Internet Computing, pp. 426–436 (2018). https://
doi.org/10.1007/978-3-030-02607-339
21. Garage, W.: Stanford Artificial Intelligence Laboratory. ROS.org (2019). http://
www.ros.org/
Comparing Machine Learning Algorithms
for RSS-Based Localization in LPWAN
1 Introduction
2 Methodology
In this section, we will describe the steps taken to evaluate every Machine Learn-
ing algorithm. First, some preprocessing steps need to be taken in order to rep-
resent our data in the most optimal way. Second, we will explain into detail how
each Machine Learning algorithm works and what parameters are optimized.
For each algorithm, the benefits and limitations are listed. Third, we define the
metrics used to evaluate each algorithm.
2.1 Dataset
The data that is being used to evaluate each algorithm is collected and updated
by Aernouts et al. [1]. Version 1.2 of the publicly available dataset consists of
728 T. Janssen et al.
a table with 130 426 rows, each row representing a LoRaWAN message sent in
the city of Antwerp, Belgium. These messages are plotted in Fig. 1. For each
message, the RSS values to all 72 LoRaWAN gateways are represented in the
columns, appended by the ground truth GPS coordinate and some meta data. If
a message is not received by a gateway, the RSS value in that gateway column
is set to −200 dBm. Given the spatial spread of the LoRaWAN gateways, a lot
of RSS values are set to −200 dBm. This emphasizes the challenge to represent
the data in a proper way and extract the relevant data above the noise floor.
Fig. 1. The dataset consists of 130 426 LoRaWAN messages collected in Antwerp,
Belgium.
c 2019 OpenStreetMap contributors
To put this data into a more Machine Learning perspective, each message
is related to a single sample and each receiving gateway relates to a feature.
Therefore, the dataset consists of 130426 samples and 72 features in total.
of zero. In the normalized representation, the positive values are mapped to the
range [0...1]. Since signal strengths are represented in a logarithmic way, it is
better to map the RSS values in a logarithmic way as well. Therefore, the ‘expo-
nential’ and ‘power’ representations are introduced in [13]. In our experiments,
we evaluate the localization accuracy when using the normalized, exponential
and power RSS representation.
Although some scaling is introduced in the RSS representations of the pre-
vious paragraphs, it is recommended to use the StandardScaler of the sklearn
package in Python, which is able to feed the data in the most optimal way to
the Machine Learning algorithms in the sklearn package.
Finally, a Principal Component Analysis (PCA) is performed on the
dataset. With PCA, we can extract the most relevant features out of the dataset.
This is highly desired, since not all gateways receive each message, thus reducing
the amount of features and noise. Moreover, extracting the principal components
of the dataset is often used to decrease the evaluation time of each Machine
Learning algorithm. We performed PCA on the dataset with 95% of the variance
retained, resulting in a reduction from 72 to 40 components.
As the name suggests, Ordinary Least Squares (OLS) is the most basic linear
regression algorithm. In this algorithm, the Mean Squared Error (MSE) between
the predicted and real output values is minimized. If the features of the data are
correlated, the number of random errors in the target values increases. This phe-
nomenon is called multicollinearity. Therefore, the independence of the features
is very important in the OLS algorithm.
Ridge regression is similar to OLS, with the difference that in Ridge regression
the magnitude of the coefficients w is reduced by a factor α, as can be seen
in Eq. (2). This constraint is known as 2 regularization. We find the optimal
value of α by evaluating Ridge regression with cross-validation. During the cross-
validation, we iterate over values ranging from 5 × 10−2 to 5 × 109 . In this way,
the optimal value of α is found to be 3290.
In the Lasso regression algorithm, some coefficients in Eq. (1) are set to zero.
Consequently, some features are ignored by the model. This is called 1 regular-
ization. Similar to Ridge, the optimal value of α equal to 2.52 × 10−5 is found by
cross-validation. With only a few non-zero weights, the advantage of the Lasso
regression is the reduced amount of time needed to train the model.
The Elastic-Net linear regression model performs both 1 and 2 -norm regu-
larization of the coefficients. In fact, it is a combination of the Ridge and Lasso
algorithms, in the sense that there are fewer non-zero weights and the regular-
ization properties of Ridge are maintained.
Stochastic Gradient Descent (SGD) is a Machine Learning algorithm that can
be used for classification and regression problems. It is often used for training
artificial neural networks. However, it can also be used for training linear regres-
sion models. Gradient Descent is a method to find the values of a function that
minimizes the cost function. To find the optimal values, the initial parameters
are constantly updated. Thus, Gradient Descent is an iterative method, resulting
in slower training times. In the stochastic variant of this algorithm, one iterates
over a few randomly selected samples, reducing the computational complexity in
large datasets. Furthermore, different loss functions and corresponding parame-
ters have been evaluated on our dataset. The Huber loss function with equal
to 1 × 10−2 and a stopping criterion equal to 1 × 10−3 lead to the most accurate
results (i.e. smallest location estimation error). The Huber loss function uses
a squared loss function and past a distance of it uses a linear loss function.
Therefore, it becomes less sensitive to outliers in the dataset.
The last linear regression algorithm we discuss is the polynomial regression,
which can be seen as a particular case of multiple linear regression. In this
algorithm, a linear function is fitted within a higher-dimensional space. Thus, the
degree of a polynomial function is lowered. In our case, the localization accuracy
was maximized when reducing the degree to 1. This approach allows to fit a
much wider range of data and benefits from the relatively fast performance of
linear regression algorithms.
Comparing Machine Learning Algorithms for RSS-Based Localization 731
3 Results
The ten algorithms discussed in the previous section are now evaluated in terms
of location estimation error, R2 score and the time needed for the Virtual
Machine with 6 CPU cores to compute the results. In Table 1, these metrics
are summarized for every algorithm and for the lineal, exponential and powed
representations of the fingerprinting dataset. A box plot of localization errors
for every algorithm using the powed RSS representation is shown in Fig. 2.
As one can observe, the optimal RSS representation depends on the algo-
rithm being evaluated. For example, the exponential RSS representation yields
the smallest location estimation errors when evaluating the linear regression
algorithms. By using this representation, the accuracy of all linear algorithms is
around 785 m. Given their simplicity, the linear regression algorithms yield higher
errors but are computed in the least amount of time. The R2 score, which gives
an indication of how close the actual target values are to the fitted regression
line, increases from 0.70 using positive RSS to 0.73 using exponential RSS.
Table 1. Mean location estimation error (in [m]), R2 , and evaluation time (in [s])
score for every Machine Learning algorithm using the lineal, exponential and powed
RSS representation of the LoRaWAN dataset.
Fig. 2. Location estimation errors for every regression algorithm using the powed RSS
representation of the LoRaWAN dataset
References
1. Aernouts, M., Berkvens, R., Van Vlaenderen, K., Weyn, M.: Sigfox and LoRaWAN
datasets for fingerprint localization in large urban and rural areas. Data 3(2)
(2018). URL http://www.mdpi.com/2306-5729/3/2/13
2. Awad, M., Khanna, R.: Support vector regression. In: Efficient Learning Machines,
Berkeley, CA, pp. 67–80. Apress (2015). https://doi.org/10.1007/978-1-4302-5990-
94
3. Bozkurt, S., Elibol, G., Gunal, S., Yayan, U.: A comparative study on machine
learning algorithms for indoor positioning. In: 2015 International Symposium on
Innovations in Intelligent SysTems and Applications (INISTA), pp. 1–8. IEEE
(2015). https://doi.org/10.1109/INISTA.2015.7276725, http://ieeexplore.ieee.org/
document/7276725/
4. Farjow, W., Chehri, A., Hussein, M., Fernando, X.: Support Vector Machines for
indoor sensor localization. In: 2011 IEEE Wireless Communications and Network-
ing Conference, pp. 779–783. IEEE (2011). https://doi.org/10.1109/WCNC.2011.
5779231, http://ieeexplore.ieee.org/document/5779231/
5. Janssen, T., Aernouts, M., Berkvens, R., Weyn, M.: Outdoor fingerprinting local-
ization using Sigfox. In: 2018 International Conference on Indoor Positioning and
Indoor Navigation (Accepted), Nantes, France (2018)
Comparing Machine Learning Algorithms for RSS-Based Localization 735
6. Jin, B., Xu, X., Zhang, T., Jin, B., Xu, X., Zhang, T.: Robust Time-Difference-of-
Arrival (TDOA) localization using weighted least squares with cone tangent plane
constraint. Sensors 18(3), 778 (2018). https://doi.org/10.3390/s18030778, http://
www.mdpi.com/1424-8220/18/3/778
7. Mekki, K., Bajic, E., Chaxel, F., Meyer, F.: A comparative study of LPWAN
technologies for large-scale IoT deployment. ICT Express 5(1), 1–7 (2019). https://
doi.org/10.1016/j.icte.2017.12.005
8. Plets, D., Podevijn, N., Trogh, J., Martens, L., Joseph, W.: Experimental perfor-
mance evaluation of outdoor TDoA and RSS positioning in a public LoRa network.
In: IPIN 2018 - 9th International Conference on Indoor Positioning and Indoor Nav-
igation, September, pp. 24–27 (2018). https://doi.org/10.1109/IPIN.2018.8533761
9. Podevijn, N., Plets, D., Trogh, J., Martens, L., Suanet, P., Hendrikse, K.,Joseph,
W.: TDoA-based outdoor positioning with tracking algorithm in a public LoRa
network. Wirel. Commun. Mob. Comput. 2018, 1–9(2018). https://doi.org/10.
1155/2018/1864209, https://www.hindawi.com/journals/wcmc/2018/1864209/
10. Raza, U., Kulkarni, P., Sooriyabandara, M.: Low power wide area networks: an
overview. IEEE Commun. Surv. Tutor. 19(2), 855–873 (2017). https://doi.org/10.
1109/COMST.2017.2652320
11. Sallouha, H., Chiumento, A., Pollin, S.: Localization in long-range ultra nar-
row band IoT networks using RSSI. In: 2017 IEEE International Conference on
Communications (ICC), pp. 1–6. IEEE (2017). https://doi.org/10.1109/ICC.2017.
7997195
12. Song, Q., Guo, S., Liu, X., Yang, Y.: CSI amplitude fingerprinting-based NB-IoT
indoor localization. IEEE Internet Things J. 5(3), 1494–1504 (2018). https://doi.
org/10.1109/JIOT.2017.2782479, https://ieeexplore.ieee.org/document/8187642/
13. Torres-Sospedra, J., Montoliu, R., Trilles, S., Belmonte, O., Huerta, J.: Compre-
hensive analysis of distance and similarity measures for Wi-Fi fingerprinting indoor
positioning systems. Expert Syst. Appl. 42(23), 9263–9278 (2015). https://doi.org/
10.1016/J.ESWA.2015.08.013, https://www.sciencedirect.com/science/article/pii/
S0957417415005527
14. Tran, D., Nguyen, T.: Localization in wireless sensor networks based on sup-
port vector machines. IEEE Trans. Parallel Distrib. Syst. 19(7),981–994 (2008).
https://doi.org/10.1109/TPDS.2007.70800, http://ieeexplore.ieee.org/document/
4384476/
15. Wang, Y., Xiu, C., Zhang, X., Yang, D.: WiFi indoor localization with CSI
fingerprinting-based random forest. Sensors 18(9), 2869 (2018). https://doi.org/
10.3390/S18092869, http://www.mdpi.com/1424-8220/18/9/2869
Learning to Communicate with
Multi-agent Reinforcement Learning
Using Value-Decomposition Networks
1 Introduction
In recent years, a great deal of research has been done in the field of Multi-Agent
Reinforcement Learning (MARL). The latest evolutions in MARL research show
that communication is essential in cooperative environments since no agent can
observe the complete state of the environment due to partial observability of
the environment and communication also allows the agents to coordinate their
behaviour [1,2]. To get the best results it is necessary to use reinforcement
learning to learn behaviour as well as communication. Foerster et al. [1] showed
that by learning to communicate, certain cooperative problems can be solved
with significantly better results.
In standard MARL we reward each agent individually, which is ideal to create
a series of agents that work by themselves. However, when we want the agents to
work together, this individual reward will not suffice. An individual reward does
not encourage agents to work together since they are not rewarded or punished
for good or bad teamwork. With a joint reward this is solved by rewarding all
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 736–745, 2020.
https://doi.org/10.1007/978-3-030-33509-0_69
Learning to Communicate Using Value-Decomposition Networks 737
agents equally. This means that agents are rewarded for a team success instead
of an individual success which encourages team behaviour. A problem we face
when using a joint reward is the “lazy agent” problem. A lazy agent is an agent
that does not have a good policy. When using individual rewards, this agent
would not be rewarded and would consequently change its policy to a more
useful policy. However, when using a joint reward, this agent can be rewarded
due to good actions of other agents. Therefore, the agent will be encouraged to
learn an unsuccessful policy.
MARL in a partial observable environments makes the problem more com-
plex because an agent cannot observe the complete environment. In these cases
communication is crucial. By using communication, we can reduce the effects of
partial observability by combining the agent’s own observations with those com-
municated by other agents. Communication between agents in a MARL system
can be approached in different ways. The simplest way is to define the communi-
cation protocol beforehand. This, however, limits the possibilities of communica-
tion. For most systems it will be impossible to define an optimal communication
protocol beforehand because we cannot know what information will be valuable
for other agents. Predefined communication policies are not optimal in terms of
what information is shared and how the data is represented. These policies will
bias our agents to solve problems the same way humans would. However if we
allow the agents to define the communication protocol themselves, the agents
may find a more efficient solution. Therefore, it is very useful to allow the agents
to learn to communicate.
In this paper we present some advancements in the state of the art in coopera-
tive MARL that benefit from both learning to communicate and value decompo-
sition [3] which offers a method to prevent the lazy agent problem. Our research is
organized in the following order. In Sect. 2 we discuss the state of the art relevant
to our problem statement. Section 3 provides background information regard-
ing reinforcement learning and deep Q-learning. Our methods are described in
Sect. 4. We present our experiments and their results in Sect. 5. Finally, we dis-
cuss our conclusions in Sect. 6.
2 Related Work
3 Background
In Reinforcement learning (RL) [4] we have an agent that acts in an envi-
ronment. Depending on the quality of its actions the agent will be rewarded or
punished. Using this reward, the agent will try to learn the desired behaviour by
applying a policy. This policy will determine which action the agent will choose
depending on the observation of the agent. Usually, these RL problems are mod-
elled using a Markov Decision Process (MDP) [5]. The MDP is defined by a tuple
(S, A, Ta , Ra ) with the state space S, action space A, transition function Ta and
reward function Ra . The agent’s objective is to maximize the reward by compos-
ing a policy that chooses an action a ∈ A based on the state of the environment
s ∈ S. A method to create such an agent is Q-learning. A Q-learner will try to
create a Q function which the agent will use to determine the next action by
using the following policy π(s) = argmaxa Q(s, a). This method is based on the
Bellman equation [6] (Eq. 1) which will be used to create the Q-function. Here
Q(s, a) represents the expected value of performing a certain action a while in
a certain state s. R(s) is the reward that the agent receives after performing
the action, α ∈ [0, 1] is the learning rate and γ ∈ [0, 1] is the discount factor.
To balance exploration and exploitation, we use the -greedy policy. This means
that we will follow the policy π of our agents with a probability of 1 − and
choose a random action with probability which will be high in the beginning
of the training and low at the end of the training.
Q̂(s, a) ←
− Q̂(s, a) + α(R(s) + γ max
(Q̂(s , a )) − Q̂(s, a)) (1)
a
used to train the parameters θi of the DQN-network for every iteration i. In this
equation, a frozen set of network parameters θi− is used to stabilize the updates
to the network.
4 Methods
In this paper, we propose to combine the DIAL method of Foerster et al. [1]
in order to simultaneously learn behaviour and communication in combination
with the value decomposition method of Sunehag et al. [3] in order to reduce
the lazy agent problem.
m2t+1
Action Action
C-Net C-Net
Select Select
DRU DRU
DRU DRU
m1t
Action Action
C-Net C-Net
Select Select
ENVIRONMENT
Fig. 1. Differentiable Inter-Agent Learning Architecture [1] in which two agents are
represented over two separate time periods (t and t + 1). The execution flow is repre-
sented by black arrows and the gradient flow is represented by red arrows.
Sunehag et al. [3] assume that the total Q-value of the multi-agent system can be
obtained by adding the Q-value of the chosen action of each agent together (see
Eq. 3). Q̃n only depends on the local observations on of each agent. We learn
Q̃ implicitly by applying the gradient decent algorithm with the joint reward
through the summation of the individual Q-values, instead of directly learning
it by applying the joint reward on the individual Q-values. The final loss function
can be obtained by filling the assumption of Eq. 3 into Eq. 2 which results into
Eq. 4.
d
Q((o1 , o2 , o3 , ..., od ), (a1 , a2 , a3 , ..., ad )) ≈ Q̃n (on , an )) (3)
n=1
d
d
−
Li (θi ) = Eo,a,r,o [(r + γ max
(Q̃n (on , an ; θi,n )− Q̃n (on , an ; θi,n ))2 ] (4)
a
n=1 n=1
The Q-values produced by our agents can be seen as a measure of how good
a certain action is in a certain state. Therefore we can use this to determine
the contribution of each agent in the received joint reward. By applying the
joint reward to the combined Q-value, the gradients will make sure each agent
is rewarded according to its contribution. A visual representation of the archi-
tecture is shown in Fig. 2.
Action
Q-Net
Select
Q2t
+
Q1t
Action
Q-Net
Select
o2t o1t a1t a2t
ENVIRONMENT
m2t+1
Action Action
C-Net C-Net
Select Select
DRU DRU
DRU DRU
m1t
Action Action
C-Net C-Net
Select Select
+ +
o1t a1t o2t+1 a2t+1
ENVIRONMENT
Fig. 3. The architecture of the Differentiable Inter-Agent Learning with Value Decom-
position (DIAL-VD).
5 Results
In this section, we evaluate the results of our proposed DIAL-VD and DIAL-VDN
approaches compared to the DIAL baseline. The agents use Deep Q-learning (see
742 S. Vanneste et al.
m2t+1
Action Action
C-Net C-Net
Select Select
DRU DRU
DRU DRU
m1t
Action Action
C-Net C-Net
Select Select
VD-Net VD-Net
ENVIRONMENT
Sect. 3) to learn their behaviour. The architecture of our C-Net is based on the
original C-net described by Foerster et al. [1]. The inputs are first processed by
an input layer. For the agent index and the previous action we use an embedding
layer to learn a better representation for these inputs. For the state we cannot use
an embedding layer because the state info is continuous. Therefore, we use a fully
connected layer to process the state info. To process the incoming messages we
first apply batch normalization followed by a ReLU and a fully connected layer.
After these input layers we combine all these inputs by performing an element
wise addition and apply three layers of GRU’s with a hidden state size of 128.
Our output layer consists of batch normalization followed by a fully connected
layer, ReLU and another fully connected layer. Our implementation is based
on the Pytorch implementation of DIAL [9]. For our DIAL-VDN approach we
use a neural network to perform value decomposition. This network is a simple
network consisting of two fully connected layers with a ReLU in between.
Both Sunehag et al. [3] and Foerster et al. [1] concluded that parameter
sharing is necessary. Parameter sharing means that instead of training a sepa-
rate network for each of our agents, we will use the same network for all agents.
Sunehag et al. stated that parameter sharing helps to solve the lazy agent prob-
lem by providing agent invariance. Foerster et al. concluded from their results
that parameter sharing provides faster training and better results. Following
these conclusions we will use parameter sharing as well.
We use the “simple reference” environment provided by OpenAI [10,11] for
this evaluation. This environment is considered one of the state of the art envi-
ronments to test and evaluate multi-agent communication RL algorithms. In this
environment there are three landmarks and two agents. The two agents have to
go to a specific target landmark but this target landmark is only known by the
other agent. This means that the agents have to communicate to successfully
reach the correct landmark. The “simple reference” environment is a collective
observable environment which makes it a suitable environment to test our system
because it is crucial for the agents to communicate with each other to reach the
Learning to Communicate Using Value-Decomposition Networks 743
goal. The environment only contains two agents which makes it suitable to test
with value decomposition since this method has not been tested with a larger
amount of agents. Since there are three possible landmarks, we allow the agents
to communicate two bits of information.
For our experiments we use the following hyperparameters. We use episodes
of 30 steps. The learning rate is set to 0.0005 with a momentum of 0.05. The
discount factor is set at 0.97. The ε-value for ε-greedy is constant at 0.05. Our
target network is updated every 100 episodes. To stabilize training we use a
batch size of 64.
In Fig. 5 our results are shown, averaged over 15 runs. The results are smoothed
by applying an exponentially weighed moving average filter with an alpha value
of 0.01. We can see that our DIAL-VD approach outperforms the baseline DIAL
system. Not only does DIAL-VD reach a higher peak-performance, it also sig-
nificantly accelerates training speed. We see that DIAL-VD reaches an average
reward of -30 approximately 3000 episodes before DIAL and DIAL-VDN. On
average we see that DIAL-VDN does not offer great improvements. At the begin-
ning of our training it is slightly faster than DIAL but this only lasts about 4000
episodes. DIAL-VDN does not reach a higher peak performance than DIAL.
In Fig. 5 we can clearly see that the value-decomposition methods suffer from
learning instability. Naturally deep Q-learning suffers from stability problems,
caused by the fact that the exact Q-value is very important. Slight changes in
our network and the Q-values can greatly alter the behaviour of our agents. How-
ever, in single agent settings there are many techniques to mitigate this problem.
One of the main techniques that is used is experience replay, where we store the
experiences of the agent in a buffer. To train the network we sample from this
Fig. 5. Results for DIAL, DIAL-VD and DIAL-VDN averaged over 15 runs and
smoothed with an exponentially weighed moving average filter with an alpha value
of 0.01.
744 S. Vanneste et al.
buffer. This way we can make sure the agent does not forget what it learned in
the beginning of its training. In MARL we cannot use experience replay since
the behaviour of these other agents still changes a lot, making the environment
non-stationary and causing the experiences in our buffer to be useless.
Table 1. The average peak performance for the DIAL baseline, DIAL-VD and DIAL-
VDN.
6 Conclusion
This paper proposed two approaches to improve the state of the art in learning
to communicate as presented by Foerster et al. [1]. Our first approach, DIAL-
VD, inspired by the techniques presented by Sunehag et al. [3], was able to
significantly improve both training speed and peak performance. The second
approach, DIAL-VDN, showed less improvements. All experiments show insta-
bility in training. This instability was more extreme in both proposed value
decomposition techniques than in the DIAL baseline. However, even with this
instability DIAL-VD showed capable of significantly improving the state of the
art in learning to communicate.
In this paper we only tested our methods in an environment with two agents.
In the future we would like to test if our approaches generalize for a larger
amount of agents. A large amount of agents significantly increases the difficulty
of learning with a single joint reward since the agents see more rewards caused
by other agents than rewards caused by their own actions. In addition to this, we
would like to improve the performance of the DIAL-VDN approach by providing
the value decomposition network with the observations of the agents so the
network can evaluate the performance of the agents.
References
1. Foerster, J., Assael, I.A., de Freitas, N., Whiteson, S.: Learning to communicate
with deep multi-agent reinforcement learning. In: Advances in Neural Information
Processing Systems, pp. 2137–2145 (2016)
2. Sukhbaatar, S., Fergus, R., et al.: Learning multiagent communication with back-
propagation. In: Advances in Neural Information Processing Systems, pp. 2244–
2252 (2016)
3. Sunehag, P., Lever, G., Gruslys, A., Czarnecki, W.M., Zambaldi, V., Jaderberg,
M., Lanctot, M., Sonnerat, N., Leibo, J.Z., Tuyls, K., et al.: Value-decomposition
networks for cooperative multi-agent learning. arXiv preprint arXiv:1706.05296
(2017)
4. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction. MIT press
(2018)
5. Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Pro-
gramming. Wiley, Hoboken (2014)
6. Bellman, R., et al.: The theory of dynamic programming. Bull. Am. Math. Soc.
60(6), 503–515 (1954)
7. Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A.A., Veness, J., Bellemare, M.G.,
Graves, A., Riedmiller, M., Fidjeland, A.K., Ostrovski, G., et al.: Human-level
control through deep reinforcement learning. Nature 518(7540), 529 (2015)
8. Hausknecht, M., Stone, P.: Deep recurrent q-learning for partially observable
MDPs. In: 2015 AAAI Fall Symposium Series (2015)
9. https://github.com/minqi/learning-to-communicate-pytorch
10. Lowe, R., Wu, Y., Tamar, A., Harb, J., Abbeel, O.P., Mordatch, I.: Multi-agent
actor-critic for mixed cooperative-competitive environments. In: Neural Informa-
tion Processing Systems (NIPS) (2017)
11. Mordatch, I., Abbeel, P.: Emergence of grounded compositional language in multi-
agent populations. arXiv preprint arXiv:1703.04908 (2017)
AirLeakSlam: Automated Air Leak
Detection
1 Introduction
A substantial amount of energy is lost every year due to leaks in pressurized air
networks. It is estimated that these leaks account for 10% to 30% of the energy
consumed by industrial compressors. Based on the information in [9] and [11] it
is possible to estimate a required energy production capacity of 2.3 GW to cover
for these energy losses in Europe on a yearly basis. Current methods of detecting
pressurized air leaks require intensive manual labor. At times it can even be nec-
essary to shut down a part or even the entire production facility. The preceding
factors can make the detection of these leaks excessively expensive. Furthermore,
the cost of the energy loss due to inefficiencies in the compressed air network
caused by leaks is masked by the total cost of energy of the production facility,
and is relatively small compared to other cost reduction options [11]. Often the
first step taken when a decrease in efficiency of the air network decreases, is to
add additional compressor power instead of searching for the root causes [10].
Pressurized air leaks generate ultrasonic sound which is caused by turbulence
at the exit of the leak, where the gas expands coming from the high pressure
inside of the container into the low pressure outside of the container [3,16]. The
ultrasonic sound produced by a leak makes it possible to detect by utilizing
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 746–755, 2020.
https://doi.org/10.1007/978-3-030-33509-0_70
AirLeakSlam: Automated Air Leak Detection 747
In this section we will briefly explain the working of the eRTIS sensor and how
it locates ultrasonic sources, as well as how we determine the position of an air
leak.
The eRTIS sensor, depicted in Fig. 2(b) is equipped with a sparse microphone
array, consisting of 32 randomly placed microphones in an ellipse. It has an
angular accuracy of 1◦ and an angular resolution of 5◦ . It is capable of taking
3D measurements at a rate of 12 Hz. When performing a measurement, each
748 A. Schenck et al.
Fig. 1. Panel (a) shows the front view of the enclosure. On the right sits the LIDAR,
a Hokuyo UTM-30LX, which is used for the HectorSLAM algorithm. On the left is
the eRTIS sensor which is used in passive mode to detect and locate air leaks. In the
center is the camera. The camera takes intermittent pictures, on which we can overlay
a leak location if one has been found, aiding in the localization of a leak. Panel (b)
shows the same sensors from the backside. There is also a connection for the power
supply and an Ethernet port to connect to the NUC inside. Panel (c) shows the inside
of the enclosure, with the NUC and the power supply. The NUC uses ROS to setup
the sensors and captures their data.
sF M
i [k] = si [k] ∗ h
BP
[k] (1)
after which we apply a sum and delay beamformer:
32
sBF
ψ [k] = sF
i [k + τi (ψ)] (2)
i=1
where τi (ψ) are the time delays as a function of ψ and ψ = [ϑ, ϕ] is the directional
vector consisting of azimuth and elevation angles as demonstrated in Fig. 2(b).
Next, we estimate the envelope of the signal by full-wave rectification and low-
pass filtering:
sEN
ψ
V
[k] = hLP [k] ∗ |sBF
ψ [k]| (3)
Now we can estimate the energy coming from every direction of interest ψ. The
combination of these energy profiles is called the EnergyScape (ES):
ES[k, ψ] = [sEN
ψ1
V
[k] . . . sEN
ψn
V
[k]] (4)
AirLeakSlam: Automated Air Leak Detection 749
Fig. 2. (a) Mounting the enclosure on a vehicle while driving around allows for the
localization of air leaks using triangulation. (b) shows the eRTIS sensor. The location
of the 32 microphones are highlighted in green. The Cartesian coordinate system is
superposed in white, together with the azimuth and elevation [ϑ, ϕ] of a source with
coordinate p.
By integrating the EnergyScape over the discrete time, we obtain a spatial spec-
trum:
K
SS[ψ] = ES[k, ψ] (5)
k=1
At this point ψ is uniformly sampled on a sphere over 4000 points, using the zonal
sphere partitioning algorithm of [8], partitioning the unit sphere into regions of
equal area with small diameter. From here we can interpolate SS[ψ] onto a reg-
ular azimuth and elevation grid: SS[ϑ, ϕ]. The distribution of sample points at
this step is no longer uniform on the sphere, but rather severely oversampled at
the poles of the sphere. At this point we have a two-dimensional matrix with
intensity values. Next, we convert this matrix into an acoustic image, in which
ultrasonic sources can be identified as high intensity areas. We then apply thresh-
olding on the image to reduce the influence of noise. We acknowledge that this
method has its limitations in environments where noise and signal are close or
equal in strength. In these cases more sophisticated detection techniques can be
implemented, such as relying on L1 minimization and sparsity, as demonstrated
in [14]. Other beamforming techniques such as broadband MUSIC could be used
as well for source detection [15]. Next we perform binary thresholding on the
image to allow for easy blob detection. We use the remaining blobs in turn as a
mask, to determine the highest intensity value of each ultrasonic source found
in the measurement. These locations are finally related back to their azimuth
and elevation [ϑ, ϕ] indicating the ultrasonic source direction. This process is
demonstrated in Fig. 3. We chose this method of determining the direction of
the ultrasonic sources as it allows to easily distinguish multiple sources in the
same measurement as well as to easily determine the center of these sources.
Fig. 3. Determining the azimuth and elevation of ultrasonic sources by using the Ener-
gyScape generated by the acoustic measurements. The EnergyScape is calculated for
4000 directions sampled uniformly on a sphere. These spheres are a Lambert azimuthal
equal area projection, with grid lines every 30◦ in azimuth and elevation. The 4000
directions were generated using an equal area sphere partitioning algorithm. This is
then interpolated on a azimuth and elevation grid. After thresholding and conversion
into a black and white image we perform blob detection. We use each blob as a mask
and take the highest intensity value behind the mask as the source direction, allowing
us to detect multiple sources in each measurement. Finally we determine the azimuth
and elevation [ϑ, ϕ] of these sources.
si = pi + Rz (αi ) · vi (ψ i ) (8)
the 50 m vector pointing towards the found leak position in the sen-
with vi (ψ)
sor’s coordinate system. Detection of the same leak from a different position pj
j ) for this measurement. Combin-
will provide us with sj = pj + Rz (αj ) · vj (ψ
ing multiple measurements will yield a location where the vectors s1 , s2 , . . . , sn
AirLeakSlam: Automated Air Leak Detection 751
intersect. This intersection point will be the leak location. This is demonstrated
in Fig. 4(a).
However, the likelihood that these vectors truly intersect in 3D-space is zero,
due to noise in the measurement position as well as noise in the measurement
itself. In order to consider two measurement vectors as intersecting, we evaluate
the minimum distance between the newly generated vectors with all the previ-
ously generated vectors. If the obtained distance is below 10 cm, we consider the
vectors to intersect. By using a least mean squared pseudo inverse approach [1],
we determine the intersection point. This is the point that lies closest to both
vectors. Fig. 4(b) shows the collection of intersection points from our experiment.
In order to estimate both the actual leak positions and the amount of leaks, we
need to be able to automatically discern the clusters and find their center, which
should result in an accurate localization of the leaks. In order to analyze the
Fig. 4. Panel (a) demonstrates the process of determining a leak location when driving
by. Combining the ultrasonic source direction vectors allows us to locate a leak by
determining their points of intersection. The red cross shows the robot location with the
protruding red line the direction it is facing (Rz (αi )), at the time of the measurement.
The green lines are the direction vectors of the detected ultrasonic source marked by
the blue crosses. The blue line is the trajectory of the robot. Panel (b) shows all the
intersections found after our experiment, shown by the red dots.
intersection points, we create histograms of the x-, y-, and z-coordinates of all the
intersection points. Next, for each dimension, we fit a probability density func-
tion (PDF) of this data using Kernel Density Estimation. In this PDF we look
for the extrema. These are the most densely clustered locations in their respec-
tive dimension. Next, we cross-reference the locations of the extrema, resulting
in multiple (x, y, z)-coordinates. For each of these coordinates, we check if there
are a certain amount of intersection points within a certain radius. We then take
the mean of their (x, y, z)-coordinates and use the result as the estimated leak
location. We choose to use this method because it does not require any prior
knowledge about the amount of leaks in the environment while also being fast
to calculate. The computational load of for instance K-Means Clustering was a
752 A. Schenck et al.
lot higher, taking multiple hours to complete, while also finding clusters where
no leaks were located.
3 System Architecture
At the center of the system sits a NUC, to which all the sensors are connected.
The NUC is configured to run the Robot Operating System (ROS) framework,
acting as the master. The NUC configures the sensors and handles their data.
The transfer of data under ROS is done using publisher/subscriber messaging.
These messages can be either recorded on disk using a rosbag for post-processing,
or they can be directly processed by an external subscriber. The schematic
overview of the hardware system is shown in Fig. 5(a). Figure 5(b) shows the
schematic overview of the data processing structure of our proposed solution.
a) b)
Locally
eRTIS LIDAR processed Backend
Real-time
Processing
Leak
AirleakSLAM Maintenance
localization +
16V - 62V NUC Enclosure
Image
ticket
Backend
Rosbag
Post-processing
Power
Camera
Supply Processed in the cloud
Fig. 5. (a) Shows the schematic hardware layout of our proposed solution. Panel (b)
shows a schematic overview of the data processing structure. The AirleakSLAM enclo-
sure captures the data from the sensors, which can then be send to the cloud for further
processing, either in real-time or in batch by means of a rosbag. After processing a
maintenance ticket can be dispatched for repairs.
4 Experimental Results
We performed our experiments using the enclosure as shown in Fig. 1. The
LIDAR is a Hokuyo UTM-30LX, with a range of 30 m and an angle of 270◦ .
AirLeakSlam: Automated Air Leak Detection 753
Fig. 6. (a) When a leak has been found, the images taken are analyzed. By using
camera projection, we know when a leak was in the camera’s field of view. If this is
the case, we overlay the sound pressure level at that location. Here, the leak location is
encircled in red, with the overlay of the sound pressure level at that position. Panel (b)
shows the location of the found leaks as the result of our experiment. The actual leak
positions are marked by the blue cross. The estimated leak positions are marked by
the green asterisk. The red crosses indicate the locations where our algorithm checks
for clusters of intersection points. The blue line shows the trajectory of the robot.
The camera is an ELP Super Mini 720p USB camera with a wide angle lens.
The power supply accepts a DC input voltage of 16.8 V to 31.2 V and has a
DC output voltage of 12 V with a power rating of 100 W. We used a Pioneer
P3DX robot as our moving platform on which the enclosure was mounted. We
created an air network of nylon tubing spanning around 70 m in the basement
of our building. This room is filled with chairs, tables and many metal cabinets.
The tubing was routed along existing cable gutters and heating pipes, near the
ceiling. For our experiment we set the pressure in our network at 500 kPa. We
made three leaks in the network by drilling holes in pieces of the nylon tubing,
with diameters of 0.6 mm, 0.8 mm and 1 mm.
During the experiment we drove the robot around at walking pace, along
the blue trajectory shown in Fig. 4(b), during which we were taking acoustic
measurements at a rate of 2 Hz. At the end, we are left with a large amount of
intersection points. These intersection points are shown in Fig. 4(b). After using
our clustering algorithm we found three leak locations. Table 1 shows the distance
error of the locations we found versus the actual leak locations. Figure 6(b) shows
a plot of the found leak positions, marked by the green stars. The actual leak
positions are shown by blue crosses, while the red crosses represent the locations
we investigated with our clustering algorithm. We can see that the leaks are
754 A. Schenck et al.
very accurately located, with 2D-errors of 9 cm for leak A, 19 cm for leak B and
8 cm for leak C. In 3D the localization errors increase only slightly to 11 cm,
20 cm and 12 cm respectively. The leak with the highest error is leak B, situated
at the top left on the floor plan. As we can see from Fig. 6(b), this is the leak
where we only passed once with the robot, resulting in less intersection points
and therefore a less accurate estimation of its position.
References
1. Eikenens, A.: Intersection point of lines in 3D space (2012). https://nl.mathworks.
com/matlabcentral/fileexchange/37192-intersection-point-of-lines-in-3d-space
2. Eret, P., Meskell, C.: Microphone arrays as a leakage detection tool in industrial
compressed air systems. Adv. Acoust. Vibr. 2012, 1–10 (2012). https://doi.org/
10.1155/2012/689379
3. Frenz, E., Moon, C., Pickering, D.J., Mellen, S., Brown, W.C.: Ultrasound tech-
niques for leak detection. SAE Technical Paper Series, vol. 1 (2010). https://doi.
org/10.4271/2009-01-2159
4. Guenther, T., Kroll, A.: Automated detection of compressed air leaks using a scan-
ning ultrasonic sensor system. In: Sensors Applications Symposium, Proceedings,
SAS 2016, pp. 116–121 (2016). https://doi.org/10.1109/SAS.2016.7479830
5. Holland, S.D., Roberts, R., Chimenti, D.E., Song, J.H.: An ultrasonic array sensor
for spacecraft leak direction finding. Ultrasonics 45(1–4), 121–126 (2006). https://
doi.org/10.1016/j.ultras.2006.07.020
AirLeakSlam: Automated Air Leak Detection 755
6. Kerstens, R., Laurijssen, D., Steckel, J.: eRTIS : a fully embedded real time 3D
imaging sonar sensor for robotic applications. In: International Conference on
Robotics and Automation (to be published)
7. Kohlbrecher, S., von Stryk, O., Meyer, J., Klingauf, U.: A flexible and scal-
able SLAM system with full 3D motion estimation. In: 2011 IEEE Interna-
tional Symposium on Safety, Security, and Rescue Robotics, vol. 32, pp. 155–160.
IEEE (2011). https://doi.org/10.1109/SSRR.2011.6106777. http://doi.wiley.com/
10.1002/rcm.8045
8. Leopardi, P.: A partition of the unit sphere into regions of equal area and small
diameter. Electronic Trans. Numer. Anal. 25, 309–327 (2006)
9. McCorkle, M.: Compressed Air System Leaks: The Cost, Detection, and Repair,
Common Culprits (2018)
10. Perry, W., Mehltretter, N.: Applying root cause analysis to compressed air: how to
solve common compressed air system problems with the 5-whys. Energy Eng.: J.
Assoc. Energy Eng. 115(4), 56–62 (2018). https://doi.org/10.1080/01998595.2018.
12016673
11. Radgen, P.: Compressed air system audits and benchmarking results from the
German compressed air campaign “Drucliuft effizient” (2003)
12. SKF: Product catalog. https://www.skf.com/uk/products/condition-monitoring/
basic-condition-monitoring-products/ultrasonic-leak-detector/index.html
13. SONOTEC: product catalog. https://www.sonotec.eu/products/preventive-
maintenance/ultrasonic-testing-devices/
14. Steckel, J., Peremans, H.: Ultrasound-based air leak detection using a ran-
dom microphone array and sparse representations. In: IEEE SENSORS 2014
Proceedings, pp. 1026–1029, November 2014. https://doi.org/10.1109/ICSENS.
2014.6985178. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=
6985178
15. Van Trees, H.L.: Optimum Array Processing. Wiley, New York (2002). https://
doi.org/10.1002/0471221104
16. Wang, T., Wang, X., Hong, M.: Gas leak location detection based on data fusion
with time difference of arrival and energy decay using an ultrasonic sensor array.
Sensors (Switzerland) 18(9) (2018). https://doi.org/10.3390/s18092985
Simulating a Combination of TDoA and
AoA Localization for LoRaWAN
1 Introduction
2 Related Work
In this section, a brief overview on the workflow of TDoA and AoA localization
is provided.
Time of Arrival (ToA) localization relies on the basic principle that the distance
between a receiver and a transmitter can be related to the propagation time.
758 M. Aernouts et al.
3 Simulation
This section describes the workflow of our experiments. Firstly, we explain how
our input data was simulated. Secondly, we illustrate how the TDoA and AoA
estimations are calculated and combined using this input data.
Fig. 1. This figure shows the spatial spread of the 10 000 transmission locations that
are used as input for our simulations. Red circles indicate the transmission locations.
Blue markers show the two gateway locations ‘RX 1’ and ‘RX 2’, which we use in our
simulations.
can be used for TDoA localization. For this work, we use the ground truth loca-
tions of 10 000 random samples in this dataset. As can be seen in Fig. 1, all
of these samples are located within a spatial bounding box of 9.88 km2 . This
particular area was chosen as it contains gateways RX 1 and RX 2 which we
use in our simulations. In turn, these gateway locations were selected because
actual LoRa gateways have been installed there for our future experiments with
real LoRaWAN data. For each sample, the time or arrival at both gateways
is simulated based on the distance between the transmission locations and the
locations of the gateways. By dividing this distance with the speed of light,
a theoretical timestamp with nanosecond precision is obtained. Of course, our
simulations have to take multipath reflections into account, as they have a sig-
nificant impact on the accuracy of the measured time of arrival. Therefore, we
draw random errors from a normal distribution and add them to the theoreti-
cal timestamps. The standard deviation of this normal distribution was set to
1.8 µs, as our technical experiments with LoRa gateways in an urban environ-
ment demonstrate that the timing error is normally distributed with a median
of 0 µs, and a standard deviation of 1.8 µs [10].
760 M. Aernouts et al.
dΔ = (t1 − t0 ) ∗ c, (1)
with c representing the speed of light. Consequently, the gateway locations and
dΔ can be used to draw a hyperbola that crosses every possible Cartesian coordi-
nate where the transmitter can be located1 . After calculating the hyperbola, it is
mapped to a discretized grid which divides the bounding box that was described
in Sect. 3.1 in cells of 10 m by 10 m. An offset of 300 m is added to all sides of
the grid, to avoid cutting off the hyperbola if its coordinates exceed the bound-
ing box. For every cell in the discretized grid, the minimal Euclidean distance
to the TDoA hyperbola is calculated. Finally, a probability density function is
applied on the discretized grid, with a standard deviation of 100 m around the
cells that contain the hyperbola. An example of such a TDoA probability den-
sity map can be seen in Fig. 2a. In this figure, it is clear to see that the possible
location estimates for the transmitter are distributed on the entire length of the
hyperbola. To translate this to a single TDoA location estimate, the mean loca-
tion of all cells with the highest probability is calculated and converted to the
geodetic coordinate system. Consequently, this approach is strongly influenced
by the size of the bounding box. If we would enlarge the box, more cells that
are further away from the middle of the hyperbola’s bending point will be taken
in to account, which makes it less likely that the mean location of all these cells
converges to a point on the hyperbola. Hence, further steps should be taken to
obtain a more reliable and scalable localization method.
1
For this research, we started from existing source code to simulate multilateration
based on timing information. The repository can be found at https://github.com/
jurasofish/multilateration.
Simulating a Combination of TDoA and AoA Localization for LoRaWAN 761
This next step is to build a probability density map for the AoA estimate.
To do so, a new discretized grid as big as the TDoA grid is created, again
with a resolution of 10 m by 10 m per cell. For each cell, the angle relative to
gateway RX 1 is calculated. Similar to how the TDoA probability density map
was obtained, a probability density function is applied to the discretized grid,
with the simulated AoA estimate as the mean of the function and a standard
deviation of 5◦ . Figure 2b is a visual example of the resulting AoA probability
density map.
By adding the TDoA and AoA probability maps to each other, a new map
is created in which the cells where the TDoA hyperbola intersect with the AoA
estimate get the highest probability. For example, adding the AoA probability
map in Fig. 2b to the TDoA probability map in Fig. 2a results in a new probabil-
ity map that is shown in Fig. 2c. In the same way as the TDoA probability map is
translated to a location estimate, the mean location of all cells with the highest
probability is calculated and converted to geodetic coordinates. If we compare
Fig. 2a and c, we see that the cells with highest probability are distributed along
the entire hyperbola in the TDoA probability map, while the probability is much
more concentrated in a specific area in the combined TDoA - AoA map. Con-
trary to only using TDoA, the combined approach is much less affected by the
size of the bounding box because in most cases, the crossing of the hyperbola
and the angle estimate that used as the location estimate lies within the defined
box.
4 Results
In this section, we list and discuss the location estimation errors of TDoA as well
as the combination of TDoA and AoA, which we calculated for each of the 10 000
simulated messages as described in Sect. 3. As can be seen in Table 1 and Fig. 3,
the TDoA location estimations using only 2 gateways result in a mean error of
548 m, a median error 530 m and a 95th percentile error of 1010 m. A significant
improvement was achieved by combining TDoA and AoA, with a mean error of
399 m, a median error of 337 m and a 95th percentile error of 937 m.
These results are calculated for 8537 messages, as it was not possible to
obtain a TDoA location estimate for the remaining 1463 messages. Figure 4
illustrates the spatial spread of the TDoA localization errors, and indicates TX
locations where localization was not possible with blue circles. We see here that
most of these locations are in the vicinity of their reference gateway. The closer
a transmission is located near its reference gateway, the higher the risk that
the distance estimate between the transmitter and the non-reference gateway
is larger than the actual distance between both gateways. In this case, a TDoA
hyperbola can not be drawn because the estimated difference in distance between
the transmitter and both gateways is negative. Consequently, we were not able to
762 M. Aernouts et al.
(a) TDoA
(b) AoA
Fig. 2. This example visually explains how we combine the TDoA and AoA estimates
to obtain a location estimate. (a) TDoA probability density map. (b) AoA probability
density map. (c) Final location estimation by combining the TDoA and AoA maps
calculate a TDoA + AoA location estimate for these messages. A viable solution
for this issue could be to combine the AoA estimate with RSS ranging instead
of TDoA, which will be evaluated in our future work.
Simulating a Combination of TDoA and AoA Localization for LoRaWAN 763
Fig. 3. This figure displays the cumulative distribution of both the TDoA results, as
the TDoA + AoA combination results.
Fig. 4. This figure shows the spatial spread of the TDoA localization errors. The color
of a circle indicates the magnitude of the localization error on that TX location. Blue
circles indicate that it was not possible to obtain a location estimate for that TX
location. Red markers indicate the gateway locations.
764 M. Aernouts et al.
5 Conclusion
Generally, TDoA localization calculates multiple hyperbolas using at least four
gateways to obtain a location estimate [4]. In this research, we illustrate that it
is still possible to realize TDoA localization with only two receiving gateways,
although this approach yields a mean localization error of more than 500 m. In
some cases, TDoA localization was not possible due to the relative geometric
positions of the transmitter and the gateways. This can be resolved by applying
RSS ranging instead, which is something we will evaluate in our future work. In
the second part of our method, a single AoA estimate is added to the TDoA esti-
mate, which leads to a significant improvement with a mean error of 399 m. Com-
pared to other research on localization with LoRaWAN, the estimation errors
that we report are relatively high [3,11]. Nonetheless, these methods rely on
Bayesian filtering and sensor readings to improve the raw TDoA estimate. Our
methods are solely based on the physical characteristics of a received LoRaWAN
message, and can be further improved with similar optimizations that were pre-
sented in the aforementioned research. Also, our approach has the advantage
that it can be implemented in a LoRaWAN network with only two receiving
gateways if one of the gateways is able to detect the AoA of a received signal.
Furthermore, we will research more possible optimizations to our methods
in our future work. Instead of simulations, we will evaluate our approach with
real LoRaWAN data, using the latest version of an openly available LPWAN
dataset [2]. A sub-GHz AoA unit will be installed to assess the feasibility of
detection the direction of a received LoRaWAN signal in a large urban area [5].
We expect this to be a challenging facet of our research, as multipath reflections
have a substantial effect in NLoS environments. Also, we will appraise the effect
of the amount of gateways as well as their locations on our methods. Lastly, the
results of our experiments with real LoRaWAN data will be compared to the
performance of other state of the art LPWAN localization methods.
References
1. Aernouts, M., Bellekens, B., Berkvens, R., Weyn, M.: A comparison of signal
strength localization methods with sigfox. In: 2018 15th Workshop on Position-
ing, Navigation and Communications (WPNC), pp. 1–6. IEEE (2018). https://
doi.org/10.1109/WPNC.2018.8555743
2. Aernouts, M., Berkvens, R., Van Vlaenderen, K., Weyn, M.: Sigfox and LoRaWAN
datasets for fingerprint localization in large urban and rural areas. Data 3(2), 13
(2018). https://doi.org/10.3390/data3020013
3. Bakkali, W., Kieffer, M., Lalam, M., Lestable, T.: Kalman filter-based localiza-
tion for Internet of Things LoRaWANTM end points. In: 2017 IEEE 28th Annual
International Symposium on Personal, Indoor, and Mobile Radio Communica-
tions (PIMRC), vol. 2017-October, pp. 1–6. IEEE (2017). https://doi.org/10.1109/
PIMRC.2017.8292242
4. Bensky, A.: Wireless Positioning Technologies and Applications, 2nd edn. Artech
House (2016)
Simulating a Combination of TDoA and AoA Localization for LoRaWAN 765
5. Bnilam, N., Joosens, D., Steckel, J., Weyn, M.: Low cost AoA unit for IoT applica-
tions. In: 2019 13th European Conference on Antennas and Propagation (EuCAP),
pp. 3–7. European Association on Antennas and Propagation, Krakow (2019)
6. BniLam, N., Steckel, J., Weyn, M.: Synchronization of multiple independent sub-
array antennas for IoT applications. In: 12th European Conference on Antennas
and Propagation (EuCAP 2018), p. 125. Institution of Engineering and Technology
(2018). https://doi.org/10.1049/cp.2018.0484
7. BniLam, N., Steckel, J., Weyn, M.: Synchronization of multiple independent subar-
ray antennas: an application for angle of arrival estimation. IEEE Trans. Antennas
Propag. 67(2), 1223–1232 (2019). https://doi.org/10.1109/TAP.2018.2880014
8. Fargas, B.C., Petersen, M.N.: GPS-free geolocation using LoRa in low-power
WANs. In: 2017 Global Internet of Things Summit (GIoTS), pp. 1–6. IEEE (2017).
https://doi.org/10.1109/GIOTS.2017.8016251
9. Mekki, K., Bajic, E., Chaxel, F., Meyer, F.: A comparative study of LPWAN
technologies for large-scale IoT deployment. ICT Express 5(1), 1–7 (2019). https://
doi.org/10.1016/j.icte.2017.12.005
10. Podevijn, N., Plets, D., Aernouts, M., Berkvens, R., Martens, L., Weyn, M., Joseph,
W.: Experimental TDoA Localisation in real public LoRa networks (accepted). In:
10th International Conference on Indoor Positioning and Indoor Navigation, IPIN
2019, Pisa, Italy (2019)
11. Podevijn, N., Plets, D., Trogh, J., Martens, L., Suanet, P., Hendrikse, K., Joseph,
W.: TDoA-based outdoor positioning with tracking algorithm in a public LoRa
network. Wirel. Commun. Mob. Comput. 2018, 1–9 (2018). https://doi.org/10.
1155/2018/1864209
12. Raza, U., Kulkarni, P., Sooriyabandara, M.: Low power wide area networks: an
overview. IEEE Commun. Surv. Tutorials 19(2), 855–873 (2017). https://doi.org/
10.1109/COMST.2017.2652320
13. Sallouha, H., Chiumento, A., Pollin, S.: Localization in long-range ultra narrow
band IoT networks using RSSI. In: IEEE International Conference on Communi-
cations (2017). https://doi.org/10.1109/ICC.2017.7997195
14. Steckel, J., Laurijssen, D., Schenck, A., BniLamf, N., Weynf, M.: Low-cost hard-
ware platform for angle of arrival estimation using compressive sensing. In: 12th
European Conference on Antennas and Propagation (EuCAP 2018), p. 222. Institu-
tion of Engineering and Technology (2018). https://doi.org/10.1049/cp.2018.0581
Localization Accuracy Performance
Comparison Between LTE-V
and IEEE 802.11p
1 Introduction
There is a high demand for more secure, reliable, and efficient transport, which will
result in a reduction of road accidents, enhancement of road safety and traffic man-
agement. This is the reason why there is a need for high connectivity between vehicles
and road infrastructure, so they can observe what is happening around them, foresee
what will happen next, and take protective actions accordingly [1]. Different use cases
such as automated overtake, cooperative collision avoidance, or high-density pla-
tooning demand high-accuracy positioning, high reliability, and real-time response of
the location information [2].
Last decades GNSS receivers have experienced huge performance improvements.
However, still, a standalone GNSS receiver cannot provide accurate location infor-
mation in dense and indoor environments, such as tunnels, urban canyons, and dense
forests. In addition to this, a GNSS receiver needs at least four GNSS satellites, often
needs Line-of-Sight (LOS) condition, satellite clocks synchronization, ability to
overcome all orbit errors, receiver noise, and multipath effects of the signals [3].
location and also on the geometry of source and base stations. Therefore, in this study,
we have computed the standard deviation of the TDOA measurements as a function of
the source position. This results in a more realistic value for CRLB.
The rest of this paper is organized as follows. Section 2 provides a vehicular
network design proposed on the Smart Highway project [14], a short description of the
technologies and TDOA opportunities and challenges. CRLB and its deviation are
introduced in Sect. 3. And the simulation results and comparisons are presented in
Sect. 4, while conclusions are summarized in Sect. 5.
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ri ¼ ðx xðiÞ Þ þ ðy yðiÞ Þ2 : ð1Þ
To estimate the two-dimensional position of the emitter, we have to know the range
differences between the reference network site and other sites in place. The difference is
found by considering the reference network site, which is the most powerful base
station and other sites.
The above expression shows that the resulted range differences z1i;k are sum of
exact range differences h1j;k and the additive white Gaussian noise AWGN with a
standard deviation ri , variance r21j ¼ r21 þ r2j and joint conditional Gaussian distribu-
tion covariance matrix defied below and j = 2, 3…M,
0 1
r21 þ r22 r21
B .. .. .. C
R¼@ . . . A: ð3Þ
r21 r21 þ r2M
1
CRLBð xÞ ¼ DT R1 D ; ð5Þ
where
0 xx1 2 1
xx
d1 d2
2
yy1
d1 yy
d2
B .. .. .. C
D¼@ . . . A; ð6Þ
xx1
d1 xxM
dM d1 dM
yy1 yyM
c2
r2j;TOA ¼ 2
Fsc P ð7Þ
8p2 Ma Nm SNRj N k p2 k 2
where Pmax is the maximum transmit power, SFj is the shadow fading, F is receiver
noise figure, B is signal bandwidth, Gt and Gr are transmitter and receiver antenna
gains, and MCL is the minimum coupling loss between OBU and RSU [4, 19]. PL(dj)
are macroscopic losses defined by WINNER Models in [22].
The used WINNER propagation model noted as D1 represents radio propagation in
large rural areas (up to 10 km) with low building density. The height of the transmitted
antenna is typically between 20 m to 70 m, much higher than the average building
height. While the receiver antenna is supposed to be located inside of a building or a
vehicle with a velocity between 0 to 200 km/h [22]. The considered model allows
transition between different propagation conditions, such as LOS and NLOS. This
transition for our rural environment is done using WINNER radio channel models for
the probability of LOS.
Localization Accuracy Performance Comparison Between LTE-V and IEEE 802.11p 771
4 Simulation Results
The limits of position accuracy in this work are obtained for a segment of the two way
E313 highway in Antwerp, showed in Fig. 1. Figure 1(a), shows the image of five first
RSUs placed periodically at two sides of the highway, while Fig. 1(b) shows the image
of first four RSUs placed just on one side of the highway. The inter-site distance, which
is the distance between RSUs varies.
Fig. 1. Map of the environment of the simulated area where RSUs are placed on two sides of the
E313 highway (a), and on one side of the E313 highway (b). © 2018 Google
For the first scenario, we have considered 30 RSUs, and for the second scenario, we
have considered 15 RSUs. The maximum coverage distance for each RSU is 0.5 km
for both technologies. This number is approximated considering the real data mea-
surements done in the E313 highway.
To perform TDOA, there is a need to have communication with at least four RSUs.
For scenarios in simulation, OBU communicates with all RSUs which are placed in
500 m range distance. Then depending on the geometry between vehicle and RSUs and
propagation conditions, OBU will have to switch between LOS and NLOS commu-
nication with RSUs. This network design avoids signal interference of time and fre-
quency resources.
While moving, OBU will change its reference RSU considering the time of com-
munication with them.
For IEEE 802.11p it is considered OFDM physical layer signal with a bandwidth of
10 MHz, frequency 5.9 GHz, and maximum power 23 dBm. Same stands for LTE-V,
just here we have considered SC-FDMA. Other parameters required for simulation are
shown in Table 1.
772 R. Halili et al.
Table 1. Simulation parameters of the vehicular network scenarios for LTE-V and IEEE
802.11p
Parameter LTE-V IEEE 802.11p
Pmax 23 dBm 23 dBm
F 5.9 GHz 5.9 GHz
Gt 3 dBi 3 dBi
Gr 8 dBi 8 dBi
ht 53.35 m 53.35 m
hr 1.5 m 1.5 m
B 10 MHz 10 MHz
Fsc 15 kHz 156.25 kHz
N 12 64
SF 6 dB and 8 dB 6 dB and 8 dB
NF 9 dB 9 dB
Nm 1 1
Ma 1 1
MCL 70 dB 70 dB
p2(n) 1 1
Modulation for uplink SC-FDMA OFDM
Figure 2 shows the CRLB results for LTE-V technology for RSUs placed at both
sides of the highway (a) and RSUs placed at one side of the highway (b). We note that
both measurements are done in the same propagation conditions. The OBU is placed on
the vehicle which drives on the same lane; all the above parameters are the same.
Therefore the only difference is the number of RSUs included in the computation of
TDOA.
We can see that when the number of RSUs is bigger, so they are placed at both sites
of the highway as shown in Fig. 2(a), the maximum error can reach 1283.72 m. On the
other hand, when computing CRLB considering one side RSUs shown in Fig. 2(b), the
maximum error reaches 87.47 m.
Figure 2(c) and (d) show the CRLB results for IEEE 802.11p technology, again
considering RSUs placed at both sides of the highway (c) and RSUs placed at one side
of the highway (d). The only difference while obtaining TDOA is the number of RSUs
included in the study, so, again, all other parameters stay the same as presented on the
table above. We can see that when the number of RSUs is bigger, and they are placed
on both sites of the highway, as shown in Fig. 2(c), the maximum error is 0.0069 m.
On the other hand, when computing CRLB considering one side RSUs shown in Fig. 2
(d), this error is 0.00307 m. As it is shown in Fig. 2, the maximum error is found in
LTE-V when two-sided RSUs are in use.
Localization Accuracy Performance Comparison Between LTE-V and IEEE 802.11p 773
Fig. 2. Position error maps computed using CRLB for TDOA for LTE-V and IEEE 802.11p
However, while computing TDOA using two-sided RSUs in all included vehicle
positions, for LTE-V we could obtain CRLB for 85.08% of cases/locations, and for
IEEE 802.11p for 84.21% of cases. On the other hand, obtaining CRLB for LTE-V and
IEEE 802.11p for one-sided RSUs it is possible for just 23.68% of vehicle locations,
respectively 27.19% of locations. This is better shown in Fig. 3. Vehicle positions or
locations where we could not obtain values for CRLB are because the vehicle could not
have communication with four RSUs to have TDOA. In addition to this, LTE-V
implemented on two-sided RSUs could achieve cm level accuracy for 81.57% of
locations while using just one-sided RSUs, this value is 19.30%.
For IEEE 802.11p, we have the same scale of values. 84.21% of cases we have cm
level accuracy using two-sided RSUs, while for one-sided RSUs we could obtain for
27.19% of cases.
As a comparison done between LTE-V and IEEE 802.11p, we see that the local-
ization error achieved using LTE-V is higher than IEEE 802.11p for both scenarios.
The missing points in all figures are cases when the number of RSUs included in
coverage is less than four, and the covariance showed in (3) is a singular matrix.
The first impact can be solved if we add more RSUs in the highway. According to
[19], for rural macro-cell to ensure at least three LoS RSUs for the 95% of the cases, the
inter side distance is set to 200 meters and the roadside separation to 15 meters. The
effect of the second factor is reduced while ignoring the measurement noise, which
results from the OBU location. According to [4, 17], the values for variances shown in
the covariance matrix are constant and do not depend on the position of the vehicle.
774 R. Halili et al.
Fig. 3. Values of Cramer Rao Lower Bound for TDOA scenarios for LTE-V and IEEE 802.11p
5 Conclusion
In this paper, a comparison between LTE-V and IEEE 802.11p is done, to analyze the
achievable positioning accuracy, using CRLB in a vehicular network of multiple base
stations using Time Difference of Arrival TDOA measurements in an additive white
Gaussian noise channel. This work considers the geometry between base stations
referred as roadside units RSU and vehicle referred as onboard unit OBU, by con-
sidering a distance-dependent noise variance.
The analyses are completed in a simulated environment considering a planned
testbed along the highway E313 in Antwerp, Belgium. The studies are done consid-
ering two scenarios. One of them is having two-sided RSUs, or RSUs placed on both
sides of the highway and the other one considering one-sided RSUs on the highway.
LTE-V and IEEE 802.11p both operate with a 10 MHz bandwidth at 5.9 GHz
frequency. According to results, the best performance is achieved by IEEE 802.11p
when two-sided RSUs are taken into consideration.
For IEEE 802.11p, we could obtain cm level accuracy for 84.21% of positions in
the simulated highway using two-sided RSUs, while for one-sided RSUs we could
obtain cm level accuracy for 27.19% of cases. On the other hand, LTE-V implemented
on both sides of the highway performs with cm level accuracy for 81.57% of cases,
while for base stations placed just on one side of the highway we have cm level
accuracy for 19.29% of cases. The percentage of accuracy includes all positions which
are considered in the study. The missing points in all figures are cases when the number
of RSUs included in coverage is less than four, and the covariance is a singular matrix.
Future work aims at analyzing the dilution of precisions and the position of the
vehicle toward RSUs when we have maximum values of CRLB. Inter-cell interference
is another parameter which to be included in future CRLB computations. Then, the
difference between WINNER model and other models in order to see which of the
models predicts best the losses on the selected environment.
Localization Accuracy Performance Comparison Between LTE-V and IEEE 802.11p 775
References
1. V2X White Paper by NGMN Alliance, July 2018
2. G-PPP, 5G automotive vision, White Paper, October 2015
3. Fascista, A., Ciccarese, G., Coluccia, A., Ricci, G.: A localization algorithm based on V2I
communications and AOA estimation. IEEE Signal Process. Lett. 24, 126–130 (2016)
4. del Peral-Rosado, J., López-Salcedo, J., Seco-Granados, G., Zanier, F., Crisci, G.:
Achievable localization accuracy of the positioning reference signal of 3GPP LTE. In:
Proceedings of International Conference on Localization and GNSS, June 2012
5. Rosado, J., Arboleda, M., Zanier, F., Granados, G., Salcedo, J.: Performance limits of V2I
ranging localization with LTE networks. In: 14th Workshop on Positioning, Navigation and
Communications (WPNC) (2017)
6. Driusso, M., Marshall, Ch., Sabathy, Ch., Knutti, F., Mathis, H., Babich, F.: Vehicular
position tracking using LTE signals. IEEE Trans. Veh. Technol. 66(4), 3376–3391 (2017)
7. Chen, Sh., Hu, J., Shi, Y., Peng, Y., Fang, J., Zhao, R., Zhao, L.: Vehicle-to-everything
(V2X) services supported by LTE-based systems and 5G. IEEE Commun. Stand. Mag. 1,
70–76 (2017)
8. https://www.3gpp.org/
9. Dressler, F., Kargl, F., Ott, J., Tonguz, O., Wischhof, L.: Research challenges in
intervehicular communication: lessons of the 2010 Dagstuhl seminar. IEEE Commun. Mag.
49(5), 158–164 (2011)
10. Cecchini, G., Bazzi, A., Masini, B., Zanella, A.: Performance comparison between IEEE
802.11p and LTE-V2 V in-coverage and out-of-coverage for cooperative awareness CNR-
IEIIT. In: IEEE Vehicular Networking Conference (VNC), Bologna, Italy (2017)
11. Chen, S., Hu, J., Shi, Y., Zhao, L.: LTE-V: A TD-LTE-based V2X solution for future
vehicular network. IEEE Internet Things J. 3(6), 997–1005 (2016)
12. Masegosa, R., Gozalvez, J.: LTE-V for sidelink 5G V2X vehicular communications: a new
5G technology for short-range vehicle-to-everything communications. IEEE Veh. Technol.
Mag. 12(4), 30–39 (2017)
13. Bazzi, A., et al.: On the performance of IEEE 802.11p and LTE-V2 V for the cooperative
awareness of connected vehicles. IEEE Trans. Veh. Technol. 66(11), 10419–10432 (2017)
14. Project: Smart Highway
15. Kim, S., Chong, J.: An efficient TDOA-based localization algorithm without synchronization
between base stations. Hindawi Publishing Corporation Int. J. Distrib. Sens. Netw. 11,
832351 (2015)
16. Kay, S.: Fundamentals of Statistical Signal Processing: Estimation Theory. Prentice-Hall
PTR (1993–1998)
17. Kaune, R., Horst, J., Koch, W.: Accuracy analysis for TDOA localization in sensor
networks. In: Proceedings of IEEE Fusion, July 2011
18. Chan, Y., Ho, K.: A simple and efficient estimator for hyperbolic location. IEEE Trans. Sign.
Process. 42(8), 1905–1915 (1994)
19. del Peral-Rosado, J., Seco-Granados, G., Kimy, S., Lopez-Salcedo, J.: Network design for
accurate vehicle localization. Euro Cost (2018)
20. Chang, Ch., Sahai, A.: Estimation Bounds for Localization. IEEE (2004)
21. Han, Y., Shen, Y., Zhang, X., Win, M., Meng, H.: Performance limits and geometric
properties of array localization. IEEE Trans. Inf. Theor. 62(2), 1054–1075 (2016)
22. IST-4-027756 WINNER II D1.1.2 V1.2 WINNER II Channel Models Part I Channel
Models (2008)
Online Reverse Engineering of CAN Data
1 Introduction
Nowadays, cars are getting more and more advanced with a variety of sensors
and complex algorithms. This makes that cars are capable of measuring many
different sorts of data in various environments and circumstances. Examples are
lane following mechanisms on highways, detection of pedestrians in urban areas,
detection and prevention of slipping on slippery roads, etc. Within the Mobisense
project, the quality of roads and their environments are determined using both
acoustic and air quality measurements. Although the project makes use of mod-
ern personal cars, the measurements are carried out by external sensors, such as
smartphones. However, to calibrate those external sensor units, a trustworthy
reference is needed. Hence, the data originating from the car itself is used as
reference.
The data used in a car is shared among different sensors and actuators via
the Controller Area Network (CAN) protocol. This protocol is standardised: the
messages have the same structure, containing an integer identifier (ID) (11 bits,
but extendible to 29 bits) and a data field of 64 bits. This ID also determines the
priority of the message: the lower the ID, the higher the priority. Although the
use of an ID is standard, manufacturers are free to choose which component or
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 776–785, 2020.
https://doi.org/10.1007/978-3-030-33509-0_73
Online Reverse Engineering of CAN Data 777
2 Previous Work
In current research studies where CAN data is used, different methods exist
for acquiring data from a car. In the works of Fugiglando et al. [2], Lestyán
778 J. de Hoog et al.
et al. [5], Lin et al. [6] and Sathyanarayana et al. [9], techniques are proposed to
perform driver identification using CAN data. In [2], the needed data is acquired
and provided by Audi AG and Audi Electronics Venture. Therefore, no reverse
engineering of the data is needed as the required identifiers are already known.
In [6] and [9], the data is obtained from the OBD interface inside the car. As the
required PIDs of the OBD protocol are also known, no reverse engineering needs
to take place either. In the work of Lestyán et al. [5], the authors perform reverse
engineering on a recorded log file of acquired data. In this way, they detect and
identify the required signals by themselves to perform the driver identification.
A drawback of the use of OBD in [6] and [9], is the fact that the data is
acquired using a polling mechanism, explained in Sect. 1. Next, in the works of
[1] and [2], as the data is provided by Audi AG, no reverse engineering of raw
CAN data took place. Therefore, if the proposed work would be deployed on
many cars from various manufacturers, reverse engineering still needs to take
place in order to interpret the data. Finally, the work of [5] and [4] does reverse
engineer raw CAN data, but the authors do so via offline logs of multiple rides
of various cars. They reverse engineered a reference car using the Dynamic Time
Warping (DTW) algorithm and extracted useful features in the required signals,
after which those features are searched for in the data of other unknown cars.
This method is proven to be effective, but still needs to have recorded logs. Thus,
if this work would be deployed on a variety of cars, logs should be made first
before actual analysis can take place.
No methodology already exists for establishing the online reverse engineering
of CAN data from a car, neither for discrete signals. In this way, it would be
possible to install a device in a car which would first reverse engineer the data
before it starts analysing it for further purposes.
Since most CAN messages are issued on the network by a predefined cycle time
such as ten milliseconds, the difference between successive signal values will be
noticeably small. Hence, by analysing bit-flip frequencies of neighbouring bits,
signal boundaries can be defined.
The authors defined three major heuristics: (i) counters, (ii) cyclic redun-
dancy checks (CRCs), and (iii) physical signals. Counters are signals that are
incremented by one concerning the previous value of the signal, while CRCs are
used to detect transmission errors. As an extension to the algorithm, we added
two additional heuristics: zeroes/constants and repetitive patterns. Every other
found signal is categorised as a physical signal. These enable us to categorise the
signals in a more specific way, thus reducing the search space drastically.
We discovered some minor errors during the implementation of the heuristics
defined by Marchetti et al.; the most important one deals with the features
to detect a counter. Instead of describing a bit-flip frequency that halves for
each bit, we improved this feature by introducing an error margin for those
frequencies. This problem arose when only a part of counter values is received
instead of a full range of counter values.
To enable the online execution of this algorithm, it runs every 10 s. A buffer
is implemented to store the temporary CAN data. The results are sent to the
correlation blocks, which are presented in the following subsection.
Fig. 1. The complete execution of the FastDTW algorithm, showing four different
resolutions. Coarsening is used to create those resolutions, after which the minimal
warp path is found and project to the next higher resolution. Refinement is used by
applying constraints that only cells in the warp path are evaluate.
the requested signal should not resemble its reference; instead, it should differ
as much as possible. Hence, the outcome of this correlation process is the sig-
nal with the lowest correlation coefficient. Additionally, as the algorithm knows
which signal was requested – it asked the user to trigger it – the identification
process has been successfully finished too.
5 Experiments
In this section, we elaborate on the experimental setup that is used to perform
the experiments. Next, the obtained results are shown, followed by a discussion
on those results.
different set of received messages, going from 22230 CAN messages to 44460
and 88920 messages. To verify the algorithm on different cars, we conducted an
experiment on the following cars: Citroen C2, Mercedes A180 and Opel Astra J.
When looking at the results of the BMW X5, shown in Table 1a, we see in
the initial impression that the amount of signals increases with a higher number
of received messages. Due to the absence of a correct fully reversed data set,
manual validation was performed on the found signals. We confirm that READ
performs the labelling with very high accuracy. However, further research is
needed with a fully reserved engineered data set to state the contributions of
our additional heuristics with respect to the State of the Art. Despite the high
labelling accuracy, we found one major limitation of the algorithm. Since the
unused parts of a signal are labelled as a constant value, it is unable to detect
absolute boundaries of those signals. A solution for this is to include the neigh-
bouring constant signal or extend the boundaries to its closest byte. However,
previous research has shown that signals do not necessarily use entire byte fields
and that the remaining bits are often used as flags. When looking at Table 1b we
see that the algorithm is also able to detect and label multiple signals of other
cars. Therefore, we can see that the algorithm is able to reduce the search space
drastically in comparison with a brute force mechanism.
In the second experiment, we look at the performance of the correlation
blocks, shown in Fig. 2. In Fig. 2a the used reference signal (i.e. OBD signal of
the engine RPM) is shown. We clearly see two peaks centred around sample 15.
Figure 2b shows the signal that has the highest correlation coefficient regarding
the reference. The two peaks are also clearly visible. The DTW distance calcu-
lated between the reference and the candidate is 0.796295. Figure 2c shows the
second best candidate with a DTW distance of 0.892764. The two peaks are
also clearly visible and the overall trajectory is very similar; hence, the distances
are also very similar. The exact reason for the very slight increase in distance is
still unknown, but it is either due to a timing difference or a sensor inaccuracy.
The third best candidate (shown in Fig. 2d) has a distance of 2.32065, which is
relatively high in comparison to the other two candidates; the two peaks are less
Online Reverse Engineering of CAN Data 783
(a) OBD reference (b) Best candidate signal with highest correlation
coefficient
(c) Second best candidate signal (d) Third best candidate signal
Fig. 2. Overview of found CAN signals. Figure 2a shows the OBD reference of the
engine RPM. Figure 2b shows the best candidate with the lowest DTW distance; Fig. 2c
and d show the second and third best candidate.
visible and the overall trajectory is quite different. From this experiment, we can
see that our correlation block is able to find the best candidate signals given a
certain reference.
Table 2. Shows the found CAN IDs and occupied bytes using the algorithm for discrete
signals.
Thus, we can see that this algorithm is also able to detect every signal that
requires a user input, independent from the discreteness of the signal.
Modern cars contain numerous sensors that provide useful data in many different
situations, but the interpretation of that data is cumbersome due to the different
implementations of the CAN messaging system. Hence, reverse engineering is
needed in order to give sense to the internal sensor data of the car.
This paper presents two major methods to perform reverse engineering in an
online way instead of offline analysis on recorded log files. First, a mechanism
using the READ algorithm is suggested which reduces the search space dras-
tically. Given this decreased search space, online correlation blocks containing
the FastDTW algorithm were able to detect signals that correlate with a certain
reference signal.
Next, this paper also proposes a new methodology for detecting and iden-
tifying signals that require a user input, such as direction indicators and light
switches. Additionally, the algorithm is able continuous signals that also require
a user input, such as accelerator and brake pedals. A downside of this method-
ology is that user validation is needed because of unpredictable counters on the
CAN bus. However, the algorithm is still able to detect user signals in an effective
way.
Regarding future work, these proposed methods need to be fully verified
and validated with complete dataset of already reverse engineered data. Thus,
we can thoroughly benchmark our proposed algorithms with the current State
of the Art. Additionally, research is required in making the algorithms fully
autonomous. That is, no user input should be required in order to perform reverse
engineering, and the possibility of locating the algorithms on an embedded device
instead of a laptop should be taken into account. Though, these methodologies
have proven that online reverse engineering has a lot of potential, which paves
the way to a scalable solution for data extraction in many future applications.
Acknowledgement. This work was performed within the framework of the ICON
project MobiSense (grant No. HBC.2017.0155), supported by imec and Flanders Inno-
vation & Entrepreneurship (Vlaio).
References
1. Fugiglando, U., Santi, P., Milardo, S., Abida, K., Ratti, C.: Characterizing the
“driver DNA” through CAN bus data analysis. In: Proceedings of the 2nd ACM
International Workshop on Smart, Autonomous, and Connected Vehicular Systems
and Services, pp. 37–41. ACM, Snowbird (2017)
2. Fugiglando, U., Massaro, E., Santi, P., Milardo, S., Abida, K., Stahlmann, R., Net-
ter, F., Ratti, C.: Driving behavior analysis through CAN bus data in an uncon-
trolled environment. IEEE Trans. Intell. Transp. Syst. 20(2), 737–748 (2019)
Online Reverse Engineering of CAN Data 785
3. Hallac, D., Sharang, A., Stahlmann, R., Lamprecht, A., Huber, M., Roehder, M.,
Sosič, R., Leskovec, J.: Driver identification using automobile sensor data from a
single turn. In: IEEE Conference on Intelligent Transportation Systems, Proceed-
ings, ITSC, pp. 953–958 (2016)
4. Huybrechts, T., Vanommeslaeghe, Y., Blontrock, D., Van Barel, G., Hellinckx, P.:
Automatic reverse engineering of can bus data using machine learning techniques.
In: Xhafa, F., Caballé, S., Barolli, L. (eds.) Advances on P2P, Parallel, Grid, Cloud
and Internet Computing, pp. 751–761. Springer, Cham (2018)
5. Lestyán, S., Acs, G., Biczók, G., Szalay, Z.: Extracting vehicle sensor signals from
CAN logs for driver re-identification. In: Mori, P., Furnell, S., Camp, O. (eds.)
Proceedings of the 5th International Conference on Information Systems Security
and Privacy, ICISSP, vol. 1, pp. 136–145. SciTePress, Prague (2019)
6. Lin, N., Zong, C., Tomizuka, M., Song, P., Zhang, Z., Li, G.: An overview on study
of identification of driver behavior characteristics for automotive control. Math.
Prob. Eng. 2014(2), 15 p. (2014)
7. Marchetti, M., Stabili, D.: Read: reverse engineering of automotive data frames.
IEEE Trans. Inf. Forensics Secur. 14(4), 1083–1097 (2019)
8. Salvador, S., Chan, P.: Toward accurate dynamic time warping in linear time and
space. Intell. Data Anal. 11(5), 561–580 (2007)
9. Sathyanarayana, A., Boyraz, P., Hansen, J.H.: Driver behavior analysis and route
recognition by hidden Markov models. In: Proceedings of the 2008 IEEE Interna-
tional Conference on Vehicular Electronics and Safety, ICVES 2008, October, pp
276–281. IEEE, Columbus (2008)
10. Vanneste, S., de Hoog, J., Huybrechts, T., Bosmans, S., Eyckerman, R., Sharif, M.,
Mercelis, S., Hellinckx, P.: Distributed uniform streaming framework: an elastic fog
computing platform for event stream processing and platform transparency. Future
Internet 11(7), 158 (2019)
Time Synchronization with Channel
Hopping Scheme for LoRa Networks
Introduction
Low power and low cost communication technologies have made a great impact
on the development of applications and services for IoT. Over the last decades,
due to the miniaturization of IoT communication devices in parallel with
enhanced computing, the number of applications is increasing exponentially,
such as precision agriculture and traffic updates [3].
With the wide spectrum of services and projected inevitable scaling of appli-
cations in IoT, quality measures like scalability and reliability remain a challenge.
This caused an increased demand for wide communication coverage, which in
turn let to the advent of LPWAN. These have high energy efficiency, scalabil-
ity and coverage as key ingredients. LoRa, the radio modulation technology of
LoRaWAN, is widely deployed because of its key enablers such as low power,
long range, low bit rate and low cost chip set [14].
LoRa has brought in a lot of interesting applications [9,14]. It has attracted
many researchers for evolving LoRaWAN infrastructure [18], the network stack
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 786–797, 2020.
https://doi.org/10.1007/978-3-030-33509-0_74
Time Synchronization with Channel Hopping Scheme for LoRa Networks 787
on top of LoRa physical layer. LoRaWAN features low data rate and multi-
kilometer communication range and enables a star network topology. This even-
tually simplifies deployment and maintenance cost of the network. Resulting,
into greater momentum behind LoRaWAN with deployment all over the world
by network operators and solution providers [17].
However, along with those advantages, LoRaWAN has some limitations and
problems [2]. In particular, a key problem arises due to communication latency
and using Aloha type protocol [5,7]. This in turn results in high battery power
usage with low reliability [13] and limits the command and control scenario
applications in LoRaWAN network [10]. Moreover, for application such as data
fusion and event monitoring, the timing of events becomes critical. In Wireless
Sensor Networks (WSN), this is well implemented by dedicated strategies of clock
synchronization [4,6]. However, it is hard to deploy this type of applications on
top of LoRaWAN because there is no notion of time in the network.
In recent literature, the paper [2] highlights the important research challenges
in LoRaWAN network as - exploring new channel hopping methods, scheduling
deterministic traffic along time and limiting interference/collisions by enabling
coordination mechanism between gateway and end devices. In addition, it specif-
ically highlights the requirement of time synchronization and channel hopping
as mitigation technique to revamp the security and robustness of LoRa network.
In this paper, we address the aforementioned challenges by proposing a novel
time synchronization platform for LoRa network and establish a proof of concept.
Inclusion of a time notion can tackle the most critical drawback of availability
of down link communication. It can help to save energy by shortening the neces-
sary guard time and turning off the radio for better duty cycling schemes. To the
best of our knowledge this stands as the first contribution towards time synchro-
nization in LoRa network. Also, we propose lightweight Cryptographic Channel
Hopping scheme (CCH) to enhance the security and reliability (collision rate) of
network. This unique distribution and utilization of available channels can act
as a mitigation technique for security challenges such as selective jamming [16]
and increase the robustness of network.
The paper is structured as follows. Section 1, presents the background on
time synchronization and channel hopping in context of LoRa and LoRaWAN.
Section 2, proposes design and implementation of the system using real LoRa
devices. In Sect. 3, We evaluate preliminary the synchronization resolution and
optimal guard time. For CCH, we evaluate the channel utilization and distri-
bution along with total memory consumption and statistical test to check the
uniformity of channel distribution. Finally, we conclude this paper along with
application usecase in Sect. 4 and discuss the plans and set of possibilities that
can be build upon time synchronized LoRa platform as future work.
1 Background
This section gives an overview of time synchronization and CCH along with its
key elements in the context of LoRa and LoRaWAN.
788 R. K. Singh et al.
For the implementation we have taken, two Microchip Class A LoRa mote
as end devices that supports 868 MHz High-Frequency2 , demonstrated in Fig. 4.
Detailed hardware setup using LoRa mote as master and slave is as follows:
Master Node. Device is connected to the Raspberry Pi, which picks the system
time as reference time and manages the ongoing messaging between end devices.
A script (high priority process) does the sending and receiving of data from the
LoRa end device using LoRa radio and mac commands [12].
Slave Node. Device has PIC inside RN2483 (PIC-18LF46K22) and is connected
with a RTC (ABRACON-AB0805 [1]) and programmed using Pickit3 tool and
MPLAB IDE. Programming PIC helps to avoid any further inclusion of hard-
ware. The RN2483 module have two reserved pins as mentioned in its data
sheet [11]. These pins are used to set up an I2C communication with RTC. This
RTC is significantly ultra low powered (as low as 14 nA [1]) with an I2 C and
SPI interface having precision up to centiseconds. The clock and alarm feature
of the RTC is mainly used for time sync platform.
Fig. 5. On air time for different pay- Fig. 6. OAt +Ct for different SF
load
Fig. 10. Format for sync message Fig. 11. Message format
4 MHz resulted variation in the Ct but not on the clock drift. We got the time
synchronization with a resolution of 55 ms between master and slave. This vari-
ation in resolution was due to hardware dependency. Key take away points for
developing the algorithm further were that it should be hardware independent,
have automated re-sync, no impact of drift, and provision of message classifica-
tion from master.
Second step, time sync algorithm is proposed considering the aforemen-
tioned learning. The message sequence for this algorithm is shown in Fig. 9 with
the detailed steps mentioned it below. Acronym used are: sync message (Sm ),
acknowledgment (Ak ), RTC value (Rv ), RTC read (Rr ), RTC write (Rw ), RTC
value (Rv ), schedule message (Ms ), network time (Nt ), alarm interrupt (Ai ),
guard time (Gt ), network time (Nt ), master device (Md ), slave device (Sd ).
This algorithm is hardware agnostic. The Md sends Sm to Sd in the format
displayed in Fig. 10 comprising of one byte for each field and stores time (T1 ).
The ‘id’ and ‘type’ field represents the network/master id and type of message
respectively as mentioned in Fig. 11. Each message carries additional information
apart from payload for message identification and required processing in the
format given in Fig. 11. It carries the information of sender (ID), type of message
to accordingly read the payload and type of message. The id details are stored
in joining process and helps in avoiding anonymous messages. Sd , on receiving
Time Synchronization with Channel Hopping Scheme for LoRa Networks 793
2.3 CCH
During time synchronization and further for each communication CCH is used
to select next channel. After each message communication, master and slave
close their radio modules (state:off) and select their next channel Common func-
tion (select f req) is used for CCH, that runs on both master and slave device.
Both the end devices are loaded with common keys (Kn ), plain text (Pt ) and
nonce (part of joining process). The select f req function uses AES CTR mode
(AES is already present in LoRA stack, so using the same will result into light
weight solution) to generate a pseudorandom channel from the available spec-
trum because of its important random access property. The cost perspective of
using this cryptographic function (AES CTR) is very low [15], since AES and
record of utilized channel is already part of LoRA stack. The CCH, algorithm
for channel selection works as follows:
1. Frequency spectrum for EU, F = {fi } for 863 000 000 ≤ i ≤ 870 000 000,
f ∈ I where fi has to be selected for the next communication.
794 R. K. Singh et al.
2. Use AES-CTR mode with 256 bit Kn to produce stream cipher using sequen-
tial counter block of size 16 octets, comprising of counter, nonce and Initial-
ization vector.
3. Give input, Pt of 16 octets for XORing
with key stream and to get cipher
4. Calculate the sum(cipher), i.e., cipher which is always random because
i=116
of inherent basic property of using 14 rounds.
5. With above results, we calculate the fi using logic - Sum()%(upperbound −
lowerbound) + lowerbound
6. The lower and upper bound are the fi range.
Fig. 12. Channel hopping Fig. 13. Memory consumption for time
sync and CCH
3 Evaluation
In this section, we unfold the achieved sync resolution, guard time, channel sta-
tistical uniformity and accomplished channel utilization and distribution using
CCH.
Fig. 14. CCH for different rounds of Fig. 15. Channel utilization and distri-
message bution
becomes even more substantial after release of the recent LoRaWAN specifica-
tion, with new commands for seeking time details. However, it will take time
before this is commercially available. We will probably focus on scaling the time
sync network and measure the performance, especially coverage, capacity and
collision. We will first focus on dynamic task scheduling or time sensitive middle-
ware on top of this platform. Next, to explore joining procedures for end devices
in time sync networks. On the other hand, on top of CCH we will try to come
up with a channel hopping scheme to reserve set of channels for critical packets.
We would also try to evolve with an efficient new time sensitive device type;
enriching the possible use-case and applications of LoRa network.
References
1. Abracon: Ab08x5 real-time clock family. Technical report, 16 October 2014.
https://abracon.com/Precisiontiming/AB08X5-RTC.PDF
2. Adelantado, F., Vilajosana, X., Tuset-Peiro, P., Martinez, B., Melia-Segui, J., Wat-
teyne, T.: Understanding the limits of LoRaWAN. IEEE Commun. Mag. 55(9),
34–40 (2017)
3. Centenaro, M., Vangelista, L., Zanella, A., Zorzi, M.: Long-range communications
in unlicensed bands: the rising stars in the IoT and smart city scenarios. IEEE
Wirel. Commun. 23(5), 60–67 (2016)
4. Lasassmeh, S.M., Conrad, J.M.: Time synchronization in wireless sensor networks:
a survey. In: Proceedings of the IEEE SoutheastCon 2010 (SoutheastCon), pp.
242–245 (2010)
5. Laya, A., Kalalas, C., Vazquez-Gallego, F., Alonso, L., Alonso-Zarate, J.: Goodbye,
aloha!. IEEE Access 4, 2029–2044 (2016). https://doi.org/10.1109/ACCESS.2016.
2557758
6. Lin, L., Ma, S., Ma, M.: A group neighborhood average clock synchronization
protocol for wireless sensor networks. Sensors 14, 14744–14764 (2014)
7. LoRa Alliance Inc.: LoRaWANTM specification. LoRa Alliance, Inc., San Ramon
(2015)
8. MacKay, D.J.C.: Information Theory, Inference, and Learning Algorithms. Cam-
bridge University Press, Cambridge (2003). https://doi.org/10.2277/0521642981
9. Mdhaffar, A., Chaari, T., Larbi, K., Jmaiel, M., Freisleben, B.: Iot-based health
monitoring via LoRaWAN. In: IEEE 17th International Conference on Smart Tech-
nologies, EUROCON 2017, pp. 519–524 (2017)
10. Mekki, K., Bajic, E., Chaxel, F., Meyer, F.: A comparative study of LPWAN
technologies for large-scale IoT deployment. ICT Express (2018). https://doi.
org/10.1016/j.icte.2017.12.005. http://www.sciencedirect.com/science/article/pii/
S2405959517302953
11. Microchip: Rn2483 LoRa technology transceiver module data sheet. Technical
report (2015). www.microchip.com/downloads/en/DeviceDoc/50002346C.pdf
12. Microchip: Rn2483 LoRaTM technology module command reference user’s guide.
Technical report (2015). http://ww1.microchip.com/downloads/en/DeviceDoc/
40001784B.pdf
13. Neumann, P., Montavont, J., Noël, T.: Indoor deployment of low-power wide area
networks (LPWAN): a LoRaWAN case study. In: 2016 IEEE 12th International
Conference on Wireless and Mobile Computing, Networking and Communications
(WiMob), pp. 1–8 (2016)
Time Synchronization with Channel Hopping Scheme for LoRa Networks 797
14. Noreen, U., Bounceur, A., Clavier, L.: A study of LoRa low power and wide area
network technology. In: 2017 International Conference on Advanced Technologies
for Signal and Image Processing (ATSIP), pp. 1–6 (2017). https://doi.org/10.1109/
ATSIP.2017.8075570
15. Prathiba, A., Bhaaskaran, V.S.K.: FPGA implementation and analysis of the
block cipher mode architectures for the present light weight encryption algo-
rithm. Indian J. Sci. Technol. 9(38) (2016). http://www.indjst.org/index.php/
indjst/article/view/90314
16. Proano, A., Lazos, L.: Selective jamming attacks in wireless networks. In: 2010
IEEE International Conference on Communications, pp. 1–6 (2010). https://doi.
org/10.1109/ICC.2010.5502322
17. i SCOOP: LoRaWAN across the globe (2017). www.i-scoop.eu/internet-of-things-
guide/iot-network-lora-lorawan
18. L.A.T.M. Workgroup: A technical overview of LoRa and LoRaWAN. Technical
report, LoRa Alliance (2015)
LiDAR and Camera Sensor Fusion
for 2D and 3D Object Detection
1 Introduction
One of the firsts steps in autonomous driving is the perception of the world
around. To accomplish this, autonomous vehicles rely on sensors. Every sensor
has its own advantage and disadvantage. In order to correctly and reliably detect
objects and obstacles, multisensor data fusion can be used. This concept con-
sists of combining the advantages and suppressing the disadvantages of multiple
sensors.
Our proof of concept setup consist of a LiDAR and camera sensor. The data
from these sensors will be fused on feature level basis. This means that firstly
features will be extracted from the separate raw data streams. Afterwards these
features are combined by the fusion algorithm itself. This is in contrast with
a lower level fusion where the raw sensor data gets directly fused and used for
object classification. As the Joint Directors of Laboratories (JDL) [1] proposed,
sensor fusion can be established on different levels:
• Level zero - data alignment: Level zero processing involves synchronizing
individual data streams and mapping their individual coordinates onto each
other.
• Level one - object refinement: Level one processing involves object refine-
ment. In this level locational, parametric, and identity information is com-
bined to achieve refined representations of individual objects.
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 798–807, 2020.
https://doi.org/10.1007/978-3-030-33509-0_75
LiDAR and Camera Sensor Fusion for 2D and 3D Object Detection 799
2 Related Work
A lot of research has already been done in the field of LiDAR and Camera
fusion, with mixed results. Zhang, Clarke, and Knoll [2] use these sensors for a
vehicle detection system. They developed a system that proposes a hypothesis
and verifies this hypothesis using a classification stage. Their classification stage
is embodied by a support vector machine (SVM). Their main conclusion was the
proposed method has a lower false positive rate then other detection systems.
Liang et al. [3] from Uber Advanced Technologies Group and the Univer-
sity of Toronto developed a 3D object detector using LiDAR and camera data to
perform very accurate localization. Their approach consists of continuous convo-
lutions and uses LiDARs and bird eye view images. The results of their research
are very promising.
In other research of Xu et al. [4] a machine learning approach is used. They
use a fusion network to fuse the preprocessed image and point cloud data. This
is in contrast with this research where a more algorithmic method is proposed
where almost no training is needed. On the market side of things, interesting
patents can also be found. In the United States a patent [5] exists for a method for
fusing radar/camera object data and LiDAR scan points. The patented system
is based on the hypothesis generation/verification principle earlier discussed. In
the system the LiDAR data is used in response to an object being detected by
the radar or camera. This is a clear example of level 1 processing of the JDL
model since the method uses object files to represent the position, orientation
and velocity of the detected objects.
This research is focused on the fusion of LiDAR and camera data. Both the
LiDAR and camera will be used to infer properties about the detected objects.
800 D. Balemans et al.
Point Cloud
Lidar PCL Clustering Level 1
Transforms sensor
Feature processing Fused-Output to
data into a consistent
Association decision making
set of units and
Object (Fusion) systems
2D-image coordinates
Camera
Classification
A comparison will be made between a fusion system that uses the LiDAR data
as hypothesis and a system that uses the camera data. The proposed systems are
mainly situated on level 0 and level 1 of the JDL model. The proposed methods
are different from the state of the art methods as they are more focused on
analytic data association algorithms. This work tries to improve the state of the
art methods in execution time and detection accuracy.
Fig. 2. Top: Fusion 1 camera hypothesis; Bottom: Fusion 2 LiDAR based hypothesis
The preprocessing of the first fusion system consists of an image object detec-
tion algorithm. We opted for a machine learning approach to detect objects.
Therefore the well-known You Only Look Once (YOLO) model is be used. YOLO
is a real-time object detection model. The main advantage of the YOLO model
is that the model only needs to be applied once to the image. This makes it
significantly faster than other prior object detection methods [6]. The output of
the camera object detector are the classes of the objects alongside a bounding
box representing the location of the object on the image.
4.2 Fusion
After preprocessing the actual fusion step takes place. In this step the detected
camera objects are used as hypothesis to find associated LiDAR data. The
detected objects bounding boxes are used to predict a region of interest (ROI)
in the image space. Subsequently the relevant LiDAR points are transformed
to the image space. This transformation consist of projecting the LiDAR points
onto the image plane. For this projection to be correct it is crucial the position
of the camera and LiDAR are precisely determined. The distance between the
center of the LiDAR and the center of the camera determines the image plane
coordinates. The Center of Projection (COP) is the location of the LiDAR center
relative to the center of the camera. In Fig. 3 an example projection is drawn.
Here the COP is in the origin and the image plane is placed at x = a. This means
the camera is placed at a distance of a in front of the LiDAR. Furthermore the
camera and LiDAR are placed in a perfect line behind each other on the same
height. Hence the COP is at the origin.
To map a 3D point (x1 , y1 , z1 ) to the image plane x = a:
(x1,y1,z1)
(a,y1',z1')
x
Center Of Projection
Fig. 3. LiDAR point projection: point (x1 , y1 , z1 ) projected onto the camera plane
x=a
Because the axis of the LiDAR and camera are different, the projected point’
coordinates on the image space become:
In contrast to the first fusion system, this system uses the LiDAR input to
propose the hypothesis. This method allows for more exact fusion and better
3D object localization. In the preprocessing phase the LiDAR data will be used
to detect objects. These objects will be extracted from the point cloud using an
euclidean clustering algorithm. This is possible because only points of the same
object are close enough to each other to form a cluster. The clustering algorithm
will construct a Kd-search tree [8] of the point cloud and use a threshold to
find all points close enough to each other. It must be noted that the raw point
cloud from the LiDAR sensor is not directly ready to be used for the clustering
algorithm. First the point cloud is down sampled using a leaf size of 0.5 and a
voxelgrid [9]. Afterwards a ground plane removal algorithm will find and filter
out the ground plane points. This is done using the RANSAC algorithm [10].
Lastly all LiDAR points that cannot be projected on the image are filtered out.
This leaves a down sampled point cloud with only relevant possible object points
which the clustering algorithm will use to propose objects. It is important to note
that many of these used algorithms have critical parameters. For example the
clustering algorithm uses a threshold to determine if points are close enough to
each other. One can agree that this value determines the quality of the output.
The optimal threshold value can vary from situation to situation. As described
in the future work section these critical parameters should be monitored and
controlled during the fusion process. The output of the LiDAR clusterer are the
clusters themselves.
5.2 Fusion
In the fusion step of system two the LiDAR clusters are first projected onto
the image space. This is done using the same method used in fusion system
one. Subsequently the projected clusters are used to propose a ROI in the image
space, in which an image object detection algorithm will validate the proposition
by classifying the objects. This ROI is proposed by finding the minimum and
maximum X and Y value of the projected clusters plus an predetermined offset
parameter to increase the detection changes. Again, it must be noted this offset
parameter has a notable impact on the correct detection rate. If this parameter
is too big, the ROI is too large and multiple objects may be detected as one.
On the other hand if this parameters is too small, smaller objects may not be
detected correctly (Fig. 4).
After the proposition is verified the bounding box get updated based on the
classification. Now we have fused objects with both LiDAR point cloud data, and
image data. As in system one the same properties (class, 2D and, 3D bounding
box) are inferred using this data. The output of the system is the same as in
fusion system one.
804 D. Balemans et al.
Fig. 4. Example detection’s: (upper image) example detection of fusion system 1 (lower
image) example detection of fusion system 2. These detection where made on the test
setup described in Sect. 6. The data set used is the KITTI 0059 raw data set.
The test setup consists of the Velodyne VLP16 LiDAR and a StereoLabs Zed
3D camera. The LiDAR has a 360 degree field of view and 16 channels over
30 degrees of vertical field of view. This means the LiDAR outputs a 3D point
cloud of the world around. The Robotic Operating System (ROS) will be used
to orchestrate the communication between the nodes of the system. The two
sensors are both placed on top of the vehicle facing forward. The position of
these sensors is critical in the fusion process to estimate the position of detected
objects.
To evaluate the system the KITTI benchmark data is used. This data set is
composed by the KITTI team and consists of camera, LiDAR, GPS, and IMU
data. The full setup is described by Geiger, Lenz, and Urtasun [11] in their
paper. This raw data set [12] consist of recording fragments alongside a label
file. This label file contains labels and properties of objects that are visible in
each frame of the fragment and is used as ground truth to verify our detections.
The labels can be considered very accurate as they where collected by multiple
stages of human annotations. The properties used in this research to evaluate
are the class name, 2D bounding box, and 3D bounding box information.
LiDAR and Camera Sensor Fusion for 2D and 3D Object Detection 805
Our systems will output a similar label file as the ground truth data for
each frame of a fragment. An evaluation script will compare the detection and
calculate the precision and recall of the detections. To calculate the values the
evaluation script collects the correctly detected objects (true positives TP), the
falsely detected objects (false positives FP), and the not detected objects (false
negatives FN). A detection is considered correct when the class name is correct
and the bounding boxes are at least fifty percent overlapping. The precision and
recall are then given by:
TP TP
precision = and recall =
TP + FP TP + FN
7 Results
The evaluation of the systems is done using the method described in Sect. 6.1.
To compare the systems execution time, precision, and recall are used. The
evaluation of the 2D and 3D detection are run separately. The main objective
of the benchmark is to detect cars. Other object classes will be ignored. In the
next tables you can find the results of the benchmarks.1
This research presents two fusion systems which predict a 2D image bounding
box and 3D LiDAR point cloud bounding box. The main purpose is to compare
the performance of a LiDAR based fusion and a camera based fusion. From these
results one can clearly conclude the 2D object detection achieves much better
results than the 3D object detection. Generally speaking the first fusion sys-
tem, based on image ROIs, performs better. It has consistent higher recall and
precision for the 2D benchmark. The execution time of the first system is also
considerably lower. The reason for this is because the first system only needs
to process the image information once. This is in contrast with the second sys-
tem where for each cluster a small part of the image information is processed.
Processing these small image parts takes less time, nevertheless the total pro-
cessing time of all clusters together is longer. The current clustering algorithm
also proposes irrelevant clusters. An example of this are parts of buildings. These
parts will not count as correct detected objects, but do require processing time.
The main reason the second fusion system performs worse in terms of precision
1
F1 is Fusion system one and F2 is Fusion system two.
806 D. Balemans et al.
and recall is because of the euclidean clustering algorithm. This algorithm uses
parameters that need to be specifically tuned to each situation. Therefore the
resulting clusters are not always optimal. This means when for example when
two cars are parked close to each other, they can be detected as one cluster
because the threshold parameters was too high in that situation. Comparing
the 3D detection results one can clearly notice the performance is remarkably
lower than the 2D detection’s. The reason for this is because the 3D bounding
box calculation method is not optimal. However the 3D precision of the second
fusion system is notably higher. This is because the method is based on LiDAR
cluster hypothesis, which lead to more accurate 3D detection’s.
In this research a LiDAR and camera sensor fusion method is proposed which
accurately determines a class and bounding boxes of detected objects. The
hypothesis proposition and verification stages allow for very reliable detections.
The system outputs fused data with inferred properties, which can be used in
decision making algorithms of further stages of autonomous applications. This
method performs slightly lower in detection performance compared to other
state-of-the-art methods, however, the execution times are very promising. One
of the main advantages of this method is that the feature based fusion allows
for a highly modular design. The preprocessing for each sensor is independently
done from the fusion processing. The system can therefore be easily extended
with extra sensors to achieve a very robust detection system.
The proposed systems in this research are situated on level zero and level one
of the JDL model. This includes currently only the data alignment and object
refinement stages. It is future work to further extend the level one outputs to also
track the detected objects in time, and in doing so infer more properties about
the objects. Using optimal state estimation algorithms, for example Kalman
filters, it will be possible to predict an objects heading and velocity. Based on
that information a threat level (level three output) can be determined for each
object.
To further improve the results of the systems, especially the second proposed
fusion system, other LiDAR feature extraction algorithms can be explored. Cur-
rently a euclidean clustering method is used which is difficult to tune to each
situation and therefore the result are not outstanding.
Furthermore, as described earlier, the fusion process can also be optimized
during execution. This can be done by monitoring and updating system param-
eters like thresholds. This processing is the fourth level of the JDL model.
To further improve the results of the system it should be possible to switch
between system one and system two based on the quality of the raw sensor
stream. It is future work to provide a solution for this.
This paper is partially supported by the Belgian/Flemish Smart Highway
project (VLAIO HBC.2017.0612)
LiDAR and Camera Sensor Fusion for 2D and 3D Object Detection 807
References
1. White, F.E.: JDL, data fusion lexicon. Technical Panel for C3, vol. 15, no. 0704,
p. 15 (1991)
2. Zhang, F., Clarke, D., Knoll, A.: Vehicle detection based on LiDAR and cam-
era fusion, In: 17th International IEEE Conference on Intelligent Transportation
Systems (ITSC), pp. 1620–1625. IEEE, October 2014
3. Liang, M., Yang, B., Wang, S., Urtasun, R.: Deep continuous fusion for multi-
sensor 3D object detection. In: Lecture Notes in Computer Science (including sub-
series Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics).
LNCS, vol. 11220, pp. 663–678 (2018)
4. Xu, D., Anguelov, D., Jain, A.: PointFusion: deep sensor fusion for 3D bounding
box estimation, Technical report (2018)
5. Shuqing, Z.: System and method for fusing radar/camera object data and LiDAR
scan points. US Patent 9,476,983, February 2016
6. Redmon, J., Farhadi, A.: Yolov3: an incremental improvement. arXiv (2018)
7. Point cloud library find minimum oriented bounding box of point cloud (C++ and
PCL). http://codextechnicanum.blogspot.com/2015/04/find-minimum-oriented-
bounding-box-of.html
8. Point cloud library module KdTree. http://docs.pointclouds.org/trunk/group
kdtree.html
9. Point cloud library pcl::voxelgrid <pointt> class template reference. http://docs.
pointclouds.org/1.8.1/classpcl 1 1 voxel grid.html
10. Fischler, M.A., Bolles, R.C.: Random sample paradigm for model consensus: a
apphcatlons to image fitting with analysis and automated cartography. Commun.
ACM 24(6), 381–395 (1981)
11. Geiger, A., Lenz, P., Urtasun, R.: Are we ready for autonomous driving? The
KITTI vision benchmark suite. In: Conference on Computer Vision and Pattern
Recognition (CVPR), pp. 3354–3361 (2012)
12. Geiger, A., Lenz, P., Stiller, C., Urtasun, R.: Vision meets robotics: the KITTI
dataset. Int. J. Robot. Res. (IJRR) 32(11), 1231–1237 (2013)
The 5th International Workshop
on Signal Processing and Machine
Learning (SiPML-2019)
Apple Brand Classification Using CNN Aiming
at Automatic Apple Texture Estimation
Abstract. This paper describes a system to infer the brand of apple considering
physical features of its flesh. The system comprises a hardware to examine the
apple’s physical features and a software with convolutional neural network
(CNN) to classify an apple into any brand. When a sharp metal blade cuts the
piece of the apple flesh, the load and the sound are measured. From these data,
the computer generates an image consisting of the sound spectrogram and the
color bar expressing the load change. The sound spectrogram has rich features
of the apple flesh. The image is inputted to CNN to infer the brand of apple. In
the experiment part, the authors validated the proposed system. The goal of our
study is to construct a system to estimate the texture such as crunchiness or
crispness. The system is applicable to the quality management of the brand of
apples. For example, one apple randomly chosen from many apples could be
examined by the present system in order to check the texture quality of the flesh.
1 Introduction
There is a saying “An apple a day keeps the doctor away” [1]. The apples have rich
nutrition such as polyphenols, minerals, vitamins and fiber [2, 3]. Taking apple is
effective to prevent cancer, cardiovascular and liver disease [4–6]. In addition, the
hemodialysis patients or aged people are encouraged to take apple [7, 8]. Furthermore,
the apples have anti-bacterial and anti-virus function [9, 10].
From above backgrounds, the relationship between the sensory characteristics and
the nutrition of apple is investigated [11]. When we eat the apple, we feel a fragrance, a
taste and a texture. The consumers ordinarily purchase the apple considering a nutrition
facts label which indicates the acidity or the sugar content level. Such objective
attributes can be measured by sensors, and thus quantified to numerical value easily.
On the other hand, the texture is also significant to indicate the quality of the apple.
However, texture levels of crunchiness or crispness are difficult to measure.
There are some studies in the texture of apple [12, 13]. These studies are analytical
works. Whereas study on the automatic texture estimation using AI (Artificial Intel-
ligent) is not common. If the AI can quantify the texture level of the apple, the
consumers can choose good texture apple thereby such system is useful. AI such as
convolutional neural network (CNN) is very useful in the pattern recognition [14]. In
our previous work [15], we have addressed to construct a system which estimates snack
texture levels such as crunchiness and crispness represented by numerical value within
(0,1). However, the apple flesh is soft and subtle unlike snacks e.g. cookies or biscuits.
Therefore, as a first step we challenged to classify the apples into any kinds of brands
we chose. We selected three kinds of apple brands, named brands A, B and C. We
employed our equipment to examine the apples and CNN to classify the apple brand.
The input of the CNN is an image representing sound spectrogram when the blade cuts
the apple flesh. The sound spectrogram has rich features of the apple flesh. Figure 1
shows the overview of the present system.
Fig. 1. Overview of present system: (a) The flesh sample is hollowed out by metal pipe, and
then trimmed in the same length; (b) The load and the sound are observed by the sensors when
the sample is cut by the sharp metal blade; (c) The load and the sound are inputted to the
computer; (d) The sound and the load features are converted to 227 227 pixels RGB image;
(e) Convolutional neural network (CNN) infers the probability of brands.
As shown in Fig. 1(a), the apple’s flesh sample is hollowed out using the metal pipe,
and then trimmed in the same length. Figure 1(b) is the equipment to examine the
sample. The sharp metal blade cuts the flesh sample. As Fig. 1(c) illustrates, the load and
the sound are observed simultaneously when the blade cuts the apple flesh. The load and
sound features are converted to 227-by-227 pixels RGB image shown in Fig. 1(d). The
image is inputted to CNN (Convolutional Neural Network) shown in Fig. 1(e), and then
the CNN outputs the classified probability of three brands. One of the highest value is
Apple Brand Classification Using CNN Aiming at Automatic Apple Texture 813
identified as inputted sample’s brand. In this example of Fig. 1(e), the sample could be
identified as “Brand A”. Such intelligent system is applicable to the quality management
system for apple flesh texture. For example, one apple randomly chosen from many
apples could be examined by the present system to check the texture quality of the flesh.
In the next section, the equipment for examining the apple flesh is explained.
2 Equipment
As shown in Fig. 2(a), there is a sample flesh piece below the blade. The blade is
moved up and down by an air cylinder. There are the sound sensor and the load sensor
on the blade. The load and the sound are observed simultaneously and given to the
computer via A-D converter with sampling rate 25 [kSamples/s].
Fig. 2. Equipment and sample size: (a) The sharp metal blade cuts the sample flesh; (b) The
apple fleshes are hollowed out and cut in the same size.
3 Experiment
We purchased three brands’ apples in a local supermarket in Japan. Figure 2(b) (right
side) shows the apples’ width and height. The sizes of three brands’ apples were within
certain range. The sample flesh was hollowed out and cut in the same size as Fig. 2(b)
(left side) shows. The flesh samples are numbered by the brands as shown in Table 1.
The experiment for observing the load and the sound of flesh samples was carried
out under the condition shown in Table 2.
Figure 3(a) shows the result of “Brand A.” The top graph illustrates the load curb
with red line and the sound with blue line. It is found that when the blade cuts the
sample, the load begins to increase. The middle graph shows automatically extracted
signals for 1.0-[s]. The bottom graph shows the FFT result of the extracted 1.0-[s]
sound data.
Figure 3(b) and (c) show the results of “Brand B” and “Brand C”, respectively.
Comparing (a), (b) and (c), the loud sound and the strong load occurred in “Brand C”.
In other words, the “Brand C” was harder compared with other two brands. FFT results
are also different depending on the brands.
As shown in Fig. 4, the signals for 1.0-[s] are extracted from entire 10-[s] data as
follows.
(i) The maximum load point (1) is found.
(ii) The point (2) is found. The point (2) is at 10% of maximum load.
(iii) The signals for 1.0-[s] from the point (2) is extracted as (3).
Figure 5(a) shows the averages and STDs of the load means for extracted 1.0-[s] in
each brand. Figure 5(b) shows averages and STDs of the integration values of the FFT
result between 1.0-[Hz] to 10-[kHz] in each brand.
It is found that the “Brand C” is hardest considering the average value of load
shown in Fig. 5(a). Therefore, “Brand C” is considered as crunchier than “Brand B”
overall. “Brand A” would have middle attribute between B and C.
Figure 6 illustrates how to generate the image inputted to CNN. The image consists
of the sound spectrogram and the visualized load intensity for extracted 1.0-[s] signals.
As shown in Fig. 6(a), the FFT (Fast Fourier Transform) is performed in each section
from (1)–(9), where the FFT period of each section is 0.2-[s], and there are 0.1-[s]
overlaps between the adjacent sections. The sound spectrogram is visualized FFT
results of sects. (1)–(9) as Fig. 6(a) and (b) show.
Furthermore, this image also includes information in the load intensity displayed in
the bottom part of Fig. 6(b).
4 CNN
We determined to address classifying task using CNN as a first step in the presented
paper. Since we have only 90 data, we adopted transfer learning [16] using AlexNet
[17], which is a pre-trained CNN. We employed the Neural Network Toolbox in
MATLAB developed by MathWorks [18].
Figure 7 shows the CNN to classify the apple brands. The node size of input layer
is 227 227 3 for 227 227 pixel RGB image. The output layer consists of three
nodes. The convolution layers (conv1–conv5) and fully connected layers (fc6 and fc7)
are the original AlexNet part [17] which are pre-trained with a massive number of
image data. We only attached fc8 and the soft-max layer with the original AlexNet,
where all fc8 nodes are connected with all fc7 nodes.
Apple Brand Classification Using CNN Aiming at Automatic Apple Texture 817
The soft-max layer outputs classified values of brands A, B and C within (0,1). The
item with the highest probability (classified value) is identified as an inputted apple. In
the case of Fig. 7, the “Brand A” is judged as the inputted image.
Several images of samples are shown in Fig. 8. It is found that the load of “Brand
B” is smaller than the other brands, as the bottom parts of images in Fig. 8 displays.
The 6-fold cross-validation of Fig. 9 was performed [19, 20]. Table 3 enumerates
the transfer learning settings to validate the CNN. The result is shown in Table 4. The
mean of the accuracies in Data Sets (1)–(6) was 81.1%.
818 S. Kato et al.
The accuracies in the Data Set (2) and (3) were lower. In the Data Set (2), the
“Brand A” was confused with brands B and C, because the “Brand A” has the middle
attribute between brands B and C. In the Data Set (3), the “Brand B” samples were
Apple Brand Classification Using CNN Aiming at Automatic Apple Texture 819
identified as “Brand A” in all misjudged cases. In the future, we should improve the
sensing method. For instance, it is necessary to alleviate the air pressure and blade
speed in order to observe the subtle sound and load features.
5 Conclusion
This paper addressed the apple brand classification aiming at realizing the automatic
apple texture estimation. We employed CNN which deals with the image comprises the
sound spectrogram including rich information in the apple flesh, and load change color
bar. The image was inputted to CNN which classifies the apple to any brands. We
validate the CNN works well in general. In order to improve the accuracy of the CNN,
in the future, we will carry out experiment by alleviating air pressure which controls the
blade movement. In addition, we will realize a texture estimation system as drawn in
Fig. 10, where the CNN is capable of outputting the texture levels such as crunchiness
or crispness.
Acknowledgments. The authors would like to thank reviewers for giving us fruitful comments,
and Maeda in MathWorks for giving us technical advice.
References
1. Kemper, K.J.: An apple a day: how trees improve human health. Complement. Ther. Med.
46, A1–A4 (2019)
2. Wruss, J., et al.: Differences in pharmacokinetics of apple polyphenols after standardized
oral consumption of unprocessed apple juice. Nutr. J. 14, 32 (2015)
3. Manzoor, M., et al.: Variations of antioxidant characteristics and mineral contents in pulp
and peel of different apple (Malus domestica Borkh.) cultivars from Pakistan. Molecules 17,
390–407 (2012)
4. Gerhauser, C.: Cancer chemopreventive potential of apples, apple juice, and apple
components. Planta Medica 74(13), 1608–1624 (2008)
5. Bondonno, N.P., et al.: The cardiovascular health benefits of apples: whole fruit vs. isolated
compounds. Trends Food Sci. Technol. Part B 69, 243–256 (2017)
6. ChrisSkinner, R., et al.: Apple pomace improves liver and adipose inflammatory and
antioxidant status in young female rats consuming a Western diet. J. Funct. Foods 61,
103471 (2019)
7. Giaretta, A.G., et al.: Apple intake improves antioxidant parameters in hemodialysis patients
without affecting serum potassium levels. Nutr. Res. 64, 56–63 (2019)
8. Avci, A., et al.: Effects of apple consumption on plasma and erythrocyte antioxidant
parameters in elderly subjects. Exp. Aging Res. 33(4), 429–437 (2007)
9. Pires, T.C.S.P., et al.: Antioxidant and antimicrobial properties of dried Portuguese apple
variety (Malus domestica Borkh. cv Bravo de Esmolfe). Food Chem. 240, 701–706 (2018)
10. Martin, J.H.J., Crotty, S., Warren, P., Nelson, P.N.: Does an apple a day keep the doctor
away because a phytoestrogen a day keeps the virus at bay? A review of the anti-viral
properties of phytoestrogens. Phytochemistry 68(3), 266–274 (2007)
11. Endrizzi, I., et al.: A conjoint study on apple acceptability: sensory characteristics and
nutritional information. Food Qual. Prefer. 40(1), 39–48 (2015)
820 S. Kato et al.
12. Charles, M., et al.: Application of a sensory-instrumental tool to study apple texture
characteristics shaped by altitude and time of harvest. J. Sci. Food Agric. 98(3), 1095–1104
(2018)
13. Costa, F., et al.: Assessment of apple (Malus domestica Borkh.) fruit texture by a
combined acoustic-mechanical profiling strategy. Postharvest Biol. Technol. 61(1), 21–28
(2011)
14. LeCun, T., et al.: Gradient-based learning applied to document recognition. Proc. IEEE 86
(11), 2278–2324 (1998)
15. Kato, S., et al.: Snack texture estimation system using a simple equipment and neural
network model. Future Internet 11(3), 68 (2019)
16. Shin, H.C., et al.: Deep convolutional neural networks for computer-aided detection: CNN
architectures, dataset characteristics and transfer learning. IEEE Trans. Med. Imaging 35(5),
1285–1298 (2016)
17. Krizhevsky, A., Sutskever, I., Hinton, G.E.: ImageNet classification with deep convolutional
neural networks. In: Proceedings of the 25th International Conference on Neural Information
Processing Systems (NIPS 2012), pp. 1097–1105 (2012)
18. MathWorks, Transfer Learning Using AlexNet. https://www.mathworks.com/help/
deeplearning/examples/transfer-learning-using-alexnet.html?lang=en. Accessed 14 June 2019
19. Priddy, K.L., Keller, P.E.: Dealing with limited amounts of data. In: Artificial Neural
Networks - An Introduction, chap. 11, pp. 101–102. SPIE Press, Bellingham (2005)
20. Wong, T.-T.: Performance evaluation of classification algorithms by k-fold and leave-one-
out cross validation. Pattern Recogn. 48(9), 2839–2846 (2015)
Fundamental Study on Evaluation System
of Beginner’s Welding Using CNN
1 Introduction
GTA (Gas Tungsten Arc) welding is compatible to various metals and applications [1].
GTA welding is indispensable to the industry such as the cars, ships and buildings.
Therefore, it is necessary to nurture welding skill of young people [2, 3]. However, as
shown in Fig. 1(a), the referee needs to check many welding plates, and thereby it
occurs their physical burden. In addition, the evaluations sometimes differ depending
on the individual referee’s subjectivity as shown in Fig. 1(b).
Fig. 1. Problems in GTA welding evaluation of beginners’ works: (a) the referee is tired of
evaluating many GTA works; (b) the evaluations among panels sometimes differ.
Based on the above background, this study addresses automatic evaluation of the
GTA welding which beginners performed. Since CNN (Convolutional Neural Net-
work) has high performance for image recognition [4], we employed the CNN.
Although there are some studies on welding joint evaluation using CNN [5], these
researches focus on finding the defects of joints welded by professionals or machines.
On the other hand, our study’s emphasis is on welding works by beginners.
2 Method
At first, the authors collected two kinds of pictures of welded plates. The one is the
picture of plate labeled “good” which has passed a test for deserving certification
displayed in Fig. 2(a). The other is the picture labeled “bad” which did not pass the test
by human expert’s judgement shown in Fig. 2(b). The authors have taken several
pictures of the plates by using a digital camera in a room under a constant brightness,
where the camera was fixed on the arm as illustrated in Fig. 2(c).
Fig. 2. Pictures of GTA welded plates: (a) examples of “good” plates; and (b) “bad” plates;
(c) the diagram of the situation when the pictures were taken.
Fundamental Study on Evaluation System of Beginner’s Welding 823
As the beginning task, we focused on the evaluation of the partial area of welded
joint as shown in Fig. 3. A human manually extracts the square welding image using
mouse, and then the image is inputted to CNN with AlexNet [6] in order to evaluate the
image. The image is resized to 227 227 automatically when it inputted to the CNN.
CNN outputs the probability of the evaluation. In this example, the outputted proba-
bility of “good” is higher, thereby the inputted image is judged as “good”. The node
size of input layer is 227 227 3 for 227 227 pixel RGB image. The output
layer consists of two nodes.
The convolution layers (conv1–conv5) and fully connected layers (fc6 and fc7) are
the original AlexNet part [6] which are pre-trained with a massive number of image
data. We only attached fc8 and the soft-max layer with the original AlexNet, where fc8
nodes are connected with all fc7 nodes.
Fig. 3. Schematic of present system: the welding joint part is extracted in square by human
hand. CNN (AlexNet) is utilized to judge the welding quality.
3 Experiment
As shown in Fig. 4, the image data were extracted by hand using mouse and labeled
“good” and “bad”, respectively.
824 S. Kato et al.
Fig. 4. Image data extraction: (a) “good” plate passed a test for deserving certification. The
square welding parts are extracted by human hand; (b) likewise “bad” images are extracted.
“bad” plate did not pass the test.
Figure 5 shows all image data of “good” and “bad”. These are used to evaluate
performance of CNN in Fig. 3.
Fig. 5. Image data to validate CNN: (a) all good image data; (b) all bad image data.
The image data shown in Fig. 5 are numbered by “good” or “bad” as shown in
Table 1.
Fundamental Study on Evaluation System of Beginner’s Welding 825
In order to validate the present CNN in Fig. 3, we carried out transfer learning [7]
using AlexNet. Since we have only 60 (good:30, bad:30) data, we performed cross-
validation [8, 9]. The 6-fold cross-validation in Fig. 6 was carried out.
Table 2 enumerates the conditions for transfer learning of CNN. We employed the
Neural Network Toolbox in MATLAB developed by MathWorks [10].
The validation result is shown in Table 3. The mean of the accuracies in Data Sets
(1)–(6) was 80%. This value is higher than the probability of random choice of “good”
or “bad”.
826 S. Kato et al.
4 Conclusion
The present paper addressed the welding evaluation using CNN. We prepared the
pictures of metal plates welded by beginners. As the beginning task, we made small
square welding image data which is extracted using mouse from the welding plate
pictures. The image data is inputted to the CNN. The image data were divided into two
categories. The one was the “good” welding image (Fig. 5(a)), the other was “bad”
welding image (Fig. 5(b)). The image data was inputted to CNN which classifies the
images to “good” or “bad”. We confirmed the CNN worked well in some cases. In
order to improve the accuracy of the CNN, we will carry out experiment with much
more data. In the future, we will realize an automatic evaluation system using R-CNN
(Region-CNN) which can find the welding part automatically as illustrated in Fig. 7.
Considering the problem that the evaluations sometimes differ depending on the
individual referee’s subjectivity as drawn in Fig. 1(b) and also depending on regions or
countries, we should construct one sever connected with internet to evaluate the
welding works by only one criterion as shown in Fig. 8.
References
1. Niles, R.W., Jackson, C.E.: Weld thermal efficiency of the GTAW process. Weld. J. 54, 25–
32 (1975)
2. Asai, S., Ogawa, T., Takebayashi, H.: Visualization and digitation of welder skill for
education and training. Weld. World 56, 26–34 (2012)
3. Byrd, A.P., Stone, R.T., Anderson, R.G., Woltjer, K.: The use of virtual welding simulators
to evaluate experimental welders. Weld. J. 94(12), 389–395 (2015)
4. LeCun, T., et al.: Gradient-based learning applied to document recognition. Proc. IEEE 86
(11), 2278–2324 (1998)
5. Park, J.-K., An, W.-H., Kang, D.-J.: Convolutional neural network based surface inspection
system for non-patterned welding defects. Int. J. Precis. Eng. Manuf. 20(3), 363–374 (2019)
6. Krizhevsky, A., Sutskever, I., Hinton, G.E.: ImageNet classification with deep convolutional
neural networks. In: Proceedings of the 25th International Conference on Neural Information
Processing Systems (NIPS 2012), pp. 1097–1105 (2012)
7. Shin, H.C., et al.: Deep convolutional neural networks for computer-aided detection: CNN
architectures, dataset characteristics and transfer learning. IEEE Trans. Med. Imaging 35(5),
1285–1298 (2016)
8. Priddy, K.L., Keller, P.E.: Dealing with limited amounts of data. In: Artificial Neural
Networks - An Introduction, chap. 11, pp. 101–102. SPIE Press, Bellingham (2005)
9. Wong, T.-T.: Performance evaluation of classification algorithms by k-fold and leave-one-
out cross validation. Pattern Recogn. 48(9), 2839–2846 (2015)
10. MathWorks, Transfer Learning Using AlexNet. https://www.mathworks.com/help/
deeplearning/examples/transfer-learning-using-alexnet.html?lang=en. Accessed 14 June
2019
Building an Early Warning Model
for Detecting Environmental Pollution
of Wastewater in Industrial Zones
Abstract. In this paper, we present two soft computing techniques, which are
support vector regression (SVR) and fuzzy logic, to build an early warning
model for detecting environmental pollution of waste-water in industrial zones.
To determine the proper number of inputs for the model, we use an algorithm to
find the embedding dimension space for a time series. Our proposed model,
which has a high accuracy and short training time, to helps waste-water pro-
cessing station operators take early action and avoid environmental pollution.
1 Introduction
2 Related Work
X
m
f ðx; wÞ ¼ wi gi ðxÞ þ b ð1Þ
i¼1
The accuracy of the estimate is evaluated by loss function Lðy; f ðx; wÞÞ. SVR uses a
loss function called epsilon – an insensitive loss function which proposed by Vapnik:
0 if jy f ðx; wÞj e
L¼ : ð2Þ
jy f ðx; wÞj otherwise
Building an Early Warning Model for Detecting Environmental Pollution 831
Thus, SVR is performs linear regression in multi dimension feature space using
function L and minimizing k w k2 for decreasing complexity of the model. This
problem can be solved by introducing slug variables fi and fi with i ¼ 1; . . .; n, to
measure the deviation of the training samples which lie outside of the epsilon range.
Therefore, SVR is minimized by the function below:
1 Xn
min k w k2 þ C ðfi þ fi Þ: ð3Þ
2 i¼1
with constraints:
8
< yi f ðxi ; wÞ e þ fi
f ðxi ; wÞ yi e þ fi : ð4Þ
:
fi ; fi [ 0 8 i ¼ 1; . . .; n
Applying the duality theorem for minimizing problems, we finally obtain the
function f ðxÞ:
P
nSV
f ðxÞ ¼ ðai ai Þ Kðxi ; xÞ þ b
i¼1 : ð5Þ
0 ai ; ai C
where: nSV is the number of support vectors, and Kðxi ; xÞ is the kernel function, which
can be defined as
X
m
Kðxi ; xÞ ¼ gj ðxi Þgj ðxÞ: ð6Þ
j¼i
In the next step we calculate the degree of given input-output pairs in different
regions, assign it to the region with maximum degree, and then form an IF – THEN
rule. For example, IN1 has a max degree 0.8 in region T2, IN2 has a max degree 0.5 in
region T5 and O has a max degree 0.9 in region T6. Hence, we form the rule: IF IN1 is
T2 AND IN2 is T5 THEN O is T6. Repeating this procedure for each input – output
pair gives a set of rules. To avoid conflict rule (two rules have same IF part but
different THEN part), we only accept the rule from the conflict group that has a
maximum degree. To do so we use table – lookup to present a fuzzy rule base. The
cells of the rule base are filled by the rules. If there is more than one rule on one cell of
the fuzzy rule base, then the rule that has the highest degree is used. The degree of the
rule is calculated by formula (7) below:
So far, we obtain the fuzzy rule base corresponding to all input-output pairs. The
next task is calculating output O when we have a new input sample IN1 and IN2. To do
so we first calculate the degree of output control of the k-th rule combined with the
fuzzy rule base corresponding to the new input IN1 and IN2 according to formula (8)
below:
where Ok denotes the output region of rule k, and Ijk denotes the input region of rule k
for the j-th component. Finally, we use the center average defuzzification formula to
determine the output.
Building an Early Warning Model for Detecting Environmental Pollution 833
P
N
lkOk Ok
k¼1
o¼ : ð9Þ
P
N
lkOk
k¼1
where Ok denotes the center value of region Ok and N is number of rule in the
combined fuzzy rule base.
For any vðkÞ we can find its nearest neighbor vðmÞ with distance DðdÞkm , increase
the dimension to d þ 1 to calculate DðdÞkm , and check expression (11) to determine if
the distance meets, which is then a false nearest neighbor.
DðdÞ Dðd þ 1Þkm
km
[ Dth ð11Þ
DðdÞkm
where Dth is the threshold. According to [16] the Dth lies in the range 10 to 50. In our
case we choose Dth to be 10. We repeat this procedure from d ¼ 1. After each iteration,
we increase d by 1 until the percent of false nearest neighbors is approaching zero or a
small value in case of increasing d but the percent of false nearest neighbor decreases
slowly or is unchanged.
Principal of our proposed method is illustrated by Fig. 6. First, we find the embedding
dimension space of time series data sðtÞ. Next, we form a training set from sðtÞ and
dimension space d. Then, we train the model built by fuzzy logic or SVR. Next, we test
the trained model using testing data and check the accuracy criterion. If it meets the
criterion then, we use the model for predicting future values. Otherwise, we change
model’s parameters and go back to the training model step.
834 N. N. Ba and R. R. Jorge
4 Simulation Results
To assess the performance of our proposal we use four time series data consisting of
PH, temperature, TSS and COD. These data sets are collected from 0 AM of 25th
February 2019 to 2 PM of 26th February 2019 with the sampling period set to five
minutes at the waste water processing station of Nittoku paper factory in the Kim Bang
district, Ha Nam province, Vietnam. The total data length is 451 points for each
parameter. We use the first 401 points as training set and use the remaining 50 points as
the test set.
With the PH parameter we find that the embedding dimension space is nine. This
means that we use nine points’ data from the past to predict one point in the future, or
the model has nine inputs and one output. Figure 7 shows prediction results by the
SVM model vs the fuzzy logic model. The mean square error of SVR is 0.000077.
While fuzzy logic is 0.0003.
For the temperature parameter, we found the embedding dimension space of the
time series is eleven. Figure 8 shows prediction results by the SVM model vs the fuzzy
logic model. The mean square error of SVR is 0.04, while fuzzy logic is 0.09.
For the TSS, we found the embedding dimension space of the time series is nine.
Figure 9 shows prediction results by the SVM model vs the fuzzy logic model. The
mean square error of SVR is 0.07, while fuzzy logic is 0.06.
For the COD, we found the embedding dimension space of the time series is five.
Figure 10 shows prediction results by the SVM model vs the fuzzy logic model. The
mean square error of SVR is 0.02, while fuzzy logic is 0.77.
Building an Early Warning Model for Detecting Environmental Pollution 835
5 Conclusions
In this paper, we present the fusing of a false nearest neighbor algorithm to find the
embedding dimension space for a time series, and we use fuzzy logic and SVR to build
a model for predicting the quality of waste water in industrial zones. We use the
dimension space as the number of inputs for the model. We use data collected from a
wastewater processing station to build and test the model. The experiments results
show that the SVR model obtains the results more accurately than the fuzzy model for
most of the case study data. With the exception of one TSS case, which was very noisy
then the fuzzy logic model gives better results than the SVR model because the fuzzy
logic model tolerates noise better than the SVR model. In addition, training the fuzzy
logic model requires less time than the SVR model because training the fuzzy logic
model only required using the training data set once, while training the SVR model
required the training data set several times. Therefore, we can apply the fuzzy logic
model for noisy, real time and least accurate parameters. Otherwise, we apply the SVR
model. However, the parameters for measuring the waste are affected by many dis-
turbances so the collected values contain a substantial amount of noise which caused
the embedding dimension space of the time series to be large. This value not only
affects the accuracy of the model but also affect the training time. In the future, we plan
to apply a Hilbert Huang Transform as an adaptive filter to denoise the collected time
series data before finding the embedding dimension space and building the model. This
work will decrease the model’s complexity and increase the accuracy prediction.
Acknowledgments. We would like to acknowledge the Hanoi University of Industry for sup-
porting our work.
Building an Early Warning Model for Detecting Environmental Pollution 837
References
1. According to Circular 24 of the Vietnamese Ministry of Natural Resources and
Environment: 24/2017/TT-BTNMT, 1st September 2017, Hanoi, Vietnam (2017)
2. Wang, Y.-F.: Predicting stock price using fuzzy grey prediction system. Expert Syst. Appl.
22, 33–39 (2002)
3. Liu, W.: Forecasting exchange rate change between USD and JPY by using dynamic
adaptive neuron fuzzy logic system. Asia Pac. Financ. Bank. Res. 2(2), 1–12 (2008)
4. Castillo, O., Melin, P.: Hybrid intelligent system for time series prediction using neural
networks, fuzzy logic, and fractal theory. IEEE Trans. Neural Netw. 13(6), 1395–1408
(2002)
5. Lanzhen, L., Tan, S.: The study on short-time wind speed prediction base on time-series
neural network algorithm. In: 2010 Asia-Pacific Power and Energy Engineering Conference
(APPEEC) (2010)
6. Thiang, Y.K.: Electrical load time series data forecasting using interval type 2 fuzzy logic
system. In: 2010 3rd International Conference on Computer Science and Information
Technology, vol. 5, pp. 527–531. IEEE (2010)
7. Hua, X., Zhang, D., Leung, S.C.: Exchange rate prediction through ANN based on kernel
regression. In: 2010 Third International Conference on Business Intelligence and Financial
Engineering, 13 August 2010, pp. 39–43. IEEE (2010)
8. Hanias, M.P., Curtis, P.G.: Time series prediction of dollar\euro exchange rate index. Int.
Res. J. Financ. Econ. 15, 232–239 (2008)
9. Liu, F.-Y.: Exchange rate based on wavelet and support vector regression. In: 2010 2nd
International Conference Advanced Computer Control (ICACC) (2010)
10. Iokibe, T., Murata, S., Koyama, M.: Prediction of foreign exchange rate by local fuzzy
reconstruction method. In: 1995 IEEE International Conference on Systems, Man and
Cybernetics. Intelligent Systems for the 21st Century, 22 October 1995, vol. 5, pp. 4051–
4054. IEEE (1995)
11. Božić, J., Vukotić, S., Babić, D.: Prediction of the RSD exchange rate by using wavelets and
neural networks. In: 2011 19th Telecommunications Forum (TELFOR) Proceedings of
Papers, 22 November 2011, pp. 703–706. IEEE (2011)
12. Liu, W.: Forecasting exchange rate change between USD and JPY using dynamic adaptive
neuron-fuzzy logic system. Asia Pac. J. Financ. Bank. Res. 2(2), 1–12 (2008)
13. Support Vector Regression – Data Mining Map. https://www.saedsayad.com/support_
vector_machine_reg.htm
14. Li, W.: Adaptive Fuzzy Systems and Control Design and Stability Analysis, pp. 65–69.
Prentice Hall International (1994, 2000)
15. Frank, R.J., Davey, N., Hunt, S.P.: Time series prediction and neural networks. J. Intell.
Robot. Syst. 31(1–3), 91–103 (2001)
16. Abarbanel, H.D., Brown, R., Sidorowich, J.J., Tsimring, L.S.: The analysis of observed
chaotic data in physical systems. Rev. Mod. Phys. 65(4), 1331 (1993)
A Robust Fully Correntropy–Based
Sparse Modeling Alternative
to Dictionary Learning
Carlos A. Loza(B)
1 Introduction
Sparse modeling refers to the mechanisms involved in the learning of a linear
generative model where the inputs are the result of sparse activations of selected
vectors from an overcomplete basis. Its rationale comes from principles of par-
simony where it is advantageous to represent a given phenomenon with as few
variables as possible. Sparse modeling has been particularly appealing to two
fields with (usually) different objectives and methodologies: statistics [2,4,18]
and signal processing [5,6,13]. In neuroscience, Olshausen and Field [15] paved
the way to what is currently known as dictionary learning—instead of using
a fixed off–the–shelf basis, the authors proposed a fully data–driven learning
scheme to estimate said basis, also known as dictionary.
In Image Processing and Computer Vision, sparse modeling is exploited for
denoising [7,16], inpainting [12], and demosaicking [11]. Most of these applica-
tions rely on K–SVD [1]—the well known dictionary learning technique that
exploits a block coordinate descent approach to reach a local stationary point of
a constrained optimization problem. Results are optimal under additive homo-
geneous Gaussian noise. Yet, if the underlying error deviates from normality, e.g.
in the presence of outliers in the form of missing pixels or impulsive noise, the
optimizers might introduce a bias.
Robust estimators are a principled scheme to deal with outliers in linear
regimes [3]. One variant of said techniques is based on Correntropy [9]—the
dependence measure that goes beyond Gaussian environments and their asso-
ciated criterion for maximum likelihood estimation: Minimum Squared Error
(MSE). Correntropy mimics induced metrics that are fully regulated via one
main hyperparameter; if said scale parameter is chosen properly, the induced
metric is robust against outliers. We harness such property to propose a novel
dictionary learning approach where MSE criteria of K–SVD are replaced by
robust metrics based on Correntropy. The result is Correntropy–based Dictio-
nary Learning, or CDL.
Likewise K-SVD, CDL exploits fast sparse code estimators, such as Orthog-
onal Matching Pursuit (OMP), and iterative Singular Value Decompositions
(SVD). Wang et al. proposed a Correntropy variant of OMP known as CMP
[20] while Loza and Principe devised CK–SVD, a robust alternative to MSE–
based SVD [10]. In the current work, we combine both approaches in a fully
robust Correntropy–based sparse modeling framework for linear generative mod-
els. Synthetic data and image denoising under non–homogeneous impulsive noise
confirm the robustness and sparseness of the solutions in addition to their supe-
riority over K–SVD. The rest of the paper is organized as follows: Sect. 2 details
the problem of robust dictionary learning and the proposed solutions. Section 3
summarizes the results, and, lastly, Sect. 4 concludes the paper and mentions
potential further work.
where xi is the sparse code corresponding to the yi entry and ||·||F stands for the
Frobenius norm. The performance surface in Eq. (2) is non–convex; hence, typ-
ical greedy techniques are adopted instead. In this case, K–SVD [1] generalizes
k–means by alternating between finding sparse codes, i.e. distributed represen-
tations of the inputs, and dictionary update in the form of SVD routines in a
840 C. A. Loza
where gσ is the Gaussian kernel gσ (t) = exp(−t2 /2σ 2 ) and σ, the kernel band-
width, modulates the norm Correntropy will mimic (also known as CIM or Cor-
rentropy Induced Metric). The metric ranges from the 0 –pseudonorm for small
σ, 1 –norm for increasing σ and 2 –norm (defaults to MSE criterion) for large
bandwidths. Hence, a proper choice of σ is able to incorporate robustness into
the learning framework.
Correntropy Matching Pursuit (CMP) [20] replaces the MSE criterion of
Eq. (4) by the robust CIM criterion, i.e.:
n
where Lσ (e) = n1 i=1 σ 2 (1 − gσ (e[i])) is the simplified version of the CIM sam-
ple estimator. The non–convex nature of the CIM demands for alternative opti-
mization techniques. As in [20], Half–Quadratic (HQ) optimization [14] yields
a local minimum of the cost function via iterative minimizations of a convex
enlarged parameter cost. The resulting adaptive σ hyperparameter, the weight
vector that assesses the nature of the inputs (e.g. outliers vs. inliers), the sparse
code for OMP iteration j, and the updated residue are estimated as:
2 12
(t+1) 1 (t+1)
σj = y − Dxj (7)
2n 2
(t+1) (t)
wj [i] = gσ y[i] − Dxj [i] , i = 1, 2, . . . , n (8)
2
(t+1)
xj = argmin (t+1)
(y − Dxj )
Wj (9)
x∈IRK ,supp(x)⊂Λj 2
rj = Wj (y − Dxj ) (10)
where Ek is the error when the k-th atom is removed. The updated vector is
n×m
estimated via SVD of ER k ∈ IR , which is a restricted version of the error
matrix that only preserves the columns of Ek currently active for dk .
842 C. A. Loza
SVD is optimal only under the MSE criterion. Correntropy K–SVD or CK–
SVD [10] replaces the SVD routines by robust alternatives that exploit the prin-
ciple of Maximum Correntropy Criterion (MCC) [9]. Specifically, let ei be the
i–th column of ERk and vi its low dimensional representation linearly mapped
via the orthonormal projection matrix U. The goal is to maximize a novel cost
function J(U) that mitigates the effect of outliers during said projection:
m
2
R
× (m)−1/5
(t)
σk = 1.06 × min σE , (13)
1.34
(t+1)
pk [i] = −g eTi ei − eTi (U(t) )(U(t) )T ei (14)
= argmax Tr UT ER (ER T
(t+1) (t+1)
Uk k Pk k) U (15)
U
(t) (t)
where t is the HQ iteration and Pk is the diagonal matrix version of pk . Partic-
ularly, Eq. (13) uses Silverman’s rule [17] to estimate the kernel bandwidth adap-
tively where σE is the standard deviation of the sequence ||ei − U(t) (U(t) )T ei ||2
and R is its interquartile range. Equation (15) is solved via classic SVD solvers
where the updated atom is the eigenvector corresponding to the largest eigen-
value. In short, CK–SVD is a weighted PCA implementation that downplays the
influence of outliers during the dictionary update stage of K–SVD.
in the estimated dictionary D. Thus, CDL is able to deal with both types of
outliers in a principled robust manner without any extra hyperparameters.
For completeness, we also propose a variant of K–SVD that uses CMP and
MSE–based dictionary update: CMPDL, and reintroduce C–KSVD [10], a com-
bination between OMP and Correntropy–based Dictionary Update. In this way,
it is possible to assess which K–SVD stage is more sensitive to outliers and
non–Gaussian scenarios.
3 Results
The first set of results focuses on robust sparse modeling with access to ground
truth. The dictionary, D ∈ IR20×50 , is generated by sampling a zero–mean uni-
form distribution with support [−1, 1]. Each column is normalized to a unit 2 –
norm. Sparse codes are generated from a uniform random variable with support
[0, 1] (T0 = 3).
Then, 1500 20–dimensional samples are produced via linear combinations
between sparse codes and dictionary. These samples are then affected by noise.
We compare the performance of K–SVD, CMPDL, CK–SVD, and CDL by com-
puting the inner product between atoms from estimated and generating dictio-
naries. Each dictionary learning technique alternates 40 times between sparse
coding and dictionary update. The expected sparsity support is set to L = 3.
The first type of noise is additive Gaussian. Its SNR is varied from 0 to
20 dB. Table 1 details the performance of each algorithm as the average of 50
independent runs for each SNR case (upper rows of each cell). The table also
summarizes the same metrics under additive Laplacian noise (lower rows of each
cell). It is evident that the robust variants outperform K–SVD, with CDL being
superior for most cases. The experiments with low SNR emphasize the fact that
Correntropy–based variants are able to properly handle errors with long tail
distributions.
The third type of noise is non–homogeneous in the form of missing entries in
the observation vectors. In particular, a percentage of the components from each
observation vector is set to zero. This rate is varied from 0 to 50%. Figure 1 sum-
marizes the average of 50 independent runs for each sparse modeling technique.
The Correntropy–based variants consistently outperform K–SVD while CDL is
superior in aggressive noise environments. The degradation of CDL under no
missing pixels is worth investigating as further work.
The next set of results deals with image denoising. The approach proposed in
[7] is exploited here. Essentially, the denoising mechanism invokes sparse model-
ing over local patches of the noisy image. Each patch is sparsely encoded with a
constraint on the residue norm equal to 1.15σ, where σ is the standard deviation
of homogeneous additive Gaussian noise. Then, local averaging over overlapping
patches and global weighted averaging with the noisy image renders the esti-
mated denoised example (Lagrange multiplier, λ, is set equal to 30 according to
[7]).
844 C. A. Loza
Table 1. Average inner product between estimated and ground truth atoms under
additive Gaussian (upper rows of cells) and Laplacian (lower rows of cells) noise. Best
results are marked bold.
SNR Algorithm
(dB) K–SVD CMPDL CK–SVD CDL
0 0.67 0.71 0.68 0.72
0.67 0.71 0.69 0.75
5 0.87 0.91 0.91 0.94
0.86 0.91 0.92 0.95
10 0.98 0.98 0.99 0.99
0.98 0.97 0.99 0.99
15 0.98 0.99 0.99 0.99
0.98 0.98 0.99 0.99
1
Average inner product
0.9
0.8
0.7 K-SVD
CMPDL
0.6 CK-SVD
CDL
0.5
0 10 20 30 40 50
Percentage of missing entries
Fig. 1. Average inner product between estimated and ground truth atoms under miss-
ing entries type of noise.
For the current work, we choose σ = 20. Our framework is tested under a
non–linear transformation in the form of impulsive noise, i.e. a percentage of
affected pixels will be saturated to either 0 or 255 according to additive Gaus-
sian noise with high power (σimp = 100 for this case). The rate of affected
pixels is varied from 0 to 40%. In short, the original image goes first through
an additive linear transformation with σ = 20 and then through a non–linear,
inhomogeneous transform with σimp = 100. All possible overlapping vectorized
8 × 8 pixel patches constitute the observations of the sparse model. The initial
dictionary D ∈ IR64×256 is chosen as the overcomplete Discrete Cosine Trans-
form (DCT) basis. Lastly as suggested in [7], 10 alternating optimizations of the
block coordinate descent routine are ran for each case.
Table 2 details the average PSNR over 5 independent runs for each noise rate
and five different well known gray–scale images of size 512 × 512. In general,
CMPDL and CDL deliver the best performances while CK–SVD remains close
to the K–SVD baseline. In particular, CMPDL and CDL are fairly consistent
A Robust Fully Correntropy–Based Sparse Modeling 845
for a wide range of affected pixels. CMP seems to be the deciding factor here—
it filters the inlier samples to the subsequent atom update stage, and, hence,
reduces the estimation bias. On the other hand, OMP overrepresents the inputs
and passes noisy examples to the K–SVD or CK–SVD dictionary update rou-
tines. This is confirmed in Table 3 where the average number of coefficients (per
8 × 8 block) in the sparse decompositions are compared. CMP–based variants
clearly render a truly sparse representation, while other flavors overrepresent the
input by encoding residual noise until the constraint on the residue norm is met.
Therefore, Correntropy is more advantageous in the sparse coding subroutine
than in the SVD solver. The details regarding the slight difference in PSNR
between CMPDL and CDL are left as further work. Lastly, Fig. 2 illustrates the
denoising results for a case of 40% rate of outlier pixels.
Outlier Algorithm
% K–SVD CMPDL CK–SVD CDL
0 0.85 0.45 1.17 0.46
10 3.72 0.96 3.96 0.96
20 7.98 1.00 8.11 1.00
30 11.12 1.04 13.47 1.05
40 13.07 1.19 17.99 1.32
846 C. A. Loza
Fig. 2. Example of the denoising results for the image “Lena”. 40% of pixels are affected
by impulsive noise.
4 Conclusion
We proposed a robust sparse modeling framework where Correntropy is exploited
to reformulate the cost functions of both sparse coding and dictionary update
stages of K–SVD. Experiments with synthetic data and image denoising con-
firm the robustness of the estimators and their potential in applications prone
to outliers where sparsity is advantageous. In particular, Correntropy seemed to
be more decisive when used in the sparse coding subroutine of K–SVD. Further
work will involve in–depth analysis of the heuristics utilized to select the ker-
nel widths and their connection to robust linear modeling [3]. In addition, the
denoising mechanism proposed in [7] states empirical optimal hyperparameters
for MSE–based cases. We believe different sets of hyperparameters might yield
distinct stationary points for Correntropy–based optimizations that are worth
investigating.
References
1. Aharon, M., Elad, M., Bruckstein, A., et al.: K-SVD: an algorithm for design-
ing overcomplete dictionaries for sparse representation. IEEE Trans. Sig. Process.
54(11), 4311 (2006)
2. Akaike, H.: Information theory and an extension of the maximum likelihood prin-
ciple. In: Selected Papers of Hirotugu Akaike, pp. 199–213. Springer (1998)
3. Andersen, R.: Modern Methods for Robust Regression, vol. 152. Sage (2008)
4. Barron, A., Rissanen, J., Yu, B.: The minimum description length principle in
coding and modeling. IEEE Trans. Inf. Theor. 44(6), 2743–2760 (1998)
A Robust Fully Correntropy–Based Sparse Modeling 847
5. Candès, E.J., Romberg, J., Tao, T.: Robust uncertainty principles: exact signal
reconstruction from highly incomplete frequency information. IEEE Trans. Inf.
Theor. 52(2), 489–509 (2006)
6. Donoho, D.L., Johnstone, J.M.: Ideal spatial adaptation by wavelet shrinkage.
Biometrika 81(3), 425–455 (1994)
7. Elad, M., Aharon, M.: Image denoising via sparse and redundant representations
over learned dictionaries. IEEE Trans. Image Process. 15(12), 3736–3745 (2006)
8. He, R., Hu, B.G., Zheng, W.S., Kong, X.W.: Robust principal component analysis
based on maximum correntropy criterion. IEEE Trans. Image Process. 20(6), 1485–
1494 (2011)
9. Liu, W., Pokharel, P.P., Prı́ncipe, J.C.: Correntropy: properties and applications
in non-gaussian signal processing. IEEE Trans. Sig. Process. 55(11), 5286–5298
(2007)
10. Loza, C.A., Principe, J.C.: A robust maximum correntropy criterion for dictionary
learning. In: 2016 IEEE 26th International Workshop on Machine Learning for
Signal Processing (MLSP), pp. 1–6. IEEE (2016)
11. Mairal, J., Bach, F., Ponce, J., Sapiro, G., Zisserman, A.: Non-local sparse models
for image restoration. In: 2009 IEEE 12th International Conference on Computer
Vision, pp. 2272–2279. IEEE (2009)
12. Mairal, J., Elad, M., Sapiro, G.: Sparse representation for color image restoration.
IEEE Trans. Image Process. 17(1), 53–69 (2008)
13. Mallat, S., Zhang, Z.: Matching pursuit with time-frequency dictionaries. Techni-
cal report, Courant Institute of Mathematical Sciences, New York, United States
(1993)
14. Nikolova, M., Ng, M.K.: Analysis of half-quadratic minimization methods for signal
and image recovery. SIAM J. Sci. Comput. 27(3), 937–966 (2005)
15. Olshausen, B.A., Field, D.J.: Emergence of simple-cell receptive field properties by
learning a sparse code for natural images. Nature 381(6583), 607 (1996)
16. Rudin, L.I., Osher, S., Fatemi, E.: Nonlinear total variation based noise removal
algorithms. Physica D: Nonlinear Phenom. 60(1–4), 259–268 (1992)
17. Silverman, B.W.: Density Estimation for Statistics and Data Analysis. Routledge
(2018)
18. Tibshirani, R.: Regression shrinkage and selection via the lasso. J. Roy. Stat. Soc.
Series B (Methodol.) 58(1), 267–288 (1996)
19. Tropp, J.A., Gilbert, A.C.: Signal recovery from random measurements via orthog-
onal matching pursuit. IEEE Trans. Inf. Theor. 53(12), 4655–4666 (2007)
20. Wang, Y., Tang, Y.Y., Li, L.: Correntropy matching pursuit with application to
robust digit and face recognition. IEEE Trans. Cybern. 47(6), 1354–1366 (2017)
Labeling Activities Acquired
by a Low-Accuracy EEG Device
1 Introduction
Devices which measure and record biometric data have been used on various
fields for some time; fingerprint scanners in security systems, polygraphs for lie
detectors, or thermometers on simple medical examinations. Instruments of high
precision and accuracy are very expensive and not quite accessible for the pub-
lic, however in recent years several new devices have appeared on the market
which made it possible for virtually everyone to perform these measurements
(e.g. leap count, EEG, heart rate monitoring, EKG) with a measurement pre-
cision far lower than their clinical counterparts. Dealing with this low-accuracy
data means a great challenge for developers who aim at creating everyday appli-
cations. In these cases one of the most significant factors is the applied signal-
and data processing model. Preprocessing the data is crucial, the signal needs to
be quantified according to how it is intended to be used - windowing is appro-
priate in our case, also as these signals tend to be very noisy the task of finding
and filtering unwanted artifacts out is essential in further processing. Then the
preprocessed signal can be inspected to decide which features can describe the
data in a meaningful way. If proper features have been found, it opens the way
for supervised and unsupervised machine learning methods to be utilized. Such
a processing pipeline can be efficiently used for a range of purposes, from ana-
lyzing historical EEG data to real-time classification of user-actions. It is worth
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 848–859, 2020.
https://doi.org/10.1007/978-3-030-33509-0_80
Labeling Activities Acquired by a Low-Accuracy EEG Device 849
mentioning that deep learning techniques are widely used when working with
EEG data however it is usually very hard if not impossible to interpret those
results due to the black box nature of those neural networks.
Since in the future our intention is to test supervised machine learning algo-
rithms on our EEG data set, in this paper our goal is to find a way to label
our data set as accurately as possible. To that end we take advantage of two
approaches; a statistical analysis based on signal amplitudes and one based on
clustering. The latter one might shed some light on how EEG signals from dif-
ferent activities or people can be distinguished from one another. We also end
up with at least a partial answer to whether a low-quality commercial EEG
device, specifically the Emotiv Epoc+ is capable of capturing biological signals
which researchers can consider meaningful. Two data sets are subjected to our
research, one containing less activities from one user, the second containing more
activities from multiple users.
The remaining part of the paper is organized as follows: In Sect. 2 we review
literature which pursued somewhat similar goals however they placed accent on
different aspects. A detailed description of data collection follows in Sect. 3. In
Sect. 4 the steps of the method are explained, namely channel selection from
the raw data, feature extraction of those time frames and semi-labeling feature
vectors. Description of hyper parameters of the clustering and performance eval-
uation is described in Sect. 5. Section 6 concludes the paper.
2 Related Work
could turn on and off a light bulb with only winking, triggering a servomotor,
etc.
However we must make a remark that strictly talking, these are not EEG
signals, but in fact EMG signals; the waves are indicating muscular activities
of the face and scalp instead of electric potential changes caused by firing of
neurons in the brain. It is a very good start though: first identifying EMG
signals thus giving more information to distinguish between EMG and EEG
signals. Specifically winking detection has been dealt with in [11] with a much
more sophisticated device. Classification was achieved with a back-propagation
and a cascade-propagation feed-forward neural network.
Vijayendra et al. [5] used the same device as well and also an other model
of the same manufacturer with only 5 sensors. They managed to extract real
EEG signals - according to their paper, the subjects did not really move their
arms, only imagined doing so - from the recordings with the utilization of the
Discrete Wavelet Transform technique. For classification they used an artificial
neural network. They managed to get a 98% real-time classification rate. They
even managed to control a UAV by generating the appropriate EEG patterns.
In order to be able to remove EMG artifacts from the intended-EEG signals,
in this paper we intend to identify those EMG signals in time-series recorded by
the Emotiv Epoc+ device.
3 Data Collection
Before a clinical examination in a hospital the electrodes are secured to the
inside of a rubber cap. Its flexibility then ensures the electrodes to be in optimal
touch with the scalp. The placement of the electrodes is standardized according
to the 10–20 [6] international system (the 10 and 20 numbers correspond to the
distance between electrodes in means of scalp diameter ratio). The touching side
of the electrodes are also being covered with a gel which improves sensitivity by
enhancing conductivity.
In contrast to clinical grade devices, data collection with the Emotiv Epoc+
device is a tricky and more difficult task. Electrodes on the Emotiv Epoc+ are
connected to the base of the instrument by plastic arms. This reduces flexibility
and portability so as a result there are cases when one or more electrodes do
not stand a chance of even touching with the skin due to varying skull shapes of
humans. There is also the question of whether this configuration will sufficiently
preserve 10–20 placement however it is not further discussed in this work. The
sensing side of the Epoc’s electrodes are covered with a foam-like material, their
purpose is to be covered with a few drops of some saline agent (e.g. contact
lenses solution) for the same reason as the gel in the case of clinical devices.
After placing the device on the user’s head with the victorious feeling of
having managed to get every curl of hair out of the way of the electrodes, the
software with which the device had come indicates how well we managed to place
the electrodes. The recording can be started and stopped manually, requiring
human interaction. The problem with this approach is that signals of moving
Labeling Activities Acquired by a Low-Accuracy EEG Device 851
the hand, the finger, or thinking about hitting a button, not to mention aiming,
necessarily add noise (at least in that sense) to the recorded signals. Therefore
recording signals needs two users. To aid future visual analysis of the signals
we recorded activities with distinctive borders; about 2 s of staying idle between
each activity. These activities consisted of winking with the right eye, winking
with the left eye, blinking, and making a pop sound with the mouth (to be
precise, as Donkey made in Shrek). The reason for the choice of the latter was
to record something more complex in means of the number of muscles used to
perform it.
In the first stage of experimentation the above mentioned activities were
recorded from one user, each activity 10 times. The structure of a recording
followed the 5 s long scheme | − −|a| − −| with a being the activity. That leaves
us with 50 measurements.
In the second stage we involved four additional users and recorded a couple
of more activities, that is: raising right hand, raising left hand, raising right foot,
raising left foot. All of these were recorded both sitting and standing, 10 times
each. The resulting data consists of 12 activities recorded from 5 people, 10 times
each. The resulting recordings had the structure | − −|a| − −|a| − −|...| − −|, so
2 s of being idle, 1 s for the activity, 2 s being idle again, etc. All files contain 10
of the same activity records from 1 user, which is about 32 s.
We also note that data is stored in EDF files, which is a format usually used
to store multi-channel biological and physical signals. To add an other important
note; after taking a closer look to the recorded files it turned out that some of
them were practically unusable due to the amount of noise. Therefore we filtered
out these measurements and worked without them in this study.1
4 Methodology
1
Our data set will be made publicly available after publication so anyone can replicate
the same algorithm or try new ones.
852 Á. Rudas and S. Laki
window through the signals. These time frames are basically numerical matri-
ces, so a variety of feature extraction methods can be applied. It must be chosen
very carefully as the intended results are vectors such that corresponding time
frames that belong to the same activity should be closer to each other in some
metric than to time frames from other activities.
files for each 5 s long measurements. With a sampling rate of 128 Hz the files
would have 577 rows (or 57 after downsampling). Feature vector fi ∈ R(nch ·ws)
where wi ∈ Rnch ×ws and our data set of windows D = [w0 , w1 , . . . , wnw ] with
nw being the number of windows (time frames), ws being the window size (64
in our case), and the number of channels nch (14 in our case).
In order to extract features which store information about how neighboring
time frames change compared to each other, we consider the feature tripleLong.
For each time frame we put together the long features from the preceding, the
actual, and the succeeding frame. Considering files from the smaller data set with
usable signals we get about 200 feature vectors with 2688 components in each
one. Since the bigger data set contains files of 32 s and 10 activities per activity
type per user, without a couple of files which contained too noisy signals we end
up with about 2400 feature vectors with the same number of components.
The problem we face at this point is the size of the problem space, namely
working with 896 and 2688 dimensional vectors which greatly taints scalability.
To reduce that without losing too much information we perform a Principal
Component Analysis. That way we can rearrange the vectors such that the
more information a component carries the lower it’s dimension number would
be. After this rearrangement we can make a cut in a way that we still keep 99%
of variance in the data.
Most clustering algorithms use some kind of distance definition, and since
we need to calculate those distances a lot of times, and the calculation time
greatly depends on the size of those vectors, reducing it is essential in acquiring
computation times that make it possible to work with our data.
Since we were dealing with usually 6–10 dimensional vectors after the PCA,
using Euclidean distance seemed an obvious choice.
4.3 Semi-labeling
Since for each frame we know its file of origin and for each file we know
which activity it belongs to, we can separate the time frames only by assigning
the labels idle and some activity, and then linking the real labels to the some
activity windows according to the files they come from.
When we are left only with windows containing activities we can find a
feature, apply a clustering method, create a confusion matrix, and then link the
clusters to activities according to the matrix.
As for the first step, distinguishing between idle and some activity windows
is not an easy task due to the amount of noise our device suffers. We acquired
fair - in a sense that it correlates well with our expectations based on visual
observation - results using a very simple statistical model (Fig. 2). Based on
the single multidimensional points in the time series we determined a threshold
with respect to standard deviation of the amplitudes. Above this threshold these
single points could be labeled, so that after the time frames had been created
they could be labeled as well based on point-labels and their occurrences in that
time frame.
A possible augmentation step before thresholding is to take the Fourier-
transform of the windows, filter for desired frequency bands (beta and gamma
in our case, 16–31 Hz and greater than 32 Hz, respectively [8]) and transforming
it back to time-domain, then continue with this filtered signal.
1500
1000
500
−500
−1000
−1500
0 10000 20000 30000 40000 50000 60000 70000
Data points
0.4
4
0.3
2 0.2
10 20 30 40 50 60 10 20 30 40 50 60
Number of clusters Number of clusters
(a) Inertia for all users (b) Silhouette and F-score for
all users
Fig. 4. Inertia, silhouette, and F-scores for all users with k ranging from 12 to 60.
Using the derived parameter values K-means has been performed with k
values ranging from 12 to 60, both on the whole data set and individual-by-
individual. Results show that clustering quality on the whole data set is far lower
with respect to F-score; the maximum is around 0.4 while individually it gets
between 0.7 and 0.9 (Figs. 4 and 5). The decreasing value of silhouette is easily
explainable as more and more clusters would be linked to the same activities, it
is expected that they get less and less separated in the feature space on average.
Also it is pretty intuitive that average inertia is getting lower as clusters become
858 Á. Rudas and S. Laki
smaller and more compact but the actual quantities are not easily explainable
as it is not a normalized measure. Although it might prove a good measure in
the future if other clustering methods will be tested on the data set with the
same hyper-parameters.
3 0.6 silhouette
Fscore
2
0.4
1
10 20 30 40 50 60 10 20 30 40 50 60
Number of clusters Number of clusters
Fig. 5. Inertia, silhouette, and F-scores for user 5 with k ranging from 12 to 60.
6 Conclusion
This paper introduced a hybrid method for labeling feature vectors derived from
time frames which were acquired from multi-channel EEG time series. This step
is essential for producing a data set which is ready to be processed by a super-
vised machine learning model. First step of the method is distinguishing between
idle time frames and frames containing some activity using a signal amplitude
based statistical method while the second step is clustering activity time frames
based on the tripleLong feature, using Fourier coefficients, but not filtering for
specific frequency bands. According to our findings the optimal value for k in the
K-means clustering is around 30–36. We also conclude that the method seems
efficient on an individual scale as results on the data set containing recordings
of every user are way below the individual results. F-score of clustering ended
up around 0.7–0.9 for individuals. Working with the Emotiv Epoc+ device has
been a very educational experience. While it is probably not capable of captur-
ing really sophisticated EEG signals it still manages to produce signals which
correlate with the user’s facial and other muscle movements. With an appropri-
ate model in the background this device can perform well in a wide range of
applications which do not aim at exploiting high-quality EEG signals but relies
more on reactions of the user - this means facial movements while concentrat-
ing, smiling, laughing, and - as proven in this work - winking, blinking. Future
work will concentrate on exploring how supervised machine learning algorithms
perform with the labeled data set we acquired during our experimentation. It
would also be very interesting to see how the resulting EEG analysing pipeline
would perform on signals recorded by different commercial devices and also on
publicly available data sets containing clinical-quality EEG records.
Labeling Activities Acquired by a Low-Accuracy EEG Device 859
References
1. Pizzagalli, D.A., et al.: Electroencephalography and high-density electrophysiolog-
ical source localization. Handb. Psychophysiol. 3, 56–84 (2007)
2. Swartz, B.E.: The advantages of digital over analog recording techniques. Elec-
troencephalogr. Clin. Neurophysiol. 106(2), 113–117 (1998)
3. Roy, Y., Banville, H., Albuquerque, I., Gramfort, A., Falk, T.H., Faubert, J.: Deep
learning-based electroencephalography analysis: a systematic review. J. Neural
Eng. (2019)
4. Benitez, D.S., Toscano, S., Silva, A.: On the use of the Emotiv EPOC neuroheadset
as a low cost alternative for EEG signal acquisition. In: 2016 IEEE Colombian
Conference on Communications and Computing (COLCOM), pp. 1–6. IEEE (2016)
5. Vijayendra, A., Saksena, S.K., Vishwanath, R.M., Omkar, S.N.: A performance
study of 14-channel and 5-channel EEG systems for real-time control of unmanned
aerial vehicles (UAVs). In: 2018 Second IEEE International Conference on Robotic
Computing (IRC), pp. 183–188. IEEE (2018)
6. Jasper, H.A.: The ten-twenty system of the international federation. Electroen-
cephalogr. Clin. Neurophysiol. 10, 371–375 (1958)
7. Marieb, E.N., Hoehn, K.: Human Anatomy & Physiology. Pearson Education, Lon-
don (2007)
8. Deuschl, G., Eisen, A., et al.: Recommendations for the practice of clinical neuro-
physiology: guidelines of the International Federation of Clinical Neurophysiology.
Electroencephalogr. Clin. Neurophysiol. 52, 1–304 (1999)
9. Schafer, R.W., et al.: What is a Savitzky-Golay filter. IEEE Sig. Process. Mag.
28(4), 111–117 (2011)
10. Dawson, G.E., Fischer, K.W.: Human Behavior and the Developing Brain. Guilford
Press, New York (1994)
11. Chambayil, B., Singla, R., Jha, R.: EEG eye blink classification using neural net-
work. In: Proceedings of the World Congress on Engineering, vol. 1, pp. 2–5 (2010)
The 2nd International Workshop on
Business Intelligence and Distributed
Systems (BIDS-2019)
Data Sharing System Integrating Access
Control Based on Smart Contracts for
IoT
1 Introduction
Development of Internet leads to the connection of devices. With the growth
of communication and networking technologies, devices are more likely to con-
nect to each other. Devices connected to Internet fasten the growth of Internet of
Things (IoT) network. The idea of IoT can be taken as “network of devices, which
are connected to each other, through Internet”. The main purpose of connection
of devices is to share data, information or resources with other devices. IoT net-
work is integrated with the physical world, over Internet. Growing connection of
IoT devices extend the application of IoT network in all fields. Applications of
IoT network includes vehicular network, where cars are integrated with enter-
tainment, traffic and navigation system; home automation (i.e., smart homes),
health-care system (i.e., transfer health data), supply chain system (asset track-
ing, forecasting, vendor relations, connected fleets), security system (i.e., sensors,
buzzer connected) and many other [1]. Because of its wide range of applications,
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 863–874, 2020.
https://doi.org/10.1007/978-3-030-33509-0_81
864 T. Sultana et al.
IoT devices are connected globally. According to the Gartner report, the rate
of connected devices over Internet will grow up to 2.4 billion by 2020. Connec-
tion of devices require efficient management of IoT network. As vast usage of IoT
results in growing challenges in network. Some of the major issues are: IoT device
management, data confidentiality, authentication and access control, malicious
attacks, centralization, etc. [2]. As IoT network consists of sensitive data, there
might be some solutions for network safety and security. IoT network is neces-
sary to be protected from attacks, unauthorized access to data and inappropriate
data sharing [3]. For security and efficiency of IoT network, access management
and data sharing are considered as major aspects of network performance [4].
Several strategies are proposed to eliminate the issues that IoT network
encounters. IoT network is also integrated with cloud and fog, for efficient utiliza-
tion of network for resource constrained devices. Moreover, to achieve efficiency,
accuracy and speed in IoT data processing. Besides the storage and processing
advantages of network, cloud and fog also brings the latency, security and pri-
vacy issues [5]. The challenging tasks of IoT network are considered to be as:
data sharing and access control. There must be some strategies to manage access
control and data sharing of IoT network [6,7]. To eliminate the challenges in IoT
network, blockchain technology is intended to be an effective solution. Blockchain
based solutions are more effective, which provide data integrity, security, audit-
ing, fairness, authenticity, distribution [8].
1.1 Blockchain
Blockchain is an ingenious technology, conceptualized by Satoshi Nakamoto. The
idea of blockchain is given in 2008, via a white paper. Blockchain technology was
introduced for secure transaction of cryptocurrency, i.e., bitcoin. Blockchain is
also considered as an underlying technology for bitcoin. Bitcoin is the first cryp-
tocurrency, which is introduced to eliminate the idea of central administration.
It is also considered as an application of blockchain. Blockchain is a decentral-
ized network technology. It is also called distributed public ledger technology. All
transactions done in blockchain network are recorded in a ledger. Ledger is main-
tained in form of blocks. Blocks in blockchain network are ordered chronologi-
cally. The basic structure of blockchain is shown in Fig. 1. Blockchain is a peer-to-
peer (P2P) network technology, in which all nodes in network are interconnected.
To eliminate centralization, ledger is distributed and maintained by all nodes.
1.2 Motivation
A lot of work is done in literature for efficient utilization of IoT devices. Many
strategies are proposed for access management and data sharing in IoT network
using blockchain technology. Some of the works considered access control and
other focused only on sharing. The work in [1] is based on access control man-
agement. Smart contracts are used to ensure the trustworthiness of the system.
Furthermore, authors in [2] proposed an access control system in order to prevent
from single point failure and unauthorized access to the network. For efficient
data sharing, multiple strategies are proposed. Trust based sharing system is
proposed in [7]. In this system, data sharing is integrated with access control,
for authorized access. Permission levels are used for authorization of access.
sharing environment. However, the proposed strategy does not work well in all
sharing scenarios.
1.4 Contribution
Further sections are organized as follows. Section 2 describes the literature review
in detail. Section 3 gives whole understanding of proposed system model and its
work flow. Section 4 presents simulation results and reasoning of graphs. Section
5 provides the conclusion of the work.
2 Related Work
Several studies are presented in literature for access control management and
data sharing management in blockchain network.
The authors in [1] investigate the conflicts in access control systems in IoT.
To overcome the access control issue, authors proposed a smart contract based
access control system. The access control framework consists of multiple smart
contracts. The main goal is to achieve trustworthiness and validation of access
control. The validation is checked by the behavior of IoT device user in terms
of service requests to other users. The system is evaluated by providing the
case study using hardwares and softwares. The evaluation results show that the
system achieves better performance, by having less access time. However, in this
system IoT devices cannot directly interact with the system. Furthermore, the
time cost and overhead results does not match with real world IoT scenarios.
To further demonstrate the challenges in access management in IoT sys-
tem. [2] proposed a distributed IoT access management architecture. This work
aims to provide mobile, lightweight, scalable, concurrent, accessible, resilient
access control system. The system is compared with the state-of-art Lightweight
Machine to Machine (LwM2M) servers using WSN management hubs. The sys-
tem outperformed in terms of scalability, throughput rate, latency over tradi-
tional systems. However, the system does not perform well for the single man-
agement hub.
Access Control and Data Sharing 867
Traditional access control schemes are comprised of many issues such as:
security risks, centralization, access management complexity. To solve these chal-
lenges, [3] proposed an attribute based access control system for IoT. Blockchain
based decentralized system is proposed to issues like: single point failure problem,
data tampering issue. The performance of system is evaluated by using Proof of
Concept (PoC) mechanism. Through PoC, storage and computation overhead of
the system is examined. The IoT devices has less computational and communica-
tional overhead. The system also achieves the flexibility and future maintenance
and update. However, only some parts of consensus algorithms enhance the flex-
ibility of system and maintains the future management and updation.
In [4], blockchain consensus based user access strategy is proposed. The
authors investigate the data transmission and authenticity issues in data trans-
mission in wireless networks. A consensus based scheme is used to verify the
authenticity of the user and Channel State Information (CSI). The scheme also
intended to improve the efficiency of users. The CSI is authenticated for fraud
users, which intentionally use their CSI to get resources. CSI is encoded and
decoded by using the conventional Neural Network (NN). Simulations are done
by making a comparison of the proposed scheme with other algorithms. Results
show that proposed scheme enhanced the spectral efficiency. However, in this
scheme nodes are not such intelligent to perform several tasks simultaneously.
Multiple links and access in IoT network increased the issue of security and
privacy. Also the centralization problem in traditional IoT network brings chal-
lenges. For efficient and secure data management in IoT network, [5] proposed a
blockchain based cross chain framework. The framework is proposed for access
control. Multiple blockchains are also integrated with the framework. In this
work, the comparison between multiple blockchains is done. The results show
that integration of Fabric and IOTA is much efficient for IoT. The efficiency
of the system is tested virtually for throughput and latency. Security is also
achieved. However, the system does not guarantee the protection of user privacy
and user information.
Furthermore, to tackle the issues related to access control, privacy oriented
blockchain based key management system is proposed in [6]. Issues of third party
involvement and central authority are investigated. The main aim of the sys-
tem is to reduce latency, increase cross domain access. Blockchain technology is
used to bring decentralization. System performance is evaluated by simulations.
The interrelationship of parameters is also studied for testing performance. The
simulation results show that multi-blockchain structure improves system perfor-
mance and enhanced scalability. However, proposed scheme does not provides
full persistency of blockchain network.
The IoT data is considered as big data and the access management of this
data is a great challenge. To achieve trust, security and maximum access control,
multiple schemes are proposed in the literature. Also, there are storage issues,
which create overhead. Storage issues are also considered in different works.
To eliminate the storage issue, as well as security and access control issues, [7]
proposed an off-chain based sovereign blockchain system. In this work, the mon-
868 T. Sultana et al.
A blockchain based access control and data sharing system for IoT network is
proposed, which is being motivated from works in [1] and [10]. The proposed
system model is shown in Fig. 2.
Access Control and Data Sharing 869
ACC. ACC is the main smart contract. It is deployed to manage overall access
control of system. When subject wants to access data services of object. It sends
request for that service using blockchain network. The ACC contract executes
and manages all access management of the system. In the proposed system, only
one ACC is used. ACC manages the access control for each request.
870 T. Sultana et al.
RC. RC is used to manage the access control of IoT device. Its main role is to
register the peer or subject that sends the service request. RC maintains a table
called register table [1], for registration. The register table is shown in Table 1.
In the register table, the required information of the subject is stored, such as:
subject, object, resource, time etc. RC also verifies and authenticate the subject
through a register table.
– Access Authorized!
– Requests are Blocked!
– Static Check Failed!
– Misbehavior Detected!
– Static Check failed & Misbehavior Detected!
3.2 Misbehavior
Data permission levels are used, to ensure the trustworthiness of access control.
Permission levels are set according to the data sensitivity and the subject who
wants to access that data. Data permission is divided into four levels, which are
as follows:
In this section, simulations of proposed system are discussed in detail. The pro-
posed system is evaluated for cost consumption in terms of gas usage. The gas
price of smart contracts and their functions is calculated.
Transaction cost: the transaction cost of the functions is shown in the graph.
The transaction of ACC functions: user register, permission level and data access
is about 89000, 25000 and 30000 gas units, respectively.
Execution cost: the execution cost of smart contract functions is also illus-
trated in graph. The transaction cost of functions: user register, permission level
and data access is 65000, 5000 and 9000 gas units, respectively.
Functions of RC: the cost consumption of RC functions is shown in Fig. 4.
RC manages the registration tasks of the subject in the network and maintains
a registration table for user information.
Transaction cost: transaction cost for RC functions: user registration and
registration table creation is about 133000 and 45000 gas units, respectively.
Execution cost: the execution cost of user registration function and registra-
tion table generation function is 130000 and 23000 gas units, respectively.
Functions of JC: the cost consumption of JC functions is illustrated in Fig. 5.
JC functions are: misbehavior calculation function and misbehavior judge func-
tion.
Transaction cost: the transaction cost of JC functions: misbehavior calcula-
tion and misbehavior judge is 80000 and 195000 gas units, respectively.
Execution cost: the execution cost for JC functions is also shown in bar graph.
The cost for misbehavior calculation and misbehavior judge function is about
60000 and 165000 gas units, respectively.
Access Control and Data Sharing 873
5 Conclusion
In this work, blockchain based system is utilized to overcome challenges, in IoT
access management and data sharing system. With the aid of blockchain and its
features, many benefits could be bring into IoT network.
This work is intended to provide trustworthiness, authorization, authentica-
tion in access management and data sharing. This work is consist of multiple
smart contracts. Which are used to maintain authentication, authentication, reg-
istration. Furthermore, misbehavior is also implemented, whenever the subject
sends too many access requests at a short period of time. For misbehavior, the
corresponding penalty is defined for subject. If there is no misbehavior occurs,
then permission levels are checked for subject to access services of object. In
addition to that, simulations are done to calculate cost consumption of smart
contracts used in ethereum platform. The cost of smart contracts and their func-
tions is calculated. Both transaction and execution cost is checked. Simulation
results show that the proposed system is cost effective.
References
1. Zhang, Y., Kasahara, S., Shen, Y., Jiang, X., Wan, J.: Smart contract-based access
control for the internet of things. IEEE Internet Things J. 6, 1594–1605 (2018)
2. Novo, O.: Scalable access management in IoT using blockchain: a performance
evaluation. IEEE Internet Things J. (2018)
3. Ding, S., Cao, J., Li, C., Fan, K., Li, H.: A novel attribute-based access control
scheme using blockchain for IoT. IEEE Access 7, 38431–38441 (2019)
4. Lin, D., Tang, Y.: Blockchain consensus based user access strategies in D2D net-
works for data-intensive applications. IEEE Access 6, 72683–72690 (2018)
5. Jiang, Y., Wang, C., Wang, Y., Gao, L.: A cross-chain solution to integrating
multiple blockchains for IoT data management. Sensors 19, 2042 (2019)
6. Ma, M., Shi, G., Li, F.: Privacy-oriented blockchain-based distributed key manage-
ment architecture for hierarchical access control in the IoT scenario. IEEE Access
7, 34045–34059 (2019)
7. Sifah, E.B., Xia, Q., Agyekum, K.O.-B.O., Amofa, S., Gao, J., Chen, R., Xia, H.,
Gee, J.C., Du, X., Guizani, M.: Chain-based big data access control infrastructure.
J. Supercomput. 74, 4945–4964 (2018)
8. Liu, C.H., Lin, Q., Wen, S.: Blockchain-enabled data collection and sharing for
industrial IoT with deep reinforcement learning. IEEE Trans. Ind. Inform. (2018)
9. Xu, Y., Wang, G.., Yang, J., Ren, J., Zhang, Y., Cheng, Z.: Towards secure network
computing services for lightweight clients using blockchain. Wirel. Commun. Mob.
Comput. (2018)
10. Zhang, G., Li, T., Li, Y., Hui, P., Jin, D.: Blockchain-based data sharing system
for AI-powered network operations. J. Commun. Inform. Netw. 3, 1–8 (2018)
Energy Trading Between Prosumer and
Consumer in P2P Network Using
Blockchain
1 Introduction
The existing power system is rapidly changing around the world. From many
years, these existing systems rely on fossil fuel, plant, oil, gas, and petroleum
to generate electricity and to deliver it to users. In today’s world, real-time
monitoring is important in the management of a smart grid. Renewable energy
is beneficial because there is no impact on surrounding it. There are many types
of renewable energy resources such as solar energy, wind energy, geothermal
energy, and biomass. People spend a lot of money on security and trust. In peer
to peer network analysis of security in energy trading is an important factor for
c Springer Nature Switzerland AG 2020
L. Barolli et al. (Eds.): 3PGCIC 2019, LNNS 96, pp. 875–886, 2020.
https://doi.org/10.1007/978-3-030-33509-0_82
876 M. U. Gurmani et al.
2 Motivation
People use the current trading system, which is not secure to maintain energy
trading. Nowaday’s technology is growing very fast. Furthermore, we need to
change the traditional energy trading system into secure decentralized technol-
ogy. In to-day’s world, on one hand energy demand is fastly increasing on the
other hand these energy demand are fulfilling by renewable energy. The benefit of
renewable energy production is to sell the surplus energy and to fulfill consumer
energy requirement. Blockchain technology provides a secure and tamper-proof
energy trading platform in which we can perform energy trading in secure envi-
ronment. Blockchain technology is a chain in which blocks are made and all the
transaction are stored in the blocks and all the transaction are not handling by a
single person. Blockchain is a distributed ledger anyone who participates in the
Energy Trading Between Prosumer and Consumer in P2P Network 877
Blockchain network easily access the ledger and further update the ledger and
distributed it to another node [4]. Each owner of the bitcoin the digital signature
on bitcoin and transfer it to the next person by public key [5].
3 Related Wok
3.1 Blockchain in Smart Grid
Existing system has some issue in privacy. Existing system relied on third-party.
In this work, security is major problem for nodes. In this work, the authors
proposed a decentralized and automated secure platform for renewable energy
trading in a smart home. Using Blockchain technology and ethereum smart con-
tract for making the system secure without any need of third-party involvement
in a microgrid. The simulation of this paper is implement in solidity language. In
this work, energy trading is limited between two nodes. In future work, we will
expand our system in which more and more nodes can participate. We check
the maximum scalability of our system [6]. In Existing system energy market
relies on third party and produce electricity with the help of oil and gas. On
the other hand prosumer has produced a surplus energy as they want to trade
this energy to consumer in secure platform without the intervention of third
party. In this work, authors proposed a secure and transparent energy trad-
ing platform. In proposed decentralized system, prosumer and consumer can
trade energy in autonomous system [7]. Nowadays’ energy demand is increasing
rapidly. In this work, the current regional energy production is not enough to ful-
fill the requirement of energy demand. Traditional energy system has face many
challenges. In this work, authors proposed a Blockchain based crypto-trading
project for energy trading. Using Blockchain technology software for exchanging
cryptocurrency to the renewable energy trading market. There are some issues
in the proposed system in terms of security concern and lack of immaturity
[8]. In current energy system Local energy market (LEM) faces challenging in
current energy trading system due to involvement of third-party. Local energy
generation cannot meet the local energy demand. LEM has trust on local agents
who have set energy prices, which is a major problem of local energy market.
In this work, the authors proposed a private Blockchain based technology for
local energy trading. Using private Blockchain, intelligent POW consensus we
provide a secure energy trading platform for the Local energy market with-
out any extra transaction. We provide bidding platform in which prosumer and
consumer can trade each other with their own energy bidding schemes. The
simulation of this work are performed in solidity language and ethereum plat-
form is used for making smart contract for security purpose. In future, there
will be a need for changing regulatory system for Blockchain based technology
in the Local energy market [9]. In the existing system, energy trading cost is
increased due to the involvement of third-party. Prosumers nodes have commu-
nication in limited area. Due to this restriction, they do not communicate with
each other. In this work, the authors proposed a Blockchain based decentralized
low-cost energy trading platform. Using Blockchain cost-effective technology, we
878 M. U. Gurmani et al.
The concept of intelligent vehicles remove the presence of driver working. Intelli-
gent vehicles consider a self-driving car, but nowadays security and trustfulness
is the main issue in communication between intelligent vehicles. In this work, the
authors proposed a Blockchain technology to tackle the security and trustfulness
issues. In this work, we divided Blockchain into two branching 1 local dynamic
Blockchain 2 Main Blockchain these are used to minimize the latency of mes-
sage are also used to manage the trustworthiness. In the case of incorporative
Blockchain, transparency is safety is less due to increasing the data [12]. There
has been a vast development in the field of (IoV), but facing a big challenge for
intelligent storing the data. Information security is key issues for the (IoV) The
existing centralized traditional system for the (IoV) face much hardness for quick
response on real time. With the existing (IoV) generates big data as a record
however, the problem is that storing these big data in a secure environment. In
this paper, the authors proposed a Blockchain technology for the (IoV). Using
the Blockchain technology storing the vehicle information data in the intelligent
system is maintained in a secure environment. In this work, Blockchain technol-
ogy is applied to achieve the better privacy and communication system between
vehicle-to-vehicle and vehicle to roadside units (RSU). In this paper, authors dis-
cuss the future work how a multiple Blockchain vehicle nodes can communicate
Energy Trading Between Prosumer and Consumer in P2P Network 879
with other vehicles and (RSU). In cellular network how we achieved reliability
of channels in which traffic is increasing among the vehicles [13].
blockchain technology different authors to resolve the different problems such as:
data rights management, healthcare problem, data securing and fair sharing of
data, data trading, node recovery problems, efficient energy trading, data rights
management, edge servers participation. In [17–25] authors, using blockchain
technology also have provided a solution for the above mentioned problem.
4 Problem Statement
All the current energy trading systems are centralized and all the procedures
rely on a single system which has many drawbacks. The record may be altered,
change and not be available on every time [2]. Security is a serious issue in the
centralized system anyone can enter the system and can alter the record. Peo-
ple spent a lot of money on a centralized system but does not achieve security.
In existing, the energy trading system is limited between two nodes [6]. The
attacker node continuously try to enter in the energy trading system and keep
on damaging the system [3]. To prevent from different attack, we apply the Proof
of Authority (POA) in our proposed scheme. However, nowadays, people con-
vert their trust in developed industries which provide a secure environment for
trading renewable energy. All these facilities are done by Blockchain technology.
In Blockchain technology, record cannot update until when 51% of people can
validate or authenticate the transaction record.
the transactions of nodes is stored in block and further blocks are increased
and making a Blockchain network. Every node validates the transaction and
distributes the copy of the transaction to all other nodes.
Fig. 6. Double auction time and No. of prosumer and consumer request
transaction in a ganache tool. When the transaction is done, the time is increased
or decreased according to the deploy smart contract and relies on values of
functions that we call during the transaction.
Figure 5 represents a graph and comparison of some entities values, where
x-axis takes a value of the prosumer energy rate bitcoin per/unit and y-axis
takes a value of no of the transaction of consumers. When the price of prosumer
energy is increased than the no of the transaction of consumer decreases. Because
consumers want to use a minimum cost of energy that they cannot afford the
high price of energy. The prosumers energy rate is associated with consumer
trust and consumers frequentely transactions. We can see in the Fig. 5 when the
prosumers energy rate is low, whereas the trust of consumer energy transaction
will increased.
Figure 6 represents a transaction execution time between prosumer and
consumer using a double auction process. When any transaction is done in
Blockchain, it takes some time to execute the transaction. When multiple con-
sumers send a request for the transaction to prosumer then response time is
increased to complete the execution. When more prosumers participate in the
double auction for energy supply then market competition will be increasing and
energy prices will also be decreased so, we have acheived the low cost of energy
trading.
7 Conclusion
In our proposed work, Blockchain technology is used for energy trading in renew-
able energy resources between prosumer and consumer in distributed peer to peer
network. Using Blockchain technology, we provide a secure platform for energy
trading. Where we check the efficiency of our system and analysis of market
cost competition. In this paper, we handle the privacy and transparency in dis-
tributed peer to peer network for limited energy trading environment. It is clear
Energy Trading Between Prosumer and Consumer in P2P Network 885
from our proposed idea that every node can participate in the double auction
process to perform a transaction. The important benefit of a double auction is
to give the facility to the consumer for a secure and optimal platform for energy
trading. The main contribution of this paper is to provide a secure energy envi-
ronment at low-cost energy as compared to the market. In future work, we will
expand our system for large scale market and will improve the further scalability
and efficiency of our system in a real experimental environment.
References
1. Aitzhan, N.Z., Svetinovic, D.: Security and privacy in decentralized energy trading
through multi-signatures, blockchain and anonymous messaging streams. IEEE
Trans. Dependable Secure Comput. 15(5), 840–852 (2016)
2. Karame, G.O., Androulaki, E.: Bitcoin and blockchain security: introduction. In:
Bitcoin and Blockchain Security, pp. 1–9. Artech House (2016)
3. Rahmadika, S., Ramdania, D.R., Harika, M.: Security analysis on the decentralized
energy trading system using blockchain technology. J. Online Inform. 3(1), 44–47
(2018)
4. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). http://bitcoin.
org/bitcoin.pdf
5. Narayan, P.: Building Blockchain Projects: Develop Real-time Dapps Using
Ethereum and Javascript. Packt Publishing Ltd., Birmingham-Mumbai (2017)
6. Kang, E.S., Pee, S.J., Song, J.G., Jang, J.W.: A blockchain-based energy trading
platform for smart homes in a microgrid. In: 2018 3rd International Conference on
Computer and Communication Systems (ICCCS), pp. 472–476. IEEE, April 2018
7. Pee, S.J., Kang, E.S., Song, J.G., Jang, J.W.: Blockchain based smart energy trad-
ing platform using smart contract. In: 2019 International Conference on Artifi-
cial Intelligence in Information and Communication (ICAIIC), pp. 322–325. IEEE,
February 2019
8. Mannaro, K., Pinna, A. Marchesi, M.: Crypto-trading: blockchain-oriented energy
market. In: 2017 AEIT International Annual Conference, pp. 1–5. IEEE, September
2017
9. Mengelkamp, E., Notheisen, B., Beer, C., Dauer, D., Weinhardt, C.: A blockchain-
based smart grid: towards sustainable local energy markets. Comput. Sci.-Res.
Dev. 33(1–2), 207–214 (2018)
10. Lombardi, F., Aniello, L., De Angelis, S., Margheri, A., Sassone, V.: A blockchain-
based infrastructure for reliable and cost-effective IoT-aided smart grids (2018)
11. Samuel, O., Javaid, N., Awais, M., Ahmed, Z., Imran, M., Guizani, M.: A
blockchain model for fair data sharing in deregulated smart grids
12. Singh, M., Kim, S.: Branch based blockchain technology in intelligent vehicle. Com-
put. Netw. 145, 219–231 (2018)
13. Jiang, T., Fang, H., Wang, H.: Blockchain-based internet of vehicles: distributed
network architecture and performance analysis. IEEE Internet Things J. (2018)
14. Lin, J., Shen, Z., Miao, C., Liu, S.: Using blockchain to build trusted lorawan
sharing server. Int. J. Crowd Sci. 1(3), 270–280 (2017)
15. Rosa, R., Rothenberg, C.E.: Blockchain-based decentralized applications for mul-
tiple administrative domain networking. IEEE Commun. Stand. Mag. 2(3), 29–37
(2018)
886 M. U. Gurmani et al.
16. Jia, B., Zhou, T., Li, W., Liu, Z., Zhang, J.: A blockchain-based location privacy
protection incentive mechanism in crowd sensing networks. Sensors 18(11), 3894
(2018)
17. Rehman, M., Javaid, N., Awais, M., Imran, M., Naseer, N.: Cloud based secure
service providing for IoTs using blockchain
18. Mateen, A., Javaid, N., Iqbal, S.: Towards energy efficient routing in blockchain
based underwater WSNs via recovering the void holes. MS Thesis, COMSATS
University Islamabad (CUI), Islamabad 44000, Pakistan, July 2019
19. Naz, M., Javaid, N., Iqbal, S.: Research based data rights management using
blockchain over ethereum network. MS Thesis, COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan (2019)
20. Javaid, A., Javaid, N., Imran, M., Ensuring analyzing and monetization of data
using data science and blockchain in loT devices. MS Thesis, COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan (2019)
21. Kazmi, N., Javaid, N., Imran, M.: Towards energy efficiency and trustfulness in
complex networks using data science techniques and blockchain. MS Thesis, COM-
SATS University Islamabad (CUI), Islamabad 44000, Pakistan (2019)
22. Zahid, M., Javaid, N., Babar, M.: Balancing electricity demand and supply in
smart grids using blockchain. MS Thesis, COMSATS University Islamabad (CUI),
Islamabad 44000, Pakistan (2019)
23. Noshad, Z., Javaid, N., Imran, M.: Analyzing and securing data using data science
and blockchain in smart networks. MS Thesis, COMSATS University Islamabad
(CUI), Islamabad 44000, Pakistan, 2019
24. Ali, I., Javaid, N., Iqbal, S.: An incentive mechanism for secure service provision-
ing for lightweight clients based on blockchain. MS Thesis, COMSATS University
Islamabad (CUI), Islamabad 44000, Pakistan (2019)
25. Jalees, R., Javaid, N., Iqbal, S.: Blockchain based node recovery scheme for wireless
sensor networks. MS Thesis, COMSATS University Islamabad (CUI), Islamabad
44000, Pakistan (2019)
Auto-Generating Examination Paper Based
on Genetic Algorithms
1 Introduction
results with luck factor. This paper presents a method of auto-generating examination
paper based on Genetic Algorithms, which can strictly control the various attributes of
the test paper, so as to achieve accurate quality control of the test paper, and make the
test results more comparable.
2 Genetic Algorithm
Genetic Algorithms (GA), which simulates Darwin’s theory of evolution and Mendel’s
theory of genetics to establish a stochastic total optimization method. The genetic
algorithm can automatically acquire and accumulate the knowledge of the searched
space during global search, so as to achieve efficient and parallel search effect, and it
can adaptively control the optimal solution of the search process.
The object of genetic algorithm is all the individuals in the digitized population, and
the stochastic technology is used to guide the spatial evolution to obtain the optimal
solution. Like the evolution of natural populations, digital populations also have
choices, intersections, and variations to maintain the diversity of the searched space.
The core content of genetic algorithm is composed of five elements: parameter coding,
initial population setting, fitness function design, genetic operation design and control
parameter setting.
According to the implementation process of genetic algorithm, test paper library, test
paper, test question and test question characteristics are mapped into population,
individual, chromosome and gene respectively. Then, according to the constraint
conditions, such as the total score, difficulty coefficient and so on, the test questions
matching the feature parameters are searched from the formed question library, thereby
extracting the optimal test question combination.
Auto-Generating Examination Paper Based on Genetic Algorithms 889
Coding
Select
Evolution
Cross
Variation
Chromosome : 9; 32; 123; 4j89; 129; 84; 42j. . .j90; 121; 43; 98
Where P represents the absolute value of the difference between the expected
difficulty coefficient and the actual. NP represents the expected difficulty coefficient of
the test paper, and its range is [0–1]. When NP > 0.8 test volume is expected to be
difficult, and NP < 0.2 test volume is expected to be very simple, k represents the total
number of questions in the test paper, i represents the i-th question, Pi takes the value
range [0–1], Pi represents the difficulty of the i-th question, ti represents the score of the
i-th question, and T represents the total score of the test paper, thereby calculate the
range of values of P [0–1]. The smaller the value of P, the closer the actual difficulty of
the test paper is to the expected difficulty, and the higher the quality of the test paper is.
(2) Exposure V Calculation
Pk Pk
vi ti svi
V¼ i
Pmi ð2Þ
T i svi
V represents the exposure degree of the test questions. It is calculated by the score
of the exposure test questions and the number of exposure times of the test questions.
i represents the order of questions, k represents the total number of questions in the test
paper, Vi represents whether the i-th question is used in other test papers, 0 means not
used, 1 means used, ti is the score of the i question, T represents the total score of the
test paper, svi represents the total number of times the i-th question has been used, and
m represents the total number of questions in the test question library. When all the
questions in the test question library are not used, V is 0. According to the expression,
the value of V can be deduced to [0–1]. The smaller the value of V, the lower the
exposure of the test paper and the higher the quality of the test paper.
(3) Fitness function expression
The fitness function is composed of difficulty coefficient and exposure, and its
value should be non-negative, the bigger the better. The fitness function is
designed as follows:
Auto-Generating Examination Paper Based on Genetic Algorithms 891
f ðxÞ ¼ 2 P N
The smaller the value of P and N, the larger the value of f(x) is, the better the
quality of the test paper will be.
f ð xÞ
P ¼ Pm ð3Þ
i f ð xÞ
P denotes the probability that an individual will be selected, and M denotes the total
number of papers (population size) in the test library.
Turning the survivability Wheels (Fig. 2), when the wheel stops, the pointer will
randomly point to the area represented by a test paper. The higher the fitness of the test
paper, the higher the probability that the test paper will be selected.
P1 P2 P3 P4 P5
1, 14%
1.8, 25%
1.7, 23%
1.5, 21%
1.2, 17%
The same test questions may be contained in the same type of two crossed chro-
mosomes. If the new chromosomes produced after crossing contain two identical
numbers of test questions, they will be regarded as illegal individuals. At this time, we
delete one of the questions, and then randomly select a question with the same
knowledge points from the question library to add to the new chromosome to make it a
legitimate individual. Population is constantly evolving, and the fitness of the test paper
is constantly improving, so the crossover probability Pc should be constantly adjusted.
At the beginning of population formation, the difference between individuals is large,
so the value of Pc needs to be larger. With the evolution of population, the difference of
fitness between individuals becomes smaller. In order to avoid premature population
falling into local optimum, the value of Pc should be smaller to reduce the evolution
speed of population.
1 If there is a solution that meets the expected fitness, the iteration terminates and
the test paper is successfully grouped. 2 If there is no solution satisfying the expected
fitness in the iteration operation, but the iteration number has reached the threshold, the
solution with the highest fitness will be selected and the test paper is completed.
5 Summary
Based on the understanding of genetic arithmetic, this paper designs and implements
the intelligent test paper generation of online examination system by using real-number
segment coding strategy and genetic algorithm with piecewise single-point crossover
operator. The experimental data show that genetic algorithm can quickly form high
quality test papers and improve the level of network education.
Acknowledgments. This study was financially supported by the National Natural Science
Foundation of China (61602518, 71872180). The Fundamental Research Funds for the Central
Universities, Zhongnan University of Economics and Law (2722019JCT035, 2722019JCG074).
References
1. Huang, Y., Chen, T.: Design and implementation of intelligent test paper system based on
improved genetic algorithm. Coal Technol. (2009)
2. Explain the genetic algorithm with an example: an automatic test paper generation system
based on genetic algorithm (Theories) (2011). https://www.cnblogs.com/artwl/archive/2011/
05/19/2051556.html
3. Ye, C.: Application of adaptive genetic algorithm in intelligent test papers. Inf. Secur.
Technol. (2011)
4. Genetic algorithm detailed (GA) (2016). https://blog.csdn.net/u010451580/article/details/
51178225
5. Chen, P., Xu, J.: Design and implementation of automated test paper system based on SSM.
Comput. Knowl. Technol. (2018)
6. Deng, M.: Implementation of open education online examination system based on genetic
algorithms. J. Guangxi Radio TV Univ. (2019)
The Data Scientist Job in Italy: What
Companies Require
Abstract. In recent years, experts have considered the job of data scientists as
the sexiest of 21st century. However, people skilled with data scientist’s
expertise seem to be rare. This probably happens for the complex set of com-
petences that this profession requires. In this paper, we deal with companies that
are searching for data scientists to expand their workforce. Scraping data from
the business-networking website LinkedIn, as for companies, we collected
dimensions, sectors, kinds of employment, contract forms, working functions,
and required skills. Our findings suggest that data scientist profession extends to
several sectors but it is not yet consolidated. This condition intensifies the
misconception about the skills required. Based on all this, we think that the role
of higher institutions becomes fundamental, on the one hand to define data
science as a discipline, and on the other to train young people for acquiring the
set of skills needed.
1 Introduction
The advent of big data poses several challenges [1, 2], including the difficulties in
recruiting data scientists [3] capable of managing big data technologies [4, 5].
Gartner [6] identifies three components by taking in consideration when companies
are facing the big data challenge. Firstly, data, analytics and governance are separating
from the Information Technology function being completely outside from it. Secondly,
big data represent at the same time an opportunity and a risk: while analytics are
becoming more sophisticated, data scientists are still in their infancy. Thirdly, dealing
with big data at an organizational level means to converge three disciplines, i.e.
information management, analytics and algorithms, plus change leadership and
management.
Companies and industries are more aware that data analysis is increasingly
becoming a vital factor to be competitive, to discover new insights, and to personalize
services [7]. The complexity of a big data system is given by different sequential
modules employed in the data analysis process, such as data generation, data acqui-
sition, data storage and data analytics [8], to which we should like to add data visu-
alization. The implementation of big data deals with the cruciality of “available and
qualified data scientists who can make sense of big data with a proper understanding of
the domain and who are comfortable using analytical tools are not easy to find” [9].
Starting from these evidences, we survey companies that are searching for data
scientists on the business-networking website LinkedIn, in order to better understand
the demand of these rare professionals in Italy. Company profiles allow us to know
what companies require these new professionals, which are the competences desired
and the tasks undertaken by people with expertise in data science. Our paper is
structured as follows: after this introduction, in the second paragraph, we gather def-
initions given in literature by businesses and academics about data scientists. In the
third paragraph, it is briefly described the methodology used to collect and analyse data
and in the fourth paragraph, findings highlight as data scientist features are not yet
consolidated. Finally, the main conclusions are presented in fifth paragraph.
Many efforts have been made to study the aforementioned big data challenges. One of
these, it is defining and recruiting data scientists. The mission of a data scientist is to
transform data into insight, providing guidance for leaders to take action [10].
Davenport and Patil [3] seem to provide one of the most original definition of a data
scientist: a quality specialist with the curiosity in new discoveries. Actually, this def-
inition highlights the difference between the old scientist of data and the data scientist:
a part from quantitative competences, this professional must develop communication
skills, creativity and proactive behaviour. Besse and Laurent [11] affirm that the new
role of the data scientist should associate two types of approaches or logics: the
statistician logic, which infers or checks for errors or risks in specific procedures, and
the computer scientist logic, which designs the best strategy to minimize errors and
optimize complex models in order to reach research objectives. Generally, an integrated
skill set for data scientists is identified which includes mathematics, statistics, machine
learning and databases [12].
The literature about data scientists is presented as a set of attempts to establish a
common definition mainly based on the experiences of individuals. Actually, in our
survey, we find mainly descriptions made by company managers and by academic
researchers who analyse company contexts. For instance, IBM provides a compre-
hensive definition: “a data scientist represents an evolution from the business or data
analyst role. The formal training is similar, with a solid foundation typically in com-
puter science and applications, modeling, statistics, analytics and math. What sets the
data scientist apart is strong business acumen, coupled with the ability to communicate
findings to both business and IT leaders in a way that can influence how an organi-
zation approaches a business challenge. Good data scientists will not just address
business problems: they will pick the right problems that have the most value to the
organization” [13]. Hilary Mason, the founder and CEO of Fast Forward Labs, prefers
to define a data scientist as someone “who blends, math, algorithms, and an under-
standing of human behaviour with the ability to hack systems together to get answers to
interesting human questions from data” [14]. Differently, there are academic
researchers that analyse data scientist workflow. Some authors [15] asked more than
896 M. della Volpe and F. Esposito
250 data scientists how they viewed their skills and careers. Then, they clustered the
survey respondents into four roles: Data Businesspeople, Data Creatives, Data
Developers, and Data Researchers. Others [16] interviewed 16 data analysts at
Microsoft and identified their typical activities as consisting of acquiring data, choosing
an architecture, shaping the data to the architecture, writing and editing code, reflecting
and iterating on the results. Even 16 Microsoft data scientists are interviewed [17].
They identify five distinct working styles of data scientists: Insight Providers, who
work with engineers to collect the data needed to inform decisions that managers make;
Modeling Specialists, who use their machine learning expertise to build predictive
models; Platform Builders, who create data platforms, balancing both engineering and
data analysis concerns; Polymaths, who do all data science activities themselves);
Team Leaders, who run teams of data scientists and spread best practices. Two years
later, they presented a large-scale survey with 793 data scientists, again at Microsoft, in
order to understand their educational background, the main work topics, the tools used
and activities accomplished [18]. Finally, [19] also interviewed 35 analysts in com-
mercial companies, ranging from healthcare to retail, finance and social networking.
They recognized that analysts must have an aptitude for discovery, wrangling, profil-
ing, modelling and reporting. Lastly, the role of visualization skills is emphasized as an
outcome of the whole data scientist workflow.
If we compare the profiles identified, we note how they are apparently similar, but
differ from each other. Companies are set to take diverse routes in the adoption of big
data technologies and the distinctive nature of each work performed within each sector
could result in specific competences and often in a reskilling of the workforce.
Since the data scientist role is still multifarious in literature, higher education
institutions can play a key role both in providing a scientific definition of the data
science and offering study programs able to train professionals in this field. In fact, one
of the factors that contribute to companies’ failure in utilizing data is the lack of well-
trained professionals. They should be able to manage and overcome the peculiar
challenges associated with big data. It is critical to have technical knowledge on how to
extract, prepare and format unstructured large volumes of data from multiple sources
[20]. The increased interest in filling this gap has involved some authors, who provide a
description of current data science programs in order to assist universities in designing
and developing undergraduate courses. For instance, it is described a four-year
undergraduate program in predictive analytics, machine learning, and data mining
implemented at the College of Charleston, Charleston, South Carolina, USA [21].
Moreover, findings are presented from a review of the descriptions of courses
offered in a small sample of undergraduate programs in data science and data analytics.
Then, an undergraduate course is offered in a liberal arts environment that provides
students the tools necessary to apply data science [22]. Most of publications are
referred to undergraduate programs, while master and specializations are ignored.
Therefore, the role of universities is fundamental not only in producing talent who can
perform data scientist job, but also in providing acceptable definitions taken from
business experience and yet not having scientific basis. This suggests also the need of
collaboration between companies and universities, in order to obtain the best corre-
spondence between study path and integration in the labor market.
The Data Scientist Job in Italy: What Companies Require 897
3 Methodology
We start detecting the companies’ size counting the number of employees (Table 1).
The first two more crowded clusters are those referred to companies with 11–50
employees and to companies with more than 10,001 employees. Even if we do not
know the turnover, we can image that they represent innovative companies or start-ups
still under development, or large multinationals. Machine Learning, Artificial Intelli-
gence and Data Analytics are advancing and, by now, they play an essential role in
companies’ future. The largest and best companies in the world know this, and they are
investing in these features. We have found trade online giants as Amazon, but also
companies operating in Software (e.g. Microsoft), Telecommunications (e.g. Voda-
fone), TV e media (e.g. Sky), Personal products (e.g. L’Orèal), Banking and Insurance
(e.g. ING).
With regards to business sectors, we observe that they are multiple and very
different from each other. However, we note a prevalence of sectors relating to ICT.
Actually, if we consider the value of the presence percentage, we note that the sector of
Computer science and services (31.3%) is the most widespread. It is followed by
Selection and search of personnel (15.8%); Management consulting (7.1%); Human
resources (5.3%); Software (5.09%); Insurance (2.5%); Telecommunications (2.5%);
Internet (1.53%); Retail trade (1.3%); Public services (1.3%); Banking sector (1.02%);
Accessories and fashion (0.76%); Professional training (0.76%); Aviation and aero-
space (0.51%); Accounting (0.51%); Cosmetics and Personal Products (0.51%); Pub-
lishing (0.51%); Renewable energy (0.51%); Management in training (0.51%);
Mechanical or industrial engineering (0.51%); Marketing and advertising (0.51%);
Broadcast media (0.51%); Oil and energy (0.51%); Newspapers (0.51%); Financial
services (0.51%); Automotive sector (0.51%); Hospital structures and health (0.51%);
Hotelier (0.25%); Food and drink (0.25%); Government Administration (0.25%);
Consumer goods (0.25%); Luxury goods and Jewellery (0.25%); Biotechnology
(0.25%); Consumer electronics (0.25%); Large-scale retail trade (0.25%); Real estate
(0.25%): Pharmaceutical industry (0.25%); Logistics and supply chain (0.25%); Nan-
otechnologies (0.25%); Electrical and electronic production (0.25%); Research
(0.25%); Researches market (0.25%); Information services (0.25%); Legal services
(0.25%); Tobacco (0.25%); Leisure, travel and tourism (0.25%). Only in 11.7%, the
business sector is not specified. It seems that the distribution of data scientist demand
generate a long tail [23], in which a population with a high frequency (Computer
science and services) is followed by a population with a low frequency (or width),
which gradually decreases (tail off) (Fig. 1).
Italy (4%). However, Milan Area (56%) is the place in Italy with the highest number of
companies searching for data scientists.
As far as contract form concerns, we detect that most part of companies offer a full-
time contract (97.5%), while a short percentage offer a stage (1.8%), a temporary
contract (0.5%) and a part-time contract (0.2%).
A level of seniority or experience is required depending on where it will be posi-
tioned in the company, which will be its direct reporting and, in general, where the
company is positioned as for the path towards the data-driven company. In more
mature companies, the data science structure is positioned transversally to the business
functions, working almost as a function of staff in the development of different projects.
In these cases, the analytics team reports directly to an executive. However, companies
are searching for an Executive in 0.2%, a Director in 0.5%, a medium-high level
experience in 18.6%, a medium level experience in 28%, minimum experience in 40%,
and finally with no experience in 7.1%, and not specified in 5.6%. Consequently, the
data scientist will be hired to perform mainly the working function of a Computer
Engineer (153 job advertisements) and a Computer Specialist (123 job advertisements).
Other working functions detected are specified in Table 2.
900 M. della Volpe and F. Esposito
It seems that the figures of data science are not yet consolidated in their denomi-
nations. This also powers the confusion about roles and skills. Our research finds
extensive evidence of accelerating demand for a variety of new specialist roles related
to understanding and leveraging the latest emerging technologies. We have identified
many different denominations around data science applications. Firstly, the Data sci-
entist, in its connotation of Senior, Junior, Lead and Intern; then the roles focused on
data analysis, such as Big data Analyst, Engineer, Developer, Architect, Expert and
Manager, Information Technology Data Analyst, Data Management Expert, Reporting
and Data Analyst, Data Mining Specialist; also, roles of consultancy and strategy, i.e.
Business Consultant and Business Intelligent specialist; others focused on the tech-
nology infrastructure such as Technology Consultant, Cloud Solutions Architect,
Database Developer and Engineer, Machine Learning Specialist; other on Artificial
Intelligence (AI), such as AI Engineer, Cognitive Consultant, Clinical solution
Architect, Robotic Automation Developer and Network Analyst; and finally, some
roles associated to specific business functions, such as Customer Intelligent Analyst,
Manufacturing Scientist, Marketing Data Analyst, Merchandising Data Analyst, Sales
Data Analyst.
In order to define the professional profiles wanted, we have collected skills required
and declared by companies and necessary for a candidate to be hired. We identified 239
different skills: above all, the most required skill is Python (5.8%). Then, we find
companies searching for people with expertise and knowledge in big data (4.6%),
Machine learning (4%), problem solving (3.4%), statistics (2.7%) and data analysis
(2.6%), as showed by the different bubble sizes in Fig. 3. According to WEF (2018),
The Data Scientist Job in Italy: What Companies Require 901
the emerging skills required for future jobs will be creativity, originality and initiative;
analytical thinking and innovation; active learning and learning strategies; technology
design and programming; complex problem-solving; critical thinking and analysis;
leadership and social influence; emotional intelligence; systems analysis and evalua-
tion; reasoning, problem-solving and ideation. The data analyst and scientist is one of
the emerging jobs recognized by WEF. If we compare these skills with those collected
from LinkedIn, we observe that only few skills may match: such as, problem solving
(3.4%), leadership (1.2%) and team leadership (0.3%), strategic and critical thinking
(0.2%) active learning (0.3%) and programming (0.2%). It is observed that creativity,
originality, self-evaluation, emotional sphere and social aspects are still ignored by
companies.
5 Conclusions
science. Although a constantly growing interest, a lack of clarity remains about roles
and skills to be hired by companies. Synthetizing the main results, we can affirm that
data scientists attract both multinationals investing great funds to exploit data from the
Web and small enterprises or innovative start-ups, which are highly innovative and
look for skilled workforce.
The phenomenon is appearing in several sectors, generating therefore a long tail in
which the head is represented by Computer science and Software services. However,
the tail is constituted by numerous sectors that contribute significantly to the diffusion
of this profession. The level of seniority required is medium-high and the contract takes
mostly full time form. In Italy, data scientists are demanded in the Northern side,
especially in Milan area, where the industrial vitality of our country is located together
with the most prestigious Italian universities. This point suggests a reflection: it is
confirmed the principle whereby the proximity to prestigious universities influences the
ability of companies to accommodate the best talent [24]. Moreover, a closer collab-
oration with universities could contribute to provide guidelines and clarifications about
the profession of data scientists, sometimes lost in the multitude of denominations
associated to who works with data.
Finally, the most required skills demonstrate a vision of data scientist profession
still linked to quantitative analysis and analytical thinking. The emergence of a
dynamic and uncertain business context, most when one works with data from the
Web, requires a necessary holding also to those soft skills (creativity, communication,
leadership) that lack or are not detected as important in job advertisements.
As for limitations, our research takes into consideration only job advertisements
within a specific moment, which could be changed when this paper is issued. At the
same time, we limited the research to the keyword “data scientist”: given the uncer-
tainty about denominations, probably there are other wanted profiles that can be
classified in data science category.
Future researches could deal with an exploration of other countries, in order to
compare different contexts, or the role of national universities in professional devel-
opment. Last but not the least, another possible advancement could be reconsidering
this research opening the research field to other denominations, to provide a better
understanding of the specific skills required for each role.
References
1. Schewe, K.D., Thalheim, B.: Semantics in data and knowledge bases. In: International
Workshop on Semantics in Data and Knowledge Bases, pp. 1–25. Springer, Berlin (2008)
2. Chen, J., Chen, Y., Du, X., Li, C., Lu, J., Zhao, S., Zhou, X.: Big data challenge: a data
management perspective. Front. Comput. Sci. 7(2), 157–164 (2013)
3. Davenport, T.H., Patil, D.J.: Data scientist. Harvard Bus. Rev. 90(5), 70–76, 72 (2012)
4. Yin, S., Kaynak, O.: Big data for modern industry: challenges and trends (point of view).
Proc. IEEE 103(2), 143–146 (2015)
5. Davenport, T.H., Dyché, J.: Big data in big companies. International Institute for Analytics,
p. 3 (2013). https://docs.media.bitpipe.com/io_10x/io_102267/item_725049/Big-Data-in-
Big-Companies.pdf. Accessed 20 Mar 2019
The Data Scientist Job in Italy: What Companies Require 903
1 Introduction
We can find many cloud services such as Amazon Web Services [1], Google Cloud
Platform [2], and Microsoft Azure [3] for building the platform of software systems or
information services. These cloud services allow a system administrator to quickly and
flexibly configure a large-scale and complicated system architecture. Meanwhile, the
large-scale and complicated system have increased the cost of system administrators to
operate the system without any troubles, and some automatic functions to reduce the
operating cost have been proposed. For example, monitoring services such as Datalog
[4] and New Relic [5] have been introduced for automatically detecting server failures
by checking server metrics such as the rate of CPU usage and the amount of memory
usage. However, human still identifies and solves a system failure in many cases, even
experienced administrator needs many trials and errors until the cause of server failure
is detected and the system is recovered.
In this study, we propose an architecture for system recovery based on solution
records on different servers. When a server failure is occurred, first, our system inquires
a knowledge base of server failures and obtains a set of commands to recover the
system. Then, the proposed method evaluates the performance of the commands by
executing them in a virtual evaluation environment. The evaluation result is fed back to
the knowledge base as the solution record and update a priority order on the command.
By this cycle, the knowledge base can continuously update the information of solution
results of commands that are effective to solve the server failure, and return them with
priority for the query. In the experiment using prototype, we confirm the feasibility of
the proposed system.
2 Related Work
There have been many studies and developments for detecting system error and
abnormal behavior of server.
Holub and Wang propose an analysis engine to collect distributed system logs and
analyze correlation between the system logs and errors called RTCE (Run-Time
Correlation Engine) and evaluate it in a cloud environment [4, 5]. Xu et al. propose a
method for analyzing sentences in console log and extracting log information that will
be output when a server failure occur [6, 7]. In [8], Mirgorodskiy et al. propose a
method to identify a problem process by comparing logs in multiple identical processes
performing similar activities [8]. In addition, Diao et al. propose a method to identify
the cause of a server failure based on the rule that associates sentences in trouble ticket
that a system administrator described with the cause of a server failure [9].
3 Proposed System
Figure 1 shows an overview of our proposed system. The proposed system includes
two types of knowledge bases of server failures, a primary knowledge base and sec-
ondary knowledge bases.
(1) Primary server-failure knowledge base (primary KB): This knowledge base
collects system logs of server failure and solution commands from secondary
knowledge bases located in n-servers.
906 T. Kasai and K. Takano
When a solution command succeeds to solve the server failure, success score is
increased. If a solution command fails, failure score is increased. In addition, there are
two types of solution command. One solution command is automatically executable,
and another is proper to be executed by human. The secondary KB records these
properties as Boolean values.
An Architecture for System Recovery Based on Solution Records 907
This virtual evaluation environment copies only directory tree in the actual envi-
ronment, and it cannot copy running processes and server failures occurred in a
communication network. Therefore, the virtual evaluation environment is limited to a
server failure that is caused by the change of directory tree. For example, the virtual
evaluation environment can reproduce server failures such as dependency error in
software package and unauthorized access to a file, but it cannot deal with server
failures such as memory leak and communication network error.
Performance score is used as a weight for raking solution commands. The solution
commands that are associated with error messages with high similarity score and have
high performance score are extracted as a candidate set of commands.
If the solution commands success to solve a server failure, a point 1 is added for
success score. If the solution commands fail, a point 1 is added for failure score. By this
cycle, the knowledge base can continuously update the information of solution results
of commands that are effective to solve the server failure, and return them with priority
for the query.
4 Experiment
Table 6. (continued)
eid Error log message
4 2019-01-08T16:23:12.907580Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907658Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907675Z 0 [ERROR] InnoDB: Plugin initialization aborted with
error Generic error
…
5 2019-01-08T16:23:12.907580Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907658Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907675Z 0 [ERROR] InnoDB: Plugin initialization aborted with
error Generic error
…
6 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/InRelease Could not
resolve ‘archive.ubuntu.com’
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease
Could not resolve ‘archive.ubuntu.com’
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease
Could not resolve ‘archive.ubuntu.com’
…
7 2019-01-08T16:23:12.907580Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907658Z 0 [ERROR] InnoDB: The innodb_system data file
‘ibdata1’ must be writable
2019-01-08T16:23:12.907675Z 0 [ERROR] InnoDB: Plugin initialization aborted with
error Generic error
…
4.3 Result
Ranking results of information of server failures from the primary KB before and after
the feedback are shown in Tables 7 and 8, respectively.
912 T. Kasai and K. Takano
In Tables 7 and 8, we can see that success and failure records are updated. This is
because the solution results on each distributed server are fed back to the primary KB.
In addition, after the feedback, the ranks of error information of eid = 14 and eid = 6
are changed.
The reason why the rank of error information of eid = 6 gets higher is that the
associated solution command with eid = 6 succeeded to solve the pseudo server error
so that success score in eid = 6 is increased. On the contrary, the rank of error
information of eid = 15 is lowered, since the associated solution command with
eid = 14 failed to solve the pseudo server error.
5 Conclusion
In this study, we have proposed an architecture for system recovery based on solution
records on different servers. Our system dynamically builds the virtual evaluation
environment that reproduces the state of server failure, and executes the solution
commands on that virtual evaluation environment to solve the problem or detect the
An Architecture for System Recovery Based on Solution Records 913
cause of server failure. Moreover, our system continuously updates the information of
solution results of commands in a server-failure knowledge base, which are effective to
solve the server failure based on the performance of the solution commands on the
virtual evaluation environment, and return them with priority for the query from a
distributed server. In the experiment using our prototype, we confirmed the feasibility
of the proposed system.
In our future work, we will enhance our system to deal with server errors caused by
network and process errors and evaluate the performance of our system in a real server
environment.
References
1. Amazon Web Services. https://aws.amazon.com/. Accessed Jan 2019
2. Google Cloud Platform. https://cloud.google.com/. Accessed Jan 2019
3. Datadog. https://www.datadoghq.com/. Accessed Jan 2019
4. Holub, V., et al.: Run-time correlation engine for system monitoring and testing. In:
Proceedings of the 6th International Conference Industry Session on Autonomic Computing
and Communications Industry Session, pp. 9–18 (2009)
5. Wang, M., et al.: Scalable run-time correlation engine for monitoring in a cloud computing
environment. In: IEEE International Conference on the Engineering of Computer-Based
Systems (ECBS), pp. 29–38 (2010)
6. Xu, W., et al.: Online system problem detection by mining patterns of console logs. In:
Proceedings of Ninth IEEE International Conference on Data Mining, ICDM 2009, pp. 588–
597 (2009)
7. Xu, W., et al.: Detecting large-scale system problems by mining console logs. In: Proceedings
of the 27th International Conference on Machine Learning (ICML-10), pp. 37–46 (2010)
8. Mirgorodskiy, A.V., et al.: Problem diagnosis in large-scale computing environments. In:
Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, p. 88 (2006)
9. Diao, Y., et al.: Rule-based problem classification in it service management. In: 2009 IEEE
International Conference on Cloud Computing, pp. 221–228 (2009)
A Novel Approach for Selecting Hybrid
Features from Online News Textual Metadata
for Fake News Detection
Abstract. Nowadays, online news platforms have become the main sources of
news for many users. Hence, an urgent need arises to find a way to classify this
news automatically and measure its validity to avoid spreading fake news. In
this paper, we tried to simulate how humans, in real life, are dealing with news
documents. We introduced a new way in which we can deal with the whole
textual content of the news documents by extracting a number of characteristics
of those texts and extracting a complex set of other metadata related features
without segmenting the news documents into parts (title, content, date, source,
etc.). Performances of nine machine learning algorithms in terms of Accuracies,
Precision, Recall and F1-score are compared when using three different datasets
obtaining much better result than the results in [1] and [2].
1 Introduction
Undoubtedly, the rapid development of information systems and the widespread use of
electronic means and social networks have played active roles in accelerating the pace
of events in most parts of the world. As most countries face economic problems,
security problems, wars, terrorism and violent conflicts, the majority of internet users
are relying entirely on information from various electronic platforms. These electronic
platforms, whether on the international news sites or social network sites, are char-
acterized as widespread and free. They also enable the user to access and exchange
information easily, quickly and conveniently. Therefore, the circulation of news on
these platforms has become a major source for users to base their opinions on various
issues.
With no standard or measure to determine the accuracy, validity and credibility of
the consumed news, it may lead to the proliferation of many fake news. Such fake news
may be systematic and follow up on agendas. These agendas are prepared in advance
for the purpose of serving specific goals, objectives and interests for a particular faction
or the interests of certain countries or institutions. As a result, it may influence the
public opinion of users of these platforms.
Thus, there is an urgent need to find techniques that can assist in the processes of
discovery and classification of news documents to determine whether they are real or
fake. These techniques depend on the type of news document content we are dealing
with. News documents may contain textual data, multimedia or a mixture of them [3].
The use of machine learning techniques is one of the most common ways to do
these classifications of textual news documents. But first, a series of operations should
be carried out on the available news documents so that they are prepared, processed and
placed in the appropriate format for different classification algorithms. These processes
are not straightforward or easy; they require special design and implementation as a
result of the nature of written texts and their valuable properties that can be used in the
classification processes.
In this paper, we have introduced a new way in which we can deal with the whole
textual content of the news, by extracting a number of characteristics of those texts and
a complex set of other metadata related characteristics as introduced in [3] without
segmenting text into parts (title, content, date, source, etc.). The purpose is to simulate
how humans in real life are dealing with the news. We tested our proposed model using
nine different classifiers on three different datasets. Section 2 shows the related work.
Section 3 presents the proposed model for extracting hybrid features from online news’
textual metadata, and shows the details of each stage. Experimental setup and dis-
cussion are given in Sect. 4. Section 5 summarizes our work, concludes our findings,
and provides directions for future work.
2 Related Work
Most of the fake news detection systems deploy machine learning techniques to assist
users in filtering the news they are viewing. Moreover, it helps in classifying whether a
particular news article is deceptive or not. The classification and analysis presented
here is done by comparing a given news article with some pre-known news corpora that
contain both misleading and truthful news articles [4].
Ruchansky et al. [5] introduced a model which incorporate the features related to
news text, responses that the news document receives, and the user who source it.
Potthast et al. [6] proposed a technique in which they extracted a set of features to
capture writing style. These features are being used to assess the style similarity
between different textual news document categories.
Khurana [7] explored the linguistic features that could be extracted using some of
NLP-techniques from news statements and headlines, and found that the use of n-grams
as a feature, especially unigrams, plays a vital role in the discrimination of fake and real
textual news documents. Ahmed et al. in [2] used n-gram analysis and machine
learning techniques for detecting fake news in textual documents. They used both TF
and TFIDF as feature extraction techniques and selected only the features ranging from
the top 1000 to 50000. The best obtained accuracy result was 92% on ISOT fake news
dataset using LSVM, with unigram and top 50000 features. While in [8], they extended
their experiments on another dataset related to detection of fake reviews used in [9].
The best obtained accuracy result was 90% using KNN, with Bigram and top 10000
features.
916 M. K. Elhadad et al.
Al Asaad et al. [10] introduced a technique for verifying the credibility of news
articles depending on their characteristics. they combined several classification meth-
ods with text models. They used three text representation models (BoW, n-gram, and
TFIDF). They used in their experiments two different datasets and tested their model
using Multinomial Naive Bayes and LSVM algorithms. They obtained the best accu-
racy of 95.7% when using Multinomial Naive Bayes classifier with BoW as text
representation technique on the fake or real news dataset.
Khan et al. [1] presented a comparative analysis of the performance of existing
methods by implementing each one on three different datasets. They observed that the
performance of models is totally dependent on the dataset used and it is hard to obtain a
unique superior model for all datasets. Moreover, from their experimental results, they
found that, the proper selection of features enhances the obtained accuracy results.
Also, they claimed that, for small dataset with less than 100 k documents, Naïve Bayes
(with n-gram) could achieve results similar to those obtained when using neural
network-based models.
Bali et al. [11] proposed an approach for automatic detection of fake news. They
extracted set of features from both news headlines and news contents such as n-grams
count feature, sentiment polarity score, and some other linguistic features. They used
three datasets to evaluate their model using seven different classification algorithms.
They obtained the best accuracy when using Gradient Boosting (XGB) classification
algorithm with three news dataset.
In summary, there are many work in the field of fake news detection. To the best of
our knowledge from existing literature, this work is the first to deal with news docu-
ments without segmenting it. Additionally, we use a complex set of extracted features
from textual news metadata besides the extracted linguistic features to enrich the
generated feature vector with valuable features for building the information detection
model.
In order for news textual documents to be classified, they have to be prepared first to be
suitable for processing, by passing through the document preparation stage as described
in Subsect. 3.1. Then, each news document must be transformed and represented by a
set of words that expresses its content. The classification process goes through two
different phases: training and testing. Each phase consists of two stages that are dif-
ferent than each other, as depicted in Fig. 1.
A Novel Approach for Selecting Hybrid Features 917
In the training phase, the two stages are feature engineering and learning. While in
the testing phase, the stages are feature engineering and detection. Feature engineering
is described in Subsect. 3.2, while learning and detection stages are presented in
Subsect. 3.3. Though our proposed model could be extended to be used for any lan-
guage, in our current work, we are dealing with news documents that are written in
English language only.
Text: Explosion rocks down town Damascus, an explosion inside a bus killed six people
and injured another ten in down town Damascus according to preliminary reports
on Sunday, nna, 01 Feb 2015, Damascus
Polarity: 0
• Stemming (lines 33:38); the fundamental task that is being done by applying any of
the stemming algorithms to avoid redundant patterns. Thus, different equivalent
morphological forms are replaced by their corresponding root word. We used Porter
English stemmer to perform the word stemming process. For example, the words
“killing” and “killed”, all share the same root-word “kill”. It was noted that by
combining words with the same root may reduce indexing size as much as 40–50%
[7].
• Feature Selection; (1) Applies capital letter heuristic (line 9) to keep all words that
begins with capital letters. As wherever there exists in the news textual data a word
that begins with a capital letter, this indicated its importance and it should not be
neglected. (2) Applies no-short heuristic (line 15) to remove all words which size is
less than or equal to two, as it does not make sense to have a word with such a short
length. (3) Considers only the words that were tagged as verbs, proper nouns and
adjectives (line 15) to reduce the dimension of the extracted feature vector size; as
these words are the most representative and descriptive parts in any textual data.
(4) Selects some information from each news article (line 18:21) such as location
based, user based, and time based features. As these metadata gives much more
informative representation of the textual documents. (5) Select the source infor-
mation related to the news publisher. For example: “published on Twitter”, “pub-
lished on CNN website”, etc., as the detection model could come up with some
relation between the news source as a feature, other selected features from both the
text, the metadata and the label of the textual news document.
At the end of the preprocessing and feature selection phase, we obtain a set of
stemmed bag of words which represents the original feature vector that will be used for
the feature extraction phase.
Feature Extraction Phase; It aims in obtaining a set of distinctive weighted features
that indicates the importance of the selected information to the document content. Term
Frequency Inverse Document Frequency (TFIDF) is one of the most well-known
statistical weighting scheme, which is used to indicate the importance of words in a
document in a collection or corpus. This importance increases proportionally to the
number of times a word appears in the document but is offset by the frequency of the
word in the corpus. TFIDF weight is the multiplication of the value that represents how
frequently a term occurs in a news text document (TF), and the value the shows how
important the term is (IDF) [10, 18–21].
In this section, we discuss our experimental setup and the results for evaluating the
performance of our proposed approach on three different publicly available fake news
datasets: (1) ISOT Fake News Dataset [2], (2) LIAR dataset [23], and (3) FA-KES
dataset [24].
ISOT Fake News Dataset [2]. The dataset contains almost 25.2 K textual news
documents related to both fake and real news. These news documents were collected
from real-world sources covers the period between 2016–2017. The fake news was
collected from different unreliable sources that were flagged by Politifact (a fact-
checking organization in the USA) and Wikipedia sources. As for the real news, they
were collected from (reuters.com). The dataset covers different topics and each news
document is described by title, text, type and the date the news document was pub-
lished on.
LIAR Dataset [23]. This dataset contains almost 12.8K, manually labeled, textual
news documents. These news documents were collected from (politifact.com) and
contain six labels of truthfulness ratings (pants-fire, false, barely-true, half-true, mostly-
true, and true). The dataset provides some additional meta-data like subject, speaker,
922 M. K. Elhadad et al.
job, state, party, context, history. It could be remarked that all these metadata may not
be always available in real life scenarios.
FA-KES Dataset [24]. This dataset that contains 804 textual news documents around
the Syrian war. These news documents were collected from several news organizations,
and have been labeled using a semi-supervised fact-checking approach. It has both fake
and real labels and is the first dataset that presents fake news surrounding the conflict in
Syria.
In this paper a novel approach for selecting hybrid features from online news textual
metadata for fake news detection was introduced. This technique is based on dealing
with the textual news document as a block without segmentation; extracting BoW for
getting textual features. Moreover, selecting set of user based, post based, social based,
and propagation based features [3] from the news metadata to enrich the extracted
feature vector. Different classifiers are used, performance is reported using different
metrics: Accuracy, Precision, Recall and F1-measure. Experimental results through the
entire paper indicates the achieved improvement when using our technique in handling,
selecting, and building the feature vector that is used in building detection models.
From the reported results in this work we could conclude that:
(1) For the ISOT Fake News Dataset, the best accuracy of 100% was obtained when
using Decision Trees, and LSVM models with enhancement of +8% compared
with the results from [2].
(2) For the LIAR dataset, the best accuracy of 62% was obtained when using Logistic
Regression, SVM, and Naive Bayes models with enhancement of +(6%, 6%, 2%),
respectively, compared with the results from [2].
(3) For the FA-KES dataset, the best result of 58% was obtained when applying
Multinomial Naive Bayes model.
924 M. K. Elhadad et al.
It could be remarked that, when using the ISOT Fake News Dataset, the obtained
results are way much better than the other from two datasets. This could be as a result
that ISOT real news are collected from the Reuters website. So, after building the
classification model, the decision is binary to classify whether the news document is a
Reuters or Not-Reuters document.
For future work, there are many avenues to pursue, including:
(1) Performing further investigation and analysis on FA-KES dataset.
(2) Deploying one or more syntactic similarity measures, and semantic similarity
measures to enrich the extracted feature vector with some syntactic and semantic
features.
(3) Extend and evaluate the proposed system against other datasets in other languages
other than English.
(4) Implement a fake news detection system using parallel platforms, such as Apache
Spark, to handle the large amount of data in less time without affecting the overall
system performance.
(5) Combine the decisions of two or more classification algorithms to improve the
accuracy of the results.
References
1. Khan, J.Y., Khondaker, M., Islam, T., Iqbal, A., Afroz, S.: A benchmark study on machine
learning methods for fake news detection. arXiv preprint arXiv:1905.04749 (2019)
2. Ahmed, H., Traore, I., Saad, S.: Detection of online fake news using N-gram analysis and
machine learning techniques. In: International Conference on Intelligent, Secure, and
Dependable Systems in Distributed and Cloud Environments, vol. 10618, pp. 127–138.
Springer, Cham (2017)
3. Elhadad, M.K., Li, K.F., Gebali, F.: Fake news detection on social media: a systematic
survey. In: 2019 IEEE Pacific Rim Conference on Communications, Computers, and Signal
Processing, Victoria, B.C., Canada. IEEE (2019)
4. Bondielli, A., Marcelloni, F.: A survey on fake news and rumour detection techniques. Inf.
Sci. 497, 38–55 (2019)
5. Ruchansky, N., Seo, S., Liu, Y.: CSI: a hybrid deep model for fake news detection. In:
Proceedings of the 2017 ACM on Conference on Information and Knowledge Management,
pp. 797–806. ACM (2017)
6. Potthast, M., Kiesel, J., Reinartz, K., Bevendorff, J., Stein, B.: A stylometric inquiry into
hyperpartisan and fake news. arXiv preprint arXiv:1702.05638 (2017)
7. Khurana, U.: The linguistic features of fake news headlines and statements. Dissertation
Master’s thesis, University of Amsterdam (2017)
8. Ahmed, H., Traore, I., Saad, S.: Detecting opinion spams and fake news using text
classification. Secur. Priv. 1(1), 1–15 (2018)
9. Ott, M., Choi, Y., Cardie, C., Hancock, J.T.: Finding deceptive opinion spam by any stretch
of the imagination. In: Proceedings of the 49th Annual Meeting of the Association for
Computational Linguistics: Human Language Technologies, vol. 1. Association for
Computational Linguistics, pp. 309–319 (2011)
A Novel Approach for Selecting Hybrid Features 925
10. Al Asaad, B., Erascu, M.: A tool for fake news detection. In: 2018 20th International
Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC).
IEEE (2018)
11. Bali, A.P.S., Fernandes, M., Choubey, S., Goel, M.: Comparative performance of machine
learning algorithms for fake news detection. In: International Conference on Advances in
Computing and Data Sciences, pp. 420–430. Springer (2019)
12. Elhadad, M.K., Badran, K.M., Salama, G.I.: Towards ontology-based web text document
classification. In: International Conference on Aerospace Sciences & Aviation Technology
(2017)
13. Zhu, Z., Liang, J., Li, D., Yu, H., Liu, G.: Hot topic detection based on a refined TF-IDF
algorithm. IEEE Access 7, 26996–27007 (2019)
14. Fengling, W.: Research on hot topic discovery based on intelligent campus information
service platform. In: The 3rd Information Technology, Networking, Electronic and
Automation Control Conference. IEEE (2019)
15. Xu, G., Meng, Y., Chen, Z., Qiu, X., Wang, C., Yao, H.: Research on topic detection and
tracking for online news texts. IEEE Access 7, 58407–58418 (2019)
16. Wan, J., Zheng, P., Si, H., Xiong, N.N., Zhang, W., Vasilakos, A.V.: An artificial
intelligence driven multi-feature extraction scheme for big data detection. IEEE Access 7,
80122–80132 (2019)
17. Ju, Q.: Large-scale structural reranking for hierarchical text categorization. Dissertation Ph.
D. University of Trento, Italy (2013)
18. Della Vedova, M.L., Tacchini, E., Moret, S., Ballarin, G., DiPierro, M., De Alfaro, L.:
Automatic online fake news detection combining content and social signals. In: the 22nd
Conference of Open Innovations Association (FRUCT), pp. 272–279. IEEE (2018)
19. Elhadad, M.K., Li, K.F., Gebali, F.: Sentiment analysis of Arabic and English tweets. In:
Workshops of the International Conference on Advanced Information Networking and
Applications. Springer, Cham (2019)
20. Xu, K., Wang, F., Wang, H., Yang, B.: Detecting fake news over online social media via
domain reputations and content understanding. Tsinghua Sci. Technol 25(1), 20–27 (2019)
21. Elhadad, M.K., Badran, K.M., Salama, G.I.: A novel approach for ontology-based
dimensionality reduction for web text document classification. In: 2017 IEEE/ACIS 16th
International Conference on Computer and Information Science (ICIS). IEEE (2017)
22. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M.,
Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J.: Scikit-learn: machine learning in
Python. J. ML Res. 12, 2825–2830 (2011)
23. Wang, W.Y.: “liar, liar pants on fire”: a new benchmark dataset for fake news detection.
arXiv preprint, arXiv:1705.00648 (2017)
24. Salem, F.K.A., Al Feel, R., Elbassuoni, S., Jaber, M., Farah, M.: FA-KES: a fake news
dataset around the Syrian war. In: Proceedings of the International AAAI Conference on
Web and Social Media (ICWSM 2019). AAAI (2019)
25. Elhadad, M.K., Badran, K.M., Salama, G.I.: A novel approach for ontology-based feature
vector generation for web text document classification. Int. J. Softw. Innov. 6(1), 1–10
(2018)
Author Index
E K
Elhadad, Mohamed K., 914 Kagawa, Tomomichi, 811
Elmazi, Donald, 35 Kanjanakuha, Worachet, 409
Esposito, Francesca, 894 Kanmai, Chidchamaiporn, 409
Eyckerman, Reinout, 661, 671 Kappler, Chris, 197
Kasai, Takayuki, 904
F Kato, Shigeru, 811, 821
Falco, Mariacristina, 211, 234 Katoh, T., 258
Farooq, Hassan, 875 Kawakami, Tomoya, 427, 444
Fontaine, Jaron, 197 Ke, Nie Jun, 367
Kerstens, Robin, 716
G Khan, Abdul Basit Majeed, 355
Gañán, David, 525 Khan, Nasir Ali, 57
Garcia-Alsina, Montserrat, 537 Khan, Raja Jalees ul Hussen, 568
Gebali, Fayez, 914 Kitano, Fuga, 811
Ghaffar, Abdul, 70, 355, 863, 875 Kolici, Vladi, 3
Giacalone, Marco, 310, 549, 579, 589 Kotani, Toshihiro, 433
Giroire, Frédéric, 417 Krause, Paul, 340
Giuliano, Vincenzo, 117 Kyriazis, Dimosthenis, 626
Gomes, Fernanda Oliveira, 329
Gómez-Zúñiga, Beni, 537 L
Gotoh, Yusuke, 433 Laki, Sándor, 848
Groß, Christian, 106 Larcher, Lucas, 275
Gul, Hira, 47 Laurijssen, Dennis, 716
Gurmani, Muhammad Usman, 70, 355, 863, Li, Kin Fun, 141, 914
875 Li, Yipeng, 887
Lim, Kiho, 127
H Liu, Qi, 399, 482
Halili, Rreze, 766 Liu, Shudong, 887
Hallez, Hans, 704 Liu, Yi, 3
Hellinckx, Peter, 661, 671, 684, 736, 776, 798 Liu, Yutian, 887
Hino, Takanori, 811, 821 Loza, Carlos A., 838
Horn, Geir, 626 Lu, Yangzhicheng, 463
Hozawa, M., 258 Luo, Jun, 399, 482
Hu, Ziqi, 399, 482 Lv, Songnan, 494
Huin, Nicolas, 417
Huybrechts, Thomas, 661 M
Ma, Peng, 378
I Maisto, Alessandro, 211
Iannotta, Iolanda Sara, 246 Maisto, Salvatore Augusto, 638, 648
Ibrishimova, Marina Danchovsky, 141 Mallik, Saurav, 340
Ikeda, Makoto, 14, 35 Malviya, Abhash, 186
Ishida, Tomoyuki, 463 Mancuso, Azzurra, 234
Islam, Tariqul, 127 Manivannan, D., 127
Ito, Ryuji, 811 Marino, Alfonso, 609
Marquez-Barja, Johann, 671
J Martinez-Argüelles, María J., 537
Jansen, Wouter, 716 Martino, Beniamino Di, 601
Janssen, Thomas, 726 Martino, Raffaele, 558
Javaid, Atia, 82, 94, 568 Mas, Xavier, 537
Javaid, Nadeem, 47, 57, 70, 82, 94, 355, 568, Mastroianni, Michele, 601
863, 875 Mastrorilli, Federico, 221
Jorge, Ricardo Rodriguez, 828 Mateen, Abdul, 57
Author Index 929