Received date: 18/09/2015 Accepted date: 25/10/2015 Published date: 07/11/2015
Visit for more related articles at Research & Reviews: Journal of Engineering and Technology
Internet of Things (IoT) is a technological paradigm which is an extension of existing heterogeneous networks with capabilities of sensing, actuation, communication, computation, networking and storage to get the real world data to the end user applications and systems. Quality of Service (QoS) in IoT is one of the critical factor which needs research and stabilization for QoS implementation, management and optimizations. The review is done to provide an overview of different QoS schemes, implementations and architectures for various quality of service parameters of IoT.
Internet of things, Quality of service, Service oriented architecture, Heterogeneous network [hetnet], Service level agreements (SLAs).
As an emerging area in terms of technology, application areas and research, IoT has wide research scope in all of the areas like architecture, implementation, protocols, standardizations and QoS management and implementations. There are several researches, reviews and implementations of IoT architecture, QoS schemes and IoT applications / domains by various researchers and interest groups. Day by day more and more ‘things’ are becoming integral part of human life by the way each of objects adapt the capabilities of sensing, interactive capability, communicative, computing and with decision making capabilities using the blend of local and globally available data, resources and computing power making everything to become part of IoT with heterogeneity in the real and literal sense. Because of the wide variety of scope, growing number of devices in IoT, the ubiquitous presence, heterogeneous nature of IoT systems and wide variety of application areas [1,2], addressing the quality of service in IoT is very critical.
An overview of overall research directions for IoT in terms of architecture, protocols, application areas and research directions for IoT are discussed and described in various research papers [3-5]. A detailed reference model (IoT-A) is defined by IERC in . The specific architecture to be implemented would depend on the applications / domains of IoT and applicable enabling technologies used in specific implementations. The end-to-end IoT system with technical architecture, QoS architecture and functionality would involve the combination of cloud, application systems, access networks, devices, mobility, communication and connectivity, database and analytics for the implementation of a successful smart environment.
As defined and explained by authors in , IoT definitions broadly categorized under ‘things oriented (or sensors/devices oriented)’, ‘internet or software oriented’ and ‘semantic or business knowledge oriented. There are various publicly available survey of IoT growth in terms of deployment of IoT in different areas and the volume of devices [the # of interconnected devices is expected to reach 24 billion devices by 2020 as per survey by Gartner]. Research predictions also indicate that there will be drastic increase in BSs and count may exceed number of mobile subscribers which may cause clouds of data  and most of the data in IoT will be generated from field devices, machines and objects which will go through the access points/BSs to reach the internet and end user applications.
As per the review about 5% of energy produced today is used for Internet alone , with growing number of devices connecting together for Internet and IoT enablement indicates the critical need for improving energy efficiency, bandwidth, storage optimization, coverage in IoT and accuracy as some of the critical QoS parameters. So the authors here takes QoS in IoT as one of the main critical area whose architecture, implementation is considered under the scope of review of this review article.
The next section ‘QoS Architectural Vision Overview’ provides an overview of QoS, IoT architecture, QoS Management and QoS parameters applicable for IoT environment. The various QoS implementations by research communities are described in section ‘QoS Implementation Reviews’ and the last section draws the ‘conclusion’ of the review.
There are various concepts and implementation ideas used in defining and designing IoT architectures such as (i) defining the architecture basing the service components for providing the services in IoT using applicable protocols and access networks for implementing the IoT systems - service oriented architectures (ii) keeping the context or situations of the application systems as the base for designing the architecture - context aware architectures (iii) the design of architectures built around the middleware (software components) as the base to implement the IoT systems - middleware architectures [10,11]. The architecture of IoT at high level can be defined with multiple layers for ease of implementation, maintenance and support. The basic functions of any IoT systems would remain same and would depend on the application domain, enabling technologies used and required quality factors. Service quality/Quality of Service of an IoT system should be embedded in each and every component of IoT system either in for form of software, hardware and interaction and integration implementations.
A service in IoT can be defined by the combinations of capabilities of ‘functionalities, interoperability, interactions, communication abilities, related data and ability of using the related data’ of device(s) for implementing the IoT system to meet the requirements of specific application(s) and end user system(s). An effective service oriented IoT system should have the abilities to search and discover services, should have clear categories of services and should be able to make service compositions. There are different service categories, search and discovery methods defined in some of the research papers are some of the research issues in the services oriented architectures in IoT [12-17].
The Quality of Service as a nonfunctional component, is the ‘capability of providing satisfactory service’ by different service providers and systems. Due to heterogeneous nature of IoT, the overall QoS in IoT is the capability of providing service by various service providers like–sensing service, network service, cloud service and services by various enabling technologies and components of IoT. The applicability of a set of QoS parameters depends on the specific IoT application domain in combination with enabling technologies and service providers (for example the QoS parameters applicable for RFID may not be applicable for WSN).
The QoS schemes and QoS architectures derived and defined by various research communities and academic organizations are based on the careful study and understanding of service components, enabling technologies, message / data classification, application domain areas, and interactions between each of these modules. Achieving the optimized QoS would involve implementing the QoS schemes/methods, applying algorithms to improve or optimize one or many of the applicable quality of service parameters.
The Quality of Service satisfaction or a quality IoT system is defined by various QoS parameters or attributes. Here the terms QoS attributes and parameters are used interchangeably, the ‘set of QoS parameters’ for an IoT environment (users, service provider and enabling technologies) dictates and defines the ‘quality of service provided by the system’. The QoS parameters are viewed from various perspectives and dimensions as:
• User and Application perspective
• Operator and Network specific
• Edge nodes and Communication system resources
• Perspective of all enabling technologies
The quality parameters from user’s perspective would require the combination of all the schemes to provide the required, agreed and acceptable service quality for the users. An effective IoT system which provides satisfying services from users view as per the agreed SLAs may not be efficient as per the operators and system resources dimension, and vice versa as it would involve additional costs (due more hardware, optimized middleware components, quality devices etc.). Achieving the SLAs to satisfy the users as per the contractual agreements by achieving the max QoS may go beyond SLAs for some of the QoS parameters. In some of the scenarios even after satisfying the SLAs the system may not even reach the minimum QoS. An example QoS implementation where the SLAs between service provider and service consumers (users, systems) in a cloud integrated IoT systems for selected QoS achievements may involve tradeoffs and negotiations based on the requirements and preferences  to meet the expected, agreed user quality of service.
The QoS in traditional networks is a relatively more stabilized compared to QoS in IoT environment and QoS issues in IoT need more research and improvement as IoT paradigm is fast growing because of the scalability and wide spread application areas and their deployment, the need for improving the information accuracy, energy saving and availability need more research. Achieving quality of service from the optimized networking (hardware, routing, speed etc.) would impact cost of service and cost of maintenance for the operators. The different QoS schemes of cellular networks (for example - fault tolerant dynamic channel allocation, call admission control scheme, dynamic allocation scheme using renegotiation etc.) can be applicable to part of IoT network based on the underlying access network, but the regular QoS schemes of heterogeneous networks are not sufficient for dynamic IoT environment.
The factors influencing the quality of service at edge nodes influenced by quality of field devices, context or application areas can be better controlled and managed at perception layer as the relevance and applicability can be known and immediately verified. Most of the enabling Technologies for IoT are: Wireless sensor and actuator networks, IoT devices, ubiquitous device and protocols - IEEE802 15-4, UID, EPC Global, RFID, Bluetooth, TCP/IP, Zigbee, WiFi and SoC Boards, Microcontrollers, smartphones, machines. The QoS parameters, schemes of implementations and applicable algorithms for achieving quality of service would depend on the enabling technology under consideration.
Based on the review and study of various architectures, QoS schemes and implementations we define a three layer conceptual architecture in which the quality of service factors are embedded as integral and non-functional components in different layers as different components like QoS monitoring, measurement, QoS implementation components and cross layer QoS components as shown in Figure 1.
The functions of three layer architecture for our conceptual IoT systems are described below:
A. Application Layer: The layer consists of functional modules for application systems and users which consume the real world data for analysis, computation, and for a real world action!
• End Users / Applications: The application layer consists of systems or users or machines or an environment for consuming / using the data sensed by the real world object or situation. The application functional modules will be specific to application domain which consume data received from lower layers representing the real situation for required functions.
• IoT data specific modules: It includes the functions like optimization of duplicate and redundant data from field devices, functions of storing/retrieval of data for historic references, and retrieval of data for adaptive and dynamic decisions etc. Some of these components are distributable between application and perception layers for achieving effective QoS.
B. Network Layer: The network layer will be responsible for routing the data from lower layer to upper layer and vice versa. The functional components and modules of this layer would include:
i. All kinds of access networks, protocols
ii. Communication devices for connectivity and communication.
iii. Routing functions/modules
C. Perception Layer: The sensing layer functional modules will include the essential data sensing / data gathering from real world objects which would include all the real world objects, machines and people. Also the functions may include controlling of field devices/actions based on sensed data and control commands received by upper layers and application systems/users of the domain.
• Edge Nodes: are smart embedded devices (System on Chip - SoCs, Microcontrollers etc) having the minimum computing, storage and communication capabilities.
• Field Devices: Are the devices for sensing the real world data with or with-out any intelligence and are capable of sensing data/information for a specific application/purpose, example sensors, RFID, ECP, actuator and other objects accessible directly or indirectly and providing the field data in the IoT environment by enabling IoT application for actions with real world data/situation (can also include devices, machines and objects with computing capabilities and participating in IoT data).
The QoS parameters closely map to three IoT layers as below, some of the QoS parameters are applicable across layers and the parameters are defined and schemes are implemented to achieve various optimizations by different researchers. The QoS parameters of application layer are: service time, services availability, service delay, service accuracy, service load, service priority, information accuracy, cost of network deployment, cost of service usage and maximum # of resources available per unit price & penalties for service degradation and fault tolerance. The QoS parameters of network layer are [2-6]: bandwidth, delay, packet loss rate, jitter, and utilization of network resources, life time of sensing networks, reliability, and throughput and real-time. The QoS parameters for perception layer are [2,6]: sampling parameters, time synchronization and location/mobility. Some of the QoS parameters are cross layer and applicable across layers are: IoT coverage, response time energy consumption/efficiency.
The design and architectural components are build using the IoT enabling technologies and the QoS maximization is achieved by optimizing various QoS parameters which are categorized across different architecture layers and for different stakeholder’s perspective. The parameters identified at high level for different IoT layers as per various reviews and implementations are summarized in Table 1 below.
|IoT Layer||Cross Layer QoS Parameters||QoS Parameters and QoS Metrics|
|Service time, services availability,|
|Service delay, Service accuracy, Service load, Service priority|
|Cost of network deployment, Cost of service usage|
|Maximum # of resources available per unit price & penalties for service degradation|
|IoT coverage||Fault tolerance|
|Services perform cost, perform time, load, Reliability|
|Bandwidth, Delay, Packet loss rate, Jitter|
|Network||Utilization of network resources|
|Layer||Life time of sensing networks|
|Reliability, Throughput, Real-time|
|Sensing and actuation coverage|
Table 1. QoS parameters of three IoT Layers and cross layer parameters.
Our investigations show that the QoS support is embedded into the IoT systems at Individual layers by different methods like optimization and scheduling of field nodes at perception layer, by scheduling and routing at network layer, and based on various ideas and concepts like – ‘QoS aware service oriented IoT’, ‘QoS based on message classification’, ‘QoS by priorities and grouping’, ‘QoS based on behavior patterns of intelligent sensor applications’, ‘QoS based on service models’ etc. The review is done on the QoS implementations which are achieved by extending the existing QoS schemes of 3GPP LTE-A, and by using additional modules for existing middleware components to for improved QoS in IoT environment.
(i) The QoS schemes defined for service oriented IoT architectures are based on service components and interactions using protocols for service and data exchanges:
The authors in  reviews and summarizes various QoS schemes in IoT and establishes the need for QoS aware scheduling schemes as per IoT new features (enabling technologies) for service oriented IoT systems. The three layer QoS scheduling model implements a top down decision making process across three layers using different optimization algorithms based on specific service requirements and applications. The model includes QoS monitoring across layers by decomposing tasks as executable tasks for QoS attributes for monitoring. The QoS architecture, QoS monitoring is defined using three layer service oriented IoT architecture as the basis (application, network and sensing layers). At the application layer the model uses Markov decision process (MDP) for maximizing service quality and at network layer connection cost is minimized using decision making algorithm/ programming method which may involve QoS attributes used in traditional QoS mechanisms and at sensing layer the model uses decision making based on sensing ability and QoS requirement of application user for optimal sensing cost and optimal usage of edge nodes, energy consumption and information accuracy. The model defines and measures the QoS metrics using QoS monitoring module at each of the defined IoT architecture layer for the given optimization algorithms of considered service requirements.
The service provisioning in IoT system is implemented by a QoS aware scheduling at application layer and routing in network layer for providing energy efficiency with the implementation of message scheduling algorithms. The approach is implemented by service differentiation and by assigning them traffic priorities as best effort (BE) and high priority (HP) which works for cross layer QoS support using multihop-LEACH (Low Energy Adaptive Clustering Hierarchy) technique  for 'energy efficiency’. In the three layer IoT architecture, with one server, IoT subgroups and sensor nodes, the IoT nodes are divided into subgroups using clustering approach and with each group having a broker node which communicates each other using a multihop technique and the role of broker node will get shifted to every other node each time. The messages assigned priorities and are of heterogeneous nature are buffered at broker nodes for prioritization and scheduling and applies the energy efficient message scheduling for achieving QoS implementation.
The authors in  focus on intelligent sensors applications (mote) for study of different QoS implementations in IoT environment and provisions QoS improvement by mapping the QoS parameters (availability, reliability, energy efficiency, accuracy and real-time) and behavioral patterns for a cross-layer solution and impacts behavior patterns of mote applications. The QoS implementation across layers and adaptability and dynamic behavior patterns are dependent on each other. The common behavior patterns found in mote applications and considered are: fixed period vs. changeable, one-shot vs. iterative, Initiative vs. reactive and schedulable vs. non-schedulable  are direct reflection of execution of application programs. The authors propose a program framework based on behavior patterns which can be used as guidelines for mote applications for set of quality properties.
Similar to three layer IoT architecture, a three layer conceptual QoS architecture in  uses the agents at lower to take the QoS requirements from upper layer and the feedback from lower layer components to be passed to upper layers and QoS management facility is spread across three layers for defined set of QoS parameters.
Using the concept of general publish/subscribe the QoS support is implemented for service oriented & general IoT systems . The implementation of publish/subscribe systems uses methods of ‘smart dispatch’ and ‘deadline aware system’ for QoS mechanism in IoT systems which was missing in traditional publish/subscribe systems. To meet QoS in IoT systems, the message broker is modified which also results in minimizes number of failures and better resource allocation.
The QoS in IoT of RFID tracking systems is achieved by optimizing the collisions of responses between tags and reader for the no of packets exchanged between reader and tags for achieving energy efficiency using ‘anti-collisions protocols’ . The model uses the concept that tags not required to reply for all the queries for card reader, the implementation is specifically for RFID systems.
The review different QoS aware MAC are reviewed, comparison of MAC protocols for WSN is provided and an integration of WSNs in the IoT for QoS using IEEE 802.1.5.4 access point network is presented  and also provides best practices to adapt [best practices about network topology, traffic type basis the application requirements on quality attributes] for integration with QoS support. The QoS enablement based on service differentiation and services models for WSNs integration in IoT, by categorization of IoT applications and service models.
The QoS based on computational modeling for WSN/IoT by routing protocols for QoS metrics response time, reliability and availability is presented by authors  using the directed graph. The implementation is based on the mathematical models and for four different service compositions: serial, parallel, branch and circulation mode and by computing the QoS using different formulas for all the composite modes.
Giuseppe , Presents a new consensus protocol with distributed optimization, in an IoT scenario to improve the network lifetime and Quality of Service (QoS) maximization  in resource constrained and dynamic IoT environment where the IoT nodes join and leave the network. The implementation of consensus algorithm based on distributed optimization protocol is done in the distributed service nodes of an IoT environment which coordinate each other in task groups and then provide a unified service the applications requiring the service.
Cloud is an extension to IoT systems for the need and unitization of cloud services. Arriving at service level agreements (SLAs) between cloud service providers and consumers is a challenge due to conflicting and opposite preferences. Agreements of SLAs and QoS in the cloud based IoT environment is achieved by implementing a negotiation protocol based on the ‘game of chicken’ for achieving the quality of service .
(ii) The QoS schemes involves the implementations in IoT which is achieved by extending existing QoS mechanisms:
The 3GPP LTE-advanced (LTE-A) networks adapt discontinuous reception/transmission (DRX/DTX) mechanism for maximizing the sleep periods of devices to guarantee their QoS by energy saving. Extending the concept of DRX/DTX to IoT applications using the 3GPP LTE-A networks is achieved by implementing efficient schemes (sleep scheduling schemes and DRX-aware packet scheduling) to optimize DRX/DTX parameters and schedule devices by guaranteeing traffic bit-rate, packet loss rate, and packet delay in IoT environment . Authors propose a three-stage which uses the user equipment’s (UEs) determines and shares the parameters with each of the UEs and the scheme maintains key properties to reduce the UEs wake-up periods for achieving sleep scheduling scheme by taking advantage of DTX for achieving QoS. At the base station (also called evolved Node B - eNB in 3GPP LTE-A systems) a DRX-aware packet scheduling is used for considerable power savings for UEs to achieve QoS in IoT.
The composite services at edge nodes are detected, discovered and represented using a three layer service provisioning framework for IoT deployments. QoS improvement is achieved in service oriented IoT by improving robustness and trustiness by decision making process by using the distributed consensus algorithm is implemented by the authors in  which calculates the consensus locally and gets the global gets the global consensus using an iterative approach. Here services are enabled to make decisions using consensus decision making (CDM) for service composition.
The general architecture and QoS architecture in IoT both go hand in hand and the QoS schemes are tightly linked to architectures, enabling technologies and are built on the general architecture by adapting the decision making and optimization algorithms which are built around the elements like:
• Protocols – by new protocols or by optimizing and adapting the existing protocols as per the architecture
• Application type and requirements
• Service components, Service categories and Service models
• Message (data) priorities and message (data) classification
From the reviews and discussions we found that, the heterogeneous IoT environment, the scale of devices, dynamic nature of environment and the variety and scope of QoS parameters indicate the critical to understand the functional modules of IoT, their interactions and categorization with respect to quality of service and the need of dynamic and adaptive QoS schemes for the IoT environment. The open research challenges indicate that there is lot of scope for optimization and efficiency improvement in IoT as the field devices and application requirements are very dynamic in nature, and implementing QoS schemes in such a dynamic and adaptable environment.
QoS architectures and schemes derived and defined by various research communities and academic organizations are based on the careful study and understanding of service components, enabling technologies, message / data classification, application domain areas, and interactions between each of these modules/components. The effect of some QoS parameters may be influenced by actions in other layers and the QoS schemes may not be independent on its own for any specific layer, so the communication, data exchanges between layers are some of the critical factors influence the development of a cross layer QoS scheme.
All of the QoS schemes and implementations will be using one or many of the following components: (i) hardware (access networks, communication equipment’s and devices) (ii) Efficient protocols (iii) Middleware components (functional modules) implemented by various algorithms (iv) Efficient integration and co-ordination of enabling technologies (includes both software and hardware components) (v) Combination of these to achieve QoS in IoT using various decision making algorithms. The QoS modules will be used for measurements, monitoring and management of QoS attributes for the overall QoS schemes which may be distributed across layer(s) for achieving effective QoS.
From the observations we found that most of the QoS implementations use different algorithms and functional modules for achieving QoS in IoT. If we can categorize the functional modules as adaptable and non-adaptable functional modules then we can explore to fit the functional modules to different layers for achieving QoS optimization. Our immediate future work would involve defining the categorization of IoT functional modules and building a cross layer QoS framework with adaptability for the critical QoS parameters in IoT.
Mr. Ravi C Bhaddurgatte: received his M. Tech degree in Computer science and Engineering from Manipal Institute of Technology (M I T), Manipal, Mangalore University with distinction in the year 1997, Bachelor’s degree in Computer Science and Engineering from Govt. B. D. T. College of Engineering, Davanagere, Mysore University, India. He has 5 years of teaching experience and 18+ years of experience in IT Services and currently working as Delivery Manager at MphasiS and pursuing research (Ph. D) at Jain University, Bangalore, India. His major areas of interest and research are Database systems, Business Intelligence and data warehousing, Big data and Analytics, Internet of Things (IoT), QoS in IoT, M2M communications, Cloud Computing, SDN and Mobile Computing.
Dr.Vijaya kumar B.P [SMIEEE] received his Ph. D degree from the Department of Electrical Communication Engineering, Indian Institute of Science (IISc), Bangalore in 2003, M. Tech degree in Computer Science and Technology from Indian Institute of Technology, IITR, with honours in 1992 and Bachelor’s degree in Electronics and Communications from Mysore University with Distinction in the year 1987. He is currently heading the Department of Information Science and Engineering, M.S.Ramaiah Institute of Technology, Bangalore, Karnataka, where he is involved in research and teaching. His major areas of research are Computational Intelligence applications in Mobile, Ad-hoc and Sensor networks. He is having 25 years of Teaching and 15 years of Research experience. He has published around 65 papers which include journals, conferences and project proposals. His name is listed in Marquis Who’s Who in the World, and Marquis Who’s Who in Asia, 2012. He is a Senior Member of International Association of Computer Science and Information Technology (SMIACSIT), IEEE Senior Member and Life member of India Society for Technical Education (LMISTE).