Category Archives: publications

Poster: Towards a Distributed and Self-Adaptable Cloud-Edge Middleware

Gascon-Samson, J., Jung K., Pattabiraman K. (2018) Poster: Towards a Distributed and Self-Adaptable Cloud-Edge Middleware, 2018 IEEE/ACM Symposium on Edge Computing (SEC 2018), Seattle, WA, USA
[Preprint] [Poster]

Abstract: The Internet of Things (IoT) landscape has grown tremendously over the past few years. Modern devices are getting more powerful, and are therefore gaining the ability to execute complex and rich applications (edge computing), which can yield many benefits compared to traditional, cloud-centric models. On the other end, the use of high-level languages (e.g., JavaScript) allows programmers to abstract low-level considerations, and gives the ability to run the same code across different platforms. In this paper, we describe the main features of ThingsJS, our comprehensive self-adaptive cloud-edge middleware that allows for designing and running high-level, complex applications written in JavaScript on the IoT devices themselves.

Poster Abstract: Ensuring Low-Latency and Scalable Data Dissemination for Smart-City Applications

Khare, S., Sun, H., Zhang, K., Gascon-Samson, J., Gokhale, A., Koutsoukos, K. (2018) Poster Abstract: Ensuring Low-Latency and Scalable Data Dissemination for Smart-City Applications, IoTDI 2018, Orlando, USA

Abstract: Low latency and scalable data dissemination is a critical requirement for many IoT applications, e.g., smart city applications, which are often built over a publish/subscribe communication paradigm. Ensuring low latency requires effective load balancing of the publish/subscribe topics across the different publishers and subscribers. To that end we present ongoing work on a data-driven approach to learning a latency-aware model of IoT broker loads, and in turn using it to determine broker replication, and balancing topics across them.

ThingsMigrate: Platform-Independent Migration of Stateful JavaScript IoT Applications

Gascon-Samson, J., Jung, K., Goyal, S., Rezaiean-Asel, A., Pattabiraman, K. (2018) ThingsMigrate: Platform-Independent Migration of Stateful JavaScript IoT Applications, ECOOP 2018, Amsterdam, Netherlands [Preprint] [Presentation Slides] [Poster]

Abstract: The Internet of Things (IoT) has gained wide popularity both in academic and industrial contexts. As IoT devices become increasingly powerful, they can run more and more complex applications written in higher-level languages, such as JavaScript. However, by their nature, IoT devices are subject to resource constraints, which require applications to be dynamically migrated between devices (and the cloud). Further, IoT applications are also becoming more stateful, and hence we need to save their state during migration transparently to the programmer. In this paper, we present ThingsMigrate, a middleware providing VM-independent migration of stateful JavaScript applications across IoT devices. ThingsMigrate captures and reconstructs the internal JavaScript program state by instrumenting application code before run time, without modifying the underlying Virtual Machine (VM), thus providing platform and VM-independence. We evaluated ThingsMigrate against standard benchmarks, and over two IoT platforms and a cloud-like environment. We show that it can successfully migrate even highly CPU-intensive applications, with acceptable overheads (about 30%), and supports multiple migrations.

ThingsJS: Towards a Flexible and Self-Adaptable Middleware for Dynamic and Heterogeneous IoT Environments

Gascon-Samson, J., Rafiuzzaman M., Pattabiraman K. (2017) ThingsJS: Towards a Flexible and Self-Adaptable Middleware for Dynamic and Heterogeneous IoT Environments, Middleware for IoT (m4iot)@Middleware 2017, Las Vegas, USA
[Preprint] [Presentation Slides]

