Keywords

1 Introduction

Internet of Things (IoT) is a technological revolution that represents the future of connectivity and reachability. In IoT, ‘things’ refer to any object on the face of the Earth, whether it is a communicating device or a non-communicating dumb object. From a smart device to a leaf of a tree or a bottle of beverage, anything can be part of Internet.

IoT works on the basis of Machine-to-Machine (M2M) communications, but not limited to it. M2M refers to communication between two machines, without human intervention. In IoT, even non-connected entities can become part of IoT, with a data communicating device, like a bar-code or an RFID tag, sensed through a device (may even be a smartphone sensing it), which eventually is connected to the Internet. Non-intelligent objects, known as ‘things’, become the communicating nodes in IoT. IoT based services are gaining importance rapidly. Since 2011, the number of connected devices has already exceeded the number of people on Earth. Already, connected devices have reached 9 billion and are expected to grow more rapidly and reach 24 billion by 2020 [21]. With an increasing number of heterogeneous devices connected to IoT and generating data, it is going to be a great challenge for a standalone IoT to perform power and bandwidth constrained tasks efficiently. In this regard, IoT and cloud computing amalgamation has been envisioned [7, 9]. There comes a situation when a cloud is connected with an IoT that generates multimedia data. Visual Sensor Network or CCTV connected to the cloud can be examples of such scenario. Since multimedia content consumes more processing power, storage space, and scheduling resources, it will be very important to manage them effectively and perform efficient resource management in the cloud. Other than that, mission critical and latency sensitive IoT services require a very quick response and processing. In that case, it is not feasible to communicate through distant cloud, over the Internet.

This chapter focuses on energy efficiency, resource management, and creating new and extended portfolio of services through Cloud of Things. Latency sensitive and emergency related services can take benefit from this new paradigm to a great extent. Integration of Internet of Things with cloud computing is gaining importance, with the way the trend is going on in ubiquitous computing world. Literally, everything is going to be connected to the Internet and its data would be used for various progressive purposes, creating not only information from it, but also, knowledge and even wisdom. IoT becoming so pervasive that it is becoming important to integrate it with cloud computing because of the amount of data IoTs could generate and their requirement to have the privilege of virtual resource utilization and storage capacity, but also, to make it possible to create more usefulness from the data generated by IoTs and develop smart applications for the users. The integration of IoT with cloud computing, referred to as Cloud of Things [7, 9], requires a smart gateway to perform the rich tasks and preprocessing, which sensors and light IoTs are not capable of doing. We have also discussed some of the key challenges involved in CoT and the proposal of smart gateway based communication.

It is not going to be that simple to allow everything to become a part of IoT and then having all the resources available through cloud computing. There lies some issues that have to be taken care of to allow CoT to prevail. Other than data and resources, the cloud has to deal with the business point of view as well. CoT will create more business opportunities, making it a bigger target for the attackers. Security, privacy, and specially, identity protection becomes very important in hybrid clouds, where there is an essence of private and public clouds, used by businesses. In CoT, heterogeneous networks will be involved, which support different types of data and services. The network must have the flexibility to support all types of data, according to their requirements, with QoS support. Some of the key issues in this regard will be discussed later in the chapter.

2 Contributions of the Book Chapter

In this chapter, we have discussed the importance of the integration of IoT with cloud computing, called CoT, for the purpose of better resource management and energy efficiency. We have presented the working scenario of CoT. Moreover, the challenges CoT may face are discussed along with their appropriate envisioned solutions. To have standard architecture of CoT, the challenges discussed in this chapter will help a great deal to focus the future research and development. This chapter will help in making directions towards not only standardizing CoT, but also, gives directions towards more practical implications of CoT and addressing the noteworthy issues in this regard.

3 Related Work

CoT is still in its start; therefore, there is no standard architecture available for data communication, media storage, compression, and media delivery. Already done studies mainly provide very abstract and simplistic architectural blueprints. Pritee Parwekar et al. present the concept of IoT and cloud computing integration in [35]. However, the authors only provide a very abstract overview of the concept. On the other hand, in this chapter, we discuss IoT-cloud integration with details on the working architecture, working scenarios, and potential issues along with the directions towards their solutions. Salvator Distefano et al. also present in [16] the concept of CoT. The authors discuss the architecture of CoT, however noteworthy issues are not included in their work. Madoka Yuriyama et al. [46] discuss sensor-cloud infrastructure, but the authors only focus on how sensor-cloud infrastructure virtualizes a physical sensor as a virtual sensor in the cloud. Mohammad Mehedi Hassan et al. [22] also presented sensor-cloud integration. Even though the authors claim to present issues involved in this regard, the study does not present any of the key problems faced by the sensor-cloud integration. In our work, challenges like: resource management, energy efficiency, heterogeneous protocols support, etc., are discussed.

