Repository logo
 

Search Results

Now showing 1 - 3 of 3
  • Hypermedia APIs for the Web of Things
    Publication . Martins, Jaime; Mazayev, Andriy; Correia, Noélia
    The Web of Things is a new and emerging concept that defines how the Internet of Things can be connected using common Web technologies, by standardizing device interactions on upper-layer protocols. Even for devices that can only communicate using proprietary vendor technologies, upper-layer protocols can generally provide the necessary contact points for a high degree of interoperability. One of the major development issues for this new concept is creating efficient hypermedia-enriched application programming interfaces (APIs) that can map physical Things into virtual ones, exposing their properties and functionality to others. This paper does an in-depth comparison of the following six hypermedia APIs: 1) the JSON Hypertext Application Language from IETF; 2) the Media Types for Hypertext Sensor Markup from IETF; 3) the Constrained RESTful Application Language from IETF'; 4) the Web Thing Model from Evrythng; 5) the Web of Things Specification from W3C; and 6) the Web Thing API from Mozilla.
  • A distributed CoRE-Based resource synchronization mechanism
    Publication . Mazayev, A.; Correia, Noélia
    Representational state transfer (REST) application programming interfaces and event processing are the cornerstone of the dynamic Internet of Things. While the former is required for device interoperability, the latter is important for autonomous and responsive systems. In recent years, both topics have received a lot of attention and have been drastically changing due to the emergence of new applications, which end up working inefficiently with current standards and architectures. More recently, event processing started to move down from the top (cloud) to bottom (edge devices). At the same time, the Internet Engineering Task Force, which normally solves low-layer protocol-related problems, has also started looking at event processing and resource synchronization from a bottom-up perspective. This article explores the intersection of these efforts by making an in-depth overview of currently existing standards, and Internet drafts, that allow building complex event processing chains. Next, a new reusable and scalable event processing mechanism, which can be distributed across multiple end-devices, is introduced. Its optimal distribution across end-devices is mathematically addressed, and results confirm its effectiveness.
  • A Comparative study of software architectures in constrained device IoT deployments
    Publication . du Plessis, Shani; Correia, Noélia
    The Internet of Things (IoT) is an area that has consistently seen growth and development and will no doubt continue to do so. One group of IoT devices - constrained devices - has seen significant developments in recent years. With the advent of constrained devices in almost every area of life, e.g. industrial, leisure and medical, this group of devices is well worth studying. Clearly, resource management is a critical aspect to ensure optimal use of such devices. A number of factors can have a significant impact on resource management, such as the operating system and the software architecture. This study aimed to compare the power consumption, runtime performance and memory consumption of two software architectures: microservices and monolithic. The study was conducted using a constrained device, and to ensure that the results are not language-specific, three different programming languages were used: Go, Python and C++. It was found that, for small-scale applications, the monolithic architecture performed better across most metrics. These results may provide valuable insights to engineers for the design and implementation of constrained-device IoT applications. It was recommended that additional research be conducted on larger-scale applications.