Interference Aware Scheduling of Sensors in IoT Enabled ... - ITRA

2 downloads 0 Views 835KB Size Report
need arises to provide proper health-care services. With the ... The medical service is provided after one of the ..... of Tata Consultancy Services (TCS-RSP).
2014 Fourth International Conference of Emerging Applications of Information Technology

Interference Aware Scheduling of Sensors in IoT Enabled Health-care Monitoring System Sourav Kumar Dhar∗ , Suman Sankar Bhunia∗ , Nandini Mukherjee†

∗ School

of Mobile Computing & Communication, Jadavpur University, Kolkata, India of Computer Science & Engineering, Jadavpur University, Kolkata, India Email:{souravkrdhar, bhunia.suman}@gmail.com, [email protected]

† Department

In a health-care monitoring system, each sensor has varying requirements in terms of data length or size and sampling rate. It has to measure the health parameter to obtain a reliable and trustworthy result. Data collection from multiple sensors simultaneously is challenging one. In a shared channel of fixed bandwidth, transfer of the sensor data to the data processor must be made discrete in a suitable manner [3]. For the healthcare monitoring system to be reliable, each sensor should timely measure the data following the prescribed sampling rate of the parameter, and the data should be sent to the data processor without any loss or overlap [4].

Abstract—As the population is increasing worldwide, huge need arises to provide proper health-care services. With the advent of modern technologies the need-gap may be augmented. Sensor is one such technology which can be used to enable Internet of Things based health-care monitoring system. In this paper, implementation of such a system is described. In a real time health monitoring system, there are many sensors connected to a local data processing unit through a shared channel having a fixed bandwidth. These sensors have a wide variety of channel access requirements. The access to the channel should be discrete, so that each and every sensor avails the required bandwidth and delay in the shared channel. In this paper, a scheduling technique is proposed for the IoT based system, which nullify interference among different sensors and consequent distortation of precious health data. Implementation of this technique in our prototype health-care monitoring application is discussed in this paper.

In this paper, a scheduling technique is proposed which do away with any interference among different sensors and consequent data loss. The two things that are important while deciding sensor data scheduling are - (i) The sampling rate required for measuring a parameter and (ii) The size or the data length per sample required for measuring a parameter. Parameters like Electrocardiogram(ECG), Electroencephalogram(EEG), Electromyogram(EMG),Respiratory Rate(RR) and other graph based parameters require higher sampling rate but have low data length per sample, and parameters involving images (pupal images and other microscopic images) and audio (cardiac and respiratory sounds) require much less sampling rate but each sample has a large amount of data.

Keywords—WSN, IoT, Scheduling, Healthcare.

I.

I NTRODUCTION

Most developing countries have very poor healthcare infrastructure. There are very few hospitals in comparsion to the booming population. Those few hospitals are inadequately equipped, very few doctors are present there and more importantly, the basic diagnostic equipments for the diagnosis of life threatening diseases are absent. Now, building new hospitals, equipping them with hitech instruments and appointing doctors in those hospitals are quite expensive and long drawn procedures. But if we could build a low-cost portable health sensing device, comprising of several wearable sensors, capable of measuring the vital attributes of a human body, and has the ability to communicate with the Cloud, we could reach a large population and provide them with quality medical advice. The medical service is provided after one of the specialist doctors from a group of specialized doctors present all over the globe evaluates those health parameters on the Cloud. Thus, we can potentially benefit a large population. A survey on Wireless Sensor Network in healthcare is given in [1].

So, our objective while sending health data over shared channel would be to give each parameter equal priority and reserve a slot in time for every parameter. If the parameter data does not fit between time slots of other sensor parameters, then the data must be divided into several parts which fit between time slots of other parameters. Remainder of the paper is organized as follows. In Section II, Internet of Things and its applicability in health-care domain are discussed. Subsequently, design of an IoT based health-care system is proposed in Section III. The problem involving simultaneous data collection from multiple health sensors and a scheduling solution are presented in Section IV. The efficacy of the scheduling technique with a simple example is discussed in Section V. Finally, we conclude the paper with a direction for future work in Section VI.