Many underlying IoT devices, like: smartphones, tablet computers, and media related sensor networks such as Visual Sensor Networks (VSN), entertainment systems in vehicular ad hoc networks (VANETS), require efficient media processing. Intel-HP Viewpoint paper [2] presents an industrial overview of the media cloud in this regard, but IoT and the above mentioned scenarios are not part of that study. It is stated that media cloud is the solution to suffice the dramatically increasing trends of media content and media consumption. For media content delivery, QoS is going to be the main concern. Regarding customized QoS provisioning, we presented an end to end QoS provisioning mechanism using the Flow Label of IPv6 and Multi-Protocol Label Switching (MPLS) [11]. To reduce delay and jitter of media streaming, better QoS is required, for which W. Zhu et al. [48] propose the media-edge cloud (MEC) architecture. The authors state that the MEC is a cloudlet which locates at the edge of the cloud. MEC is composed of storage space, Central Processing Unit (CPU), and graphics processing unit (GPU) clusters. The MEC stores, processes, and transmits media content at the edge, thus incurring a shorter delay. In turn, the media cloud is composed of MECs, which can be managed in a centralized or peer-to-peer (P2P) way. The authors do not present the cost-effect of this proposal. Moreover, the MEC only acts as a proxy. Transcoding and resource management tasks are still not done at this point.

Liam McNamara et al. present a demo application for low powered devices and sensors, for the purpose of storage of data in the cloud [32]. Geoffrey C. Fox et al. also present characteristics of cloud based Internet of Things [19]. In their work, the authors present an open-source cloud-IoT framework. Rogers Owen et al. present [36] a resource allocation mechanism in cloud arena, but their study lacks the scenario where IoT is involved. Their study is also only limited to standard cloud resource management. Ki-Woong Park et al. [34] present a billing system with some security features. To resolve different types of disputes in future, a mutually verifiable billing system is presented. Their work only focuses on the reliability of transactions made in purchasing and consuming resources. They do not focus on the overall resource management specially with CoT. Only transactions security in cloud is discussed. Wei Wang et al. [41] propose a brokerage service for reservation of instances. The authors propose a brokerage service for on-demand reservation of resources, for IaaS clouds. Their work is limited to cloud only services. This brokerage model can be extended to Fogs for IoTs, as discussed in our prior works [5, 7]. Same is the case with Foued Jrad et al., who present in [24, 25] a generic architecture of the broker. They present how the broker handles SLA management and interoperability of resources. Yichao Yang et al. present resource allocation algorithm in a simplistic way [45]. Ewa Deelman et al. present performance tradeoffs of different resource provisioning plans. They also present tradeoffs in terms of storage fee of Amazon S3 [15]. The scope of these studies can be extended by incorporating IoT based resource management. Shadi Ibrahim et al. present the concept of fairness in pricing with respect to micro-economics [23], but do not discuss how pricing should be done for different types of services, specially in the case of IoT. Nikolay Grozev et al. present basic taxonomies for inter-cloud architecture [20], which lacks relationship of it with IoT. Buyya et al. presents architectural fundamental of inter-cloud computing [13] which also does not include IoT. David Villegas et al. present in [40] how multiple clouds are influenced by creating a cloud federation environment. Kan Yang et al. present in [44] a dynamic auditing protocol for ensuring the integrity of stored data in the cloud. They present an auditing framework for cloud storage. Zhen Xiao et al. present in [43] a resource allocation system that uses virtualization technology to dynamically allocate resources, according to the demands of the service. In their study, they present measuring the unevenness in resource utilization. IoT based environment is not considered in this study. D. Cenk Erdil, in [17], presents an approach for resource information sharing through proxies. In situations where clouds are distant and there is no direct control, proxies can be used to make resource information available to them. This study only focuses on the importance of resource information sharing. Research is now required to be more towards IoT-cloud integration. Rakpong et al. consider resource allocation in mobile cloud computing environment in their work [26]. They discuss about communication/radio resources and computing resources, but their work only focuses on decision making for coalition of resources, to increase service providers revenue. Kenji Tei and Levent Gurgen discuss in [38] about CoT. They term this paradigm as ClouT. The authors endorse that for efficiently managing energy and economic growth, CoT is an inevitable requirement. According to the authors, more than half of the world’s population lives in cities. With the advent of smart cities, it is going to be literally impossible to handle the data generated and manage the services. Anuj Sehgal et al. [37] discuss about resource management of devices in IoT. Devices and sensors in IoT are resource constrained. Other than power, memory and processing capabilities, interoperability is going to be a big concern. In this case, the authors advise to use the IPv6 protocol, due to its large address space and the number of already existing protocols, capable of functioning over IP.

