MSc Project: Evaluating the use of information-centric networking for the Internet-of-things

Published January 2017.

Background

Information-centric networking (ICN) [1] is a communication paradigm for the future Internet based on named data.  Communication is defined in terms of requesting and providing named data, decoupling senders from receivers, and making it possible to integrate storage for caching in the network infrastructure.  In contrast, the main abstraction of current networks is named hosts and communication is defined in terms of end-to-end communication between the named hosts.

Recently, we have started investigating the applicability and trade-offs of ICN paradigm in the IoT/sensor domain [2].  It seems natural to map IoT/sensor data directly to named data in ICN and thus use the information-centric network as an application-independent distribution mechanism for IoT data values, both low-level data readings directly from sensors, and higher-level data that has been processed.

In the project "GreenIoT", led by Uppsala University, we implement these ideas and deploy in a test-bed together with the partners of the project, including Ericsson Research, Uppsala Kommun and KTH.

Objectives and goals

An earlier master thesis project adapted the CCN-lite [3] implementation to the Contiki OS enabling constrained sensor devices to communicate named data using CCN.  Initial evaluation was done establishing the feasibility of the approach.

The overall objective of this thesis project is to make an in-depth analysis and experimental evaluation of the performance and applicability of using ICN in the IoT/sensor domain, as outlined by Lindgren et al [2, 4].  The goal is to assess the feasibility and performance of (a subset of) those ideas, and to potentially suggest better ways of achieving the same function, for example, regarding handling time.

Work plan

  1. Preparations and reading: ICN [1], IoT and ICN [2,4], CCN [5], CCN-lite [3], Contiki [6,7]
  2. Experimental setup: basic setup of a few sensor devices (TI SensorTag) and the necessary development environment.
  3. Experimental design: choosing a set of properties to experimentally evaluate, for example, handling time and consequence on latency, etc. Choosing what to compare with, for example, MQTT, CoAP or other widely used protocol.  Define the goals of the experiments.
  4. Implementation to realise the experiments: design and implementation of the software and instrumentation needed to carry out the experiments.
  5. Assessment and analysis of experimental results, and iteration.
  6. Documentation and report writing.

Qualifications

You should be self-motivated and used to working with others in project teams. The project also require you to be fluent in English, both written and spoken. In return, you will get to perform you thesis work with cutting-edge technology in a stimulating learning environment with a friendly atmosphere.  You should have good programming skills in C/C++ in a Linux/Unix environment.

The project is intended for a Master of Science Degree in Electrical Engineering, Computer Science or equivalent.  The thesis project will be carried out in close collaboration with Ericsson Research in the context of the GreenIoT project.

References

[1] Bengt Ahlgren, Christian Dannewitz, Claudio Imbrenda, Dirk Kutscher, and Börje Ohlman. A survey of information-centric networking. IEEE Communications Magazine, 50(7), July 2012.

[2] Lindgren, Anders and Ben Abdesslem, Fehmi and Ahlgren, Bengt and Schelén, Olov and Malik, Adeel Mohammad.  Design Choices for the IoT in Information-Centric Networks. In: 13th Annual IEEE Consumer Communications and Networking Conference (CCNC 2016), Las Vegas, Nevada, USA, January 9-12, 2016.

[3] http://ccn-lite.net/

[4] https://tools.ietf.org/html/draft-lindgren-icnrg-designchoices-00

[5] V. Jacobson, D. Smetters, J. Thornton, M. Plass, N. Briggs, R. Braynard.  Networking Named Content.  In ACM CoNEXT 2009, Rome, Italy, December 1-4, 2009.

[6] http://contiki-os.org/

[7] https://github.com/contiki-os/contiki