Moreover, if the health sensing device is made to communicate with a portable computer like a tab or a smartphone [2] which has the default ability of communicating with Cloud, then the whole system would be much more cost effective. This is because nowadays most people have access to these portable communication devices, and these devices have become quite cheap. The system can also be made IoT (Internet of Things) enabled and M2M (Machine to Machine) compatible. In this paper, implementation of such a healthcare monitoring system is presented. 978-1-4799-4272-5/14 $31.00 © 2014 IEEE DOI 10.1109/EAIT.2014.50

II.

I NTERNET OF T HINGS

Internet of things is defined as Things having identities and virtual personalities operating in smart spaces using intelligent interfaces to connect and communicate within social, environmental, and user contexts. 152

It can be considered the Future of Internet [5], where every object is connected to other objects. Every object is given a unique identity in the network. This allows remote access of devices through the network, anytime and at any location. IoT enabled objects communicate with each other, access information over the Internet, and interact with users creating smart , pervasive and always connected environments. IoT also enables machine to machine (M2M) communication which allows machines being controlled by the Internet and by other machines. This can revolutionize the way technology is used, as machine takes control of machines overcoming the constraints that people face while communicating with digital systems. Machines can monitor sensors all over the world to generate vast quantity of valuable information that would take a human years to achieve.

Area Network (B.A.N) [8] [9]. In our design we have used an Arduino microcontroller as an aggregation unit and applied scheduling using protothreads [10]. A portable computer is used as a processing unit for our health monitoring system. The Arduino aggregator uses small range wireless communication techniques like WLAN, Bluetooth, 6LoWPAN and Zigbee or wired USB serial connection to communicate with the data processing unit. The data received from the aggregator unit is processed on the data processing unit, i.e. on the portable computer. The data can be used for drawing graphs and charts (e.g. graph for ECG monitoring data) and interactive services can also be provided to the users based on this data. This system can receive valuable medical advice from the doctors for the patients and can set alarms or reminders for timely medications and appointments.

IoT makes the concept of pervasive computing and ubiquitous computing a reality by allowing objects of our everyday life like cars, roadways, pacemakers, pill shaped cameras in our digestive tracks, billboards that adjust to passers by, refrigerators and even cattles equipped with sensors to communicate with humans and assisting them in every step.

Figure 1 shows the design of the Health monitoring system. The system consists of two parts : local and remote. The remote part enables storing and distributing the data to remote service seekers like emergency service providers, doctors and care givers. The local part deals with collection of information from the sensors connected to a patient. It also processes the collected raw data to generate meaningful information that can be understood by specialists and doctors. It then displays the processed information and sends it to the remote servers.

The application of IoT in health-care system is highlighted in the following section. A. IoT in Health-care IoT enabled remote health monitoring system has huge advantages over traditional health monitoring system. Health sensing components have become very compact and portable, allowing patients to wear them round the clock for monitoring. If these monitoring devices are equipped with unique identifiers like RFID, then those devices can be uniquely identified over the Internet. It acts as an information retriver, retriving information from the physical world to the digital world [6]. An IoT enabled health monitoring device connected to a patient can be considered as a virtual patient in the digital world. The virtual patient has the exact physiological conditions as the real patient. A doctor can monitor a patient only a few times a day but critical health issues can occur at any moment. So 24/7 monitoring of health data is necessary. As IoT enabled patients can be accessed over the Internet and by other machines, the health condition of a patient can be monitored uninterruptedly, allowing critical illness to be detected at the right time so that proper actions can be taken.

Fig. 1.

A. Arduino

Also, IoT can help to collect health records. Generating statistical information related to health condition, can be performed by machines. It is faster and voluminous and error free collection of data that is possible manual methods could never achieve. Generating statistics, surveillance, risk mapping of diseases can be done using remote health data [7]. III.

Design of Health Monitoring System

Arduino is used as a data aggregator unit. An Arduino is an open source microcontroller board which has the capability of enabling the Internet of Things very easily. An Arduino board has 16 MHz ATmega328 processor with 32k of flash memory and 2kb of RAM. It has 6 analog input pins and 14 digital pins on which various sensors and actuators can be connected. It has good data handling capacity, so various sensors and communication units can be connected with this device, making it ideal for this application and related Wireless Sensor Network based applications. A Wireless Sensor Network based on Arduino is described in [11].

D ESIGN OF I OT BASED HEALTH MONITORING SYSTEM

In this section, a health monitoring system based on IoT is described. A health monitoring system comprises several sensors connected to a person and they communicate with a data aggregator and processing unit. The data aggregator and processing unit may be a specialised device or a smartphone. The aggregator unit has the responsibility of collecting each sensor data following strict sampling rate, it forms the Body