4 Internet of Things

IoT, the term first introduced by Kevin Ashton in 1998, is the future of Internet and ubiquitous computing [42]. This technological revolution represents the future of connectivity and reachability. Unlike the traditional networks of embedded systems, IoT is capable of interconnecting heterogeneous devices, having diverse functionalities, produced by different manufacturers [29]. The objects become communicating nodes over the Internet, through data communication means, primarily through Radio Frequency Identification (RFID) tags. IoT includes smart objects as well. Smart objects are those objects that are not only physical entities, but also digital ones and perform some tasks for humans and the environment. This is why, IoT is not only a hardware and software paradigm, but also includes interaction and social aspects as well [28].

In its simplest terms, IoT refers to a network of inter-connected things, objects, or devices on a massive scale. These objects are able to connect to the Internet. These objects, in huge numbers, are made smart; they sense their surroundings, they gather and exchange data with other similar devices. Based on the gathered data, the devices make intelligent decision to trigger an action or send the data to a server over the Internet and wait for its decision. Most common nodes in IoT are sensors [30] used in many areas from industrial process control to inside ovens and refrigerators and RFID chips [33] used as tags in many products of everyday use. Almost all of these smart devices have a short communication range and require very little power to operate. Bluetooth [31] and IEEE ZigBee [4] are the most common communication technologies used in this regard.

Another aspect of these devices is their network topology. A single smart device (e.g. in our refrigerator) will communicate to a router installed in the house or with a cellular tower and the same thing will happen for similar devices installed in other equipment and places. But in places where a large number of these devices are used, an aggregation point might be required to collect the data and then send it to a remote server. Examples of such deployment can be industrial process control, monitoring of utilities supply lines, such as oil pipelines or water sewage lines, product supply chain in a warehouse or some secured area.

IoT also presents many possible scenarios where heterogeneous devices interact with each other and then pass on the information to a central authority. One such scenario is the amalgamation of Intelligent Transportation System (ITS) with IoT. Nowadays, ITS is a very active research area which envisions to provide commuters safer and time efficient travel to their destinations. Several sensors on-board a vehicle and also on traffic signal poles monitor and sense the traffic situation on the roads. On the one hand, this real time information is presented to the drivers to see the traffic situation towards their destination and plan the journey accordingly. Moreover, this information is also sent to a traffic control authority to monitor the traffic congestion around the city and then direct traffic to alternate routes or change the time of traffic signals duration on demand.

Another point is that by looking at mainstream applications, it is evident that they do not require too much bandwidth. At least at this moment, the IoT applications probably have less bandwidth requirements than HD video streaming and Video on Demand (VoD) applications we use today. The data is transmitted in short bursts and at regular intervals. What these applications demand, however, is short latency in network access, transmission and guaranteed delivery of the data. Security is another aspect which is important. We are migrating towards the era of M2M communications but to enable automation in our daily life we must take absolute security and privacy concerns very seriously. Many of the envisioned applications require response or command to perform some action in minimum time possible. Hence a prioritized and quick access to the network will be the basis of IoT. In short, there is a plethora of possible applications, services, devices, communication technologies, network topologies etc. all contributing to the complex architecture of IoT.

Some envisioned IoT application areas include:

  • Smart Cities

  • Product Manufacturing

  • Agriculture Automation

  • Logistic Services

  • Security, Monitoring, and Surveillance

  • Smart Vehicles

  • Green and Energy Efficient Homes

  • Tele Medicine and Healthcare

  • Product Monitoring

  • Environment Monitoring

  • Emergency Management

Realizing the potential of IoT, Intel has coined its own term of ‘Embedded Internet’ [1]. The concept is not largely different from the traditional IoT but Intel realizes that smart devices embedded into many devices will be the norm in the future. They will communicate with other larger systems and among each other. This brings new opportunities for product and service developers to generate revenue sources. The architecture of IoT is usually considered to be 3-layer, with perception layer, network layer, and application layer, but some [27, 42] add two more layers: middleware layer and business layer. This five layer architecture is described in Fig. 1. This layered architecture provides an overview of how IoT service provisioning is divided and what types of stages are involved for the data to be produced and ultimately, create services.

