The Internet of Things (IoT) is of continuously growing interest for research and industry [...]
The Java Programming Language revolutionized the world of software development in the last decades. Thanks to its portability, Java makes it possible to develop software that can run everywhere, in a truly cross-platform computing environment. Although running the same Java code anywhere works smoothly on major desktop and server platforms, this becomes much more complicated when different devices and platforms, such as smartphones or embedded systems, are taken into account. Furthermore, even if we consider devices that natively support the Java programming language, the same application may not run without re-writing part or the entire source code. This is mainly due to the existence of platform specific libraries for accessing input/output peripherals or system-specific features. In particular, the main limitation is usually associated to the different APIs that must be used for programming the Graphical User Interface (GUIs). In this paper, we present a novel framework that can be used by developers to write Java applications with portable GUIs that are truly platform-independent and thus can run on different systems such as PCs, Workstations, Android devices or mobile phones and embedded systems with Java MicroEdition (Java ME).
The internet of things (IoT) is one of the most disrupting revolutions that is characterizing the technology ecosystem. In the near future, the IoT will have a significant impact on people’s lives and on the design and developments of new paradigms and architectures coping with a completely new set of challenges and service categories. The IoT can be described as an ecosystem where a massive number of constrained devices (denoted as smart objects) will be deployed and connected to cooperate for multiple purposes, such a data collection, actuation, and interaction with people. In order to meet the specific requirements, IoT services may be deployed leveraging a hybrid architecture that will involve services deployed on the edge and the cloud. In this context, one of the challenges is to create an infrastructure of objects and microservices operating between both the edge and in the cloud that can be easily updated and extended with new features and functionalities without the need of updating or re-deploying smart objects. This work introduces a new concept for extending smart objects’ support for cloud services, denoted as a sidecar object. A sidecar object serves the purpose of being deployed as additional component of a preexisting object without interfering with the mechanisms and behaviors that have already been implemented. In particular, the sidecar object implementation developed in this work focuses on the communication with existing IoT cloud services (namely, AWS IoT and Google Cloud IoT) to provide a transparent and seamless synchronization of data, states, and commands between the object on the edge and the cloud. The proposed sidecar object implementation has been extensively evaluated through a detailed set of tests, in order to analyze the performances and behaviors in real- world scenarios.
In the Internet of Things (IoT) everything will be connected, from refrigerators to coffee machines, to shoes. Many such "things" will have a very limited amount of energy to operate, often harvested from their own environment. Providing data confidentiality for such energy-constrained devices has proven to be a hard problem. In this article, we discuss existing approaches to data confidentiality for energyconstrained devices and propose a novel approach to drastically reduce a node's energy consumption during encryption and decryption. In particular, we propose to distribute encryption and decryption computations among a set of trusted nodes. We validate the proposed approach through both simulations and experiments. Initial results show that the proposed approach leads to energy savings (from a single node's perspective) of up to 73% and up to 81% of the energy normally spent to encrypt and decrypt, respectively. With such great savings, our approach holds the promise to enable data confidentiality also for those devices, with extremely limited energy, which will become commonplace in the IoT.
In future years, the Internet of Things is expected to interconnect billions of highly heterogeneous devices, denoted as “smart objects”, enabling the development of innovative distributed applications. Smart objects are constrained sensor/actuator-equipped devices, in terms of computational power and available memory. In order to cope with the diverse physical connectivity technologies of smart objects, the Internet Protocol is foreseen as the common “language” for full interoperability and as a unifying factor for integration with the Internet. Large-scale platforms for interconnected devices are required to effectively manage resources provided by smart objects. In this work, we present a novel architecture for the management of large numbers of resources in a scalable, seamless, and secure way. The proposed architecture is based on a network element, denoted as IoT Hub, placed at the border of the constrained network, which implements the following functions: service discovery; border router; HTTP/Constrained Application Protocol (CoAP) and CoAP/CoAP proxy; cache; and resource directory. In order to protect smart objects (which cannot, because of their constrained nature, serve a large number of concurrent requests) and the IoT Hub (which serves as a gateway to the constrained network), we introduce the concept of virtual IoT Hub replica: a Cloud-based “entity” replicating all the functions of a physical IoT Hub, which external clients will query to access resources. IoT Hub replicas are constantly synchronized with the physical IoT Hub through a low-overhead protocol based on Message Queue Telemetry Transport (MQTT). An experimental evaluation, proving the feasibility and advantages of the proposed architecture, is presented.
A novel model of Internet access networks is proposed, based on fog computing. The model hosts applications close to users by relying on virtual machines to dynamically move cloud or Web content to nodes located at the edge of access networks. Then it can perform proactive caching and enforce traffic policies based on the interaction between access infrastructure and external applications. By analyzing experimental data collected from public Wi-Fi hotspots, the authors quantify the benefits of this approach for bandwidth usage optimization, latency reduction, and quality of experience enhancement. Experimental results show that a significant portion (from 28 to 50 percent) of download data could be managed by the fog node. On the basis of these findings, useful insights for future-generation access networks are provided.
The Internet of Things (IoT) is expected to interconnect billions (around 50 by 2020) of heterogeneous sensor/actuator-equipped devices denoted as “Smart Objects” (SOs), characterized by constrained resources in terms of memory, processing, and communication reliability. Several IoT applications have real-time and low-latency requirements and must rely on architectures specifically designed to manage gigantic streams of information (in terms of number of data sources and transmission data rate). We refer to “Big Stream” as the paradigm which best fits the selected IoT scenario, in contrast to the traditional “Big Data” concept, which does not consider real-time constraints. Moreover, there are many security concerns related to IoT devices and to the Cloud. In this paper, we analyze security aspects in a novel Cloud architecture for Big Stream applications, which efficiently handles Big Stream data through a Graph-based platform and delivers processed data to consumers, with low latency. The authors detail each module defined in the system architecture, describing all refinements required to make the platform able to secure large data streams. An experimentation is also conducted in order to evaluate the performance of the proposed architecture when integrating security mechanisms.
The Internet of Things (IoT) will consist of billions of interconnected heterogeneous devices denoted as “smart objects.” Smart objects are generally sensor/actuator-equipped and have constrained resources in terms of: (i) processing capabilities; (ii) available ROM/RAM; and (iii) communication reliability. To meet low-latency requirements, real-time IoT applications must rely on specific architectures designed in order to handle and process gigantic (in terms of number of sources of information and rate of received data) streams of data coming from smart objects. We refer to this smart object-generated data stream as “Big Stream,” in contrast to traditional “Big Data” scenarios, where real-time constraints are not considered. In this paper, we propose a novel Cloud architecture for Big Stream applications that can efficiently handle data coming from deployed smart objects through a graph-based processing platform and deliver processed data to consumer applications with lowest latency.
The momentum gained by the Internet of Things (IoT) has lead technology to be sufficiently mature to finally reach the market. The expectations and concerns of users around new products are primarily related to the possibility to interact with things in a seamless and effective way and, above all, to do so securely. Within this context, the main pillars required to support a sustainable and practical IoT are: interoperability, discoverability, and authorization. Based on the concepts and experience gained with the traditional Internet, the Web of Things (WoT) paradigm is chartered to address the former two issues. However, fast-developed and simplistic vertical approaches, due to the rush to launch IoT products, have not considered authorization adequately. Access to smart objects typically occurs through product-bound Cloud platforms, which mediate between vendor-specific smartphone apps and objects. Notwithstanding, effective mechanisms to manage authorized access to resources are required to really make simple and safe to use and share things. In this paper, we propose a standard-based authorization framework for WoT applications, which allows to effectively enforce fine-grained access policies to authorized parties. An implementation is presented to highlight the simplicity of the proposed approach and the benefits that it can introduce.
Open authorization (OAuth) is an open protocol, which allows secure authorization in a simple and standardized way from third-party applications accessing online services, based on the representational state transfer (REST) web architecture. OAuth has been designed to provide an authorization layer, typically on top of a secure transport layer such as HTTPS. The Internet of Things (IoTs) refers to the interconnection of billions of resource-constrained devices, denoted as smart objects, in an Internet-like structure. Smart objects have limited processing/memory capabilities and operate in challenging environments, such as low-power and lossy networks. IP has been foreseen as the standard communication protocol for smart object interoperability. The Internet engineering task force constrained RESTful environments working group has defined the constrained application protocol (CoAP) as a generic web protocol for RESTful-constrained environments, targeting machine-to-machine applications, which maps to HTTP for integration with the existing web. In this paper, we propose an architecture targeting HTTP/CoAP services to provide an authorization framework, which can be integrated by invoking an external oauth-based authorization service (OAS). The overall architecture is denoted as IoT-OAS. We also present an overview of significant IoT application scenarios. The IoT-OAS architecture is meant to be flexible, highly configurable, and easy to integrate with existing services. Among the advantages achieved by delegating the authorization functionality, IoT scenarios benefit by: 1) lower processing load with respect to solutions, where access control is implemented on the smart object; 2) fine-grained (remote) customization of access policies; and 3) scalability, without the need to operate directly on the device.
In the next few years the Internet of Things (IoT) is expected to bring together billions of devices, denoted as "smart objects," thus creating an extremely large-scale network of heterogeneous devices, which will provide an unprecedented opportunity to build new applications and forms of interactions that will shape the world. The heterogeneous and dynamic nature of smart objects that will form the IoT requires the design and adoption of standard communication models and protocols in order to enable interoperability and long-term evolution of deployed systems. Much attention must be therefore paid on the adoption of lightweight and low-overhead communications intended to minimize energy- consumption and processing load. While the Constrained Application Protocol (CoAP) is intended to bring the REST paradigm to smart objects, there are many application scenarios that might benefit from the use of sessions (i.e., an exchange of data between an association of participants). In this paper, we introduce a lightweight Session Initiation Protocol targeted to constrained environments, based on CoAP, which re-uses the syntax and semantics of CoAP in order to create, modify, and terminate sessions among smart objects with minimal overhead.
In the next few years, the Internet of Things (IoT) will become a reality, merging the social, physical, and cyber worlds to enable new applications and forms of interaction between humans and connected, smart sensing and actuating devices. As billions of smart objects become deployed pervasively in the environment, users should be able to discover and interact with objects in their proximity in a seamless and transparent way. Although smartphones have become an extremely popular computing device, smart wearable devices, such as Google Glass and the Apple watch, are now providing even more effective means to bridge the gap between humans and smart objects. The authors analyze the characteristics of wearable applications for IoT scenarios and describe the interaction patterns that should occur between wearable or mobile devices and smart objects. The authors also present an implementation of a wearable-based Web of Things application used to evaluate the described interaction patterns in a smart environment, deployed within their department's IoT testbed.
The Internet of Things (IoT) is shaping to a worldwide network of networks consisting of billions of interconnected heterogeneous sensor/actuator-equipped devices (denoted as "things" or "smart objects"), which are expected to exceed 50 billions by 2020. Smart objects, which will be pervasively deployed, are constrained devices with (i) limited processing power and available memory and (ii) limited communication capabilities, in terms of transmission rate and reliability. Future Smart-X applications, such as Smart Cities and Home Automation, will be fostered by the use of standard and interoperable IP-based communication protocols that smart objects are going to implement, by simplifying their development, integration, and deployment. Smart-X applications will significantly differ from traditional Internet services, in terms of: (i) the number of data sources; (ii) rate of information exchange; and, (iii) need for real-time processing. Because of these requirements, such services are denoted as "Big Stream" applications, in order to distinguish them from traditional Big Data applications. In this paper, we present an implementation of a novel Cloud architecture for Big Stream applications based on standard protocols and open-source components, which provides a scalable and efficient processing platform for IoT applications, designed to be open and extensible and to guarantee minimal latency between data generation and consumption. We also provide a performance evaluation based on experimentation in a real-world Smart Parking scenario, to assess the feasibility and scalability of the proposed architecture.
O ver the past few decades, the Internet has grown to allow people to access and consume services on a global scale using traditional hosts and always-connected mobile devices such as smartphones, typically over the World Wide Web. By connecting objects and devices, the Internet of Things (IoT) will fully exploit networking’s potential and enable the application of innovative services to a large set of scenarios, such as home and building automation, smart cities, and healthcare. This will integrate new paradigms for human-to-machine (H2M) and machine-tomachine (M2M) interaction. Many IoT applications will let users interact with smart environments that provide them with information and change and adapt according to their needs and preferences, with or without these users in the loop. IoT applications will exploit the large diffusion and pervasive deployment of smart objects—tiny devices equipped with a microcontroller, a communication interface (wired or wireless), a power supply, and a set of sensors and actuators that are used to interface with the surrounding environment. Several players are developing innovative IoT-related products in a variety of fields even as users are becoming aware of the integration between the physical and cyber worlds. This “gold rush” is driven on one hand by the desire to demonstrate the feasibility of interconnecting everyday devices to people and on the other hand by the intent to make custom solutions possible standards for the general public. This has created a plethora of closed vertical solutions, leading to a highly fragmented market: a babel of incompatible solutions instead of a highly standardized and interoperable environment, which is what the Internet (of Things) should be like.1 To prevent the IoT from reaching a dead WEARABLE COMPUTING
The Internet of Things (IoT) will interconnect billions of devices, denoted as “smart objects,” deployed pervasively, which will be extremely heterogeneous, in terms of hardware (i.e., computational power and available memory), software (i.e., operating systems, applications), and communication interfaces. Traditional Internet actors, such as personal computers, mobile devices, and cloud servers, will also communicate with smart objects, thus creating even more complexity. The IoT has so far grown as several vertical silos, with the purpose of demonstrating the concept of the IoT, rather than focusing on the actual construction of a highly interoperable infrastructure for the development of applications. The Internet Protocol (IP) stack (in particular, HTTP and CoAP) has been foreseen as the driver for integration and interoperability among devices and basis for the evolution of the Web of Things. However, in order to manage the physical diversity of devices and to create an IP-based infrastructure, the presence of network elements able to bridge different networks to enable direct end-to-end communication is required. Moreover, effective interaction with applications might require the presence of intermediaries, such as proxies, which may optionally implement protocol and data format translation functionalities. Given the above considerations, we propose a Fog node, denoted as “IoT Hub,” placed at the edge of multiple networks, which enhances the networks capabilities by implementing the following functions: border router; cross-proxy; cache; and resource directory. An implementation of the IoT Hub is presented together with a performance evaluation in a real-world IoT testbed.