Abstract: The Internet of Things (IoT) has gained wide popularity both in academic and industrial contexts. Nowadays, such systems exhibit many important challenges across many dimensions. In this work, we propose ThingsJS, a rich Javascript-based middleware platform and runtime environment that abstracts the inherent complexity of such systems by providing a high-level framework for IoT system developers, built over Javascript. ThingsJS abstracts several large-scale distributed systems considerations, such as scheduling, monitoring and self-adaptation, by means of a rich constraint model, a multi-dimensional resource prediction approach and a SMT-based scheduler to properly schedule and manage the execution of high-level, large-scale distributed applications on heterogeneous physical IoT devices. ThingsJS also provides a rich inter-device communication framework built on top of the widely-used publish/subscribe/MQTT paradigm. Finally, ThingsJS also proposes a rich inter-device Javascript-based code migration framework to support the transparent migration of live IoT components between heterogeneous devices.

SmartJS: Dynamic and Self-Adaptable Runtime Middleware for Next-Generation IoT Systems (Poster)

Gascon-Samson, J., Rafiuzzaman M., Pattabiraman K. (2017) SmartJS: Dynamic and Self-Adaptable Runtime Middleware for Next-Generation IoT Systems (Poster), SPLASH 2017, Vancouver, Canada
[Preprint] [Poster]

Abstract: The Internet of Things (IoT) has gained wide popularity both in the academic and industrial contexts. However, IoT-based systems exhibit many important challenges across many dimensions. In this work, we propose SmartJS, a rich Javascript-based middleware platform and runtime environment that abstracts the complexity of the various IoT platforms by providing a high-level framework for IoT system developers. SmartJS abstracts large-scale distributed system considerations, such as scheduling, monitoring and self-adaptation, and proposes a rich inter-device Javascript-based code migration framework. Finally, it provides debugging and monitoring techniques to analyze performance and observe system-wide security properties.

ARTINALI: Dynamic Invariant Detection for Cyber-Physical System Security

Aliabadi, M., Kamath, A., Gascon-Samson, J., Pattabiraman, K. (2017) ARTINALI: Dynamic Invariant Detection for Cyber-Physical System Security, accepted / to be presented at ESEC/FSE 2017, Paderborn, Germany
> Acceptance ratio: 24% [Preprint] [Presentation Slides]

Abstract: Cyber-Physical Systems (CPSes) are being widely deployed in security critical scenarios such as smart homes and medical devices. Unfortunately, the connectedness of these systems and their relative lack of security measures makes them ripe targets for attacks. Specification-based Intrusion Detection Systems (IDS) have been shown to be effective for securing CPSs. Unfortunately, deriving invariants for capturing the specifications of CPS systems is a tedious and error-prone process. Therefore, it is important to dynamically monitor the CPS system to learn its common behaviors and formulate invariants for detecting security attacks. Existing techniques for invariant mining only incorporate data and events, but not time. However, time is central to most CPS systems, and hence incorporating time in addition to data and events, is essential for achieving low false positives and false negatives. This paper proposes ARTINALI, which mines dynamic system properties by incorporating time as a first-class property of the system. We build ARTINALI-based Intrusion Detection Systems (IDSes) for two CPSes, namely smart meters and smart medical devices, and measure their efficacy. We find that the ARTINALI-based IDSes significantly reduce the ratio of false positives and false negatives by 16 to 48% (average 30.75%) and 89 to 95% (average 93.4%) respectively over other dynamic invariant detection tools.

CacheDOCS: A Dynamic Key-Value Object Caching Service

Gascon-Samson, J., Coppinger, M., Jin, F., Kienzle, J., Kemme, B. (2017) CacheDOCS: A Dynamic Key-Value Object Caching Service, ICDCS-PED2017, Atlanta, USA
[Preprint] [Presentation Slides]

Abstract: Caching plays an important role in many domains, as it can lead to important performance improvements. A key-value based caching system typically stores the results of popular queries in efficient storage locations. While caching enjoys widespread usage in the context of dynamic web applications, most mainstream caching systems store static binary items, which makes them impractical for many real-world applications that would benefit from storing dynamic items. In this paper, we propose CacheDOCS, a dynamic key-value object caching service that allows for caching arbitrary objects. As part of our model, CacheDOCS provides an API that supports the execution of operations against cached objects, and allows for clients to seamlessly subscribe to keep their local copies in sync with cached remote objects. CacheDOCS supports multiple update dissemination strategies in order to optimize performance, and proposes a versioning mechanism to ensure consistency. We implemented a full version of CacheDOCS and we ran several performance-related experiments under three use-case scenarios.