Fig. 1
figure 1

Internet of things layers

The perception layer is the lowest layer in the IoT architecture. As the name suggests, its purpose is to perceive the data from the environment. All the data collection and data sensing part is done at this layer [39]. Sensors, bar code labels, RFID tags, GPS, and camera, lie in this layer. Identifying objects/things and gathering data are the main purpose of this layer. The network layer is like the Network and Transport layers of OSI model. It collects the data from the perception layer and sends it to the Internet. The network layer may only include a gateway, having one interface connected to the sensor network and another to the Internet. In some scenarios, it may include a network management center or information processing center. The middleware layer receives data from the network layer. Its purpose is service management and storage of data. It also performs information processing and takes decisions automatically based on the results. It then passes the output to the next layer, the application layer [27]. The application layer performs the final presentation of data. The application layer receives information from the middleware layer and provides global management of the application presenting that information, based on the information processed by the middleware layer. Depending upon the type of devices and their purpose in perception layer and then on the way they have been processed by the middleware layer, according to the needs of the user, the application layer presents the data in the form of: smart city, smart home, smart transportation, vehicle tracking, smart farming, smart health and many other kinds of applications [27]. The business layer is all about making money from the service being provided. Data received at the application layer is molded into a meaningful service and then further services are created from those existing services. Furthermore, information is processed to make it knowledge and further efficient means of usage makes it wisdom, which can earn a good amount of money to the service provider.

5 Cloud Computing

Cloud computing newly arose and advanced swiftly as a capable as well as preordained technology. Cloud computing platform brings with it highly scalable, manageable, and schedulable virtual servers, storage, computing power, and virtual networking, according to user’s requirements. Therefore, it can provide solution package for the digital data revolution, if accordingly designed for IoTs and integrated with the advanced technologies on data processing, transmission, and storage. On average, a user generates content very quickly as long as its storage space permits [21]. Most of the content may be used frequently by the user, which requires to be accessed easily. Media management is among the key aspects of cloud computing, since cloud makes it possible to store, manage, and share large amount of digital media. For media content related IoTs, this feature is going to play a very important role. In future, several multimedia services for the users who are on the go, such as smartphone, tablet, and laptop users, vehicular ad hoc networks, various emergency and rescue related services will be available. For such services, cloud computing is going to play a very important role in service and resource management. Specially with the extended cloud, Fog Computing [5], also known as Edge Computing, or Micro-Datacenter (MDC), the cloud will be more diversely used. Cloud computing is a handy solution for processing content in distributed environments. It provides ubiquitous access to the content, without the hassle of keeping large storage and computing devices. Sharing large amount of digital content is another feature that cloud computing provides. Other than social media, traditional cloud computing provides additional features of collaboration and editing of content. Likewise, if content is to be shared, downloading individual files one by one is not easy. Cloud computing caters this issue, since all the content can be accessed at once by other parties, with whom the content is being shared. Furthermore, more context-aware services can be provided through cloud computing, since IoT and sensor nodes are not rich enough in resources to accomplish such tasks. Data stored in the cloud can also be further analyzed, in order to create more customized and useful services.

6 Cloud of Things

We are moving towards web 3.0, the ubiquitous computing web. Since the number of connected devices is rapidly increasing, hence, the amount of data will also be increasing. Storing that data locally and temporarily will not be possible anymore. There is going to be a need of rental storage space. Moreover, this huge amount of data must also be utilized in the way it deserves. Data must not only be processed to form information and further, to form knowledge, but it should be made a mean of wisdom for the user. This asks for more processing, which is not possible at the IoT end, where devices are low cost and light-weight. Again, processing and computation must also be available there on rental basis. All this is possible with cloud computing. IoT and cloud computing working in integration makes a new paradigm, which is called Cloud of Things [5, 7, 9]. IoT provides sophisticated means of communication with the broader world, the web, through ubiquitous networks and devices. On the other hand, cloud computing provides scalable network access, according to the demands [47]. Figure 2 presents an overall communication pattern of CoT. This figure provides an overall picture of how IoT-cloud communication will take place. Various IoTs generate data, which passes through each of the layer presented in Fig. 1. The data is communicated through a communication channel. Different examples are illustrated in the Fig. 2. The data ultimately reaches the cloud, which stores, processes, and secures the data, according to the requirements of the service. Once the service is created, it is made available to the end user, which is residing on the other side of the cloud, at the access layer.

