# A Cooperative MAC Protocol for a M2M Heterogeneous Area Network
## 2 IoT Communication Requirements for Smart City Applications  
IoT is one of the distributed computing areas where a large number of applications are appearing in different domains, such as smart city, smart grid, e-health, vehicular communications, etc. [7, 8]. One of the key requirements of IoT applications is to move data between different entities in an autonomous manner by using the lower-level M2M communication architecture. The QoS requirements of IoT applications could be significantly different from conventional data communications used in human-to-human (H2H) and human-to-machine (H2M) communications [9]. Application QoS requirements are generally met by the underlying networks, hence, the network design process must address all of the application requirements. IoT applications are gradually evolving and their QoS requirements depend on the application domain. In this section we restrict our discussions to smart city and smart grid based applications. According to Gartner Inc., smart cities will support 6.5 billion connected devices by 2016 to provide a range of services [10]. Key services within smart cities will be healthcare, public services, smart buildings, smart homes, transport, and utility sectors. Applications in smart city and smart grid domains can be classified into three different categories; monitoring, device/actuator control, and demand management. Traffic generated by these applications can be characterized by its basic properties, such as the data burst/packet arrival rate, arrival pattern, and the packet/data burst length. The pattern of packet arrivals depends upon the type of application and whether periodic, aperiodic, random and/or events could be triggered. In the case of an event-triggered system, the data arrival process will be influenced by monitoring events or associated activities within a monitoring network. For example, in sensor actuator network applications, data can be triggered by other monitoring events and, hence, the data generation probability will depend on the event characteristics which can be stochastic in nature. In event triggered systems, data generation characteristics could be significantly different from H2M and H2H applications. Some of the general requirements of M2M applications and traffic are listed below. * Large number of data devices distributed over a wide area where node density in terms of nodes/sq. km could be high, representing a dense operating environment. * Delay-sensitive or time-controlled; a packet needs to be delivered within a fixed time period. * Delay-tolerant; generally seen as elastic traffic that can support variable and longer delays. * Low packet loss tolerance; many applications may not support any or very little packet losses. * Small data burst transmissions; applications generate small data bursts, which need to be transmitted independently. * Data asymmetry with higher data volume on uplinks; mostly for monitoring and control applications. * Event-based traffic generation, traffic characteristics, and intensity could depend on physical events in a network. * Priority alarm and/or traffic; high priority traffic that may coexist with other class of traffic. * Point-to-point and point-to-multipoint packet transmissions supporting multicast services. Servicing a single traffic class either with fixed or variable interarrival time is relatively easier. Many of the M2M/IoT applications will generate a single packet per data burst. However, the event triggered or surveillance applications could generate data bursts where multiple packets could be generated in successions within a data burst. In such applications the packet inter-arrival time could vary depending on the event [9]. Quite often event-triggered data is difficult to handle through conventional data networks because such traffic demands higher priorities where network resources need prior allocation. Such applications could be seen in a smart grid environment supporting fault detection and management applications.