Smart campus system using internet of things: simulation and assessment of vertical scalability

Background/Objectives: Scalability in the Internet of Things is meant for future extension in Internet connected devices. The scalability can be classified into two broad sense in terms of future flexibility i.e., vertical and horizontal scalability and in terms of infrastructure of the Internet of things i.e., device, communication, gateway, and server levels. Novelty: In this article, a novel taxonomy of scalability is proposed and presented according to infrastructure and it is categorized into four levels i.e., device, gateway, communication, and server levels. Moreover, a performance analysis of vertical scalability is conducted at the server level for a smart campus transportation system on a custom-based emulator developed in Visual Studio. Findings: From the results, it is observed that by increasing the load the response time of the server increases. Andby scaling up, response timedecreases. By scaling up at a certain limit and increasing the load, response time again increases. It is strongly believed that this research will help in assessing the capacity of present and future smart systems.


Introduction
communication media like Wi-Fi, Mobile network connectivity like Long Term Evolution (LTE), 3G/4G/5G, etc. The IoT is considered as superset of the latest form of wireless sensor and actuator networks. The core idea is that anything (device, object, gadget, or node) can be linked to the Internet at anyplace for any task, on anytime, and can connect with any object via any network using any service to make smart life. In 2010, it was estimated that with rapid increase in growth rate, the number of connected devices will become more than humans owning them. It was also predicted that the count of connected devices will become 75 billion in 2025 (2,3) . The rapid growth in IoT devices since 2003 till 2025 is also shown in [ Table 1]. In smart societies, the IoT devices are used in home entertainment, road condition monitoring, municipal administration, smart city, urban management, accidental measures, smart sports, smart logistics, smart tourism, smart environment, m-Learning, smart grids, smart manufacturing, traffic management, smart health care, smart home, and smart transportation (2,4,5) . Wireless sensor networks are part of IoT infrastructure. The IoT devices are connected to IoT gateway or hub and transmit data to the cloud server through communication network. The IoT concept behaves like a bridge between the real and digital world in which things communicate with things like machine to machine, machine to human, human to machine, human to human (6) .  The major highlights are as follows: • A new taxonomy of scalability is proposed and categorized into four levels i.e., device, gateway, communication and server levels. This taxonomy is according to IoT infrastructure. We divide infrastructure into four categories. At edge where gateways are used to give access IoT devices with wired and wireless access. Here devices are used so vertical or horizontal scalability can be applied as well as at gateways. The gateways are connected through wired or wireless communication medium with cloud/server. So, scalability can also be applied at communication and server level. • Performance analysis of vertical scalability is carried out at server level for a smart campus transportation system. The custom-built emulator is used to access vertical scalability at cloud/server level of smart transportation system as case study.
https://www.indjst.org/ The IoT is the mesh of interconnected objects like sensors (smart phones, cars, buildings etc.) and actuators generating a large information thus leads to Big Data (7) . The sensors collect and transmit data to cloud continuously. The authors in (7) elaborated Big Data in context of 4V's i.e. volume, value, velocity and variety. It was reported that the data volume increased 44 times from 0.8 Zeta Byte (ZB) to 35 ZB in decade 2010-2020. Therefore, the huge surge in data from IoT devices will lead to scalability issues in future IoT applications. Scalability in IoT is meant for future extension in connected devices to the Internet that are used to sense, update, monitor, and transmit data to produce information to acquire knowledge, in order to house extra information processing than the normal situation.
During the past few years, research related to IoT is tremendously increased. The Aruna et al. in (8) suggested container technology for IoT applications near the gateways to connect number of IoT devices. The technology is used for storage and processing of data which scales up the network with an increase in network efficiency. The container technology was used in a distributed manner like clusters. Jeong et al. in (9) proposed a decentralized approach for scalability in which environment of hybrid (private for sensitive data and public for huge data) cloud computing was used for data management to share data among different parties.
To overcome the limited uplink speed of cellular network, which is a scalability problem at communication level, Gharbieh et al. in (10) proposed a spatio-temporal mathematical model based on queuing theory and stochastic geometry. The model imposed three transmission procedures i.e., back off, transmission persistency, and power ramping to address vertical scalability in communication channel. Lenka et al. in (11) proposed an approach that makes the IoT network scalable by dividing the sensing area into sub areas called clusters, aggregating the collected data and finally transmitting to reduce energy utilization.
Tiago M. Fernández-Caramés and Paula Fraga-Lamas in (12) discussed the state-of-the-art communication technologies and architectures like blockchain after defining necessary characteristics of smart university/campus. Gonçalo Marques et al. in (13) presented scalability, availability and mobility of IoT advancements about health care and pointed out IoT challenges like portability, privacy etc. Amitabh Mishra et al. in (14) explored smart home security trade-offs. The presented research work is approximately similar with these research contributions however, the infrastructure of selected campus, number of devices, gateways, communication technologies and the type of servers are different. The developed system works on real-time approach and sends the current data for decision making that is the core novelty of this research work.
The rest of the paper is described as follows: In Section 2, scalability is discussed in detail. Scalability testing is discussed in Section 3. And in Section 4, results and discussion are carried out and finally concluded in Section 5.