The Arduino is connected to a portable data processing and communication unit via a serial connection of limited bandwidth. The channel between the Arduino and the portable data procesing unit is shared, so the communication through

153

this shared channel should be made discrete for each and every sensor. B. Sensors The Health sensors are the devices that record various vital physical attributes of the human body. In this section, all the sensors used in the system are described. These are customised to make them communicate with data aggregator device. On request from the data aggregator device i.e. Arduino, the sensor measures a particular attribute and sends it back to the data aggregator. The Figure 2 belows shows some of the sensors which have been used in the system.

Fig. 2.

1) SPO2 Sensor: It is normally called Pulse Oximeter. This sensor provides a noninvasive method for measuring the concentration of oxygen in our blood haemoglobin. In addition, it also measures pulse rate.

Health monitoring sensors

C. Application Interface The screen-shot of the application is shown in Figure 3. Left side of the interface displays all the sensor values which are received from the data aggregator. It consists of an image of a patient with sensors attached to him. Each sensor value is displayed beside the particular sensor in the image. This way, visualization of sensor data is made meaningful. The right side of the application interface have two panels which display the graphs.

2) ECG Sensor: Electrocardiogram is used to assess the electrical and muscular activity of the heart. 3) Airflow sensor: Basically a breathing sensor which measures patterns of changes in the respiratory rate that may indicate major physiological instability. It is an important diagnostic tool for early diagnosis of hypoxemia and apnea. 4) Temperature Sensor: This sensor measures the body temperature. 5) Spygmomanometer: This sensor measure the pressure of the blood in the arteries. It gives two values, Systolic pressure i.e. the pressure in the arteries when the heart contracts and the Diastolic pressure i.e. the pressure in the arteries when the heart is dilated. 6) Body Position Sensor: This sensor measures the body position i.e (standing/sitting, supine, prone, etc.). There are many diseases where the body position needs to be monitored. For example it may help to detect a patient suffering from parkinson’s disease. Also this sensor can detect fainting or falling which is necessary in case of elderly people. 7) GSR (Galvanic Skin Response) Sensor: This sensor measures the electrical conductance and resistance of the skin, which changes as the moisture level of the skin changes. As sweat glands are controlled by sympathetic nervous system, so strong emotional moments change the electrical resistance and conductance of the skin. This sensor helps in detecting psychological and physiological arousal.

Fig. 3.

Application Interface

An Android application has also been designed. It runs on any Android device that has a WiFi module. The application with the help of the WiFi connection communicates with the sensors through the Arduino. This application also displays parameters like ECG graph, respiration rate graph, body temperature, pulse, oxygen concentration and blood pressure. Figure 4 shows the user interface of the Android application.

8) Glucometer: It is glucose sensor which measures the approximate concentration of glucose in blood. 9) EMG Sensor: Electromyogram sensor measures the electrical activity of the skeletal muscles during rest and during contraction. This can help in detecting medical abnormalities, activation level, recruitment order or analyse the biomechanics of human movement and is used for diagnosis of neuromuscular diseases, assessing low back pain, kinesiology, and disorder of motor control.

IV.

C OLLECTING S ENSOR DATA

In the health monitoring system, all the sensor-data come through a shared communication channel from the data aggregator unit to the processing unit. Each sensor have varying requirements in terms of the data length/size and the sampling rate. These two parameters should be taken care of in order to obtain a reliable and trustworthy result. Through the shared communication channel, data must reach the data processing unit uninterruptedly, maintaining the sample rate.

The above mentioned sensors have been used in this healthcare system. But many more sensors can be integrated to this remote monitoring system if suggested by specialized doctors.

154

115200 bits/sec. Therefore, applying Equation 2, data size per slot becomes: Slotd = 14 Bytes. We know,

T = 1/f

(3)

where T = period or cycle duration and f = frequency. Now, in order to explain our proposed technique, we present two scenarios.

Fig. 4.

1) Scenario 1 : A single sensor (S1 ) is introduced into the idle channel. Let us assume that the required sampling rate (f1 ) is 125 Hz and the required data length (Ld1 ) for the sensed parameter is 25 Bytes. From Equation 3, time period for S1 is T1 = 8 milliseconds. It means we get 8 number of Slotd of 14 Bytes each.