MultiPub: Latency and Cost-Aware Global-Scale Cloud Publish/Subscribe

Gascon-Samson, J., Kemme, B., Kienzle, J. (2017) MultiPub: Latency and Cost-Aware Global-Scale Cloud Publish/Subscribe, ICDCS 2017, Atlanta, USA [Preprint] [Presentation Slides]

Abstract: Topic-based pub/sub is a widely used communication mechanism in distributed systems for targeted information dissemination between loosely coupled entities. To scale dynamically depending on the current communication demands, pub/services can be conveniently deployed in the cloud. To provide fast dissemination, the service can be distributed across multiple cloud regions. The architectural design and run-time deployment of such a middleware is tricky, though, as it can have a significant effect on communication latency and cloud-based cost. In this paper, we propose MultiPub, a flexible pub/sub middleware for latency-constrained, world-wide distributed applications that dynamically reconfigures the communication layer to ensure a predefined maximum latency for publication dissemination while minimizing cloud-based costs. This is achieved by routing publications either through a single or across multiple cloud regions. We demonstrate the effectiveness of MultiPub by presenting a set of experiments that report on the achieved communication latency and cost savings compared to traditional approaches, as well as a performance evaluation.

DynFilter: Limiting Bandwidth of Online Games using Adaptive Pub/Sub Message Filtering

Gascon-Samson, J., Kienzle, J., Kemme, B. DynFilter: Limiting Bandwidth of Online Games using Adaptive Pub/Sub Message Filtering, NetGames 2015, Zagreb, Croatia
[Preprint] [Presentation Slides]

Abstract: Multiplayer online games can generate a lot of server-related outgoing bandwidth, due to many factors such as highly variable amounts of players or the gathering of many players towards the same in-game locations. Predicting the exact amount of required bandwidth to support varying conditions can be costly, and players can experience game-wide failures if bandwidth is insufficiently provisioned. We present DynFilter, a game-oriented message processing middleware designed to adaptively filter state update messages for in-game entities located apart, in order to reduce bandwidth needs and stay within predefined quotas. We ran experiments on Amazon EC2 over a prototype game mimicking a FPS and a MMOG. Our results show that DynFilter is properly able to maintain bandwidth use within the pre-established quotas while still maintaining adequate delivery of relevant state update messages.

Dynamoth: A Scalable Pub/Sub Middleware for Latency-Constrained Applications in the Cloud

Gascon-Samson, J., Garcia, F.-P., Kemme, B., Kienzle, J. (2015) Dynamoth: A Scalable Pub/Sub Middleware for Latency-Constrained Applications in the Cloud, ICDCS 2015, Columbus, USA
> Acceptance ratio: 12.8% [Preprint] [Presentation Slides]

Abstract: This paper presents Dynamoth, a dynamic, scalable, channel-based pub/sub middleware targeted at large scale, distributed and latency constrained systems. Our approach provides a software layer that balances the load generated by a high number of publishers, subscribers and messages across multiple, standard pub/sub servers that can be deployed in the Cloud. In order to optimize Cloud infrastructure usage, pub/sub servers can be added or removed as needed. Balancing takes into account the live characteristics of each channel and is done in an hierarchical manner across channels (macro) as well as within individual channels (micro) to maintain acceptable performance and low latencies despite highly varying conditions. Load monitoring is performed in an unintrusive way, and rebalancing employs a lazy approach in order to minimize its temporal impact on performance while ensuring successful and timely delivery of all messages. Extensive real-world experiments that illustrate the practicality of the approach within a massively multiplayer game setting are presented. Results indicate that with a given number of servers, Dynamoth was able to handle 60% more simultaneous clients than the consistent hashing approach, and that it was properly able to deal with highly varying conditions in the context of large workloads.