Multi-tenancy

 

How can we implement dynamic, fair and verifiable scheduling of resources for programming of
multi-tenancy edge IoT devices?

 

Partners

Imperial College London

 


Research article presenting modelling of WSNs and requirements verification by means of BRS and model checking.

 


Tool-based support for the evaluation of the multi-tenancy approach based on the Cooja network simulator and BigraphER.

 


Extension of the BigraphER tool to support the modeling of WSNs and predicate checking.

 


Ongoing evaluation of the multi-tenancy approach, which will reveal how our approach performs for WSNs at different scale and various topologies

 

The adoption of wireless sensor network (WSN) technology is becoming increasingly prevalent in cities where sensor nodes are deployed over large geographical areas for the purpose of providing high-value services to citizens. Traditionally, WSNs have been designed following a model that allocates all the sensor network resources to a single application. For modern city-scale WSNs, this model has been shown to incur high costs in terms of deployment and maintenance and to yield a limited return on investment to the owner of the sensor-network infrastructure.

To address these problems, research efforts in the WSN domain are increasingly focusing on enabling network resources to be shared among multiple applications also referred to as shared sensor networks. That is, much like computers run several applications in parallel, sharing the resources of the computer, a city wide sensing infrastructure can be used by multiple tenants sharing the resources while achieving their individual goals. This has the potential to significantly reduce deployment and maintenance costs for large-scale sensing applications that are geographically co-located and therefore can be supported by the same infrastructure. We refer to this approach as multi-tenancy.

However, this concept brings about a number of issues that need to be addressed to make multi-tenancy functional. For example, a city-wide sensor network infrastructure can be established by the mayor or the city council for the purpose of environmental monitoring including air pollution, water quality, structural health, etc. To allow applications from other tenants to be deployed, it is crucial to determine whether requirements of resource competing applications can be ensured by the infrastructure not just at deployment time, but

over the network’s lifetime. This process has to verify the availability of required sensors, processing power, delivery models (e.g., periodic, query-driven, event-driven), node density per area of interest, etc. and determine whether the infrastructure has enough resources to sustain application requirements in a long run. In addition, the infrastructure owner has requirements that need to be considered to avoid the depletion of battery power, network congestion or high maintenance costs.

To address the many concerns arising with multi-tenancy operation, we provide a novel systematic approach dedicated to enabling multi-tenancy in shared sensor networks, that supports:

1) application requirements specification at design time;

2) configuration analysis to determine if requirements can be met before deployment;

3) runtime verification and predictive analysis to ensure requirements are met in the face of failures and changing conditions of the infrastructure;

4) abstraction for contextual reasoning based on a straightforward graphical representation that facilitates reasoning about the system.

5) A set of programming language constructs (see Scaffold) that ease the programming of such systems at these vast scales and also provide guarantees of preservation of network wide semantics, allowing us to overcome the cognitive overload that comes with programming networks of heterogenous systems.

Looking beyond these specific contributions, we have also established a general approach to modelling and analysing shared sensor networks based on Bigraphical Reactive Systems (BRS) and formal verification of logical predicates.