Android application interface

Parameters like electrocardiogram (ECG), electroencephalogram (EEG), electromyogram (EMG),respiratory rate (RR) and other graph based parameters require higher sampling rate, but have low data length per sample. But parameters involving images (viz. pupal images, microscopic images) and audio (viz. cardiac, respiratory sounds) require much less sampling rate, but each sample contains a large amount of data.

Therefore, slots required for the data length of the sensor S1 must be reserved in every 8ms to maintain the proper data flow. We get the maximum allowed data length (Ld1M ax ) for this sensor with the specified sampling rate from Equation 1.

Each sensor should take timely measurement of data, following the prescribed sampling rate of the parameter. Also, the data should be sent to the data processor without any loss or overlap. So, when a common communication channel is used, sensor-data from different sensor must be interleaved, otherwise some data may be lost. It should be implemented in such a way that none of the samples from any sensor is missed and data are delivered within the prescribed time.

Ld1M ax = 14X8 = 112 Bytes As Ld1 < Ld1M ax , the S1 sensor data can be easily accommodated within the channel bandwidth. As Ld1 = 25 Bytes, sensor S1 requires 2 slots of length Slotd , i.e. of 14 Bytes. Then, remaining 6 slots are free between every two samples. 6X14 = 84 Bytes are free.

Here, our focus is to provide a proper way of interleaving data through the shared channel.

2) Scenario 2 : Next a second sensor (S2 ) with different requirements is added to the shared communication channel. S2 requires 10 Hz sampling rate (f2 ) and its data length (Ld2 ) is 300 Bytes. Applying the Equation 3, we get time period :

A. Proposed Technique Health parameters which are measured against time, have strict delay tolerance. To retain the data intact and meaningful, the delay and sampling rate should be maintained. Therefore, a data interleaving technique is incorporated so that each sensor gets a share of the available bandwidth enabling each of them to maintain sampling rate, data length and delay. Let, Bc = Total bandwidth (in Bits/second) of the communication channel. The bandwidth may be split into number of slots. The idea is to allot bandwidth in multiples of these slots. Slotd = Data Size for 1 millisecond Slot, fi = Required sampling rate for a sensor Si , Ldi = Required data length for a sensor Si , Ti = Time periods or cycle duration of the sensors LdiM ax = Maximum allowed data length The maximum data length allowed for the single sensor in a 115200bps bandwidth is given by: LdiM ax = Slotd XTi

T2 = 100 milliseconds. So, we must reserve the bandwidth for communicating the data from sensor S2 in every 100 ms. Applying the Equation 1 we get the maximum allowed data length : Ld2M ax = 14X100 = 1400 Bytes per 100 milliseconds Now, while sending data from both sensors through the shared channel, during this 100 ms time period for sensor S2 , several sensed data samples from sensor S1 must be sent as S1 has higher sampling rate. During one smaple period of S2 , number of samples from S1 that is to be included is given as follows: f1 /f2 = 125/10  12

(1)

So, the available bandwidth for sensor S2 is given by the following equation:

In order to calculate the data size for each millisecond slot, Slotd = Bc /(1000 ∗ 8), inBytes

(4)

(2)

Ld2Actual = Ld2M ax − (2XSlotd )X(f1 /f2 )

From practical implementation experience, it is assumed that the total bandwidth (Bc ) of the communication channel is

From Equation 5, available bandwidth may be calculated,

155

(5)

Ld2Actual = 1400 − ((2X14)X12) = 1064 Bytes.

sampling rate of less than 1 Hz. Each sensor has different data length requirement to be fulfilled by the communication channel.

While discussing scenario 1, we observed that between two samples from sensor S1 maximum 84 Bytes can be allotted for sending the data from the second sensor S2 . Next, data from S1 should be sent again. Afterwards, another 84 bytes is available and data from S2 can be sent. Thus, data from the two sensors can be interleaved as shown in Figure 5.

The Arduino is programmed using protothreads to send data according to the particular sampling rate of every sensor. If the maximum data size of a sensor is greater than the available data size between sample slots reserved for other sensors, the sensor-data is divided and interleaved with data from other sensors accordingly. Then the data processor collects the data from the data aggregator and plots graphs combining the splitted data.