Scalability in IoT
Scalability is classified into two broad types which are further divided into different categories/levels.

Scalability in terms of future flexibility of IoT
Scalability also refers in IoT system for future flexibility. If the system does not fulfil varying requirements, then re-designing of the system is required and may lead to time and budget consuming. The scalability can be divided into two broad types (15) i.e., vertical scalability and horizontal scalability. The details of each type are given in the following sections.

Vertical scalability
Vertical scalability is also known as scaling up. The capacity of IoT device/gateway/server which can accommodate more information than normal working is named as vertical scalability (15) . It is meant that the capacity and efficiency of resources like processing power, transmission, and storage capability of connected devices to fulfil the changing requirements. The advantages of this type of scalability are it needs less power as compared to multiple units, its administration is also easy due to single node configuration, software installation, configuration, implementation and cost are also manageable. There are also some disadvantages like increased risk of failure of resource, overall high implementation cost etc.

Horizontal scalability
Horizontal scalability is also termed as scaling out. The system facing massive growth in number of IoT devices, software hardware nodes, gateways and handle increased information processing to work together as single unit is called horizontal scalability (15) . It is meant that as number of IoT objects/gateways/servers increases, the infrastructure should be flexible to accommodate it to fulfill changing future requirements. Example of Horizontal scalability is the cluster of resources in a load balanced network to distribute data equally among different nodes. The advantages of horizontal scalability are that the cumulative performance is more than the single traditional system and if some node fails then whole system will not down. https://www.indjst.org/

Scalability in terms of infrastructure of IoT
Based on the use of scalability at different levels in terms of Infrastructure of IoT, proposed taxonomy, is categorized into four levels i.e., Device level, Communication level, Gateway level and Server level scalability.
[ Figure 2] also shows the proposed classification of scalability levels used in IoT.

Device level
At device level, if we increase capability of sensors then vertical scalability is applied. The capacity of sensors normally can be increased by replacing sensor with new greater capacity with latest versions. If we increase number of sensors, then horizontal scalability is applied. This can be needed only when surrounding area of deployed sensors is increased.

Communication level
Normally up-link capacity of communication channel is very low (10) . The IoT devices sense data from surrounding and send to cloud using up-link channel. If bandwidth capacity of communication channel is increased, then vertical scalability is applied. Whereas if number of communication channels is increased then horizontal scalability is applied.

Gateway level
Similarly, at gateway level, if processing power, temporary storage capacity, buffer etc. are increased then vertical scalability is applied. Whereas if number of gateways is increase then horizontal scalability is applied.

Server/Cloud level
If processing capacity, storage capacity, and hard disc capacity of server at cloud level is increased then vertical scalability is applied and if number of servers is increased then horizontal scalability is applied. https://www.indjst.org/