Fig. 2
figure 2

IoTs and cloud—data communication

Other than sensors and IoT nodes, smartphones are also going to be part of IoT. Thanks to the advanced and capable access networks, like 3G, 4G, LTE, LTE-Advanced, WiBro, etc., a lot of multimedia communication is going to take place. CoT will play an important role in this regard, not only in delivering the service, but also, managing it.

7 Challanges Associated with Cloud of Things

It is not going to be that simple to allow everything to become part of IoT and then having all the resources available through cloud computing. There lies some issues that have to be taken care of to allow CoT to prevail. Other than data and resources, the cloud has to deal with the business point of view as well. CoT will create more business opportunities, making it bigger target for the attackers. Security, privacy, and specially, identity protection becomes very important in hybrid clouds, where there is an essence of private and public clouds, used by businesses [21]. In CoT, heterogeneous networks will be involved, which support different types of data and services. The network must have the flexibility to support all types of data, according to their requirements, with QoS support [21].

7.1 Protocol Support

For different things to be connected to the Internet, different protocols will have to coexist. Even if there are homogenous entities, for example a sensor IoT or Wireless Sensors Network, then there is still a possibility that sensors use different protocols, such as WirelessHART, ZigBee, IEEE 1451, Constrained Application Protocol (CoAP), and 6LOWPAN. As shown as an illustrative scenario in Fig. 3, some of the protocols will be supported by the gateway device, while some other protocols might not be. With CoT, this problems is going to increase, specially because of mobile cloud computing accessibility. With smartphones and tablet computers, when various healthcare service and other sensors based applications are accessed, protocol support is going to play an important role.

Fig. 3
figure 3

Protocol support, illustrative scenario

It all depends upon the gateway as well as the sensor being used. From the user’s perspective, cheaper or easily available sensor would be a preference. Consequently, it cannot be guaranteed whether a newly added sensor will be successfully configured or not. One of the solutions to this kind of problem is mapping of standardized protocols in the gateway.

7.2 Energy Efficiency

With the omnipresence of sensor networks and their connectivity with the cloud, this will inevitable lead to a lot of data communications, which consumes a lot of power. A typical wireless sensor node is composed of four components: sensing unit, processing unit, transceiver, and power unit. In case of video sensing, video encoding and decoding, power plays a vital role. Normally, video encoding is more complex, as compared to decoding. The reason behind this is that for efficient compression, the encoder has to analyze the redundancy in the video [14]. It is not going to be suitable to have a temporary power supply, like batteries and have to replace them every now and then. With billions of sensors and low power devices, it is beyond possibility. Having efficient usage of energy and rather permanent power supply would be required. There should be means for sensors to generate power from the environment, like solar energy, vibration, and air [18]. Likewise, effective sleep mode can be very handy in this regard as well. Another solution presented in [5] is bringing cloud resources locally, known as Fog Computing. Fog refers to a localized cloud, which can be used for process offloading purpose for the underlying IoT devices.

7.3 Resource Allocation

When IoTs of entirely different and unexpected things would be asking for resources in a cloud, resource allocation would be a challenge. In fact, it would be very difficult to decide how much a particular resource may be required by an entity or a particular IoT. Depending upon the sensor and the purpose for which sensor is being used, the type, amount, and frequency of data generation, resource allocation has to be mapped. Sending a sample packet from the newly added node can also be useful. One of the solutions is to bring a middleware, like Broker or Fog [5], which can perform all the resource management. Resource management algorithms can be implemented on the middleware and all the underlying devices are handled accordingly. With CoT, devices are going to communicate with the cloud. Therefore, cloud resources can also be managed at middleware layer.

7.4 Identity Management

Communicating nodes over the Internet are identified uniquely. When objects are becoming part of Internet (IoT), they also need a unique identification. Similarly, in case of mobile devices, like mobile sensor nodes on vehicles, tablet computers, smartphones, and other objects, need to have identity mapping in the new network they have just entered. With CoT, the sensors become ubiquitously available, making identity more of a concern. Since IPv6 address space is believed to be enough to support even this kind of ubiquitous networking, assigning IPv6 addresses can be more than a reasonable way in this regard.

7.5 IPv6 Deployment