Required data length for S2 is high, i.e. 300 Bytes. So, to maintain the required sample rate of S1 , the data generated from S2 must be splitted into 3 parts of 84 Bytes each and remaining 48 Bytes can be accommodated in the next free slot. Thus, we schedule the sensors in such a way that long data cannot occupy a reserved data slot of another sensor and be divided into small parts.

If the required data length for a sensor cannot be accommodated using this technique, the total bandwidth must be increased in order to maintain the quality of sensor data. V.

R ESULTS

To test the scheduling technique, we have used two sensors as an example in the IoT enabled health monitoring system. •

ECG with high sample rate and small data size



Body temperature with low sample rate and large data size

As ECG sensor requires a sample rate of 125 Hz, we need to send the ECG data every 8ms. Now, the data from body temperature sensor needs to be accommodated between these samples, because both sensors use the shared channel. However, if we do not split the body temperature data between the samples of the ECG sensor, then this data overlaps with the ECG data and interpretation of the data at the prosessing unit is deformed as shown in Figure 6. But if we calculate the free slots between the samples from ECG sensor and then divide the data from body temperature sensor according to the size of the free slots between the ECG samples, then ECG samples are not delayed and the ECG is interpreted correctly at the data processing unit. The data received after application of our proposed technique is shown in Figure 7.

Fig. 5.

Scheduling Health Sensors Fig. 6.

ECG interpreted without following the scheduling technique

B. Implementation of the scheme In our health monitoring system, several sensors with varying sampling rate and data length requirements are used. ECG sensor has a 125 Hz sampling requirement. Respiratory sensor has a 40 Hz sampling rate and other sensors have

VI.

C ONCLUSION

For a health monitoring system to work properly maintaining the sampling rate and delay requirement of each sensor

156

[10]

Schimpf, H. Paul ”Modified protothreads for embedded systems”, Journal of Computing Sciences in Colleges 28.1 (2012): 177-184. [11] R. Faludi, ”Building wireless sensor networks: with ZigBee, XBee, arduino and processing”, O’Reilly Media Inc., 2010.

Fig. 7.

ECG interpreted following the scheduling technique

of the monitoring system is important. As, bandwidth is limited, we must schedule each sensor in a suitable manner as mentioned in this paper, such that the sampling rate is maintained and quality of data is good. We have shown that by interleaving the data according to the required sampling rate and dividing larger data with maximum allowed data size, we can maintain the sampling rate for several sensors simultaneously ensuring quality data transfer with efficient usage of bandwidth. ACKNOWLEDGMENT This work is partially supported by funding received from ITRA, Media Lab Asia for carrying out the research project entitled ”Remote Health : A Framework for Health-care services using Mobile & Sensor-Cloud Technologies”. Research of second author is supported by Research Scholarship Program of Tata Consultancy Services (TCS-RSP). R EFERENCES [1] [2]

[3]

[4] [5]

[6]

[7]

[8] [9]

H. Alemdar, C. Ersoy. ”Wireless sensor networks for healthcare: A survey.” Computer Networks 54.15 (2010): 2688-2710. S. K. Dhar et al, ”Enabling Smartphone as Gateway to Wireless Sensor Network.” Recent Advances in Information Technology, Springer, 2014, pp. 19-26. M. Paschou et al. ”Health Internet of Things: Metrics and methods for efficient data transfer.” Simulation Modelling Practice and Theory 34 (2013): 186-199. C. C. G. Rodrguez, M. Riveill, ”e-Health monitoring applications: What about Data Quality?.” (2010). J. Gubbi et al, ”Internet of Things (IoT): A vision, architectural elements, and future directions”, Future Generation Computer Systems 29.7 (2013) pp. 1645-1660. V. M. Rohokale, R. P. Neeli, R. Prasad, ”A cooperative Internet of Things (IoT) for rural healthcare monitoring and control” , IEEE 2nd International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology (Wireless VITAE), 2011. R. L. Beck, M. L. Bradley, B. L. Wood, ”Remote sensing and human health: new sensors and new opportunities”, Emerging infectious diseases 6.3 (2000): 217 M. Chen et al. ”Body area networks: A survey”, Mobile Networks and Applications 16.2 (2011): 171-193. M. Patel, J. Wang. ”Applications, challenges, and prospective in emerging body area networking technologies”, Wireless Communications, IEEE 17.1 (2010): 80-88.

157

Suggest Documents