Scalability testing of smart campus transportation system
In this Era of IoT, where every device is trying to become smart using IoT technology, the transportation system of smart university campus is chosen as a case study. To test the scalability, a custom virtual data sender & receiver (Emulator) has been developed. In this work, smart transportation system of university campus is simulated using Microsoft Transportation dataset (16)(17)(18) . The dataset contains around 17600 trajectories data with Global Positioning System (GPS) information (longitude, latitude and altitude) along with date and time sampled at random time intervals for three years in CSV format. Microsoft Visual Studio with C-Sharp (C#) is used to build a customized emulation tool involving virtual senders and server using this dataset. The primary task of emulator is to send virtual data in the form of virtual packets to the virtual IoT server. These virtual packets are prepared by utilizing a dataset (16)(17)(18) , by using a general-purpose GPS coordinates logging in the standard CSV format. The main data points logged are latitude, longitude and altitude along with timestamp. The server then processes the incoming packets by managing the internal queue buffer. The IoT server essentially takes some time to process all the virtual packets, which means to complete a single processing cycle it may take t ms, where, t represents the time in milliseconds.
The delay factor is emulated by calculating the length of the received virtual packet and then using this value as the upper limit of delay and the lower limit of delay factor is 10 ms. Now the delay factor can be represented as: (10, L) where t packet is the processing time of a packet, L is the packet length, and rand() is the random function and virtual queue buffer has capacity limit set to the default value of maximum of 100 packets.
To simulate the load handling of server, virtual busses are loaded in the sender buffer which sends the data at the rate specified by bus instance attribute. The virtual receiver/server keep receiving data in the receiving queue and process the packets according to the delay factor for each packet in the queue. Therefore, single processing cycle delay can be represented as follows: where n represents number of packets in single processing cycle. https://www.indjst.org/ With the addition of b buses, the cycle delay increases due to more data processing cost, the overall processing load is represented as follows: Where b represents the number of busses whose data is being virtually sent to the IoT server. Now the average delay by the server is calculated and written below: Where N represents the total number of packets present in the buffer queue at the end of processing cycle. [ Figure 4 ] shows a graph of processing time of data in milliseconds at different time intervals on normal load conditions. It is observed that the processing time varies with the time and reaches maximum after some time interval. If the load is increased by adding more buses, the time taken by virtual IoT server increases, a rising curve is observed [seeFigure 5]. Similarly, the processing time decreases by scaling up the server by decreasing the minimum factor of the single packet delay e.g. from 10 to 8, 6, 4, 2 (in five steps). Decreasing this constant value widen the minimum and maximum spectrum for single packet delay which essentially increases the probability of lower number selection in random function a falling curve is observed in [ Figure 6 ]. Beside these, packet drop is another important factor that decreases the performance of server. It happens when server is busy in processing the packets and taking more time to process than the virtual sender which is sending data packets. In this case, the queue will start to grow up and its capacity will keep on increasing unless it reaches the maximum limit of 100 packets. At this stage, the server will reject the incoming packets sent by the virtual sender, which obviously increases the packet drop count.

Proposed algorithm
The main algorithm for testing vertical scalability is performed using the following 4 steps: Step 1. The virtual sender transmits the buses location data (longitude, latitude, altitude, time stamp) to the virtual IoT server.
Step 2. The virtual IoT server processes all the pending requests coming from the virtual sender until the requests are less than the maximum limit of the server capacity.
Step 2 is repeated by increasing the number of buses from the virtual data sender to add more load on the server until the server will overload and start dropping the received packets.
Step 4. To handle more traffic / accommodate more buses efficiently, vertical scalability is applied by increasing the processing capacity of virtual server. In this work, it is implemented by decreasing the processing delay until the delay reaches minimum absolute level.
The flowchart of the algorithm is shown in [ Figure 7].

Results and Discussion
The scalability is tested by applying three types of loads i.e., small, medium and large loads. When small load is applied, the emulator executes packets seamlessly. [ Figure 4] shows the graph representing the baseline performance where time is presented https://www.indjst.org/ on x-axis and response time on y-axis. When medium level load is applied by increasing the number of buses, the emulator showed normal working and realized realistic sense as the system usually runs. When there is surge in packets by increasing number of busses in some rush situations such as in admission days or examination days or simply by increasing number of students then emulator showed graph under pressure as shown in [ Figure 5]. When vertical scalability is applied, the average response time again becomes less as demonstrated in [ Figure 6]. Since the number of students is being increased and smart campus expenditures are also being increased, so to accommodate students and meeting high expenditures the campus will increase admissions and number of busses to pick and drop the students. As number of busses increases the average response time again increases so horizontal scalability needed in future. [ Table 2] shows statistics of number of busses and average response time of processing of packets in milliseconds. The graph shown in [ Figure 8 ] also shows the relationship between average response time of packets and number of buses. With load of 6 busses the average response time is 34 milliseconds. By increasing load of 33 busses the average response time becomes 827 milliseconds. For testing vertical scalability, the number of busses is too much increased then the results are not proportional that shows bottleneck. This realizes the use of horizontal scalability in future.

Conclusion
Scalability types are explained in terms of IoT future flexibility (Vertical and Horizontal scalability) and in terms of IoT infrastructure (Device, Communication, Gateway, and Server level scalability), the novel taxonomy. Vertical scalability at server level is assessed with the help of custom-built emulator. Three types of loads normal, medium and large are applied. At large load the average response time of server is increased. Then vertical scalability is applied till a certain limit then the average response time decreased. Again, increased the load then average response time of virtual server is increased. From results in https://www.indjst.org/ table and graph it shows that at large load response time of IoT server increased and became bottleneck, so horizontal scalability is required with multiple IoT servers in future. This paper will guide the researchers to apply scalability while developing internet of things systems at different levels with suitable type vertical or horizontal to make system future flexible.