If IPv6 is to be used for the identification of communicating objects, then formal deployment of IPv6 would also be an issue. Unless a proper, standardized, and efficient mechanism of IPv4–IPv6 coexistence is adopted, objects being assigned IPv6 would be of no great benefit. Since IPv4 and IPv6 are not directly interoperable, they have to be made to coexist. Most common mechanism is this regard is tunneling, but it incurs loss of data, because of heterogeneous fields in the headers of both of these IP versions [6, 8, 10, 12]. Tunneling also bears additional overhead of encapsulation and decapsulation, which may affect delay sensitive applications.

7.6 Service Discovery

With Cloud of Things, the cloud manager or broker has the responsibility to discover new services for the users. In IoT, any object can become part of it at any moment and can leave the IoT at any moment. As mentioned earlier, IoT will also be consisting of mobile nodes. It would be an issue to discover new services and their status and update the service advertisement accordingly. For complex and bigger IoTs, there may be a need of IoT manager as well, which can handle the responsibility of managing the status of IoT nodes, track mobile nodes and keep the updated status of existing nodes and newly added nodes of its IoT. A uniform way of service discovery would be required for this purpose.

7.7 Quality of Service Provisioning

As the amount of data increases and the type and unpredictability also comes into play, QoS becomes an issue. At any moment, any type and amount of data can be triggered. It may also be an emergency data as well. Dynamic prioritization of the requests would be required on the cloud side [21]. QoS would mostly be measured in terms of bandwidth, delay, jitter, and packet loss ratio [11]. Depending upon the type of data and its urgency to be sent to the sync node, QoS must be supported. A dynamic end-to-end QoS provisioning mechanism, using the Flow Label of IPv6 and Multi-Protocol Label Switching (MPLS) is discussed in [11].

7.8 Location of Data Storage

Location also matters for critical and latency or jitter sensitive services. Time sensitive data, like video, should be stored at the closest possible physical location to the user, so that delay is minimized. For multimedia data, nearest possible virtual storage server must be allocated. Figure 4 depicts an illustrative scenario.

Fig. 4
figure 4

Location of data storage and its effect

7.9 Security and Privacy

Security and privacy will become more of an issue with the kind of ubiquitous computing we are going to have in future. Data security would be an issue on the IoT side as well as on the cloud side. Similarly, in terms of privacy, more concern would be there. On Feb 01, 2013, it was read on The Independent [3], stating, “British internet users’ personal information on major ‘cloud’ storage services can be spied upon routinely by US authorities”. Thus, sensitive or private data must also be stored in a virtual storage server located inside the users country or trusted geographical domain, which can be a friendly country as well.

7.10 Communication of Unnecessary Data

When anything would be able to connect to the Internet and generate data, there is a possibility that at some stage it is no longer necessary to upload the data to the cloud or sync devices. Momentarily, the data may not be required. In that scenario, either the device must be stopped from generating data or the gateway device must decide when it is required to stop uploading the data for preserving resources of the network and cloud, for that while. It will also help in efficient utilization of power. One example could be a Visual Sensors Network. Since VSNs data is video based, therefore, it is large sized. At times there is no need to upload the captured data in the cloud. The data can be uploaded on a particular trigger. Before that, the data could be stored in a local storage (e.g., Fog), attached with the gateway device. Based on the feedback of the application, the gateway device decides when to upload the data and when not. For this purpose, the gateway device, connecting IoT to the cloud, should be having extra functionality to do a little processing before sending it to the Internet and eventually to the cloud. Based on the feedback from the application, the gateway must decide the timings and type of data to be sent. This kind of gateway, referred to as ‘smart gateway’, would help in better utilization of the network and cloud resources. The data collected from WSNs and IoTs will be transmitted through gateways to cloud. The received data is then stored in the cloud and from there it is provided as a service to the users. The generic communication of Smart Gateway with cloud and IoTs is presented in Fig. 5.

Fig. 5
figure 5

Smart gateway, communicating data only when it is needed

8 Conclusion

With rapidly increasing IoT services, service management, quality of service, efficiency, and user’s satisfaction are becoming crucial tasks. The future lies in the concept of CoT, in which IoTs are amalgamated with cloud computing for better resource managements and service provisioning. In case of multimedia content, a lot of resources are required. With CoT, sensors and other resource constrained devices will be managed through cloud computing. Moreover, for data storage and other tasks, cloud resources would be utilized in this regard. CoT is still in its infancy, therefore, there is no standard architecture available. We have presented some of the key challenges CoT has to deal with, along with their potential solutions. Working further on those directions would contribute in standardizing CoT. The challenges discussed are therefore future directions in CoT related research and development.