In recent times, the evolution of blockchain technology has got huge attention from the research community due to its versatile applications and unique security features. The IoT has shown wide adoption in various applications including smart cities, healthcare, trade, business, etc. Among these applications, fitness applications have been widely considered for smart fitness systems. The users of the fitness system are increasing at a high rate thus the gym providers are constantly extending the fitness facilities. Thus, scheduling such a huge number of requests for fitness exercise is a big challenge. Secondly, the user fitness data is critical thus securing the user fitness data from unauthorized access is also challenging. To overcome these issues, this work proposed a blockchain-based load-balanced task scheduling approach. A thorough analysis has been performed to investigate the applications of IoT in the fitness industry and various scheduling approaches. The proposed scheduling approach aims to schedule the requests of the fitness users in a load-balanced way that maximize the acceptance rate of the users’ requests and improve resource utilization. The performance of the proposed task scheduling approach is compared with the state-of-the-art approaches concerning the average resource utilization and task rejection ratio. The obtained results confirm the efficiency of the proposed scheduling approach. For investigating the performance of the blockchain, various experiments are performed using the Hyperledger Caliper concerning latency, throughput, resource utilization. The Solo approach has shown an improvement of 32% and 26% in throughput as compared to Raft and Solo-Raft approaches respectively. The obtained results assert that the proposed architecture is applicable for resource-constrained IoT applications and is extensible for different IoT applications.
For the last few years, the increase in various type of chronic and serious diseases has been witnessed due to tough and stressful routines, unhygienic food, which ultimately lead to various type of disabilities, mortality, and poor physical fitness [
In last few years, the espousal of Internet of Things (IoT) [
The IoT fitness data of the trainee and trainers are of utmost significance and ensuring the security and integrity of such data is most important requirement. In storing the fitness data outside the user premises on some external storage location including fog, edge, or Cloud computing, the big challenge is to ensure the integrity and unauthorized access of the users’ fitness data. It is therefore important to verify that fitness data has not been tampered or altered. In recent times, the blockchain-based approaches are proposed for different security services [
The task scheduling problem is NP-hard in nature thus it is difficult to propose and develop a complete optimal scheduling solution. The first part of this work proposes a load balanced device scheduling approach based on the fuzzy logic that schedule the user requests (also called tasks in this work) over the available fitness devices in a load balanced way. The user fitness data is critical and needs to be secured from unauthorized access. To overcome the security issue, a blockchain-based secured architecture for fitness data security management is proposed.
The rest of the paper is organized as follows: In Section 2, the discussion about existing work concerning the task scheduling, Machine learning algorithms, and blockchain based solutions is presented. The proposed approach is delineated in Section 3, followed by experimental setup and performance evaluation section. The conclusions and future directions are discussed in Section 5.
The related section is divided into three subsections. In first part of this section, the related work concerning the state-of-the-art task scheduling approaches is discussed. The second subsection delineates the existing machine learning approaches concerning the fitness data management and intelligent decision making. The last part of the related work shed light on the available blockchain based approaches used for the security of fitness data.
Task scheduling has been a widely considered research topic in various domains including industry, processing, distributed computing, Cloud computing, user request scheduling over the available resources, etc. The resources in any system are precious thus, efficiently utilizing the resources is always the main focus. The task scheduling approaches are adopted to cope with various challenges including resource utilization, minimizing average response time, execution time, throughput, minimizing SLA violation, and load balancing, etc. The Fist-In-First-Out (FIFO) approach assigns the tasks to the available resources according to their arrival order [
Like other applications of IoT, the advancement in IoT technology for fitness applications has shown tremendous progress in the last few years [
In the last few years, fitness centers utilize various electronic IoT devices to capture, share, digitize, and process fitness data. In this section, we investigated some state-of-the-art blockchain-based fitness applications. In [
In the light of the aforementioned issues, this work contributed Blockchain based User-Device Scheduling Mechanism. The work is divided into two different parts. In the first part, fuzzy-based device scheduling (also called tasks) is proposed that schedules the request of the fitness users on the available fitness devices in a load-balanced way. The second contribution of this work is related to the security assurance of the fitness data using the blockchain-based approach.
In this work, we have proposed Enhanced User-Device Scheduling Mechanism using Fuzzy Logic based on Blockchain for secure smart fitness service. The discussion about the proposed work is presented as follows.
This section discusses the system architecture of the proposed fitness scheduling service. As the task scheduling is NP-hard in nature thus optimally scheduling the tasks is always challenging. In large-scale Gyms, thousands of users request the gym at various times and need various fitness devices for exercise. The increase in the number of users and requests for devices leads to the complexity of the scheduling problem. In most of the gyms, the exercise sessions are divided into three shifts (sessions) i.e., morning, evening, and night. Each shift will have different number of slots, each of one hour. Moreover, the users can be either members (who have a membership and frequently join the exercises) or non-member who join the exercise less frequently. Thus, maximizing the user request acceptance and increased resource utilization is ultimately required. Various approaches are in place to improve the resource utilization of the available resources. In this research, a priority-aware, load-balanced device scheduling scheme is proposed. The load-balanced scheduling has two benefits, firstly, to entertain maximum user requests and secondly, to maximize resource (fitness devices) utilization. The proposed approach is comprised of several components as shown in
The fuzzy logic considers BMI (Body Mass Index) parameter for assigning the priority. The task priority is calculated based on the following rules:
R1. If BMI < 18.5 then Health level is Underweight and priority is Low
R1. If 18.5 < BMI ≤ 24.9 then health level is Normal and priority is Medium.
R1. If 24.9 < BMI ≤ 29.9 then Health level is Overweight and priority is High
R1. If BMI ≥ 30 then Health level is Obese and priority is High
The tasks are first prioritized using the fuzzy rules and then passed to the task scheduling layer as an input. The task scheduler then considers the tasks priority and map the user requests using the proposed task scheduling approach. Algorithm 1 prioritizes the user requests using fuzzy rules that considers the user health level based on the BMI metric. The health level is categorized into four types that are Underweight, Normal, Overweight, and Obesity. Based on the input of the health status, the priority is calculated using fuzzy rules discussed previously. The available slots are in morning, evening, and night. In Algorithm 1, the priority list is populated using fuzzy logic.
The next step is to map the user requests to the available fitness devices. Each user request is compared whether in the priority list. If the task is having high priority, then user request is mapped to the requested time in the requested time slot. In case, the priority is low or medium, the requests are mapped into a temporary list. Following are nine inference rules used for mapping the user tasks to the available fitness devices:
R1. If (task priority is high and arrival time is short then task will be mapped)
R2. If (task priority is Medium and arrival time is short then task will be mapped)
R3. If (task priority is Low and arrival time is short then task will wait, and mapped)
R4. If (task priority is high and arrival time is Medium then task will be wait and mapped)
R5. If(task priority is Medium and arrival time is Medium then task will wait and mapped)
R6. If (task priority is Low and arrival time is Medium then task will suspend, wait, and mapped)
R7. If (task priority is high and arrival time is High then task will be wait and mapped)
R8. If (task priority is Medium and arrival time is High then task will suspend, wait, and mapped)
R9. If (task priority is Low and arrival time is High then task will suspend, wait, and mapped)
Shift = {morning, evening, night};
priorityList = NULL, fdList = getFdList(fdMap), tasksList = getTasksList(taskMap);
{
{
{
Priority = Low;
priorityList = {userID, arrTime, shift, deviceType}
}
{
Priority = Medium;
}
{
Priority = High;
}
priorityList = {userID, arrTime, shift, deviceType, Priority}
}
}
return priorityList;
}
In the last step, the tasks are scheduled on the available devices in a load-balanced way. The scheduling information is forwarded to some central location like Cloud or edge computing platform.
Moreover, the fitness users perform various exercises and physical activities during the fitness in the gym. This data of the users is of prime importance thus integrity and privacy is of much concern. The IoT wearables collect physical activity information of the user steps and transfer it to the IoT server. The collected information is then forwarded to the blockchain network. Every node in the blockchain carries a replica of the ledger and any alteration in a copy will result in the updation of other copies of the ledger across the blockchain within seconds to minutes. For security insurance, an identity certificate is issued and approved by the network member across the smart contract-based blockchain network. The identity certificate is used by each peer node to store each transaction securely in the blockchain network. In the smart contract-based blockchain network, the inference engine is used to discover useful knowledge, patterns and perceive latent insights from the users' fitness data. The users are provided front-end interfaces to work with secure fitness services and visualize various useful fitness information.
Shift = {morning, evening, night};
priorityList = getPriorityList(priorityList), normalList = getPriorityList(normalList);
fdList = getFdList(fdMap), tasksList = getTasksList(taskMap), tasksList.sortbyarrTimeasc();
morningcounter = 0, eveningcounter = 0, nightcounter = 0;
moravail= 0, eveavail=0, nightavail=0;
{
{
{
map.add (uT, deviceID, deviceType);
morning_{counter}=+1;
}
{
map.add (uT, deviceID, deviceType) \\
eve_{counter}r=+1;
}
{
map.add (uT, deviceID, deviceType);
nightcounter=+1;
}
{
tmpMap.add (uT, deviceID, deviceType, shift);
}
{
tmpMap.add(uT, userType, deviceID, deviceType, shift);
}
}
}
moravail = mThreshold - morningcounter;
eveavail = eThreshold - evening counter;
nightavail = nThreshold - night counter;
{
condition = max(moravail, eveavail, nightavail);
moravail=+1;
eveavail=+1;
nightavail=+1;
{
map.add(uT, deviceID, deviceType, morning);
}
{
map.add(uT, deviceID, deviceType, evening);
}
{
map.add(uT, deviceID, deviceType, night);
}
}
execute.schedule(map);
return output;
The trainee user then starts exercises according to their defined schedule. The IoT wearable collects physical activity information of the user steps and transferred it to the IoT server. The collected information is then forwarded to the smart contract-based blockchain network. Then, the consensus algorithm is executed and then collected real-time information is archived in the blockchain state database, and every peer in the blockchain network affix the physical activity transactions. Furthermore, the smart contract executes machine learning approach to infer knowledge from the gathered data and perform various decisions. The obtained results and inferred knowledge are then shown to the trainees and trainers through the client application. All successful transactions are then stored and updated by every peer in the blockchain network ledger state.
This section contemplates the details concerning the experimental setup configuration details and the performance analysis of the proposed approach against the contemporary approaches. This section is divided into the following subsections.
The performance evaluation can be performed in three different ways that are experimental, analytical, or simulation approaches. The experimental setup is costly and difficult to configure due to the complexities involved in setup and execution. However, experimental approaches provide more real performance evaluation of the underlying approaches. The analytical approaches are easy to deploy; however, they are unable to grasp some of the important characteristics for the performance evaluation. The simulation-based approaches are widely used techniques for an in-depth evaluation of various types of networks.
In this paper, we have considered the experimental approach for some of the experiments and for other experiments, we have utilized the simulation approach. The objectives of this paper are two folds that are; task scheduling of the user request for fitness devices and security of the user fitness data by using blockchain based network. For the first objective, the simulation experiments are performed by using implementation in the python language. To validate the second objective, the implementation is performed using the hyper-ledger fabric and the result evaluation using hyper-ledger caliper tool. The experiments are executed on a system equipped with 20 GB of RAM and a processing speed of 3.00 GHz core I5.
Several experiments have been performed to evaluate the performance of the proposed task scheduling approach and evaluating the performance of the blockchain network implemented in this work. The details concerning experiment 1 for evaluating the performance evaluation against the compared approaches is presented in
Number of tasks | Fitness devices | Morning | Evening | Night | |||
---|---|---|---|---|---|---|---|
Member | Non-Member | Member | Non-Member | Member | Non-Member | ||
592 | 50 | 90 | 80 | 115 | 95 | 125 | 87 |
1225 | 100 | 185 | 167 | 237 | 197 | 257 | 182 |
2460 | 200 | 373 | 337 | 477 | 375 | 540 | 367 |
The experiments are executed multiple times with three different configurations i.e., the number of available fitness devices are 50, 100, and 200 whereas the number of user requests (Tasks) are 592, 1225, and 2460 respectively. The availability of the devices for exercise are divided into three shifts; morning, evening, and night. The time slots are divided into a time of one hour and each of the shift is comprised of 4 slots. Thus, the total number of slots available are 12 and each of the device is available for these 12 hours. The total number of slots available can be calculated using the
Another important metric to evaluate the performance of scheduling approaches is task rejection ratio (TRR) that satisfies the user quality of experience. The results concerning the task rejection ratio for the proposed approach and compared approaches are delineated in
To evaluate the performance of the blockchain network, the Hyperledger fabric is utilized for the implementation and deployment. The experiments are performed several times using Hyperledger caliper and the obtained results are discussed as below.
In our work, we performed several experiments with a varying number of users, executing queries for data retrieval from the blockchain network to see the impact of the number of users on the query transaction latency. The results concerning the query transaction latency are contemplated in
The Hyperledger Fabric also provides ordering services that order the transactions by using nodes called ordering nodes. To evaluate the performance of the blockchain network, three types of ordering service (i.e., solo, raft, and solo-raft) with varying transaction rates, such as 50, 100, …, 300 TPS are considered as given in
The proposed approach has been evaluated concerning the task rejection ratio and resource utilization and compared against two state-of-the-art baseline scheduling approaches. Concerning the task rejection ratio, the proposed approach has dominated the other two approaches by 25% and then reaching to an improvement of 70%. This improvement is due to the reason that proposed approach accept most of the user requests and then employ load balanced approach to satisfy the QoS requirements of the users and distribute the requests in a load balanced way. The other two approaches are simple in nature; however, are unable to deal with quality-of-service requirements of the users and also lead to an imbalance distribution of user requests over the available devices. As the proposed approach keeps the load balanced over the available fitness devices, the resource utilization is also improved while maximizing the user quality of experience.
The users of fitness are increasing at an immense rate and the gymmers are constantly extending the fitness facilities. Thus, handling such a huge number of requests for fitness devices and scheduling these requests is a big challenge. Secondly, the user fitness data is critical and needs to be secured from unauthorized access. This work addressed these issues concerning the fitness data management that are the scheduling of user requests over the available fitness devices in a load-balanced way and then provisioning of security service by implementing and deploying the blockchain-based solution. For this purpose, an in-depth analysis has been performed to investigate the applications of IoT in the fitness industry and various scheduling approaches. The proposed outperformed the other two approaches with an improvement of 20 to 35% in resource utilization. The obtained results assert that the proposed approach is suitable for the scheduling of user requests on the available devices. The security of fitness data is a big concern thus in this work we proposed and employed smart contract enabled blockchain network. The obtained results imply that the proposed blockchain network provides the required security and is extensible for other IoT applications.
The fitness IoT application involves huge sensory data concerning the user fitness data. This data needs to be stored and evaluated in a timely manner (keeping in view the delay requirements) to obtain useful insights. TAs a future work, we will propose a deadline aware task scheduling approach for edge computing to handle delay constrained fitness data.