Advances in Networked-Based Information Systems: The 23rd International Conference on Network-Based Information Systems (NBiS-2020) [1st ed.] 9783030578107, 9783030578114

This book aims to provide the latest research findings, innovative research results, methods, and development techniques

470 74 66MB

English Pages XXXII, 611 [639] Year 2021

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Advances in Networked-Based Information Systems: The 23rd International Conference on Network-Based Information Systems (NBiS-2020) [1st ed.]
 9783030578107, 9783030578114

Table of contents :
Front Matter ....Pages i-xxxii
Detecting DoS and DDoS Attacks by Using CuSum Algorithm in 5G Networks (Shih-Ting Chiu, Fang-Yie Leu)....Pages 1-9
A Fuzzy-Based System for Assessment of Available Edge Computing Resources in a Cloud-Fog-Edge SDN-VANETs Architecture (Ermioni Qafzezi, Kevin Bylykbashi, Phudit Ampririt, Makoto Ikeda, Leonard Barolli, Makoto Takizawa)....Pages 10-19
Optimization of JavaScript Large-Scale Urban Simulations (Maria Patrou, Kenneth B. Kent, Dane Sheppard)....Pages 20-31
Performance Evaluation of WMN-PSOSA-DGA Simulation System Considering Uniform and Chi-Square Client Distributions (Admir Barolli, Shinji Sakamoto, Phudit Ampririt, Seiji Ohara, Leonard Barolli, Makoto Takizawa)....Pages 32-42
Topic-Based Processing Protocol in a Mobile Fog Computing Model (Takumi Saito, Shigenari Nakamura, Tomoya Enokido, Makoto Takizawa)....Pages 43-53
The Energy-Efficient Object Replication Scheme by Omitting Meaningless Write Methods in Virtual Machine Environments (Tomoya Enokido, Makoto Takizawa)....Pages 54-63
Strategies for Alternate Group Trip Planning Queries in Location-Based Services (Wendy Osborn, Shahul Shaik)....Pages 64-76
A Cost Analysis of Routing Algorithms in Pedestrian-Based Delay Tolerant Networks (Tomoyuki Sueda, Naohiro Hayashibara)....Pages 77-88
Secure Cognitive Protocols for Data Fusion in Transformative Computing (Lidia Ogiela, Makoto Takizawa, Urszula Ogiela)....Pages 89-93
A Dynamic Network-Based Fog Computing Model for Energy-Efficient IoT (Yinzhe Guo, Takumi Saito, Shigenari Nakamura, Tomoya Enokido, Makoto Takizawa)....Pages 94-104
Requirements for Trustworthy Artificial Intelligence – A Review (Davinder Kaur, Suleyman Uslu, Arjan Durresi)....Pages 105-115
Optimal Number of MOAP Robots for WMNs Using Elbow Theory (Kenshiro Mitsugi, Atushi Toyama, Keita Matsuo, Leonard Barolli)....Pages 116-126
An Area-Efficient FPGA Implementation of a Real-Time Binary Object Detection System (Narges Attarmoghaddam, Kin Fun Li)....Pages 127-139
Consideration of the Cloud Type Virtual Policy Based Network Management Scheme for the Whole Internet (Kazuya Odagiri, Shogo Shimizu, Naohiro Ishii)....Pages 140-150
The Antikythera Framework: A Novel Design Approach for Accommodating a Large Number of Web Services (Toshihiko Yamakami, Shunsuke Kirino, Masaki Takahashi)....Pages 151-162
An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information (Mohamed K. Elhadad, Kin Fun Li, Fayez Gebali)....Pages 163-175
Community Mining and Cross-Community Discovery in Online Social Networks (Belkacem Chikhaoui, Jean Marie Tshimula, Shengrui Wang)....Pages 176-187
Address Usage Estimation Based on Bitcoin Traffic Behavior (Hiroki Matsumoto, Shusei Igaki, Hiroaki Kikuchi)....Pages 188-199
Comparison of OAuth/OpenID Connect Security in America and Japan (Takamichi Saito, Satoshi Shibata, Tsubasa Kikuta)....Pages 200-210
Enhanced Secure Comparison Schemes Using Homomorphic Encryption (Lihua Wang, Tushar Kanti Saha, Yoshinori Aono, Takeshi Koshiba, Shiho Moriai)....Pages 211-224
The Trade-Off Between the False-Positive Ratio and the Attack Cost of Slow HTTP DoS (Tetsuya Hirakawa, Toyoo Takata)....Pages 225-237
Malware Detection Using Machine Learning Models (Glaucio H. S. Carvalho, Isaac Woungang, Alagan Anpalagan, Issa Traore, Leonard Barolli)....Pages 238-246
A Performance Evaluating Simulation for PSO Algorithm by Applying Traceroute Feature (Hsing-Chung Chen, Agung Mulyo Widodo, Bambang Irawan, Cahya Damarjati, Aristophane Nshimiyimana)....Pages 247-260
Considerations for Using DPDK in a Hypervisor Virtual Environment (Souta Kawahara, Atsushi Kanai)....Pages 261-268
The Bloom Clock to Characterize Causality in Distributed Systems (Ajay D. Kshemkalyani, Anshuman Misra)....Pages 269-279
CySec: Cybersecurity Review Program for Professionals in Japan (Yoshio Kakizaki, Ryoichi Sasaki, Tomohide Okochi, Hiroshi Yasuda)....Pages 280-289
Proposal of a Perimeter Line Management Method for Fog and Edge Computing with SDP Concept (Shigeaki Tanimoto, Yuzuka Sato, Prajak Chertchom, Hiroyuki Sato, Atsushi Kanai)....Pages 290-302
Trusted Records Scheme in Scene Investigation (Yitao Yang, Yubao Wu, Xu An Wang)....Pages 303-308
Energy-Efficient Migration of Virtual Machines (Naomichi Noaki, Takumi Saito, Dilawaer Duolikun, Tomoya Enokido, Makoto Takizawa)....Pages 309-319
An Opportunistic Communication Protocol to Reduce Energy Consumption of Nodes (Nanami Kitahara, Shigenari Nakamura, Takumi Saito, Tomoya Enokido, Makoto Takizawa)....Pages 320-326
A Scheduling Method for Division-Based Broadcasting Considering Consumption Rate of Multiple Videos (Yusuke Gotoh, Kanto Nishino)....Pages 327-337
Improvement and Evaluation of a Function for Tracing the Diffusion of Classified Information on KVM (Hideaki Moriyama, Toshihiro Yamauchi, Masaya Sato, Hideo Taniguchi)....Pages 338-349
A Continuous Media Data Broadcasting Model for Orbiting Base Stations (Tomoki Yoshihisa, Yusuke Gotoh, Akimitsu Kanzaki)....Pages 350-358
A Method for Displaying Puncture Information in CT-Guided Puncture Assistance System (Yusuke Gotoh, Manoka Yamashita, Koji Sakai, Koji Masui)....Pages 359-368
An Integrated Online Learning Approach Using a Smartphone-Based Active Learning System and a Web Video On-Demand System (Noriyasu Yamamoto)....Pages 369-374
Effects of Early Update Cost in Cloud Object Storage Scheduling (Titipat Sukhvibul, Juggapong Natwichai)....Pages 375-381
Construction and Application of Online and Offline Mixed Teaching Mode Under the Background of “Internet + Education” (Ke Wang, Shuguang Liu, Xiaofeng Zhang)....Pages 382-389
Robust Speaker Recognition Based on Stacked Auto-encoders (Zhifeng Wang, Chunyan Zeng, Surong Duan, Hongjie Ouyang, Hongmin Xu)....Pages 390-399
A Portal for Air Pollution Mitigation for Northern Thailand (Rattapol Pornprasit, Methasit Pengmatchaya, Waranya Mahanan, Paskorn Champrasert, Juggapong Natwichai)....Pages 400-404
A Comparison of Thai Sentence Boundary Detection Approaches Using Online Product Review Data (Pree Thiengburanathum)....Pages 405-412
Implementation of a Mixed Reality Space Interior Layout System by Gesture Operation (Tomoyuki Ishida, Kazuma Iwama)....Pages 413-421
Predicted Viewer System of Road State Based on Crowd IoT Sensing Toward Autonomous EV Driving (Yositaka Shibata, Akira Sakuraba, Yoshikazu Arai, Goshi Sato, Noriki Uchida)....Pages 422-431
Construction of Information Presentation Environment Where Various Objects Talk Using Multiple IoT Speakers (Tetsuro Ogi, Keita Enomoto, Shohei Akita, Toshifumi Miyahashi, Takehito Akima, Takumi Sano)....Pages 432-439
Implementation of a Traditional Craft Presentation System Using Smart Glass and Augmented Reality (Tomoyuki Ishida, Yuki Sanefuji)....Pages 440-449
Field Experiment on Cognitive Wireless V2X Communication Over High-Speed WLAN (Akira Sakuraba, Goshi Sato, Noriki Uchida, Yoshitaka Shibata)....Pages 450-460
Application of Fuzzy Logic for Event Evaluation in WSANs (Donald Elmazi, Miralda Cuka, Makoto Ikeda, Keita Matsuo, Leonard Barolli, Makoto Takizawa)....Pages 461-469
Performance Evaluation of VegeCare Tool for Potato Disease Classification (Natwadee Ruedeeniraman, Makoto Ikeda, Leonard Barolli)....Pages 470-478
Effect of Parasitic Coil on Communication Performance on Table Type 13.56 MHz RFID Reader (Kiyotaka Fujisaki, Yuki Yoshigai)....Pages 479-487
Wavelength Tuning of Output Optical Signal Through Resonant Filter for WDM System by Periodic Structure Composed of Silica Glass (Hiroshi Maeda, Naoki Higashinaka)....Pages 488-497
A Grading System of Pot-Phalaenopsis Orchid Using YOLO-V3 Deep Learning Model (Yi-Wei Chang, Yu-Kai Hsiao, Chien-Chuan Ko, Rong-Show Shen, Wei-Yang Lin, Keng-Pei Lin)....Pages 498-507
Effect of Network Slice Duration for 5G Wireless Networks: A Fuzzy-Based Admission Control System Considering Software-Defined Network Approach (Phudit Ampririt, Seiji Ohara, Makoto Ikeda, Keita Matsuo, Leonard Barolli, Makoto Takizawa)....Pages 508-517
Proposal of Container Management Mechanism on Multi-agent Framework (Yafei Zhou, Takahiro Uchiya, Ichi Takumi)....Pages 518-527
Development of Indoor Evacuation Training System Using VR HMD (Takahiro Uchiya, Ichi Takumi)....Pages 528-537
Dialogbook: Simple e-Portfolio System for International Communication Learning (Jun Iio, Shigenori Wakabayashi)....Pages 538-548
A Practical Implementation of Searchable Encrypted Audit Logging System (Yasuhiro Ohtaki, Kenta Togashi)....Pages 549-559
Another HTML5 Implementation of Web-Com for Embedding Chalk Annotations and Talk Voices into HTML Documents (Koki Maruyama, Yasuhiro Ohtaki, Michitoshi Niibori, Tatsuhiro Yonekura, Masaru Kamada)....Pages 560-566
Recovering Lost Connection for Web Browser Network (Masaki Kohana, Shinji Sakamoto, Shusuke Okamoto)....Pages 567-575
A Web-Based Attendance Management System with NFC Seat Identifiers (Kohei Takahashi, Michitoshi Niibori, Masaru Kamada)....Pages 576-581
Preliminary Experiment for Location Tracking from Camera Image Using CNN (Shiori Kawakami, Shinji Sakamoto, Shusuke Okamoto)....Pages 582-589
A Proposal of Children Learning System to Promote Self-directed Choosing of Learning Tasks and Analysis of Learning Data in a Programming Classroom (Yoshihiro Kawano, Yuka Kawano)....Pages 590-599
An Environment for Computer Programming Classes Under COVID-19 Situation (Shusuke Okamoto, Shinji Sakamoto, Masaki Kohana)....Pages 600-608
Back Matter ....Pages 609-611

Citation preview

Advances in Intelligent Systems and Computing 1264

Leonard Barolli Kin Fun Li Tomoya Enokido Makoto Takizawa   Editors

Advances in Networked-Based Information Systems The 23rd International Conference on Network-Based Information Systems (NBiS-2020)

Advances in Intelligent Systems and Computing Volume 1264

Series Editor Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland Advisory Editors Nikhil R. Pal, Indian Statistical Institute, Kolkata, India Rafael Bello Perez, Faculty of Mathematics, Physics and Computing, Universidad Central de Las Villas, Santa Clara, Cuba Emilio S. Corchado, University of Salamanca, Salamanca, Spain Hani Hagras, School of Computer Science and Electronic Engineering, University of Essex, Colchester, UK László T. Kóczy, Department of Automation, Széchenyi István University, Gyor, Hungary Vladik Kreinovich, Department of Computer Science, University of Texas at El Paso, El Paso, TX, USA Chin-Teng Lin, Department of Electrical Engineering, National Chiao Tung University, Hsinchu, Taiwan Jie Lu, Faculty of Engineering and Information Technology, University of Technology Sydney, Sydney, NSW, Australia Patricia Melin, Graduate Program of Computer Science, Tijuana Institute of Technology, Tijuana, Mexico Nadia Nedjah, Department of Electronics Engineering, University of Rio de Janeiro, Rio de Janeiro, Brazil Ngoc Thanh Nguyen , Faculty of Computer Science and Management, Wrocław University of Technology, Wrocław, Poland Jun Wang, Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong, Shatin, Hong Kong

The series “Advances in Intelligent Systems and Computing” contains publications on theory, applications, and design methods of Intelligent Systems and Intelligent Computing. Virtually all disciplines such as engineering, natural sciences, computer and information science, ICT, economics, business, e-commerce, environment, healthcare, life science are covered. The list of topics spans all the areas of modern intelligent systems and computing such as: computational intelligence, soft computing including neural networks, fuzzy systems, evolutionary computing and the fusion of these paradigms, social intelligence, ambient intelligence, computational neuroscience, artificial life, virtual worlds and society, cognitive science and systems, Perception and Vision, DNA and immune based systems, self-organizing and adaptive systems, e-Learning and teaching, human-centered and human-centric computing, recommender systems, intelligent control, robotics and mechatronics including human-machine teaming, knowledge-based paradigms, learning paradigms, machine ethics, intelligent data analysis, knowledge management, intelligent agents, intelligent decision making and support, intelligent network security, trust management, interactive entertainment, Web intelligence and multimedia. The publications within “Advances in Intelligent Systems and Computing” are primarily proceedings of important conferences, symposia and congresses. They cover significant recent developments in the field, both of a foundational and applicable character. An important characteristic feature of the series is the short publication time and world-wide distribution. This permits a rapid and broad dissemination of research results. ** Indexing: The books of this series are submitted to ISI Proceedings, EI-Compendex, DBLP, SCOPUS, Google Scholar and Springerlink **

More information about this series at http://www.springer.com/series/11156

Leonard Barolli Kin Fun Li Tomoya Enokido Makoto Takizawa •





Editors

Advances in Networked-Based Information Systems The 23rd International Conference on Network-Based Information Systems (NBiS-2020)

123

Editors Leonard Barolli Department of Information and Communication Engineering, Faculty of Information Engineering Fukuoka Institute of Technology Fukuoka, Japan Tomoya Enokido Faculty of Business Administration Rissho University Tokyo, Japan

Kin Fun Li Department of Electrical and Computer Engineering University of Victoria Victoria, BC, Canada Makoto Takizawa Department of Advanced Sciences Hosei University Tokyo, Japan

ISSN 2194-5357 ISSN 2194-5365 (electronic) Advances in Intelligent Systems and Computing ISBN 978-3-030-57810-7 ISBN 978-3-030-57811-4 (eBook) https://doi.org/10.1007/978-3-030-57811-4 © Springer Nature Switzerland AG 2021 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. 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 NBiS Steering Committee Co-chairs

Welcome to the 23rd International Conference on Network-Based Information Systems (NBiS-2020), which will be held at University of Victoria, Victoria, Canada, from 31 August to 2 September 2020. The main objective of NBiS is to bring together scientists, engineers and researchers from both network systems and information systems with the aim of encouraging the exchange of ideas, opinions and experiences between these two communities. NBiS started as a workshop and was held for 12 years together with DEXA International Conference as one of the oldest among DEXA Workshops. The workshop was very successful, and in 2009 edition the NBiS was held at IUPUI, Indianapolis, USA, as an independent International Conference supported by many international volunteers. In following years, the NBiSs was held in Takayama, Gifu, Japan (2010), Tirana, Albania (2011), Melbourne, Australia (2012), Gwangju, Korea (2013), Salerno, Italy (2014), Taipei, Taiwan (2015), Ostrava, Czech Republic (2016), Toronto, Canada (2017), Bratislava, Slovakia (2018) and Oita, Japan (2019). In this edition of NBiS, many papers were submitted from all over the world. They were carefully reviewed, and only high-quality papers will be presented during conference days. Many volunteer people have kindly helped us to prepare and organize NBiS-2020. We would like to thank general co-chairs, program co-chairs, workshops co-chairs, organizing committee members, program committee members and other volunteers for their great help and support. We have special thanks also to finance chair and web administrator co-chairs. Finally, we thank the local organization team at University of Victoria, Canada, for their good arrangements. We do hope that you will enjoy the conference and have a good time in Victoria, Japan. Leonard Barolli Makoto Takizawa NBiS Steering Committee Co-chairs v

Welcome Message from NBiS-2020 General Co-chairs

We would like to welcome you to the 23rd International Conference on Network-Based Information Systems (NBiS-2020), which will be held at University of Victoria, Victoria, Canada, from 31 August to 2 September 2020. It is our honour to chair this prestigious conference, as one of the important conferences in the field. Extensive international participation, coupled with rigorous peer reviews, has made this an exceptional technical conference. The technical program and workshops add important dimensions to this event. We hope that you will enjoy each and every component of this event and benefit from interactions with other attendees. Since its inception, NBiS has attempted to bring together people interested in information and networking, in areas that range from the theoretical aspects to the practical design of new network systems, distributed systems, multimedia systems, Internet/web technologies, mobile computing, intelligent computing, pervasive/ubiquitous networks, dependable systems, semantic services, grid, P2P and scalable computing. For NBiS-2020, we have continued these efforts as novel networking concepts emerge and new applications flourish. The organization of an international conference requires the support and help of many people. A lot of people have helped and worked hard for a successful NBiS-2020 technical program and conference proceedings. First, we would like to thank all the authors for submitting their papers. We are indebted to track co-chairs, program committee members and reviewers who carried out the most difficult work of carefully evaluating the submitted papers. We would like to give our special thanks to Prof. Leonard Barolli and Prof. Makoto Takizawa the chairs of the steering committee for giving us the opportunity to hold this conference and for their guidance on organizing the conference. We would like to thank program co-chairs and workshops co-chairs for their excellent

vii

viii

Welcome Message from NBiS-2020 General Co-chairs

work. We would like to express our great appreciation to our keynote speakers for accepting our invitation as keynote speakers of NBiS-2020. We hope that you have an enjoyable and productive time during this conference. Kin Fun Li Tomoya Enokido NBiS-2020 General Co-chairs

Welcome Message from NBiS-2020 Program Committee Co-chairs

Welcome to the 23rd International Conference on Network-Based Information Systems (NBiS-2020), which will be held at University of Victoria, Victoria, Canada, from 31 August to 2 September 2020. The purpose of NBiS conference is to bring together developers and researchers to share ideas and research work in the emerging areas of network and information systems. The contributions included in the proceedings of NBiS-2020 cover all aspects of theory, design and application of computer networks and information systems. There are many topics of information networking such as cloud computing, wireless sensor networks, ad hoc networks, peer-to-peer systems, grid computing, social networking, multimedia systems and applications, security, distributed and parallel systems and mobile computing. The organization of an International Conference requires the support and help of many people. First, we would like to thank all authors for submitting their papers. We would like to thank all track chairs and program committee members, who carried out the most difficult work of carefully evaluating the submitted papers. We would like to give special thanks to Prof. Leonard Barolli and Prof. Makoto Takizawa the chairs of the steering committee of NBiS for their strong encouragement, guidance, insights and for their effective coordination of conference organization. We would like to greatly thank general co-chairs for their great support and invaluable suggestions to make the conference a very successful event. We hope you will enjoy the conference. Michael McGuire Lidia Ogiela Naohiro Hayashibara NBiS-2020 Program Committee Co-chairs

ix

NBiS-2020 Organizing Committee

General Co-chairs Kin Fun Li Tomoya Enokido

University of Victoria, Canada Rissho University, Japan

Program Committee Co-chairs Michael McGuire Lidia Ogiela Naohiro Hayashibara

University of Victoria, Canada Pedagogical University of Cracow, Poland Kyoto Sangyo University, Japan

Workshop Co-chairs Fayez Gebali Tomoyuki Ishida Chuan-Yu Chang

University of Victoria, Canada Fukuoka Institute of Technology, Japan National Yunlin University of Science and Technology, Taiwan

Award Co-chairs Markus Aleksy Wenny Rahayu Isaac Woungang

ABB AG, Germany La Trobe University, Australia Ryerson University, Canada

Publicity Co-chairs Mihai Sima Minoru Uehara

University of Victoria, Canada Toyo University, Japan

xi

xii

David Taniar Arjan Durresi

NBiS-2020 Organizing Committee

Monash University, Australia IUPUI, USA

International Liaison Co-chairs Ilamparithi Thirumarai Chelvan Farookh Hussain Marek Ogiela Hiroaki Kikuchi

University of Victoria, Canada University Technology Sidney, Australia AGH University of Science and Technology, Poland Meiji University, Japan

Local Arrangement Co-chairs Marina Ibrishimova Narges Attarmoghaddam

University of Victoria, Canada University of Victoria, Canada

Finance Chair Makoto Ikeda

Fukuoka Institute of Technology, Japan

Web Administrator Co-chairs Kevin Bylykbashi Donald Elmazi Miralda Cuka

Fukuoka Institute of Technology, Japan Fukuoka Institute of Technology, Japan Fukuoka Institute of Technology, Japan

Steering Committee Co-chairs Leonard Barolli Makoto Takizawa

Fukuoka Institute of Technology, Japan Hosei University, Japan

Track Areas and PC Members Track 1: Mobile and Wireless Networks Track Co-chairs Tetsuya Shigeyasu Vamsi Krishna Paruchuri Makoto Ikeda

Prefectural University of Hiroshima, Japan University of Central Arkansas, USA Fukuoka Institute of Technology, Japan

NBiS-2020 Organizing Committee

xiii

PC Members Nobuyoshi Sato Kanunori Ueda Masaaki Yamanaka Takuya Yoshihiro Tomoya Kawakami Masaaki Noro Admir Barolli Keita Matsuo Elis Kulla Noriki Uchida Arjan Durresi Sriram Chellappan

Iwate Prefectural University, Japan Kochi University of Technology, Japan Japan Coast Guard Academy, Japan Wakayama University, Japan Nara Institute of Science and Technology, Japan Fujitsu Laboratory, Japan Aleksander Moisiu University of Durresi, Albania Fukuoka Institute of Technology, Japan Okayama University of Science, Japan Fukuoka Institute of Technology, Japan IUPUI, USA University of South Florida (USF), USA

Track 2: Internet of Things and Big Data Track Co-chairs Nik Bessis Chun-Wei Tsai Patrick Hung

Edge Hill University, UK National Ilan University, Taiwan University of Ontario Institute of Technology, Canada

PC Members Ella Perreira Sergio Toral Stelios Sotiriadis Birkbeck Eleana Asimakopoulou Xiaolong Xu Kevin Curran Kamen Kanev Shih-Chia Huang Jorge Roa Alvaro Joffre Uribe Marcelo Fantinato Marco Zennaro Priyanka Rawat Francesco Piccialli Chi-Yuan Chen

Edge Hill University, UK University of Seville, Spain University of London, UK Hellenic National Defence College, Greece University of Posts & Telecommunications, China Ulster University, UK Shizuoka University, Japan National Taipei University of Technology, Taiwan UTN Santa Fe, Argentina Universidad Militar Nueva Granada, Colombia University of Sao Paulo, Brazil Wireless and T/ICT4D Laboratory, Italy University of Avignon, France University of Naples Federico II, Italy National Ilan University, Taiwan

xiv

NBiS-2020 Organizing Committee

Track 3: Cloud, Grid and Service Oriented Computing Track Co-chairs Ciprian Dobre Olivier Terzo Muhammad Younas

Polytechnic University of Bucharest, Romania LINKS Foundation, Italy Oxford Brookes University, UK

PC Members Zia Rehman Walayat Hussain Farookh Hussain Adil Hammadi Rui Pais Raymond Hansen Antorweep Chakravorty Rui Esteves Constandinos X. Mavromoustakis Ioan Salomie George Mastorakis Sergio L. Toral Marín Marc Frincu Alexandru Costan Xiaomin Zhu Radu Tudoran Mauro Migliardi Harold Castro Andrea Tosatto Rodrigo Calheiros

COMSATS University Islamabad, Pakistan University of Technology, Sydney, Australia University of Technology, Sydney, Norway Sultan Qaboos University, Oman, Norway University of Stavanger, Norway Purdue University, USA University of Stavanger, Norway National Oilwell Varco, Norway University of Nicosia, Cyprus Technical University of Cluj-Napoca, Romania, Romania Technological Educational Institute of Crete, Greece University of Seville, Spain West University of Timisoara, Romania IRISA/INSA Rennes, France National University of Defense Technology, China Huawei, Munich, Germany University of Padua, Italy Universidad de Los Andes, Colombia Open-Xchange, Germany Western Sydney University, Australia

Track 4: Multimedia and Web Applications Track Co-chairs Takahiro Uchiya Tomoyuki Ishida Nobuo Funabiki

Nagoya Institute of Technology, Japan Fukuoka Institute of Technology, Japan Okayama University, Japan

NBiS-2020 Organizing Committee

xv

PC Members Shigeru Fujita Yuka Kato Yoshiaki Kasahara Rihito Yaegashi Kazunori Ueda Ryota Nishimura Shohei Kato Shinsuke Kajioka Atsuko Muto Kaoru Sugita Noriyasu Yamamoto

Chiba Institute of Technology, Japan Tokyo Woman’s Christian University, Japan Kyushu University, Japan Kagawa University, Japan Kochi University of Technology, Japan Keio University, Japan Nagoya Institute of Technology, Japan Nagoya Institute of Technology, Japan Nagoya Institute of Technology, Japan Fukuoka Institute of Technology, Japan Fukuoka Institute of Technology, Japan

Track 5: Ubiquitous and Pervasive Computing Track Co-chairs Chi-Yi Lin Elis Kulla Isaac Woungang

Tamkang University, Taiwan Okayama University of Science, Japan Ryerson University, Canada

PC Members Jichiang Tsai Chang Hong Lin Meng-Shiuan Pan Chien-Fu Cheng Ang Chen Santi Caballe Evjola Spaho Makoto Ikeda Donald Elmazi

National Chung Hsing University, Taiwan National Taiwan University of Science and Technology, Taiwan Tamkang University, Taiwan Tamkang University, Taiwan University of Pennsylvania, USA Open University of Catalonia, Spain Polytechnic University of Tirana, Albania Fukuoka Institute of Technology, Japan Fukuoka Institute of Technology, Japan

Track 6: Network Security and Privacy Track Co-chairs Takamichi Saito Sriram Chellappan Feilong Tang

Meiji University, Japan University of South Florida, USA Shanghai Jiao Tong University, China

xvi

NBiS-2020 Organizing Committee

PC Members Satomi Saito Kazumasa Omote Koji Chida Hiroki Hada Hirofumi Nakakouji Na Ruan Chunhua Su Kazumasa Omote Toshihiro Yamauchi Masakazu Soshi Bagus Santoso Laiping Zhao Jingyu Hua Xiaobo Zhou Yuan Zhan Yizhi Ren Arjan Durresi Vamsi Krishna Paruchuri

Fujitsu Laboratories, Japan Univesity of Tsukuba, Japan NTT, Japan NTT Security (Japan) KK, Japan Hitachi, Ltd., Japan Shanghai Jiaotong University, China Osaka University, China University of Tsukuba, Japan Okayama University, Japan Hiroshima City University, Japan The University of Electro-Communications, Japan Tianjin University, China Nanjing University, China Tianjin University, China Nanjing University, China Hangzhou Dianzi University, China IUPUI, USA University of Central Arkansas, USA

Track 7: Database, Data Mining and Semantic Computing Track Co-chairs Wendy K. Osborn Eric Pardade Akimitsu Kanzaki

University of Lethbridge, Canada La Trobe University, Australia Shimane University, Japan

PC Members Asm Kayes Ronaldo dos Santos Mello Saqib Ali Hong Quang Nguyen Irena Holubova Prakash Veeraraghavan Carson Leung Marwan Hassani Tomoki Yoshihisa Tomoya Kawakami Atsushi Takeda Yoshiaki Terashima Yuuichi Teranishi

La Trobe University, Australia Universidade Federal de Santa Catarina, Brazil Sultan Qaboos University, Oman Ho Chi Minh City International University, Vietnam Charles University Prague, Czech Republic La Trobe University, Australia University of Manitoba, Canada Aachen University, Germany Osaka University, Japan NAIST, Japan Tohoku Gakuin University, Japan Soka University, Japan NICT, Japan

NBiS-2020 Organizing Committee

Jackie Rice Yllias Chali John Zhang

xvii

University of Lethbridge, Canada University of Lethbridge, Canada University of Lethbridge, Canada

Track 8: Network Proctocols and Applications Track Co-chairs Irfan Awan Sanjay Kuamr Dhurandher Hsing-Chung Chen

University of Bradford, UK NSIT, University of Delhi, India Asia University, Taiwan

PC Members Samia Loucif Abdelhamid Mammeri Jun He Peyman Kabiri Chen Chen Ahmed Abdelgawad Wael Elmedany Behrouz Maham Rubem Pereira Carlos Juiz Faheem Ahmed Paulo Gil Michael Mcguire Steven Guan Gregorio Romero Amita Malik Mayank Dave Vinesh Kumar R. K. Pateriya Himanshu Aggarwal Neng-Yih Shih Yeong-Chin Chen Hsi-Chin Hsin Ming-Shiang Huang Chia-Cheng Liu Chia-Hsin Cheng Tzu-Liang Kung Gene Shen

ALHOSN University, UAE Ottawa University Ontario, Canada University of New Brunswick, Canada University of Science and Technology, Iran University of Texas, USA Central Michigan University, USA University of Bahrain, Bahrain School of Electrical and Computer Engineering, Iran Liverpool John Moores University, UK University of the Balearic Islands, Spain Thompson Rivers University, Canada FCT-UNL, Portugal University of Victoria, Canada Xian Jiatong-Liverpool University, China Universidad Politecnica de Madrid, Spain Deenbandhu Chhotu Ram University of Science and Technology, India NIT, Kurukshetra, India University of Delhi, India MANIT, Bhopal, India Punjabi University, India Asia University, Taiwan Asia University, Taiwan National United University, Taiwan Asia University, Taiwan Asia University, Taiwan National Formosa University Yunlin County, Taiwan Asia University, Taiwan Asia University, Taiwan

xviii

Jim-Min Lin Chia-Cheng Liu Yen-Ching Chang Shu-Hong Lee Ho-Lung Hung Gwo-Ruey Lee Li-Shan Ma Chung-Wen Hung Yung-Chen Chou Chen-Hung Chuang Jing-Doo Wang Jui-Chi Chen Young-Long Chen

NBiS-2020 Organizing Committee

Feng Chia University, Taiwan Asia University, Taiwan Chung Shan Medical University, Taiwan Chienkuo Technology University, Taiwan Chienkuo Technology University, Taiwan Lung-Yuan Research Park, Taiwan Chienkuo Technology University, Taiwan National Yunlin University of Science & Technology University, Taiwan Asia University, Taiwan Asia University, Taiwan Asia University, Taiwan Asia University, Taiwan National Taichung University of Science and Technology, Taiwan

Track 9: Intelligent and Cognitive Computing Track Co-chairs Lidia Ogiela Farookh Hussain Hae-Duck Joshua Jeong

Pedagogical University of Cracow, Poland University of Technology Sydney, Australia Korean Bible University, Korea

PC Members Yiyu Yao Daqi Dong Jan Platoš Pavel Krömer Urszula Ogiela Jana Nowaková Hoon Ko Chang Choi Gangman Yi Wooseok Hyun Hsing-Chung Jack Chen Jong-Suk Ruth Lee Hyun Jung Lee Ji-Young Lim Omar Hussain

University of Regina, Canada University of Memphis, USA VŠB Technical University of Ostrava, Czech Republic VŠB Technical University of Ostrava, Czech Republic AGH University of Science and Technology, Poland VŠB Technical University of Ostrava, Czech Republic Chosun University, Korea Chosun University, Korea Gangneung-Wonju National University, Korea Korean Bible University, Korea Asia University, Taiwan KISTI, Korea Yonsei University, Korea Korean Bible University, Korea UNSW Canberra, Australia

NBiS-2020 Organizing Committee

Saqib Ali Morteza Saberi Sazia Parvin Walayat Hussain

xix

Sultan Qaboos University, Oman UNSW Canberra, Australia UNSW Canberra, Australia University of Technology Sydney, Australia

Track 10: Parallel and Distributed Computing Track Co-chairs Naohiro Hayashibara Deepali Arora Bhed Bista

Kyoto Sangyo University, Japan University of Victoria, Canada Iwate Prefectural University, Japan

PC Members Kin Fun Li Kosuke Takano Masahiro Ito Watheq ElKharashi Martine Wedlake Jiahong Wang Shigetomo Kimura Chotipat Pornavalai Danda B. Rawat Gongjun Yan Shu-Shaw Wang Naonobu Okazaki Yoshiaki Terashima Atsushi Takeda Tomoki Yoshihisa Akira Kanaoka Flora Amato Vincenzo Moscato Walter Balzano Francesco Moscato Francesco Mercaldo Alessandra Amato Francesco Piccialli

University of Victoria, Canada Kanagawa Institute of Technology, Japan Toshiba Laboratory, Japan Ain Shams University, Egypt IBM, USA Iwate Prefectural University, Japan University of Tsukuba, Japan King Mongkut’s Institute of Technology Ladkrabang, Thailand Howard University, USA University of Southern Indiana, USA Dallas Baptist University, USA Miyazaki University, Japan Soka University, Japan Tohoku Gakuin University, Japan Osaka University, Japan Toho University, Japan University of Naples Federico II, Italy University of Naples Federico II, Italy University of Naples Federico II, Italy University of Campania Luigi Vanvitelli, Italy Consiglio Nazionale delle Ricerche (CNR), Italy University of Naples Federico II, Italy University of Naples Federico II, Italy

xx

NBiS-2020 Organizing Committee

NBiS-2020 Reviewers Ali Khan Zahoor Barolli Admir Barolli Leonard Bista Bhed Caballé Santi Chang Chuan-Yu Chellappan Sriram Chen Hsing-Chung Cui Baojiang Di Martino Beniamino Durresi Arjan Enokido Tomoya Ficco Massimo Fun Li Kin Funabiki Nobuo Gotoh Yusuke Hussain Farookh Hussain Omar Javaid Nadeem Jeong Joshua Ikeda Makoto Ishida Tomoyuki Kikuchi Hiroaki Kohana Masaki Koyama Akio Kulla Elis Lee Kyungroul Matsuo Keita

Nishigaki Masakatsu Ogiela Lidia Ogiela Marek Okada Yoshihiro Omote Kazumasa Palmieri Francesco Paruchuri Vamsi Krishna Rahayu Wenny Rawat Danda Shibata Yoshitaka Saito Takamichi Sato Fumiaki Spaho Evjola Sugita Kaoru Takizawa Makoto Tang Feilong Taniar David Terzo Olivier Uchida Noriki Uchiya Takahiro Uehara Minoru Venticinque Salvatore Wang Xu An Woungang Isaac Xhafa Fatos Yim Kangbin Younas Muhammad

NBiS-2020 Keynote Talks

Trustworthy Decision-Making and Artificial Intelligence Arjan Durresi Indiana University Purdue University in Indianapolis, Indianapolis, Indiana, USA

Abstract. Algorithms and computers have been used for a long time in supporting decision-making in various fields of human endowers. Examples include optimization techniques in engineering, statistics in experiment design, modelling of different natural phenomena and so on. In all such uses of algorithms and computers, an essential question has been how much we can trust them, what are the potential errors of such models, what is the field range of their applicability? With time, the algorithms and computers we use have become more powerful and more complex, and we call them today as artificial intelligence that includes various machine learning and other algorithmic techniques. But the increase of power and complexity of algorithms and computers and with extended use of them the question of how much we should trust them becomes more crucial. Their complexity might hide more potential errors and especially the interdependencies; their solution might be difficult to be explained and so on. To deal with these problems, we have developed an evidence and measurement-based trust management system; our system can be used to measure trust in human to human, human to machine and machine to machine interactions. In this talk, we will introduce our trust system and its validation on real stock market data. Furthermore, we will discuss the use of our trust system to build more secure computer systems, filter fake news on social networks and develop better collective decision-making support systems in managing natural resources, as well as future potential uses.

Mining and Modeling Regime Shifts for Multiple Time Series Forecasting Shengrui Wang University of Sherbrooke, Sherbrooke, Quebec, Canada

Abstract. Time series are a type of time-dependent data found in many fields such as finance, medicine, meteorology, ecology and utility industry. In such fields, time series forecasting is an issue of great importance as it can help predict future index/equity values and behavioural changes in a stock market, health trajectories of a patient and probabilities of failure events such as death and (re)-hospitalization and varying electricity consumption of individual households. It also poses significant theoretical and methodological challenges. One such challenge is identification and prediction of a regime and regime shifts since most time series models, whether they are linear or nonlinear, work well only within one regime. In this talk, I will introduce our recent work on building a novel framework to model time series interaction and evolution as an ecosystem. The focus of the talk is to show how to make use of the graph or network structures and community analysis approaches to account for interactions or interdependencies between time series. For this purpose, we build a time-evolving network graph from moving window segments of time series, where nodes represent time series profiles and links correspond to similarity between the time series. By using a community detection algorithm, we discover communities displaying similar behaviours, or regimes, and trace the discovered behaviours in the form of trajectories of structural changes in these communities. Such changes are considered as behaviour events that may appear, persist or disappear w.r.t. a community, reflecting the survival of regimes and abrupt transition between regimes. Using such network structures for modelling the interactions allows also discovering “relational” features explaining why certain behaviours may persist longer than others. These relational features, together with behaviour profiles, constitute input to machine learning models for regime analysis and trajectory forecasting. In our work, we tackle the problem of learning regime shifts by modeling a time-dependent probability of transition between regimes, using a full time-dependent Cox regression model. We evaluate the whole approach by testing it on both synthetic and real data sets and compare its performance with that of state-of-the-art learning algorithms.

xxv

Contents

Detecting DoS and DDoS Attacks by Using CuSum Algorithm in 5G Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shih-Ting Chiu and Fang-Yie Leu

1

A Fuzzy-Based System for Assessment of Available Edge Computing Resources in a Cloud-Fog-Edge SDN-VANETs Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ermioni Qafzezi, Kevin Bylykbashi, Phudit Ampririt, Makoto Ikeda, Leonard Barolli, and Makoto Takizawa

10

Optimization of JavaScript Large-Scale Urban Simulations . . . . . . . . . . Maria Patrou, Kenneth B. Kent, and Dane Sheppard Performance Evaluation of WMN-PSOSA-DGA Simulation System Considering Uniform and Chi-Square Client Distributions . . . . Admir Barolli, Shinji Sakamoto, Phudit Ampririt, Seiji Ohara, Leonard Barolli, and Makoto Takizawa Topic-Based Processing Protocol in a Mobile Fog Computing Model . . . Takumi Saito, Shigenari Nakamura, Tomoya Enokido, and Makoto Takizawa

20

32

43

The Energy-Efficient Object Replication Scheme by Omitting Meaningless Write Methods in Virtual Machine Environments . . . . . . . Tomoya Enokido and Makoto Takizawa

54

Strategies for Alternate Group Trip Planning Queries in Location-Based Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wendy Osborn and Shahul Shaik

64

A Cost Analysis of Routing Algorithms in Pedestrian-Based Delay Tolerant Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tomoyuki Sueda and Naohiro Hayashibara

77

xxvii

xxviii

Contents

Secure Cognitive Protocols for Data Fusion in Transformative Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lidia Ogiela, Makoto Takizawa, and Urszula Ogiela A Dynamic Network-Based Fog Computing Model for Energy-Efficient IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yinzhe Guo, Takumi Saito, Shigenari Nakamura, Tomoya Enokido, and Makoto Takizawa

89

94

Requirements for Trustworthy Artificial Intelligence – A Review . . . . . 105 Davinder Kaur, Suleyman Uslu, and Arjan Durresi Optimal Number of MOAP Robots for WMNs Using Elbow Theory . . . 116 Kenshiro Mitsugi, Atushi Toyama, Keita Matsuo, and Leonard Barolli An Area-Efficient FPGA Implementation of a Real-Time Binary Object Detection System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Narges Attarmoghaddam and Kin Fun Li Consideration of the Cloud Type Virtual Policy Based Network Management Scheme for the Whole Internet . . . . . . . . . . . . . . . . . . . . . 140 Kazuya Odagiri, Shogo Shimizu, and Naohiro Ishii The Antikythera Framework: A Novel Design Approach for Accommodating a Large Number of Web Services . . . . . . . . . . . . . 151 Toshihiko Yamakami, Shunsuke Kirino, and Masaki Takahashi An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Mohamed K. Elhadad, Kin Fun Li, and Fayez Gebali Community Mining and Cross-Community Discovery in Online Social Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Belkacem Chikhaoui, Jean Marie Tshimula, and Shengrui Wang Address Usage Estimation Based on Bitcoin Traffic Behavior . . . . . . . . 188 Hiroki Matsumoto, Shusei Igaki, and Hiroaki Kikuchi Comparison of OAuth/OpenID Connect Security in America and Japan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Takamichi Saito, Satoshi Shibata, and Tsubasa Kikuta Enhanced Secure Comparison Schemes Using Homomorphic Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Lihua Wang, Tushar Kanti Saha, Yoshinori Aono, Takeshi Koshiba, and Shiho Moriai The Trade-Off Between the False-Positive Ratio and the Attack Cost of Slow HTTP DoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Tetsuya Hirakawa and Toyoo Takata

Contents

xxix

Malware Detection Using Machine Learning Models . . . . . . . . . . . . . . . 238 Glaucio H. S. Carvalho, Isaac Woungang, Alagan Anpalagan, Issa Traore, and Leonard Barolli A Performance Evaluating Simulation for PSO Algorithm by Applying Traceroute Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Hsing-Chung Chen, Agung Mulyo Widodo, Bambang Irawan, Cahya Damarjati, and Aristophane Nshimiyimana Considerations for Using DPDK in a Hypervisor Virtual Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Souta Kawahara and Atsushi Kanai The Bloom Clock to Characterize Causality in Distributed Systems . . . . 269 Ajay D. Kshemkalyani and Anshuman Misra CySec: Cybersecurity Review Program for Professionals in Japan . . . . 280 Yoshio Kakizaki, Ryoichi Sasaki, Tomohide Okochi, and Hiroshi Yasuda Proposal of a Perimeter Line Management Method for Fog and Edge Computing with SDP Concept . . . . . . . . . . . . . . . . . . . . . . . . 290 Shigeaki Tanimoto, Yuzuka Sato, Prajak Chertchom, Hiroyuki Sato, and Atsushi Kanai Trusted Records Scheme in Scene Investigation . . . . . . . . . . . . . . . . . . . 303 Yitao Yang, Yubao Wu, and Xu An Wang Energy-Efficient Migration of Virtual Machines . . . . . . . . . . . . . . . . . . . 309 Naomichi Noaki, Takumi Saito, Dilawaer Duolikun, Tomoya Enokido, and Makoto Takizawa An Opportunistic Communication Protocol to Reduce Energy Consumption of Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Nanami Kitahara, Shigenari Nakamura, Takumi Saito, Tomoya Enokido, and Makoto Takizawa A Scheduling Method for Division-Based Broadcasting Considering Consumption Rate of Multiple Videos . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Yusuke Gotoh and Kanto Nishino Improvement and Evaluation of a Function for Tracing the Diffusion of Classified Information on KVM . . . . . . . . . . . . . . . . . . 338 Hideaki Moriyama, Toshihiro Yamauchi, Masaya Sato, and Hideo Taniguchi A Continuous Media Data Broadcasting Model for Orbiting Base Stations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Tomoki Yoshihisa, Yusuke Gotoh, and Akimitsu Kanzaki

xxx

Contents

A Method for Displaying Puncture Information in CT-Guided Puncture Assistance System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Yusuke Gotoh, Manoka Yamashita, Koji Sakai, and Koji Masui An Integrated Online Learning Approach Using a Smartphone-Based Active Learning System and a Web Video On-Demand System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Noriyasu Yamamoto Effects of Early Update Cost in Cloud Object Storage Scheduling . . . . . 375 Titipat Sukhvibul and Juggapong Natwichai Construction and Application of Online and Offline Mixed Teaching Mode Under the Background of “Internet + Education” . . . . . 382 Ke Wang, Shuguang Liu, and Xiaofeng Zhang Robust Speaker Recognition Based on Stacked Auto-encoders . . . . . . . 390 Zhifeng Wang, Chunyan Zeng, Surong Duan, Hongjie Ouyang, and Hongmin Xu A Portal for Air Pollution Mitigation for Northern Thailand . . . . . . . . . 400 Rattapol Pornprasit, Methasit Pengmatchaya, Waranya Mahanan, Paskorn Champrasert, and Juggapong Natwichai A Comparison of Thai Sentence Boundary Detection Approaches Using Online Product Review Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Pree Thiengburanathum Implementation of a Mixed Reality Space Interior Layout System by Gesture Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Tomoyuki Ishida and Kazuma Iwama Predicted Viewer System of Road State Based on Crowd IoT Sensing Toward Autonomous EV Driving . . . . . . . . . . . . . . . . . . . . . . . 422 Yositaka Shibata, Akira Sakuraba, Yoshikazu Arai, Goshi Sato, and Noriki Uchida Construction of Information Presentation Environment Where Various Objects Talk Using Multiple IoT Speakers . . . . . . . . . . . . . . . . 432 Tetsuro Ogi, Keita Enomoto, Shohei Akita, Toshifumi Miyahashi, Takehito Akima, and Takumi Sano Implementation of a Traditional Craft Presentation System Using Smart Glass and Augmented Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Tomoyuki Ishida and Yuki Sanefuji Field Experiment on Cognitive Wireless V2X Communication Over High-Speed WLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Akira Sakuraba, Goshi Sato, Noriki Uchida, and Yoshitaka Shibata

Contents

xxxi

Application of Fuzzy Logic for Event Evaluation in WSANs . . . . . . . . . 461 Donald Elmazi, Miralda Cuka, Makoto Ikeda, Keita Matsuo, Leonard Barolli, and Makoto Takizawa Performance Evaluation of VegeCare Tool for Potato Disease Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Natwadee Ruedeeniraman, Makoto Ikeda, and Leonard Barolli Effect of Parasitic Coil on Communication Performance on Table Type 13.56 MHz RFID Reader . . . . . . . . . . . . . . . . . . . . . . . . 479 Kiyotaka Fujisaki and Yuki Yoshigai Wavelength Tuning of Output Optical Signal Through Resonant Filter for WDM System by Periodic Structure Composed of Silica Glass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 Hiroshi Maeda and Naoki Higashinaka A Grading System of Pot-Phalaenopsis Orchid Using YOLO-V3 Deep Learning Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Yi-Wei Chang, Yu-Kai Hsiao, Chien-Chuan Ko, Rong-Show Shen, Wei-Yang Lin, and Keng-Pei Lin Effect of Network Slice Duration for 5G Wireless Networks: A Fuzzy-Based Admission Control System Considering Software-Defined Network Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 Phudit Ampririt, Seiji Ohara, Makoto Ikeda, Keita Matsuo, Leonard Barolli, and Makoto Takizawa Proposal of Container Management Mechanism on Multi-agent Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Yafei Zhou, Takahiro Uchiya, and Ichi Takumi Development of Indoor Evacuation Training System Using VR HMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Takahiro Uchiya and Ichi Takumi Dialogbook: Simple e-Portfolio System for International Communication Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 Jun Iio and Shigenori Wakabayashi A Practical Implementation of Searchable Encrypted Audit Logging System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Yasuhiro Ohtaki and Kenta Togashi Another HTML5 Implementation of Web-Com for Embedding Chalk Annotations and Talk Voices into HTML Documents . . . . . . . . . 560 Koki Maruyama, Yasuhiro Ohtaki, Michitoshi Niibori, Tatsuhiro Yonekura, and Masaru Kamada

xxxii

Contents

Recovering Lost Connection for Web Browser Network . . . . . . . . . . . . 567 Masaki Kohana, Shinji Sakamoto, and Shusuke Okamoto A Web-Based Attendance Management System with NFC Seat Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Kohei Takahashi, Michitoshi Niibori, and Masaru Kamada Preliminary Experiment for Location Tracking from Camera Image Using CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 Shiori Kawakami, Shinji Sakamoto, and Shusuke Okamoto A Proposal of Children Learning System to Promote Self-directed Choosing of Learning Tasks and Analysis of Learning Data in a Programming Classroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 Yoshihiro Kawano and Yuka Kawano An Environment for Computer Programming Classes Under COVID-19 Situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 Shusuke Okamoto, Shinji Sakamoto, and Masaki Kohana Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609

Detecting DoS and DDoS Attacks by Using CuSum Algorithm in 5G Networks Shih-Ting Chiu and Fang-Yie Leu(&) Department of Computer Science, Tunghai University, Taichung, Taiwan {G08350023,leufy}@thu.edu.tw

Abstract. Nowadays, 5G networks (or simply 5G) will soon enter our everyday lives to enrich our colorful living environment. However, current 5G lacks of tools that can automatically detect and relieve DoS or DDoS attacks. Basically, 5G. will push its users to link to its attached subsystem, i.e., edge computers, which will burden some of the tasks originally provided by its core network. In the near future, when 5G networks start serving User Equipment (UE), the security problem will be serious. Therefore, in this research, we propose a security system to detect DoS/DDoS attacks and mitigate the attack so that the network can continue effectively serving UEs. We also conducted related experiments to validate our proposed structural design and its feasibility. Eight attackers attack this system at the same time, issuing totally 800 Mbps network traffic. The proposed system can effectively protect the simulated environment from DoS/DDoS attacks without any human interference. Keywords: CuSum algorithm

 DoS  DDoS  5G  5G security

1 Introduction In the near future, 5G network (or simply 5G) will be soon available to provide us with high quality services, e.g., offering high-speed transmission and versatile video programs. In fact, our current everyday lives heavily rely on high technology and networks since they give a colorful and convenient living environment to us. However, when we enjoy such kinds of high quality services, network attacks also continuously increase, like Malware [1], Phishing [2], Hacking [3], Denial of Service (DoS) [4], Distributed Denial of Service (DDoS) attack [4], SQL Injections [5], Man-in-the-Middle attack [6] and An Advanced Persistent Threat (APT) [7]. In 5G system architecture, system safety and some security issues had been considered, e.g., UE authentication and Access stratum and Non-access stratum encryption/decryption [8]. However, 5G as a network of high user capacity and high speed transmission will attract many applications to serve their users with high density and high resolution programs, thus heavily increasing 5G network traffic and leading to the fact that hackers have higher bandwidths to deliver their attack packets. This will result in more wide and serious security threats. Therefore, in this study, we propose a security mechanism, named Autonomous Security System of 5G Networks (ASec5G), which as a security architecture developed for 5G networks, detects 5G DDoS attacks by using Cumulative Sum (CuSum) algorithm. It also provides a self-decision © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 1–9, 2021. https://doi.org/10.1007/978-3-030-57811-4_1

2

S.-T. Chiu and F.-Y. Leu

mechanism to mitigate the attack so that the system can continuously service other normal users. Our experiments demonstrate that the ASec5G can effectively detect DDoS attacks for 5G networks and relieve the attacks by discard those packets issued by hackers. The rest of this paper is organized as follows. Section 2 introduces related work of this paper. Section 3 describes the system architecture. Section 4 presents the features verification. Section 5 concludes this paper and addresses our future studies.

2 Related Work This section describes background and related works of this study. 2.1

Intrusion Detection System (IDS)

An Intrusion Detection System (IDS) is a device (i.e., hardware IDS) or software application that monitors a network for detecting malicious activities or policy violations. When any malicious activity or violation is discovered, it typically reports this event to system manager and/or collects the behaviors as a new signature for further analysis. IDS systems can be classified into Network-based Intrusion Detection Systems (NIDS) and Host-based Intrusion Detection Systems (HIDS). A HIDS as a computer’s agent detecting whether anything/anyone or whether internal/external has malicious behaviors against the system’s security policies by monitoring which program accesses what resources to uncover malicious behaviors. It also checks states of the system it protects, the information it stores (in log file, in primary memory, in the file system, etc.) and the contents of these appear as expected (whether or not varied by hackers). An IDS, placed at a throat point or throat points of the protected network, collects network traffic T for a user/a group of users/subnet with which to detect attacks. We call it a NIDS which basically checks to see whether T is a DoS attack by verifying whether T highly exceeds its normal amount and the exceeding time lasts long enough. Traditional network-based intrusion detection systems (NIDS) alert system managers when attacks are discovered. When it is integrated with network state (like packet lost rates and network congestion duration), NIDS can usually discover DDoS attacks [4] that are attacking the underlying network. Basically, the detection approaches of IDS have been divided into two classes, i.e., anomaly-based IDAS (AIDS) [9] and feature/signature-based IDS (SIDS) [10]. The former first collects normal behaviors of a network system. When network behaviors are deviated from normal ones, AIDS considers this is an attack. Feature/signature detection is the case in which IDS first collects attack behaviors, rather than normal behaviors, to construct a feature/signature model which is also a knowledge base. IDS compares network behaviors with features/signatures collected in the feature/signature model. When network behaviors meet at least one of the features/signatures, NIDS will treat it as an attack/intrusion.

Detecting DoS and DDoS Attacks by Using CuSum Algorithm

2.2

3

A Simplified 5G Architecture

Figure 1 presents a simplified 5G network architecture in which edge computers as one of 5G features share tasks that are originally performed by 5GC (5G Core) or remote clouds, like pushing local advertisement of restaurants and gas stations to UEs or monitoring and analyzing care-receivers physiological data. They are deployed near the edge of a network, of course near users, to serve nearby users. Radio Access Networks (RAN) are always installed on the top of a building or a higher place, like a small hill, aiming to reduce the chance of blocking radio signals by buildings or natural barriers. 5G Core network as the control center of a 5G infrastructure is responsible for user authentication.

Fig. 1. A simplified architecture of a 5G network.

With the Core network, users can visit other networks. However, 5G network does not provide a mechanism to detect DDoS attacks. It actually expects that the system will deploy Intrusion Detection Systems (IDSs) to detect these attacks. Further, when IDS discovers a DDoS attack, it lacks mechanism to mitigate this attack. Therefore, in this study, we propose the ASec5G to detect DDoS attack, but also provides a selfdecision mechanism to mitigate the attack so that it can continuously service other normal users. Experimental results demonstrate that the organization of the ASec5G is concrete and feasible. It detects DDoS autonomously. No human intervention is required. 2.3

5G Security

Up to present, some intrusion detection and ease mechanisms, named Intrusion Prevention System (IPS), have been proposed to detect and relieve DDoS attacks. But due to using different network transmission devices and administration mechanisms, 5G security systems cannot effectively mitigate DDoS attack once this attack is discovered. In other words, 5G protection systems cannot effectively prevent 5G users and infrastructure of 5G from DDoS attacks. Further, current existing security systems do not provide 5G self-managed and selfmitigation solution. Instead, it still needs human managers to determine what should be done so as to response and ease these attacks [11]. Mamolar et al. in 2018 [12] presented a new way to solve this problem. It adopted a commonly used IDS which

4

S.-T. Chiu and F.-Y. Leu

works with mobile edge-computers to alleviate network attacks. But this system needs many more edge-computers to work together before the alleviation can be achieved. Mamolar et al. in 2019 [13] introduced a self-safety system, which is implemented on an edge computer to determine DDoS attacks and mitigate the effects of the attacks without the need of user interference. Kemani et al. in 2019 [14] reviewed and explored the challenges and safety problems of IOT network development on hinder smart grids. 2.4

Cumulative Sum Algorithm

Cumulative Sum (CuSum) algorithm has been used by [15] to detect DoS attacks. It first calculates the average of traffic of a network, denoted by Avg, and predefines two thresholds. The first denoted by A is some level higher above the average Avg. When network traffic F is higher above A, the CuSum algorithm starts accumulating the amount of traffic F-A. When the accumulated F-A traffic is higher than the second threshold T, the algorithm concludes that there is a DoS attack.

3 The Architecture of ASec5G Figure 2 shows the architecture of the ASec5G in which mobile users issue DDoS attack. The solid lines represent data links for data transmission. Dotted lines are control lines used to control and manage components of the ASec5G.

Fig. 2. System architecture of the ASec5G.

Detecting DoS and DDoS Attacks by Using CuSum Algorithm

5

Multi-users’ traffic flowing from mobile phones to Edge Computer via cell site (BBU) is transmitted to UPF. The UPF, e.g., UPFi, in 5GC duplicates all packets of its ingress traffic to UPFi’s mirror port, and then transports the original packets to the victims which can be servers or UEs through the following Edge Computer. The duplicated packets are sent from mirror port of the UPF to CuSum-based NIDS installed in 5GC. The Cu-Sum-based NIDS accumulates traffic flowing from the mentioned mirror port based on single UE/IP or a group of UEs/IPs. Once it discovers that there is a single-UE attack or multiple-UE attacks, this NIDS sends an alarm to notify every related Edge Computers to disconnect the link that connects the UE or the group of UEs to the victim/victims, aiming to mitigate the phenomena of the attack/attacks so that when the victims are servers, they can continue serving other normal users.

Algorithm 1. Algorithm for disconnecting the abnormal connections.

4 Validation In the following, an experiment as a self-control loop to protect a 5G network is performed to verify the effectiveness of the CuSum NIDS. Frist, we issue a large flow, known as an elephant flow [16], to attack a victim; Second, it generates multiple micro flows [17], also known as mice flows, to attack a victim. 4.1

Attack Explanation

We employ UE or UEs of a 5G network to produce Ipearf which is sent to victim to simulate a DoS attack flow, i.e., elephant flow, or DDoS attack flows, i.e., mice flows. The attack flow densities are 25, 50, 100, 125 Mbps.

6

4.2

S.-T. Chiu and F.-Y. Leu

Experiment Platform

The network topology is established on the Mininet [18] as shown in Fig. 3. There are 8 hosts as flow senders, i.e., attackers.

Fig. 3. Our experimental topology of DDoS attacks.

As shown, h1, h6, h7 and h8 send flow through S1 switch, while h2–h5 deliver traffic via S2 switch. Then a part of S1 (S2) traffic flow is forwarded to the victim c0 through S3 switch, while the remaining part of S1 (S2) traffic is transmitted to c0 directly. 4.3

The Feature Validation Results

Duo to providing attack mitigation strategy, the damage on the 5G infrastructure will be light so that the victim server can continue serving UEs. The purpose is increase the availability and reliability of the proposed system. In fact, we can also guide the attack links to honey pots [19] to collect attack signatures. This can enrich the signatures of our knowledge base. Users may consider that some UEs are downing big data. In this case, the CuSumbased NIDS may mis-judge that there is a DoS/DDoS attack and then disconnect the links. The answer is that it is possible. Consequently, some users may complain about the mis-judgement. But at least the system can still serving users. Figure 4 shows the Iperf instructions that are used to ping hosts h1 and h2, generating 6.31 Gbits and 6.32 Gbits traffics. Figure 5 illustrates the quantities of generated packets and bytes. When flow is over 100 MB, it has been interrupted from the flow source as shown at the bottom of this figure. The traffic becomes zero for both sending to h1 and h2.

Detecting DoS and DDoS Attacks by Using CuSum Algorithm

7

Fig. 4. Iperf is used to ping h1 and h2.

Fig. 5. Invoking Iperf to ping h1 and h2 as the generated traffic and detection result of the ASec5G.

8

S.-T. Chiu and F.-Y. Leu

5 Conclusions and Future Studies The research presents a security structure that can automatically protect 5GC and its users from suffering DDoS attack. UE sends packets to edge computers and a switch duplicates its ingress packets to its mirror port. All duplicated packets are sent to CuSum-base NIDS to detect DDoS attacks launched to the 5G system, attempting to secure the infrastructure of 5G network and all its UEs at the same time. Once DDoS attacks are discovered, the NIDS notifies related switches to disconnect the connections established by these malicious UEs and the victim. The notified switches are those the most close to the attack sources. Our experimental results demonstrate that the proposed system can effectively disconnect malicious links. This experiment employs a self-control loop detection logic to discover zombie networks. After this attack is issued, the time consumed for discovering the attack is less than 1 s, effectively lower the bandwidth occupied by attack packets. The simulation environment is established on Mininet in which we can create hosts, switches and the connection links among these hosts and switches. But the topology we create is less extensibility. In the future, we will extend our topology and improve our algorithm to speed up attack detection and more sensitively detect DDoS attacks. Acknowledgement. The work was supported in part by the Ministry of Science and Technology, Taiwan under Grants MOST 108-2221-E-029-009 and MOST 107-2221-E-029-010.

References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

12.

Wikipedia: Malware. https://en.wikipedia.org/wiki/Malware. Accessed 23 May 2020 Wikipedia: Phishing. https://en.wikipedia.org/wiki/Phishing. Accessed 2 May 2020 Wikipedia: Hacking. https://en.wikipedia.org/wiki/Security_hacker. Accessed 20 May 2020 Wikipedia: Denial of Service Attack. https://en.wikipedia.org/wiki/Denial-of-service_attack. Accessed 24 May 2020 Wikipedia: SQL Injection. https://en.wikipedia.org/wiki/SQL_injection. Accessed 20 May 2020 Wikipedia: Man-in-the-middle attack. https://en.wikipedia.org/wiki/Man-in-the-middle_ attack. Accessed 15 June 2020 Wikipedia: Advanced_persistent_threat. https://en.wikipedia.org/wiki/Advanced_persistent_ threat. Accessed 16 June 2020 Wikipedia: Encryption. https://en.wikipedia.org/wiki/Encryption. Accessed 2 June 2020 Wikipedia: Anomaly Detection. https://en.wikipedia.org/wiki/Anomaly_detection. Accessed 20 May 2020 Wikipedia: Feature Detection. https://en.wikipedia.org/wiki/Feature_detection_(computer_ vision). Accessed 20 June 2020 Hu, D., Hong, P., Chen, Y.: FADM: DDoS flooding attack detection and mitigation system in software-defined networking. In: IEEE Global Communications Conference (GLOBECOM), pp. 1–7 (2017) Mamolar, A.S., Pervez, Z., Calero, J.M.A., Khattak, A.M.: Towards the transversal detection of DDoS network attacks in 5G multi-tenant overlay networks. Comput. Secur. 79, 132–147 (2018)

Detecting DoS and DDoS Attacks by Using CuSum Algorithm

9

13. Mamola, A.S., Salvá-García, P., Chirivella-Perez, E., Pervez, Z., Calero, J.M.A., Wang, Q.: Autonomic protection of multi-tenant 5G mobile networks against UDP flooding DDoS attacks. J. Netw. Comput. Appl. 145(1), 102416 (2019) 14. Kimani, K., Oduol, V., Langat, K.: Cyber security challenges for IoT-based smart grid networks. Int. J. Crit. Infrastr. Protect. 25, 36–49 (2019) 15. Wikipedia: CuSum. https://en.wikipedia.org/wiki/CUSUM. Accessed 20 June 2020 16. Peng, X., Qu, W., Qi, H., Xu, Y., Li, Z.: An efficient elephant flow detection with costsensitive in SDN. In: International Conference on Industrial Networks and Intelligent Systems (INISCom) (2015) 17. Chhabra, A., Kiran, M.: Classifying elephant and mice flows in high-speed scientific networks. In: INDIS Workshop, IEEE/ACM Supercomputing Conference, November 2017 18. Cho, I.H.: Introduction to Mininet, 26 September 2018. https://github.com/mininet/mininet/ wiki/Introduction-to-Mininet 19. Wikipedia: Honey Pot (Computing). https://en.wikipedia.org/wiki/Honeypot_(computing)

A Fuzzy-Based System for Assessment of Available Edge Computing Resources in a Cloud-Fog-Edge SDN-VANETs Architecture Ermioni Qafzezi1(B) , Kevin Bylykbashi1 , Phudit Ampririt1 , Makoto Ikeda2 , Leonard Barolli2 , and Makoto Takizawa3 1

Graduate School of Engineering, Fukuoka Institute of Technology (FIT), 3-30-1 Wajiro-Higashi, Higashi-Ku, Fukuoka 811–0295, Japan [email protected], [email protected], [email protected] 2 Department of Information and Communication Engineering, Fukuoka Institute of Technology (FIT), 3-30-1 Wajiro-Higashi, Higashi-Ku, Fukuoka 811-0295, Japan [email protected], [email protected] 3 Department of Advanced Sciences, Faculty of Science and Engineering, Hosei University, 3-7-2, Kajino-machi, Koganei-shi, Tokyo 184-8584, Japan [email protected]

Abstract. In this paper, we propose a fuzzy based system to determine the processing capability of neighboring vehicles in Software Defined Vehicular Ad hoc Networks (SDN-VANETs). The computational, networking and storage resources of vehicles comprise the Edge Computing resources in a layered Cloud-Fog-Edge architecture. A vehicle which needs additional resources to complete certain tasks and process various data is guided to perform these actions in edge, fog or cloud layer by a system we have previously proposed, based on the application requirements and available connections. Our newly proposed system assesses the edge layer computing resources that can be used by this vehicle. The assessment is made based on the available resources of the neighbors and the predicted contact duration between them and the vehicle. Our system takes also into account the neighbors willingness to share their resources and determines the processing capability for each neighbor. We evaluate the system by computer simulations. Potential neighbors which can help the vehicle process and complete the tasks are the ones that are predicted to be within the vehicle communication range for a while and have medium/large amount of available resources.

1

Introduction

The long distances separating homes and workplaces/facilities/schools as well as the traffic present in these distances make people spend a significant amount of time in vehicles. Thus, it is important to offer drivers and passengers ease of c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 10–19, 2021. https://doi.org/10.1007/978-3-030-57811-4_2

Resource Management in SDN-VANETs Using Fuzzy Logic

11

driving, convenience, efficiency and safety. This has led to the emerging of Vehicular Ad hoc Networks (VANETs), where vehicles are able to communicate and share important information among them. VANETs are a relevant component of Intelligent Transportation Systems (ITS) which offer more safety and better transportation. VANETs are capable to offer numerous services such as road safety, enhanced traffic management, as well as travel convenience and comfort. To achieve road safety, emergency messages must be transmitted in real-time, which stands also for the actions that should be taken accordingly in order to avoid potential accidents. Thus, it is important for the vehicles to always have available connections to infrastructure and to other vehicles on the road. On the other hand, traffic efficiency is achieved by managing traffic dynamically according to the situation and by avoiding congested roads, whereas comfort is attained by providing in-car infotainment services. The advances in vehicle technology have made possible for the vehicles to be equipped with various forms of smart cameras and sensors, wireless communication modules, storage and computational resources. While more and more of these smart cameras and sensors are incorporated in vehicles, massive amounts of data are generated from monitoring the on-road and in-board status. This exponential growth of generated vehicular data, together with the boost of the number of vehicles and the increasing data demands from in-vehicle users, has led to a tremendous amount of data in VANETs [13]. Moreover, applications like autonomous driving require even more storage capacity and complex computational capability. As a result, traditional VANETs face huge challenges in meeting such essential demands of the ever-increasing advancement of VANETs. The integration of Cloud-Fog-Edge Computing in VANETs is the solution to handle complex computation, provide mobility support, low latency and high bandwidth. Each of them serves different functions, but also complements eachother in order to enhance the performance of VANETs. Even though the integration of Cloud, Fog and Edge Computing in VANETs solves significant challenges, this architecture lacks mechanisms needed for resource and connectivity management because the network is controlled in a decentralized manner. The prospective solution to solve these problems is the augmentation of Software Defined Networking (SDN) in this architecture. The SDN is a promising choice in managing complex networks with minimal cost and providing optimal resource utilization. SDN offers a global knowledge of the network with a programmable architecture which simplifies network management in such extremely complicated and dynamic environments like VANETs [12]. In addition, it will increase flexibility and programmability in the network by simplifying the development and deployment of new protocols and by bringing awareness into the system, so that it can adapt to changing conditions and requirements, i.e., emergency services [5]. This awareness allows SDN-VANET to make better decisions based on the combined information from multiple sources, not just individual perception from each node.

12

E. Qafzezi et al.

In previous works, we have proposed an intelligent approach to manage the cloud-fog-edge resources in SDN-VANETs using fuzzy logic. We presented a cloud-fog-edge layered architecture which is coordinated by an intelligent system that decides the appropriate resources to be used by a particular vehicle in need of additional computing resources. The proposed system was implemented in the SDN Controller (SDNC) and in the vehicles equipped with an SDN module [8–11]. The main objective was to achieve a better management of these resources. The appropriate resources to be used by the vehicle were decided by considering the vehicle relative speed with its neighbors, the number of neighbors, the time-sensitivity and the complexity of the task to be accomplished. In this work, we propose a new fuzzy based system that makes a better assessment of the edge computing resources by considering the available resources of the neighboring vehicles. The new system determines the processing capability for each neighbor separately, hence the potential neighbors which can help out the vehicle can be discovered. If the neighbors do not have sufficient resources to process the data and complete the tasks, the resources to be used by the vehicle are those of fog or cloud. The remainder of the paper is as follows. In Sect. 2, we present an overview of Cloud-Fog-Edge SDN-VANETs. In Sect. 3, we describe the proposed fuzzybased system. In Sect. 4, we discuss the simulation results. Finally, conclusions and future work are given in Sect. 5.

2

Cloud-Fog-Edge SDN-VANETs

While cloud, fog and edge computing in VANETs offer scalable access to storage, networking and computing resources, SDN provides higher flexibility, programmability, scalability and global knowledge. In Fig. 1, we give a detailed structure of this novel VANET architecture. It includes the topology structure, its logical structure and the content distribution on the network. As it is shown, it consists of Cloud Computing data centers, fog servers with SDNCs, roadside units (RSUs), RSU Controllers (RSUCs), Base Stations and vehicles. We also illustrate the infrastructure-to-infrastructure (I2I), vehicle-to-infrastructure (V2I), and vehicle-to-vehicle (V2V) communication links. The fog devices (such as fog servers and RSUs) are located between vehicles and the data centers of the main cloud environments. The safety applications data generated through in-board and on-road sensors are processed first in the vehicles as they require real-time processing. If more storing and computing resources are needed, the vehicle can request to use those of the other adjacent vehicles, assuming a connection can be established and maintained between them for a while. With the vehicles having created multiple virtual machines on other vehicles, the virtual machine migration must be achievable in order to provide continuity as one/some vehicle may move out of the communication range. However, to set-up virtual machines on the nearby vehicles, multiple requirements must be met and when these demands are not satisfied, the fog servers are used.

Resource Management in SDN-VANETs Using Fuzzy Logic

13

Fig. 1. Logical architecture of cloud-fog-edge SDN-VANET with content distribution.

Cloud servers are used as a repository for software updates, control policies and for the data that need long-term analytics and are not delay-sensitive. On the other side, SDN modules which offer flexibility and programmability, are used to simplify the network management by offering mechanisms that improve the network traffic control and coordination of resources. The implementation of this architecture promises to enable and improve the VANET applications such as road and vehicle safety services, traffic optimization, video surveillance, telematics, commercial and entertainment applications.

3

Proposed Fuzzy-Based System

In this section, we present our proposed fuzzy based system. A vehicle that needs storage and computing resources for a particular application can use those of neighboring vehicles, fog servers or cloud data centers based on the application requirements. For instance, for a temporary application that needs real-time processing, the vehicle can use the resources of adjacent vehicles if the requirements to realize such operations are fulfilled. Otherwise, it will use the resources of fog servers, which offer low latency as well. Whereas real-time applications require the usage of edge and fog layer resources, for delay tolerant applications, vehicles can use the cloud resources as these applications do not require low latency. The proposed system is implemented in the SDNC and in the vehicles which are equipped with SDN modules. If a vehicle does not have an SDN module, it sends the information to SDNC which sends back its decision. The system uses the beacon messages received from the adjacent vehicles to extract information

14

E. Qafzezi et al.

such as their current position, velocity, direction, available computing power, available storage, and based on the received data, the processing capability of each adjacent vehicle is decided. The structure of the proposed system is shown in Fig. 2. For the implementation of our system, we consider three input parameters: Predicted Contact Duration (PCD), Available Computing Power (APC) and Available Storage (AS) to determine the Neighbor i Processing Capability (NiPC). PCD: In a V2V communication, the duration of the communication session is important since it determines the amount of data to be exchanged and the services that can be performed. A vehicle which needs additional resources will create virtual machines on the neighbors that are willing to lend their resources, therefore the contact duration becomes even more important since much more time is needed to accomplish these tasks than just performing a data exchange. ACP : Vehicles might be using their computing power for their own applications but a reserved amount can be allocated to help other vehicles in need to complete certain tasks. Vehicles let their neighbors know that they are willing to share their resources and how much they want to share. In other words, they decide the amount of physical processor cores and the amount of memory that a particular vehicle can use. AS : The neighbors should have a specific amount of storage so the vehicle can run the virtual machines. This storage is used also to store data after completing specific tasks out of all the tasks these neighbors are asked to accomplish. NiPC : The output parameter values consist of values between 0 and 1, with the value 0.5 working as a border to determine if a neighbor is capable of helping out the vehicle. A NiPC ≥ 0.5 means that this neighbor i has the required conditions to help the vehicle to complete its tasks.

Fig. 2. Proposed system structure.

We consider fuzzy logic to implement the proposed systems because our system parameters are not correlated with each other. Having three or more parameters which are not correlated with each other results in a non-deterministic polynomial-time hard (NP-hard) problem and fuzzy logic can deal with these

Resource Management in SDN-VANETs Using Fuzzy Logic

15

problems. Moreover, we want our systems to make decisions in real time and fuzzy systems can give very good results in decision making and control problems [1–4,6,7,14,15]. The input parameters are fuzzified using the membership functions showed in Fig. 3(a), Fig. 3(b) and Fig. 3(c). In Fig. 3(d) 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

Fig. 3. Membership functions. Table 1. Parameters and their term sets for our proposed system. Parameters

Term sets

Predicted Contact Duration (PCD)

Short (Sh), Medium (Md), Long (Lo)

Available Computing Power (ACP)

Small (Sm), Medium (Me), Large (La)

Available Storage (AS)

Small (S), Medium (M), Big (B)

Neighbor i Processing Capability (NiPC) Very Low Processing Capability (VLPC), Low Processing Capability (LPC), Moderate Processing Capability (MPC), High Processing Capability (HPC), Very High Processing Capability (VHPC)

16

E. Qafzezi et al. Table 2. The FRB of the proposed system. Rule PCD ACP AS NiPC 1

Sh

Sm

S

VLPC

2

Sh

Sm

M

VLPC

3

Sh

Sm

B

VLPC

4

Sh

Me

S

VLPC

5

Sh

Me

M

VLPC

6

Sh

Me

B

LPC

7

Sh

La

S

LPC

8

Sh

La

M

LPC

9

Sh

La

B

MPC

10

Md

Sm

S

VLPC

11

Md

Sm

M

LPC

12

Md

Sm

B

LPC

13

Md

Me

S

LPC

14

Md

Me

M

MPC

15

Md

Me

B

MPC

16

Md

La

S

MPC

17

Md

La

M

HPC

18

Md

La

B

HPC

19

Lo

Sm

S

LPC

20

Lo

Sm

M

MPC

21

Lo

Sm

B

MPC

22

Lo

Me

S

MPC

23

Lo

Me

M

HPC

24

Lo

Me

B

HPC

25

Lo

La

S

HPC

26

Lo

La

M

VHPC

27

Lo

La

B

VHPC

sets by carrying out many simulations. In Table 2, we show the Fuzzy Rule Base (FRB) of our proposed system, which consists of 27 rules. The control rules have the form: IF “conditions” THEN “control action”. For instance, for Rule 1: “IF PCD is Sh, ACP is Sm and AS is S, THEN NiPC is VLPC” or for Rule 27: “IF PCD is Lo, ACP is La and AS is B, THEN NiPC is VHPC”.

4

Simulation Results

The simulation results are presented in Fig. 4. We consider the PCD as a constant parameter by taking into consideration three scenarios: Short Predicted Contact

Resource Management in SDN-VANETs Using Fuzzy Logic

17

Fig. 4. Simulation results.

Duration, Medium PCD and Long PCD, represented by the values 0.1, 0.5 and 0.9, respectively. In figure Fig. 4(a), we show the results for PCD = 0.1. We notice that only the neighboring vehicles with a large available computing power and big available storage will be useful to help the vehicle complete the tasks and process various data. This is due to the short predicted contact duration. Having a dynamic environment with vehicles moving at different directions and different speeds, plus a short communication range which may come from different factors (interference, obstacles, bad weather etc.), decreases the chances of maintaining a communication session between vehicles for the period of time that is needed to accomplish the tasks. Therefore, once the communication has been set up, the neighboring vehicle must have a large ACP and big AS in order to process the data, complete the task and re-transmit the output to the vehicle within the short time frame of communication. When the PCD increases (see Fig. 4(b) and Fig. 4(c)), we can see that vehicles with high ACP can process the data, even if they have a low AS. With the increase of PCD, a moderate amount of storage is sufficient to perform the tasks because the neighbors can re-transmit the processed data step by step after each single sub-task/task has finished given the long period of time these vehicle are within their communication range.

18

5

E. Qafzezi et al.

Conclusions

In this paper, we proposed a fuzzy-based system to assess the available edge computing resources in a layered Cloud-Fog-Edge architecture for SDN-VANETs. Our proposed system determines the capability of a particular neighbor to help a vehicle in need for additional resources to complete certain tasks. After calculating this capability for each available neighbor, our previous proposed Fuzzy System for Resource Management can select the appropriate layer in terms of data processing. For the implementation of our proposed system, we took into consideration three parameters: PCD, ACP and AS. We evaluated the performance of proposed system by computer simulations. From the simulations results, we conclude as follows. • For short PCD, only the vehicles that have large ACP and big AS will have a Moderate Processing Capability. • For medium and long PCD, once a vehicle has a certain AS, this parameter does not have anymore a significant role on the determination of NiPC. • The highest value of NiPC is achieved when the neighboring vehicle has a long PCD, large ACP and a medium/big AS. In the future, we would like to make extensive simulations to evaluate the proposed system and compare the performance with other systems.

References 1. Bylykbashi, K., Elmazi, D., Matsuo, K., Ikeda, M., Barolli, L.: Effect of security and trustworthiness for a fuzzy cluster management system in VANETs. Cogn. Syst. Res. 55, 153–163 (2019). https://doi.org/10.1016/j.cogsys.2019.01.008 2. Bylykbashi, K., Qafzezi, E., Ikeda, M., Matsuo, K., Barolli, L.: Fuzzy-based driver monitoring system (FDMS): implementation of two intelligent FDMSs and a testbed for safe driving in VANETs. Future Gener. Comput. Syst. 105, 665–674 (2020). https://doi.org/10.1016/j.future.2019.12.030 3. Kandel, A.: Fuzzy Expert Systems. CRC Press Inc., Boca Raton (1992) 4. Klir, G.J., Folger, T.A.: Fuzzy Sets, Uncertainty, and Information. Prentice Hall, Upper Saddle River (1988) 5. Ku, I., Lu, Y., Gerla, M., Gomes, R.L., Ongaro, F., Cerqueira, E.: Towards software-defined VANET: architecture and services. In: 13th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET), pp. 103–110 (2014) 6. McNeill, F.M., Thro, E.: Fuzzy Logic: A Practical Approach. Academic Press Professional Inc., San Diego (1994) 7. Munakata, T., Jani, Y.: Fuzzy systems: an overview. Commun. ACM 37(3), 69–77 (1994) 8. Qafzezi, E., Bylykbashi, K., Ikeda, M., Matsuo, K., Barolli, L.: Coordination and management of cloud, fog and edge resources in SDN-VANETs using fuzzy logic: a comparison study for two fuzzy-based systems. Internet Things 11(100169) (2020). Article no. 100169

Resource Management in SDN-VANETs Using Fuzzy Logic

19

9. Qafzezi, E., Bylykbashi, K., Ishida, T., Matsuo, K., Barolli, L., Takizawa, M.: Resource management in SDN-VANETs: coordination of cloud-fog-edge resources using fuzzy logic. In: International Conference on Emerging Internetworking, Data & Web Technologies, pp. 114–126. Springer (2020) 10. Qafzezi, E., Bylykbashi, K., Spaho, E., Barolli, L.: An intelligent approach for resource management in SDN-VANETs using fuzzy logic. In: International Conference on Broadband and Wireless Computing, Communication and Applications, pp. 747–756. Springer (2019) 11. Qafzezi, E., Bylykbashi, K., Spaho, E., Barolli, L.: A new fuzzy-based resource management system for SDN-VANETs. Int. J. Mob. Comput. Multimed. Commun. (IJMCMC) 10(4), 1–12 (2019) 12. Truong, N.B., Lee, G.M., Ghamri-Doudane, Y.: Software defined networking-based vehicular adhoc network with fog computing. In: 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), pp. 1202–1207 (2015) 13. Xu, W., Zhou, H., Cheng, N., Lyu, F., Shi, W., Chen, J., Shen, X.: Internet of vehicles in big data era. IEEE/CAA J. Autom. Sinica 5(1), 19–35 (2018) 14. Zadeh, L.A., Kacprzyk, J.: Fuzzy Logic for the Management of Uncertainty. Wiley, New York (1992) 15. Zimmermann, H.J.: Fuzzy control. In: Fuzzy Set Theory and Its Applications, pp. 203–240. Springer (1996)

Optimization of JavaScript Large-Scale Urban Simulations Maria Patrou1(B) , Kenneth B. Kent1(B) , and Dane Sheppard2(B) 1

University of New Brunswick, Fredericton, NB, Canada {maria.patrou,ken}@unb.ca 2 The Black Arcs, Inc., Fredericton, NB, Canada [email protected]

Abstract. In computer animation, applications compute and render frames at fast rates to illustrate the objects’ motions using the animation loop. Applications that require calculations for every object on a per-frame basis, might face a compute-intensive task that is difficult to scale. We study a real-world JavaScript simulation tool that visualizes urban areas and presents the movement of the whole area’s population. We focus on the performance bottleneck(s) of this design and present the challenges that appear while scaling the population size to enable the simulation of large regions/cities. We propose a parallel design that is based on the producer-consumer paradigm with dynamic scheduling message passing and an object-caching strategy on display objects. We implement our prototype, evaluate it against the baseline tool and analyze its impact.

1

Introduction

Animation-based applications, such as games and simulations require visualizing data at rapid rates, while are increasingly expected to include more graphical detail or cover a wider environment. The corresponding data explosion can cause certain initial design choices to become a bottleneck that need to be addressed. In this study, we investigate a real-world tool in which the data growth affects its performance. Citisketch [15] is a tool that visualizes real urban areas in a “video-game” format to address civic issues, such as the effect of a building’s location on the city’s traffic. It simulates a “scenario” of urban planning decisions and presents the impacts in real-time. To achieve this, the software models individual people in the city as independent entities that perform duties/activities to simulate reallife people. For large populations, the tool suffers from performance degradation due to people’s independent actions and the subsequent computing workload required. Overall, the software has scaling issues that need to be addressed and resolved, to make it applicable for urban areas of arbitrary population sizes. The investigation identifies the tool’s bottlenecks and challenges for building an improved design. The problem is identified as data and compute-intensive, while the solution considers the attributes of JavaScript parallelism, on data c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 20–31, 2021. https://doi.org/10.1007/978-3-030-57811-4_3

Optimization of JavaScript Large-Scale Urban Simulations

21

sharing among threads, and the real-time nature of the tool. Thus, we build our prototype using the producer-consumer paradigm with dynamic scheduling message passing to reduce the calculations of the main thread. We also include an object-caching strategy to minimize object re-drawing. In our analysis, we report the main infrastructural qualities of our approach, while the experiments and description show advantages, limitations and further improvements. The paper is organized as follows: background and description of Citisketch in Sects. 2 and 3; related work in Sect. 4; challenges faced to design a new protototype and the prototype overview in Sects. 5 and 6; performance evaluation in Sect. 7; and conclusions and future work in Sect. 8.

2

Background

The art of animation relies on presenting consecutive pictures (frames) that show different positional and visual attributes of the objects, such as color, at high speed, to illustrate motion. Almost every media uses the notion of frames to simulate the objects’ movements and change their states [11]. The frequency of frame display is presented with the frame rate (frames per second—FPS) metric. Computer games usually aim for 60+ FPS for maximum quality, while any rate below 30 FPS can reduce the animation quality by showing stuttered images instead of a motion with a steady and smooth flow [6,9]. However, people can accept the illusion of motion as low as 24 FPS, and any higher rate than this does not make the motion more realistic, but, in computers, it results on better user interaction and animation smoothness [11]. Web browsers provide a user interface for web applications to run either on the same machine (locally) or on a server. Usually, code is running on both client and server sides. On the client side, dynamic content (such as scripts) can be embedded in HTML pages focusing on actions that include user interaction and the graphical presentation, while the server side is mainly responsible for storing, processing and retrieving data from a database [10]. Several programming languages are used to create web-based animations. A popular choice is JavaScript, a dynamically-typed programming language, mostly used on the client side, but with applications on the server side as well. On the client, it is capable of accessing and modifying the HTML/XML document’s data structure (Document Object Model-DOM) and changing the elements’ style [8]. In JavaScript, frames do not cause the creation of new images. Instead, animations save the attributes of the objects, which are part of the canvas element of the HTML document, update the object’s states, render (from the data) and display the frame within the animation loop at each iteration [11]. JavaScript provides several libraries and frameworks for creating animations, such as PixiJS [2]. PixiJS is a library with full WebGL [3] support that allows the creation of graphics with cross platform compatibility and a variety of features. WebGL is a graphics library that provides a low-level API and allows the web browser to render 3D graphics. In PixiJS, different graphical components are arranged into PIXI.containers [4]. A container is a class that includes objects to display on screen. It has several

22

M. Patrou et al.

features such as adding and removing PIXI.Sprites [5] from the screen. Sprites are display objects that contain graphical information. Finally, the container has the cacheAsBitmap choice. When the flag is activated, the container, with its display objects, is cached as a bitmap and thus it can improve the performance [4]. JavaScript also has a library for enabling parallelism: Web Workers [16]. The library creates threads that run a script in parallel with the main thread for longrunning tasks. Web Workers have a high performance cost during startup and high memory cost per worker instance. The threads communicate with the main script and other workers through message channels to exchange information.

3

Citisketch

The Citisketch application is a JavaScript simulation that runs in the browser environment (client side) using the animation loop. First, the tool loads the map of the area and then places the people in their starting locations. Then, the user sets a scenario by placing a school building anywhere on the map. The simulation presents the traffic pattern that is affected by the afore-mentioned location. The trips for each person individually are calculated. Thus, as people increase, the calculations increase, too. In large areas, with a large crowd of people, the application reproduces the movement of hundreds to thousands of objects on screen. At every frame, people’s new locations, states and several environmental metrics are calculated and displayed on screen. The tool displays traffic information for a 24-h duration showing the simulation time. The PixiJS [2] library is used to visualize the simulation in the browser, including: the area’s map, people, traffic, buildings, etc. by rendering and displaying each frame. Graphical components, such as people, are defined as Sprites and arranged into PIXI.containers. It uses a single thread to calculate and display the data.

4

Related Work

Watanabe et al. [17] parallelized an interactive animation application by adding Web Workers. The Web Workers threads run in the background and communicate with the main thread through message passing, which is responsible for drawing the animation. The worker threads update the objects’ states, while the main thread identifies collisions among them and renders each frame. Communication between the main and the helper threads happen for every frame. Massow et al. [13] split the framework’s components into server-side and client-side. The framework calculates the animation on the server-side and sends the data, as a stream of fragments that contain information about the states of the objects, to the client side. The communication between server and client sides happens asynchronously, while the server side implements a controller for each client to respond to each client’s request. The client side is responsible for sending requests to the server, visualizing the animation and providing a user

Optimization of JavaScript Large-Scale Urban Simulations

23

interface for the user to affect the scenarios. A mathematical model describes the movement of the objects introducing an abstract description language. The JavaScript framework for sharing workload between CPU and GPU in parallel (JAWS) exploits both kernels for better utilization [14]. The coordination is achieved through a task scheduler that maintains a queue of tasks that are distributed across the JavaScript Web Worker threads and a GPU (WebCL) worker. The framework uses shared arrays to store the data and make them accessible by all worker threads, while only indices are sent by the scheduler. Spatial hashing techniques are used to optimize actions on objects, such as collisions, and rendering routines [7]. The underlying domain is divided into grid cells. A hash table stores the cells with their objects located at a given frame. The technique allows for fast queries that are used in several routines, such as objects’ collisions. Finally, only the objects that are visible on camera are rendered. Eclipse SUMO (Simulation of Urban MObility [12]) is an open-source tool [1] that simulates the traffic on a given road network by allowing the users to define their scenarios. The tool is written mostly in C++ and uses the OpenGL library. Among its features, it provides a graphical user interface for visualizing the simulations, required to be built and run on the user’s machine. On the other hand, our optimization has different characteristics. The tool is a JavaScript web application that is implemented (over the duration of this research project) on the client side. The data is calculated and visualized for every frame. To this end, the separation of calculation and visualization routines is first accomplished to enable parallelism and improvements on data transfer and object caching are applied.

5

Challenges

The tool begins to under perform as the population increases—over 10,000 people. One of the biggest challenges is bottleneck identification. There are two distinct major steps that occur at every frame: objects’ next state calculation and display on the screen. Both have to be addressed, while at the same time the tool already maintains a large amount of data that creates further restrictions. Thus, parallelism is explored. The JavaScript Web Workers library provides threads that do not share any memory by default. A structure of an efficient communication system to exchange information with the main thread is crucial. Passing a large number of complex objects is inefficient and data exchange optimizations are required to send only the required data for visualization to the main thread. The worker thread can send the data ahead of time, but the main thread cannot store the data for all the frames. Firstly, the tool needs to maintain its dynamic nature for allowing the user to interact and change the scenario in the future. Secondly, it would not be possible for the main thread to store all the frame data for all the frames without the risk of running out of memory.

24

M. Patrou et al.

Based on these considerations, a prototype is created. The new design included certain code modifications, like the update of the animation loop, cssjs-minification and deletion/edits of certain parts to better utilize the tool. The main infrastructural changes are described below.

6

Prototype Overview

The backbone of this design relies on: • The separation of the calculation and display processes with dynamic data transfer coordination by offloading the heavy calculations to a helper thread and allowing the main thread to render the frames. • Limit re-drawing sprite objects that have not changed their state from previous frames; people are grouped into region stage containers, which are cached when their agents maintain their attributes as the previous frame. 6.1

Task Separation/Parallelism

We split each person into two objects: person and graphics person. The person maintains all the technical attributes, references and routines, while the graphics person contains all the graphical attributes, including the sprite object that represents the person on the screen. Also, we restructure and modify components to enable objects’ calculations and displays on a per-frame basis, such as connecting the simulation clock with each frame. The Web Workers library is added, too.

Fig. 1. Parallel design

The main thread displays the data, while the helper thread calculates the data for each frame. The threads coordinate with each other to keep the calculations and the memory footprint low. The design is based on the producerconsumer paradigm in which the worker thread creates the frame data and the main one displays and deletes them (Fig. 1). Since, this is a data-consume task the threads exchange messages to generate new data, when needed. When the user establishes a scenario, the main thread initializes the worker thread. It sends the initial data (type = “init”), such as people and

Optimization of JavaScript Large-Scale Urban Simulations

25

buses, required to perform the calculations. Then, it sends a second message (“calculate”) for the worker thread to start calculating the initial batch of frames. It enters the loading phase to give the worker thread time to finish the calculations for the first batch of frames. During this phase, the main thread iterates through the loading frames by loading and rendering the same frame. It maintains an array structure to store all the frame data and extract them for display. The array simulates a queue, thus the thread removes an item from the frame queue and renders the frame using the data in every loop iteration to keep the memory footprint low. The item provides information for positions, anchors and textures of the corresponding graphics person objects and the cacheAsBitMap flag values of region stages. At this stage, other components are updated such as the simulation clock and the progress bar. When the data for a frame is removed from the array, the number of frames left is checked and if it reaches a certain threshold, the main thread sends a message to the worker thread to start the calculations again. The worker thread, as soon as it receives a message, checks for its type. In the “init” case, it parses and stores the data. In any other case, it starts calculating the data for the batch/es of frames. The first time it receives a message of “calculation” type, it calculates one batch with 1,500 frames. It calculates the frames, by iterating on the number of batches. For every batch, it calculates a number of frames (batch size). For every frame, it calculates the states of the people and the clock tick. When all frames are calculated for a batch, the worker thread sends them to the main thread. This cycle continues until the worker thread reaches the calculation of the last frame. In this case, the worker thread sends the last batch and exits. 6.2

Dynamic Batch Scheduling

In the worker thread, we check the number of people moved in the last frame of the previous batch, before the related structure is emptied. We use the information to anticipate the population size, which will change its state in the future, to structure the number and size of batches for the next series of batches. The batch form is important, because on message reception the main thread pauses the animation to handle the incoming data, which can increase the memory rapidly. To this end, we build the following policy to transfer the frame data based on the number of moving people: if moving people < 500 then number of batches = 10 batch = 60 else if moving people 0), respectively, are EIi (x) = P Ii · T Ii (x) = rei · maxEi · (li · rci + rti · x) and EOi (x) = P Oi · T Oi (x) = sei · maxEi · (mi · sci + sti · x). Table 2 shows the energy parameters of Raspberry Pi 3 and Pi 4 nodes. Table 2. Energy parameters of Raspberry Pi. rei

sei

minEi [w] maxEi [w]

0.09

3.3

5.6

PI3 0.729 0.676 2.1

3.7

PI4 0.09

A fog node fi consumes electric energy EEi (x) [J] to receive and calculate output data odi1 , ..., odi,mi on input data idi1 , ..., idi,li of size x1 , ..., xli , respectively, where x = x1 + · · · + xli and to send the output data odi1 , ..., odi,mi of size ori · x to target fog nodes: EEi (x) = EIi (x) + ECR (x) + δi · EOi (ori · x) = (rei · T Ii (x) + T Ci (x) + δi · sei · T Oi (ori · x)) · maxEi = ((rei · (li · rci + rti · x)) + cti · Ci (x) + δi · sei · (mi · sci + sti · ori · x)) · maxEi .

(2)

A fog node fi sends output data odik of the size sik (= |odik |) to every target fog node tfik (∈ F ) in the set T N (fi ). Each target node tfik receives input data idik from the fog node f1 . On receipt of the input data idik from the source node sfki , the fog node fi has to calculate on not only its own input data IDi but also the new output data idik from the source node sfik . Hence, the fog node fi totally consumes the energy EEi (|IDi | + |idik |) [J] to calculate on its own input data IDi and new input data idik from the source node sfik for time T Ti (|IDi | + |idik |) [sec].

4 4.1

A Negotiation Algorithm in the DNFC Model DNFC Model

A fog node fi supports an application process p(fi ) by which output data odi is calculated on a collection IDi of input data received from other source nodes. Then, the output data odi is delivered to another target fog node fj whose process p(fj ) can do the calculation on the data odi . Here, the fog node fj is a target node of the fog node fi , i.e. fi → fj . The node fi is in turn a source node

100

Y. Guo et al.

of the target node fj . Let T N (fi ) be a set {fj | fi → fj } of target nodes of a fog node fi . Let SN (fi ) be a set {fj | fj → fi } of source nodes of a fog node fi . A fog node may not communicate with every fog node due to the scalability. A fog node fj with which a fog node fi can communicate is an acquaintance node. An acquaintance relation “fi ↔ fj ” means that a pair of fog nodes fi and fj can communicate with each other. In this paper, we assume the acquaintance relation ↔ is symmetric. Suppose a pair of fog nodes fi and fj are interconnected in wireless networks. Only if the fog node fj is in the communication range of the fog node fi , the fog nodes fi and fj can communicate with each other (fi ↔ fj ). Let AN (fi ) be a set {fi | fi ↔ fj } of fog nodes with which a fog node fi can communicate. For each fog node fi , let T AN (fi ) be a set {fj | fi → fj and fi ↔ fj } oftarget nodes with which the node fi can communicate, i.e. T AN (fi ) = T N (fi ) AN (fi ). In turn, SAN (fi ) is a set {fj | fj → fi and fj ↔ fi } of source nodes with which  a fog node fi can communicate as shown in Fig. 2, i.e. SAN (fi ) = SN (fi ) AN (fi ).

Fig. 2. Source and target nodes.

4.2

DNFCN (DNFC Negotiation) Algorithm

A fog node fi has to send the output data odij (= idji ) of size xi (= |odij |) to a target node fj in the set T AN (fi ). Suppose each target node fj in the set T AN (fi ) has its own input data IDj to be calculate on before receiving the output data odij from the source node fi . If the source fog node fi sends the output data odij to the target fog node fj , the target fog node fj has to calculate output data odj on the data odij in addition to its own input data IDj . Hence, the target fog node fj totally consumes energy EEj (|IDj | + xi ) [J] for time

A Dynamic Network-Based Fog Computing Model for Energy-Efficient IoT

101

T Tj (|IDj | + xi ) [sec] to calculate on both the input data IDj and odij where xi = |odij |. On the other hand, a target fog node fj may receive input data idjk from another source fog node fk in addition to the input data idji from the source fog node fi . Thus, a target fog node fj may receive data from multiple source nodes. Suppose each source node fi in the set SAN (fj ) selects a target fog node fj since energy consumption EEj (|IDj |+xi ) is minimum. Since every source fog node in the set SAN (fj ) sends output data to the target fog node fj , the target fog node fj consumes energy EEj (|IDj | + fi ∈SAN (fi ) xi ) which might be too large. We have to distribute output data of source nodes to different target nodes so that each of the target nodes does not get heavily loaded. In this paper, we assume each source node fi sends the output data odi to one target node fj and each target node fj receives the input data from one source node fi . A pair of a source fog node fi and a target fog node fj are selected to communicate with each other in the DNFCN algorithm as follows: [Source node fi ] 1. Let xi be the size osi (= |odi |) of the output data of a source fog node fi . 2. The source fog node fi sends a processing request Qi (xi ) with the size xi of the output data odi to every target fog node fj in the set T AN (fi ). 3. The source fog node fi waits for confirmations from target fog nodes. Suppose the node fi receives confirmations Ci1 (Ei1 ), ..., Ci,mi (Ei,mi ) from target fog nodes fi1 , ..., fi,mi , respectively. Here, Eij shows the expected energy consumption of each a target fog node fij to calculate on the output data odi and the input data of fij . Let T N (⊆ T AN (fi )) be a set of target nodes fi1 , ..., fi,mi , which send the confirmations to the source fog node fi . 4. The source fog node fi selects a target fog node fij in the set T N where the expected energy consumption Eij is largest. The source fog node fi sends a DOij (xi ) message to the target fog node fij and a N O message to the other target fog nodes in the set T N . 5. The source node fi waits for an OK message from the target fog node fij . On receipt of the OK message from the target fog node fij , the source fog node fi sends the output data odi to the target fog node fij . Otherwise, T N (fi ) = T N (fi ) − {fij } and go to 2. [Target node fj ] 1. A target fog node fj receives processing requests Q1 (x1 ), ..., Qj (xj ) from source fog nodes fj1 , ..., fj,lj (lj ≥ 1) in the set SAN (fj ). Let SN be a set of source fog nodes which send the processing requests to the target fog node fj . The target fog node fj selects a source fog node fji where the size xi is minimum in the set SN and obtains the expected energy consumption Ej = EEj (yj + xi ) to calculate on both its own input data IDj of size yj and the input data idji of size xi from the source fog node fji .

102

Y. Guo et al.

2. The target fog node fj sends a confirmation Cj (Ej ) to the source fog node fji . 3. The target fog node fj waits for a DOji (xi ) message from the source fog node fji . If the target fog node fj receives the DOji (xi ) message from the source fog node fji , the target fog node fj sends an OK message to the source fog node fji . If the target fog node fj receives a N O message, go to 1. 4. If the target fog node fj receives output data odji from the source fog node fji , the target fog node fj calculates output data odj on the input data IDj and the data odji from the source node fji . 5. Otherwise, go to 1.

5

Evaluation

We evaluate the DNFCN algorithm in terms of energy consumption and execution time of fog nodes. Suppose that there are a set SAN of source fog node sf1 , ..., sfm (m ≥ 1) and a set T AN of target fog nodes tf1 , ..., tfl (l ≥ 1) where all the source and target fog nodes are in the communication range of one another. Each source fog node sfi has output data odi of size xi . Each target fog node tfj has its own input data IDj of size yj . In the evaluation, we assume every fog node is implemented on a Raspberry Pi 4 model B. Every fog node has the same computation rate CR and the maximum power consumption maxE. The computation complexity Cij (x) of the process p(tfij ) of each target fog node tfij is x2 for size x of input data. Each source fog node sfi in the set SAN sends a processing request Qi (xi ) to every target fog node tfj in the set T AN . Each target fog node tfj selects a source fog node sfi whose xi is the smallest, i.e. the energy consumption Ej = EEj (yj + xi ) is largest. The target fog node tfj sends the confirmation Cj (Ej ) to the source fog node sfi . Then, the source fog node sfi selects a target fog node tfj whose energy consumption Ej is largest and sends DOi (xi ) to the target fog node tfj . The target fog node tfj sends OK to the source fog node sfi . Here, the source fog node sfi sends the output data odi to the target fog node tfj . The target fog node tfj consumes energy Ej = EEj (yj + xi ) to calculate on its own input data of size yj and the data odj of size xi . The total energy consumption E = E1 + ... + El of the target fog nodes tf1 , ..., tfl is obtained in the evaluation. In the evaluation, we consider ten source fog nodes and ten target fog nodes (m = l = 10). The size xi of output data odi of each source fog node sfi and the size yj of input data idj of each target fog node tfj are randomly taken out of 1, 2, ..., 10. We consider a random (RD) algorithm in addition to the DNFCN algorithm. In the RD algorithm, each source fog node sfi randomly selects a target fog node tfj in the set T AN . As shown in Fig. 3, the total energy consumption of the target nodes is smaller in the DNFCN algorithm than the RD algorithm. The total energy consumption of target nodes can be reduced in the DNFCN algorithm. Here, each target fog

A Dynamic Network-Based Fog Computing Model for Energy-Efficient IoT

103

Fig. 3. Energy consumption of target nodes.

node tfj receives output data from one source fog node sfi . We are now considering an algorithm where each source fog node sends output data to multiple target fog nodes and each target fog node receives output data from multiple source fog nodes.

6

Concluding Remarks

In the TBFC model, one target fog node is fixed as a parent node for each fog node in the tree structure. Even if the target node is faulty or heavily loaded, the fog node cannot send data to other target fog nodes. In this paper, we newly proposed the DNFC model to more efficiently and flexibly realize the IoT. Here, each fog node dynamically selects source fog nodes and target fog nodes, each time source fog nodes send output data. We proposed the DNFCN algorithm to do the negotiation among source and target fog nodes to select pairs of a target fog node and a source fog node which exchange data with each other. In the evaluation, we showed the total energy consumption of target fog nodes can be reduced in the DNFCN algorithm compared with the random (RD) algorithm.

References 1. Raspberry pi 3 model b. https://www.raspberrypi.org/products/raspberry-pi-3model-b/ 2. Raspberry pi 4 model b. https://www.raspberrypi.org/products/raspberry-pi-4model-b/

104

Y. Guo et al.

3. Creeger, M.: Cloud computing: an overview. Queue 7(5), 3–4 (2009) 4. Enokido, T., Ailixier, A., Takizawa, M.: A model for reducing power consumption in peer-to-peer systems. IEEE Syst. J. 4, 221–229 (2010) 5. Enokido, T., Ailixier, A., Takizawa, M.: Process allocation algorithms for saving power consumption in peer-to-peer systems. IEEE Trans. Ind. Electron. 58(6), 2097–2105 (2011) 6. Enokido, T., Ailixier, A., Takizawa, M.: An extended simple power consumption model for selecting a server to perform computation type processes in digital ecosystems. IEEE Trans. Ind. Inf. 10, 1627–1636 (2014) 7. Gima, K., Oma, R., Nakamura, S., Enokido, T., Takizawa, M.: A model for mobile fog computing in the IoT. In: Proceedings of the 22nd International Conference on Network-Based Information Systems (NBiS-2019), pp. 447–458 (2019) 8. Guo, Y., Oma, R., Nakamura, S., Duolikun, D., Enokido, T., Takizawa, M.: A twoway flow model for fog computing. In: Proceedings of the Workshops of the 33rd International Conference on Advanced Information Networking and Applications (WAINA-2019), pp. 612–620 (2019) 9. Guo, Y., Oma, R., Nakamura, S., Enokido, T., Takizawa, M.: Distributed approach to fog computing with auction method. In: Proceedings of IEEE the 34nd International Conference on Advanced Information Networking and Applications (AINA-2020), pp. 268–275 (2020) 10. Islam, M.M., Funabiki, N., Sudibyo, R.W., Munene, K.I., Kao, W.C.: A dynamic access-point transmission power minimization method using PI feedback control in elastic WLAN system for IoT applications. Internet Things 8 (2019). https:// doi.org/10.1016/j.iot.2019.100089 11. Oma, R., Nakamura, S., Duolikun, D., Ennokido, T., Takizawa, M.: A fault-tolerant tree-based fog computing model. Int. J. Web Grid Serv. (IJWGS) 15(3), 219–239 (2019). https://doi.org/10.1504/IJWGS.2019.10022420 12. Oma, R., Nakamura, S., Duolikun, D., Enokido, T., Takizawa, M.: An energyefficient model for fog computing in the internet of things (iot). Internet Things 1–2, 14–26 (2018) 13. Oma, R., Nakamura, S., Duolikun, D., Enokido, T., Takizawa, M.: Evaluation of an energy-efficient tree-based model of fog computing. In: Proceedings of the 21st International Conference on Network-Based Information Systems (NBiS-2018), pp. 99–109 (2018) 14. Oma, R., Nakamura, S., Enokido, T., Takizawa, M.: A tree-based model of energyefficient fog computing systems in IoT. In: Proceedings of the 12th International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS-2018), pp. 991–1001 (2018) 15. Rahmani, A.M., Liljeberg, P., Preden, J.S., Jantsch, A.: Fog Computing in the Internet of Things. Springer, Cham (2018) 16. Yao, X., Wang, L.: Design and implementation of IoT gateway based on embedded µtenux operating system. Int. J. Grid Util. Comput. 8(1), 22–28 (2017). https:// doi.org/10.1504/IJGUC.2017.10008769

Requirements for Trustworthy Artificial Intelligence – A Review Davinder Kaur, Suleyman Uslu, and Arjan Durresi(&) Department of Computer and Information Science, Indiana University Purdue University Indianapolis, Indianapolis, IN, USA {davikaur,suslu}@iu.edu, [email protected] Abstract. The field of algorithmic decision-making, particularly Artificial Intelligence (AI), has been drastically changing. With the availability of a massive amount of data and an increase in the processing power, AI systems have been used in a vast number of high-stake applications. So, it becomes vital to make these systems reliable and trustworthy. Different approaches have been proposed to make theses systems trustworthy. In this paper, we have reviewed these approaches and summarized them based on the principles proposed by the European Union for trustworthy AI. This review provides an overview of different principles that are important to make AI trustworthy.

1 Introduction In today’s world, algorithmic decision-making and AI are playing a crucial role in our day to day lives. The area of automated decision-making using machines is not new. However, decision-making now days is highly data-driven and complex. The decisions made by machines leave a profound impact on our society. To give an estimate about the impact, International Data Corporation (IDC) estimates the spending on AI systems will reach 97.9 billion dollars in 2023, and there will be a 28.4% increase throughout 2018–2023 [1]. These numbers show how AI is impacting our society by making decisions in almost every aspect of our life. Different kinds of statistical tools, artificial intelligence algorithms, and machine learning models are used to make decisions in all types of applications such as healthcare, government, business, judicial and political spheres. These advancements in decision making led to fast growth in every sector. Now decisions made by artificial intelligence and machine learning algorithms can beat some of the best human players, serves as our assistant, used in medical diagnostics, used by companies for automated customer support, and much more. With enormous applications and their impact, it is especially important to make sure that all these systems on which we are relying on so much are reliable and trustworthy. Now, AI has the power to analyze a massive amount of data and make predictions based on that. However, these systems are so complex and opaque that it is difficult to judge and interpret their decisions as fair and trustworthy. And there are no set standards or mechanisms established to govern and test these systems. It is found out that these systems could behave unfairly and can lead to dangerous consequences. © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 105–115, 2021. https://doi.org/10.1007/978-3-030-57811-4_11

106

D. Kaur et al.

Recidivism algorithm used across the country has been shown to be biased against black defendants [2]. A recruitment algorithm used by a big corporate company was found to be biased against women [3] and many more. These examples show that decisions made by machines can be rogue and can have life-critical consequences. So, it is vital to design, develop, implement, and oversee these systems very carefully. With the growing need to make these systems reliable and trustworthy, researchers have proposed different solutions. Some have proposed by making data used for training AI systems unbiased, and some proposed explainable and interpretable methods that will make the AI systems easy to understand and interpret by the users. Some researches have suggested overseeing methods to keep a check on AI systems, and other researches have proposed methods that enable collaborative intelligence using both humans and machines in decision making. All these proposed solutions involve humans at different levels of the AI lifecycle. These solutions have one common objective, which is ensuring that AI systems should behave as promised and to create a notion of trust towards AI among its users. In this paper, we have discussed different aspects that are important to make AI decisions acceptable and trustworthy, policies, and guidelines required to govern the working of these systems and how the human intervention is essential in this changing era of AI. This paper is organized as follows. Section 2 presents the foundational concepts and preliminary background work in the field of trustworthy AI. Section 3 presents the review of the latest developments in the field of Trustworthy AI. Section 4 discusses technical challenges and future directions. Finally, Sect. 5 concludes the paper.

2 Background and Foundational Concepts In this section, we have discussed problems with traditional AI, key concepts of AI. This section also discusses the key principles and guidelines that should be considered while designing, developing, implementing, and overseeing the system. 2.1

Need for Trustworthy AI

The field of AI has a major impact on our day to day lives. With the availability of a massive amount of data, high computational power and efficient algorithms, AI has given us many useful solutions that benefit our society. However, with so many benefits AI also raises some concerns. With all these advancements, AI has become complex for the human to understand and control it. There is a need for mechanisms to oversee the decisions made by AI to be trustworthy and within the ethnic guidelines. This is only possible if the machines or algorithms making these decisions are fair, understandable by designers designing them, users using them, and policymakers making laws to govern them. All these concerns related to AI create a fear among users, which in turn decreases the trust in the system. Before looking at the guidelines proposed for making AI trustworthy, let us look at the problems and risks related to present AI systems [4]. Once Stephen Hawking said that “AI impact can be cataclysms unless its rapid development is controlled”. AI systems can be

Requirements for Trustworthy Artificial Intelligence – A Review

107

dangerous and harmful if strict measures are not taken in designing, developing, implementing, and overseeing them. In today’s world, almost all the sectors are utilizing the superpowers of AI systems in decision making and in analyzing a massive amount of data. But these superpowers of AI not always yield good results. A lot of these AI systems failed and showed dangerous consequences. For example, a self-driving car killed a pedestrian because its self-driving system decided not to take any action after detecting a pedestrian on the road [5]. AI chat-bot became racist after being corrupted with twitter trolls [6]. COMPAS recidivism algorithm used by judges across the nation has shown biased against black people [2]. These are some of the examples that show how AI can be untrustworthy and dangerous if their development is not controlled. So, it is vital to make sure that these AI systems do not cause any kind of harm to humankind. 2.2

Requirements to Make AI Trustworthy

Artificial intelligence is used to make decisions in high stake applications like healthcare, transportation, the judicial system, and many more. With the increase in the use of AI systems in decision making it becomes vital to develop guidelines and policies that ensure that AI will not cause any intentional or unintentional harm both to the society and the users using it. AI is designed by us, and it is our responsibility to make sure it is only for good [7]. Several researchers and experts in this field have proposed different guidelines and policies to make AI trustworthy [8]. European union proposed four ethnic principles (respect of human autonomy, prevention of harm, fairness, explicability) and seven key requirements(human agency and oversight, technical robustness, privacy and data governance, transparency, diversity and fairness, societal well-being and accountability) to make AI trustworthy. [9] considers explainability, integrity, conscious development, reproducibility, and regulations essential to make AI trustworthy. [10] did a review on all guidelines proposed by different organizations and research institutes to make AI trustworthy. They said despite so many guidelines available, there is a difficulty in coming to the consensus about what properties make AI ethical and trustworthy. Following are the properties that are important to make AI system trustworthy: Accuracy and Robustness: Accuracy of the model refers to the model’s ability to correctly predict the outcomes by generating less false positives and false negatives. Robustness refers to the model’s ability to perform accurately under uncertain conditions. Non-Discrimination: Non-Discrimination refers to the model’s ability to treat all the users equally without discriminating against any section of society. This means the absence of any type of bias and discrimination. Explainability: Explainability of the model enables the users of the model to correctly understand the working of the model. This property facilitates users to correctly predict the outcomes for a given input and the reasons that could lead to model failure. Transparency: Transparency of the model provides a clear picture of the model to the users. It allows users to clearly understand the model by seeing whether the model has been tested or not, what criteria it has been tested on if the input-output

108

D. Kaur et al.

of the model makes sense to the users, and if the users of the system clearly understand the decisions made by the model. Accountability: Accountability of the model refers to the model’s ability to justify the decisions made by it to the users of the system. This includes taking responsibility for all the decisions made, whether they are right, or caused some errors and unexpected results. Integrity: The integrity of the model defines that the model should output results or make decisions within set parameters. These parameters can be operational, ethical, or technical and can be different for different applications. Reproducibility: Reproducibility of the model ensures that all the decisions made by the system can be reproduced if the same input parameters and conditions are provided to the system. Privacy: Privacy of the model means that the model should protect the data on which it is trained and the identity of the users using it. Security: Security of the model makes sure that the model is secure from outside attacks, that can change and modify the decisions made by the system. Regulations: Government and policymakers should develop laws and guidelines to govern the development and working of AI systems. Human Agency and Oversight: This is the most important property that enforces that AI system should always be in control of humans to prevent harm.

3 Review Researchers have proposed a vast number of solutions focusing on different properties of trustworthy AI. In this review, we have mapped these properties to the four principles(principle of respect for human autonomy, the principle of prevention of harm, the principle of fairness and the principle of explicability) introduced by the European Union [11] to make AI ethical, lawful and robust. Figure 1 shows this mapping of properties to the principles of trustworthy AI.

Fig. 1. It shows the mapping of different properties to the principles of trustworthy AI.

Requirements for Trustworthy Artificial Intelligence – A Review

3.1

109

The Principle of Respect for Human Autonomy

This is the most crucial principle to design trustworthy AI. It ensures that the AI systems should be designed to complement and empower human cognitive ability instead of replacing them [12]. This new era of AI requires collaborative thinking where humans and machines work together towards a common goal. Making humans and machines work together will help to reduce incorrect and undesired results and will help to avoid accidents. The designing of AI systems should be human-centric, which means that humans should be involved at different levels of AI lifecycle [11]. They should be included in the planning, designing, development, and oversight phase of the AI system based on the application requirements. Humans should be in the center to set limits, flag errors made by machines, override wrong decisions, help to improve AI system by providing feedback. Human involvement is essential to keep machine decisions within moral and ethical compliance. European Union [13] have proposed some guidelines of how humans should be involved in AI decision making: • For high stake applications, decisions made by the AI systems should only become effective if it has been examined and authenticated by the human experts. For example, in the medical AI systems where a wrong decision could lead to dangerous consequences, doctors should validate the decision made by the AI system based on their expertise and experience before implementing them. • For the applications that require AI decisions to be effective immediately, there should be a way by which humans can intervene to review the AI decision and, if needed can override the decisions. For example, in the loan approval AI system, if the application is rejected by the AI system, it should be possible for the human/loan expert to review the application again and change the decision if needed. • And humans should able to oversee the working of AI systems and able to stop and interfere with the operation if he/she thinks that the AI system is not working appropriately or the decisions made by the AI systems is not safe anymore. For example, in autonomous vehicles, if some sensors failed or the vehicle is not operating correctly, driver should able to overtake the controls of the vehicle. Several methods have been proposed for human-machine collaboration. These methods have shown how human involvement can increase the trust and accuracy of AI systems. [14] introduced an analyst-in-loop AI system for intrusion detection, which takes feedback from security analysts to decrease the false-negatives generated by the system. This system improves the detection rate of AI system three times. [12] showed how AI is screening huge debit and credit card logs to flag questionable transactions that can be evaluated by humans. Some researchers have proposed a collaboration mechanism for human-machine interactions based on the trust framework [15]. [16–18] used a human feedback based decision-making system for resource allocation in the FEW (Food Energy Water) sector. [19] proposed a fake user detection system in social networks taking into account community knowledge along with a machine learning algorithm. [20] proposed a human-machine collaboration mechanism to govern the interaction between police and machine for crime hotspot detection to facilitate greater accuracy.

110

D. Kaur et al.

All these proposed solutions showed that combining the superpowers of both humans and machines helps to improve accuracy and decrease the harm caused by AI systems, which in turn make the AI systems trustworthy. So, this principle enforces that AI systems should empower humans, not replace them. 3.2

The Principle of Prevention of Harm

This principle ensures that the AI system should not cause any unintentional or intentional harm to humans and society. It also guarantees that the AI systems operate in a safe and secure environment without causing any kind of harm to anybody. AI systems should be reliable in the decision-making task. Lot of elements should be taken into consideration while designing and implementing AI systems so that they do not cause any type of harm and can behave reliably. These elements are discussed below: Accuracy and Robustness: This property ensures that the AI systems should have high accuracy and are robust. The accuracy of the system should be above a certain threshold for reliable decision making. The system should be robust; that is, it should able to work in adversaries and able to handle errors. And the results of the decisions made by the AI systems should be reproducible if provided with the same input and similar conditions. Researchers have proposed different methods to deal with adversaries and making AI system accurate. [21] proposed a feature squeezing method to decrease the complexity of input space, hence making it less prone to adversaries. [22] proposed inputting adversarial examples in the training set to make the system robust. Accountability: This property deals with the state of being responsible and accountable for all the good and bad decisions made by AI systems [23]. As algorithms cannot take responsibility for their decisions, designers of the AI systems should take responsibility for their work by proper testing, auditing, and overseeing framework. It also deals with designing of laws and regulations for the controlled development of AI systems. Several researchers have proposed different auditing and testing methods to prevent harm caused by them. [23] proposed an internal auditing framework for algorithmic auditing to keep a check on the development life cycle of AI systems. Experts can do this auditing on each step of the development process. This method will help to prevent and mitigate the harm before it even occurred. [24] explained the importance of community involvement in designing algorithms to address algorithmic harm. [25] describes the different types of accountability and how different levels of users can be accountable for the decisions made by the AI system. This paper discussed accountability based on the socio-economic aspect of society. Privacy and Security: Privacy of the AI system deals with the protection of the data on which AI system is being trained, the identity of users using it, the internal working of the system, and intellectual property if known can lead to dangerous consequences. Security of the AI system deals with the protection of the system from outside attacks that can interfere and disturb the working of the AI system. Different methods have been proposed to enforce the privacy and security of the AI systems. [26] proposed a pipeline for data protection when two or more agencies are

Requirements for Trustworthy Artificial Intelligence – A Review

111

involved in the development of AI system. [27] discusses different types of attacks that can happen on AI system and what measures should be taken to prevent them. [28] discusses different privacy laws for data protection in research. [29] proposed a method of ignoring and forgetting malicious data in the training phase so that AI system can reclaim security when attacked. All these properties will help to prevent the unintentional and intentional harm caused by the AI systems. 3.3

The Principle of Fairness

The principle of fairness makes sure that the decisions made by the AI systems should not be biased and discriminatory to any kind of user. As these AI systems have been used in a wide range of applications, where a discriminatory behavior of the system will make the system unfair, hence decreasing the trust in the system. This principle ensures that the AI systems should treat all the users equally without favoring any particular section of society. AI systems should be obligated to hold moral and ethnic values. These systems are supposed to ease the decision-making process, but if not designed and implemented correctly can lead to bias and unfairness. So, it is vital to make these systems fair and unbiased. Before looking at the solutions, let us look at the reasons for unfairness and bias. Different Types of Bias: AI systems can suffer from different types of bias. [30, 31] discussed various reasons for unfairness. One main reason for the unfairness of AI system is if the data on which it is trained is biased and crooked. That is if the data is not able to represent a clear picture of reality. For example, [32] ImageNet dataset, which is widely used by the computer vision community, does not have a fair distribution of the geodiversity of people hence causing bias in the system using it. Another reason for the algorithm to behave biased is if some underlying stereotypes are present in the data. For example, AI system makes a prediction that men are more suitable for engineering jobs than women because, over all the years, men have a higher percentage in engineering jobs than women, and this stereotype makes the training data biased. And other reason can be if the bias is introduced by the algorithm itself. This can happen when the algorithm is trying to maximize its accuracy over the training data [33]. There can be other reasons also from where bias can be introduced into the system, like if people collecting the data, designing the system, or interacting with the system are biased against a particular section of the society. So, measures should be taken to make AI systems fair, ethical, and inclusive. To make AI systems fair and unbiased, several methods and techniques have been proposed. [34] proposed a test generation technique to detect all different combinations of input attributes that can discriminate any individual based on gender, race, ethnicity, etc. [35] proposed a third-party rating system to detect bias using sets of biased and unbiased data. [36] proposed a subsampling technique that ensures that the subsamples used for training are both fair and diverse [37]. Facebook proposed a data traceability technique to detect bias using radioactive data labeling. [38] proposed the vetting of algorithms by the multidisciplinary team of experts to make algorithms unbiased. [39] designed an open-source toolkit to use fairness metrics and algorithms in an industrial setting. All these proposed solutions help to ensure fairness in AI systems.

112

3.4

D. Kaur et al.

The Principle of Explicability

The principle of explicability deals with providing explainability and interpretability to the opaque AI systems. With the increase in the complexity of the AI models, they have become black boxes that are difficult to understand and interpret [40]. This principle of explicability ensures that the working of these AI systems can be openly communicated with different stakeholders who are directly or indirectly affected by the decisions made by these AI systems. This principle makes the process of decision making transparent, hence increasing the trust of the users on the system [41]. It enables the users to correctly understand the reasons that lead to a particular decision. Explainability of the system will also help the policymakers to better understand the system to make appropriate laws, will help developers of the system to detect the reason for errors and to make the system more accurate. Different approaches have been proposed to make AI systems explainable and interpretable. Some approaches, known as integrated approaches, deal with integrating explanation mechanisms into the AI development lifecycle. In contrast, other approaches are post-hoc approaches that treat AI systems as black boxes and build an interpretable model over it. Some explainability approaches are global approaches that deal with explaining the working of the whole model. In contrast, other approaches are local approaches that deal with explaining a particular decision made by the system. All these approaches have one thing in common that is making the AI system transparent and understandable by a different type of user. A lot of work has been done in the field of explainability and interpretability. Some of these approaches are discussed here. [42, 43] proposed post-hoc method of explanation by building a proxy model on the top of the machine learning model and providing explanations by highlighting the essential input attributes that lead to a particular decision. [44] also proposed a post hoc method that generates diverse counterfactual explanations to provide explainability to the model. [45, 46] approaches consider the internal working of the system, which takes into account the internal representation of the AI system to provide explanations. [47] proposed an action-based influence model to give explanations that are based on how humans do reasoning and give explanations to real-world problems. Another popular technique of providing explanations is through visualization, which highlights the area of the image that leads to model prediction [43, 48]. All these principles of trustworthy AI, if followed correctly, ensure the reliability of the AI system hence increasing the trust in the system.

4 Technical Challenges and Future Directions A lot of research has been done and still going on to make AI systems trustworthy. There are some technical challenges that can hinder the development of trustworthy AI. One of the main challenges is the lack of clear requirements and standards for making AI trustworthy. The definition of the principles and the properties are still vague, and there can be a conflict between the principles in various application domains [11]. For example, following the principle of explicability can disobey the principle of prevention

Requirements for Trustworthy Artificial Intelligence – A Review

113

of harm, as more interpretable and transparent the model is, more prone it is to outside attacks. Hence there should be a tradeoff between these principles based on the application requirements, and there is a need for strict laws that can govern the working of AI systems. Another challenge is that one solution that worked for one problem may not work for another issue. For example, an explanation provided to developers of the system may not make sense to the users with a non-technical background. Hence more context-specific solutions are needed. There is also a need to involve a multidisciplinary team of experts to develop AI systems. In a nutshell, this area of trustworthy AI is new; a lot of research is still needed to make AI systems reliable and trustworthy.

5 Conclusions With the increase in the adoption of artificial intelligence in various application domains, it becomes particularly important to make these systems reliable and trustworthy. Different types of approaches have been developed to make these systems accurate, robust, fair, explainable, and safe. In this review, we have summarized these approaches and provided some future directions. Acknowledgments. This work was partially supported by the National Science Foundation under Grant No. 1547411 and by the U.S. Department of Agriculture (USDA) National Institute of Food and Agriculture (NIFA) (Award Number 2017-67003-26057) via an interagency partnership between USDA-NIFA and the National Science Foundation (NSF) on the research program Innovations at the Nexus of Food, Energy and Water Systems.

References 1. International Data Corporation IDC. Worldwide Spending on Artificial Intelligence Systems Will Be Nearly $98 Billion in 2023, According to New IDC Spending Guide (2019). https:// www.idc.com/getdoc.jsp?containerId=prUS45481219 2. Angwin, J., et al.: Machine bias. ProPublica (2016). https://www.propublica.org/article/ machine-bias-risk-assessments-in-criminal-sentencing 3. Dastin, J.: Amazon Scraps Secret AI Recruiting Tool that Showed Bias Against Women. Reuters, San Fransico (2018). Accessed 9 Oct 2018 4. Thomas, M.: Six Dangerous Risks of Artificial Intelligence. Builtin. 14 January 2019 5. Levin, S., Carrie, J.: Wong “Self-driving Uber kills Arizona woman in first fatal crash involving pedestrian” TheGuardian, 19 March 2018 6. Schlesinger, A., O’Hara, K.P., Taylor, A.S.: Let’s talk about race: identity, chatbots, and AI. In: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (2018) 7. Rossi, F.: Building trust in artificial intelligence. J. Int. Aff. 72(1), 127–134 (2018) 8. Goodman, B., Flaxman, S.: European Union regulations on algorithmic decision-making and a “right to explanation”. AI Mag. 38(3), 50–57 (2017) 9. Joshi, N.: How we can build Trustworthy AI. Forbes, 30 July 2019 10. Jobin, A., Ienca, M., Vayena, E.: The global landscape of AI ethics guidelines. Nat. Mach. Intell. 1(9), 389–399 (2019)

114

D. Kaur et al.

11. Smuha, N.A.: The EU approach to ethics guidelines for trustworthy artificial intelligence. In: CRi-Computer Law Review International (2019) 12. Daugherty, P.R., James Wilson, H.: Human + Machine: Reimagining Work in the Age of AI. Harvard Business Review Press, Boston (2018) 13. European Commission. White paper on artificial intelligence–a European approach to excellence and trust (2020) 14. Veeramachaneni, K., et al.: AI^ 2: training a big data machine to defend. In: 2016 IEEE 2nd International Conference on Big Data Security on Cloud (BigDataSecurity), IEEE International Conference on High Performance and Smart Computing (HPSC) (2016) 15. Ruan, Y., Zhang, P., Alfantoukh, L., Durresi, A.: Measurement theory-based trust management framework for online social communities. ACM Trans. Internet Technol. 17 (2), 24 (2017). Article 16 16. Uslu, S., et al.: Control theoretical modeling of trust-based decision making in food-energywater management. In: Conference on Complex, Intelligent, and Software Intensive Systems. Springer, Cham (2020) 17. Uslu, S., et al.: Trust-based decision making for food-energy-water actors. In: International Conference on Advanced Information Networking and Applications. Springer, Cham (2020) 18. Uslu, S., et al.: Trust-based game-theoretical decision making for food-energy-water management. In: International Conference on Broadband and Wireless Computing, Communication and Applications. Springer, Cham (2019) 19. Kaur, D., Uslu, S., Durresi, A.: Trust-based security mechanism for detecting clusters of fake users in social networks. In: Workshops of the International Conference on Advanced Information Networking and Applications. Springer, Cham (2019) 20. Kaur, D., et al.: Trust-based human-machine collaboration mechanism for predicting crimes. In: International Conference on Advanced Information Networking and Applications. Springer, Cham (2020) 21. Xu, W., Evans, D., Qi, Y.: Feature squeezing: detecting adversarial examples in deep neural networks. In: Proceedings 2018 Network and Distributed System Security Symposium (2018): n. pag. Crossref. Web 22. Goodfellow, I.J., Shlens, J., Szegedy, C.: Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572 (2014) 23. Raji, I.D., et al.: Closing the AI accountability gap: defining an end-to-end framework for internal algorithmic auditing. In: Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (2020) 24. Katell, M., et al.: Toward situated interventions for algorithmic equity: lessons from the field. In: Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (2020) 25. Wieringa, M.: What to account for when accounting for algorithms: a systematic literature review on algorithmic accountability. In: Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (2020) 26. Mehri, V.A., Ilie, D., Tutschku, K.: Privacy and DRM requirements for collaborative development of AI applications. In: Proceedings of the 13th International Conference on Availability, Reliability and Security (2018) 27. He, Y., et al.: Towards privacy and security of deep learning systems: a survey. arXiv preprint arXiv:1911.12562 (2019) 28. Hintze, M.: Science and Privacy: Data Protection Laws and Their Impact on Research, vol. 14, p. 103. Wash. JL Tech. & Arts (2018) 29. Cao, Y., Yang, J.: Towards making systems forget with machine unlearning. In: 2015 IEEE Symposium on Security and Privacy, San Jose, CA, 2015, pp. 463–480 (2015). https://doi. org/10.1109/sp.2015.35

Requirements for Trustworthy Artificial Intelligence – A Review

115

30. Ragot, M., Martin, N., Cojean, S.: AI-generated vs. human artworks. a perception bias towards artificial intelligence? In: Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems (2020) 31. Brown, A.: Biased Algorithms Learn From Biased Data: 3 Kinds of Biases Found in AI datasets. Forbes, 7 February 2020 (2020) 32. Stock, P., Cisse, M.: Convnets and imagenet beyond accuracy: understanding mistakes and uncovering biases. In: Proceedings of the European Conference on Computer Vision (ECCV) (2018) 33. Mehrabi, N., et al.: A survey on bias and fairness in machine learning. arXiv preprint arXiv: 1908.09635 (2019) 34. Agarwal, A., et al.: Automated test generation to detect individual discrimination in AI models. arXiv preprint arXiv:1809.03260 (2018) 35. Srivastava, B., Rossi, F.: Towards composable bias rating of AI services. In: Proceedings of the 2018 AAAI/ACM Conference on AI, Ethics, and Society (2018) 36. Celis, L.E., et al.: How to be fair and diverse? arXiv preprint arXiv:1610.07183 (2016) 37. Sablayrolles, A., et al.: Radioactive data: tracing through training. arXiv preprint arXiv: 2002.00937 (2020) 38. Lepri, B., et al.: Fair, transparent, and accountable algorithmic decision-making processes. Philos. Technol. 31(4), 611–627 (2018) 39. Bellamy, R.K.E., et al.: AI Fairness 360: an extensible toolkit for detecting and mitigating algorithmic bias. IBM J. Res. Dev. 63(4/5), 4:1–4:15 (2019) 40. Mueller, S.T., et al.: Explanation in human-AI systems: a literature meta-review, synopsis of key ideas and publications, and bibliography for explainable AI. arXiv preprint arXiv:1902. 01876 (2019) 41. Wang, D., et al.: Designing theory-driven user-centric explainable AI. In: Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (2019) 42. Ribeiro, M.T., Singh, S., Guestrin, C.: Why should I trust you? explaining the predictions of any classifier. In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2016) 43. Zeiler, M.D., Fergus, R.: Visualizing and understanding convolutional networks. In: European Conference on Computer Vision. Springer, Cham (2014) 44. Mothilal, R.K., Sharma, A., Tan, C.: Explaining machine learning classifiers through diverse counterfactual explanations. In: Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (2020) 45. Zhang, Q.-s., Zhu, S.-C.: Visual interpretability for deep learning: a survey. Front. Inf. Technol. Electron. Eng. 19(1), 27–39 (2018) 46. Kim, B., et al.: Interpretability beyond feature attribution: quantitative testing with concept activation vectors (TCAV). In: International Conference on Machine Learning (2018) 47. Madumal, P., et al.: Explainable reinforcement learning through a causal lens. arXiv preprint arXiv:1905.10958 (2019) 48. Mahendran, A., Vedaldi, A.: Understanding deep image representations by inverting them. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2015)

Optimal Number of MOAP Robots for WMNs Using Elbow Theory Kenshiro Mitsugi1 , Atushi Toyama1 , Keita Matsuo2(B) , and Leonard Barolli2 1

Graduate School of Engineering, Fukuoka Institute of Technology (FIT), 3-30-1 Wajiro-Higashi, Higashi-Ku, Fukuoka 811-0295, Japan {mgm20108,mgm20105}@bene.fit.ac.jp 2 Department of Information and Communication Engineering, Fukuoka Institute of Technology (FIT), 3-30-1 Wajiro-Higashi, Higashi-Ku, Fukuoka 811-0295, Japan {kt-matsuo,barolli}@fit.ac.jp

Abstract. Recently, various communication technologies have been developed in order to satisfy the requirements of many users. Especially, mobile communication technology continues to develop rapidly and Wireless Mesh Networks (WMNs) are attracting attention from many researchers in order to provide cost efficient broadband wireless connectivity. The main issue of WMNs is to improve network connectivity and stability in terms of user coverage. In our previous work, we presented Moving Omnidirectional Access Point (MOAP) robot. The MOAP robot should move omnidirectionaly in the real space to provide good communication and stability for WMNs. For this reason, we need to find optimal number of MOAP robots. In this paper, we use elbow theory to decide the optimal number of MOAP robots for WMNs in order to have a good communication environment.

1 Introduction Recently, communication technologies have been developed in order to satisfy the requirements of many users. Especially, mobile communication technologies continue to develop rapidly and has facilitated the use of laptops, tablets and smart phones in public spaces [4]. In addition, Wireless Mesh Networks (WMNs) [1] are becoming on important network infrastructure. These networks are made up of wireless nodes organized in a mesh topology, where mesh routers are interconnected by wireless links and provide Internet connectivity to mesh clients. WMNs are attracting attention from many researchers in order to provide cost efficient broadband wireless connectivity. The main issue of WMNs is to improve network connectivity and stability in terms of user coverage. This problem is very closely related to the family of node placement problems in WMNs [5, 8, 10]. In these papers is assumed that routers move by themselves or by using network simulator moving models. In this paper, we consider a moving robot as network device. In order to realize a moving access point, we implemented a moving omnidirectional access point robot c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 116–126, 2021. https://doi.org/10.1007/978-3-030-57811-4_12

Optimal Number of MOAP Robots for WMNs Using Elbow Theory

117

(called MOAP robot). It is important that the MOAP robot moves to an accurate position in order to have a good connectivity. Thus, the MOAP robot can provide good communication and stability for WMNs. The rest of this paper is structured as follows. In Sect. 2, we introduce the related work. In Sect. 3, we present our implemented moving omnidirectional access point robot. In Sect. 4, we use elbow theory to decide optimal number of MOAP robots. In Sect. 5, we show the experimental results. Finally, conclusions and future work are given in Sect. 6.

2 Related Work Many different techniques are developed to solve the problem of moving robots position. One of important research area is indoor position detection, because the outdoor position can be detected easily by using GPS (Global Positioning System). However, in the case of indoor environment, we can not use GPS. So, it is difficult to find the target position. Asahara et al. [2] proposed to improve the accuracy of the self position estimation of a mobile robot. A robot measures a distance to an object in the mobile environment by using a range sensor. Then, the self position estimation unit estimates a self position of the mobile robot based on the selected map data and range data obtained by the range sensor. Wang et al. [11] proposed the ROS (Robot Operating System) platform. They designed a WiFi indoor initialize positioning system by triangulation algorithm. The test results show that the WiFi indoor initialize position system combined with AMCL (Adaptive Monte Carlo Localization) algorithm can be accurately positioned and has high commercial value. Nguyen et al. [9] proposed a low speed vehicle localization using WiFi fingerprinting. In general, these researches rely on GPS in fusion with other sensors to track vehicle in outdoor environment. However, as indoor environment such as car park is also an important scenario for vehicle navigation, the lack of GPS poses a serious problem. They used an ensemble classification method together with a motion model in order to deal with the issue. Experiments show that proposed method is capable of imitating GPS behavior on vehicle tracking. Ban et al. [3] proposed indoor positioning method integrating pedestrian Dead Reckoning with magnetic field and WiFi fingerprints. Their proposed method needs WiFi and magnetic field fingerprints, which are created by measuring in advance the WiFi radio waves and the magnetic field in the target map. The proposed method estimates positions by comparing the pedestrian sensor and fingerprint values using particle filters. Matsuo et al. [6, 7] implemented and evaluated a small size omnidirectional wheelchair.

3 Implemented Moving Omnidirectional Access Point Robot In this section, we describe the implemented MOAP (Moving Omnidirection Access Point) robot. We show the implemented MOAP robot in Fig. 1. The MOAP robot can move omnidirectionaly keeping the same direction and can provide access points for network devices. In order to realize our proposed MOAP robot, we used omniwheels

118

K. Mitsugi et al.

Fig. 1. Implemented MOAP robot.

which can rotate omnidirectionaly in front, back, left and right. The movement of the MOAP robot is shown in Fig. 2. We would like to control the MOAP robot to move accurately in order to offer a good environment for communication. 3.1

Overview of MOAP Robot

Our implemented MOAP robot has 3 omniwheels, 3 brushless motors, 3 motor drivers and a controller. The MOAP robot requires 24 V battery to move and 5 V battery for the controller. We show the specification of MOAP robot in Table 1.

Fig. 2. Movement of our implemented MOAP robot.

Optimal Number of MOAP Robots for WMNs Using Elbow Theory

119

Table 1. Specification of MOAP robot. Item

Specification

Length

490.0 [mm]

Width

530.0 [mm]

Height

125.0 [mm]

Brushless Motor BLHM015K-50 (Orientalmotor corporation) Motor Driver

BLH2D15-KD (Orientalmotor corporation)

Controller

Raspberry Pi 3 Model B+

Power Supply

DC24 V Battery

PWM Driver

Pigpio (The driver can generate PWM signal with 32 line)

3.2 Control System We designed the control system for operation of MOAP robot, which is shown in Fig. 3. We are using brushless motors as main motor to move the robot, because the motor can be controlled by PWM (Pulse Width Modulation). We used Rasberry Pi as a controller. However, the controller has only 2 PWM hardware generators. But, we need to use 3 generators, so we decided to use the software generator to get a square wave for the PWM. As software generator, we use the Pigpio which can generate better signal than other software generators and make PWM signals with 32 lines. Figure 4 shows the square signal generated by Pigpio.

Fig. 3. Control system for MOAP robot.

120

K. Mitsugi et al.

Fig. 4. Square signal by using Pigpio.

3.3

Kinematics

For the control of the MOAP robot are needed the robot’s rotation degrees, movement speed and direction. Let us consider the movement of the robot in 2 dimensional space. In Fig. 5, we show the movement of the robot. In this figure, there are 3 omniwheels which are placed 120◦ with each other. The omniwheels can move in clockwise and counter clockwise directions, we decided clockwise is positive rotation as shown in the figure. We consider the speed for each omniwheel M1, M2 and M3, respectively. As shown in Fig. 5, the axis of the MOAP robot are x and y and the speed is v = (x, ˙ y) ˙ and the rotating speed is θ˙ . In this case, the moving speed of the MOAP robot can be expressed by Eq. (1). (1) V = (x, ˙ y, ˙ θ˙ )

Fig. 5. The kinematics of MOAP robot.

Optimal Number of MOAP Robots for WMNs Using Elbow Theory Table 2. Motor speed ratio. Direction (Degrees) Motor speed ratio Motor 1 Motor 2 Motor 3 0

0.00

−0.87

0.87

10

0.17

−0.94

0.77

20

0.34

−0.98

0.64

30

0.50

−1.00

0.50

40

0.64

−0.98

0.34

50

0.77

−0.94

0.17

60

0.87

−0.87

0.00

70

0.94

−0.77

−0.17

80

0.98

−0.64

−0.34

90

1.00

−0.50

−0.50

100

0.98

−0.34

−0.64

110

0.94

−0.17

−0.77

120

0.87

0.00

−0.87

130

0.77

0.17

−0.94

140

0.64

0.34

−0.98

150

0.50

0.50

−1.00

160

0.34

0.64

−0.98

170

0.17

0.77

−0.94

180

0.00

0.87

−0.87

190

−0.17

0.94

−0.77

200

−0.34

0.98

−0.64

210

−0.50

1.00

−0.50

220

−0.64

0.98

−0.34

230

−0.77

0.94

−0.17

240

−0.87

0.87

0.00

250

−0.94

0.77

0.17

260

−0.98

0.64

0.34

270

−1.00

0.50

0.50

280

−0.98

0.34

0.64

290

−0.94

0.17

0.77

300

−0.87

0.00

0.87

310

−0.77

−0.17

0.94

320

−0.64

−0.34

0.98

330

−0.50

−0.50

1.00

340

−0.34

−0.64

0.98

350

−0.17

−0.77

0.94

360

0.00

−0.87

0.87

121

122

K. Mitsugi et al.

Based on the Eq. (1), the speed of each omniwheel can be decided. By considering the control value of the motor speed ratio of each omniwheel as linear and synthesising the vector speed of 3 omniwheels, we can get Eq. (2) by using Reverse Kinematics, where (d) is the distance between the center and the omniwheels. Then, from the rotating speed of each omniwheel based on Forward Kinematics, we get the MOAP robot’s moving speed. If we calculate the inverse matrix of Eq. (2), we get Eq. (3). Thus, when the MOAP robot moves in all directions (omnidirectional movement), the speed for each motor (theoretically) is calculated as shown in Table 2.      M1   1 0 d   x˙               1 √3      M2  = − − (2) 2 d   y˙     2           √ M3  − 1 3 d  θ˙  2

2

  2    x˙   3 − 13 − 13  M1                  y˙  =  0 − √1 √1  M2      3 3            θ˙   1 1 1  M3  3d

3d

(3)

3d

4 Elbow Theory to Decide Optimal Number of MOAP Robots Elbow theory considers K-means clustering. We show K-means function in Eq. (4). In this case, Ci means i th cluster and xi j is j th of i th data. K is the number of clusters. Ideal clustering is achieved when the value of Eq. (4) will be minimized. K

1 k=1 |Ck |

min { ∑

C1 ,...,CK

∑ 

i,i ∈Ck

p

∑ (xi j − xi j )2 }

j=1

Fig. 6. Simulation with 3 clusters.

(4)

Optimal Number of MOAP Robots for WMNs Using Elbow Theory

123

We show the K-means clustering in Fig. 6, the dots show clients. In Fig. 6(a), we deployed 150 clients in random way on 2D space (100 m × 100 m). After that, we use K-means clustering as shown in Fig. 6(b). We consider that the centroids can communicate with each-other for this scenario. In order to decide the number of optimal clusters, we used Elbow theory. Elbow theory uses the distance between centroid and clients (see Fig. 6(b)). In Eq. (5), All Distance means total distance between each centroid and clients in the cluster. If there is only one cluster, that All Distance value is maximum. When the cluster number increases the All Distance value will be decreased. The relation between All Distance and the number of clusters is shown in Fig. 7. From this figure, we can see that the optimal number of clusters is 3. This is the elbow value. By using this method, we can decide how many MOAP robots should be used. All Distance =

K



k=1

∑ 

i,i ∈Ck

p

∑ (xi j − xi j )2

(5)

j=1

Fig. 7. Relation between All Distance and number of clusters (for 3 clusters).

5 Simulation Results We have shown the simulation result in Figs. 8, 9, 10, 11. In Figs. 8 and 9, we deployed 300 clients. In Fig. 8(a), we clearly can distinguish 4 clusters. We show the result of K-means clustering in Fig. 8(b). In Fig. 9 is shown that the optimal number of clusters is 4. This is because the All Distance value is changing slowly after 4 clusters.

124

K. Mitsugi et al.

Fig. 8. Simulation with 4 clusters.

Fig. 9. Relation between All Distance and number of clusters (for 4 clusters).

In Figs. 10 and 11, we deployed 1000 clients. Different from Fig. 8(a), in Fig. 10(a) the distribution of mesh clients is complicated. By using K-means clustering, in Fig. 10(b) we can see 5 clusters. This can be proved by elbow theory in Fig. 11, where elbow point is 5. This show that the optimal number of clusters is 5.

Optimal Number of MOAP Robots for WMNs Using Elbow Theory

125

Fig. 10. Simulation with 5 clusters.

Fig. 11. Relation between All Distance and number of clusters (for 5 clusters).

6 Conclusions and Future Work In this paper, we introduced our implemented MOAP robot. We showed some of the previous works and discussed the related problems and issues. Then, we presented in details the kinematics and the control methodology for MOAP robot using elbow theory. In addition, we proposed elbow theory to determine the number of MOAP for good communication environment in WMNs. The simulation results show that the elbow theory can help to decide the optimal number of MOAP robots. In the future work, we would like to propose other efficient methods for optimal number of MOAP robots.

126

K. Mitsugi et al.

References 1. Akyildiz, I.F., Wang, X., Wang, W.: Wireless mesh networks: a survey. Comput. Netw. 47(4), 445–487 (2005) 2. Asahara, Y., Mima, K., Yabushita, H.: Autonomous mobile robot, self position estimation method, environmental map generation method, environmental map generation apparatus, and data structure for environmental map (19 Jan 2016), US Patent 9,239,580 (2016) 3. Ban, R., Kaji, K., Hiroi, K., Kawaguchi, N.: Indoor positioning method integrating pedestrian dead reckoning with magnetic field and wifi fingerprints. In: 2015 Eighth International Conference on Mobile Computing and Ubiquitous Networking (ICMU), pp. 167–172, January 2015 4. Hamamoto, R., Takano, C., Obata, H., Ishida, K., Murase, T.: An access point selection mechanism based on cooperation of access points and users movement. In: 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), pp. 926–929, May 2015 5. Maolin, T.: Gateways placement in backbone wireless mesh networks. Int. J. Commun. Netw. Syst. Sci. 2(01), 44–50 (2009) 6. Matsuo, K., Barolli, L.: Design and implementation of an omnidirectional wheelchair: control system and its applications. In: Proceedings of the 9th International Conference on Broadband and Wireless Computing, Communication and Applications (BWCCA-2014), pp. 532–535 (2014) 7. Matsuo, K., Liu, Y., Elmazi, D., Barolli, L., Uchida, K.: Implementation and evaluation of a small size omnidirectional wheelchair. In: Proceedings of the IEEE 29th International Conference on Advanced Information Networking and Applications Workshops (WAINA-2015), pp. 49–53 (2015) 8. Muthaiah, S.N., Rosenberg, C.: Single gateway placement in wireless mesh networks. Proc. ISCN 8, 4754–4759 (2008) 9. Nguyen, D., Recalde, M.E.V., Nashashibi, F.: Low speed vehicle localization using wifi fingerprinting. In: 2016 14th International Conference on Control, Automation, Robotics and Vision (ICARCV), pp. 1–5, November 2016 10. Oda, T., Barolli, A., Spaho, E., Xhafa, F., Barolli, L., Takizawa, M.: Performance evaluation of WMN using WMN-GA system for different mutation operators. In: 2011 14th International Conference on Network-Based Information Systems, pp. 400–406, September 2011 11. Wang, T., Zhao, L., Jia, Y., Wang, J.: Wifi initial position estimate methods for autonomous robots. In: 2018 WRC Symposium on Advanced Robotics and Automation (WRC SARA), pp. 165–171, August 2018

An Area-Efficient FPGA Implementation of a Real-Time Binary Object Detection System Narges Attarmoghaddam and Kin Fun Li(B) University of Victoria, Victoria, BC, Canada {nattarmoghaddam,kinli}@uvic.ca

Abstract. While object detection is one of the most computationally complex tasks, it can only utilize limited hardware resources on embedded devices. At the same time, additional demanding constraints such as reliable detection accuracy, high-throughput performance, powerefficiency, and real-time response are required. The goal of this work is to enhance the detection accuracy performance of a low-resource embedded object detection system to meet real-time requirements for different applications. The proposed binary object detection system achieves considerable reduction in hardware resources and significant simplification in FPGA implementation.

1

Introduction

Object detection in images and videos is an important operation in many application domains such as computer vision, image processing and Internet of Things. Furthermore, its real-time performance is vital in some applications such as security, entertainment, pedestrian detection in driver assistance system, face detection, surveillance and robotics. Object detection aims to detect whether or not the image includes a particular object. It involves extracting information from an image or frames, processing the information, and then determining whether the information contains the target object. There are many factors which impact the performance of an object detection system. The number of features, the size of the search window and array, the input image frame size and the object of interest itself are the most important factors, that should be considered based on the application and the required performance [15]. The detection frame rate and the detection accuracy are two important performance evaluation metrics in object detection systems. The detection frame rate defines how fast the system can process a number of input images (frames per second or fps). Accuracy can be interpreted in various ways in different domains and applications. In the study of machine learning algorithms, accuracy is used as a statistical measure to evaluate how well a system can detect correctly. The accuracy metric is defined as the proportion of true predictions among the total number of tested samples, it is mostly affected by the training phase characteristics such as number of features, training data, etc. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 127–139, 2021. https://doi.org/10.1007/978-3-030-57811-4_13

128

N. Attarmoghaddam and K. F. Li

Object detection is a computationally complex and time-consuming process. Although software implementations of object detection systems achieve high detection accuracy, often they cannot meet real-time requirements [10]. Therefore, researchers have been motivated to utilize hardware acceleration. Many research works have been focusing on hardware realization of object detection systems in order to find a suitable platform to overcome the challenges of realtime embedded object detection systems, such as the resources limitation, power consumption, etc. Over the past decade (2010s), many works have shown that the Field Programmable Gate Array (FPGA) implementation is well-suited for such compute-intensive as well as resource-constrained designs, due to FPGA’s inner parallelism characteristics, reasonable power consumption and scalable resource usage [3,6,12].

2

Object Detection in Hardware

“Real-time” processing refers to the time interval between two steps of processing, this is, producing output almost simultaneously with the input. Since the rate of input source various in different applications, real-time processing rate depends completely on the application. In hardware implementation, real-time processing means the algorithm runs at the same rate as the source, for example in image processing, the camera that supplies the images. Current standard for image capture is typically 30 frames per second (fps) and real-time processing requires to process all frames as soon as they are captured, therefore, the minimum real-time detection rate is 30 fps [15]. Figure 1 shows a general block diagram of an object detection system. Preprocessing is the first step of an object detection system which plays an important role in making information exploration such as feature extraction more productive. Depending on the system requirements and application, preprocessing includes different tasks such as preparation, transformation, cleaning and reduction of the input samples. Feature descriptor is the next block of an object detection system. Feature descriptor encodes interesting information of the image into some feature vectors which act as a sort of numerical fingerprint. As features represent the main and distinguishing characteristics of the image, performance of the overall system is dependent on its feature descriptor’s effectiveness. The third module of an object detection system is a classification algorithm which classifies images into two classes:

Fig. 1. A general block diagram of an object detection system

An Area-Efficient FPGA Implementation

129

object-like and non-object. Machine learning algorithms are the most popular and common classifiers employed in object detection systems nowadays.

3

Object Detection Algorithms

Feature descriptor acts as numerical fingerprint that extracts beneficial information of the image and encodes them into feature vectors. As features are used as a starting point of an object detection system, the detection accuracy of the overall system is dependent on how good its feature descriptor is. A productive descriptor should be insensitive to various lightening conditions or small shape changes. Moreover, it should not have high computational complexity and should not increase the amount of data. As it was discussed above, one of the major part of an object detection system is its classifier. Although there are different classification methods, when FPGA implementation is targeted, some essential factors should be considered. First, how accurate is the algorithm if it is implemented in hardware using fixed point precision. Moreover, the algorithms are only suitable for hardware implementation they do not occupy large number of resources in hardware. In [1], we have investigated FPGA-based implementation of object detection systems in various applications using different data mining algorithms. The results showed that the classifier Support Vector Machine (SVM) gives highly accurate and reliable results, and Histograms of Oriented Gradients (HOG) is suitable for a wide range of object detection applications as a feature extractor. The remainder of this section briefly reviews these two algorithms. 3.1

Original HOG Algorithm

A commonly used algorithm in object detection systems is the Histograms of Oriented Gradients (HOG). HOG is a feature descriptor that is now popularly used for human detection applications because of its high accuracy in detecting various textured objects, and robustness to the change of illumination, deformation and rotation. The concept of HOG is that the distribution of local intensity gradients or the edge directions (oriented gradient) can be used as features to represent an object shape or appearance even without precise information about the location of the edges. As shown in Fig. 2, HOG consists of four steps to extract features. The first step is the computation of the magnitude and the direction of gradient. Various methods can be applied but the best one is the simple 2-dimensional sharpening filter known as Sobel operator. This mask removes no vital information and produces the edge details in the image. The next step of the process is orientation binning which generates cell histograms. It accumulates a histogram of edge orientations onto a spatial region called cell which can be rectangular (RHOG) or circular (C-HOG). Illumination and foreground-background contrast can affect gradient magnitude, so to provide better illumination invariance, gradients must be normalized. To this end, the block normalization process follows, which groups cells into larger blocks. The final HOG descriptor is then a vector

130

N. Attarmoghaddam and K. F. Li

which is made from the concatenation of the normalized cell histograms from all of the block regions [16]. The main weakness of most sliding window algorithms, like HOG, is that they are very slow due to the compute-intensive process. But on the positive side, high computational accuracy in the detection of various textured objects and robustness to changes in illumination, deformation and rotation, make HOG remarkably popular in object detection application.

Fig. 2. HOG descriptor scheme

3.2

Support Vector Machine (SVM)

Support Vector Machine (SVM) is a supervised learning method which was introduced in 1998 by Vapnik [19]. The basic idea of SVM is finding a hyperplane in an N-dimensional space which has the maximum margin, i.e., maximum distance between data points of two classes. As it is often impossible to separate sample points from different classes using hyperplanes, SVM uses a specific function called a “kernel”, to transform training data onto a space which is possible

Fig. 3. General block diagram of SVM, (a) Training phase, (b) Prediction phase (MAC: Multiplier-Accumulator)

An Area-Efficient FPGA Implementation

131

to find separating hyperplanes. As can be seen in Fig. 3, SVM consists of two phases: training phase and prediction phase. The output of the training phase constructed by a set of support vectors (SV) that define the separating hyperplane and the kernel parameters. During the prediction phase, new points are classified to the subspace they belong to, using the trained model. Among classifiers, SVM is relatively memory efficient and effective in high dimensional spaces. On the negative side, high algorithmic complexity causes serious practical problems in the training phase especially for large-scale tasks. But training phase is not necessary to deploy in hardware implementation so this is not an issue for the implementation of object detection systems.

4

Progress on Using Hardware for Object Detection

As mentioned earlier, HOG computation needs the calculation of gradient magnitude and direction for all the pixels. These processes require a large number of square, square root, and division operations which are not area efficient in hardware implementation. Therefore, different works have utilized various techniques to overcome the computational complexity of these operations. An extensive review of FPGA-based implementations of the HOG algorithm is presented in [7]. Some of the notable techniques and simplification methods are discussed here: • Similar to most other applications, the first approach to simplify hardware implementation of HOG is employing fixed-point arithmetic instead of floating-point [14,18]. Authors in [14] showed that using fixed-point arithmetic for HOG computation, can achieve comparable accuracy with that of floating-point arithmetic. • Parallelize histogram calculation is another approach that is compatible with the inner parallelism characteristics of FPGA. Authors in [8,11] and [17] proposed parallelized architectures for cell histogram generation which resulted in faster processing. • A common approach that has been employed to compute square root, arctangent and division is the use of Look-up-tables (LUTs). Authors in [14] implemented square root operation using LUTs, and in [4] arctangent and division are implemented using LUTs. Moreover, in [14] for the arctangent operation, more specific simplification is applied. • Using the relationship between the gradient orientation and the sign of the differences in luminance, authors in [18] have derived a conditional expression. They have obtained a quantized gradient orientation using this conditional expression to avoid calculating arctangent. • As the normalization process contains square, square root, and division operations, its substitution by a simplified process results in reduced resources. In [20] the normalization process is replaced with a modified binarization process. Not only this modification simplifies the normalization process, but also all multiplications are replaced by additions in the SVM classifier.

132

N. Attarmoghaddam and K. F. Li

As a result, these simplifications make considerable reduction in hardware resource. Authors in [18] used similar binarization process to simplify HOG calculation. Using this technique, they achieved an 1/64 reduction in memory requirement. • Window-based scanning and cell-based scanning are two methods which are used for image scanning in HOG. In window-based method, windows overlap with only offset of 1 cell, while in cell-based scanning method, there is no cell overlap with other cells. Therefore, memory bandwidth is much higher in window-based method [4,11,14,21]. In [17] and [18], cell-based scanning is used to decrease memory bandwidth. • Using dual-port block ram (BRAM) is another technique to accelerate HOG computation which authors in [4] have used.

5

Binary Object Detection System

The trade-off between area and performance of applying the original HOG on grayscale and binary images is discussed in this section. From now on, we refer to applying the original HOG on binary images as the binary HOG. 5.1

Original HOG vs Binary HOG

As mentioned in Sect. 3.1 the HOG algorithm consists of four steps. These four steps are compared regarding hardware implementation differences between the original and binary HOG: • Computation of gradient magnitude and angle: For the computation of gradient magnitude and angle, the original HOG needs square, square root and arctangent operations which are complicated to implement on FPGA and they occupy a large number of resources. However, gradient magnitude and angle computation for binary images can be implemented using simple look-up tables. In addition, the √ gradient magnitude of each pixel for binary is considerably smaller than grayscale images is in the range of 0 to 2 which√ images which is in the range of 0 to 256 2 for the same cell size. For example, for the original HOG, if the pixel is represented in 8 bits, the gradients on x and y axis will be 9 bits (8 + sign bit). But for the binary HOG, the input image is represented by 1 bit, therefore, the output √ will be 2 bits (the possible values for gradient magnitude are 0, 1 and 2). Moreover, in case of a grayscale image, gradient angles are real values between deg 0 and 180, while for a binary image, gradient angles have only four possible values: 0, +/−45 and 90. • Cell Histogram: Regarding the histogram computation, as shown in [5], for grayscale images, nine bins should be a good compromise between performance and complexity. However, for binary images, histogram is computed based on only 4 values. Therefore, for a given cell size, the size of the total image descriptor (which is proportional to the number of bins in a cell histogram) in binary HOG will be 4/9 = 0.44 of the size of the descriptor in the

An Area-Efficient FPGA Implementation

133

original HOG. Moreover, for grayscale images, the magnitude of the gradients is proportionally allocated to two adjacent bins, while for binary images, the main bin is determined in accordance with the angle value. • Block Normalization: Regarding the normalization step which involves square, square root, and division operations, there is no difference between the original HOG and binary HOG. 5.2

Normalization Replacement by Binarization

As can be inferred from the discussion above, the block normalization step is still the bottleneck of binary HOG which makes compact FPGA implementation difficult. In order to simplify hardware implementation, we propose to replace the normalization step by binarization process similar to the suggestion in [20], which leads to great resource reduction. To this end, after calculating the block feature, for each block, the threshold is set to the average value of HOG features. If the HOG feature is greater than the block threshold, the final HOG feature is set to 1; otherwise, it is set to 0. Using this binarization process results in reduction in both memory utilization and computational complexity. 5.3

Binary SVM

Classifying data using the SVM algorithm, requires many multiplications. In an object detection system, as is depicted in Fig. 1, SVM is the subsequent block of the HOG block, which works as a classifier to differentiate samples into two object-like and non-object classes. Therefore, input data of the SVM are binary features obtained from binary HOG. Consequently, all multiplications can be replaced by additions in SVM, which leads to significant simplification in hardware design and reduction in hardware resource utilization.

6

Software Implementation

The binary object detection system, described in previous section, has been simulated in Matlab. The INRIA pedestrian database is used to train the SVM classifier and test detection accuracy. In order to measure accuracy degradation caused by extracting features from binary images, the original system which uses grayscale images, is also simulated under the same conditions which are described in the next paragraph. The impact of different parameters of the HOG algorithm on the performance of a detection system has been studied in [5]. It has been concluded that the following conditions have the best detection performance results: [−1, 0, 1] gradient filter, 9 orientation bins in 0◦ –180◦ for linear gradient, a stride (block overlap) of 8 pixels, 64 × 128 detection window, and L2-Hys normalization method which is L2-norm followed by clipping (limiting the maximum values to 0.2) and renormalizing. Regarding the cell and block size, 6 to 8 pixel wide cells and 2 × 2 and 3 × 3 block sizes give the best performance for human detection. Moreover,

134

N. Attarmoghaddam and K. F. Li

it has been shown that using Gaussian kernel SVM improves performance by about 3% at 10− 4 false positive per window (FPPW). Our original system is implemented based on the above-mentioned parameter values. Our implementation uses 16×16 blocks which is 2×2 cells of 8×8 pixels. Furthermore, different kernel functions have been employed which Radial Basis Function (RBF) and linear kernels showing the first and second best detection accuracy results, respectively. Our binary system is implemented under the same scenarios with only two differences. First, due to binary and grayscale differences, the histogram is computed based on only four gradient angles: 0, +/−45 and 90. Therefore, there are four instead of nine orientation bins in 0◦ –180◦ . Second, the normalization step is replaced by the binarization process. Simulation results of different grayscale and binary system cases are compared in Table 1. Training and test detection accuracy are measured and reported for both the original and binary systems under different scenarios. As can be seen, detection accuracy of training data for both linear and RBF kernels is 100% which shows the model is trained correctly. Among all systems in the table, the most area efficient one is the binary system with replacement of normalization by binarization, as proposed in this work. The proposed system could achieve a detection accuracy of 86.95% and 88.28% using linear and RBF kernels, respectively. Hardware implementation of the RBF kernel needs more area than the linear kernel. Moreover, with regard to their formulas [9], RBF kernel loses more accuracy in hardware implementation compared to the linear kernel. Therefore, the most area-efficient design on FPGA is a binary system using binarization followed by the linear kernel as a classifier, which can reach a maximum 86.95% detection accuracy. Table 1. Simulation results HOG type

Dataset Kernel type

Original

Training Linear

Binary

Precision (%)

Miss rate (%)

Recall (%)

L2-Hys

100

100

0

100

100

100

0

100

Linear

L2-Hys

95.12

96.62

3.4

96.53

RBF

L2-Hys

96.93

98.20

2.66

97.33

Binarization

93.19

94.27

4.59

95.40

RBF

Binarization

97.31

97.73

1.8

98.17

Linear

L2-norm

94.60

94.22

2.11

97.88

RBF

L2-norm

97.91

97.83

0.99

99.00

Linear

Binarization

86.95

94.06

12.78

87.21

RBF

Binarization

88.28

94.76

11.54

88.45

Linear

L2-norm

89.55

95.28

10.21

89.78

RBF

L2-norm

89.67

95.72

10.47

89.52

Training Linear

Test

Accuracy (%)

L2-Hys

RBF Test

Normalization type

An Area-Efficient FPGA Implementation

7

135

FPGA Implementation

An FPGA-based system for binary object detection has been implemented. The hardware implementation of binary HOG is first implemented by block normalization and then in the second implementation, normalization is replaced by binarization. In this section, the hardware implementation architecture is described in detail, then results of the FPGA implementation are discussed. From now on, we refer to the system that used normalization and the one that replaced normalization by binarization as first design and second design, respectively. 7.1

FPGA Implementation Architecture

The first and second design have the same architecture and there are only a few differences which are discussed in this subsection. Architecture includes a RAM which contains one window of the test image. The two proposed designs have the same first two steps of HOG features calculations including the magnitude and the angle of gradients, and cell histogram. These two steps contain most of the computations. The proposed designs are different in the next two steps including block normalization and final features calculation. The first design includes 16 multiplier-accumulator (MAC) units to calculate the sum of products of block features. After that, the square root of the result is calculated and then, the final feature is computed by dividing block features with the square root. In the second design in which normalization is replaced by binarization, in order to apply binarization, the average value of block features should be used as the threshold. To calculate this value, all block features are accumulated and then the result is shifted to the right by four bits instead of dividing by 16. Then, all the block features are compared to the threshold and if the feature is greater than the threshold, the final feature is set to 1; otherwise, it is set to 0. Regarding SVM implementation, there is an array to store SVM weights of the trained model. In the first design, there are 16 MAC units which calculate sum of the products of the final HOG features and SVM weights. After that, final result is compared with a predefined threshold from the trained model to produce final SVM classification result. In the second design, since HOG features are binary, all multiplications are replaced by additions. Therefore, there are 16 adders instead of MAC units. The SVM algorithm is implemented in such a way that most of the computations are running in parallel with HOG calculations, and only two additional clock cycles are needed. 7.2

FPGA Implementation Results

FPGA implementation characteristics for both designs are represented in Table 2. These results are reported in two aspects, one is a system including the HOG feature descriptor and the other one is a complete object detection system including HOG and SVM algorithms. As it can be observed in the table,

136

N. Attarmoghaddam and K. F. Li

the complete system needs only two additional clocks compared to the system includes only HOG feature extractor. As can be seen, replacing normalization by binarization results in 940 LUT (19%) and 2,370 LUT (34%) reduction in the required hardware resources for HOG and the whole system, respectively. It can also be observed that implementation of the SVM in the second design adds only 396 LUT while it needs 1,827 LUT in the first design which is 4.6 times more. That is because all multiplications are replaced by additions in the second design. Moreover, there is a 32% reduction in processing time of the second design compared to the first design. Table 2. FPGA implementation results Proposed system

Implemented LUT architecture

Slice register

Max clock frequency (MHz)

#Clock cycle per window

Power (mW)

4,992

1,664

101

11,556

524

HOG + Linear SVM

6,819

1,822

98

11,557

532

HOG

4,053

1,640

101

5,157

514

HOG + Linear SVM

4,449

1,676

77

5,159

529

First design HOG (Normalization)

Second design (Binarization)

Table 3. Related work on FPGA accuracy comparison Dimension of FPGA feature space

LUT

Slice register

Clock Frames frequency per (MHz) second

Miss rate

Resolution (pixels)

Second proposed design

1,680

Xilinx Kintex

4,449

1,676

77

31

10%

320 × 240

[13]

1,680

Artix 7

3,500

2,988

Not provided

Not provided

22%

220 × 160

[20]

3,780

Spartan3 3,379

2,602

67.75

293

20%

320 × 240

Since different previous works used different metrics for the accuracy measurement, FPGA implementation characteristics of our proposed design are compared with related work in two separate tables. Table 3 compares FPGA implementation results of two previous works that applied HOG on binary images [13] and replaced normalization by binarization [20]. These two techniques are combined in our proposed design. The main purpose of Table 3 is accuracy comparison. It can be seen that the proposed design compared to presented work in [13], could achieve two times better miss rate for higher resolution images.

An Area-Efficient FPGA Implementation

137

Table 4. Related work on FPGA resource utilization comparison Dimension of FPGA feature space

LUT

Slice register

Second proposed design

1680

Xilinx Kintex

4,449

1,676

[8]

3,780

Virtex5

38,535

42,987

[2]

1,980

Spartan 3

28,616

Not provided

[14]

864

Altera 37,940 Stratix 2

[16]

3,780

Virtex7

19,241

Clock frequency (MHz)

Frames per Accuracy second

Resolution (pixels)

77

31

86.16%

320 × 240

270

64

88%

1920 × 1080

63

30

90%

1600 × 1200

66,990

127

30

91%

640 × 480

14,312

100

37

81.96%

Not provided

Moreover, the proposed design compared to presented work in [20] could achieve two times better miss rate using much lower number of features. Table 4 compares FPGA resource utilization of the proposed design with some previous works, with human detection as the application in all of them. The main purpose of Table 4 is to illustrate area efficiency, by utilizing binary images as compared to grayscale ones. It can be observed that while our proposed design shows fairly average clock frequency, processing rate and accuracy, it could achieve at least five times and eight times less LUTs and slice registers, respectively. As it is discussed above, the number of features in binary HOG is 4/9 = 0.44 of the number of features in the original HOG. Therefore, it is 1,680 instead of 3,780 under our simulation conditions. A significant characteristic of our proposed design is that it could achieve almost the same accuracy as the software implementation due to full binary computations of HOG. The SVM computation is the only non-binary calculation part of the design that only includes additions, so it does not lead to accuracy loss in hardware implementation as compared to software.

8

Conclusions

In this paper the full binary computation of HOG algorithm on FPGA is presented. Regarding the computational complexity of HOG, its binary computation results in significant simplification in hardware implementation. As the final HOG features are binary, all multiplications will be replaced by additions in the SVM process which leads to significant reduction in hardware resource utilization. A distinguishing characteristic of our proposed design is that it achieves almost the same accuracy as the software implementation. One future direction of this work is to enhance detection accuracy using Multiple Kernel Learning (MKL) methods.

138

N. Attarmoghaddam and K. F. Li

References 1. Attarmoghaddam, N., Li, K.F.: Data mining hardware acceleration for object detection. In: 2019 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM), pp. 1–7 (2019) 2. Bauer, S., K¨ ohler, S., Doll, K., Brunsmann, U.: FPGA-GPU architecture for kernel SVM pedestrian detection. In: 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops, pp. 61–68 (2010) 3. Berten, D.: GPU vs FPGA performance comparison. In: Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysFPGA 2017 (2016) 4. Cao, T.P., Deng, G.: Real-time vision-based stop sign detection system on FPGA. In: 2008 Digital Image Computing: Techniques and Applications, pp. 465–471 (2008) 5. Dalal, N., Triggs, B.: Histograms of Oriented Gradients for Human Detection (2005) 6. Fowers, J., Brown, G., Cooke, P., Stitt, G.: A performance and energy comparison of FPGAs, GPUs, and multicores for sliding-window applications. In: Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 47–56 (2012) 7. Ghaffari, S., Soleimani, P., Li, K.F., Capson, D.W.: Analysis and comparison of FPGA-based histogram of oriented gradients implementations. IEEE Access 8, 79920–79934 (2020) 8. Hahnle, M., Saxen, F., Hisung, M., Brunsmann, U., Doll, K.: FPGA-based realtime pedestrian detection on high-resolution images. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, pp. 629–635 (2013) 9. Han, S., Qubo, C., Meng, H.: Parameter selection in SVM with RBF kernel function. In: World Automation Congress 2012, pp. 1–4 (2012) 10. He, C., Papakonstantinou, A., Chen, D.: A novel SoC architecture on FPGA for ultra fast face detection. In: 2009 IEEE International Conference on Computer Design, pp. 412–418 (2009) 11. Hiromoto, M., Miyamoto, R.: Hardware architecture for high-accuracy realtime pedestrian detection with CoHOG features. In: 2009 IEEE 12th International Conference on Computer Vision Workshops, ICCV Workshops, pp. 894–899 (2009) 12. Hussain, H.M., Benkrid, K., Ebrahim, A., Erdogan, A.T., Seker, H.: Novel dynamic partial reconfiguration implementation of k-means clustering on FPGAs: comparative results with GPPs and GPUs. Int. J. Reconfigurable Comput. 2012, 1 (2012) 13. Ilas, M.-E.: Improved binary HOG algorithm and possible applications in car detection. In: 2017 IEEE 23rd International Symposium for Design and Technology in Electronic Packaging (SIITME), pp. 274–279 (2017) 14. Kadota, R., et al.: Hardware architecture for HOG feature extraction. In: 2009 Fifth International Conference on Intelligent Information Hiding and Multimedia Signal Processing, pp. 1330–1333 (2009) 15. Kyrkou, C., Theocharides, T.: A flexible parallel hardware architecture for AdaBoost-based real-time object detection. IEEE Trans. Very Large Scale Integr. VLSI Syst. 19, 1034–1047 (2010) 16. Madadum, H., Becerikli, Y.: The implementation of Support Vector Machine (SVM) using FPGA for human detection. In: 2017 10th International Conference on Electrical and Electronics Engineering (ELECO), pp. 1286–1290 (2017)

An Area-Efficient FPGA Implementation

139

17. Mizuno, K., et al.: Architectural study of HOG feature extraction processor for real-time object detection. In: 2012 IEEE Workshop on Signal Processing Systems, pp. 197–202 (2012) 18. Negi, K., Dohi, K., Shibata, Y., Oguri, K.: Deep pipelined one-chip FPGA implementation of a real-time image-based human detection algorithm. In: 2011 International Conference on Field-Programmable Technology, pp. 1–8 (2011) 19. Vapnik, V.: Statistical Learning Theory. Willey, New York (1998) 20. Xie, S., Li, Y., Jia, Z., Ju, L.: Binarization based implementation for realtime human detection. In: 2013 23rd International Conference on Field programmable Logic and Applications, pp. 1–4 (2013) 21. Yazawa, Y., et al.: FPGA Hardware with target-reconfigurable object detector. IEICE Trans. Inf. Syst. 98, 1637–1645 (2015)

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme for the Whole Internet Kazuya Odagiri1(&), Shogo Shimizu2, and Naohiro Ishii3 1

Sugiyama Jogakuen University, 17-3 Hosigaokamotomachi Chiksa-ku, Nagoya, Aichi 464-8662, Japan [email protected], [email protected] 2 Gakushuin Women’s College, Tokyo, Japan [email protected] 3 Aichi Institute of Technology, Toyota, Aichi, Japan [email protected]

Abstract. In the current Internet system, there are many problems using anonymity of the network communication such as personal information leaks and crimes using the Internet system. This is why TCP/IP protocol used in Internet system does not have the user identification information on the communication data, and it is difficult to supervise the user performing the above acts immediately. As a study for solving the above problem, there is the study of Policy Based Network Management (PBNM). This is the scheme for managing a whole Local Area Network (LAN) through communication control for every user. In this PBNM, two types of schemes exist. As one scheme, we have studied theoretically about the Destination Addressing Control System (DACS) Scheme with affinity with existing internet. By applying this DACS Scheme to Internet system management, we will realize the policy-based Internet system management. In this paper, to realize it, concept of the Internet PBNM Scheme is proposed as the final step.

1 Introduction In the current Internet system, there are many problems using anonymity of the network communication such as personal information leaks and crimes using the Internet system. As a study for solving the problems, Policy Based Network Management (PBNM) [2] exists. The PBNM is a scheme for managing a whole Local Area Network (LAN) through communication control every user, and cannot be applied to the Internet system. In the existing PBNM, there are two types of schemes. The first is the scheme of managing the whole LAN by locating the communication control mechanisms on the path between network servers and clients. The second is the scheme of managing the whole LAN by locating the communication control mechanisms on clients. As the second scheme, we have studied theoretically about the Destination Addressing Control System (DACS) Scheme. As the works on the DACS Scheme, we showed the basic principle of the DACS Scheme, and security function [14]. After that, we © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 140–150, 2021. https://doi.org/10.1007/978-3-030-57811-4_14

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme

141

implemented a DACS System to realize a concept of the DACS Scheme. By applying this DACS Scheme to Internet system, we will realize the policy-based Internet system management. Then, the Wide Area DACS system (wDACS system) [15] to use it in one organization was showed as the second phase for the last goal. As the first step of the second phase, we showed the concept of the cloud type virtual PBNM, which could be used by plural organizations [16]. In this paper, to realize it, concept of the Internet PBNM Scheme is proposed as the final step. In Sect. 2, motivation and related research for this study are described. In Sect. 3, the existing DACS Scheme is described. In Sect. 4, concept of the Internet PBNM Scheme is described.

2 Motivation and Related Research As a study for solving the problem on Internet System, the study area about PBNM exists. This is a scheme of managing a whole LAN through communication control every user. Because this PBNM manages a whole LAN by making anonymous communication non-anonymous, it becomes possible to identify the user who steals personal information and commits a crime swiftly and easily. Therefore, by applying this policy-based thinking, we study about the policy-based Internet system management.

Fig. 1. Principle in first scheme

In policy-based network management, there are two types of schemes. The first scheme is the scheme described in Fig. 1. The standardization of this scheme is performed in various organizations. In IETF, a framework of PBNM [2] was established. Standards about each element constituting this framework are as follows. As a model of control information stored in the server called Policy Repository, Policy Core Information model (PCIM) [3] was established. After it, PCMIe [4] was established by extending the PCIM. To describe them in the form of Lightweight Directory Access Protocol (LDAP), Policy Core LDAP Schema (PCLS) [5] was established. As a protocol to distribute the control information stored in Policy Repository or decision result from the PDP to the PEP, Common Open Policy Service (COPS) [6] was established. Based on the difference in distribution method, COPS usage for RSVP (COPS-RSVP) [7] and COPS usage for Provisioning (COPS-PR) [8] were established. RSVP is an

142

K. Odagiri et al.

abbreviation for Resource Reservation Protocol. The COPS-RSVP is the method as follows. After the PEP having detected the communication from a user or a client application, the PDP makes a judgmental decision for it. The decision is sent and applied to the PEP, and the PEP adds the control to it. The COPS-PR is the method of distributing the control information or decision result to the PEP before accepting the communication. Next, in DMTF, a framework of PBNM called Directory-enabled Network (DEN) was established. Like the IETF framework, control information is stored in the server storing control information called Policy Server, which is built by using the directory service such as LDAP [9], and is distributed to network servers and networking equipment such as switch and router. As the result, the whole LAN is managed. The model of control information used in DEN is called Common Information Model (CIM), the schema of the CIM (CIM Schema Version 2.30.0) [11] was opened. The CIM was extended to support the DEN [10], and was incorporated in the framework of DEN. In addition, Resource and Admission Control Subsystem (RACS) [12] was established in Telecoms and Internet converged Services and protocols for Advanced Network (TISPAN) of European Telecommunications Standards Institute (ETSI), and Resource and Admission Control Functions (RACF) was established in International Telecommunication Union Telecommunication Standardization Sector (ITU-T) [13].

Fig. 2. Essential principle

However, all the frameworks explained above are based on the principle shown in Fig. 1. As problems of these frameworks, two points are presented as follows. Essential principle is described in Fig. 2. To be concrete, in the point called PDP (Policy Decision Point), judgment such as permission and non-permission for communication pass is performed based on policy information. The judgment is notified and transmitted to the point called the PEP, which is the mechanism such as VPN mechanism, router and Fire Wall located on the network path among hosts such as servers and clients. Based on that judgment, the control is added for the communication that is going to pass by.

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme

143

The principle of the second scheme is described in Fig. 3. By locating the communication control mechanisms on the clients, the whole LAN is managed. Because this scheme controls the network communications on each client, the processing load is low. However, because the communication control mechanisms need to be located on each client, the work load becomes heavy. When it is thought that Internet system is managed by using these two schemes, it is difficult to apply the first scheme to Internet system management practically. This is why the communication control mechanism needs to be located on the path between network servers and clients without exception. On the other hand, the second scheme locates the communication controls mechanisms on each client. That is, the software for communication control is installed on each client. So, by devising the installing mechanism letting users install software to the client easily, it becomes possible to apply the second scheme to Internet system management. As a first step for the last goal, we showed the Wide Area DACS system (wDACS) system [15]. This system manages a wide area network, which one organization manages. Therefore, it is impossible for plural organizations to use this system. Then, as the next step, we showed the cloud type virtual PBNM, which could be used by plural organizations in this paper.

Fig. 3. Principle in second scheme

3 Existing DACS Scheme and wDACS System 3.1

Basic Principle of the DACS Scheme

Figure 4 shows the basic principle of the network services by the DACS Scheme. At the timing of the (a) or (b) as shown in the following, the DACS rules (rules defined by the user unit) are distributed from the DACS Server to the DACS Client. (a) At the time of a user logging in the client. (b) At the time of a delivery indication from the system administrator. According to the distributed DACS rules, the DACS Client performs (1) or (2) operation as shown in the following. Then, communication control of the client is performed for every login user.

144

K. Odagiri et al.

(1) Destination information on IP Packet, which is sent from application program, is changed. (2) IP Packet from the client, which is sent from the application program to the outside of the client, is blocked.

Fig. 4. Basic principle of the DACS scheme

An example of the case (1) is shown in Fig. 4. In Fig. 4, the system administrator can distribute a communication of the login user to the specified server among servers A, B or C. Moreover, the case (2) is described. For example, when the system administrator wants to forbid an user to use MUA (Mail User Agent), it will be performed by blocking IP Packet with the specific destination information. In order to realize the DACS Scheme, the operation is done by a DACS Protocol as shown in Fig. 5. As shown by (1) in Fig. 5, the distribution of the DACS rules is performed on communication between the DACS Server and the DACS Client, which is arranged at the application layer. The application of the DACS rules to the DACS Control is shown by (2) in Fig. 5.

Fig. 5. Layer setting of the DACS scheme

The steady communication control, such as a modification of the destination information or the communication blocking is performed at the network layer as shown by (3) in Fig. 5.

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme

3.2

145

Communication Control on Client

When using communication control on every user and every client, communication control may conflict. In that case, a priority needs to be given. The judgment is performed in the DACS Server side as shown in Fig. 6. Although not necessarily stipulated, the network policy or security policy exists in the organization such as a university (1). The priority is decided according to the policy (2). In (a), priority is given for the user’s rule to control communication by the user unit. In (b), priority is given for the client’s rule to control communication by the client unit. In (c), the user’s rule is the same as the client’s rule. As the result of comparing the conflict rules, one rule is determined respectively. Those rules and other rules not overlapping are gathered, and the DACS rules are created (3). The DACS rules are transmitted to the DACS Client. In the DACS Client side, the DACS rules are applied to the DACS Control. The difference between the user’s rule and the client’s rule is not distinguished.

Fig. 6. Creating the DACS rules on the DACS server

3.3

Security Mechanism of the DACS Scheme

Fig. 7. Extend security function

In this section, the security function of the DACS Scheme is described. The communication is tunneled and encrypted by use of SSH. By using the function of port forwarding of SSH, it is realized to tunnel and encrypt the communication between the network server and the, which DACS Client is installed in. Normally, to communicate from a client application to a network server by using the function of port forwarding of SSH, local host (127.0.0.1) needs to be indicated on that client application as a communicating server. The transparent use of a client, which is a characteristic of the

146

K. Odagiri et al.

DACS Scheme, is failed. The transparent use of a client means that a client can be used continuously without changing setups when the network system is updated. The function that doesn’t fail the transparent use of a client is needed. The mechanism of that function is shown in Fig. 7. 3.4

The Cloud Type Virtual PBNM for the Common Use Between Plural Organizations

In this section, after the concept and implementation of the proposed scheme were described, functional evaluation results are described. In Fig. 8 which is described in [16], the proposed concept is shown. Because the existing wDACS Scheme realized the PBNM control with the software called the DACS Server and the DACS client. 3.5

The Cloud Type Virtual PBNM for the Specific Domain

This scheme is to manage the plural networks group. In Fig. 8, the content of it is explained. Specifically, as a logical range to manage organization A and organization B, network group 1 exists. Similarly, as a logical range to manage organization C and organization D, network group 2 exists. These individual network groups are existing methods listed in Fig. 7. When plural network groups managed by this existing scheme exist, those plural network groups are targeted for management by this proposed method.

Specific administrative organization X

Specific administrative organization Y

Relation

Policy Information Server

Policy Information Server

Application of the policy information

Application of the policy information

LAN or WAN

LAN or WAN

LAN or WAN

LAN or WAN

Network of the own organization (Org. A)

Network of the own organization (Org. B)

Network of the own organization (Org. C)

Network of the own organization (Org. D)

Network Group 1

Network Group 2

Domain 1 Movement terminal in Org. A (1)Movement and connection (2)Usage depending on policy information

Fig. 8. Cloud type virtual PBNM for the specific domain

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme

147

For example, when user A belonging to org. A in network group 1 uses the network which org. C belonging to network group 2 which is a different network group holds, administrative organization Y for network group 2 refers for policy information of user A for administrative organization X of network group 1 and acquires it. After it, in the form that policy information registered with Network Group 2 beforehand is collated with the policy information, the final policy information is decided. As a result, the policy information is applied to the client that user A uses in network group 2, and the communication control on the client is performed. When a user moves plural network groups as well as the specific network group, it is thought that the PBNM scheme to keep a certain constant management state is realized. Because the proposed PBNM scheme is for the scheme to manage the whole Internet system, the proposed user authentication system also has a distributed system form. For example, when user A belonging to org. A in network group 1 accesses the network of the network group 1, the user authentication process is generated for the user authentication server for the network group 1. On the other hand, when user A belonging to org. A in network group 1 accesses the network of the network group 2, the user authentication process is generated for the user authentication server for the network group 1 as Fig. 9.

Fig. 9. Concept of the proposed user authentication method

4 Concept of the Internet PBNM 4.1

Concept of the Internet PBNM

In this section, concept of the Internet PBNM is proposed as Fig. 10. This is a scheme which extends the management scheme for the specific domain in step 3 of the Internet PBNM research.

148

K. Odagiri et al.

administraƟve organizaƟon Y

administraƟve organizaƟon X

Policy AuthenƟcaƟon Server InformaƟon OpenLDAP) Server

Policy AuthenƟcaƟon Server InformaƟon OpenLDAP) Server

Network of the own organizaƟon (Org. A)

Network of the own organizaƟon (Org. B)

Network of the own organizaƟon (Org. C)

Network Group 1

Network of the own organizaƟon (Org. D) Network Group 2

Domain 1

Network of the own organizaƟon (Org. E)

Network of the own organizaƟon (Org. E)

Network of the own organizaƟon (Org. G)

Network Group 3

Network of the own organizaƟon (Org. H) Network Group 4

Domain 2

(1)

(2) User of Domain 1

Fig. 10. Concept of the internet PBNM

In Fig. 10, as administrative organizations for the domains, administrative organization 1 and administrative organization 2 exist. Administrative organization 1 manages the domain 1, and administrative organization 2 manages the domain 2. Then, these two administrative organizations are operated cooperatively. Methods such as user authentication and registration and distribution of policy information need to be considered in a form that matches the current Internet mechanism. In this scheme, after user that belongs to domain 1 moves to other domain (domain 2), network of domain 2 can be used by the user with a certain degree of management. Policy information Detailed methods for generating policy information applied to clients will be a future challenge. However, Priorities are assigned in the order of policy information at the domain level, network group level, organization level, and user level. If duplicate rules exist, the rule with higher priority is given priority and DACS rules are generated, and applied to the client with a high affinity for the current Internet. 4.2

Consideration of the Internet PBNM

In this section, Requirements for Internet PBNM are examined. There requirement from (a) to (c) should be equipped. (a) Control method when users move from one specific domain to another. Specifically, user authentication method and generation and distribution method of policy information.

Consideration of the Cloud Type Virtual Policy Based Network Management Scheme

149

(b) Method of securing the consistency between the proposed method and public key infrastructure (PKI) to realize secure communication. (c) Method of dealing with intensive access to the user authentication server and policy information management server (DACS Server) that occurs when the number of managed users increases significantly. To realize Internet PBNM by expanding cloud type virtual PBNM for the specific domain, these three requirements should be met.

5 Conclusion In this paper, considering affinity with the Internet system, the Internet PBNM scheme was considered. By this scheme, multiple domains are managed autonomously. As near future study, methods such as user authentication and registration and distribution of policy information need to be considered in a form that matches the current Internet mechanism. Acknowledgments. This work was supported by the research grant of JSPS KAKENHI Grant Number 17K00113, and the research grant by Support Center for Advanced Telecommunications Technology Research, Foundation (SCAT). We express our gratitude.

References 1. Cerf, V., Kahn, E.: A protocol for packet network interconnection. IEEE Trans. Commun. COM-22, 637–648 (1974) 2. Yavatkar, R., Pendarakis, D., Guerin, R.: A Framework for Policy-based Admission Control. IETF RFC 2753 (2000) 3. Moore, B., et al.: Policy Core Information Model – Version 1 Specification. IETF RFC 3060 (2001) 4. Moore, B.: Policy Core Information Model (PCIM) Extensions. IETF 3460 (2003) 5. Strassner, J., Moore, B., Moats, R., Ellesson, E.: Policy Core Lightweight Directory Access Protocol (LDAP) Schema. IETF RFC 3703 (2004) 6. Durham, D., et al.: The COPS (Common Open Policy Service) Protocol. IETF RFC 2748 (2000) 7. Herzog, S., et al.: COPS usage for RSVP. IETF RFC 2749 (2000) 8. Chan, K., et al.: COPS Usage for Policy Provisioning (COPS-PR). IETF RFC 3084 (2001) 9. CIM Core Model V2.5 LDAP Mapping Specification (2002) 10. Wahl, M., Howes, T., Kille, S.: Lightweight Directory Access Protocol (v3). IETF RFC 2251 (1997) 11. CIM Schema: Version 2.30.0 (2011) 12. ETSI ES 282 003: Telecoms and Internet converged Services and protocols for Advanced Network (TISPAN); Resource and Admission Control Subsystem (RACS); Functional Architecture, June 2006

150

K. Odagiri et al.

13. ETSI ETSI ES 283 026: Telecommunications and Internet Converged Services and Protocols for Advanced Networking (TISPAN); Resource and Admission Control; Protocol for QoS reservation information exchange between the Service Policy Decision Function (SPDF) and the Access-Resource and Admission Control Function (A-RACF) in the Resource and Protocol specification, April 2006 14. Odagiri, K., Yaegashi, R., Tadauchi, M., Ishii, N.: Secure DACS scheme. J. Netw. Comput. Appl. 31(4), 851–861 (2008) 15. Odagiri, K., Shimizu, S., Takizawa, M., Ishii, N.: Theoretical suggestion of policy-based wide area network management system (wDACS system part-I). Int. J. Netw. Distrib. Comput. (IJNDC) 1(4), 260–269 (2013) 16. Odagiri, K., Shimizu, S., Ishii, N., Takizawa, M.: Suggestion of the cloud type virtual policy based network management scheme for the common use between plural organizations. In: Proceedings of International Conference on International Conference on Network-Based Information Systems (NBiS-2015), pp. 180–186, September 2015

The Antikythera Framework: A Novel Design Approach for Accommodating a Large Number of Web Services Toshihiko Yamakami1(B) , Shunsuke Kirino2 , and Masaki Takahashi1 1 ACCESS, Tokyo, Japan [email protected] 2 FLYFEEL, Tokyo, Japan

Abstract. The increasing number of services drives small inefficiencies to intolerable levels. In order to cope with this challenge, it is useful to utilize a shared server instance. We propose a shared server instance approach with fair load balancing and minimizing overhead from multiple server instances. Our design is based on a novel approach to accommodate a whole set of services in an OS process on multiple server instances to manage statistical load utilization. The design empowers the dynamic management of computer resources in order to realize fairness among web services. We achieved 64% reduction of server instance costs.

1

Introduction

The number of web services is increased by the two factors: the design trend of microservices and the deployment of IoT services including many PoCs (Proof of Concepts). These trends impact the infrastructure costs of server instances to host these services. In production mode, each service needs multiple server instances with sufficient load margins for service availability and preparation for peak load. There is a design trade-off between shared services and fair execution of multiple services. This leads to another issue of fair resource management. Some services may impact performance of other independent services. In this paper, we deal with this design trade-off with a novel architecture to enable fair and efficient resource management of multiple web services on a shared server instance.

2 2.1

Background Purpose of Research

The aim of this research is to develop a cost-efficient web application framework to deal with a large number of web services. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 151–162, 2021. https://doi.org/10.1007/978-3-030-57811-4_15

152

2.2

T. Yamakami et al.

Related Work

Research on real-time web application frameworks consists of a) IoT web application frameworks, b) web application framework, and c) web application deployment support. First, in regards to IoT web application frameworks, Dantas et al. discussed a FIWARE-based IoT middleware platform [4]. Fuentes Carranza et al. discussed secure brokering and execution monitors in an IoT platform [6]. Andrade et al. presented the SOFT-IoT platform, which introduces the Fog of Things (FoT) concept [2]. Second, in regard to web application framework, Feio et al. discussed FIMApp, a web application utilizing FIWARE APIs [5]. Lobo et al. discussed Domino, a Web of Things-based framework to manage device behavior [7]. Yang et al. proposed a full-stack Web application is designed to communicate with the low power constrained nodes in 6LoWPANs [10]. Third, in regard to web application deployment support, Moore et al. proposed a three-tiered DevOps model for urban IoT [8]. Dang et al. discussed challenges of AI and ML in a DevOps framework [3]. Thuluva et al. discussed flexible web service composition of IoT [9]. The past literature did not cover web application frameworks which fit inhouse IoT service development. The originality of this paper lies in its design of web application platform to deal with real-world IoT web services in a costefficient and fair manner.

3

Method

The authors perform the following steps: • analyzing requirements to deal with a large number of web services, • presenting an architecture for cost-efficient and fair multi-service deployment, • discussing design characteristics of the Antikythera Framework.

4

Requirements

It is feasible to decrease the infrastructure costs by hosting multiple web services in a shared service instance. It reduces overhead of redundancy and performance buffers for peak time. In hosting multiple services in a shared service instance, there are three requirements: • fair distribution of CPU resources • isolation of execution spaces • lightweight and fast deployment

The Antikythera Framework

4.1

153

Fair Distribution of CPU Resources

Each web service is an independent service. It is important to ensure that task execution from an increased demand in a web service should not impact performance of other web services. Therefore, it is necessary to set upper limits of available computing resources for each web service. This fine-grained CPU resource management requires micro-second order fine-grained execution control. The response time requirement varies from service to service. In order to cover response time-critical services, it is necessary to ensure the capability of short response time in design. Fairness of execution control should be maintained in a fine-grained time scale as well as the long-term time scale. As a prerequisite, it is necessary to provide scalability of CPU resources to cover a sudden increase of execution demands. In addition, fine-grained fair execution should cover sudden peak time demands. And, it should be realized without impacting other web services. 4.2

Isolation of Execution Contexts

Independence of each hosted web service requires isolation of execution contexts. In restricted cases, such as an in-house PaaS, we can assume that developers have some shared goals. In this cooperative case, it is not necessary to ensure strict protection of information sharing to prevent malicious information leak. At the minimum level, excluding memory sharing is acceptable to prevent unintentional information access by other web services. 4.3

Lightweight and Fast Deployment

For non-stop deployment, it is increasingly important to realize deployment without downtime in installing a version up of software. No-downtime deployment can be implemented by immutable deployment. In immutable deployment, a new version software is installed in the same number of new server instances under a load balancer. When the behavior is confirmed, old instances are detached from the cluster for the load balancer. This increases risk for costs and usability impacts. First, for infrastructure costs, a double number of instances are operated during the deployment. It requires activation of new instances, which leads to the longer deployment time. It increases possible overlap with other service deployment, which impacts complexity of service deployment planning. Second, for WebSocket disconnection, immutable deployment requires replacement of service instances. It potentially increases WebSocket disconnection. Each service may have different levels of impact from this disconnection. Accumulated risk from a large number of web services impacts service quality. In order to deal with this challenge, it is necessary to ensure lightweight and fast deployment to minimize the impact.

154

5

T. Yamakami et al.

Overview of the Antikythera Framework

In order to support a diverse web services in a fair and cost effective manner, we design a framework called Antikythera Framework. The Antikythera Framework is a PaaS (Platform as a Service) to host multiple web services. Each web service hosted on the Antikythera Framework is called as “gear”. The architecture of the Antikythera Framework is depicted in Fig. 1. The Antikythera framework consists of two layers: • Antikythera core • Gear The Antikythera Framework is written in Elixir, and all gears must be written in Elixir. The Antikythera Framework is implemented in Erlang VM. All gears are hosted on a single Erlang VM. We refer to each Antikythera cluster as an “Antikythera instance”, which has each Antikythera core in the Fig. 1. Each web service is executed within an Antikythera instance as a gear. HTTP Requests are distributed by a load balancer to each server instance. The Antikythera Framework performs any designated processing in the following two cases, according to each specified gear: • HTTP Request handling • Asynchronous processing handling Each gear can describe arbitrary call back function in each case. Connection management such as TCP Connection is performed by the Antikythera core. Therefore, gear developers don’t have to take care of it. Gear processing needs to be described in a programming language which can be compiled to the executable bytecode on an Erlang VM. It can be written in Elixir/Erlang. From the viewpoint of gear developers, each processing is described in a callback function. This means the Antikythera Framework is a FaaS (Function as a Service)-oriented web application framework. The gear code execution for HTTP Request handling is processed as follows:

Fig. 1. Antikythera Framework architecture

The Antikythera Framework

155

• Domain-based routing • Path-based routing • HTTP Request processing First, the Antikythera Framework performs the domain-based routing. There are multiple gears running in the Antikythera Framework. Each gear is a completely independent web service. All HTTP requests to a gear will be handled by a common server instance through a load balancer. Each gear has a specific domain binding. The Antikythera Framework performs the first stage routing based on the domain specified in an HTTP Request. All domains are specified to the load balancer. The Antikythera Framework determines the designated gear using its domain mapping information. Second, the Antikythera Framework performs the path-based routing. For example, in a web service, there are different functions such as login, logout, update of info, and so on. The Antikythera Framework needs to select the designated function to deal with the specific HTTP request. This selection is performed by the HTTP method and the HTTP request path in the HTTP Request. The Antikythera Framework provides a DSL (domain-specific language) to define the relation. Gear developers use this DSL to define the mapping relationship. Third, the Antikythera Framework performs a function defined in the DSL. The parameters of the HTTP Request will be converted to the Elixir struct format and passed to the function as the function arguments. Gear developers use this flexibility to perform any function based on information specified in the HTTP Request. In addition to the HTTP Request handling, the Antikythera Framework provides powerful asynchronous processing. In this paper, asynchronous processing is described as “AsyncJob”. The gear code execution for asynchronous processing is performed with the two mechanisms provided by the Antikythera Framework: • Job queue to keep AsyncJob • Worker to execute AsyncJob Each gear can register the following two types of AsyncJob: • AsyncJob for one-time execution AsyncJob • AsyncJob for rule-defined multiple-time execution Each gear can register AsyncJob with the type of AsyncJob, the module to define the designated function, and parameters. The module description provides a capability to specify an arbitrary function to gear developers. The job queue for registered AsyncJobs is implemented on the memory of an ErlangVM. It is more efficient compared to the implementation to use an external database because it eliminates overhead of polling to the DB. The job queue will notify the worker using push. In the Antikythera Framework, the job queue is copied to multiple server instances for redundancy. This prevents data loss due to an unexpected incident. The architectural components are depicted in Table 1.

156

T. Yamakami et al. Table 1. Architectural components of the Antikythera Framework Component

Description

Antikythera core An Antikythera core receives incoming web service requests from a load balancer. It manages subdomain or page-based routing. It facilitates inter-core communication Gear

6

An instance to provide a web service. Multiple gears can perform efficient inter-gear communication. Gears are executed on an Erlang VM

Design

In order to deal with the requirements, the authors use the characteristics of Erlang VM and Erlang processing. An Erlang VM provides virtual environments called “Process virtual machines”. An Erlang VM provides a virtual Erlang Process which is similar to a process in an OS. This Erlang Process is managed by the Erlang VM. Internally, it is implemented by a process execution scheduler as an OS thread assigned to a CPU core. Therefore, it enables efficient processing to make use of the assigned CPU core. The characteristics of an Erlang VM are important for the Antikythera Framework as depicted in Table 2. Table 2. Characteristics of Erlang VM beneficial for the Antikythera Framework Item

Description

Preemptive scheduling

An Erlang VM sets a virtual calculation cost unit called “reduction”. A process has an upper limit of reduction. This ensures preemptive schedule to prevent unfair occupation of CPU resources

Message passing-based IPC There is no shared memory among Erlang Processes. Therefore, each process lifecycle is independent [Note] IPC: inter-process communication

First, the Antikythera Framework utilizes the Erlang VM and Erlang Process characteristics in order to realize a) fair distribution of CPU resources and b) isolation of execution contexts as depicted in Table 3. Gear can perform the following two types of processing: • Handling of HTTP Requests: processing HTTP Requests according to each gear requirements • AsyncJob execution: one time execution or periodic execution of an asynchronous task

The Antikythera Framework

157

Table 3. Utilization of Erlang VM and Erlang Processes Item

Description

Hosting each gear as an OTP Application on an Erlang VM

Executing each gear on an Erlang Process. The preemptive scheduling by an Erlang VM scheduler ensures fair execution of computing resources

Executing each gear on an All processing is performed by an Erlang Process, Erlang Process which enables isolation of execution contexts with independent life cycles Managing the number of Erlang Processes assigned for each gear

It prevents unfair allocation of computing resources to specific gears and enables simultaneous execution of multiple gears

It should be noted that most of the HTTP handling completes in a short period of time, but that AsyncJobs, such as batch processing, may take a long time. The authors present the concrete processing steps for each case to clarify the details of control of the Erlang Processes. First, for an HTTP Request, the Antikythera Framework binds an HTTP Request to a designated gear and calls processing implemented by each gear when it receives an HTTP Request. During this processing, the Antikythera Framework controls the number of Erlang Processes in execution for other HTTP Requests. For this control, the Antikythera Framework pools a simultaneously permissible number of Erlang Processes for each gear. This pool is called “executor pool”. At receipt of an HTTP Request, it picks an Erlang Process from the executor pool. After processing, it returns the Erlang Process to the pool. When there is no available Erlang Process in the executor pool, the HTTP Request is put into a queue where it waits for the return of an Erlang Process to the executor pool. When an Erlang Process is returned to the pool, an HTTP Request in the queue will be picked up for processing. After a time out period, it is removed the queue and a timeout error is returned. Second, for an AsyncJob, the Antikythera Framework put it in the queue for the designated gear. A worker provided by the Antikythera Framework picks up an AsyncJob and performs processing defined by the designated gear on an Erlang Process. The number of workers is defined by each gear. The Antikythera Framework controls this number to manage the upper limit. In summary, the characteristics of the Antikythera Framework are depicted in Table 4 The design tradeoff of the Antikythera Framework is as follows: it is efficient for multiple gears to be hosted as OTP (Open Telecom Platform) Applications in an Erlang VM. In order to share an server instance by multiple gears, computer resources other than CPU resources are necessary to be managed. The resource management of non-CPU resources are depicted in Table 5. The upper limits of the number of Erlang Processes are applicable to non-CPU resources.

158

T. Yamakami et al. Table 4. Characteristics of the Antikythera Framework

Requirement

Characteristics

Fair CPU resource distribution All gears are performed as an Erlang Process with upper limits of numbers of simultaneously executing Erlang Processes. All processings are executed in a preemptive manner. CPU resources available for each service are managed by the Antikythera Framework Isolation of execution contexts All service processings are executed as an Erlang Process. Processing life cycles are completely independent

For lightweight and fast deployment, the Antikythera Framework utilizes hot code loading in the Erlang VM. Hot code loading can reload referenced module in without terminating a system. No-downtime deployment is implemented as a inplace-deployment where deployment is performed on a working server instance. This hot code loading is fast so that a short time deployment is possible even in the case when multiple gear deployments are performed at the peak time. Table 5. Resource management of non-CPU resources Resource

Management

Memory

The Erlang Process can set the maximum value of heap size for its own use. The Antikythera Framework utilizes this mechanism to upper limit the heap size

File system The Antikythera Framework provides a function to allocate a temporary file region. Each gear can use only this region Network

7 7.1

Each gear can access network connection only via the Antikythera Framework. Currently, the Antikythera Framework provides only HTTP connections and WebSocket connection

Discussion Advantages of the Proposed Method

A Docker-based architecture can accommodate multiple web services on a shared server instance. In this case, it is important to secure isolation. In other words, it should ensure that peak performance processing at a web service should not impact other web services. From this viewpoint, is desirable to host a Docker container for each service separately. In this case, Docker uses linux’s cgroup for isolation of CPU resources, memory and disk I/O. It also uses namespaces for isolation of processes and file systems from other containers. The comparison

The Antikythera Framework

159

Table 6. Comparison of Docker-based and Antikythera Framework-based architectures Architecture

Description

Docker-based

With cgroup and namespaces, each Docker container can ensure independent life cycle management. Each Docker container is executed on a different OS process. Therefore, execution contexts are isolated. Using resource upper limits for each container, the resource management can be managed. This ensures guaranteed use of predefined resource use without interference from other services

Antikythera Framework-based Each gear performs designated service on Erlang Processes. The Antikythera Framework controls the number of simultaneous available Erlang Processes. There is an upper limit for memory size for each Erlang Process. This ensures the limitations of the number of execution processes. The fair CPU resource distribution is ensured from fair CPU resource assignment of Erlang Processes performed by the Erlang VM in a preemptive manner

of Docker-based architecture and Antikythera Framework-based architecture is depicted in Table 6. Both Docker and the Antikythera Framework can host multiple web services on a shared server instance with execution isolation. In order to utilize computing resources in an efficient manner, it is necessary to use overcommitment. For example, when 4 Docker containers to assign a two core CPU for a 4-core server instance. It is an overcommitment because the straightforward execution requires 8 cores. Usually, peak times of each service does not overlap, therefore, this overcommitment provides resource efficiency. The pros and cons of the Antikythera Framework is depicted in Table 7. The Antikythera Framework fits an in-house PaaS. Even for an in-house PaaS, the Antikythera Framework performs protections to prevent unintentional interference: • It performs code check by static analysis to prevent unintentional breach of execution isolation. • It has no shared memory in order to prevent unintentional information breach. The comparison of infrastructure costs is presented in Table 8. It assumes 3 instances AWS EC2 x5.2xlarge to host commercial services using 46 gears. It uses three different AZ (AZ denotes Availability Zone). The CPU usage ratio is maintained under 20%. Therefore, it is tolerant to any faults in one AZ. The monthly fee is 0.34 ∗ 24 ∗ 30 ∗ 3 = 734.4 USD/month.

160

T. Yamakami et al. Table 7. Pros and cons of the Antikythera Framework

Item Description Pros It can provide efficiency in resource utilization thanks to hosting on the same Erlang VM At an overcommitment case, it realizes more efficient context switching because it implements all Erlang Processes on an OS process. In Docker containers, each container is implemented by a separate OS process, so the context switch is more expensive It uses more efficient resource management because it uses only setup of the number of Erlang Processes. It can manage dynamic configuration more easily It hosts all gears on a same Erlang VM with the shared libraries for efficiency. In Docker containers, each web service need to load each web application framework or library even it uses the same ones It has advantages over FaaS services because it can reuse connection to a DB Cons It lacks complete execution isolation which Docker containers can provide. It has a narrower application domain, such as an in-house PaaS

In the non-Antikythera Framework case, it uses t3.small to tolerate spike traffic. It needs instances in three AZs to deal with any one AZ fault. Each gear needs an instance to isolate any impact from other services. The cost advantage is 734.4/2066.7 = 0.355. Therefore, it provides 64% reduction of infrastructure costs with ease of instance management. It is achieved in a production environment with redundancy and performance buffers for commercial usage. Table 8. Infrastructure costs with and without the Antikythera Framework Case

Description

With the Antikythera Framework

3 c5.3xlarge AWS EC2 instances

Monthly costs (USD) 734.4

Without the Antikythera Framework 138 t3.small AWS EC2 instances 2066.7

7.2

Limitations

This paper is based on a working technical framework. However, it does not provide any concrete in-depth analysis of comparison of web application frameworks. This paper does not cover detailed analysis of metrics to be used for comparison of web application frameworks. The metrics to analyze total life-cycle of large-scale web services are not covered in this paper. Detailed quantitative analysis of DevOps is not presented in this paper. The impact of organizational knowledge sharing in multiple IoT service development is not covered in this paper.

The Antikythera Framework

8

161

Conclusion

The Antikythera Framework was developed by ACCESS to deal with the challenge for hosting a large number of web services. It enables efficient utilization of server instances and reduces infrastructure costs. It is released as OSS [1]. ACCESS uses the Antikythera Framework for production use. We reduced the server instance costs 64% for 46 gears. Server infrastructure needs significant operation tasks such as patch application for web application frameworks and libraries in addition to service software. In the Antikythera Framework, the operation to the web application frameworks and libraries can be shared among web services. It enables reduction of human resource costs. We observed that three engineers can maintain the shared parts of 46 gears. In addition to cost reduction, we observe organizational advantages from the proposed architecture. The shared language, libraries and deployment for each gear enable shared know-how and operation processes among different service teams. It also enables reduction of learning costs when an engineer is transferred among development teams. Acknowledgement. We thank the Antikythera Framework team and the OSS community for their contribution.

References 1. ACCESS: Antikythera Framework. https://github.com/access-company/ antikythera, April 2018 2. Andrade, L., Lira, C., Mello, B., Andrade, A., Coutinho, A., Greve, F., Prazeres, C.: Soft-IoT platform in FOG of things. In: Proceedings of the 24th Brazilian Symposium on Multimedia and the Web, WebMedia 2018, pp. 23–27. Association for Computing Machinery, New York (2018) 3. Dang, Y., Lin, Q., Huang, P.: AIOps: real-world challenges and research innovations. In: Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings, ICSE 2019, pp. 4–5. IEEE Press, Piscataway (2019) 4. Dantas, L., Cavalcante, E., Batista, T.: A development environment for FIWAREbased internet of things applications. In: Proceedings of the 6th International Workshop on Middleware and Applications for the Internet of Things, M4IoT 2019, pp. 21–26. ACM, New York (2019) 5. Feio, P., Neto, J., Nascimento, V., Abel´em, A.: FI-MApp: a web application for managing FI-WARE environments in internet of things. In: Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018, pp. 791–799. Association for Computing Machinery, New York (2018) 6. Fuentes Carranza, J.C., Fong, P.W.L.: Brokering policies and execution monitors for IoT middleware. In: Proceedings of the 24th ACM Symposium on Access Control Models and Technologies, SACMAT 2019, pp. 49–60. ACM, New York (2019) 7. Lobo, J., Firmenich, S., Rossi, G., Defoss´e, N., Wimmer, M.: Web of things augmentation. In: Proceedings of the Eighth International Workshop on the Web of Things, WoT 2017, pp. 11–15. Association for Computing Machinery, New York (2017)

162

T. Yamakami et al.

8. Moore, J., Kortuem, G., Smith, A., Chowdhury, N., Cavero, J., Gooch, D.: DevOps for the urban IoT. In: Proceedings of the Second International Conference on IoT in Urban Space, Urb-IoT 2016, pp. 78–81. ACM, New York (2016) 9. Thuluva, A.S., Br¨ oring, A., Medagoda, G.P., Don, H., Anicic, D., Seeger, J.: Recipes for IoT applications. In: Proceedings of the Seventh International Conference on the Internet of Things, IoT 2017, pp. 10:1–10:8. ACM, New York (2017) 10. Yang, Z., Guo, X., Guo, X., Janowsky, D.J., Chang, C.H.: A web platform for globally interconnected 6lowpans. In: Proceedings of the 2019 International Conference on Embedded Wireless Systems and Networks, EWSN 2019, pp. 367–372. Junction Publishing, USA (2019)

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information Mohamed K. Elhadad, Kin Fun Li(&), and Fayez Gebali Department of Electrical and Computer Engineering, University of Victoria, Victoria, BC, Canada {melhaddad,kinli,fayez}@uvic.ca

Abstract. This paper aims to combat the Infodemic related to COVID-19. We propose an ensemble deep learning system for detecting misleading information related to COVID-19. This system depends on the shared COVID-19-related information from the official websites and Twitter accounts of the WHO, UNICEF, and UN, as well as the COVID-19 pre-checked facts from different fact-checking websites, as a source of reliable information to train the detection model. We use these collected data to build an ensemble system that uses several deep learning techniques to detect misleading information. To improve the performance of the proposed ensemble detection system, we implement a data preparation and preprocessing step, along with a features engineering step. We deploy Word Embedding based on a pre-trained word embedding list in addition to the existing word impeding in the input layer of the employed techniques. The experimental results are examined using fourteen performance measures (Accuracy, Error Rate, Loss, Precision, Recall, F1-Score, Area Under the Curve, Geometric-Mean, Specificity, Miss Rate, Fall-Out Rate, FalseDiscovery Rate, False-Omission Rate, and the Total Training Time). The obtained results are promising and indicate the quality and validity of the trusted information collected, for building misleading-information detection systems. It is worth noting that, in this paper, we use the terms “misleading information”, “misinformation”, and “fake news” interchangeably.

1 Introduction During crises, it is very important to ensure the legitimacy of shared information. With no available standards to ensure the accuracy and validity of the information being circulated, decisions may be made based on misleading information. These decisions may negatively impact individuals, businesses and could extend to affect the stability of countries. This has happened in the COVID-19 since January 2020 [1]. With the emergence of the disease, much misleading information has spread widely on various web platforms about lockdowns, vaccinations, death statistics, etc. This affected many countries negatively and resulted in deficits in many individuals and societal basic needs and exacerbated the crisis [2]. Hence, there is a need to build systems that can detect whether the shared information is misleading. Most of the misleading-information detection systems for textual data, employ either Machine Learning (ML) or Deep Learning (DL), together with Natural Language © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 163–175, 2021. https://doi.org/10.1007/978-3-030-57811-4_16

164

M. K. Elhadad et al.

Processing (NLP) techniques to perform the detection task [3]. These techniques help in classifying whether a piece of information is misleading or not, based on a preknown dataset that contains both misleading and real information [4]. In this paper, we propose a voting ensemble DL model for detecting misleading information in the English language, related to COVID-19. The final decision is based on the ensemble result from 6 DL techniques (Sequential model, Convolutional Neural Network (CNN), Recurrent Neural Network (RNN-LSTM, and RNN-GRU), Bidirectional Recurrent Neural Network (BiRNN-GRU), and Recurrent Convolutional Neural Network (RCNN)). We deploy Word Embedding based on a pre-trained word embedding list in addition to the existing word impeding in the input layer of the used techniques. For training our model, we collected our COVID-19 training dataset from the official websites and Twitter accounts of the WHO, UNICEF, and UN, as well as from different fact-checking websites. Section 2 shows the related work of using deep learning for building misleading-information detection systems related to COVID-19. Section 3 introduces the proposed ensemble misleading-information detection system and describes the details of each part of the system. The experimental results are discussed in Sect. 4, while Sect. 5 concludes and gives directions for future work.

2 Related Work ML and DL classification algorithms are at the heart of a variety of software systems that process textual data. Recently, numerous studies are focusing on the analysis of shared information related to COVID-19 on different online platforms. To date, there are many attempts for deploying different ML and DL techniques for the detection and diagnosis of COVID-19 as a disease (e.g., [5–9], and others). Some other researches are focusing on the treatment discovery (e.g., [10, 11], and others). In contrast, only a few ML-based attempts to develop misleading-information detection systems around COVID-19. All these researches’ goal is to analyze the data collected from different online sources using a list of hashtags for a given period. However, there are still no available benchmark datasets to test and validate different developed models, especially those related to misinformation detection systems. All the existing systems and datasets are to study and analyze the human and social behavior, and information consumption surrounding COVID-19 (e.g., [12–19]). We are not able to find any existing work that deploys ensemble DL techniques for building misleading-information detection systems. This is partly due to the lack of available benchmark datasets. Most of the current efforts focus on building datasets related to COVID-19. To the best of our knowledge, our work it the first that introduces an ensemble model based on DL techniques to detect misinformation related to the emergence of the COVID-19 disease.

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

165

3 Proposed Ensemble Detection System Systems that are used to detect misleading information from textual data are simply a text classification system. For such systems, the steps for performing the classification process varies depending on the type, nature, and the characteristics of the used textual data. Moreover, it might be necessary to prepare the data in a suitable format for processing [20]. Figure 1 shows an overview of the workflow we used to build our detection system.

1- Data collection 2- Data Preparation and Preprocessing 3- Feature Engineering 4- Detection Models Building, Training, and Performance Evaluation

5- Build and Deploy the Voting Ensemble Model

Fig. 1. Workflow for our misleading-information detection system

The process for building a misleading-information detection system is divided into five main steps as follows. 3.1

Data Collection

Collecting meaningful data is the most important step in building any classification system. The classifier can only be as good as the dataset it is built from. For the data related to COVID-19, one of the main challenges we face is, from where we could get our training data to build, train, and evaluate the detection models used in our system. Another issue is how to classify the samples in the dataset as real or misleading. It is worth noting that, for the rest of this paper we are using the word “samples” when referring to the instances of our collected data. As the COVID-19 disease is a global health crisis that is of concern to all people, therefore, it is necessary to depend on unbiased, reliable, legitimate, and well-reputed sources to get our data. Accordingly, we collected the published data on the official websites and official Twitter accounts of the WHO, UNICEF, and UN that we regarded as trusted information sources. Additionally, we enriched the collected data with the pre-checked facts from various fact-checking websites as introduced in [21]. After collecting the data, we performed several Exploratory Data Analysis (EDA) tasks to get general insights on them. Figure 2 shows the word cloud of the top

166

M. K. Elhadad et al.

100 words in the collected data while Fig. 3 shows the distribution of the collected samples over the data classes.

Fig. 2. Word cloud

Fig. 3. Distribution of dataset samples on classes

(a) Samples’ length distribution

(b) Samples’ word count distribution

Fig. 4. Distribution of samples’ length and word count

Figure 4 (a, b) shows the distribution of length and word count of the collected data samples. We notice from Fig. 4, that about 75% of the samples’ length is less than 200 characters with around 20 to 30 words. Figure 5 shows the top-10 repeated unigrams on the data. From Fig. 5 we noticed that all the top-10 repeated unigrams in the data are stop words and all have high frequencies. These stop words are useless when processing our data. This indicates that the data needs to be preprocessed to remove noisy and unimportant content.

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

167

Fig. 5. Distribution of top-10 unigrams

3.2

Data Preparation and Preprocessing

As for our detection system, our goal is to achieve maximum accuracy while minimizing the time required for training [22]. This could be achieved by the efficient handling of the data, as we will introduce later, and the correct choice of the learning algorithm. After a brief inspection of the collected data, we found there are a series of steps that we must perform, as follows: • Check for duplicates to remove repeated data if they come from the same source (i.e., keep only one copy of the data). • Remove stop words. • Remove all words with length less than or equal to two characters. • Remove all links, HTML encodings (e.g., &, <, >, etc.), symbolic and nonEnglish words. • Put the dates in a standard format, for example, the date should be (23-Feb-2020) instead of (23/2/2020). • Convert all numbers from numeric to textual written values (e.g., from 19 to nineteen). • Create a new feature for the samples’ length. • Create a new feature for the samples’ word count. • Remove empty samples. • Use the TextBlob python library [23] to create a new feature for the sentiment polarity score for each sample between the values of −1 and 1. A 1 means positive sentiment and a −1 means negative sentiment, while 0 means neutral sentiment. • Perform Part of Speech (PoS) tagging to mark-up each word in the text to its proper PoS tag such as verb, noun, adjective, etc. • Perform word stemming to replace each word by its corresponding root word to avoid redundant patterns. Figure 6 shows the top-10 unigrams after removing the stop words. After performing the preparation and the preprocessing step, we were able to minimize the indexing size by around 75–80%.

168

M. K. Elhadad et al.

Fig. 6. Distribution of top-10 unigrams after removing the stop words

Figure 7 shows the distribution of the polarity scores. While Fig. 8 (a, b) shows the relationship between the polarity scores and both the length and word count of each sample in the collected data.

Fig. 7. Distribution of samples’ polarity score

(a) Samples’ polarity- length distribution

(b) Samples’ polarity-word count distribution

Fig. 8. Distribution of sentiment polarity score by samples’ length and word count

From Fig. 7, about 83% of the sentiment polarities are greater than or equal to 0, which means that most of the samples have a positive sentiment. From Fig. 8, there are relatively very few samples that are very positive or very negative while around 97% of the samples lie between −0.5 and 0.5. Samples that have neutral to positive scores are more likely to have text length greater than 100 and a word count of more than 30 words. Figure 9 shows the distribution of top-10 obtained PoS tags.

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

169

Fig. 9. Distribution of top-10 PoS tags

3.3

Feature Engineering

The main goal of the feature engineering step is to perform feature extraction to effectively represent the important features, and feature selection to decide which of these features will be used for the next step. Form Fig. 9 we could notice that most of the obtained tags are nouns, verbs, and adjectives. This could be useful for dimension reduction to select only the words with these tags and neglect the words with other tags. Therefore, after finishing the preparation and preprocessing steps, we have a clean reduced set of words that can be manipulated with lower computational overheads. ML algorithms, such as kNN, Support Vector Machine (SVM), etc., do not take the ordering of the features inside data samples into account. It relies on either the use of ngram vector representation or bag-of-words approach for representing the feature vector. These representations make the feature vector losing a lot of important information about word order and grammar. In contrast to using DL algorithms, the sequence of the used data is mandatory. For some applications, word order is critical to ensure high accuracy of obtained results and any change to this order will affect the overall process. For example, the sentences, “COVID-19 is a critical disease that affects all of us. Our life changed completely.” can be understood only when reading them in order. Models such as Convolutional Neural Networks (CNN)s can infer meaning from the order of words in a sample. Hence, for extracting features from our data to build DL models, we utilized the sequence representation of features in order to preserve their order. The sequence of the textual data can be either a sequence of characters or a sequence of words. Character-level representation is used mainly if the textual data have a lot of typos, which is not in our case, as our data is collected from the official websites of reputable international organizations. Therefore, we used the word-level representation in our system. For example: consider that we have the following two sentences “COVID-19 disease spreads fast” and” COVID-19 badly impacted our lives”, the index assigned for every word will be {‘COVID-19’: 1, ‘fast’: 2, ‘spreads’: 3, ‘disease: 4, ‘badly’: 5, ‘impacted’: 6, ‘our’: 7, ‘lives’: 8}. Then, the sequence of word indexes of the sentence “COVID-19 disease spreads fast.” is {1, 4, 3, 2}. We represented all the samples we have in our data into a sequence vector, then we converted the classes of our data into binary values (1 for the real class and 0 for the misleading class).

170

3.4

M. K. Elhadad et al.

Detection Models Building, Training, and Performance Evaluation

For building our model we used TensorFlow backend [24] with Keras API [25] implementing different DL algorithms (sequential model, CNN, RNN-LSTM, RNNGRU, BiRNN-GRU, and RCNN) and used the wiki-news-300d-1M (GloVe) [26] pretrained word embedding in the first layer of our model. Figure 10 shows the typical layers of a Keras Sequential Model as an example.

Fig. 10. Keras sequential model [27]

We used the sigmoid function as an activation function in all our models in the output layer. For the training model, we used the binary cross-entropy and Adam’s optimizer with a learning rate of 1e-3 with 100 as the number of epochs with a batch size of 64. The early stopping option was set to 1 to automatically terminate the learning once the accuracy stops to change between consecutive epochs. Figure 11 shows the functionality of our model’s output layer. Yes

Activation Function (Sigmoid)

0.2

> 0.5

No

Fig. 11. Misinformation detection system’s output layer

Now all the layers and functions have been constructed in our model architecture. We configured six deep learning models, Sequential, CNN, RNN-LSTM, RNN-GRU, BiRNN-GRU, and RCNN. We trained the models using 80% of the collected data as training data. We used the rest to perform validation to ensure the validity of both our developed system and our collected data. Figure 12 shows a summary of the sequential model as a sample for other algorithms. Figure 13 (a, b) shows a sample of the obtained accuracy and loss per epoch for our CNN model.

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

171

Fig. 12. Model summary of the sequential technique

(a) Samples’ of accuracy per epoch

(b) Samples’ of loss per epoch

Fig. 13. Sample of the obtained accuracy and loss per epoch

The optimum number of epochs to be used should give good performance while avoiding both overfitting and underfitting. From Fig. 13, the number of epochs that corresponding to the intersection between the train and validation Accuracy and Loss lines is 5 epochs. The experimental results are reported using fourteen performance measures (Accuracy, Error Rate, Loss, Precision, Recall, F1-Score, Area Under the Curve, Geometric-Mean, Specificity, Miss Rate, Fall-Out Rate, False-Discovery Rate, False-Omission Rate, and the Total Training Time) as shown in Sect. 4. We use these metrics to evaluate the performance of the various detection models from different perspectives without the bias of depending on only a single measure.

172

3.5

M. K. Elhadad et al.

Build and Deploy the Voting Ensemble Model

After building the models for different DL algorithms and performing the evaluation on them, we chose the three techniques that gave the best results. Finally, we performed hard voting between the obtained results to get the detection decision. One of the main factors that affect the selection of classification techniques is the time it takes to build its model, especially as the size of the training data may be increased with time by adding a new training sample. After deploying the ensemble system, we used all the collected data to train the models for the best three classifiers. Then, we passed the query strings with unclassified data through the ensemble model and obtained the class label result. For the data to be classified as Real or Misleading, they must pass through all the steps as previously discussed in this section.

4 Experimental Results To ensure the validity of the collected data, and to ensure that the model is not affected by data order, we shuffled the data first and then we split the samples into 80% as training and 20% for validation. We conducted two experiments, the first using 1 Epoch and Batch Size of 100, while the second using 10 Epochs with Batch Size of 64. Table 1 shows all the obtained results for the first experiment, while Table 2 for the second one.

Table 1. The obtained results for (Epochs = 1, Batch Size = 100) Performance metric

Total training time (sec) Accuracy (%) Error rate (%) Loss (%) Recall (%) Precision (%) F1-score (%) Specificity (%) Miss rate (%) Fall-out rate (%) False-discovery rate (%) False-omission rate (%) Geometric-mean (%) Area under the curve (%)

Algorithm Sequential CNN 51 80.507 21.910 50.130 99.940 78.130 86.690 0.080 0.060 99.920 21.880 75.000 70.692 50.01

4 99.830 0.170 25.370 98.220 89.770 93.810 99.850 1.780 0.150 10.230 0.020 99.030 99.030

RCNN RNN LSTM 4 41 99.840 99.830 0.160 0.170 24.270 25.170 99.730 99.250 89.640 89.430 94.410 94.080 99.840 99.840 0.270 0.750 0.160 0.160 10.360 10.570 0.000 0.010 99.790 99.550 99.790 99.550

GRU 35 99.720 0.280 31.890 79.060 99.480 88.100 99.990 20.940 0.010 0.520 0.280 88.910 89.530

Bidirectional 74 99.870 0.130 23.620 94.810 95.400 95.110 99.940 5.180 0.060 4.600 0.070 97.340 97.340

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

173

Table 2. The obtained results for (Epochs = 10, Batch Size = 64) Performance metric

Total training time (sec) Accuracy (%) Error rate (%) Loss (%) Recall (%) Precision (%) F1-score (%) Specificity (%) Miss rate (%) Fall-out rate (%) False-discovery rate (%) False-omission rate (%) Geometric-mean (%) Area under the curve (%)

Algorithm Sequential CNN 394 99.800 0.200 1.600 99.830 99.920 99.880 99.660 0.170 0.340 0.080 0.680 99.750 99.790

65 99.999 0.001 0.543 100 99.932 99.966 99.999 0 0.001 0.068 0 100 100

RCNN RNN LSTM 77 680 99.997 99.994 0.003 0.006 0.551 1.871 99.932 99.727 99.864 99.795 99.898 99.761 99.998 99.997 0.068 0.273 0.002 0.003 0.136 0.205 0.001 0.004 99.965 99.862 99.965 99.862

GRU 671 99.988 0.012 2.31 99.591 99.523 99.557 99.994 0.409 0.006 0.477 0.006 99.792 99.792

Bidirectional 1077 99.99 0.01 2.271 99.523 99.727 99.624 99.996 0.477 0.004 0.273 0.006 99.759 99.759

It could be remarked from both Table 1 and Table 2 that all the obtained results are of high quality. These results give a good indication that our model is capable to effectively distinguish between the Real and the Misleading samples. Moreover, the collected data, despite being unbalanced, gives very good results for all the evaluation metrics in both the conducted experiments except for the sequential model. Further investigation and analysis need to be done on the data to reach the best configuration for the system, by fine-tuning the hyperparameters (e.g., dropout rate, learning rate, embedding dimensions, etc.), and getting the optimum number of epochs and batch size for maximum gain from the system, that is, the best results in the lowest possible time.

5 Conclusion and Future Work In this paper, we proposed an ensemble deep learning system for detecting misleading information related to COVID-19. This system depends on the shared COVID-19-related epidemiological information from reliable sources to train the detection model. We introduced the detailed steps for building our system. We performed an EDA to get insights about the collected data. To improve the performance of the proposed ensemble detection system, we implemented a data Preparation and Preprocessing step, along with a Features Engineering step. We deployed Word Embedding based on a pre-trained word embedding list in addition to the existing word impeding in the input layer of the used techniques. We conducted two experiments with a different number of Epoch and different Batch Sizes. Experimental results were evaluated using fourteen performance measures. The obtained results are promising and indicate the quality and validity of the trusted information collected for building misleading-information detection models.

174

M. K. Elhadad et al.

For future work directions, we will perform a further investigation of the data to establish the optimal configuration for the system. Moreover, we plan to add to our system the capability to handle data from other languages, such as Arabic, Spanish, Chinese, etc. Currently, we are working on a hybrid system that deploys both ML and DL techniques for building a robust misinformation detection system.

References 1. Chamola, V., Hassija, V., Gupta, V., Guizani, M.: A comprehensive review of the COVID19 pandemic and the role of IoT, Drones, AI, Blockchain, and 5G in managing its impact. IEEE Access 8, 90225–90265 (2020) 2. Fraga-Lamas, P., Fernández-Caramés, T.M.: Fake news, disinformation, and deepfakes: leveraging distributed ledger technologies and blockchain to combat digital deception and counterfeit reality. IT Prof. 22(2), 53–59 (2020) 3. Oshikawa, R., Qian, J., Wang, W.Y.: A Survey on Natural Language Processing for Fake News Detection. arXiv preprint arXiv:1811.00770 (2018) 4. 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 (2019) 5. Apostolopoulos, I.D., Mpesiana, T.A.: COVID-19: automatic detection from X-ray images utilizing transfer learning with convolutional neural networks. Phys. Eng. Sci. Med. 43, 635– 640 (2020) 6. Singh, D., Kumar, V., Vaishali, Kaur, M.: Classification of COVID-19 patients from chest CT images using multi-objective differential evolution–based convolutional neural networks. Eur. J. Clin. Microbiol. Infect. Dis. 39, 1379–1389 (2020) 7. Apostolopoulos, I.D., Aznaouridis, S.I., Tzani, M.A.: Extracting possibly representative COVID-19 biomarkers from X-ray images with deep learning approach and image data related to pulmonary diseases. J. Med. Biol. Eng. 40, 462–469 (2020) 8. Fan, D.-P., Zhou, T., Ji, G.-P., Zhou, Y., et al.: Inf-net: automatic COVID-19 lung infection segmentation from CT images. IEEE Trans. Med. Imaging 39(8), 1–12 (2020) 9. Kang, H., Xia, L., Yan, F., Wan, Z., et al.: Diagnosis of coronavirus disease 2019 (COVID19) with structured latent multi-view representation learning. IEEE Trans. Med. Imaging 39 (8), 1–9 (2020) 10. Beck, B.R., Shin, B., Choi, Y., Park, S., et al.: Predicting commercially available antiviral drugs that may act on the novel coronavirus (SARS-CoV-2) through a drug-target interaction deep learning model. Comput. Struct. Biotechnol. J. 18, 784–790 (2020) 11. Huang, K., Fu, T., Xiao, C., Glass, L., Sun, J.: DeepPurpose: a Deep Learning-Based Drug Repurposing Toolkit. arXiv preprint arXiv:2004.08919 (2020) 12. Chen, E., Lerman, K., Ferrara, E.: Covid-19: The First Public Coronavirus Twitter Dataset. arXiv preprint arXiv:2003.07372 (2020) 13. Lopez, C.E., Vasu, M., Gallemore, C.: Understanding the Perception of COVID-19 Policies by Mining a Multilanguage Twitter Dataset. arXiv preprint arXiv:2003.10359 (2020) 14. Sharma, K., Seo, S., Meng, C., Rambhatla, S., et al.: COVID-19 on Social Media: Analyzing Misinformation in Twitter Conversations. arXiv preprint arXiv:2003.12309 (2020) 15. Singh, L., Bansal, S., Bode, L., Budak, C., et al.: A First Look at COVID-19 Information and Misinformation Sharing on Twitter. arXiv preprint arXiv:2003.13907 (2020) 16. Alqurashi, S., Alhindi, A., Alanazi, E.: Large Arabic Twitter Dataset on COVID-19. arXiv preprint arXiv:2004.04315 (2020)

An Ensemble Deep Learning Technique to Detect COVID-19 Misleading Information

175

17. Haouari, F., Hasanain, M., Suwaileh, R., Elsayed, T.: ArCOV-19: The First Arabic COVID19 Twitter Dataset With Propagation Networks. arXiv preprint arXiv:2004.05861 (2020) 18. Zarei, K., Farahbakhsh, R., Crespi, N., Tyson, G.: A First Instagram Dataset on COVID-19. arXiv preprint arXiv:2004.12226 (2020) 19. Cui, L., Lee, D.: CoAID: COVID-19 Healthcare Misinformation Dataset. arXiv preprint arXiv:2006.00885 (2020) 20. Elhadad, M.K., Li, K.F., Gebali, F.: A novel approach for selecting hybrid features from online news textual metadata for fake news detection. In: International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, pp. 914–925 (2019) 21. Elhadad, M.K., Li, K.F., Gebali, F.: COVID-19-FAKES: a Twitter (Arabic/English) dataset for detecting misleading information on COVID-19. In: The 12-International Conference on Intelligent Networking and Collaborative Systems, Victoria, BC, Canada (2020) 22. 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), Wuhan, China (2017) 23. TextBlob: Simplified Text Processing (2020). https://textblob.readthedocs.io/en/dev/. Accessed 21 Mar 2020 24. TensorFlow. https://www.tensorflow.org. Accessed 15 May 2020 25. Keras API. https://www.tensorflow.org/api_docs/python/tf/keras. Accessed 15 May 2020 26. Pennington, J., Socher, R., Manning, C.D.: Glove: global vectors for word representation. In: Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP) (2014) 27. Paul, S.: Keras Sequential Api (2018). https://medium.com/@subhamoy.paul986/kerassequential-api-72e45c39259b. Accessed 05 Apr 2020

Community Mining and Cross-Community Discovery in Online Social Networks Belkacem Chikhaoui1,2(B) , Jean Marie Tshimula2 , and Shengrui Wang2 1

2

LICEF Research Institute, TELUQ University, Montreal, Canada [email protected] Prospectus Laboratory, University of Sherbrooke, Sherbrooke, Canada {kabj2801,shengrui.wang}@USherbrooke.ca

Abstract. This paper presents a new approach for cross community mining and discovery using topic modeling. Our approach identifies automatically the communities in a dataset in an unsupervised way and extracts relationships between these communities. These relationships represent the interaction between communities which helps to identify the cross communities and the shared information between them. Our approach consists of a two layer model based on a statistical framework serving as knowledge discovery tools at different levels of analysis. In the first level communities are discovered using a topic model based method, then cross communities are identified using a statistical measure based on the KL divergence. We empirically demonstrate through extensive experiments using a real social network dataset, that our proposed approach discovers communities and relationships between them.

1

Introduction

Online communities are growing rapidly particularly with the emergence of social networks. These communities are formed on the basis of shared subjects, interests, preferences, ideas, products, cultures, sciences, etc. The online communities have been started with the appearance of the web, and started to take the magnitude with the development of electronic commerce, recommender systems, forums, etc. Recently, online communities have been exponentially grown with the emergence of social networks such as Facebook, Twitter, Myspace and many others. Several research studies have interested to identify online communities for different objectives [1]. For example, Morzy [1] was interested in identifying communities in online forums. Therefore, with the extent of social networks, mining online communities becomes an important research topic. This allows users to navigate through these communities and personalize their search according to web communities. Zhang et al. [2] described the social and community intelligence and its role as an emerging field to reveal human behavior patterns and community dynamics, which provide an opportunity to understand individual’s daily life and enable innovative services in human health. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 176–187, 2021. https://doi.org/10.1007/978-3-030-57811-4_17

Community Mining and Cross-Community Discovery

177

However, existing community mining approaches are basically based on clustering techniques to create communities. These clustering techniques need a similarity measure in order to put together users or objects that are close according to the specified similarity measure. These similarity measures are generally crafted and adapted with respect to applications and cannot perform well in all situations. To overcome this shortcoming, topic modeling has been introduced in the context of text mining as a clustering technique that does not require a similarity measure for doing clustering. Topic modeling is a statistical model initially developed for text mining [3]. It considers that texts are composed of multiple topics, and each topic is, in turn, described with some corresponding words. The distribution of words in topics, and the distribution of topics in documents are modeled as multinomial probability distributions. Dirichlet priors are placed over multinomial distributions to eliminate the dependency of topics on a document from the generative process of topics. Another shortcoming of most existing community mining approaches is that they do not study the cross community mining and relationships between extracted communities. The cross community mining is an important and challenging problem that need to be addressed in order to facilitate information exchange and sharing. In this paper, we propose a new approach that addresses the problem of online community mining and cross community mining as well. Our approach overcomes the problems of existing community mining approaches mentioned above by introducing a topic modeling based approach for community mining, and introducing the KL divergence statistical measure to extract relationships between online communities. Our approach to community mining and cross community mining represents a major shift in methodology from the traditional approaches, a shift from analyzing intra communities separately to intra and inter communities, and a shift form studying authoritative users separately from the mining process, to the automatic discovery of communities and authoritative users together in one global and integrated probabilistic based solution. This paper makes several primary contributions summarized below: • Proposing a practical approach for community mining using topic modeling. • Detecting cross communities using KL divergence measure which allows to identify relationships between communities. • Detecting authoritative users in online communities, which represent the most influential users in online communities. • Conducting extensive experiments with real datasets to demonstrate the effectiveness and suitability of our approach.

2

Related Work

Online communities have been the subject of several studies in the last two decades. Before the appearance of social networks, the aim of mining online communities was the identification of authorities and hubs proposed by [4]. Authority is a web page where the content is good enough for a certain topic. A hub is

178

B. Chikhaoui et al.

a web page with a list of hyperlinks to valuable and suitable pages on a topic. Thus, a hub points to many authorities [5]. Flake et al. [6] defined a community on the web as a set of web sites that have more links to members of the community and than to non members. In their model, community mining is treated as a graph partitioning problem in which members of each community are identified using the maximum flow/minimum cut principle [7], where the source is composed of known members, and the sink consists of well-known non-members. Toyoda et al. A graph based approach is also proposed in [8] for community mining in complex networks. Zhou et al. [9] proposed a concentric-circle model, a relational clustering model, for community mining. Their model identifies cores of communities only via relation study. Community mining in online forums has been investigated in several research studies. It seeks to find groups of people who are densely connected to each other, and only sparsely connected to the rest of the network. Bouguessa et al. [10] proposed a method for authoritative actors identification in questionanswering forums. In their method, an authority score is defined for each user. The proposed method allows to discriminate between authoritative and nonauthoritative users. The same authors defined the notion of knowledge-sharing community in online forums, in which askers and authoritative users belong to the same community [11]. Adamic et al. [12] proposed a method to identify groups of people sharing activities in Yahoo answers forum. A clustering technique based on the content characteristics and patterns of interactions among the users is applied in order to identify the forum categories. A wide variety of algorithms have been developed for detecting communities in social networks. Deng et al. [13] proposed a method for mining hidden communities in heterogenous social networks. Their proposed method takes into account the different kinds of relations in social networks, which allow to identify different kinds of communities according to these relations. However, with this kind of relations the one can generate a huge number of relation networks and ignore others where relations are unknown. Caldarelli [14] presented several clustering techniques such agglomerative and divisive methods for identifying communities in social networks. Probabilistic graphical models have also been used for community discovery. Zhang et al. [15] proposed a hierarchical latent Gaussian mixture model for community discovery. The model is inspired from the latent Dirichlet allocation model proposed by [3]. The authors introduced GWN-LDA which is a Gaussian distribution with inverse-Wishart prior on a LDA-based model to find communities in social networks with weighted links. This work is similar to a previously developed model SSN-LDA (simple social network LDA) [16]. However, the major drawback of SSN-LDA is its inability to model the weight of social interactions. Moreover, it was not validated in social networks settings. LDA-based models have been used under different extensions for community mining or as part of the community mining process in different works [17]. However, our method is advantageous over the other methods in its ability of extracting cross community relationships which is not the case for the overall community mining approaches.

Community Mining and Cross-Community Discovery

3

179

Our Approach

In the following section, we provide details of our approach as presented in Fig. 1. Given that cross community mining require first community mining. We start first by describing how online communities are extracted, and after that we present our method for cross community mining.

Fig. 1. Our approach for community and cross community mining

As depicted in Fig. 1, our approach consists on two steps: 1) community mining and 2) cross community mining. 3.1

Community Mining

Online social networking services have become tremendously popular in the last decade. Hundreds of thousands of enthusiastic new users are added each day to most popular social networking sites namely Facebook, Twitter, Myspace, etc., generating huge social networks datasets of users interactions. Analyzing these huge datasets for extracting valuable communities is challenging and requires sophisticated methods for data mining, interpretation, visualization and analysis. In this section, we present how our approach extracts automatically online communities in an unsupervised way using topic modeling. We begin by presenting firstly the motivations of using a topic modeling based approach, then we present how communities are extracted.

180

B. Chikhaoui et al.

3.1.1 Topic Modeling In this subsection we describe the rationale for using a topic modeling model to discover online communities in an unsupervised way. Topic modeling is a statistical model named Latent Dirichlet Allocation (LDA) developed initially for text mining [3]. The LDA model assumes that texts exhibit multiple topics. These topics can be shared between documents. As mentioned earlier, LDA is an unsupervised model in which no distance measure is required for the clustering. Unlike existing unsupervised methods such as the k-means and hierarchical clustering that basically require a distance measure, LDA is a statistical model that is based on the co-occurrence of user’s interaction patterns such as users, associations or organizations. In fact, co-occurring interaction patterns are put together in the same group. Each group represents a cluster (community) that contains co-occurring interaction patterns. Each interaction pattern is linked to a cluster with a relation expressed as a probability. Interaction patterns are sorted in each cluster in a decreasing order according to their probability values. Interaction patterns with high probability values in each cluster are considered authoritative with respect to that cluster. An interaction patterns may be authoritative in more than one cluster or community with different probability values. In our approach, we model users as documents that contain users interactions with different other users, which can be grouped together to form communities. Therefore, a user in our case is modeled as a probability distribution over communities that belong to, and communities are, in turn, modeled as probability distributions over interactions which represent users interactions with others. To this end, we use the LDA model. LDA is a generative graphical model for describing the latent topics of documents [3]. It models each document as a distribution over topics, and each topic as a distribution over words. These distributions are sampled from a Dirichlet distribution. Our approach explores the LDA principle to model communities as topic distributions. We make use of latent semantics to deal with one of the key problems in community mining, which is the discovery of authoritative users. In fact, LDA applied to text mining presumes that words are a priori known to be significant, which is indeed the case. However, in our application, the significance of users is a priori unknown; i.e., we have no idea whether these users form a particular community. The details of our approach are described in the next section. 3.1.2 Automatic Discovery of Communities In this section, we introduce our approach for automatic community discovery. We first need to formally define some notations. A social network G is composed of a pair of sets, including users set (named also social actors) U = {u1 , u2 , ..., uM }, and social interactions set I = {I1 , I2 , ..., IN }. In a graphical representation of a social network, users represent the nodes of G and social interactions represent the edges in G. Communities in social networks are not explicitly specified to users, but rather they are hidden

Community Mining and Cross-Community Discovery

181

and constructed implicitly within social networks. Therefore, we need a method that can automatically discover these hidden communities. Our approach considers that a social network is composed of a set communities C = {c1 , c2 , ..., cT }, and a user exhibits a mixture of communities. This means that a user can belong to different communities with different interest. The generative process of the LDA in our approach is as follows: for each user u, a multinomial distribution θu that represents the proportion of communities for a user is sampled from a Dirichlet distribution with parameter α. According to [18], the Dirichlet distribution is an appropriate distribution to use over other distributions, specifically over multinomial distributions, given that the Dirichlet distribution is the conjugate prior of the multinomial distribution. The Dirichlet distribution of order k with parameters αi > 0, i = 1...k has the probability density given in Eq. 1. k k Γ ( i=1 αi )  αi −1 θi p(θ|α) = k i=1 Γ (αi ) i=1

(1)

where the parameter α is a k-vector with components αi > 0, and Γ (x) is the gamma function. To generate each interaction In , a community cn is chosen from the community’s distribution θu , and the interaction is generated by sampling from a community-specific multinomial distribution φcn (here, we employ the notation used in [18]). The multinomial distribution φcn , which represents the distribution of interactions over communities, is sampled from a Dirichlet distribution with parameter β. The generative process for an interaction In of a user in a social network is as follows: 1. Sample mixture components φ ∼ Dirichlet(β) 2. Choose θ ∼ Dirichlet(α) 3. For each interaction In : • Choose a community cn ∼ M ultinomial(θ) • Choose an interaction In ∼ M ultinomial(φ) Note that the number of communities is a fixed number T . Indeed, the number of communities in our approach corresponds to the number of topics in the LDA model. Fixing the number of communities is thus similar to fixing the number of clusters for a clustering algorithm like the k-means algorithm. Ideally, we would like this number to be automatically determined. However, as with clustering, estimating this number would require a sort of trial-and-error process with the help of a validation index. The unsupervised model itself needs the number of communities as an input parameter. Extensive study is needed to address this issue and it will be considered in our future work. In our approach the problem of automatically discovering communities is treated as an optimization problem. The optimization problem consists of finding the parameters α and β for the Dirichlet distributions that maximize the

182

B. Chikhaoui et al.

likelihood L of the data for users u1 , u2 ..., uM . The likelihood of data can be computed using the following formula:  N T  M     p(φ|β)p(θ|α) p(In |c, φ)p(c|θ) dθdφ, (2) L (α, β) = u=1

φ

θ

n=1 c=1

where each user consists of a set of interactions In with n = 1, ..., N . In our approach, only the interactions In are the visible variables. The hidden variables are θ, φ and c; and α and β are the hyperparameters to be optimized. c represents the community associated with the nth interaction for a user. The integral in Eq. (2) cannot be computed, given the association between θ and φ in the summation over communities. We use the Gibbs sampling algorithm for parameter estimation and inference introduced in [19]. 3.2

Cross Community Mining

As mentioned earlier, most of the existing community mining approaches have not been interested in identifying relationships between extracted communities, and their focus is mainly on analyzing the intra community contents. Studying relationships between communities called also cross-community mining allows to identify interactions among communities and how these communities behave with each other. This allows also to analyze the influence between communities and identify authoritative communities instead of authoritative users. In this case, the community will have interactions with other communities and evolves as users interactions evolve. Therefore, the similarity between two communities ci and cj can be measured by the similarity between their corresponding interactions distributions φci ,I and φcj ,I . A standard function to measure the divergence between two probability distributions φci ,I and φcj ,I is the Kullback Leibler (KL) divergence. The KL divergence is a standard information theoretic measure of the dissimilarity between two probability distributions. We can apply the KL divergence to users in communities ci and cj as follows: DKL (ci , cj ) =

 k

P (Ik |ci ) log2

P (Ik |ci ) . P (Ik |cj )

(3)

The KL divergence has some essential properties: DKL is non-negative (≥0), and is zero only if P (Ik |ci ) = P (Ik |cj ) for all interactions Ik . The smaller the (KL) divergence, the more similar the communities. However, the KL divergence is non-symmetric (DKL (ci , cj ) = DKL (cj , ci )), and does not obey the triangle inequality (DKL (ci , ck ) can be greater than DKL (ci , cj )+DKL (cj , ck )). Since the KL divergence is non-symmetric, therefore, it can be converted into a similarity measure between (0 and 1) by employing both DKL (ci , cj ) and DKL (cj , ci ) in the similarity measure as follows: Sim(ci , cj ) = e−(DKL (ci ,cj )+DKL (cj ,ci )) .

(4)

Community Mining and Cross-Community Discovery

183

Here, the KL divergence is used as a metric for measuring the similarity (dissimilarity) between communities. With the KL divergence we can specify how far away one community from each other.

4

Experimental Evaluation

4.1

Dataset

In this section we describe the social network dataset we used to validate our proposed approach. Tencent Weibo1 , one of the largest micro-blogging websites in China, has become a major and well known platform for building friendship and sharing interests online. Since it was launched in April 2010, it counts actually more than 200 million registered users and generating over 40 million exchanged messages every day. The dataset we used in our experiments is the same dataset used in the KDD cup 2012. It contains 2 320 895 users. Each user has interactions with different other users. The dataset contains also demographic information of users such as birth date, gender, etc. The interaction between users is conducted through tweets. A tweet is message sent by a user to other users. Each user has some related key words extracted from his/her tweets. These key words represent the main topics users are talking about. The users follow history is used in our approach to create communities representing followed users. Shared followed users are grouped together in the same community. Users in communities are sorted in a decreasing order of their probability of belonging to that community. However, from the semantic point of view, these communities should represent users interests and preferences. To add semantics to these communities, we use information provided with users such as key words extracted from users tweets and exchanged messages. These key words are used to affect semantics to communities. If the key word represents mobiles then this community is more interested to mobiles technology. Therefore, mobiles here can be used to annotate this community and make sense to it. Note that key words in the Tencent Weibo dataset are associated with weights. Thus, key words with high values of weight are considered more important. 4.2

Authoritative Users

As we stated earlier, our approach can discover communities as well as authoritative users for each community. This can be done by exploiting the LDA mechanism and select users having high probability values in each community p(ui |cj ). Users having high probability values in a community are the most followed users in that community. These users are also considered authoritative users given the significance they have in respect to that community. These users can be 1

http://t.qq.com/.

184

B. Chikhaoui et al.

selected by introducing a user specified threshold (σ). For example, if we choose (σ = 0.017), then all users having probability greater to or equal to σ. Authoritative users in each community are illustrated in Table 1. Table 1. Example illustrating authoritative users in six discovered communities among 50 communities of users in the Tencent Weibo dataset Community 1

Community 2

Community 15

User

Probability

User

Probability

User

Probability

1774934 1774527 1412065 1471342 1774616

0.029257496 0.021661329 0.018973876 0.018099201 0.017032557

1774705 1774509 1774520 1774977 1774753 1760353 1760350 1774687 1774999 1760642

0.093164343 0.070062473 0.064213563 0.063165599 0.048574103 0.047802796 0.044064036 0.037891582 0.034615695 0.033450846

290927 1902321 513098 919804

0.022223657 0.019001977 0.017786137 0.017432918

Community 35

Community 45

Community 50

User

Probability

User

User

1419930 1760320 1774504 1928678 1760337 1760338 1774996 2388663 1774786 1760367

0.055858616 424477 0.043573807 0.039036688 0.028615711 0.02840601 0.02397292 0.022741528 0.021213453 0.02033557 0.019227181

Probability

Probability

0.019268913 1774717 0.180636518

As shown in Table 1, communities 45 and 50 have only one authoritative user with a probability satisfying the user minimum threshold (σ). This can be interpreted by the fact that the number of communities discovered in 50 which makes communities more dense with users sharing similar interests and with hight probability values compared to other communities making users less dense in each community with low probability values. We note that a user can be authoritative in different communities with different probability values.

Community Mining and Cross-Community Discovery

4.3

185

Discovering Cross Communities

Cross community mining allows to study the inter community relationships. This aspect is less studied in the community mining approaches that studied mainly the community discovery and intra community analysis. Our approach allows to extract communities, select authoritative users and study relationships between communities. Relationships between communities represent the similarity between communities. To compute the similarity between extracted communities, we apply the similarity measure presented in Eq. 4. The high the similarity measure between communities, the more close are these communities. This means that these communities share some common interests. To represent graphically interaction between discovered communities, we performed different experiments with different number of communities such as 50, 60, 70, 80, 90 and 100 communities. Figure 2 shows an example of 100 discovered communities and relationships between them. Nodes represent discovered communities and edges represent relationships between them. c7

c58

c54

c55

c56

c51

c33

c53

c49

c6

c50

c1

c57

c85

c39

c91

c92

c45

c30

c47

c52

c32

c59

c48

c4

c60

c61

c62

c63

c64

c65

c66

c68

c67

c69

c8

c25

c28

c29

c18

c21

c40

c41

c43

c46

c77

c3

c95

c96

c27

c31

c90

c2

c70

c71

c73

c75

c76

c83

c98

c99

c35

c37

c38

c24

c23

c88

c12

c89

c26

c5

c13

c42

c14

c44

c16

c80

c36

c84

c20

c93

c86

c94

c82

c22

c87

c11

c0

c78

c15

c79

c17

c19

c72

c34

c81

c74

c10

c9

c97

Fig. 2. Example of 100 discovered communities and relationships between them

186

B. Chikhaoui et al.

We note that the discovered communities constitute a grouping of users sharing preferences and interests. However, they cannot give details about the kind of interests for which the community is formed. One way to give semantics for these communities is to incorporate key words of exchanged messages and tweets between users in the social network. Therefore, using these key words allow to understand the main topic characterizing the community. For example, in the Tencent Weibo dataset we use in our experiments, key words can be used to give semantics to the discovered communities. If a user likes mobiles and smart phones, he/she may select “mobiles” or “smart phones” to be his/her tag. The original tags in natural languages are not used in the dataset we used in our experiments. As shown in Fig. 2, there exist several connections between communities. This is mainly due to the huge number of users belonging to different communities. When the number of users grows up, the number of communities will grow up. However, if users belong to different communities, it will be hard to predict or propose a community for a user. We need to incorporate other information related to users such as preferences and interests, geographic and social information.

5

Conclusion

In this paper we have presented an approach for community and cross community mining. Our approach is based on the LDA model for automatic community discovery. The potential of using LDA in this context is that LDA does not require a similarity measure in order to create clusters unlike existing clustering approaches, which makes our approach efficient and practical. We have presented how our approach can extract authoritative users by exploiting the clustering results of the LDA model. Users having high probability values within a community are considered authoritative with respect to that community. The potential of our approach is that authoritative users are discovered automatically in an unsupervised way. Moreover, our approach allows to extract inter-communities relationships by taking into account the distribution of users in communities. The extraction of inter-communities relationships allows to study and analyze how communities interact between them and the kind of information shared between communities. To evaluate the suitability of our approach, we used a real social network dataset. We demonstrated how our approach can automatically discover communities, authoritative users and cross communities by introducing the KL divergence statistical measure.

References 1. Morzy, M.: An analysis of communities in different types of online forums. In: 2010 International Conference on Advances in Social Networks Analysis and Mining (ASONAM), pp. 341–345 (2010)

Community Mining and Cross-Community Discovery

187

2. Zhang, D., Guo, B., Zhiwen, Y.: The emergence of social and community intelligence. IEEE Comput. 44(7), 21–28 (2011) 3. Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3, 993–1022 (2003) 4. Kleinberg, J.M.: Authoritative sources in a hyperlinked environment. J. ACM 46(5), 604–632 (1999) 5. Kitsuregawa, M., Toyoda, M., Pramudiono, I.: Web community mining and web log mining: commodity cluster based execution. In: Australasian Database Conference (2002) 6. Flake, G.W., Lawrence, S., Giles, C.L.: Efficient identification of web communities. In: Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2000, pp. 150–160. ACM, New York (2000) 7. Ford, L.R., Fulkerson, D.R.: Flows in Networks. Princeton University Press, Princeton (1962) 8. Balakrishnan, H., Deo, N.: Discovering communities in complex networks. In: Proceedings of the 44th Annual Southeast Regional Conference, ACM-SE 44, pp. 280– 285. ACM, New York (2006) 9. Zhou, W.-J., Wen, J.-R., Ma, W.-Y., Zhang, H.-J.: A concentric-circle model for community mining in graph structures. Technical report MSR-TR-2002-123, Microsoft Research, Microsoft Corporation One Microsoft Way Redmond, WA 98052, USA (2002) 10. Bouguessa, M., Dumoulin, B., Wang, S.: Identifying authoritative actors in question-answering forums: the case of yahoo! answers. In: KDD, pp. 866–874 (2008) 11. Bouguessa, M., Wang, S., Dumoulin, B.: Discovering knowledge-sharing communities in question-answering forums. ACM Trans. Knowl. Discov. Data 5(1), 3:1–3:49 (2010) 12. Adamic, L.A., Zhang, J., Bakshy, E., Ackerman, M.S.: Knowledge sharing and Yahoo answers: everyone knows something. In: Proceedings of the 17th International Conference on World Wide Web, WWW 2008, pp. 665–674. ACM, New York (2008) 13. Cai, D., Shao, Z., He, X., Yan, X., Han, J.: Mining hidden community in heterogeneous social networks. In: Proceedings of the 3rd International Workshop on Link Discovery, LinkKDD 2005, pp. 58–65. ACM, New York (2005) 14. Caldarelli, G.: Communities and clustering in some social networks tutorial. In: Proceedings of the International Workshop and Conference on Network Science (NetSci) (2007) 15. Zhang, H., Giles, C.L., Foley, H.C., Yen, J.: Probabilistic community discovery using hierarchical latent Gaussian mixture model. In: AAAI, pp. 663–668 (2007) 16. Zhang, H., Qiu, B., Giles, C.L., Foley, H.C., Yen, J.: An LDA-based community structure discovery approach for large-scale social networks. In: ISI, pp, 200–207 (2007) 17. Henderson, K., Eliassi-Rad, T., Papadimitriou, S., Faloutsos, C.: HCDF: a hybrid community discovery framework. In: SDM, pp. 754–765 (2010) 18. Wang, X., McCallum, A.: Topics over time: a non-Markov continuous-time model of topical trends. In: Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2006), pp. 424–433 (2006) 19. Griffiths, T.L., Steyvers, M.: Finding scientific topics. Proc. Natl. Acad. Sci. 101(Suppl. 1), 5228–5235 (2004)

Address Usage Estimation Based on Bitcoin Traffic Behavior Hiroki Matsumoto1(B) , Shusei Igaki2 , and Hiroaki Kikuchi2 1

Graduate School of Advanced Mathematical Sciences, Meiji University, 4-21-1 Nakano Tokyo, Japan [email protected] 2 School of Interdisciplinary Mathematical Sciences, Meiji University, 4-21-1 Nakano Tokyo, Japan {ev50516,kikn}@meiji.ac.jp

Abstract. This paper studies bitcoin address usage, which is assumed to be hidden via address pseudonyms. Transaction anonymity is ensured by means of bitcoin addresses, leading to abuse for illegitimate purposes, e.g., payments of illegal drugs, ransom, fraud, and money laundering. Although all the transactions are available in the bitcoin system, it is not trivial to determine the usage of addresses. This work aims to estimate typical usages of bitcoin transactions based on transaction features. With the decision tree learning algorithm, the proposed algorithm classifies a set of unknown addresses into seven classes; provider addresses of three services for mining pool, Bitcoin ATM, and dark websites; and user addresses of four services for mining Bitcoin ATM, dark websites, exchange, and a bulletin board system. The experimental results reveal some useful characteristics of bitcoin traffic, including statistics of frequency, amount of value, and significant transaction features.

1

Introduction

Bitcoin is one of the best-known cryptocurrencies and was proposed by Satoshi Nakamoto in 2008 [1]. Bitcoin is not issued by a central bank approved by a government or any single organization. Instead, it is issued by a global collaboration of distributed payment nodes linked in a peer-to-peer network architecture. One of the important features of bitcoin is anonymity. A bitcoin user has pseudonyms for addresses for sending and receiving bitcoins so that it is difficult to track owners with their address, which explains why bitcoin is widely assumed to achieve a high degree of anonymity. However, many researchers claim that the anonymity of bitcoin is limited and that some heuristic approaches allow some addresses owned by a common owner to be linked. For example, Meiklejohn et al. described a heuristic approach showing that multiple addresses belonging to the same transaction are likely to be controlled by the owner who knows both corresponding private keys [2]. Ron and Shamir studied a bitcoin transaction graph and proposed a specific transaction behavior that allows unique users to be identified [3]. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 188–199, 2021. https://doi.org/10.1007/978-3-030-57811-4_18

Address Usage Estimation Based on Bitcoin Traffic Behavior

189

In addition to the linkage threat, some researchers claim that a bitcoin pseudonym is not strong enough to preserve user privacy. For example, the location where an individual moves is a privacy information but is not personal identifiable information. Dupont and Squicciarini presented a statistical method based on a distribution of transaction time to predict a time zone where a user lives [4]. Nagata et al. showed that an owner of a given address can be estimated based on the statistical property of a set of output addresses that the target user sent out previously [5]. In this work, we study a new type of private information disclosure from bitcoin transactions. We focus on the usage of bitcoin because the behavior of the bitcoin address depends much on its usage. For example, the number of transactions per day varies widely with business entities and consumers. Hence, we classify bitcoin addresses into two classes, namely service providers and users. The type of service, e.g., bitcoin exchanges and websites, is also important for distinguishing addresses. To date, the difference between business providers and end users has not been considered in previous research, despite it being significant information to identify the usage of addresses. Therefore, in this study, we aim to explore the hypothesis that this difference can be used to estimate the usage of addresses. To conduct an experiment to estimate the usage of bitcoin addresses, we collected 4,049 bitcoin addresses from seven major usages that are well-known services. For each service, we divide the addresses into providers and users. We propose an algorithm that classifies a set of unknown addresses into seven classes by using a decision tree learning algorithm. Based on the results of our analysis, we discuss some potential risks of revealing the usage of addresses from the characteristics of transactions including the target address. Table 1. Statistics of bitcoin address dataset Usage Bitcointalk BBS Bitcoin ATM Dark web Exchange Mining pool Total

# Addresses Transactions Provider User 2,391 3 452 26 67 1,012 98 4,049

Duration

29,638 2019/4/1 – 9/30 26,849 35,076 33,351 24,876 149,790

The main contributions of this work are as follows. • We propose new features to distinguish between service providers and bitcoin users based on the statistics of transaction patterns. • We present an algorithm to estimate the usage of unknown addresses using a decision tree learning algorithm. • We show the experimental results using 4,000 bitcoin addresses labeled for seven usages and the accuracy of the proposed method.

190

H. Matsumoto et al.

The structure of the paper is as follows. Section 2 describes the data used in this work. The methodology is presented in Sect. 3 and Sect. 4 presents an overview of our approach. We conclude our work and briefly discuss future research in Sect. 5.

2 2.1

Data Definition of Seven Bitcoin Services

In this section, we first present seven usages of bitcoin addresses, e.g., ATM, exchange, and mining pool. We collected all transactions that were published by Blockchain Explorer [6] from April 1 through September 30, 2019. Table 1 shows the statistics of our dataset used in this research. In Table 1, we classified bitcoin addresses into two classes, namely service providers and users for each service. However, we do not distinguish the kinds of transactions between the service providers and users. For example, for Bitcoin ATM, we have three addresses for the providers and 452 addresses for the users and 26,849 transactions made by both of them. In addition, we exclude duplicated addresses that were used for more than one usage. For example, some addresses were used as Bitcointalk transactions and as transactions with exchanges. For each of the seven usages, we classified bitcoin addresses into two subsets: those owned by a commercial service provider and those of users. The category of provider uses bitcoin for pamarchanyment of commercial services and goods. The category of user uses bitcoin for purchasing goods and services and making investments. 2.2

BBS Bitcointalk

Bitcointalk [7] is a bulletin board system (BBS) service for discussion on cryptocurrencies, including bitcoin.

Fig. 1. Sample Bitcointalk user profile

Fig. 2. Bitcoin ATM Toronto, Canada

machine

in

Address Usage Estimation Based on Bitcoin Traffic Behavior

191

Figure 1 shows an example of a Bitcointalk profile page of a registered user. One possible reason why Bitcointalk users publish their bitcoin addresses is to receive donations in return for answering questions posted in the BBS. In this work, every bitcoin address that has been published in the profile pages is assumed to be the user address. 2.3

Bitcoin ATM

Bitcoin ATM [8] is a bitcoin deposit service. Figure 2 shows an example of a Bitcoin ATM machine. In this system, customers input their bitcoin address (public key information) via a QR code to an ATM and specify the amount of money they want to deposit in their wallet. Then, the Bitcoin ATM sends the equivalent bitcoin to the customer’s address. In this work, we collected three addresses of Bitcoin ATMs in Toronto, Canada. Both users and providers are involved in the usage of a Bitcoin ATM. In a Bitcoin ATM transaction, the user’s address is the recipient, while the Bitcoin ATM provider is the sender. 2.4

Dark Web

The dark web is a website in the TOR network and has a high degree of anonymity. Figure 3 shows an example of the dark web. We collected bitcoin addresses published on sites that are accessible through the TOR browser. We found the address for a service provider for hacking Facebook accounts in the example. Similarly, we collected addresses from illicit services for a shop with credit card numbers. For a dark web user’s address, we collected customer addresses published from the dark website for their promotion.

Fig. 3. Dark website and bitcoin provider’s address (http://r3cnefrmwctd6gb2.onion)

192

H. Matsumoto et al. Table 2. List of addresses of exchanges Exchange AnxPro.com BitBay.net

# Addresses 4 13

Bitstamp.net

40

Bittrex.com

116

CoinHako.com HappyCoins.com Hashnest.com

2 1 199

HitBtc.com

89

Kraken.com

26

MercadoBitcoin.com.br 130

2.5

OKCoin.com

1

Poloniex.com

110

YoBit.net

281

Exchange

Exchange allows their customers to trade bitcoins for fiat currencies. We collected exchange addresses from WalletExplorer [9] in which bitcoin addresses are classified into various categories, e.g., exchanges, pools, and gambling. Table 2 shows the list of exchanges. We collected exchange user’s addresses that have been specified in any transactions with known exchange addresses labeled by WalletExplorer.

Fig. 4. Number of transactions used for bitcoin providers

Fig. 5. Number of transactions used for bitcoin user addresses

Address Usage Estimation Based on Bitcoin Traffic Behavior

193

Table 3. Number of transactions (TXs) used by bitcoin providers Usage

Avg. TXs Min. Txs Median Txs Max. Txs SD. Txs

Bitcoin ATM 7,551 Dark web Mining pool

2.6

111

549

21,993

12,509

74

1

6

1,272

250

271

1

60

4,190

668

Mining Pool

Mining pool is composed of distributed miners who share their processing power over a mining network. Creating a new block is called mining, and requires a large amount of computational resources. In this work, we collected mining pool providers’ addresses from bitcoin blocks in which a reward was provided.

3 3.1

Proposed Method Transactions

3.1.1 Characteristics of Service Providers Table 3 describes the statistics of providers’ addresses that were specified in transactions from April 1 through September 30, 2019. Figure 4 shows the bar plots of the number of transactions for the providers, ATM, dark web, and mining pool. Note that the Bitcoin ATM transactions are not well distributed because there were only three addresses observed in our study (see Table 3). Table 4. Number of transactions (TXs) used by bitcoin addresses classified as users Usage Bitcointalk BBS Bitcoin ATM

Avg. TXs Min. Txs Median Txs Max. Txs SD. Txs 13

1

3

722

42

12

1

2

383

34

Dark web

503

1

23

7,482

1,228

Exchange

45

1

3

4,582

239

3.1.2 Characteristics of Users Table 4 describes the statistics of providers’ addresses that were used in transactions from April 1 through September 30, 2019. We found that a few addresses were specified many times in the dark web, and exchanges have a small number of transactions on average. Figure 5 shows the number of transactions that were made by bitcoin providers. Three-quarters of bitcoin users made fewer than 25 transactions in the usage of Bitcointalk BBS, Bitcoin ATM, and exchange, as shown in Fig. 5.

194

3.2

H. Matsumoto et al.

Proposed Estimation Method

3.2.1 Decision Tree Learning In this work, we chose a decision tree learning algorithm to classify a set of unknown addresses into seven classes of usage because it is simple and sufficiently accurate for our purpose. To classify a set of unknown addresses, we used the CART algorithm implemented in Python with a Scikit-learn library. We performed threefold cross-validation to evaluate the accuracy of classification for avoiding distortion because of the lack of known addresses. After we had randomly sampled the dataset for 100 iterations, we estimated the usage of given addresses and evaluated the accuracy of the model in precision and recall. 3.2.2 Features of Transaction Patterns For the analysis of bitcoin transaction data, we explore the features of address usage. Noting that a transaction depends on the wallet application, we try to define features of some usages. For example, the wallet BitPay creates a new address to receive change when it sends bitcoin. We count the frequencies of the four patterns to create the feature of four element vectors and apply the decision tree learning algorithm. See Fig. 6 and Table 5. The transaction pattern S1 is basic. The sender with address A1 pays some amount of money to B1 . He/she does not send the whole bitcoin charged to A1 but specifies a part of the amount of it for B1 and sends the change back to A1 . The second pattern S2 is the same as S1 except the change is sent to an alternative address (say C1 ) rather than back to A1 again. The third and fourth patterns M 1 and M 2 have multiple input addresses. For example, addresses A1 and A2 are specified in both transactions, meaning a transfer of the sum of values of bitcoin charged to A1 and A2 to output addresses. Any input address is specified again at output addresses for pattern M 1; no input addresses are used again at the outputs for pattern M 2. We classify all transactions into four patterns based on the number of input addresses and whether the same input address is reused to receive change. More specifically, we define patterns S1 and S2 as transactions that have a single input address, while more than or equal to two addresses are specified in patterns M 1 and M 2. The difference between patterns S1 and M 1 is whether any of the input addresses are specified at the output to receive change. The same difference is defined for patterns S2 and M 2. A sender receives change when specifying his/her own address at the output address in a transaction. In pattern S1 (M 1), a sender receives change by reusing address A1 at the output of the transaction, as shown in Fig. 6. In contrast, patterns S2 and M 2 do not use the same input address again. Note that, in this work, we assume that a sender does not receive any change even when he/she owns a new address to receive the change. In addition to this feature, we quantify additional features shown in Table 6. Note that some features are described by a number of statistics in Table 6, such as average, minimum, maximum, median, and standard deviation.

Address Usage Estimation Based on Bitcoin Traffic Behavior

transaction pattern S1

transaction pattern S2

transaction pattern M1

transaction pattern M2

195

Fig. 6. Sample transaction pattern Table 5. Definition of transaction pattern # Input addresses Change S1

1

Description

Sent back to input address Basic transaction, deposit bitcoin with Bitcoin ATM New address Specific wallet applications

S2 M 1 More than 1

Sent back to input address Withdraw bitcoin in exchange New address Mining pool provider pays a mining reward to miners

M2

Table 6. List of original variables in the dataset Feature

# Statistics Description

TXs count

5

Total number of transactions for usages

TXs sending count

5

Total number of sending transactions for usages

TXs receiving count

5

Total number of receiving transactions for usages

TXs input address count

5

Total number of input addresses specified in transaction

TXs output address count

5

Total number of output addresses specified in transaction

TXs address count

1

Total number of addresses in transaction

Reused input address count 1

Total number of reused input addresses

Reused output address count 1

Total number of reused output addresses

196

H. Matsumoto et al. Table 7. Total number of transactions of seven usages Usage

Transaction pattern S1

Bitcoin ATM

Provider

Dark web Mining pool Bitcointalk BBS User

4 4.1

S2

Pattern [%]

M1

M2

S1

22,319

135

174

25

1,242

557

3

98.5

S2

M1 M2

0.6 0.8

0.1

127

64.4 28.9 0.2

6.6

19,569

2,845

410

2,052

78.7 11.4 0.2

6.6

6,978

10,704

1,478

10,478

23.5 36.1 5.0

35.4

Bitcoin ATM

1,700

2,033

44

1,323

33.3 39.9 0.9

25.9

Dark web

7,627

12,546

1,264

11,711

23.0 37.8 3.8

35.3

Exchange

8,730

11,269

2,908

10,444

26.2 33.8 8.7

31.3

Experiment Transactions Examined

Table 7 shows the transactions summarized for the four patterns. Note that we distinguished the different kinds of transactions between service providers and users (see Table 1). This means that we classified bitcoin addresses into seven classes so that the number of transactions in Table 7 is larger than the number of transactions in Table 1. 4.2

Results of Classification

Table 8 shows the experimental results. Figure 7 shows a sample decision tree that was generated by the learning algorithm. We performed pruning of this model so that the highest depth is 5 and no minor node consists of 10% of all instances. Table 9 shows the estimated usages with the decision tree learning algorithm. Our model cannot estimate usages with ATM providers and dark web providers (see Table 9). These results indicate that Bitcointalk was detected as a falsepositive in 112 addresses, and it is the most frequent in the set of usages. However, the estimated results of Bitcointalk were 88%, which is the highest score in the seven classes. Figure 8 shows a histogram of the features of the number of minimum input addresses. Figure 9 illustrates the distribution of the top three usages, i.e., Bitcointalk BBS users, ATM users, and exchange users, in the scatterplot of numbers of input (x-axis) and output (y-axis) addresses in transactions. Table 10 shows the statistics of the features of the number of minimum input addresses. 4.3

Discussion

Addresses used as exchange have the highest recall and precision in the seven classes, which might be explained by the number of minimum input addresses being much larger than any other usage.

Address Usage Estimation Based on Bitcoin Traffic Behavior

197

Table 8. Experimental results of estimation Usage

Accuracy [%] Provider User

Bitcointalk BBS

Precision [%] Provider User 77

Recall [%] Provider User 65

63

Bitcoin ATM

99

91

16

45

22

40

Dark web

98

93

6

49

9

36

Exchange

85

Mining pool

80

92

Total

70 81

79 65

49

39

min_input_address R3 > R5. While the route is chosen by Dijkstra algorithm is different to PSO, Dijkstra chooses from R1> R3 > R5, if it is makes an image then as shown in Fig. 5 and Fig. 6.

Fig. 5. Route selection with PSO algorithm.

Fig. 6. Route algorithm.

selection

with

Dijkstra

The testing traceroute with the load of 56 bytes using the PSO algorithm as protocol and 995 count sent (packet sending trial) is shown in Fig. 7. The Performance of Dijkstra with load of 56 bytes and the 995 count is shown in Fig. 8.

Fig. 7. Testing with a load on the PSO Fig. 8. Testing with a load on the Dijkstra algorithm. algorithm.

258

H.-C. Chen et al.

Table 9 shows the comparison of throughput performance between the PSO and Dijkstra algorithms with load of 56 bytes and the 995 count.

Table 9. Comparison of performance between the PSO algorithm and the Dijkstra algorithm. PSO algorithm Rx Tx Rate 1776 bps 1408 bps Packet Rate 3 p/s 2 p/s FP Rate 1680 bps 1344 bps FP Packet Rate 3 p/s 2 p/s Bytes 253.2 KB 206.4 KB Packets 3452 2431 Packet Delay 1.2 ms Route Selection 3 Hops

Dijkstra algorithm Tx Rx 1184 bps 2.0 kbps 2 p/s 3 p/s 1120 bps 1344 bps 2 p/s 2 p/s 209.7 KB 196.7 KB 2735 2258 0.5 ms 2 Hops

The packet data generated by the PSO algorithm could send a packet of Tx (transmitter) 3452/Rx (receiver) 2431 with a number of bytes of Tx 253.2 KB/Rx 206.4 KB, while the Dijkstra algorithm is smaller, that is from 995 count could send packets as much as Tx (transmitter) 2735/Rx (receiver) 2258 with many bytes of Tx 209.7 KB/Rx 196.7KiB, it could be concluded that the PSO algorithm is greater throughput than the Dijkstra algorithm. Table 10 shows the comparison of packet delay performance between the PSO and Dijkstra algorithms with load of 56 bytes and the 995 count.

Table 10. Packet delay between PSO algorithm. Hop 1 2 3 Dijkstra 1 2 PSO

Host 10.0.0.2 10.0.10.2 5.5.5.5 10.0.0.2 5.5.5.5

Loss 0.0% 0.0% 0.0% 0.0% 0.0%

Sent 995 995 995 995 995

Last 0.4 0.3 0.4 0.2 0.2

Avg 0.4 0.3 0.5 0.2 0.3

Best 0.3 0.2 0.4 0.2 0.8

Worst 1.9 6.5 1.6 1.4 8.0

Std. Dev. 0.1 0.2 0.1 0.1 0.2

From Table 10 shows the Dijkstra algorithm has a shorter route than the PSO algorithm. The PSO algorithm passes 3 hops to reach the destination, while the Dijkstra algorithm only needs 2 hops to reach the destination. The Dijkstra algorithm chooses the path via R3, while the PSO algorithm has more hops because the nature of Dijkstra algorithm is Short Path First. While the PSO algorithm has a longer route, the packet delay time required is 1.2 ms, greater than the packet delay time required by the Dijkstra algorithm, 0.5 ms, because PSO need more time for encapsulation and fragmenting packet. However, the weakness of the Dijkstra algorithm is that when a data

A Performance Evaluating Simulation for PSO Algorithm

259

packet occurs at t-time, traffic density becomes a bottleneck. This is a factor causing the package to arrive at the destination pending. It also includes packages returned to the sender and through other routes. Next, total number of the operations is calculated below. T ðnÞ ¼ n þ n þ 1 þ n log n þ log n þ 16 ¼ 2n þ 17 þ n log n þ log n; T ðnÞ ¼ 2n þ 17 þ ðn þ 1Þ log n: Otherwise, the total number of operations is performed and obtained below via t times until the termination condition. T ðnÞ ¼ 2n þ 17 þ ðn þ 1Þ log n:t ¼ Oðn:t log nÞ ¼ Oðn log nÞ: Thus, the PSO algorithm could be easily implemented because of its complexity is linear, and even smaller than the complexity of the Dijkstra algorithm, Oðn2 Þ.

5 Conclusion In this section, it concluded that the PSO algorithm enables to be implemented into the routing protocol, because it has linear complexity, Oðn:t log nÞ, and smaller than the complexity of the Dijkstra algorithm, Oðn2 Þ. The PSO algorithm throughput is much greater than the Dijkstra algorithm. By using iteration with n equal 995, the PSO algorithm could send packets within Tx (transmitter) 3452/Rx (receiver) 2431 and with bytes of Tx 253.2 KB/Rx 206.4 KB, while the Dijkstra algorithm is smaller, by using iteration with n equal 995, it could send packets within Tx (transmitter) 2735/Rx (receiver) 2258 packets and with bytes as Tx 209.7 KB/Rx 196.7 KB. The packet density sent by the PSO algorithm is denser compared to Dijkstra algorithm. The PSO algorithm takes longer to send packets to destination, from the n iteration equal to 995 avg calculated by 1.2 ms while the Dijkstra algorithm is faster by 0.5 ms. This is because the Dijkstra algorithm chooses a shorter route than the PSO algorithm. The PSO algorithm passes three hops to reach the destination, while the Dijkstra algorithm only needs two hops to reach the destination. Many factors in the delay of a packet to its destination, include packet return back or through other routes. However, the encapsulation and the fragmentation of the Dijkstra algorithm make the smaller packet so it becomes faster to the destination. It hoped there will be another research, about the process of the fragmentation and the encapsulation in the PSO algorithm. Acknowledgments. This work was supported by Asia University, Taiwan, and China Medical University Hospital, China Medical University, Taiwan, under Grant ASIA-108-CMUH-05 and ASIA-107-CMUH-05. This work was also supported by Asia University, Taiwan, UMY, Indonesian, under Grant 107-ASIA-UMY-02. This study is also supported by the Ministry of Science and Technology (MOST), Taiwan, Republic of China, under the grants of MOST 1082221-E-324-013 and MOST 107-2221-E-468-015.

260

H.-C. Chen et al.

References 1. Baran, B., Sosa, R.: AntNet: routing algorithm for data networks based on mobile agents. In: Argentine Symposium on Artificial Intelligence, vol. 5. no. 12, pp. 75–84 (2001) 2. Sriramoju, A.B.: Particle Swarm Optimization Algorithm for Routing Network, vol. 3, no. 2, pp. 339–345 (2017) 3. Lestandy, M., Pramono, S.H., Aswin, M.: Optimasi routing pada metropolitan mesh network menggunakan adaptive mutation genetic algorithm. J. Nas. Tek. Elektro dan Teknol. Inf. 6 (4), 430–435 (2018) 4. Shandilya, S.: Understanding network routing problem and study of routing algorithms and heuristics through implementation. Glob. J. Comput. Sci. Technol. 17(5-E), 686–691 (2017) 5. Sumitha, J.: Routing algorithms in networks. Res. J. Recent Sci. 3, 1–3 (2014) 6. Xiang, Y., Chen, M., Zhuang, X., Li, X.: Routing algorithm of wireless sensor network and robustness analysis based on fuzzy mathematics. Int. J. Online Eng. 13(12), 85–103 (2017) 7. Musril, H.A.: Penerapan Open Shortest Path First (OSPF) Untuk Menentukan Jalur Terbaik Dalam Jaringan. J. Elektro dan Telekomunikasi. Terapan. 4(1), 421 (2017) 8. Deng, W., et al.: A novel intelligent diagnosis method using optimal LS-SVM with improved PSO algorithm. Soft Comput. 23, 2445–2462 (2019) 9. Dhanachandra, N., Chanu, Y.J.: An image segmentation approach based on fuzzy c-means and dynamic particle swarm optimization algorithm. Multimed. Tools Appl. 79, 18839– 18858 (2020). https://doi.org/10.1007/s11042-020-08699-8 10. Prithi, S., Sumathi, S.: LD2FA-PSO: a novel learning dynamic deterministic finite automata with PSO algorithm for secured energy efficient routing in wireless sensor network. Ad Hoc Netw. 97, 102024 (2020) 11. Chen, H.-C.: TCABRP: a trust-based cooperation authentication bit-map routing protocol against insider security threats in wireless ad hoc networks. IEEE Syst. J. 11(02), 449–459 (2017) 12. Kung, T.-L., Chen, H.-C.: Topological dynamics of comparison-based fault identification in ad hoc networks. Pervasive Mob. Comput. 41, 69–82 (2017) 13. Chen, H.-C., Su, H.-K.: A cooperative trust bit-map routing protocol using the GA algorithm for reducing the damages from the InTs in WANETs. J. Internet Serv. Inf. Secur. 4(4), 52–70 (2014) 14. Chen, H.-C., et al.: A routing algorithm based on event-oriented applications for digital home wireless heterogeneous networks. Int. J. Eng. Ind. 2(3), 96–103 (2011) 15. Weng, C.-E., Chen, H.-C.: The performance evaluation of IEEE 802.11 DCF using Markov chain model for wireless LANs. Comput. Stand. Interfaces 44, 144–149 (2016) 16. Weng, C.-E., Wen, J.-H., Chen, H.-C., Yang, L.: The performance analysis of direct/cooperative transmission to support QoS in WLANs. Comput. Sci. Inf. Syst. 11(3), 1043–1156 (2014) 17. Weng, C.-E., Sharma, V., Chen, H.-C., Mao, C.-H.: PEER: proximity-based energy-efficient routing algorithm for wireless sensor networks. J. Internet Serv. Inf. Secur. 6(1), 47–56 (2016) 18. Huang, Y.-F., Wang, J.-W., Jenq, J., Chen, H.-C., Hsu, C.-H.: Performance on clustering routing for naturally deployed wireless sensor networks. In: Communications in Computer and Information Science, vol. 797, pp. 1–9. Springer, Singapore (2018)

Considerations for Using DPDK in a Hypervisor Virtual Environment Souta Kawahara(&) and Atsushi Kanai Hosei University, Tokyo, Japan [email protected], [email protected]

Abstract. In recent years, with the advent of SDKs such as DPDK and XDP, SDN/NFV system managers have many choices when it comes to data plane software. DPDK is often the top pick because it has the highest performance among such SDKs and is easy to use because the software runs in the user space. It is currently the preferred SDK for fast packet processing. In some cases, DPDK applications have been introduced into actual SDN/NFV environments, and many studies have reported the performance advantage of using DPDK appliances in physical environments. While these studies deal with communications that enter the physical interface, pass the NFV system, and go back to the physical interface, our work differs in that we examine communications that are closed in a virtual environment. Our results showed that DPDK appliances had a lower performance than non DPDK appliances in virtual environment.

1 Introduction It has been a long time since we have heard the terms SDN and NFV, which are used to build networks and network functions in software and virtual environments. The first concern is, of course, the performance problem. Needless to say, the difference in packet IO performance in software and virtual environments cannot be overlooked in comparison to the performance of dedicated applications and hardware. Recently, however, the appearance of proprietary SDKs such as DPDK [1] and XDP [2] has broadened the range of data plane software choices for administrators of SDN/NFV systems. DPDK is an SDK to perform packet IO in user space at high speed. DPDKbased applications are known to be very fast. There are many known software implementations that use it, and the performance difference with the hardware is quite small. For example, there are two implementations of software routers, Kamuee [3] and VPP [4]. Both of them use DPDK, which is much faster than conventional software routers. In particular, real- world benchmarks show that Kamuee is capable of performing almost as well as hardware. There is also a DPDK implementation of OpenvSwitch [5], which is a software switch implementation for Openflow, called OvSDPDK [6]. Recently, they have been introduced into the SDN/NFV environment, and there are many papers on performance measurement. In general, these papers discuss the high performance of Appliance using DPDK [7, 8]. However, in general, the systems that these papers deal with in their measurements are configured in such a way that the strengths of DPDK can be fully exploited, for example, in the case of actual hardware replacement. In some cases, it is assumed that the communication is with the © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 261–268, 2021. https://doi.org/10.1007/978-3-030-57811-4_24

262

S. Kawahara and A. Kanai

outside world. Our survey, however, offers a different perspective from those comparative papers. We restrict the experiment case to communication in a virtual environment only. In this case, it is difficult to take advantage of the strengths of DPDK. This allowed us to reach different conclusions than previous performance studies. In this paper, we present the results of the survey and a discussion of the reasons why such results were observed.

2 Related Work Speeding up the packet IO of software is a very important topic, and several SDKs exist for it. For example, DPDK [1], netmap [9], XDP [2], etc. In this article, we are focusing on software that uses DPDK. DPDK (Data Plane Development Kit) is an SDK for packet IOs running in userland. It grabs the NIC directly from the user land and bypasses the kernel network called fat because it is too sophisticated. The packet data is stored in a memory space called hugepages, which does not cause memory copying like a traditional kernel network stack. In addition, there is no need for interrupts, etc., because it completely occupies the CPU and receives packets by busily waiting for the reception of packets. Appliances using DPDK are known to be very fast, and there are a lot of software that uses them. For software routers, there are Kamuee, VPP, etc. VPP is a major project of FD.io and is known as a highly functional software router. It uses DPDK and is known to be faster than other software routers in its own threaded model. Kamuee is a software router developed by NTT communications. Benchmarks have been published that Kamuee performs as well as hardware routers with a thread model called run to completion and a very fast route finding algorithm called poptrie. Another implementation of vSwitch is the OvS-DPDK. This is an implementation of OpenvSwitch, a software switch for OpenFlow, using DPDK.

3 Knowledge of the Hypervisor and DPDK 3.1

How Hypervisor Virtualization Works and Data IO

There are many ways to realize a virtual environment, but this time we will focus on hypervisor virtualization. The virtual environment is built by deploying a hypervisor, a mechanism to manage VMs, on top of hardware. There are many tools to realize this, but this time we use a hypervisor called KVM [10] to realize the hypervisor on Linux. The operations on the VM are executed on the real CPU under the virtualization support mechanism of the CPU. When an instruction that requires privileges, such as a hardware operation, occurs, the instruction is trapped and the hypervisor is processed. These hypervisor and VM context transitions are called VMEnter/Exit, and they involve ring protection transitions. The performance of hypervisor virtualization is related to these VMEnter/Exit and ring protection transitions.

Considerations for Using DPDK in a Hypervisor Virtual Environment

3.2

263

Packet IO Mechanism of DPDK

DPDK is a library for high-speed packet IO called ‘‘Data Plane Development Kit”. In this paper, we describe ”kernel-bypass NIC access”, which is related to the claim of this paper. Figure 1 below shows a comparison of the packet IO mechanism between Linux and DPDK. When software on Linux performs packet IO, it is necessary to retrieve packets from the network stack running in kernel space. The data needs to be copied from kernel space to user space. In addition, packet retrieval must be via a system call, so context switches and ring protection transitions are required. It is known that the performance is reduced by the above. On the other hand, since DPDK accesses the NIC directly from the user space, it does not need to be operated through the kernel. Therefore, it is possible to perform high-speed packet IO because the performance degradation described in Linux can be avoided.

Fig. 1. Linux and DPDK packet IO mechanism

4 Experimentation 4.1

Experimental Environment

Two experiments were conducted: a p2v experiment for communication from a physical machine to a VM on the opposite hypervisor, and a v2v experiment for communication between two VMs on the same hypervisor. The experiment p2v was conducted with two physical machines, one of which was a hypervisor virtual environment built by KVM (hereinafter referred to as DUT) and one of which was the opposite machine for communication for measurement. Experiment v2v was performed on a single physical machine in which the hypervisor virtual environment was built by KVM. The Table 1 below shows the hardware information of the DUT. shows the

264

S. Kawahara and A. Kanai

hardware information of the DUT. The specific topology of the p2v and v2v experiments, respectively, is shown in the Fig. 2. and Fig. 3. In DUT, we use VPP as an application using DPDK and IP forwarding on Linux as an application not using it.

Fig. 2. p2v environment Table 1. DUT information Kind CPU RAM NIC OS Kernel

Product name Intel(R) Xeon(R) Gold 6148 CPU @ 2.40 GHz, x2 DDR4-2666 16 GB x12 = 192 GB Mellanox ConnectX-5 (MT27800 Family) Ubuntu 18.04.1 LTS 4.18.0-25-generic

Considerations for Using DPDK in a Hypervisor Virtual Environment

265

Fig. 3. v2v environment

4.2

Experimental Method and Results

For the interface, we performed the configuration in ethtool as shown in the table below. The following table shows the configuration of the interface. Then, for each setting, we ran IPERF on two machines for each measurement. Each experiment was conducted 10 times. The results are averaged over the results. The results of the above experiments are shown in the following Fig. 4, 5 is shown below (Table 2).

Table 2. Ethtool configuration Name of experiment Overview Def Default configuration On Enable all options that are not fixed in ethtool Off Disable all options that are not fixed in ethtool

266

S. Kawahara and A. Kanai

Fig. 4. p2v throughput

Fig. 5. v2v throughput

5 Conclusion In the p2v experiment, In the p2v test, it was confirmed that DPDK performed better or not, depending on the setting. In the v2v experiment, it was confirmed that the performance was degraded when using DPDK in all settings. The lower performance with DPDK may be related to the mechanism of packet IO in DPDK and the mechanism of

Considerations for Using DPDK in a Hypervisor Virtual Environment

267

hypervisor virtualization. When a packet is sent or received from a VM, the instruction will be trapped because it is a privileged instruction, but this is accompanied by a ring protection transition. When processing packets in the hypervisor afterwards, if it is a Linux packet IO, the Since it takes place in kernel space, no ring protection transitions occur thereafter. However, if we use DPDK here, which runs in userland, the ring protection transition will happen again. This may be why the performance is degraded. In the case of the p2v experiment, this does not seem to be a significant performance degradation because it is a single degree, but It is likely that this happened twice in the v2v experiment, resulting in a result like this one. From the above, it was found that DPDK applications do not always run at high speed in a virtual environment.

6 Future Work Although the p2v experiment showed different advantages and disadvantages depending on the setting, more detailed experiments are needed because the setting, of course, is expected to be significantly affected by the type and topology of the communication. In the v2v experiment, applications without DPDK were faster than those without DPDK, but this experiment is different from the actual communication, so we need to experiment in a more realistic environment as well. Although it is not used in this experiment, the VM interface is being studied every day and there is a standard called VirtioVhostUser [11] which is currently under development. This is a DPDK for faster communication between VMs, and if it can be used, the communication within the hypervisor may also be faster with the DPDK. In addition, there are other virtualization technologies such as container technology and Unikernel, and it is necessary to further consider the comparison with them and the possibility of their coexistence in the future.

References 1. Intel, DPDK - Data Plane Development Kit. https://www.dpdk.org/ 2. IO Visor Project, XDP - eXpress Data Path. https://www.iovisor.org/technology/xdp 3. Ohara, Y., Shirokura, H., Banika, A.D., Yamagishi, Y., Kyunghwan, K.: Kamuee: an IP packet forwarding engine for multi-hundred-gigabit software-based networks. In: Preprint sub- mitted to Internet Conference 2018 (IC2018), November 2018. https://www. internetconference.org/ic2018/ic2018-final4.pdf 4. VPP - Vector Packet Processing. https://wiki.fd.io/view/VPP/What_is_VPP%3F 5. OpenvSwitch. https://www.openvswitch.org/ 6. OvS-DPDK. http://docs.openvswitch.org/en/latest/intro/install/dpdk/ 7. Pitaev, N., Falkner, M., Leivadeas, A., Lambadaris, I.: Characterizing the performance of concurrent virtualized network functions with OVS-DPDK, FD.IO VPP and SR-IOV. In: ICPE 2018, 9–13 April 2018, Berlin, Germany. https://www.researchgate.net/publication/ 324235513_Characterizing_the_Performance_of_Concurrent_Virtualized_Network_ Functions_with_OVS-DPDK_FDIO_VPP_and_SR-IOV

268

S. Kawahara and A. Kanai

8. Bonafiglia, R., Cerrato, I., Ciaccia, F., Nemirovsky, M., Risso, F.: Assessing the performance of virtualization technologies for NFV: a preliminary benchmarking. In: Fourth European Workshop on Software Defined Networks. https://ieeexplore.ieee.org/ document/7313618 9. Rizzo, L.: Netmap: a novel framework for fast packet I/O. In: 2012 USENIX Annual Technical Conference 13–15 June Boston, MA. https://www.usenix.org/system/files/ conference/atc12/atc12-final186.pdf 10. KVM - Kernel-based Virtual Machine. https://www.linux-kvm.org/page/Main_Page 11. VirtioVhostUser. https://wiki.qemu.org/Features/VirtioVhostUser

The Bloom Clock to Characterize Causality in Distributed Systems Ajay D. Kshemkalyani(B) and Anshuman Misra University of Illinois at Chicago, Chicago, IL 60607, USA {ajay,amisra7}@uic.edu

Abstract. Determining the causality between events in distributed executions is a fundamental problem. Vector clocks solve this problem but do not scale well. The probabilistic Bloom filter data structure can be used as a Bloom clock to determine causality between events with lower space overhead than vector clock; however, the Bloom filter and hence the Bloom clock naturally suffer from false positives. We give a formal protocol of the Bloom clock based on Counting Bloom filters and study its properties. We formulate the probabilities of a positive outcome, a positive being false, and a false positive for Bloom clocks as a function of the corresponding vector clocks, as well as their estimates as a function of the Bloom clocks. We also indicate how to estimate the accuracy, precision, and false positive rate of an execution slice that is identified by the Bloom timestamps of two events. Keywords: Causality · Vector clock Partial order · Distributed system

1

· Bloom clock · Bloom filter ·

Introduction

Determining causality between pairs of events in a distributed execution has many applications [8,15]. This problem can be solved using vector clocks [5,10]. However, vector clocks do not scale well. Several works attempted to reduce the size of vector clocks [7,11,16,18], but they had to make some compromises in accuracy or alter the system model, and in the worst-case, were as lengthy as vector clocks. A survey of such works is included in [6]. The Bloom filter, proposed in 1970, is a space-efficient probabilistic data structure that supports set membership queries [1]. The Bloom filter is widely used in computer science. Surveys of the variants of Bloom filters and their applications in networks and distributed systems are given in [2,17]. The accuracy of a Bloom filter depends on the size of the filter (m), the number of hash functions used in the filter (k), and the number of elements added to the set (n). Bloom filters suffer from false positives but no false negatives. Recently, the idea of using the Bloom filter as a Bloom clock to determine causality between events with lower space overhead than that of vector clocks was proposed, where, like Bloom filters, the Bloom clock will naturally inherit false positives [14]. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 269–279, 2021. https://doi.org/10.1007/978-3-030-57811-4_25

270

A. D. Kshemkalyani and A. Misra

However, the Bloom clock protocol was not given. We give a formal protocol of the Bloom clock based on Counting Bloom filters. We then formulate the expressions for the probabilities of a positive outcome, a positive being false, and a false positive as a function of the corresponding vector clocks, as well as their estimates as a function of the Bloom clocks. We also study properties of the Bloom clock. We give a way to estimate the accuracy, precision, and the false positive rate for a slice of the execution as identified by two given events’ Bloom timestamps. Section 2 gives the system model. Section 3 details the Bloom clock protocol. Section 4 studies properties of the Bloom clock and discusses ways to estimate the probability that a positive is false and the probability of a false positive. Section 5 presents an analysis of the probabilities as the distance between the events varies, and this is followed by a discussion. Section 6 presents a way to estimate the accuracy, precision, and false positive rate of an execution slice that is identified by the Bloom timestamps of two events. Section 7 concludes.

2

System Model

A distributed system is modeled as an undirected graph (P, L), where P is the set of processes and L is the set of links connecting them. Let p = |P|. Between any two processes, there may be at most one logical channel over which the two processes communicate asynchronously. A logical channel from Pi to Pj is formed by paths over links in L. We do not assume FIFO logical channels. The execution of process Pi produces a sequence of events Ei = e0i , e1i , e2i ,· · · , where eji is the j th event at process Pi . An event at a process can be an  internal event, a message send event, or a message receive event. Let E = i∈P {e | e ∈ Ei } denote the set of events in a distributed execution. The causal precedence relation between events, defined by Lamport’s “happened before” relation [9], and denoted as →, induces an irreflexive partial order (E, →). Mattern [10] and Fidge [5] designed the vector clock which assigns a vector V to each event such that: e → f ⇐⇒ Ve < Vf . The vector clock is a fundamental tool to characterize causality in distributed executions [8,15]. Each process needs to maintain a vector V of size p to represent the local vector clock. Charron-Bost has shown that to capture the partial order (E, →), the size of the vector clock is the dimension of the partial order [3], which is bounded by the size of the system, p. Unfortunately, this doesnot scale well to large systems. Let ↓ e = {f | f ∈ E ∧ f → e} {e} denote the causal past of event e. The vector timestamp of ↓ e, V↓e is defined as: ∀i ∈ [1, p], V↓e [i] = Ve [i]. The set of  events↓ e ↓ f represents the common past of e and f . The vector timestamp of ↓ e ↓ f , V↓e ↓f is defined as: ∀i ∈ [1, p], V↓e ↓f [i] = min(Ve [i], Vf [i]).

3

The Bloom Clock Protocol

The Bloom clock is based on the Counting Bloom filter. Each process Pi maintains a Bloom clock B(i) which is a vector B(i)[1, . . . , m] of integers, where m < p. The Bloom clock is operated as shown in Fig. 1. To try to uniquely update

The Bloom Clock to Characterize Causality

271

B(i) on a tick for event exi , k random hash functions are used to hash (i, x), each of which maps to one of the m indices in B(i). Each of the k indices mapped to is incremented in B(i); this probabilistically tries to make the resulting B(i) unique. As m < p, this gives a space savings over the vector clock.

1. Initialize B(i) = 0. 2. (At an internal event exi ): apply k hash functions to (i, x) and increment the corresponding k positions mapped to in B(i) (local tick). 3. (At a send event exi ): apply k hash functions to (i, x) and increment the corresponding k positions mapped to in B(i) (local tick). Then Pi sends the message piggybacked with B(i). 4. (At a receive event exi for message piggybacked with B  ): Pi executes ∀j ∈ [1, m], B(i)[j] = max(B(i)[j], B  [j]) (merge); apply k hash functions to (i, x) and increment the corresponding k positions mapped to in B(i) (local tick). Then deliver the message. Fig. 1. Operation of Bloom clock B(i) at process Pi .

The Bloom timestamp of an event e is denoted Be . Let V and B denote the sets of vector timestamps and Bloom timestamps of events. The standard vector comparison operators Vz [i] as the probability that ∃i | By [i] > Bz [i], which equals 1 − prp . Then, pr(y → z) = 1 − prp . 4. prf p = pr(y → z) · pr(Bz ≥ By ) = (1 − prp ) · prp . 5. Given a positive outcome of the Bloom Clock test, prpf = 1 − prp is used to denote the probability that a positive is false. 6. Let prtp denote the probability of a true positive. prtp = prp · prp = prp2 . 7. Let prtn denote the probability of a true negative. For a negative outcome having probability 1 − prp , it is certain that y → z and hence in this case prtn = 1; and for a positive outcome having probability prp , in this case prtn = 0. So prtn = 1 · (1 − prp ) = 1 − prp . The probabilities prpf and prf p are functions of prp . We now show how prp can be calculated for the false positive case (Case (4)) where Bz ≥ By , otherwise if Bz ≥ By it is defined as 0. Observe that pr(y → z) and pr(y → z) are estimated as prp and 1−prp . However, as By and Bz are inputs, one could define the second term of prf p = (1 − prp ) · prp , which is pr(Bz ≥ By ), as a step function prδ(p) which equals 1 if Bz ≥ By and 0 otherwise. Then prf p becomes (1 − prp ) · prδ(p) and prpf remains 1 − prp and evaluates to prf p . Also, prtp becomes prp · prδ(p) and prtn becomes  1 − prδ(p) . It is a difference in perspective. Events in ↓ y ↓ z contribute exactly equally to increments in By and Bz . Beyond those increments, we have the following. ↓ y\ ↓ z = ∅. Events in ↓ y\ ↓ z contribute to increments in By . Disjoint events in ↓ z\ ↓ y contribute to increments in Bz . This happens in such a way that for each increment to an index in By due to events in ↓ y\ ↓ z, there is an increment to the same index in Bz due to disjoint events in ↓ z\ ↓ y. The probability of this occurrence is prp .

The Bloom Clock to Characterize Causality

273

We now formulate the precise expression for prp using vector timestamps Vy and Vz , if they were available. Then we estimate this prp using Bloom timestamps By and Bz . Definition 1. V↓y\↓z ≡ ∀i ∈ [1, p], V↓y\↓z [i] = Vy [i] − V↓y ↓z [i]. |X| Definition 2. For a vector X, X sum ≡ i=1 X[i]. sum V↓y\↓z gives the process-wise number of events in ↓ y\ ↓ z whereas V↓y\↓z gives the total number of events in ↓ y\ ↓ z. As analyzed above, for a false positive to occur, for each increment to By [i] due to events in ↓ y\ ↓ z, there is an increment to Bz [i] due to disjoint events in ↓ z\ ↓ y. The expected number of increments to By [i], which we denote as sum /m. The probability prp of Bz ≥ By is now c the count threshold, is kV↓y\↓z formulated. Let b(l, n, 1/m) denote the probability mass function of a binomial distribution having success probability 1/m, where l increments have occurred to a position in Bz after applying uniformly random hash mappings n times. sum times. Then, From the above analysis, it follows that n = kV↓z\↓y  sum  sum kV↓z\↓y 1 1 sum b(l, kV↓z\↓y , 1/m) = (1) ( )l (1 − )kV↓z\↓y −l l m m sum /m. The probability that The expected number of increments to By [i] is kV↓y\↓z sum less than the count threshold kV↓y\↓z /m increments have occurred to Bz [i] is given by: sum kV↓y\↓z /m−1  sum b(l, kV↓z\↓y , 1/m) (2) l=0

The probability that each of the  m positions of Bz is incremented at least sum /m times (after events in ↓ y ↓ z), which gives prp , can be given by: kV↓y\↓z sum kV↓y\↓z /m−1

prp (k, m, Vy , Vz ) = (1 −



sum b(l, kV↓z\↓y , 1/m))m

(3)

l=0

Equation 3 assumed access to vector timestamps V↓y\↓z and V↓z\↓y , which are derived from Vy and Vz . If only Bloom clocks are maintained, then we can approxp (k, m, By , Bz ) as follows. Clearly, Bzsum ≥ Bysum imate prp (k, m, Vy , Vz ) to pr sum because Bz ≥ By . We use Bzsum as estimate of kV↓z\↓y , while simultaneously sum varying l (for each i) from 0 to By [i] instead of to Bysum /m (or to kV↓y\↓z /m) sum sum sum across all i. Thus, in Eq. 3, kV↓z\↓y changes to Bz , kV↓y\↓z /m − 1 in the summation bound changes to By [i] − 1 (i.e., the count threshold changes from sum /m to By [i]), and rather than treating each position in By identically kV↓y\↓z and raising to the exponent m, now a product is taken across all i ∈ [1, m]. This gives the following. pr p (k, m, By , Bz ) =

m i=1



By [i]−1

(1 −

l=0

b(l, Bzsum , 1/m))

(4)

274

A. D. Kshemkalyani and A. Misra

sum sum Equation 4 treats the V↓y events in V↓y and the V↓z events in V↓z as disjoint sum events in V↓y\↓z and the and independent, whereas in reality, only the V↓y\↓z  sum V↓z\↓y events in V↓z\↓y are disjoint and independent. Events in ↓ y ↓ z increment the Bloom clocks By and Bz identically in reality, whereas Eq. 4 assumes these events independently update the positions in By and Bz randomly through the k hash functions. This approximation is made as Bloom timestamps cannot identify the actual number of independent events.

4.3

Efficient Estimation of Probabilities

Equations 3 and 4 are time-consuming to evaluate for events y and z as the execution progresses. Specifically, Eq. 4 has to consider events in the entire causal past of y and z. A binomial distribution b(l, n, 1/m) can be approximated by a Poisson distribution with mean n/m, for large n and small 1/m. Also, the cumulative mass function of a Poisson distribution is a regularized incomplete gamma function. This provides an efficient way of evaluating Eqs. 3 and 4. A more efficient-to-evaluate estimate pr p can be obtained by taking the sum sum events in V↓y\↓z and the V↓z\↓y events in Bloom clock equivalents of V↓y\↓z  V↓z\↓y , by trying to exclude the impact of events in ↓ y ↓ z. For By and Bz , the common increments to each index are min(min(By ), min(Bz )), which we denote reduce. (Here, min(X) is the lowest element in vector X.) So we reduce each index entry of By and Bz by reduce to obtain B reducey|z and B reducez|y vectors, respectively. Definition 3. For By and Bz , 1. B reducey|z ≡ ∀i ∈ [1, m], B reducey|z [i] = By [i] − min(min(By ), min(Bz )) 2. B reducez|y ≡ ∀i ∈ [1, m], B reducez|y [i] = Bz [i] − min(min(By ), min(Bz )) We then use B reducey|z and B reducez|y instead of By and Bz in Eq. 4 to get the following. pr p (k, m, By , Bz ) = m i=1

4.4

B reducey|z [i]−1

(1 −



b(l, B reducesum z|y , 1/m))

(5)

l=0

Ticking at a Receive Event

In the Bloom clock protocol given in Fig. 1, omitting the local tick at a receive event slows the growth of the Bloom clock but introduces more false positives which depend on the partial order induced by the communication pattern. Let s and r denote a send and receive event, respectively. Let the message sent at syi be received at rjz and let sz−1 → syi . Then Bsyi = Brjz . For events ew j k such that y w z w even though r →

e may be the case. The impact of si → ek , then Brjz ≤ Bew j k k

The Bloom Clock to Characterize Causality

275

such additional false positives on pr p is not considered in Eq. 4 or 5 and seems non-trivial to quantify. Note that the number of false positives increases further if multicasts are allowed in the system model and the local tick is omitted at a receive. This is because for one send event, there will be multiple receive events and all these receive events will have the same Bloom clock value if the tick is z1 z2 and rj2 are two such receive events, then omitted at the receive events. If rj1 z1 z2 z2 for any event e1 such that rj1 → e1 and rj2 → e1, the false positive rj2 → e1 will be inferred. In Fig. 1, with a local tick at a receive event, a more accurate test for a false positive gives the following instead of Proposition 1.

sum Bz ≥ Proposition 2. Test for y → z using Bloom clocks: if Bz ≥ By Bysum + k then declare y → z else declare y → z. To compute the new pr p , the expression in Eq. 4 or 5 needs to be multiplied by the conditional probability that Bzsum ≥ Bysum + k, given that Bz ≥ By . This probability depends on the selection of y and z, and on |E|. However, we expect it can be approximated to 1 and hence Eq. 4 and 5 which are based on Proposition 1 are still good estimates of pr p .

5

Analysis and Discussion

sum sum For arbitrary events y and z, as V↓z\↓y − V↓y\↓z increases, or equivalently in sum sum increases, we can predict the following terms of the Bloom clock, as Bz −By trends from the definitions of prp , prf p , and prpf .

1. prp , the probability of a positive, is low if z is close to y and this probability increases as z goes further in the future of y. This is because, in Eq. 4, as Bzsum increases with respect to Bysum or rather its m components, the summation (cumulative probability distribution function) decreases and hence pr p increases. Likewise for Eq. 5. This behavior is intuitive because intuition says that as z becomes more distant from y, the more is the likelihood that some causal relationship will get established from y to z either directly or transitively, by the underlying message communication pattern. 2. prpf , the probability that a positive is false, decreases as z goes further in the future of y. This is because prpf is defined as 1 − prp . This behavior is also intuitive. Given a positive outcome, if z is close to y (Bzsum is just a little greater than Bysum ), it is unlikely that a causal relationship has been established either directly or transitively from y to z by the underlying message communication pattern, and thus prpf will tend to be higher; as z goes more distant from y, this likelihood increases, resulting in a lower prpf . 3. prf p , the probability of a false positive, which is the product of prp and prpf , is lower than the above two probabilities. It will likely reach a maximum of 0.25 and then decrease.

276

A. D. Kshemkalyani and A. Misra

If prδ(p) were used instead of prp for pr(Bz ≥ By ), then prf p would be higher for a positive outcome. Once Bz ≥ By becomes true, it steps up from 0 and then as z goes into the future of y, it decreases. We remind ourselves that these probabilities depend on By , Bz , k, and m, and observe that they are oblivious of the communication pattern in the distributed execution. There is a trade-off using Bloom clocks. m can be chosen, as desired, arbip , the expression trarily less than p, for space savings. To minimize the prp or pr for the optimal number of hash functions k as a function of m, n, and c (the m values of c if Eq. 4 or 5 is used) can be derived. Alternatively, for an acceptable p , the combination of values for m and k can be determined. prp or pr We observe that many applications in distributed computing require testing for causality between pairs of events that are temporally close to each other. In checkpointing, causality needs to be tracked only between two consistent checkpoints. In fair mutual exclusion in which requests need to be satisfied in order of their logical timestamps, contention occurs and request timestamps need to be compared only for temporally close requests. For detecting data races in multi-threaded environments, a causality check based on vector clocks can be used; however, in practice one needs to check for data races only between read/write events that occur in each other’s temporal locality [13]. In general, many applications are structured as phases and track causality only within a bounded number of adjacent phases [4,12].

6

Estimating Accuracy, Precision, and False Positive Rate

Accuracy (Acc), Precision (P rec), Recall (Rec), and False Positive Rate (f pr) are metrics defined over all data points, i.e, pairs of events, in the execution. Let TP, FP, TN, and FN be the number of true positives, number of false positives, number of true negatives, and the number of false negatives, respectively. Observe that FN is 0 as there are no false negatives. We have: Accuracy =

TP TP + TN , P recision = , TP + TN + FP + FN TP + FP FP TP , f pr = Recall = TP + FN FP + TN

(6)

Recall is always 1 with Bloom clocks. Given events y and z and their Bloom timestamps By and Bz , there is not enough data to compute these metrics. So we consider the slice of the execution from y to z and define the metrics over the set of events X in this slice. Specifically, we fix event y and we let z  be virtual events from y to z and estimate the TP, FP,TN, and FN of events x ∈ X with respect to each other x ∈ X. We define v = (Bzsum − Bysum )/k + 1 virtual events x, having timestamps such that Bxsum = Bysum + k(i − 1), for i ∈ [1, v].

The Bloom Clock to Characterize Causality

277

• The contribution of each Bx (w.r.t. Bx ) to TP is pr(x → x and Bx ≥ Bx ), which is estimated as pr(Bx ≥ Bx ) · pr(Bx ≥ Bx ) = prp2 for that x w.r.t. x. If prδ(p) were used for pr(Bx ≥ Bx ) in the second term, the contribution to TP would be prp · prδ(p) . • The contribution of each Bx (w.r.t. Bx ) to FP is estimated as prf p = (1 − prp ) · prp for that x w.r.t. x. (See the discussion and definitions at the start of Sect. 4.2.) If prδ(p) were used for pr(Bx ≥ Bx ) in the second term, the contribution to FP would be (1 − prp ) · prδ(p) . • The contribution of each Bx (w.r.t. Bx ) to TN is pr(x → x and Bx ≥ Bx ). If Bx ≥ Bx then certainly x → x . (See Case 3 of Sect. 4.1). So the contribution is estimated as 1 · pr(Bx ≥ Bx ) = (1 − prp ) for that x w.r.t. x. If prδ(p) were used for pr(Bx ≥ Bx ) in the second term, the contribution to TN would be 1 · (1 − prδ(p) ). Let prp (x, x ) denote prp for event x with respect to event x, where x, x ∈ X. We get the following estimates. The equivalent of the error rate is given by 1 − Acc. = F P 1 − Acc

x,x



1

prf p (x, x )  x,x 1

x,x

=

 =

x,x (1

(7)

− prp (x, x )) · prp (x, x )  x,x 1

The equivalent of the error rate that a positive is false is given by 1 − P rec.  1−P rec =

FP T P + F P

=  =

x,x (1

− prp (x, x )) · prp (x, x )

x,x (1

− prp (x, x )) · prp (x, x ) + (prp (x, x ))2

x,x (1

− prp (x, x )) · prp (x, x )   x,x prp (x, x )

(8)

f pr is the proportion of actual negatives that are misclassified as false positives.    x,x (1 − prp (x, x )) · prp (x, x ) f pr =     x,x (1 − prp (x, x )) · prp (x, x ) + (1 − prp (x, x ))  (9)   x,x (1 − prp (x, x )) · prp (x, x )  =  2 x,x 1 − (prp (x, x )) Note that prδ(p) (x, x ) cannot be used unless we have access to Bloom timestamps for events x, x in the execution slice X. In a real execution, we would have access to these timestamps, and we have the following in terms of prδ(p) .

278

A. D. Kshemkalyani and A. Misra



x,x (1

= 1 − Acc

− prp (x, x )) · prδ(p) (x, x )  x,x 1

(10)



  x,x (1 − prp (x, x )) · prδ(p) (x, x )    x,x (1 − prp (x, x )) · prδ(p) (x, x ) + prp (x, x ) ·    x,x (1 − prp (x, x )) · prδ(p) (x, x )   x,x prδ(p) (x, x )

 1−P rec =  =

 f pr = 

− prp (x, x )) · prδ(p) (x, x ) + (1 − prδ(p) (x, x ))

x,x (1

− prp (x, x )) · prδ(p) (x, x )

= 

x,x

(11)

− prp (x, x )) · prδ(p) (x, x )

x,x (1



7

x,x (1

prδ(p) (x, x )

(12)

1 − prp (x, x ) · prδ(p) (x, x )

Conclusions

Detecting the causality relationship between a pair of events in a distributed execution is a fundamental problem. To address this problem in a scalable way, this paper gave the formal Bloom clock protocol, derived expressions for the probability of false positives and the probability that a positive is false using Bloom clock, and studied the properties of the Bloom clock. We also gave a way to estimate the accuracy, precision, and the false positive rate for a slice of the execution as identified by two given events’ Bloom timestamps. The Bloom clock is seen to offer a trade-off between accuracy (minimization of false positives) and space overhead. The trade-off provides the Bloom clock with adaptability to different scenarios. It would be interesting to study such trade-offs in some practical applications of detecting causality between event pairs, for example, fair mutual exclusion, checkpointing, or dynamic race detection in multi-threaded environments. As future work, one could compute the values of the expressions of accuracy, precision, and false positive rates for a simulated execution to study their behavior. This will give an indication about the feasibility of the Bloom clock for real applications.

References 1. Bloom, B.: Space/time tradeoffs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970) 2. Broder, A.Z., Mitzenmacher, M.: Survey: network applications of bloom filters: a survey. Internet Math. 1(4), 485–509 (2003) 3. Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Inf. Process. Lett. 39(1), 11–16 (1991) 4. Couvreur, J., Francez, N., Gouda, M.G.: Asynchronous unison (extended abstract). In: Proceedings of the 12th International Conference on Distributed Computing Systems, Yokohama, Japan, 9–12 June 1992, pp. 486–493 (1992)

The Bloom Clock to Characterize Causality

279

5. Fidge, C.J.: Logical time in distributed computing systems. IEEE Comput. 24(8), 28–33 (1991) 6. Kshemkalyani, A., Shen, M., Voleti, B.: Prime clock: encoded vector clock to characterize causality in distributed systems. J. Parallel Distrib. Comput. 140, 37–51 (2020) 7. Kshemkalyani, A.D., Khokhar, A.A., Shen, M.: Encoded vector clock: using primes to characterize causality in distributed systems. In: Proceedings of the 19th International Conference on Distributed Computing and Networking, ICDCN 2018, Varanasi, India, 4–7 January 2018, pp. 12:1–12:8 (2018) 8. Kshemkalyani, A.D., Singhal, M.: Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, Cambridge (2011) 9. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978) 10. Mattern, F.: Virtual time and global states of distributed systems. In: Proceedings of the Parallel and Distributed Algorithms Conference, pp. 215–226 (1988) 11. Meldal, S., Sankar, S., Vera, J.: Exploiting locality in maintaining potential causality. In: Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1991, pp. 231–239 (1991) 12. Misra, J.: Phase synchronization. Inf. Process. Lett. 38(2), 101–105 (1991) 13. Pozzetti, T.: Resettable encoded vector clock for causality analysis with an application to dynamic race detection. M.S. Thesis, University of Illinois at Chicago (2019) 14. Ramabaja, L.: The bloom clock. CoRR abs/1905.13064 (2019). http://arxiv.org/ abs/1905.13064 15. Schwarz, R., Mattern, F.: Detecting causal relationships in distributed computations: in search of the holy grail. Distrib. Comput. 7(3), 149–174 (1994) 16. Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Inf. Process. Lett. 43(1), 47–52 (1992) 17. Tarkoma, S., Rothenberg, C.E., Lagerspetz, E.: Theory and practice of bloom filters for distributed systems. IEEE Commun. Surv. Tutor. 14(1), 131–155 (2012) 18. Torres-Rojas, F.J., Ahamad, M.: Plausible clocks: constant size logical clocks for distributed systems. Distrib. Comput. 12(4), 179–195 (1999)

CySec: Cybersecurity Review Program for Professionals in Japan Yoshio Kakizaki(B) , Ryoichi Sasaki, Tomohide Okochi, and Hiroshi Yasuda Tokyo Denki University, Tokyo, Japan [email protected] Abstract. In Japan, few university graduates specialize in cybersecurity. Moreover, many of them acquire knowledge in this field through intra-company and on-the-job training, and acquire professional skills through seminars and hands-on training provided by security vendors. Therefore, there are few opportunities to learn cybersecurity systematically. In this paper, we introduce CySec, a cybersecurity review program for professionals, which we have been involved with since 2014. As of the end of the 2019 academic year, we have admitted 242 students in this program and 127 students have graduated. In addition, the importance and difficulties of cybersecurity education for working adults are discussed herein, and the future of cybersecurity education is demonstrated.

1

Introduction

Japan is currently planning to hold the Tokyo 2020 Olympic and Paralympic Games. It has been reported that recent Olympic and Paralympic Games have been exposed to numerous cyber-attacks. At the 2012 London Games, 165 million cybersecurity incidents occurred during the events [7]. At the 2016 Rio de Janeiro Games, a 540 Gbps DDoS attack was conducted on the official event site, in addition to another 223 large-scale attacks [6]. There is concern that a large-scale cybersecurity incident will occur in the 2020 Tokyo Games as well. In addition, because Expo 2025 Osaka Kansai will be held in Japan in 2025, the awareness of cybersecurity measures is increasing to make these global events a success. Against this backdrop, we introduce a cybersecurity review program for professionals in this study called CySec [20], which we have been involved with since 2014 and started implementing in 2015 at Tokyo Denki University, which is a private university. CySec is the only program in Japan in 2019 for achieving this purpose. We have implemented an international certification for an information security professionals course based on the International Academic Program of (ISC)2 [11]. We have also prepared a curriculum based on the common knowledge system of a Certified Information Systems Security Professional (CISSP) [10], and have made it possible to develop a wide range of advanced competencies such as an understanding of institutional frameworks such as law and ethics, insight into the intentions and actions of attackers, and governance to realize compliance at the enterprise level. As of the end of the 2019 academic year, we have admitted 242 students, of which 127 students have graduated. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 280–289, 2021. https://doi.org/10.1007/978-3-030-57811-4_26

CySec: Cybersecurity Review Program for Professionals in Japan

2

281

Situation in Japan

With the increase in cybersecurity incidents, the establishment of a Computer Security Incident Response Team (CSIRT) has become popular in Japan in recent years, mainly in large companies. The Japan Computer Emergency Response Team Coordination Center (JPCERT/CC) [2] was the first CSIRT established in Japan and was launched in 1996. In addition, the National Incident Response Team (NIRT) was launched in 2002. Nippon CSIRT Association (NCA) [3] was launched in 2007 with six organizations, but expanded to 368 organizations in 2019. Tokyo Denki University CSIRT (TDU-CSIRT) first joined NCA as a university CSIRT in 2016. SECCON [5], hosted by the Japan Network Security Association (JNSA), is the largest security contest in Japan. SECCON 2019 Capture the Flag (CTF) was attended by a total of 2,347 people from 64 countries [4]. As related events, the SECCON Beginners and CTF for GIRLS programs have been deployed and are contributing to expand the base of young security engineers. JNSA has released SecBoK [14] as a body of knowledge in the field of security. SecBoK2019 adapts to NIST SP800-181 (NIST NICE Framework) [18] and NIST Cybersecurity Framework Version 1.1 [17]. In 2017, Registered Information Security Specialist (RISS) [8] started as a national qualification program in Japan. As of January 2020, 17,965 people have been registered. In addition, CISSP, developed by the International Information System Security Certification Consortium ((ISC)2), has become the most popular international security qualification program. As of January 2020, 142,112 people worldwide have been certified, with 2,566 holders in Japan [12]. Looking at academia, a department of information security was established in 2016 at the Univ. of Nagasaki as the first undergraduate course in Japan, followed by Ritsumeikan Univ. in 2017, and Kyoto Sangyo Univ. and Kagawa Univ. in 2018. As a graduate course, the Institute of Information Security, a private university, was established in 2004 and is one of the pioneers in Japan. Our CySec program was launched in 2015 as a master’s course level certificate program, followed by programs offered at the Univ. of Electro-Comm. and Tokyo Institute of Technology in 2016 and Keio Univ. in 2017. In addition, enPiT [1], an advanced human resources development program sponsored by the Ministry of Education, Culture, Sports, Science and Technology (MEXT), was launched in 2012 for graduate students. This has been implemented in the four fields of business applications, embedded systems, cloud computing, and security, mainly at national universities. In 2016, enPiT2 was launched for undergraduate students. In addition, enPiT Pro, which is aimed at working people, also started in 2018.

3

Overview of CySec Curriculum

The CySec program began preparations for installation in 2014. Initially the CySec program was supported by MEXT from 2014 to 2016 [15].

282

Y. Kakizaki et al.

CySec trains advanced cybersecurity experts to lead their cybersecurity awareness for members of society and to meet the needs of cybersecurity measures in making social activities safer, more secure, and increasingly prosperous. The aim of CySec is to educate not only in the technical field of cybersecurity but also in the fields of law, economics, diplomacy, psychology, and ethics at an advanced level, thereby fostering advanced cybersecurity experts who can lead in management, operation, negotiation, and auditing. CySec offers seven classes to help students acquire legal knowledge, as well as management and governance and incident response and forensics skills. CySec lecturers are invited by leading-edge security experts in addition to our university’s faculty members who are active in the forefront of the cybersecurity field. To achieve this purpose, CySec is the only program in Japan in 2019 that has introduced a CISSP course based on the International Academic Program of (ISC)2 [11]. We prepared a curriculum based on the common knowledge system of CISSP, and have made it possible to develop a wide range of advanced competencies such as an understanding of institutional frameworks including law and ethics, insight into the intentions and actions of attackers, and governance to realize compliance in various enterprises. The CySec curriculum includes the following classes. • • • • • •

Cybersecurity: Foundation (1PF) Cyber Defense Practice (2CD) Intelligence: Psychology, Ethics, and Law (3IN) Digital Forensics (4DF) Management and Governance (5MG) Secure Systems Design and Development (6DD)

Classes 1PF, 2CD, and 3IN are held during the first semester, and 4DF, 5MG, and 6DD are held during the second semester. One class has 14 lectures (100 min per lecture) on weekdays and 15 lectures (90 min per lecture) on weekends. Classes 2CD and 6DD are practice-oriented, and three lectures per day are held every other weekend for intensive practice. A certificate of completion is issued upon completion of all seven classes. All courses are all encompassing, and security professionals are invited as instructors. The lecturers are CISSP-certified lecturers, government officials, lawyers, incident responders, analysts, forensic experts, or academic professors, among others. Although CySec can be completed within a minimum of 1 year, a maximum of 4 years of enrollment is allowed, supporting students with different lifestyles. In addition, our program was accredited as a brush-up program for professionals [16] by MEXT in 2016 and is covered by the Training and Education Benefits System of the Ministry of Health, Labor, and Welfare (MHLW). A maximum of 70% of the tuition fee will be returned to students who are covered by an education and training grant. In this way, our program strongly supports the advancement of young people in the field of cybersecurity.

CySec: Cybersecurity Review Program for Professionals in Japan

283

Table 1. A comparison of CySec and CISSP CAT [9]

3.1

Domain

% of CySec % of CISSP CAT

Security and risk management

4/27 = 15% 15%

Asset security

3/27 = 11% 10%

Security architecture and engineering

6/27 = 22% 13%

Communications and network security 2/27 = 7%

14%

Identity and access management

2/27 = 7%

13%

Security assessment and testing

2/27 = 7%

12%

Security operations

4/27 = 15% 13%

Software development security

4/27 = 15% 10%

Cybersecurity: Foundation

This class is a basic introduction to CySec and is designed to make all students’ knowledge uniform. This course has adopted the International Academic Program of (ISC)2. There are three lecturers, all of whom are CISSP certified lecturers. In this class, there were ten domains at the beginning of CySec, but from 2018 the lectures were conducted in eight domains, in accordance with CISSP. Initially, we had 1 class (14 lectures and 1 exam), but we expanded this to 2 classes (27 lectures and 2 exams) to enrich the content. Table 1 compares the percentages of the eight CISSP domains in the CySec program with the Computer Adaptive Testing (CAT) Examination Weights [9] of CISSP. The CySec program has a larger allocation of technical domains to meet the expectations of the students. 3.2

Cyber Defense Practice

In this class, students learn about vulnerabilities and malware in web applications and how to deal with cyber-attacks. This is a practice-centered subject, which is held in five sessions of three lectures per day on every other weekend. In the first section, we practice the vulnerability detection of web applications, such as cross-site scripting (XSS) and cross-site request forgeries (CSRF) for PHP applications in four lectures. In the middle section, malware analysis exercises are given in five lectures: analysis methods, detection methods, surface analysis, dynamic analysis, and static analysis. Other activities include fuzzing, reverse engineering, an intrusion detection system, an intrusion prevention system (IDS/IPS), and the use of threat intelligence and open-source intelligence (OSINT).

284

3.3

Y. Kakizaki et al.

Intelligence: Psychology, Ethics, and Law

This class deals with contents focusing on intelligence as the knowledge of cybersecurity for management from the aspects of psychology and law, which are not touched on often in the cybersecurity course of science and technology. A variety of lecturers, including corporate CSIRT members, law enforcement officials, lawyers, and psychologists, are employed to provide attractive lectures from a broad perspective. The lecture content includes the role and necessary skills of CSIRT, corporate information asset defense and legal systems, corporate strategies and social responsibility, security ethics, international compliance, cybersecurity laws, cybercrime and psychology, social engineering techniques, incident handling guidelines, and maturity models. In addition, cybersecurity insurance has been receiving attention in recent years; the needs of students in this regard are high, and the reputation is extremely good. However, the reason for this is not because there are many students at the management level. For management, security measures appear to be a wasted investment, and management hopes to reduce costs as much as possible. In addition, the return on investment for security is often unclear, and thus it is important to explain the importance of security to management who do not have a proper understanding and convince them to apply a security system. For this reason, we have established this class as training for CSIRT, security operation centers (SOCs), and other engineers to teach security to management appropriately. In our program, we present a malware analysis and vulnerability detection approach as a technical exercise; however, this content can also be applied to the creation of malware and attacks using vulnerabilities. It is extremely important for engineers to have the proper ethics because it is necessary to know the attack methods to protect against malicious attacks. For this reason, this class conducts roundtable discussions to develop the ethics of engineers. 3.4

Digital Forensics

This class teaches digital forensics, which is used to analyze PCs and network devices affected by malware as well as security incidents to determine what has been done to them. As a prerequisite knowledge for forensics, the structure of the hard disk, file system and operating system are outlined. Next, students learn data preservation, data recovery, and data analysis as forensic work, and practice digital forensics, network forensics, and mobile forensics. We also use mock courtrooms (at other universities) and hands-on exercises by lawyers to learn legal literacy and courtroom responsiveness to ensure that the results of forensics serve their purpose as legal evidence. Although there are several forensics training programs offered by security vendors, CySec is the first academic forensics course in Japan [19].

CySec: Cybersecurity Review Program for Professionals in Japan

3.5

285

Management and Governance

In this class, students acquire basic competencies to enable the maintenance and continuation of the ISMS (ISO/IEC 27001) [13] and basic knowledge as a Chief Information Security Officer (CISO). The lectures focus on standardization trends in ISMS and information security management, internal control, IT control, security auditing, risk management and analysis, organizational management and secure design, and incident response exercises. The lectures also deal with new security threats, such as security for IoT and control systems, as well as the latest topics such as AI and security (security by AI, security using AI, security of AI, and security from AI) and cryptographic compromises. 3.6

Secure Systems Design and Development

This class follows the V model of system development to learn the security perspective at each stage and to be able to design and develop a secure system. This is a practice-centered subject, which is held in five sessions of three lectures a day every other weekend. Table 2. Enrollments in CySec

Table 3. Graduates in CySec

Year First semester Second semester

Year Number of graduates

2015

35

9

2015

18

2016

42

7

2016

35

2017

41

14

2017

24

2018

24

9

2018

24

2019

54

7

2019

26

Total 242

Total 127

Students learn about security requirement specifications and analysis methods as measures at the required level of definition, as well as security threat analysis and common criteria as design-level countermeasures. Students learn measures for coding level, secure programming, buffer overflow measures for native applications (C language), and XSS and CSRF measures for web applications (PHP). In addition, we deal with secure infrastructure design, networks and servers, and overall system development from a security perspective in project management from a wide perspective.

286

4 4.1

Y. Kakizaki et al.

Discussions Student Achievement and Satisfaction

CySec has been operating since the first semester of 2015, and as of the second semester of 2019, we have welcomed a total of 242 students, including 28 master’s degree students. Table 2 shows the breakdown of the enrollment. In terms of age, excluding the 28 master’s degree students, 28 students are in their 20s, 92 are in their 30s, 79 are in their 40s, and 15 are in their 50s or older. Our program is aimed at mid-career workers who want to improve their careers, and the fact that many of our students are in 30s and 40s is consistent with our objectives. Our program has produced 127 graduates as of the end of the second semester of 2019. Table 3 shows the breakdown of the number of graduates. To accommodate various lifestyles, CySec allows for a maximum of 4 years of enrollment while allowing for a minimum of 1 year of study. In terms of the length of stay, 101 students completed the course in 1 year, 20 students completed the course in 2 years, and 6 students completed the course in more than 3 years. The Education and Training Benefit System of the MHLW is conditional on completion of the program within 1 year. Therefore, most of the students who applied for this system completed their studies in 1 year. However, some students dispatched by their companies have taken more than 2 years to complete the courses, whereas others have yet to complete all courses. Students who paid for the course themselves have tended to have a high completion rate and high level of motivation. Table 4. Survey: have you developed an interest?

Table 5. Survey: what is your level of satisfaction?

Year 2015 2016 2017 2018 2019 Average

Year 2015 2016 2017 2018 2019 Average

1PF 4.06 4.59 4.41 4.58 4.85 4.50

1PF 4.17 4.33 4.39 4.54 NA

4.35

2CD 4.82 NR

2CD 4.65 NR

4.50 NA

4.58

4.33 4.53 4.42 4.34 NA

4.41

4DF 4.39 4.74 4.63 4.54 4.65 4.59

4DF 4.37 4.64 4.70 4.66 NA

4.59

5MG 4.50 4.79 NR

5MG 4.31 NR

4.41 NA

4.36

6DD 4.40 4.35 4.35 4.35 NA

4.36

3IN

NR

4.58 4.81 4.74

4.33 4.55 4.39 4.22 4.50 4.40 4.31 4.69 4.57

6DD 4.46 4.37 4.38 4.22 4.47 4.38

3IN

NR

NR

Tables 4 and 5 show the results of the survey of students after all classes were completed. In the table, “NR” indicates “Not Reported” and “NA” indicates “Not Available,” with the lowest score being 1 and the highest being 5. Table 4 shows that 2CD and 4DF are stable and highly rated. In addition, the score of 1PF is improving each year. Table 5 shows that the satisfaction of 2CD and 4DF is extremely high, and the other classes are also high in general and receive high ratings overall.

CySec: Cybersecurity Review Program for Professionals in Japan

4.2

287

Changes in the Students

At the beginning of the offering of CySec, many security professionals attended the course. They had security expertise and appeared to be experts who did not need to learn CySec. However, when we interviewed them, their answers were different from what we imagined. Their university majors were not in the security area, and very few of them majored in computer science. In other words, since they started working, cybersecurity had become their job, and they were therefore experts in certain areas but did not have adequate knowledge to cover cybersecurity in general. Accordingly, they expected to learn cybersecurity in a systematic way as an academic discipline. As described in Sect. 3, CySec has a prepared systematic curriculum based on CISSP, which allows CySec to meet the needs of students with specialized knowledge. Since approximately 2017, the student body has changed significantly. Previously, CySec students were mainly workers from security vendor companies, but that year, the number of workers from security user companies started to increase. At the time, many companies started to establish CSIRTs in Japan, and the announcement of recruitment of CySec students at NCA seems to have been one of the reasons. Therefore, new workers in the cybersecurity industry and members of the newly established CSIRT have joined the course, and CySec has contributed to expanding the base of cybersecurity personnel. 4.3

Preparing the Practice Environment

It is extremely important for the students to use the same environment to deal with problems during practice. The students use their own laptop PC for the exercises, and their laptop PC must be able to run a virtual machine (VM) on Windows 10. Many CySec lecturers use Oracle VM VirtualBox, which is suitable for distributing a VM in the Open Virtualization Format and can be used not only on Windows but also on Linux and Mac. For this reason, some skilled Mac users use VirtualBox on MacOS for performance reasons. By using a standalone VM, even if malware is accidentally executed during a malware analysis or other type of event, the scope of influence can be limited, and exercises can be conducted safely. By using VirtualBox, students can use the same VM for Windows, Linux, and Mac in the same practice environment. The purpose of practicing a malware analysis is to develop the ability to analyze malware in the real world. It is not necessary to use actual malware as a material for such purposes. If actual malware is used as a material during practice, each student must obtain the code of ethics and consent for the handling of the malware. In addition, it is difficult to provide actual malware to students who do not have sufficient skills because of the risk that the surrounding environment may be in danger of a malware infection owing to an improper configuration or incorrect operation.

288

Y. Kakizaki et al.

For this reason, CySec invites a professional anti-virus software vendor as a lecturer and conducts exercises to analyze the original pseudo-malware without a malignancy, incorporating the methods used in actual malware. Because pseudomalware is not something that any user can simply create, it is dependent on the lecturer; however it can be practiced safely. If actual malware must be used, its threat can be minimized by using a virtual desktop infrastructure (VDI) in a closed network. However, there is a need to prepare a VDI, and the financial cost becomes a bottleneck.

5

Conclusion

In this paper, we described a cybersecurity education course in Japan that we have been working on since 2015, along with its results. The need for cybersecurity is expected to increase, not only in Japan but also around the world. The world of cybersecurity is a game of attackers and defenders. Because defenders always tend to be in a weaker position, our CySec curriculum was designed to analyze an attacker’s position, characteristics, and objectives, and to take appropriate countermeasures from both a larger and technical perspective. We will continue to revise the curriculum and improve the contents of the lectures for better training of security engineers. Acknowledgements. This study was initially supported by the Ministry of Education, Culture, Sports, Science and Technology (MEXT). We would like to thank each of the professional CySec lecturers and staff members for their help.

References 1. Education Network for Practical Information Technologies (in Japanese). http:// www.enpit.jp/. Accessed 25 May 2020 2. JPCERT/CC. https://www.jpcert.or.jp/english/. Accessed 25 May 2020 3. Nippon CSIRT Association (NCA). https://www.nca.gr.jp/en/index.html. Accessed 25 May 2020 4. Result of SECCON CTF 2019 QUALS. https://www.seccon.jp/2019/seccon2019/ result ctf2019quals.html. Accessed 25 May 2020 5. SECCON. https://www.seccon.jp/. Accessed 25 May 2020 6. Cyber Threat Alliance: 2020 SUMMER OLYMPICS THREAT ASSESSMENT TOKYO 2020 (2020). https://www.cyberthreatalliance.org/wp-content/uploads/ 2020/02/CTA-2020-Olympics-Threat-Assessment-Report Final.pdf. Accessed 25 May 2020 7. Dion-Schwarz, C., Ryan, N., Thompson, J.A., Silfversten, E., Paoli, G.P.: OlympicCaliber Cybersecurity (2018). https://doi.org/10.7249/RR2395 8. Information-Technology Promotion Agency, Japan (IPA): Registered Information Security Specialist Examination (Level 4) Syllabus. https://www.ipa.go.jp/files/ 000009645.pdf. Accessed 25 May 2020 9. (ISC)2: CISSP Certification Exam Outline. https://www.isc2.org/-/media/ISC2/ Certifications/Exam-Outlines/CISSP-Exam-Outline-2018-v718.ashx. Accessed 25 May 2020

CySec: Cybersecurity Review Program for Professionals in Japan

289

10. (ISC)2: CISSP – The World’s Premier Cybersecurity Certification. https://www. isc2.org/Certifications/CISSP. Accessed 25 May 2020 11. (ISC)2: International Academic Program. https://www.isc2.org/IAP. Accessed 25 May 2020 12. (ISC)2: (ISC)2 Member Counts. https://www.isc2.org/About/Member-Counts. Accessed 25 May 2020 13. ISO: ISO/IEC27001 Information Security Management. https://www.iso.org/ isoiec-27001-information-security.html. Accessed 25 May 2020 14. Japan Network Security Association (JNSA): SecBoK (in Japanease). https:// www.jnsa.org/result/2018/skillmap/. Accessed 25 May 2020 15. Ministry of Education, Culture, Sports, Science and Technology (MEXT): https:// www.mext.go.jp/a menu/koutou/kaikaku/manabinaoshi/index.htm. Accessed 25 May 2020 16. Ministry of Education, Culture, Sports, Science and Technology (MEXT): Brush up Program for professional. https://www.mext.go.jp/a menu/koutou/bp/. Accessed 25 May 2020 17. National Institute of Standards and Technology (NIST): Cybersecurity Framework Version 1.1. https://www.nist.gov/cyberframework/framework. Accessed 25 May 2020 18. National Institute of Standards and Technology (NIST): National Initiative for Cybersecurity Education (NICE) Cybersecurity Workforce Framework. https:// doi.org/10.6028/NIST.SP.800-181 19. Sasaki, R.: Education on digital forensics for working people and graduate students in Japan. In: Proceedings of MCCSIS2019, pp. 72–80 (2019) 20. Tokyo Denki Univerity: CySec (in Japanese). https://cysec.dendai.ac.jp/. Accessed 25 May 2020

Proposal of a Perimeter Line Management Method for Fog and Edge Computing with SDP Concept Shigeaki Tanimoto1(&), Yuzuka Sato1, Prajak Chertchom2, Hiroyuki Sato3, and Atsushi Kanai4

2

1 Faculty of Social Systems Science, Chiba Institute of Technology, Chiba, Japan [email protected], [email protected] Thai-Nichi Institute of Technology, Bangkok, Thailand [email protected] 3 The University of Tokyo, Tokyo, Japan [email protected] 4 Hosei University, Tokyo, Japan [email protected]

Abstract. In recent years, with the development of the Internet of Things (IoT), there are more and more situations where real-time performance is required, such as automated driving and surveillance cameras. However, when processing these data in the cloud, it is sometimes difficult to maintain the real-time performance of the data. In addition, a number of people are concerned about processing video data in the cloud from the viewpoint of privacy protection. As a response to these issues, fog and edge computing are attracting attention. On the other hand, the vulnerability of existing perimeter defenses has been pointed out and the importance of the zero-trust model is increasing. In this model, a new “perimeter” has been proposed: the Software Defined Perimeter (SDP). Considering these backgrounds, in this paper, we propose a new perimeter line management method using the concept of SDP as a security measure for fog and edge computing.

1 Introduction Nowadays, with the remarkable progress of the Internet of Things (IoT), there are a number of emerging situations that require real-time performance, such as the automated driving of cars and robots, and simultaneous detection of many people in a crowd. Under these circumstances, it is generally necessary to upload data from sensors and camera images to the cloud, and analyze and actuate them on a cloud server. However, due to the response time from the cloud and the cost of communication, it may be difficult to maintain the real-time nature of the system [1]. There are also concerns about sending and storing video data to the cloud from the perspective of privacy protection [2]. As a response to these challenges, fog and edge computing has been attracting attention in recent years [3]. Fog and edge computing are network © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 290–302, 2021. https://doi.org/10.1007/978-3-030-57811-4_27

Proposal of a Perimeter Line Management Method

291

components located between IoT devices and the cloud [4, 5]. These types of computing solve the real-time and privacy issues mentioned above. Yokota et al. identified several issues in fog and edge computing, including the fact that security measures are possible even for devices that use networks without security features, and that these measures are based on the premise of unauthorized device connection and misoperation [3]. These issues are not restricted to IoT devices, but it is important to consider them in relation to fog and edge infrastructures in the cloud. However, these studies have only just begun, and in particular, security measures covering IoT devices to edge and fog infrastructures, as well as cloud ones, are still insufficient [6, 7]. On the other hand, internal fraud and other incidents are becoming more frequent, and the vulnerability of existing firewalls and other perimeter defenses are being pointed out. For this reason, the importance of the zero-trust model is increasing. Software Defined Perimeter (SDP) has been proposed as a new perimeter defense based on this zero-trust model. The Cloud Security Alliance (CSA) proposed a basic architecture guideline of SCP [8]. This architecture securely connects the SDP controller, host, and other components using single-packet authorization (SPA) packets. However, studies of specific perimeter line management methods are still insufficient. In this paper, we focus on the fact that fog and edge computing is multi-layered, from the edge layer to fog layer to cloud layer, and define the line of defense at the boundary of each layer as a “perimeter line”. Furthermore, we propose a new method of managing perimeter lines in fog and edge computing using the SDP architecture.

2 Current Status and Issues of Fog and Edge Computing 2.1

Current Status of Fog and Edge Computing

2.1.1 Edge Computing Edge computing is the concept of data processing at the edge of a network where the data originates [9]. In edge computing, devices including smartphones, robots, drones, sensors, smart appliances, and wearable devices are positioned as IoT devices, and they work with an edge server either directly or via a sensor network gateway. The edge server processes data obtained from the IoT devices by collaborating with a cloud server. That is, some or all of the processing may be performed in the cloud as well as on the edge servers for reasons such as load balancing. 2.1.2 Fog Computing Fog computing is a distributed processing environment in a network environment, where data is processed by middleware in the vicinity of a terminal before it goes to the cloud. The term “fog” is derived from the concept proposed by Cisco Systems for the IoT, and is used in reference to the positional relationship between the “cloud” and “fog”. The purpose of this environment is to relay large amounts of data from IoT devices and process them before they are sent, thereby avoiding the concentration of the burden on the host system and cloud. In addition, fog computing is located near the terminal and communicates with the higher-level system to process it, enabling it to respond quickly to changes in usage and environment [10].

292

S. Tanimoto et al.

2.1.3 Fog and Edge Computing As shown in Fig. 1, the typical architectures related to IoT are the two-tier architecture (Fig. 1 (1)), which connects directly to the “cloud layer” from the “device layer” (“edge layer”) that includes IoT devices and gateways, and the three-tier architecture (Fig. 1 (2)), which provides a “fog layer” between the edge layer and cloud layer [11]. In general, when the number of IoT devices (objects) becomes enormous, problems such as an increase in communication fees, network load, security difficulties, and high latency become apparent in the two-layer structure. Therefore, the three-layered structure has been attracting attention nowadays.

Cloud

Increase in communication fees →All data is sent and received

Cloud

Cloud layer

Reduction of communication fees → Send and receive minimum data

Network load reduction →Throughput stabilization

Within a base or region

Increased network load →Throughput drop Security difficulty →Send and receive confidential data

Fog layer

Data aggregation and fast response

High delay →Remote control of equipment

Fog

Security assurance →Save sensitive data in fog layer

low delay →Real-time control of equipment

Edge/Device layer

Data collection and transmission

IoT devices

Fig. 1. Network architecture overview (author’s drawing from [11])

In the three-layer structure, there are three main layers: the edge layer that collects data and sends it out to the network, the fog layer that collects and aggregates the data and sends it to the cloud and immediately returns the results, and the cloud layer that analyzes the huge amount of data collected, executes applications, and provides feedback. 2.2

Issues of Fog and Edge Computing

Yokota et al. identified the following six issues in fog and edge computing [3]. (1) The software implementation should be compact and able to operate at a high speed and low load even with low-priced hardware that features few resources. (2) Security measures should be possible even with devices that use a network (NW) connection system without security functions.

Proposal of a Perimeter Line Management Method

293

(3) Autonomous measures should be possible to enforce locally even with an unstable NW connection status. (4) Maintenance and administration of a large number of devices should be possible remotely without requiring human labor. (5) Measures should presuppose illegal equipment connections and malfunctions. (6) Measures should put emphasis on safety and continuous operation. Among the above, issues (2) and (5) are especially important from the viewpoint of security measures. It is important to consider these issues not only for IoT devices but also from the associated edge to fog and cloud infrastructures [6, 7]. However, these studies are still in their infancy. In particular, investigations of security measures related to IoT devices to edge, fog, and cloud infrastructures are still insufficient.

3 Related Trends 3.1

Software Defined Perimeter (SDP)

With the development of mobile and cloud computing environments, the vulnerability of the conventional perimeter defense, which is based on the inside and outside of a network, has been pointed out, and the importance of zero-trust models has been increasing. The SDP was proposed as a new “boundary” based on the zero-trust model. Its basic architectural guidelines have been proposed by the CSA [8]. In this architecture, as shown in Fig. 2, the SDP controller, client, host, and other components are securely connected to each other by using SPA packets with mutual TLS authentication (mTLS) and other methods. A concrete connection consists of two channels: a control channel for connection authentication and a data channel for connection between hosts. In the following paragraphs, the sequence of Fig. 2 is described in detail. (1) One or more SDP controllers are added and activated within the SDP. The SDP controller connects with Public Key Infrastructure (PKI) services, Security Assertion Markup Language (SAML), OpenID, identity federation, and other similar authentication and authorization services. (2) One or more Accepting Hosts (AHs) are added and activated in the SDP. The AHs are authenticated through an mTLS connection to the SDP controller. The AH does not recognize communications from other hosts and does not respond to requests that have not been pre-provisioned. (3) Each Initiating Host (IH) is added and activated in the SDP. The IHs are also authenticated by connecting to the SDP controller by mTLS. (4) After authenticating an IH, the SDP controller determines a list of AHs with which the IH is authorized to communicate. (5) The SDP controller then instructs the appropriate AH to accept communications from the IH and determines the policy required for encrypted communications. (6) In addition, the SDP controller provides the IH with a list of AHs and the policies required for encrypted communications. (7) The IH will initiate an SPA for each permitted AH. In other words, the IH will make an mTLS connection to the correspondent AH.

294

S. Tanimoto et al. 1. Controllers online 4. List of authorized Accepting Hosts determined

SDP controller 5. Accept communication from Initiating Host

5. Accept communication from Initiating Host

6. Receive list of IPs of Accepting Hosts 3. Mutual TLS to controller

Initiating SDP host ( IH )

7. mTLS tunnels

7. mTLS tunnels

SDP client

2. Mutual TLS to controller

Accepting SDP host ( AH )

2. Mutual TLS to controller

Accepting SDP host ( AH ) Control channel Data channel

Fig. 2. Architecture of SDP (Author’s drawing from [8])

On the basis of this SDP architecture, this paper investigates a specific perimeter line management method for fog and edge computing. 3.2

Immune System

As shown in Fig. 3 (1), the immune system is composed of two mechanisms. The first is “natural immunity,” which constantly monitors the body and prepares to attack invaders as soon as possible. It is a line of defense in the initial stages of foreign invasion. The second mechanism, called acquired immunity, is a system that is found only in advanced life forms. Acquired immunity has a strong destructive power and combats powerful enemies such as cancer. It is this system that has antibodies to certain diseases. The immune system takes a “two-stage stance” in which natural immunity attacks foreign substances that invade the body, and acquired immunity is activated when the body is still unable to repel them. Both parties respond to every situation in close coordination [12]. The network between these antibodies is modeled as shown in Fig. 3 (2). Jerne proposed a model of liquid immunity consisting of B-cell clones and antibodies, called the idiotypic network [13, 14]. According to the proposal, each antibody has its own type (idiotype), combining the part that recognizes other antibodies and antigens (idiotope) and the part that is recognized by other antibodies (paratope), forming a network that recognizes and is recognized by each other [15, 16].

Proposal of a Perimeter Line Management Method

Natural immunity

295

Epitope

(1) Start the attack from natural immunity

Antigen Paratope B cell

Cancer cell Idiotope Notification (presenting the antigen and educating them on how to attack)

B cell (2) Attack the rest from acquired immunity

Antibody 3 B cell Antibody 1

Acquired immunity

Stimulation Antibody 2

(1) Immune action (two-step defense) [12]

Suppression

(2) Intercellular networks idiotypic networks [16]

Fig. 3. Immune system (Author’s drawing from [12, 16])

4 Proposal of Perimeter Line Management Method In this section, we focus on the fact that the hierarchy of fog and edge computing is divided into three layers from the edge to the cloud, and we propose how to manage the perimeter lines between these layers. With respect to the management of perimeter lines, we previously proposed a concept of multi-layered defensive security [17]. In that study, we proposed a conceptual model of a management method based on time, place, occasion (TPO) conditions, in addition to conventional methods such as the Swiss cheese model and castle wall model. However, we have yet to conduct a study for fog and edge computing. As mentioned above, we propose a new model for managing perimeter lines for fog and edge computing based on the SDP architecture described in Sect. 3 and introduce the concept of an immune system. 4.1

Defining Perimeter Lines in Fog and Edge Computing

First, we define a perimeter line for fog and edge computing. As shown in Fig. 4, we define the perimeter lines of fog and edge computing as the boundaries of the corresponding components. Next, the main policies for controlling perimeter lines are generally (1) management, (2) security, and (3) access management. In this section, we propose to focus on management policies as an initial study.

296

4.2

S. Tanimoto et al.

Basic Model of a Perimeter Line Management Method

4.2.1 Basic Model On the basis of the perimeter line model of fog and edge computing, including cloud computing shown in Fig. 4, we propose a basic model of a perimeter line management method to protect confidential information in the cloud. In general, perimeter line management methods are roughly divided into two types: autonomous ones, in which the components themselves are managed, and heteronomy ones, in which third parties other than the components manage them.

(1) Management policy (2) Security policy access

Cloud Perimeter line

(3) Management policy

Fog

Fog Perimeter line

Edge

Edge

Edge

Edge

Fig. 4. Perimeter line model in fog and edge computing

In the autonomous management method, it can be classified into three models: a top-down management model from the cloud layer, a management model from the fog layer, and a bottom-up management model from the edge layer. Here, the bottom-up management model from the edge layer is omitted because it is not realistic due to the severe conditions of resource constraints such as CPU processing power and memory constraints. In the heteronomy management method, we propose a management model that uses the architecture of SDP as a third-party management model. An overview of these three management models is shown in Fig. 5. The top-down management model shown in Fig. 5 (1) is managed from the cloud and comprises two management models, hierarchical and centralized, which are distributed between the cloud and fog layers. The management model in the fog layer is at the center of perimeter line management, as shown in Fig. 5 (2). In the SDP management model in Fig. 5 (3), the SDP controller monitors the cloud, fog, and edge layers and manages the perimeter lines. 4.2.2 Evaluation from a Practicality Perspective In this section, the results of the qualitative evaluation of the perimeter line management model shown in Fig. 5 in terms of practicality are shown in Table 1.

Proposal of a Perimeter Line Management Method Management

Management Cloud

Edge

Edge

Cloud

Management

Fog

Fog

297

Edge

Edge

Fog

Edge

Fog

Edge

(a) Hierarchical management

Edge

Edge

(b) Centralized management

(1) Top-down management model Cloud

Management

Management Fog

Edge

Fog Management Edge

SDP controller

Cloud

Edge

Fog

Fog

Fog

Management

Management Edge

Edge

(2) Management model from Fog layer

Edge

Edge

Edge

(3) SDP management model

Fig. 5. Perimeter line management model in fog and edge computing Table 1. Qualitative evaluation of the perimeter line management model (H: High, M: Middle, L: Low) Management model (1) Top-down management model (2) Fog management model (3) SDP management model

Reliability M: Duplication

L: Non-duplexing

H: Redundancy and dedicated equipment

Economy (Cost) H: Use of existing environment H: Use of existing environment M: New SDP controller is required

Feasibility

Evaluation

L: A new protocol is needed L: A new protocol is needed H: Application of SDP architecture

2

3

1

• Reliability: Cloud computing and the SDP often operate in data centers, for example, and stable monitoring is expected due to redundancy. On the other hand, it is assumed that fog computing often operates as a conventional factory or corporate server, and its reliability is lower than that of the former. In the SDP, the reliability is generally highest due to duplexing and dedicated perimeter line management.

298

S. Tanimoto et al.

• Economy (Cost): Cloud and fog computing can be used in existing environments, so the cost is relatively low. In contrast, the SDP incurs costs to install new equipment. • Feasibility: Cloud and fog computing requires the development of new protocols for management. On the other hand, the SDP can use existing architectures. As shown in above, the SDP management model is suitable as a perimeter line management model. 4.3

Proposal of SDP Management Model

4.3.1 Basic Architecture In this section, we specifically propose a perimeter line management model based on the SDP architecture. Figure 6 shows the basic architecture of the SDP management model. A new perimeter line management policy is provided in the SDP controller, and the perimeter lines between the cloud, fog, and edge layers are managed on the basis of this policy.

Sensitive information

Cloud SDP controller

Perimeter line

Perimeter line management policy

Fog Perimeter line Control channel Data channel

Edge Fig. 6. Basic architecture of the SDP management model

4.3.2 Perimeter Line Management Policy (a) Introduction of the immune system concept We apply a two-stage defense and antibody-to-antibody switching (stimulation and suppression) in the immune system to the perimeter line management policies. Specifically, the first step is to manage the perimeter line between the fog layer and edges. As shown in Fig. 7, the SDP controller monitors the edges and, if there are anomalies, instructs the fog layer to close the perimeter line to and from the edge (first

Proposal of a Perimeter Line Management Method

Sensitive information

If the number of Edge errors is more than half, instruct the Cloud to close the Fog layer.

Cloud

SDP controller

In case of an Edge error, instruct the Fog layer to close the Edge.

Close the perimeter line

299

Perimeter line management policy

-> 2nd level of defense

Fog Monitoring Edge

Close the perimeter line

-> 1st level of defense

Control channel

Edge

Edge

Data channel

Fig. 7. Introduction to the immune system concept (two-step defense)

stage defense and switching). In general, there are multiple edges under a fog layer. Thus, for example, if there are more than half the number of edge errors under the fog layer, we instruct the cloud to close the perimeter line with the fog layer as well (second stage defense and switching). As mentioned above, the SDP controller will autonomously perform , , and as a flow of defense for each of the two stages. On the other hand, the two-step defense is based on the analogy of the immune system, and more advanced defenses are also envisioned. For example, the first stage of defense is based on current policies (equivalent to natural immunity). For example, the first step in defense is to adopt a defense based on current policies (equivalent to acquired immunity). This is a subject for further work. (b) Introduction of TPO conditions. Although perimeter line management in (a) was based on the confirmation of the life and death of components, in reality, it is necessary to manage perimeter lines more actively. For example, as shown in Fig. 8, it is assumed that the perimeter line management of the passage/closure by TPO conditions shown in Table 2 is also possible. • Time: the perimeter line here passes/closes on the basis of the condition of time. For example, the perimeter line is passed through during work hours and closed outside of work hours.

300

S. Tanimoto et al.

• Place: The perimeter line is closed on the basis of the location conditions. For example, if in the office, the perimeter line is passed through, and out of the office, it is closed. • Occasion: The perimeter line is closed on the basis of various conditions. For example, if there is a majority of guests in the office, the perimeter line is closed. 4.3.3 Considerations In summary, we have shown that the SDP architecture makes it easy to manage perimeter lines related to edge to fog and cloud infrastructures. Furthermore, the twostep defense based on the concept of the immune system and the perimeter line management policy based on TPO conditions are expected to enable us to manage a system more finely to meet the needs of the real world. We have shown that this approach can contribute to the secure use of IoT, which will increase and diversify in the future.

Sensitive information

Cloud SDP controller Perimeter line

Perimeter line management policy

Fog TPO pattern T (Time)

Perimeter line

P (Place) O (Occasion)

Pass

Close

During business hours Within a company

After business hours Outside of a company

Only employees

Employee + guest

Control channel

Edge

Data channel

Fig. 8. Perimeter line management policy based on TPO conditions

Table 2. Examples of TPO conditions [1] TPO pattern T (Time) P (Place) O (Occasion)

Passage During business hours Within a company Only employees

Closure After business hours Outside of a company Employee + guest

Proposal of a Perimeter Line Management Method

301

5 Conclusion and Future Work Although IoT is expected to continue its rapid development and diversification in the future, two issues of privacy protection and guaranteeing real-time have become apparent. As a solution to these issues, fog and edge computing has been attracting attention, but the number of proposals for security measures is insufficient. In this paper, we focused on a multi-layered structure of fog and edge computing and define each layer’s line of defense as a perimeter line, and proposed a new security countermeasure model based on this perimeter line. Specifically, we have applied the SDP architecture, which is one of the zero-trust models, as a proposal for new security measures in fog and edge computing. Furthermore, we proposed a basic model of perimeter line management method that incorporates concepts such as the two-step defense of an immune system and switching. Finally, an example of management based on TPO conditions is presented as a perimeter line management policy, and we clarified that more active perimeter line management is possible. Future works are the realization and implementation of the proposed model. Acknowledgments. This work was supported by JSPS KAKENHI Grant Number JP 19H04098.

References 1. Yoneda, S., et al.: A study of dynamic cooperation method between multi-clouds based on TPO conditions. IEICE Trans. Inf. Syst. J99-D(10), 1045–1049 (2016). (Japanese Edition) 2. Hashimoto, Y.: Next generation process automation and cyber-security. Trans. Inst. Syst. Control Inf. Eng. 62(4), 147–153 (2018). (Japanese Edition) 3. Yokota, H., et al.: Edge computing technologies to connect the missing link of IoT. NEC Tech. J. 12(1), 24–28 (2017) 4. CISCO, Fog Computing (Japanese Edition). https://www.cisco.com/c/m/ja_jp/solutions/ internet-of-things/iot-system-fog-computing.html 5. CISCO, Fog Computing Solutions: Unleashing the Power of the Internet of Things (Japanese Edition). https://www.cisco.com/c/dam/m/ja_jp/offers/164/never-better/corenetworking/computing-solutions.pdf 6. Chertchom, P., et al.: Data management portfolio for improvement of privacy in fog-to-cloud computing systems. In: 2019 8th International Congress on Advanced Applied Informatics (IIAI-AAI), pp. 884–889 (2019) 7. Chertchom, P., et al.: Edge computing platform management: design for F2C and F2F for small businesses to reduce costs. In: 2019 8th International Congress on Advanced Applied Informatics (IIAI-AAI), pp. 890–895 (2019) 8. CSA Japan, Software-Defined Perimeter Architecture Guide (Japanese Edition). https:// www.cloudsecurityalliance.jp/site/wp-content/uploads/2020/03/sdp_architecture_guide_v2_ J_FINAL.pdf 9. Kikuchi, S., et al.: A study on building a fog computing testbed for assessing the superiority of inter-node communication. In: DICOMO 2019 Symposium, pp. 97–104 (2019). (Japanese Edition)

302

S. Tanimoto et al.

10. KEYENCE, glossary of terms, Fog Computing (Japanese Edition). https://www.keyence.co. jp/ss/general/iot-glossary/fog-computing.jsp 11. Saito, M.: Alternative Blog, The three-layered structure of the IoT [Revised Edition], (Japanese Edition), https://blogs.itmedia.co.jp/itsolutionjuku/2017/10/iot_iot.html 12. Immunotherapy Concierge, Immune System (Japanese Edition). https://wellbeinglink.com/ treatment-map/cancer/immunity/ 13. Jerne, N.K.: The immune system. Sci. Amer. 229, 52–60 (1973) 14. Jerne, N.K.: Towards a network theory of the immune system. Ann. Immunol. (Inst. Pasteur) 125, 373–389 (1974) 15. Harada, T.: Simulation of the Immune Network (Japanese Edition) (2000). http://www.jaist. ac.jp/ks/labs/hashimoto/sub2000/sub00-harada.pdf 16. Watanabe, Y.: Research on Sensor Networks Learned from Information Processing in the Immune System (2005). (Japanese Edition). https://www.nsc.nagoya-cu.ac.jp/*yuji/ poster20060626.pdf 17. Tanimoto, S., et al.: Concept proposal of multi-layer defense security countermeasures based on dynamic reconfiguration multi-perimeter lines. In: NBiS-2019 (ADPNA 2019). AISC, vol. 1036, pp. 413–422, September 2019

Trusted Records Scheme in Scene Investigation Yitao Yang1(&), Yubao Wu1, and Xu An Wang2 1

Department of Information Technology, Nanjing Forest Police College, Nanjing, Jiangsu, China [email protected], [email protected] 2 Engineering University of CAPF, Xi’an, China [email protected]

Abstract. Crime scene investigation is an important police task of which aim is to preserve the integrity of physical evidence, assist investigators to reach an ultimate conclusion, and provide legally valid evidences and reports to the court. The scene investigation recording is not only a hard task but also the most important step in the crime scene investigation work. The digitized scene survey records have been widely used in police work, but many problems such as untimely production, non-objectivity and illegality appear in actual operation. Based on the Chinese cryptographic standards, this paper proposes a set of trusted processing schemes for data records, which guarantees the credibility of the records by collecting the time, the space and the people related to the data. It ensures the objective of the production time, location, and operator. Keywords: Crime scene investigation

 Trusted records  Electronic evidence

1 Introduction In recent years, the development of science and technology in my country has been extremely rapid, and modern technology has been gradually applied to all walks of life and has played a huge role [1, 2]. In the investigation of police cases, the use of modern technology can effectively increase the probability of detection. Crime scene investigation is an important policing task. This task includes the following tasks: picking up the police, rushing to the crime scene, protecting the crime scene, conducting on-scene investigation visits, recording the crime scene status, identifying scene physical evidence, collecting, encapsulating, preserving physical evidence, and Examine the physical evidence, analyze the crime scene, and finally rebuild the crime scene [3]. The importance of this work is to preserve the integrity of physical evidence, assist investigators to reach a final conclusion, and provide legally valid evidence and written reports to the court. In the entire scene investigation process, the site record is the most time-consuming work and one of the most important steps in the crime scene investigation. The purpose of on-site records is to record and preserve the location of the physical evidence at the crime scene, the interrelationship between the physical evidence and the status of the crime scene [4]. The on-site recording work mainly uses the following five methods: transcript, video, photography, sketch and audio recording. The traditional current © Springer Nature Switzerland AG 2021 L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 303–308, 2021. https://doi.org/10.1007/978-3-030-57811-4_28

304

Y. Yang et al.

survey method is shown in Fig. 1. The photos, audio and video have been digitized. Most of the transcripts still rely on manual writing. After the entire current survey work is completed, it is manually entered into the current survey information system. Other digital records are also recorded. To be imported into the system from different devices.

Handwriting notes

Photos Videos

Fig. 1. Traditional records in scene investigation

The public security department has a clear provision on the site survey and inspection rules, which describes in detail the content of the work and the principles and procedures to be followed. There are three basic elements for the unseen on-site recording form: the time of recording, the location of the recording, and the recording personnel. In order to meet these three basic requirements, the traditional on-site recording work needs to compile multiple forms, such as photos, to fill in a form for each (group) photo, record the time, place and signature of the shooter. It is not difficult to see that in addition to the heavy scene investigation work, police officers also spend a lot of time to complete the work of sorting and preserving records. Although the system is complete, the overly cumbersome process has caused many flaws in the current survey work. Mainly reflected in the following three points [5, 6]. 1. The production is not timely, and there is a phenomenon of post-event deletion. The on-scene investigation requires highlighting the word “fast”. Some investigators lack subjective knowledge and are neglected in the scene. Some scribbled things, some in order to cooperate with the proof of the case, and even deleted the transcripts after the event. 2. The production is not objective and subjective. Some investigators rely on their subjective assumptions and make arbitrary judgments on the case, and then conduct on-scene investigations with false judgments, arbitrarily exaggerating or narrowing. 3. The production is illegal, and the on-site records are not followed in accordance with the relevant legal procedures. For example, the production personnel do not meet the qualifications of the subject, and no witnesses are present during the production of the record. The direct consequence of these problems is to lead the court to distrust, because the on-scene investigation is the first step in the criminal investigation. Failure to accept this part of the record will completely invalidate the subsequent evidence chain. Under the general policy of “ruling the country by law”, the legal process will Increasingly strict, any small mistakes will lead to losing the lawsuit, allowing criminals to go unpunished. In summary, how to use technical means to assist the current survey and record work to make it fast and efficient, while at the same time ensuring the legality and integrity of all record work is an urgent problem to be solved.

Trusted Records Scheme in Scene Investigation

305

The second part of this article will introduce the current digitalization of crime scene investigation records, the third part will propose a credible scheme for digital current investigation records, and finally, a summary of the full text.

2 Electronic Records in Scene Investigation The on-site investigation is the investigation and investigation carried out by the investigating agency on the criminal premises, their traces and other physical evidence. The purpose is to discover criminal traces and other physical evidence, understand and study the criminal’s crime and the nature of the case, determine the direction and scope of the investigation, and provide clues and evidence for the investigation and trial of the case [7]. The content includes three aspects: field investigation, survey visit and data compilation. During the on-site investigation, the investigation scope shall be delineated, the investigation sequence shall be determined, the investigation sequence shall be determined, on-site pictures shall be taken, on-site drawings shall be drawn, on-site transcripts shall be made, and the items and traces related to the crime shall be extracted and preserved [8]. During the investigation, investigative interviews should be conducted on the victim, witnesses, the person who discovered the case, and the on-site protector to understand the occurrence of the case, the time of discovery, the passage, and the relevant criminal situation. In the process of modern site investigation [9], many recording documents have been digitized, such as: on-site photos, on-site videos, electronic transcripts, on-site audio, etc. Compared with traditional documents, the digital archives must use seals, forms, and other additional materials to record the time, place, producer, and witnesses of these digital archives [10]. Obviously, these additional operations increase the burden of on-site investigation work, and Digital information is easily damaged or tampered with. Based on the actual work, this paper proposes a scheme of credible current survey records. The scheme includes the composition of the current survey equipment, the digital credibility module and the process of generating the credible current survey records.

3 Trusted Records Scheme The overall goal of this scheme is to solve the field record number of the site survey work. It is to develop a prototype equipment that can collect multiple types of field records. This equipment can automatically complete the time stamp, geographic location coordinates and collection personnel tags while digitizing the field record information. The generation of the work, through various technical means, while improving the work efficiency of the survey and recording personnel, ensure that all collected recording data is credible. The research contents of this project include: the specificity of the equipment, the collection and digitization methods of on-site records, the generation of trusted data, and information conversion. Explain the key technologies involved in each part while conducting detailed research.

306

Y. Yang et al.

camera secure Android Cell + GPS + Wi-Fi

fingerprint

microphone

Fig. 2. Equipment specificity

Figure 2 is a prototype diagram of the equipment to be developed for this project. The equipment uses a smart terminal device with a burstable Android system as a hardware platform. Such equipment is easily available on the market and reduces the difficulty of implementing the project. The key technology involved in this part is how to customize the Android system. Android is an open source system, which can be modified and recompiled appropriately. Because this equipment is a special device in a sense, it is not suitable to use a general pre-installed system. There are many unnecessary components and programs in the pre-installed system, which will affect the performance of the system. By reducing the kernel and App, the operating efficiency can be improved; the second is to customize the system by yourself to prevent users from installing third-party software to damage the device’s dedicated Third, you can flash the digital certificate into the kernel module in advance to ensure the credibility of the system itself and keep it in a trusted state from the start. 1. Collection of current survey records. The latest embedded camera shooting effect is close to the mid-range digital camera, because it has both photo and video capabilities, so there is no big problem to deal with most crime scenes, in addition, the recording effect of such equipment is sufficient to meet the needs of the scene. Relying on these components, you can complete the digital collection of photos, videos and audio. For traditional transcripts, the following two solutions can be adopted: one is to use voice recognition and then use voice recognition technology to convert; the second is to still use paper and pen to record, and then use text recognition technology to convert. The sketch can be digitized by taking pictures. The key technologies involved in this section are speech recognition technology and text recognition technology. These two technologies have mature development interfaces, and the recognition accuracy rate is more than 90% (laboratory test data), so it does not constitute an implementation barrier. 2. Generate trusted data. If the recorded data of the site survey is credible, then the objectivity, integrity and nonrepudiation of the data must be guaranteed.

Trusted Records Scheme in Scene Investigation

307

(1) Objectivity. The objectivity of on-site information recording is composed of three elements: recording time, recording location and recording person. The device does not depend on the machine time or the server time, but obtains the trusted time from the open interface provided by the National Time Service Center of the Chinese Academy of Sciences in real time via the Internet. Regardless of the type of on-site recorded information, a credible timestamp is stamped when generating digital documents. The device’s GPS sensor, cellular data, and Wi-Fi can provide geographic coordinate data for the recorded information. According to the actual situation of the crime scene (indoor or outdoor), the accuracy of the geographic location coordinates varies from a few meters to a hundred meters. At present, hybrid smart devices such as Beidou and GPS have appeared on the market, which can provide more flexible means of obtaining positions. The person recorded on the spot is identified by the person’s biological characteristics, that is, the fingerprint reader. The equipment is dedicated to one person, one for each person. The fingerprint data can replace the password as my identity key, which can be used not only for authorization but also for identity authentication. The on-site information collected by the identity-certified equipment is more efficient and safer than the manual signature method. (2) Integrity. Using hash functions to protect the integrity of data is a common practice in cryptography. (3) Non-repudiation. Also known as non-repudiation, which prevents the recording staff from denying the documents they signed afterwards. The digital information is verified by adding a digital signature to the person who recorded the record, and it is difficult for the record person to modify the digital signature afterwards. (4) Information conversion. According to different backgrounds of the site survey information system, the collected digital field records are automatically converted into information formats, and imported into the existing information system platform to achieve seamless connection (Fig. 3).

Fig. 3. Trusted records generation scheme

308

Y. Yang et al.

4 Conclusion This paper aims to propose a trusted records generation scheme which consisting of hardware and software, aiming at the problems existing in the current field survey records summarized in the previous section In addition to work, the performance of hardware sensors is also fully utilized to complete the trusted processing of digital records. Acknowledgement. This paper is supported by the Construction Program of National FirstClass Undergraduate Major, the Fundamental Research Funds for the Central Universities (No. LGZD202001).

References 1. Geberth, V.J.: Practical Homicide Investigation: Tactics, Procedures, and Forensic Techniques. CRC Press, Boca Raton (2020) 2. Yu, Y., et al.: Trusted transactions in micro-grid based on blockchain. Energies 12(10), 1952 (2019) 3. Maalsen, S.: Not Just Rare but UBER RARE! Biography, Music, and Personhood in Yaraandoo. The Social Life of Sound, pp. 59–92. Palgrave Macmillan, Singapore (2019) 4. LoGrande, M.: The utilization of mobile technology for crime scene investigation in the San Francisco Bay Area. Themis Res. J. Justice Stud. Forens. Sci. 4(1), 9 (2016) 5. Wu, Y., et al.: Research on investigation and evidence collection of cybercrime cases. In: Journal of Physics: Conference Series, vol. 1176, no. 4. IOP Publishing (2019) 6. Thorpe, K., Galassi, M., Franks, R.: Discovering Indigenous Australian culture: building trusted engagement in online environments. J. Web Librarian. 10(4), 343–363 (2016) 7. Goldstein, R.D., Nields, H.M., Kinney, H.C.: A new approach to the investigation of sudden unexpected death. Pediatrics 140(2) (2017) 8. Da-Yu, K.A.O.: Cybercrime countermeasure of insider threat investigation. In: 2019 21st International Conference on Advanced Communication Technology (ICACT). IEEE (2019) 9. Feng, X., Dawam, E.S., Amin, S.: A new digital forensics model of smart city automated vehicles. In: 2017 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). IEEE (2017) 10. Ahmed, I.: Scheduling and Securing Big Data Workflows in the Cloud with Heterogeneous Trusted Execution Environments. Diss. Wayne State University (2019)

Energy-Efficient Migration of Virtual Machines Naomichi Noaki1(B) , Takumi Saito1 , Dilawaer Duolikun1 , Tomoya Enokido2 , and Makoto Takizawa1 1 Hosei University, Tokyo, Japan {naomichi.noaki.2k,takumi.saito.3j}@stu.hosei.ac.jp, [email protected], [email protected] 2 Rissho University, Tokyo, Japan [email protected]

Abstract. It is critical to reduce electric energy consumption of information systems, especially servers in clusters to reduce carbon dioxide emission. First, a client issues an application process to a cluster and one server is selected to perform the process, where the energy consumption is smallest in the cluster. In addition, we take a migration approach that application processes on a server migrate to a guest server by using the live migration technologies of virtual machines. By migration of a virtual machine from a host server to a guest server, the energy consumption of the servers to perform application processes on the virtual machine can be reduced as discussed in our previous studies. On the other hand, it takes time for a virtual machine to migrate from a host server to a guest server. In this paper, we first measure time for a virtual machine to migrate from a host server to a guest server. Then, we propose an EVMG (Energy-efficient Virtual machine MiGration) algorithm to reduce the total energy consumption of servers in a cluster by making a virtual machine migrate to a more energy-efficient sever. In the evaluation, we show the energy consumption of servers can be reduced in the EVMG algorithm proposed in this paper. Keywords: Live migration of virtual machine · Energy-efficient migration of virtual machines · Power consumption model · EVMG algorithm

1

Introduction

It is critical to reduce electric energy consumption of servers in clusters to reduce carbon dioxide emission of information systems. Information systems are composed of clusters of servers and clients which are interconnected in networks. An application on a client issues a request to a cluster of servers. Here, one sever is selected where an application process to handle the request is created and performed. Servers consume more energy than clients. In this paper, we try to c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 309–319, 2021. https://doi.org/10.1007/978-3-030-57811-4_29

310

N. Noaki et al.

reduce the energy consumption of servers to perform application processes issued by clients. The SPC (Simple Power Consumption) [6,7] and MLPC (Multi-Level Power Consumption) [9,10] models are proposed to show the electric power [W] to be consumed by a server to perform application processes. These are macro-level models since the power consumption of a whole server is considered while the power consumption of each hardware component is not considered. By using the models, the energy consumption of a server and the execution time of application processes can be estimated. In order to reduce the energy consumption of servers in a cluster, a more energy-efficient server, i.e. server which is expected to consume less energy is selected to perform an application process in the cluster [8–10]. In another approach, an application process issued by a client is performed on a virtual machine of a server in a cluster. In addition, each virtual machine on a host server migrates to another guest server in a live manner [3] if the guest server is expected to consume smaller energy than the host server [4,5]. By making a virtual machine migrate from a host server to a guest server, the total energy consumed by the host and guest servers can be reduced as discussed in papers [4,5]. On the other hand, it takes time to make a virtual machine migrate, i.e. transmit the virtual machine to a guest server in networks and restart on the guest server. We have to make a virtual machine migrate from a host server to a guest server so that not only the energy consumption of the servers but also the execution time of application processes can be reduced by taking into consideration the migration time. In this paper, we first measure the live migration time of a virtual machine from a host server to a guest server. By taking the migration time into consideration, we propose an EVMG (Energy-efficient Virtual machine MiGration) algorithm. Each server initially supports one active virtual machine and some number of idle virtual machines. Application processes are issued to active virtual machines and active virtual machines migrate from host servers to guest server so as to reduce the energy consumption. If no active server is supported by a server, an idle server is taken as an active server so that each server always supports at least one active virtual machine. In the evaluation, the total energy consumption of servers and the average execution time of application processes can be reduced in the EVMG algorithm. In Sect. 2, we present the system model. In Sect. 3, we measure the migration time of a virtual machine. In Sect. 4, we propose the EVMG algorithm to make a virtual machine migrate from a host server to a guest server. In Sect. 5, we evaluate the EVMG algorithm.

2 2.1

System Model Virtual Machines

A cluster S is composed of servers s1 , . . . , sm (m ≥ 1). Each server st supports applications with virtual machines. Let Vt be a set of virtual machines vmt1 , . . . , vmt,lt (lt ≥ 1) supported by a server st . V is a set of all the virtual

Energy-Efficient Migration of Virtual Machines

311

machines in the cluster S, i.e. V = ∪t=1,...,m Vt . A server st supporting a virtual machines vmti is referred to as host server of vmti . A client issues a request to a cluster S. One virtual machine vmti on a server st is selected and the request is sent to the virtual machine vmti . An application process to handle the request is created and performed on the virtual machine vmti . On termination of the application process, the virtual machine vmti sends the reply to the client. In this paper, a term means an application process to be performed on a virtual machine (Fig. 1).

Fig. 1. Virtual machines in a cluster.

A virtual machine can migrate from a host server st to another guest server su in the live manner [3]. That is, application processes on the virtual machine move from the host server st to the guest server su without suspension. Let V be a set of virtual machines vm1 , . . . , vml (l ≥ 1) in a cluster S. Let h(vmk ) stand for a host server which hosts a virtual machine vmk . Let p(vmk ) indicate a set of application processes performed on a virtual machine vmk . 2.2

Power Consumption and Computation Models

A server st is composed of npt (≥1) homogeneous CPUs cpt0 , . . . , cpt,npt −1 . Each CPU cptk [1] is composed of nct (≥1) homogeneous cores ctk0 , . . . , ctk,nct −1 . Each core ctkh supports the same number ctt of threads. A server st supports processes with totally ntt (= npt · nct · ctt ) threads. Each process is at a time performed on one thread. A thread is active if at least one process is performed, otherwise idle. CPt (τ ) is a set of processes performed on a server st at time τ . Here, the electric power N Et (n) [W] of a server st to concurrently perform n (≥0) processes is given as follows [8,10]:

312

N. Noaki et al.

[Power consumption for n processes] ⎧ minEt if n = 0. ⎪ ⎪ ⎪ ⎪ ⎪ minEt + n · (bEt + cEt + tEt ) if 1 ≤ n ≤ npt . ⎪ ⎪ ⎪ ⎪ ⎪ ⎨minEt + npt · bEt + n · (cEt + tEt ) N Et (n) = if npt < n ≤ nct · npt . ⎪ ⎪ ⎪ minEt + npt · (bEt + nct · cEt ) + ntt · tEt ⎪ ⎪ ⎪ ⎪ ⎪ if nct · npt < n < ntt . ⎪ ⎪ ⎩ maxEt if n ≥ ntt .

(1)

The electric power consumption Et (τ ) [W] of a server st at time τ is assumed to be N Et (|CPt (τ )|) in this paper. Let minTit show the minimum execution time of a process pi , i.e. only the process pi is performed on the server st without any other process. Let minTi be a minimum one of min Ti1 , . . . , min Tim , i.e. min Ti = min Tif on the fastest thread which is on a server sf . A server sf with the fastest thread is f astest in a cluster S. We assume one virtual computation step is performed on a thread of the fastest server sf for one time unit [sec]. This means, the computation rate T CRf of a thread in a fastest server sf is one [vs/sec]. The thread computation rate T CRt of a server st is (minTi /minTit ) · T CRf = minTi /minTit [vs/sec]. The computation rate SCRt (≤ntt ) of a server st is ntt · T CRt . The total number V Ci = minTi [sec] · T CRf [vs/sec] = minTi [vs] of virtual computation steps are performed by a process pi . The maximum computation rate maxP CRit of a process pi on a server st is V Ci /min Tit = minTi /minTit (≤1) where only the process pi is performed. Hence, for every pair of processes pi and pj on a server st , maxP CRit = maxP CRjt = T CRt . The process computation rate N P Rit (n) (≤SCRt ) [vs/sec] of a process pi on a server st where n processes are concurrently performed at time τ is defined as follows [4,5,9]: [MLCM (Multi-level Computation with Multiple CPUs) model]  ntt · T CRt / n if n > ntt . (2) N P Rit (n) = T CRt if n ≤ ntt . For every pair of processes pi and pj , N P Rit (n) = N P Rjt (n). Hence, N P Rt (n) means N P Rit (n) for some process pi on a server st . The computation rate N P Rt (τ ) of a process pi at time τ is assumed to be N P Rt (|CPt (τ )|). Suppose a process  pi on a server st starts at time st and ends at time et. Here,  et et τ =st P Rit (τ ) = τ =st N P Rt (|CPt (τ )|) = V Ci [vs] = minTi . Thus, minTi shows the amount of computation of a process pi . Each process pi is performed on a server st as follows: [Computation model of a process pi ] 1. At time τ a process pi starts, the computation residue Ri of a process pi is V Ci , i.e. Ri = V Ci (=minTi ); 2. At each time τ , Ri = Ri − N P Rt (|CPt (τ )|);

Energy-Efficient Migration of Virtual Machines

313

3. If Ri (≤0), the process pi terminates at time τ . The server computation rate N SRt (n) of a server st to perform n processes is n · N P Rt (n), i.e. nt · T CRt (=SCRt ) for n > ntt and n · T CRt for n ≤ ntt .

3

Experiment

As discussed in papers [4,5], if a virtual machine on a host server sh migrates to a guest server sg , we may reduce the total energy consumed by the servers sh and sg . On the other hand, it takes time to make a virtual machine migrate from a host server to another guest server. This means, the execution time of each process on a virtual machine may increase as the host virtual machine of the process migrates. We measure the execution time for a virtual machine to migrate from a host server to a guest server in this paper. We consider a pair of Linux servers sh and sg which are homogeneous, i.e. the same architecture and operating system, as shown in Table 1. The servers sh and sg are interconnected in a local area network of one [Gbps] [4]. A virtual machine vmk is realized in KVM [3]. The virtual machine vmk supports one [GiB] virtual memory and ten [GiB] virtual storage by Linux (CentOS 7.5.1804). The number n(≥1) of application processes p1 , . . . , pn are performed on the virtual machine vmk . The application processes are created by forking a process p to n (≥1) child processes p1 , . . . , pn [9]. No other process is performed on the servers sh and sg . The process p finds prime factors of numbers from 1 to 1,000,000 using the computation loop. The minimum execution time minTi of each process pi on the servers sh and sg is 440 [sec] to find prime numbers of the number, i.e. minTi = 440 [sec]. First, the virtual machine vmk is hosted by the host server sh . After creating the child processes p1 , . . . , pn , each process pi gets current time τ by the gettimeof day system call. Then, each process pi waits for (st − τ ) [nsec] until the specified time st. Thus, every process pi starts on the virtual machine vmk at time st. The parent process p waits for termination of every child process. The parent process p obtains time et every child process terminates. We measure the execution time of the processes in a pair of cases. In the first case, the virtual machine vmk does not migrate as shown in Fig. 2(1). The processes p1 , . . . , pn on the virtual machine vmk start at time st and every process terminate by time et2 on the host server sh . Table 1. Servers. Servers

sh

CPU

Intel Core i5-8400 Intel Core i5-8400

sg

Memory [GB] 8

8

HDD [TB]

1.0

1.0

OS

CentOS 7.5.1804

CentOS 7.5.1804

314

N. Noaki et al.

Fig. 2. Migration time process.

In the second case, the virtual machine vmk migrates from the host server sh to the guset server sg in the live migration manner and then migrates back to the host server sh before all the processes p1 , . . . , pn terminate as shown in Fig. 2(2). The virtual machine vmk migrates among the servers sh and sg some number mc of times so that the virtual machine vmk finally backs to the host server sh before every process terminates. Then, all the processes p1 , . . . , pn terminate on the virtual machine vmk of the server sh at time et2 . We measure the time st, et1 , and et2 by using the physical clock of the host server sh . Let xt1 be et1 − st and xt2 be et2 − st. The difference xt2 − xt1 gives the migration time mtkhg of the virtual machine vmk among the servers sh and sg . Table 2 shows the execution time xt1 , xt2 , and xt2 − xt1 . The migration time mtkhg is (xt2 − xt1 )/mt = 7.8/4 = 1.95 [sec]. Table 2. Migration time. mc xt1 [sec] xt2 [sec] xt2 − xt1 [sec] 4

4

474.94

482.74

7.8

Energy-Efficient Virtual Machine Migration (EVMG) Algorithm

Let P be a set of processes p1 , . . . , pn (n ≥ 1) to be issued by clients and S be a set of servers s1 , . . . , sm (m ≥ 1). Let V be a set of virtual machines vm1 , . . . , vml (l ≥ 1) on the servers in the set S. Each server st supports one

Energy-Efficient Migration of Virtual Machines

315

active virtual machine and some number of idle virtual machines. An active virtual machine can receive process requests and perform the processes while an idle virtual machine cannot receive any process. Active virtual machines may migrate among servers in the live manner [3]. If a server does not support any active virtual machine, there is no chance processes are performed on the server. Hence, once there is no active virtual machine on a server, one idle virtual machine is activated so that processes can be performed anytime on the server. First, a client issues a process pi to a load balancer L. The load balancer L selects a host server st in a selection algorithm and then select a virtual machine vmk supported by the server st . The process pi is performed on the virtual machine vmk . Let nt be the number |CPt (τ )| of active processes on a server st and nvk be the number of active processes on a virtual machine vmk . Ri shows the computation residue of each active process as presented in the computation model. Let RS t be the total computation residue of active processes on a server st , i.e. RSt = pi ∈CPt (τ ) Ri . Let RVk be the computation residue of processes  on a virtual machine vmk , i.e. RVk = pi ∈p(vmk ) Ri . The execution time ETt (RSt , pi ) [time unit] of a server st to perform both every active process and a new process pi is RSt /[(nt + 1) · N P Rt (nt + 1)]. The energy EEt (RSt , pi ) to be consumed by a server st is ETt (RSt , pi ) [time unit] · N Et (nt + 1) [W]. The execution time ET Nt (RS, n) [time unit] is RS/[n · N P Rt (n)] where RS is a computation residue and n is the number of active processes on a server st . ETt (RSt , pi ) is ET Nt (RSt + minTi , nt + 1). For a new process pi issued by a client, the load balancer L selects a server st where the energy consumption EEt (RSt , pi ) is minimum on the cluster S. Then, an active virtual machine vmh is selected on the server st . If there is a virtual machine vmk where nvk ≤ maxVt , a largest virtual machine vmh where nvh is maximum is selected as a host server of the new process pi . Otherwise, one idle virtual machine vmh is activated and the virtual machine vmh is selected. Here, if an active virtual machine vmh where nvh is minimum is selected on a host server st , the size nvh of each active virtual machine vmh gets similar. We have to find a virtual machine to migrate to a guest server as discussed later. If every virtual machine mvk has similar number nvk of processes, we may not find a virtual machine vmh by which the total energy consumption of the host and guest server can be mostly reduced. At each md time units, each virtual machine vmh on a host server st is checked if the virtual machine vmh migrates to another server su . First, consider case that no virtual machine migrates from a host server st to a guest server su . Here, a pair of the execution time N ETt and N ETu of the servers st and su are ET Nt (nt , 0) and ET Nu (nu , 0), respectively. The servers st and su totally consume the energy T EEtu : T EEtu = ET Nt (RSt , 0) · N Et (nt ) + EEu (RSu , 0) · N Et (nu ) + N T EEtu . (3)  (N ETt − N ETu ) · minEt if N ETt ≥ N ETu . N T EEtu = (4) (N ETu − N ETt ) · minEu otherwise.

316

N. Noaki et al.

Next, we consider case a virtual machine vmk migrates from a host server st to a guest server su . Suppose the virtual machine vmk starts migration from the host server st to the guest server su at time τ . The execution time N ETt of the host server st decreases to M ETt = EN Tt (RSt − RVk , nt − nvk ) = (RSt − RVk )/[(nt − nvk ) · N P Rt (nt − nvk )] since the virtual machine vmk leaves the server st . The virtual machine vmk restarts on the server su at time τ + mtktu . Here, mtktu is the migration time of the virtual machine vmk from the server st to the server su . In this paper, we assume mtktu = mt for every pair of servers st and su and every virtual machine vmk . The computation residue RSu of the guest server su is reduced to RSu · αu at time τ + mt when the virtual machines vmk restarts on the guest server su if N ETu ≥ mt, where αu is (N ETu − mt)/N ETu if M ETu ≥ mt. On the other hand, if N ETu < mt, every active process on the guest server su terminates at τ + N ETu before the virtual machine vmk restarts on the guest server su . Hence, the execution time M ETu [time unit] of the guest server su is given as follows: ⎧ ⎪ ⎨ET Nu ((1 − αu ) · RSu , nu )+ M ETu = (5) ET Nu (αu · RSu + RVk , nu + nvk ) if N ETu ≥ mt. ⎪ ⎩ mt + ET Nu (RVk , nvk ) otherwise. k consumed by the servers st and su is given Hence, the total energy M EEtu as follows: ⎧ ⎪ mt · ET Nu ((1 − αu ) · RSu , nu ) · N Eu (nu )+ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ET Nu (αu · RSu + RVk , nu + nvk ) · N Eu (nu + nvk ) + M T EEtu k M EEtu = if N ETu ≥ M ETu . ⎪ ⎪ ⎪ET Nu (RSu , nu ) · N Eu (nu ) + (mt − M ETu ) · minEu + ⎪ ⎪ ⎪ ⎩ ET N (RV , nv ) · N E (nv ) + M T EE u k k u k tu otherwise. (6)  (M ETt − M ETu ) · minEt if M ETt ≥ M ETu . M T EEtu = (7) (M ETu − M ETt ) · minEu otherwise.

For each virtual machine vmk on a server st , a guest server su where k k k < T EEtu and M EEtu is minimum is selected. That is, if M EEtu < M EEtu T EEtu , the total energy consumption of the servers st and su can be reduced by making the virtual machine vmk migrate from the host server st to the guest server su . Then, a pair of virtual machines vmk and a guest server su where k is minimum are selected. The virtual machine vmk migrates from the M EEtu host server st to the guest server su .

5

Evaluation

We evaluate the proposed EVMS algorithm to select a host virtual machine to perform a process issued by a client in terms of the total energy consumption

Energy-Efficient Migration of Virtual Machines

317

of servers and the average execution time of processes. We consider a cluster composed of four servers s1 , . . . , s4 (m = 4). The fastest thread computation rate T CR1 of the servers1 is one, i.e. T CR1 = 1. For the other servers s2 , s3 , and s4 , T CR2 = 0.8, T CR3 = 0.6, and T CR4 = 0.4. The performance and energy parameters of the servers are shown in Table 2. For example, the server s1 supports the server computation rate SCR1 = 16 by sixteen threads where the maximum power consumption maxE1 is 230 (W) and the minimum power consumption minE1 is 150 [W]. The server s4 supports SCR4 = 3.2 by eight threads where maxE4 = 77 and minE4 = 40. The servers s2 and s3 support the same number, twelve threads while maxE2 > maxE1 and minE2 > minE1 . The server s3 is more energy-efficient than the server s2 . Each server st supports one active virtual machine and seven idle virtual machines in the cluster S. There are totally 32 virtual machines. Based on the measurement discussed in this paper, the migration time mT is two [time unit]. One time unit means one step of the simulation, each server st is checked every four time units, i.e. md = 4 if an active virtual machine on the server st is to migrate to another server. Let P be a set of processes p1 , . . . , pn (n ≥ 1) to be issued. For each process pi in the set P , the starting time stimei 0 < stimei ≤ xtime [time unit] and 5 ≤ minTi ≤ 25 [time unit]. Here, xtime = 1, 000 [time unit]. At each timeτ , if there is a process pi whose start time (stimei ) is τ , one server st is selected by a selection algorithm. The process pi is added to the set Pt of the selected server st , i.e. Pt = Pt ∪ pi . For each server st , active processes in the set Pt are performed. The energy variable Et is incremented by the power consumption N Et (|Pt |). If |Pt | = φ, Et is just incremented by minEt . If |Pt | > 0, the variable Tt is incremented by one [time unit]. The variable Tt shows how long the server st is active, i.e. some process is performed. For each process pi in the set Pt , the computation residue Ri of the process pi is decremented by the process computation rate N P Rt (nt ). If Ri ≤ 0, the process pi terminates, i.e. Pt = Pt − {pi } and P = P − {pi }. Until the set P gets empty, the steps are iterated. The variables Et and Tt give the total energy consumption [W · time unit] and execution time [time unit] of each server respectively. In the evaluation, we consider a non-migration (NMG) algorithm and the EVMG algorithm. In the NMG algorithm, each server st supports only one active virtual machine which just stays on the server st , i.e. does not migrate to a guest server. For each process pi , a server st where energy consumption EEt (RSt , pi ) is minimum. No virtual machine migrates. The simulator is implemented in SQL on a Sybase [2] database. Information on servers and processes are stored in tables of the database. Figure 3 shows the total energy consumption of the servers s1 , . . . , s4 for number n of processes. The total energy consumption of the servers of the EVMG algorithm is smaller than the NMG algorithm. The total energy consumption of the servers can be reduced by making virtual machines migrate in the EVMG algorithm.

318

N. Noaki et al.

Figure 4 shows the average execution time of n processes. For n ≤ 2,200, the average execution time is shorter in the EVMG algorithm than the NMG algorithm. The more number of processes are performed, the more frequently active virtual machines migrate. This means, the execution time of each process on a virtual machine migrating among servers increases as the virtual machine migrates (Table 3). Table 3. Parameters of servers. npt nct ntt T CR SCR minE maxE pE

cE tE

s1 1

8

16

1.0

16.0

150.0

230.0

40.0 8.0 1.0

s2 1

6

12

0.8

9.6

128.0

176.0

30.0 5.0 1.0

s3 1

6

12

0.6

7.2

80.0

130.0

20.0 3.0 1.0

s4 1

4

8

0.4

3.2

40.0

770

15.0 2.0 0.5

Fig. 3. Total energy consumption.

Fig. 4. Average execution time.

Energy-Efficient Migration of Virtual Machines

6

319

Concluding Remarks

It is critical to reduce energy consumption of servers to realize eco society. In this paper, we discussed the virtual machine migration approach that virtual machines on host servers migrate to more energy-efficient guest servers. In this paper, we measured the migration time of a virtual machine among servers. By considering the migration time, we proposed the EVMG algorithm to make a virtual machine migrate from a host server to a guest server. In the evaluation, we showed the energy consumption of servers and the average execution time of processes can be reduced in the EVMG algorithm compared with the nonmigration NMG algorithm.

References 1. Intel xeon processor 5600 series: The next generation of intelligent server processors. White paper (2010). http://www.intel.com/content/www/us/en/processors/ xeon/xeon-5600-brief.html 2. Sybase (2014). http://www.cultofmac.com/167829/sybasesap-afaria-offers-ios-andpcmanagement-options-mobile-management-month/ 3. A virtualization infrastructure for the Linux kernel (kernel-based virtual machine). https://en.wikipedia.org/wiki/Kernel-based Virtual Machine 4. Duolikun, D., Aikebaier, A., Enokido, T., Takizawa, M.: Energy-aware passive replication of processes. Int. J. Mobile Multimedia 9(1,2), 53–65 (2013) 5. Duolikun, D., Kataoka, H., Enokido, T., Takizawa, M.: Simple algorithms for selecting an energy-efficient server in a cluster of servers. Int. J. Commun. Netw. Distrib. Syst. 21(1), 1–25 (2018) 6. Enokido, T., Duolikun, D., Takizawa, M.: Execution of processes. Int. J. Commun. Netw. Distrib. Syst. (IJCNDS) 15(4), 366–385 (2015). (Accepted for publication in IEEE transactions on industrial electronics) 7. Enokido, T., Takizawa, M.: An integrated power consumption model for distributed systems. IEEE Trans. Ind. Electron. 15(4), 366–385 (2012). (Accepted for publication) 8. Kataoka, H., Duolikun, D., Enokido, T., Takizawa, M.: Energy-efficient virtualisation of threads in a server cluster. In: Proceedings of the 10th International Conference on Broadband and Wireless Computing, Communication and Applications (BWCCA-2015), pp. 288–295 (2015) 9. Kataoka, H., Nakamura, S., Duolikun, D., Enokido, T., Takizawa, M.: Multi-level power consumption model and energy-aware server selection algorithm. Int. J. Grid Utility Comput. (IJGUC) 8(3), 201–210 (2017) 10. Kataoka, H., Sawada, A., Duolikun, D., Enokido, T., Takizawa, M.: Energy-aware server selection algorithm in a scalable cluster. In: Proceedings of IEEE the 30th International Conference on Advanced Information Networking and Applications (AINA-2016), pp. 565–572 (2016)

An Opportunistic Communication Protocol to Reduce Energy Consumption of Nodes Nanami Kitahara1(B) , Shigenari Nakamura2 , Takumi Saito1 , Tomoya Enokido3 , and Makoto Takizawa1 1

2

Hosei University, Tokyo, Japan {nanami.kitahara.3y,takumi.saito.3j}@stu.hosei.ac.jp, [email protected] Tokyo Metropolitan Industrial Technology Research Institute, Tokyo, Japan [email protected] 3 Rissho University, Tokyo, Japan [email protected]

Abstract. In communication among nodes in areas struck by disaster like earthquakes and V2V (vehicle-to-vehicle) communication, each node communicates with other nodes in infrastructure-less networks like wireless networks. Here, a node has to keep messages in the buffer until some node comes in the communication range. Thus, a node has to wait for opportunity that the node can communicate with another node. Even if a message is successfully forwarded to a node, the node might be able to forward the message to no node. Thus, in the opportunistic networks, each node has to keep messages longer in the buffer and retransmit messages more times than the traditional networks like TCP. In this paper, we newly introduce a concept of possible energy consumption (PEC) of a message stored which shows how much energy the node consumes to retransmit the message. The effective energy residue (ER) of a node is the difference of the maximum energy residue to the PEC. In this paper, we newly propose an opportunistic communication protocol to reduce electric energy consumption of nodes based on the PEC. Here, a node is optimistic, i.e. retransmits messages once another node is in the communication range if the ER of the node is larger. Otherwise, the node is pessimistic. Keywords: Opportunistic networks · Energy-efficient communication · Possible energy consumption (PEC) · Effective energy residue (ER) · Optimistic node · Pessimistic node

1

Introduction

Infrastructureless networks which use wireless communication are getting more important and used in various applications like V2V networks [7] and delay/disaster tolerant networks (DTNs) [6]. In the opportunistic networks [5,8], c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 320–326, 2021. https://doi.org/10.1007/978-3-030-57811-4_30

An Opportunistic Communication Protocol to Reduce Energy Consumption

321

each node has to wait for some node which comes in the communication range to deliver messages to the destination nodes. On receipt and transmission of a message, a node keeps the message in the memory buffer. Once a node pi finds some node pj in the communication range, the node pi transmits a message m to the node pj to deliver to the destination node. On the other hand, in the traditional communication protocols like TCP [4], the node pi discards a message m if the node pi successfully forwards the message to another node or cannot deliver the message m to some node after transmitting the message m some number of times. In the opportunistic networks, even if a node pi makes a success at transmitting a message m to another node pj , the node pj may not be able to deliver the message m to another node. Hence, each node pi has to keep a message m in the memory buffer. This means, each message stays at a node longer than the traditional protocols. There are many opportunistic routing protocols like Epidemic [2], Prophet [1], Spray and wait [9], MAC [10], DOMAC [3] to reduce the number of messages transmitted in networks and kept in the memory buffer and to increase the delivery ratio of messages. Each message in the memory buffer of each node is retransmitted to other nodes even if the message had successfully delivered to some node. A node consumes electric energy to transmit and receive messages. This means, the longer a message is kept in the memory buffer of a node, the more amount of energy the node consumes by retransmission. In this paper, we newly propose a concept of possible energy consumption (P EC) of each message kept in the buffer of each node. The PEC of a message in a node shows how much energy the node is expected to consume to retransmit the message. The behavior of each node depends on the residue of the electric energy in the battery. The possible number of retransmissions of each message in each node depends on not only the number of messages in the buffer but also how many times each message in the buffer is retransmitted. The ef f ective energy residue (ER) of each node is defined to be the difference of the maximum energy residue to the total P EC of messages in the buffer. The smaller the ER of a node is, the more number of times the node can retransmit each message in the buffer. A node whose ER is larger and smaller is opportunistic and pessimistic, respectively. Then, we newly propose an algorithm to store and remove messages in the buffer so as to reduce the energy consumption of a node. Each optimistic node more frequently retransmits message to an optimistic node than a pessimistic node in the communication range. On the other hand, each pessimistic node less frequently retransmits messages. In Sect. 2, we present a system model. In Sect. 3, we discuss the opportunistic protocol.

2

System Model

A system S is composed of mobile nodes p1 , ..., pn (n ≥ 1) which are interconnected in wireless networks. Each node pi communicates with other nodes in wireless networks. A node pi can communicate with another node pj (pi ↔ pj ) only if the node pj is in the communication range of the node pi .

322

N. Kitahara et al.

A node pi supports the memory buffer BFi to store messages. A node pi keeps a message in the buffer BFi each time the node pi transmits and receives the message. Let sbi show the size of the buffer BFi , i.e. the maximum number of messages which the node pi can store in the buffer BFi . On receipt of a message m, a node pi stores the message m in the buffer BFi . For each message m, a variable m.c is manipulated. Initially when a node pi receives a message m, the variable m.c is 0 and the message m is stored in the buffer BFi . A message m in the buffer BFi is eventually retransmitted to another node. Each time a node pi retransmits a message m in the buffer BFi , the variable m.c is incremented by one in a node pi . If the variable m.c gets larger than the maximum number xri of retransmissions, the message m is removed in the buffer BFi . A node pi consumes electric energy to transmit and receive a message. Let SEi and REi be the electric energy to be consumed by a node pi to transmit and receive a message, respectively. A message m in the buffer BFi of a node pi is retransmitted if some node pj is in the communication range. We consider how much energy a node pi is expected to consume to retransmit a message m until the message m is delivered to the destination node. In this paper, the expected power P Ri (k) [W] to be consumed by a node pi to retransmit a message m where m.c = k (≤mri ), i.e. which is retransmitted k times, is defined as follows: ⎧ ⎪ ⎨1 f or k ≤ di ·2 mri . (k−di ·mri ) P Ri (k) = 1 − (c < k ≤ ci · mri 2 f or di · mri 2 i −di ) ·mri ⎪ ⎩ 0 f or ci · mri < k

(1)

Here, ci and di are a constant where 0 ≤ ci ≤ 1 and 0 ≤ di ≤ 1. P Ri (di · mri ) = 1 and P Ri (ci · mri ) = 0. di and ci depend on the delivery probability of the destination node of a message. For a message m where m.c is k, the possible energy consumption (P EC) N P Ei (k) is defined as follows: N P Ei (k) = SEi · P Ri (k).

(2)

Figure 1 shows N P Ei (k) for 0 ≤ k ≤ mri . For k ≤ d · mri , N P Ei (k) = SEi . For ci · mri ≥ k > di · mri , N P Ei (k) exponentially decreases since there is

Fig. 1. Power consumption to retransmit a message.

An Opportunistic Communication Protocol to Reduce Energy Consumption

323

higher possibility that the message m is delivered to the destination node: For k > ci · mri , N P Ei (k) = 0. The possible energy consumption (P EC) P Ei (m) of the node pi is defined for each message m in the buffer of a node BFi as follows: P Ei (m) = N P Ei (m.c).

(3)

As shown in Fig. 1, P Ei = SEi if a message is retransmitted a fewer times than di · mri . Let xP Ei stand for the maximum PEC of each message, i.e. xP Ei = P Ei (m) where m.c = 0 for each message m. A node pi consumes the energy SEi to retransmit a message m. Since a message m in the buffer BFi is already retransmitted m.c times, the node pi already consumes the transmission energy T Ei (m) to retransmit the message m as follows: (4) T Ei (m) = SEi · m.c. Let xEi be the maximum energy residue which the battery of a node pi can support. A variable Ri (≤maxCi ) denotes the energy residue of a node pi . Initially Ri is xEi , i.e. the buttery is fully charged. Each time a node pi receives and transmits a message, the energy residue Ri is decremented by the energy consumption REi and SEi , respectively. T P Ei is the total PEC of a node pi to transmit every message in the buffer BFi . T P Ei is defined to be summation of PEC of all the messages in the buffer BFi as follows:  P Ei (m). (5) T P Ei = m∈BFi

The effective energy residue ERi of a node pi is defined as follows: ERi = Ri − T P Ei .

(6)

The effective energy residue ERi and energy residue Ri are manipulated each time a node pi transmits and receives a message m as follows: [Initially] Ri = xEi ; ERi = Ri ; T P Ei = 0;

324

N. Kitahara et al.

[pi transmits a message m] T P Ei = T P Ei − N P Ei (m.c) + N P Ei (m.c + 1); Ri = Ri − SEi ; ERi = Ri − T P Ei ; m.c = m.c + 1; transmit m; if m.c > mri , remove m;

Algorithm 1: [pi transmits a message m] 1 2 3 4 5 6 7 8 9 10

if m.c < mri then T P Ei = T P Ei - N P Ei (m.c) + N P Ei (m.c + 1); Ri = Ri - SEi ; ERi = Ri - T P Ei ; m.c = m.c + 1; else /* m.c ≥ mri */ T P Ei = T P Ei - N P Ei (m.c); ERi = Ri - T P Ei ; remove m;

[pi receives a message m] m = receive (); m.c = mri ;

(7)

T P Ei = T P Ei + P Ei (m);

(8)

Ri = Ri − REi ;

(9)

ERi = Ri − T P Ei ;

(10)

If Ri ≤ 0, a node pi can neither transmit nor receive any message. On the other hand, even if ERi ≤ 0, a node pi can send and receive messages but may not be able to retransmit every message in the buffer BFi . It is noted Ri ≥ ERi . The more amount of the effective energy residue ERi of a node pi , the more optimistic the node pi is, i.e. the node pi can more often retransmit messages. A node pi is optimistic if the effective energy residue ERi is larger. For example, once an optimistic node pi finds another node pj to be the in communication

An Opportunistic Communication Protocol to Reduce Energy Consumption

325

Algorithm 2: [pi receive a message m] 1 2 3 4 5 6 7 8 9 10

m = receive(); if BFi is full then m.c = m.ri ; T P Ei = T P Ei - P Ei (m); Ri = Ri - REi ; ERi = Ri - T P Ei ; store m in BFi ; else select a message m in BFi , where P Ei (m) is the smallest; remove m;

range, the node pi transmits messages to the node pj . On the other hand, if the ERi of a node pi is smaller, the node pi is pessimistic, i.e. the node pi does not often retransmit messages. For example, even if another node pj is in the communication range, a pessimistic node pi may not send messages to the node pj . A pessimistic node pi only sends messages to a node pj which is more optimistic, i.e. whose effective energy residue ERi is larger.

3

Opportunistic Protocol

The more amount of the effective energy residue ERi of a node pi has, the more optimistic the node pi is to retransmit messages in the buffer BFi . For example, once an optimistic node pj is in the communication range of an optimistic node pi , the node pi retransmits messages to the node pj . On the other hand, a node pi , whose effective energy residue ERi is smaller, is pessimistic to retransmit messages in the buffer BFi since the node pi does not have enough effective energy ERi to retransmit messages more times. Suppose a node pj is in the communication range of a nodes pi (pi ↔ pj ). The actions of the nodes pi depend on whether optimistic or pessimistic the nodes pi and pj are shown as follow: [Optimistic action]. A pair of nodes pi and pj are optimistic. • The node pi retransmits messages to the node pj once the node pj comes in the communication range. [Semi-optimistic action]. pi is optimistic and pj is pessimistic. • The node Pi retransmits a message to the node pj after waiting for soi [sec]. [Pessimistic action]. pi and pj are pessimistic. • The node pi retransmits a message to the node pj after waiting for ppi [sec]. [Semi-pessimistic action]. pi is pessimistic and pj is optimistic. • The node pi retransmits a message to the node pj after waiting for spi [sec]. Here, ppi > spi > soi . Table 1 summarizes the actions of a node pi to a node pj .

326

N. Kitahara et al. Table 1. Optimistic and pessimistic actions. pi

pj Optimistic

Optimistic Optimistic

Pessimistic Semi-optimistic

Pessimistic Semi-pessimistic Pessimistic

4

Concluding Remarks

Mobile nodes are interconnected in wireless networks. A node communication with another node in the communication range. A node consumes energy to transmit messages in the buffer. In this paper, we newly introduced the possible energy consumption (P EC) of each message in the buffer. Then, the ef f ective energy residue (ER) of each node was defined to be the difference of the maximum energy residue to the P EC. The larger the ER of a node, the node can more often retransmit messages in the buffer.

References 1. Probabilistic routing protocol for intermittently connected networks, draft-irtfdtnrg-prophet-09. http://tools.ietf.org/html/draft-irtf-dtnrg-prophet-09 2. Amin, V., David, B.: Epidemic routing for partially-connected adhoc networks. Technical Report (2000) 3. Bazan, O., Jaseemuddin, M.: An opportunistic directional MAC protocol for multihop wireless networks with switched beam directional antennas. In: Proceedings of the IEEE International Conference on Communications, pp. 2775–2779 (2008) 4. Comer, D.E.: Internetworking with TCP/IP, vol. I. Prentice Hall (1991) 5. Dhurandher, S.K., Sharma, D.K., Woungang, I., Saini, A.: An energy-efficient history-based routing scheme for opportunistic networks. Int. J. Commun Syst 30(7), e2989 (2015) 6. Farrell, S., Cahill, V.: Delay and Disruption Tolerant Networking. Artech House (2006) 7. Isaac, J.T., Zeadally, S., Camara, J.S.: Security attacks and solutions for vehicular ad hoc networks. IEEE Secur. Priv. 2(3), 894–903 (2010) 8. Spaho, E., Barolli, L., Kolici, V., Lala, A.: Evaluation of single-copy and multiplecopy routing protocols in a realistic VDTN scenario. In: Proceedings of the 10th International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS 2016), pp. 285–289 (2016) 9. Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Spray and wait: an efficient routing scheme for intermittently connected mobile networks. In: Proceedings of ACM SIGCOMM 2005 Workshop on Delay Tolerant Networking and Related Networks (WDTN 2005), pp. 252–259 (2005) 10. Tzamaloukas, A., Garcia-Luna-Aceves, J.J.: Channel-hopping multiple access. In: 2000 Proceedings of the IEEE ICC, pp. 415–419 (2000)

A Scheduling Method for Division-Based Broadcasting Considering Consumption Rate of Multiple Videos Yusuke Gotoh(B) and Kanto Nishino Graduate School of Natural Science and Technology, Okayama University, Okayama, Japan [email protected]

Abstract. Due to the recent popularization of digital broadcasting services, many people receive data and watch videos by broadcasting. In general broadcasting systems, servers can concurrently deliver data to many clients who unfortunately, must wait until the first portion of the data is broadcast. In division-based broadcasting, several researchers have proposed scheduling methods to reduce the waiting time for delivering multiple videos. However, conventional methods do not consider cases where servers synchronously deliver multiple videos with different consumption rates. In this paper, we propose a scheduling method for division-based broadcasting of multiple videos that addresses the quality of multiple videos. Our proposed method reduces the waiting times by producing an effective broadcasting schedule based on consumption rate of each video. In our evaluations, we confirmed that our proposed method reduces the waiting times more than the conventional method.

1

Introduction

Since the traffic of video data is increasing rapidly worldwide, users require a video delivery system adapted to network environments [1]. In general broadcasting systems, even though servers can concurrently deliver data to many clients, they must wait until the first portion of the data is broadcast. To reduce the waiting time, division-based broadcasting has been proposed in which the video data are divided into many segments and delivered by many channels. We previously proposed several scheduling methods for video data broadcasting that clients can play without interruption [2,3]. As the use of Ultra High Definition Television (UHDTV) expands, users are demanding technology that compresses enormous video data with the highest video quality. Therefore, many researchers are focusing on Scalable Video Coding (SVC) technology that improves the video quality and increases the compression rate by optimizing coding algorithms. However, such research has failed to consider scheduling methods where servers synchronously deliver multiple videos with different consumption rates. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 327–337, 2021. https://doi.org/10.1007/978-3-030-57811-4_31

328

Y. Gotoh and K. Nishino

In this paper, we propose a scheduling method for the division-based broadcasting of multiple videos based on the consumption rate of multiple videos. Our proposed method reduces the waiting time by producing a broadcasting schedule based on the consumption rate of each video. Our proposed method also reduces the waiting time more than conventional scheduling methods by making an effective broadcast schedule that delivers segments in each channel. The remainder of the paper is organized as follows. In Sect. 2, we explain division-based broadcasting for multiple videos. Related works are introduced in Sect. 3. We explain the details of SVC in Sect. 4. Our proposed method is explained in Sect. 5 and evaluated in Sect. 6. Finally, we conclude in Sect. 7.

2 2.1

Division-Based Broadcasting Basic Idea

IP networks feature two main types of delivery systems: Video on Demand (VoD) and broadcasting. In such broadcasting systems as multicast and broadcast, the server delivers identical contents data to many clients using a constant bandwidth. Although the server can reduce the network load and the required bandwidth, clients have to wait until their desired data are broadcast. VoD systems deliver many kinds of movies. Clients can watch such ondemand services such as YouTube [4] and NHK On Demand [5]. In VoD systems, the server requires adequate bandwidth and starts delivering data sequentially based on client requests. Although clients can get their desired data immediately, the server’s load becomes higher as the number of clients increases. In broadcasting systems, the server concurrently delivers data to many clients. In general broadcasting systems, since the server broadcasts data repetitively, clients have to wait until their desired data are broadcast. Accordingly, various methods for broadcasting contents data have been studied [6,7]. In contents data broadcasting, clients must play the data without interruption until their end. By dividing the data into several segments and scheduling them so that clients receive the segment before playing the next, many methods reduce the waiting time. In division-based broadcasting systems, since the waiting time is proportional to the data size of the precedent segment, we reduce the waiting time by shortening the data size of the precedent segments. However, when the rate of the precedent segments is small, the client can not start a segment will be played next until it finishes playing the segment that it has already received. In this case, an interruption occurs while playing the data and the waiting time increases. Therefore, we need to consider the data size of the precedent segment. Several methods employ division-based broadcasting that reduces the waiting time by dividing the data into segments and frequently broadcasting the precedent segments. In the conventional Fast Broadcasting (FB) method [8], the broadcast bandwidth is divided into several channels. The broadcast schedule under the FB method is shown in Fig. 1. The bandwidth for each channel is equivalent to the

A Scheduling Method for Division-Based Broadcasting

329

consumption rate. In this case, the server uses three channels. In addition, the data are divided into three segments: S1 , S2 , and S3 . When the total playing time is seven min., the playing time of S1 is calculated to be one min., S2 is two min., and S3 is four min. In Fig. 1, the server repetitively broadcasts Si (i = 1, 2, 3) by broadcast channel Ci . Clients can store the broadcasted segments in their buffers while playing the data and play all the segments after receiving them. When clients finish playing S1 , they have also finished receiving S2 and can play S2 continuously. When they have finished playing S2 , they have also finished receiving S3 and can play S3 continuously. Since clients can receive the broadcasted segments midstream, the waiting time is identical as the time needed to receive only S1 , and the average waiting time is one min.

Fig. 1. Broadcast schedule under FB method

2.2

Waiting Time for Delivering Multiple Videos

In delivering services for multiple videos, the server concurrently delivers data and clients watch them. For example, in Japan, there is a karaoke service whose server delivers multiple video concurrently to users. A karaoke bar displays a video of a user’s room on the screen based on his song request. The user receives several videos of the rooms of his friends and displays them concurrently on the screen. When the server repeatedly broadcasts multiple videos, since the data size increases, the waiting time for loading the data are lengthened. Therefore, we need to propose a scheduling method that reduces the waiting time for delivering multiple videos.

330

3 3.1

Y. Gotoh and K. Nishino

Related Works MV-B Method

The basic multiple-video broadcasting scheme (MV-B) [9] reduces the waiting time for delivering multiple videos. When the nth segment of the mth movie is set to Sm,n , the MV-B method has scheduling conditions under which the server needs to broadcast Si,j before Tj . For example, the server needs to schedule Si,j using at least one channel before Tj . In the MV-B method, the broadcast schedule has a time slot in which the server does not schedule a segment in the channel. An example of a broadcast schedule produced by the MV-B method is shown in Fig. 2. We assume a situation with five videos and 15 channels. The idle time slots show the idle times, which occur in channels 8, 10, 12, 14, 15, 16, 17, and 18.

Fig. 2. Example of broadcast schedule under MV-B method

3.2

Scheduling Method for Delivering Multiple Videos

The multiple-video broadcasting scheme with repairing (MV-R) [9] schedules other segments in the idle time described in the MV-B method and reduces the waiting time more than the MV-B method. In the MV-R method, the server sequentially schedules segments from C1 . If idle time occurs at a time slot, the server schedules other segments in it. There are two ways to supply other segments in idle time: full complement and forced supplement. If the assigned segment can maintain the scheduling condition, the server chooses full complement. Otherwise, it chooses forced supplement. An example of a broadcast schedule produced by the MV-R method is shown in Fig. 3. In the MV-R method, the server supplies other segments during idle

A Scheduling Method for Division-Based Broadcasting

331

Fig. 3. Example of broadcast schedule under MV-R method

times with the MV-B method. The MV-R method reduces the waiting time more than the MV-B method. 3.3

Scheduling Methods in Division-Based Broadcasting

Several scheduling methods have been proposed to reduce the waiting time in contents data broadcasting. In them, by dividing the data into several segments and producing an efficient broadcast schedule, the waiting time is reduced. In BroadCatch [10], the server divides the data into 2K−1 equal segments and broadcasts them periodically using K channels. The bandwidth for each channel is identical as the data consumption rate. By adjusting K based on the available bandwidth for clients, the waiting time is effectively reduced. However, since the available bandwidth is proportional to the number of channels, when an upper limit exists in the server’s bandwidth, the server might not be able to acquire enough channels to broadcast the data. In Heterogeneous Receiver-Oriented Broadcasting (HeRO) [11], the data are divided into different sizes. Let J be the data size for the first segment. The data sizes for the segments are J, 2J, 22 J, ..., 2K−1 J. However, since the data size of the K th channel becomes half of the data, clients may suffer the waiting time and interruptions.

4

SVC

Recently, as the use of Ultra High Definition Television (UHDTV) has expanded, users demand technology that compresses enormous video data with the highest video quality. Therefore, many researchers are focusing on next-generation video coding technology that improves the video quality and increases the compression rate by optimizing coding algorithms.

332

Y. Gotoh and K. Nishino

Scalable Video Coding (SVC) is technology that extends the functions of H.264/AVC, which is the video compression standard. In H.264/AVC, the server can perform scalable coding based on the frame rate, which is the number of processing frames per unit time. On the other hand, in H.264/AVC, the server can perform scalable coding based on the image quality and the resolution. Therefore, the server can deliver video data of different quality according to the consumption rate of the receiving nodes. In this paper, we consider division-based broadcasting based on SVC. By using SVC, the server can deliver video of desired quality to the client depending on the available bandwidth and processing performance. In addition, by delivering video data with multiple consumption rates, the server can achieve a delivery environment without interruptions while playing the data.

5 5.1

Proposed Method Basic Idea

In division-based broadcasting systems, we propose a scheduling method called Harmonic Broadcasting for Scalable Video Coding (HB-SVC) that delivers multiple videos by considering the quality of their data. HB-SVC method reduces the average waiting time for all videos by calculating the number of segments based on the data size of each video and scheduling them. 5.2

Assumed Environment

Our assumed system environment is summarized below: • Bandwidth for each channel is equivalent to the consumption rate. • Clients wait to start playing a bit of data until they can continuously play it from beginning to end. • The server broadcasts segments repetitively using multiple channels. • Once clients start playing the data, they can play them without interruption. • Clients have adequate buffer to store the received data. • The channel bandwidth for delivering the video data is the same as the consumption rate. • The server can make a broadcast schedule using segments for multiple videos. • Clients can receive data concurrently using all the channels. 5.3

Scheduling Process

Next we explain the scheduling process under the HB-SVC method. The formulation values are summarized in Table 1. l to Ci−1 for the order i = 1, · · · , m. Set j to 2 and Step 1 In Ql , schedule Si−1 go to Step 2.

A Scheduling Method for Division-Based Broadcasting

333

Table 1. Variables for formulation Valuable Explanation m

Number of videos

Vi

Video data, i = 1, · · · , m

n

Number of segments in Vi

Tk

Time slot, k ≥ 1

L

Number of types of quality

Ql

Quality pattern, l = 1, · · · , L

l Si−j

jth segment (patterns l and Vi ), (i = 1, · · · , m, j = 1, · · · , n, l = 1, · · · , L)

mj

l Amount of undelivered Si−j

m

Step 2 Make W channels obtained by  jj . In the order i = 1, · · · , m, unassigned l Si−j are scheduled for each channel by j. Step 3 The W th channel made by step 2 is processed based on the unallocated time slot. 1. Case of W × j − mj = 0: Since there is no unallocated time slot, add 1 to j and proceed to step 2. 2. Case of W × j − mj > 0: For Ci−W of each Vi , in order of k = j − {W × j − (mj + 1)}, · · · , j, schedule Tk and Tk+j . When the scheduling is completed, go to step 4. l Step 4 When m > 2 × j or Si−2j are all scheduled, unassigned segments after j + 1th are scheduled in the order of i = 1, · · · , M , add 1 to j, and go to step 2. Step 5 When the scheduling of all the segments in pattern l is complete, the server performs the same scheduling for all the patterns and terminates. 5.4

Implementation

An example of a broadcast schedule produced by the HB-SVC method is shown in Fig. 4: three videos and four segments. Three types of video quality are used in scheduling: high, medium, and low. The consumption rates for each image quality are 5.0, 3.0, and 1.0 Mbps. In the proposed method, the server reduces the number of channels and increases the available bandwidth of each channel by scheduling so that no idle times occurs. In Fig. 4, the server uses seven channels for each type of video quality. Therefore, the necessary bandwidth of the server is calculated as (5.0 + 3.0 + 1.0) × 7 = 63 Mbps.

6 6.1

Evaluation Outline

In this section, we evaluate the performance of the HB-SVC method with a computational simulation that compared our proposed HB-SVC method, a conventional

334

Y. Gotoh and K. Nishino

Fig. 4. Broadcast schedule under HB-SVC method

Fig. 5. Number of segments and channels

MV-B method [9], and a simple method. As well as the case in Subsect. 5.4, we evaluate the number of channels and the waiting time. 6.2

Number of Segments and Channels

We calculated the number of channels under different numbers of segments. The result is shown in Fig. 5. The horizontal axis is the number of segments, and

A Scheduling Method for Division-Based Broadcasting

335

the vertical axis is the number of channels. The playing time is 180 s and the available bandwidth is 90 Mbps. In Fig. 5, the number of channels under the HB-SVC method is reduced more than the conventional MV-B and simple methods. The HB-SVC method reduces the number of channels by scheduling segments in time slots unscheduled by the MV-B method. In addition, as the number of segments increases, since the data size of S1 decreases and the broadcast cycle becomes shorter, the waiting time under the HB-SVC method can be reduced. For example, when the number of segments is 10, the number of channels is 30 under the HB-SVC method, 39 under the MV-B method and 90 under the simple method. The number of channels under the HB-SVC method is reduced by 23.1% compared to the MV-B method and by 66.7% compared to the simple method. 6.3

Number of Segments and Waiting Time

We calculated the waiting time under different number of segments. The result is shown in Fig. 6. The horizontal axis is the number of segments, and the vertical axis is the average waiting time. The playing time is 180 s and the available bandwidth is 90 Mbps. When the number of channels is 8 or more, the average waiting time under the HB-SVC method is shorter than the conventional MV-B method. In the MV-B method, when the number of channels is 8 or more, idle time occurs. The HB-SVC method reduces the waiting time by scheduling segments in idle times. For example, when the number of segments is 10, the waiting time is 18 s under the HB-SVC method, 72 s under the MV-B method, and 378 s under the simple method. The average waiting time under the HB-SVC method is reduced by 75.0% compared to the MV-B method and by 95.2% compared to the simple method.

Fig. 6. Number of segments and waiting time

336

Y. Gotoh and K. Nishino

Fig. 7. Available bandwidth and waiting time

6.4

Available Bandwidth and Waiting Time

We calculated the waiting time under different available bandwidths. The result is shown in Fig. 7. The horizontal axis is the available bandwidth, and the vertical axis is the average waiting time. The playing time is 180 s, and the number of segments is 6. The average waiting time under the HB-SVC method is shorter than the conventional MV-B method. The waiting time is constant when the available bandwidth is 80 Mbps or more in the HB-SVC method and 90 Mbps or more in the MV-B method. When the available bandwidth exceeds the product of the consumption rate and the number of channels, the waiting time is only the receiving time of the first segment. For example, when the available bandwidth is 50 Mbps, the waiting time is 109.2 s under the HB-SVC method, 141.6 s under the MV-B method, and 433.2 s under the simple method. The average waiting time under the HB-SVC method is reduced by 22.9% compared to the MV-B method and by 74.8% compared to the simple method.

7

Conclusion

We proposed and evaluated the HB-SVC method based on the consumption rate of multiple videos. In it, the server reduces the necessary bandwidth for delivering multiple videos by making a broadcast schedule based on the consumption rate of each video. Our evaluations confirmed that the HB-SVC method reduced the waiting time more than the conventional method. A future direction of this study will create a scheduling method that considers more types of consumption rates.

A Scheduling Method for Division-Based Broadcasting

337

Acknowledgement. This work was supported by JSPS KAKENHI Grant Number 18K11265.

References 1. WHITE PAPER Information and Communications in Japan (2019). https://www. soumu.go.jp/johotsusintokei/whitepaper/eng/WP2019/2019-index.html 2. Gotoh, Y., Yoshihisa, T., Kanazawa, M., Takahashi, Y.: A broadcasting scheme for selective contents considering available bandwidth. IEEE Trans. Broadcast. 55(2), 460–467 (2009) 3. Fujita, T., Gotoh, Y.: Design and implementation of broadcasting system for selective contents considering interruption time. Int. J. Grid Utility Comput. (IJGUC) 11(3), 409–418 (2020) 4. YouTube. https://www.youtube.com/ 5. NHK On Demand. https://www3.nhk.or.jp/nhkworld/en/ondemand/video/ 6. Yoshihisa, T., Tsukamoto, M., Nishio, S.: A broadcasting scheme considering units to play continuous media data. IEEE Trans. Broadcast. 53(3), 628–636 (2007) 7. Jinsuk, B., Jehan, F.P.: A tree-based reliable multicast scheme exploiting the temporal locality of transmission errors. In: Proceedings of the IEEE International Performance, Computing, and Communications Conference (IPCCC 2005), pp. 275–282 (2005) 8. Juhn, L.-S., Tseng, L.M.: Fast data broadcasting and receiving scheme for popular video service. IEEE Trans. Broadcast. 44(1), 100–105 (1998) 9. Chen, Y., Huang, K.: Multiple videos broadcasting scheme for near video-ondemand services. In: Proceedings of the IEEE International Conference on Signal Image Technology and Internet Based Systems 2008 (SITIS 2008), pp. 52–58 (2008) 10. Tantaoui, M., Hua, K., Do, T.: BroadCatch: a periodic broadcast technique for heterogeneous video-on-demand. IEEE Trans. Broadcast. 50(3), 289–301 (2004) 11. Hua, K.A., Bagouet, O., Oger, D.: Periodic broadcast protocol for heterogeneous receivers. In: Proceedings of the Multimedia Computing and Networking (MMCN 2003), vol. 5019, no. 1, pp. 220–231 (2003)

Improvement and Evaluation of a Function for Tracing the Diffusion of Classified Information on KVM Hideaki Moriyama1(B) , Toshihiro Yamauchi2 , Masaya Sato2 , and Hideo Taniguchi2 1

2

National Institute of Technology, Ariake College, 150 Higashihagio-Machi, Omuta, Fukuoka, Japan [email protected] Graduate School of Natural Science and Technology, Okayama University, Okayama 700-8530, Japan

Abstract. The increasing amount of classified information currently being managed by personal computers has resulted in the leakage of such information to external computers, which is a major problem. To prevent such leakage, we previously proposed a function for tracing the diffusion of classified information in a guest operating system (OS) using a virtual machine monitor (VMM). The tracing function hooks a system call in the guest OS from the VMM, and acquiring the information. By analyzing the information on the VMM side, the tracing function makes it possible to notify the user of the diffusion of classified information. However, this function has a problem in that the administrator of the computer platform cannot grasp the transition of the diffusion of classified processes or file information. In this paper, we present the solution to this problem and report on its evaluation.

1

Introduction

Personal computers are currently managing increasingly large amounts of classified information, and leakage of this information to external computers has become a major problem. Such leakage often occurs inadvertently and through mismanagement. In addition, cyber-attacks aiming to steal classified information have become increasingly sophisticated. To prevent information leakage, users need to understand the risks associated with classified information. Furthermore, as complete prevention of cyber-attacks is difficult, it is important to mitigate the damage incurred by users by detecting the transfer of classified information from their computers. To determine the status of classified information stored on a computer and to manage the resources that contain such information, we previously proposed a function for tracing the diffusion of classified information in a guest OS using a virtual machine monitor (VMM), and implemented on kernel-based virtual machine (KVM) [1,2] (i.e., a tracing function). The tracing function manages c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 338–349, 2021. https://doi.org/10.1007/978-3-030-57811-4_32

Improvement and Evaluation of a Function for Tracing

339

any file or process with the potential to diffuse classified information in the guest OS. Classified information can be diffused by any process that involves opening a sensitive file, reading its content, communicating with another process, or writing the file’s content to another file. The proposed tracing function operates as follows. First, the administrator registers any file containing classified information as a file that will potentially leak classified information (i.e., a managed file). If a process executes specific operations on such a file, it may cause the classified information to leak. Therefore, the tracing function registers this process that has the potential to diffuse classified information (i.e., a managed process). By registering the process that operates the managed files and files or processes that are generated by the managed process, the administrator can detect classified information leaks. The tracing function is implemented by modifying a VMM. Therefore, this function can be implemented without modifying the source code of the OS. Further, attacks targeting this function will be difficult to execute because a VMM is more robust than an OS. However, the tracing function may have large processing overheads because it hooks all system calls on the VM and registers the processes and files containing classified information. We analyzed the processing performance of the tracing function [1,2] in detail and identified that the processing of the system call exit involves large overheads, as demonstrated in our previous study [3]. Moreover, we presented a policy for efficient management to reduce these overheads and reported on its evaluation. Although the tracing function reported by Fujii et al. [1,2] can detect the process and files that has potential to diffuse classified information, the administrator cannot grasp such information at any time. Specifically, the administrator cannot grasp the list of the managed processes and files from the start of the tracing function to the present, as well as the list of the managed processes and files currently registered. In this study, we developed a solution to the abovementioned problems. In addition to the method for reducing the processing overheads incurred in outputting information to the system log, which we demonstrated in our previous study [3], we implemented a function that outputs information regarding processes and files to the system log when they are not registered. Moreover, we developed a function that outputs a list of the managed processes and files from the start of the tracing function to the present, as well as a list of the managed processes and files currently registered. In addition to the method for reducing the processing overheads presented in our previous study [3], we report on its evaluation using the system call of the file operation and benchmarks.

2 2.1

Function for Tracing Diffusion of Classified Information Overview

Figure 1 shows an overview of the tracing function. When a user program in the guest OS requests a system call, the tracing function hooks the system call entry (via the SYSCALL instruction) and the system call exit (via the SYSRET

340

H. Moriyama et al. Host OS

Guest OS User process

User space Kernel space

(1) System call

(4)

(2-A)

(2 )

User space Kernel space Tracing of classified information diffusion

VMM

(2-B)

Judgment of system call

(3)

H/W

Update Tracing function

Diffusion information

Fig. 1. Overview of the tracing function

instruction) using the hardware breakpoint (Step 1 in Fig. 1). Therefore, the tracing function can hook the system call using the VMM by detecting debug exceptions in the guest OS (Step 2 in Fig. 1). If the hooked system call is related to the diffusion of classified information (Step 2-B in Fig. 1), the tracing function collects the information needed to trace the diffusion (Step 3 in Fig. 1). Thereafter, control is returned to the guest OS and the system call process continues (Step 4 in Fig. 1). If the hooked system call is unrelated to the diffusion of classified information, control is returned to the guest OS (Step 2-A in Fig. 1), and the system call process continues. 2.2

Process Flow

Figure 2 shows the process flow of the tracing function. After the process moves to the VMM side, the tracing function process branches depending on whether the exception that occurred is to be handled via SYSCALL instruction or SYSRET instruction. By hooking the SYSCALL instruction, the tracing function obtains the system call number, page table information, and value of the file descriptor. On the other hand, by hooking the SYSRET instruction, the tracing function obtains the system call number, return value of the success or failure of the system call, and details of the file handled by the system call. At this time, the tracing function determines whether the hooked system call is related to the diffusion of classified information; in which case, it collects the information needed to trace the diffusion. Control is then returned to the guest OS and the system call process continues. If the tracing function registers the managed file or process, it records the pathname of the destination file, inode number, the command name that caused the diffusion, and process ID. Furthermore, the tracing function outputs this information to the system log (/var/log/messages).

Improvement and Evaluation of a Function for Tracing Exception occurrence

Judgement of SYSCALL or SYSRET

SYSCALL SYSCALL processing

SYSRET Judgement system call number

read

write

Obtaining the PID that issued read

Obtaining the PID that issued write

Registration of the process by the PID

Obtaining the full path name of the write file

Displaying all registered processes

Registration of the file by the full path name

Displaying all registered files

Other system call processing

From other system call processing

From SYSCALL processing

Exception end

Fig. 2. Process flow of the tracing function trace_file_list[ 0](Init): ino=266297, name=/secret.txt

… trace process PID: 773 trace_process_list: 773

… sensitive data is diffused to "root/copy01-secret.txt" (inode number: 272338) by "cp" (pid: 773) trace_file_list[ 0](Init): ino=266297, name=/secret.txt trace_file_list[ 1]: ino= 272338, name=root/copy01-secret.txt

cp command log (1st time)





trace process PID: 777 trace_process_list: 773, 774, 775, 776, 777

… sensitive data is diffused to "root/copy05-secret.txt" (inode number: 272342) by "cp" (pid: 777) trace_file_list[ 0](Init): ino=266297, name=/secret.txt trace_file_list[ 1]: ino= 272338, name=root/copy01-secret.txt trace_file_list[ 2]: ino= 272339, name=root/copy02-secret.txt trace_file_list[ 3]: ino= 272340, name=root/copy03-secret.txt trace_file_list[ 4]: ino= 272341, name=root/copy04-secret.txt trace_file_list[ 5]: ino= 272342, name=root/copy05-secret.txt

cp command log (5th time)

Fig. 3. Example of the log of the diffusion of classified information

341

342

3 3.1

H. Moriyama et al.

Grasping the Potential Diffusion of Classified Information Problem with the Current Method

When the administrator of the guest OS or the administrator of the computer confirms the diffusion of classified information, satisfaction of the following two requirements is necessary. Requirement 1: The administrator must grasp the list of the managed processes and files from the start of the tracing function to the present. Requirement 2: The administrator must grasp the list of the managed processes and files currently registered. In the execution of the service, by satisfying Requirement 1, the administrator can grasp the classified information that is referred to, updated, or newly generated by the service. This would enable the administrator to determine whether the service is handling the classified information as intended. Moreover, by satisfying Requirement 2, the administrator can grasp the current classified information. The previous tracing function outputted the list of all the managed processes that would potentially leak information from the start of the tracing to the present whenever a new process was registered. Similar to the registration of a new process, the previous tracing function outputted the list of all the managed files that would potentially leak from the start of the tracing to the present, whenever a new file was registered. Figure 3 shows an example of this log. Figure 3 is an example of a log in which /secret.txt (inode = 266297) is registered as managed file that has the potential to diffuse classified information; the file has been duplicated five times using the cp command. In the fifth execution of the cp command, the tracing function registers a newly managed process (PID = 777) when the read system call occurs, and the tracing function outputs the information regarding the five managed processes (PID = 773, 774, 775, 776, 777) as a system log from tracing start to end. Moreover, the tracing function registers the newly managed file copy05-secret.txt (inode = 272342) when the write system call occurs, and the tracing function outputs the information regarding the six managed files (inode = 266297, 272338, 272339, 272340, 272341, 272342) as a system log from tracing start to end. Therefore, the previous tracing function required the editing process based on the log of all diffusions of classified information to satisfy Requirement 1. Furthermore, the previous tracing function cannot satisfy Requirement 2 because it does not output the log when a process or a file is no longer being managed. 3.2

Improved Method to Grasp the Potential Diffusion of Classified Processes/Files

To satisfy Requirements 1 and 2, in this study, we implemented the following two improvements:

Improvement and Evaluation of a Function for Tracing

343

Improvement 1: The tracing function outputs the log messages when a process becomes exits. Improvement 2: The tracing function outputs the log messages when a file is removed. Additionally, we implemented the following two improvements, as shown in our previous study [3], Existing Improvement 1: When the tracing function detects a newly registered process, it only outputs this process’s information log. Existing Improvement 2: When the tracing function detects a newly registered file, it only outputs this file’s information log. These improvements can reduce the processing overheads in the tracing function. Therefore, in addition to the above two improvements and two existing improvements, we also implemented the following two improvements: Improvement 3: A processing function that integrates all classified information logs. Improvement 4: A processing function that edits all classified information logs. Consequently, Improvement 3 can satisfy Requirement 1, and Improvement 4 can satisfy Requirement 2. Figure 4 shows an example of the classified information log following implementation of the two new improvements and the two existing improvements. As in Fig. 3, Fig. 4 is an example of a log in which /secret.txt (inode = 266297) is registered as a managed file, and the file is duplicated five times using the cp command. In the fifth execution of the cp command, the tracing function registers a newly managed process (PID = 777) and outputs only this process information as a system log. Moreover, the tracing function registers the newly managed file copy05-secret.txt (inode = 272342) and outputs only this file information as

trace_file_list[0](Init): ino=266297, name=/secret.txt

… …

trace process PID: 773

… … …

sensitive data is diffused to "root/copy01-secret.txt" (inode number: 272338) by "cp" (pid: 773) trace_file_list[ 1]: ino= 272338, name=root/copy01-secret.txt

cp command log (1st time)

exit trace process PID: 773



trace process PID: 777 cp command log (5th time)



sensitive data is diffused to "root/copy05-secret.txt" (inode number: 272342) by "cp" (pid: 777) trace_file_list[ 5]: ino= 272342, name=root/copy05-secret.txt exit trace process PID: 777

Fig. 4. Example of the classified information log of the improved tracing function

344

H. Moriyama et al.

a system log. When the fifth execution of the cp command is completed, the tracing function also outputs the finished process (PID = 777) information as a system log using Improvements 1 and 2. Note that the processing function of Improvement 3 that integrates all classified information logs can be achieved by integrating all logs. Therefore, editing processing in the previous tracing function is unnecessary. The processing function for editing all logs shown in Improvement 4 can be realized by excluding the finished process or the removed file information shown in Improvements 1 and 2 from the classified log information obtained by the existing Improvements 1 and 2.

4 4.1

Performance Evaluation Perspective of the Evaluation

We reduced the processing overheads by implementing existing Improvements 1 and 2 and provided a basic performance evaluation in our previous study [3]. In this study, we implemented Improvements 1 and 2 in addition to the existing improvements and performed a detailed evaluation using a file operation system call and a benchmark for file access.

Processing time (μs)

600

500

546.6 473.8

463.6

460.6

400

after improvement

300 200

before improvement

160.6 149.0

183.6 182.0

100

0 read write Processing to target the unmanaged file

read write Processing to target the managed file

Fig. 5. Processing time of the read/write system calls

4.2

File Operation System Call

To evaluate file operation, we measured the processing time of the read and write system calls. This operation obtains data from a 100 kB file by using the read system call and writes these data to another file using the write system call. The range of the measurement time is the processing time of the tracing function from the start to the end in each system call. We measured each case in which the tracing function registers the managed file and the unmanaged file. Moreover, we measured each case, using both the unimproved and improved tracing functions.

Improvement and Evaluation of a Function for Tracing

345

The measurement results are shown in Fig. 5. The measurement results demonstrated that the improvement effect was significant in the read system call. The processing time of the read system call for the target managed file was 546.6 µs before the improvement and 463.6 µs after the improvement. In summary, using the improvement, the processing time was reduced by 83.0 µs. However, the improvement effect was not significant in the write system call. The processing time of the write system call for the target managed file was 183.6 µs before the improvement and 182.0 µs after the improvement. In summary, using the improvement, the processing time was reduced by 1.6 µs. From the analysis of the processing overheads of the tracing function in our previous study [3], we established that, using the existing improvements, the effectiveness of reducing the processing overheads in the read system call was more significant than that of the write system call. The results of this measurement is explained by the analysis conducted in our previous study [3]. 100

100

Processing time(ms)

80 70

60 50 40

30

80 70

60 50 40

30

20

20

10

10

0

0 Processing to target Processing to target the unmanaged file the managed file

Processing to target Processing to target the unmanaged file the managed file

(A) Results of Random Read

(B) Results of Sequential Read

1000

1000 before improvement

800

after improvement

700 600 500 400 300

800

after improvement

700 600 500 400 300

200

200

100

100

0

before improvement

900 Processing time (ms)

900 Processing time(ms)

before improvement after improvement

90 Processing time(ms)

before improvement after improvement

90

0 Processing to target Processing to target the unmanaged file the managed file (C) Results of Random Write

Processing to target Processing to target the unmanaged file the managed file (D) Results of Sequential Write

Fig. 6. Processing time using the fio benchmark

4.3

Benchmark for File Access

To evaluate file access performance, we used the fio (Flexible I/O Tester) benchmark. We measured the processing time using four types of file access patterns:

346

H. Moriyama et al.

Random Read, Random Write, Sequential Read, and Sequential Write. We prepared 1,000 4 kB files and accessed them using a block size of 4 kB. We measured each case in which the tracing function registers the classified and the unmanaged file. Moreover, we measured each case using both the unimproved and improved tracing functions. The measurement results obtained using the fio benchmark are shown in Fig. 6. The measurement results of Random Read are shown in Fig. 6-(A). The effectiveness of reducing the processing overheads was not significant in each case. For example, the processing time of the target managed file was approximately 100 ms before the improvement and approximately 92 ms after the improvement. Therefore, using the improvement, the processing time was reduced by approximately 8 ms. Additionally, the same characteristic as in Fig. 6-(A) is observed in Fig. 6(B). The processing time of the target managed file was approximately 95 ms before the improvement and 87 ms after the improvement. Hence, using the improvement, the processing time was reduced by approximately 8 ms, which is the same as (A). Therefore, in the case of the Read access pattern, the reduction in processing time was less than 10%, and the effectiveness of the improvement is not significant, neither for Random nor Sequential, and whether the tracing file targets the managed nor the unmanaged file. The measurement results of Random Write are shown in Fig. 6-(C). The effectiveness of reducing the processing overheads was significant when the tracing function targeted a managed file. For example, the processing time of the target managed file was approximately 927 ms before the improvement and approximately 104 ms after the improvement. Thus, using the improvement, the processing time was reduced by approximately 823 ms. However, the effectiveness of reducing the processing time was not significant when the tracing function targeted an unmanaged file. Next, the processing time was approximately 95 ms before the improvement and approximately 87 ms after the improvement. Therefore, using the improvement, the processing time was reduced by approximately 8 ms. Additionally, the same characteristic as in Fig. 6-(C) is observed in Sequential Write, as shown in Fig. 6-(D). For example, the processing time of the target managed file was approximately 938 ms before the improvement and approximately 99 ms after the improvement. That is, using the improvement, the processing time was reduced by approximately 839 ms. The processing time was approximately 97 ms before the improvement and approximately 88 ms after the improvement. Hence, using the improvement, the processing time was reduced by approximately 9 ms. Therefore, in the case of the Write access pattern, the reduction in processing time was approximately 89%, and the effectiveness of the improvement in targeting the managed file is significant, both for Random and Sequential. Meanwhile, the reduction in processing time was approximately 8%–9%, and the effectiveness of the improvement in targeting the unmanaged file is not significant.

Improvement and Evaluation of a Function for Tracing

347

Considering the measurement results, the effectiveness of the improvement in the Read access pattern for the managed file was insignificant and that in the Write access pattern was substantial. The effectiveness of the improvement in the Read access pattern appears insignificant in the comparison of the processing time before and after the improvement because the registration of the managed process occurred once. However, the effectiveness of improvement in the Write access pattern appears substantial in the comparison of the processing time before and after the improvement because the registration of the managed files occurred 1,000 times.

5

Related Work

Hizver et al. proposed a method for improving the performance of VM monitoring [4–6]. To reduce the performance degradation on a virtual machine introspection (VMI), they proposed a method for monitoring at regular intervals, instead of monitoring constantly. However, it has been pointed out that missed detection may occur when monitoring at regular intervals. Similarly, Shi et al. achieved performance improvement by setting the EPT protection for monitoring at regular intervals [5]. In our proposed method, missed detection does not occur because the monitoring of the diffusion of classified information is constant. Additionally, we achieved performance improvement by reducing the output information to a log file. We did not compare about the evaluation of the performance, because these methods differ from our proposed method in the purpose of the system and the target environment. Zhan et al. proposed a method for the fine-grained control flow integrity verification of a virtual machine (VM) to satisfy the performance requirements in actual operation [6]. Their method recommends, detecting the code execution in page units and comparing it with the correct processing flow, rather than detecting a branch, to prevent the VMM from being called frequently and to suppress performance degradation. However, the detection accuracy of this method is lower than that of branch detection. In our proposed method, we took care not to reduce important classified information during the improvement. Jia et al. proposed a method to guarantee the integrity of VMM program code and the validity of data, considering that the VMM used by the VMI and the host OS may be damaged by an attack in a cloud environment [7]. Their proposed method is based on the premise of VMM safety. Enck et al. proposed a system for information-flow tracking on Android [8]. Their system tracks information flow in Android by taint analysis using modified libraries. In contrast to this study, the proposed method does not require modification of programs running on the VM.

348

H. Moriyama et al.

Ji et al. proposed a system to investigate attacks using information flow tracking [9]. Their system achieved low overheads by recording system call events and accurate monitoring using on-demand process replay. Although the proposed method collects all information required for tracing the diffusion of classified information, suppressing the log output reduces unnecessary performance degradation. Moreover, owing to the on-demand log display function, the system manager can analyze the diffusion using the log information.

6

Conclusion

In this paper, we described the improvement and evaluation of a function for tracing the diffusion of classified information on KVM. First, we clarified the requirements of the tracing function when the administrator of the guest OS or the administrator of the computer confirms the diffusion of classified information. Moreover, we clarified the problems regarding the processing and outputting of a log. To address these problems and satisfy the requirements, we proposed four improvement methods. In the evaluation section, we measured the processing time of the tracing function to evaluate the effectiveness of the improvements. In the measurement results obtained using a file operation system call, the improvement effect was significant in the read system call and the processing time was reduced by 83.0 µs. Moreover, in the measurement results obtained using the fio benchmark, the reduction in processing time was approximately 89% in the case of the Write access pattern; further, the effectiveness of the improvement in targeting the managed file is significant. In our future studies, we will reduce the overheads related to the construction of a full pathname. Acknowledgements. This work was partially supported by JSPS KAKENHI Grant Numbers 19H04109 and 19K20246.

References 1. Fujii, S., Sato, M., Yamauchi, T., Taniguchi, H.: Evaluation and design of function for tracing diffusion of classified information for file operations with KVM. J. Supercomput. 72(5), 1841–1861 (2016). https://doi.org/10.1007/s11227-016-1671-5 2. Fujii, S., Sato, M., Yamauchi, T., Taniguchi, H.: Design of function for tracing diffusion of classified information for IPC on KVM. J. Inf. Process. 24(5), 781–792 (2016). https://doi.org/10.2197/ipsjjip.24.781 3. Moriyama, H., Yamauchi, T., Sato, M., Taniguchi, H.: Performance improvement and evaluation of function for tracing diffusion of classified information on KVM. In: 2017 Fifth International Symposium on Computing and Networking (CANDAR), pp. 463–468, November 2017. https://doi.org/10.1109/CANDAR.2017.91 4. Hizver, J., Chiueh, T.C.: Real-time deep virtual machine introspection and its applications. In: Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 3–14 (2014)

Improvement and Evaluation of a Function for Tracing

349

5. Shi, J., Yang, Y., Tang, C.: Hardware assisted hypervisor introspection. SpringerPlus 5(647) (2016) 6. Zhan, D., Ye, L., Fang, B., et al.: Checking virtual machine kernel control-flow integrity using a page-level dynamic tracing approach. Soft. Comput. 22, 7977–7987 (2018) 7. Jia, L., Zhu, M., Tu, B.: T-VMI: trusted virtual machine introspection in cloud environments. In: Proceedings of 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp. 478–487 (2017) 8. Enck, W., et al.: TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones. ACM Trans. Comput. Syst. 32(2), 1–29 (2014). (Article 5) 9. Ji, Y., et al.: RAIN: refinable attack investigation with on-demand inter-process information flow tracking. In: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS 2017), pp. 377–390 (2017)

A Continuous Media Data Broadcasting Model for Orbiting Base Stations Tomoki Yoshihisa1(B) , Yusuke Gotoh2 , and Akimitsu Kanzaki3 1

3

Cybermedia Center, Mihogaoka 5-1, Ibaraki, Osaka 567-0047, Japan [email protected] 2 Graduate School of Natural Science and Technology, Okayama University, Tsushima-naka, Kita-ku, Okayama 700-8530, Japan Institute of Science and Technology, Academic Assembly, Shimane University, Nishikawatsu-cho 1060, Matsue, Shimane 690-8504, Japan

Abstract. Compact flying machines (drones) recently attract great attention. They can communicate with other computers and serve as communications base stations. To send large data such as videos to the client machines on the ground, a model in which the data are divided into some segments and each drone cyclically broadcasts one of the segments to the clients was proposed. However, the drones in the model move straight and this causes a problem that the clients cannot receive the segments once they passed over them. In this paper, we propose a continuous media data broadcasting model for orbiting base stations. The performances of the orbiting path that includes straight are easily predictable from the previous model. Therefore, we assume that the orbiting path is a circle and investigate the maximum velocity and the maximum distance that enable the clients to play a video continuously.

1

Introduction

Compact flying machines (drones) recently attract great attention. They are generally used for observing environmental values such as temperature or humidity, or taking aerial videos. Moreover, they are also expected to carry shipped goods in the near future. To enable their autonomous moving function, they equip with powerful resources for their communications and computations. They can generally communicate with other computers while flying and serve as communications base stations for client machines on the ground (home TV or digital signage displays). The utilization of drones as flying base stations enables moving communication ranges and enlarges the covered communication area compared with the conventional location-fixed base stations such as the 5G cellular base stations or the Wi-Fi access points. Figure 1 shows an image of flying base stations by drones. One of the main problems of flying base stations is keeping communications with the clients for a long time since they move. Especially for the communications for receiving continuous media data such as video or audio, this is a large problem because the communication times tend to be long. c Springer Nature Switzerland AG 2021  L. Barolli et al. (Eds.): NBiS 2020, AISC 1264, pp. 350–358, 2021. https://doi.org/10.1007/978-3-030-57811-4_33

A Continuous Media Data Broadcasting Model

351

Fig. 1. An image of flying base stations

Therefore, several systems for flying base stations to send large data have been proposed. Some of them divide the data into some segments and each drone cyclically broadcasts one of the segments to the clients. The clients can receive whole data by receiving subsequent data from other drones. However, the drones in these systems move straight and this causes a problem that the clients cannot receive the segments once they passed over them. Drones generally start from the user’s location and return to the starting point. That is, the drones orbit a certain point and the situation that the drones move straight is a part of the orbit. Hence, in this paper, we propose a continuous media data broadcasting model for orbiting base stations (OBS). The performances of the orbiting path that includes straight are easily predictable from the previous research. Therefore, we assume that the orbiting path is a circle and investigate the maximum velocity and the maximum distance among OBSs that enable the clients to play a video continuously. The novelty of the paper is in this assumption and the paper contributes to the flying base stations research fields. The remainder of the paper is organized as follows. In Sect. 2, we introduce related work. We explain our assumed OBSs in Sect. 3 and our proposed communication model in Sect. 4. In Sect. 5, we show some evaluation results for our proposed model and finally conclude the paper in Sect. 6.

2

Related Work

Compact flying machines such as drones are called UAVs (Unmanned Aerial Vehicles) and there have been many studies on wireless communication models utilizing UAVs. In [2], the authors have proposed a data communication and backhaul method that improves the video communication quality by utilizing the cooperative operation of multiple UAVs. This method dynamically constructs clusters using UAVs. By considering some metrics like moving speed and transmission power of each UAV in the clustering process, this method achieves an efficient video communication on the clustered UAV network. However, this method does not assume data broadcasting to the clients on the grounds.

352

T. Yoshihisa et al.

Some studies aim to achieve efficient communication between UAVs and clients on the grounds. For example in [3], the authors have proposed an algorithm that covers all demand points where clients are located with the minimum number of UAVs. Similar to this, some other studies have proposed methods that determine the moving path of each UAV to cover a certain set of locations [4–6]. For example in [5], the authors have proposed a method that covers a certain target region using multiple UAVs owned by different organizations and individuals. In this method, each UAV shares information on the existence and the moving paths of other UAVs by utilizing direct wireless communication between UAVs. Using the shared information, each UAV autonomously determines its moving path to move to locations where are not covered for a long time. These methods have the potential to achieve efficient communication between UAVs and clients on the grounds. However, these do not assume the distribution of large continuous media data and do not consider the communication time.

3

Orbiting Base Stations

In this section, we explain our assumed system and our target problem. Some parts in this section are similar to the paper [1] to make the paper self-contained. 3.1

Assumed System

Some OBSs orbit a certain point along a fixed route cyclically. They store one same continuous media data such as video or audio in their storage before they start orbiting. They can communicate with the clients such as home TV or digital signage displays in their communication ranges and can send their stored data to the clients. The clients start receiving the continuous media data that the OBSs have immediately when they can communicate with one of the OBSs. Once they start receiving the beginning of the continuous media data, they play it until the end. They do not move because they are installed in certain places. In the cases that an OBS goes away in the middle of the reception, the clients try to receive the subsequent data from other OBSs. If they do not finish receiving a part of the continuous media data at the time to play it, an interruption occurs. The interruptions of playing continuous media data annoy the users of the clients and many interruptions degrade the quality of the service. Therefore, we assume that the system should enable the clients can play continuous media data without interruptions. 3.2

Target Problem

One of the main performances for OBSs is the maximum velocity under the condition that the clients can play continuous media data without interruptions. OBSs with a faster velocity orbit in a shorter time. Since they frequently visit

A Continuous Media Data Broadcasting Model

353

the same locations, the clients can get more chances to communicate with the OBSs. Although the frequency for the OBSs to visit the same locations also depends on the orbiting path, we assume that the path is fixed in the paper. Another main performance for OBSs is the maximum distance among them under the same condition. A longer distance gives more flexible design to the OBS deployments and thus the clients can get more chances to communicate with the OBSs fairly in the time series. Hence, in this paper, we aim to improve the maximum velocity of OBSs and the maximum distances among OBSs under the condition that the clients can play continuous media data without interruptions.

4

Proposed Model

We explain our proposed model for solving the target problem in the previous section. 4.1

Data for OBSs

Similar to our previously proposed model in [1], continuous media data is divided into some segments with equal durations. They are distributed by the same number of the OBSs. Each OBS broadcasts one segment cyclically and follows the OBS that broadcasts the previous segments. Once they start receiving the first segment, they start playing the continuous media data and continues to play it until the end.

Fig. 2. The variables for analysis

354

4.2

T. Yoshihisa et al.

Orbiting Path

In the cases that the orbiting path includes straight, the performances (maximum velocity of OBSs and the maximum distances among OBSs) are restricted by the situation in that the OBSs move on the straight path because this situation gives the shortest communication time. Therefore, the orbiting path in our proposed model does not include any straight, i.e., a circle. The performances of the orbiting path that includes straight are easily predictable from the previous research. 4.3

Mathematical Analysis

In this subsection, we mathematically analyze our proposed model and find formulae to get the performance values. We define the maximum difference of the clients’ positions from the orbiting pass for OBSs by r as shown in Fig. 2. That is, the clients who exist in the gray area in the figure can play continuous media data without interruptions. Regarding the continuous media data, let D denote the duration and the data is divided into N segments. The number of OBSs is also N . Its consumption rate is C. In the case that the continuous media data is video data, C means the bitrate of the video. Regarding the OBSs, the radius of their orbiting path is RR and the radiuses of their communication ranges are RCi . Let Bi (i = 1, · · · , N ) denote the communication bandwidth between the clients and the ith OBS. Vi is the moving speed of the ith OBS. To calculate the maximum communication time between the ith OBS and the clients that exist on r far from the orbiting path, we need to get the maximum argument for the clients from the direction to the center of the communication range, θi . We can get this by Cosine theorem. θi = arccos

2 2 + (RR + r)2 − RCi RR 2RR (RR + r)

(1)

The maximum communication time is given by the time for the ith OBS to move 2θi [rad]. The angular velocity is Vi /RR and thus the maximum communication time is 2θi RR /Vi . The data amount of one segment is CD/N . Therefore, to finish receiving the ith segment from the ith OBS within its communication time, the following inequality should be satisfied: Vi