IoT/P2P Project Niels Olof Bouvin 1 The IoT/P2P Project course - - PowerPoint PPT Presentation

iot p2p project
SMART_READER_LITE
LIVE PREVIEW

IoT/P2P Project Niels Olof Bouvin 1 The IoT/P2P Project course - - PowerPoint PPT Presentation

IoT/P2P Project Niels Olof Bouvin 1 The IoT/P2P Project course Form (Very) few lectures (count em: One) Most of the time spent working on your project Your project is self determined, pending my approval so start thinking about cool


slide-1
SLIDE 1

IoT/P2P Project

Niels Olof Bouvin

1

slide-2
SLIDE 2

The IoT/P2P Project course

Form

(Very) few lectures (count ‘em: One) Most of the time spent working on your project Your project is self determined, pending my approval

  • so start thinking about cool systems!

Two weeks before course end: Show & Tell Last two weeks spent writing the Report Exam: An oral, individual defense of your system and report

2

slide-3
SLIDE 3

Course plan

Week 14: Introduction to the course and your project

You develop a smashing idea and get it approved

Week 15-20: Coding, coding, coding…

groups have weekly meetings with me Thursday (fjrst meeting next Thursday)

Week 16-20: Present central paper of your topic to me Week 20: Code freeze & Show and tell (2016-5-19)

in front of everybody—mandatory participation

2016-5-30: Turn report and system in

report quite important at the exam

3

slide-4
SLIDE 4

Suggestions for topics for P2P projects

Communication (text, audio, video, …)

multi-casted?

Backup Collaborative “spaces” File sharing (duh!) (Domain specifjc) software frameworks Security? Games (cheat prevention etc.)

4

slide-5
SLIDE 5

Suggestions for topics for IoT projects

Sensing phenomena Actuating devices and actions Tracking of persons and entities Situated interation Coordination between devices

5

slide-6
SLIDE 6

Earlier projects

Locality aware BitTorrent

always prefer pieces from local network rather than WAN

BitTorrent for streaming

time critical piece selection

Synchronized playback over mobile devices

for a discreet dance club

Secure social networking

confjding confjdentially

Cheat prevention in a MMOG

no central authority here

6

slide-7
SLIDE 7

Choosing a fundament

You are free to choose any base technology

  • f course, you still have produce a sizable Δ in your system

This includes programming language, system platform, and framework

I should still be able to run your system

7

slide-8
SLIDE 8

The JXTA framework

Do not under any circumstances use this

8

slide-9
SLIDE 9

FreePastry

An officially sanctioned Java implementation of Pastry

http://www.freepastry.org/ (last updated 2009)

9

slide-10
SLIDE 10

Open Chord

An open source Java implementation of Chord

https://sourceforge.net/projects/open-chord/ (last updated 2013-04-23)

But… why not use your own?

10

slide-11
SLIDE 11

Kademlia

Several implementations in diverse languages

MaidSafe: https://github.com/maidsafe/MaidSafe-Routing (C++) (2015-3-25) Entangled: http://entangled.sourceforge.net (Python) (2012-5-18) (TomP2P: http://tomp2p.net (Java) (2015-5-27) Not so much)

Plenty more, see

http://en.wikipedia.org/wiki/Kademlia#Libraries

11

slide-12
SLIDE 12

Serval Project

Enables Android phones to use Ad-Hoc WiFi with each

  • ther, while also using 3G

http://www.servalproject.org

12

slide-13
SLIDE 13

BitTorrent

MonoTorrent (C#)

https://github.com/mono/monotorrent/ (2013-3-25)

Ttorrent (Java)

https://mpetazzoni.github.io/ttorrent/ (2016-3-10)

13

slide-14
SLIDE 14

P2P through the Web Browser

WebRTC — reasonably supported in many modern browsers http://www.openwebrtc.org

14

slide-15
SLIDE 15

Other systems and frameworks…

See this discussion on Hacker News:

https://news.ycombinator.com/item?id=11144921

15

slide-16
SLIDE 16

IoT platforms

You can, of course, just continue with Photon Alternatives are plentiful, including Arduino, Raspberry Pi, etc. Don’t forget about mobile devices!

Android/IOS devices certainly qualify as interesting platforms

16

slide-17
SLIDE 17

IoT software platforms

https://home-assistant.io (Python 3) http://www.openhab.org (Java) http://nodered.org (Node.js) https://www.cesanta.com/products/smart-js (C,C++,js)

17

slide-18
SLIDE 18

Groups

You do your project in groups

2-4 persons

All email communication must include group id

18

slide-19
SLIDE 19

Your project proposal

Your project proposal should consist of at least

a use case – a short story to illustrate the why & how a description of how and why IoT/P2P will be used a sketch of the envisioned architecture some rough and realistic weekly milestones

All this in 1-2 pages (PDF, please!) Due: The sooner, the better. Preferably early next

  • week. I’ll then approve the approvable ASAP

19

slide-20
SLIDE 20

Your system

You have a limited time, so you can’t polish your system

a fancy GUI is not a priority

Functionality is paramount; form less so Reproducible functionality is a requirement

ensure that you are creating a system where you can run repeated, quantifjable tests (I like graphs with error bars) your system should be easy to setup and its intended use well-documented

Statistics and proper graphs are important tools

use “Think Stats: Probability and Statistics for Programmers” (it’s free!) http://www.greenteapress.com/thinkstats/

20

slide-21
SLIDE 21

Your project: Preparing for the Report

Given the project nature of the course, it is easy to focus solely on coding, coding, coding

this would be a grave mistake

Even though there will be no official syllabus for the course, it will go hard for a report without a respectable list of references (at least 10 references) Therefore: Research your chosen project topic and fjnd related work as you develop your ideas

who knows? Could turn out to be a help along the way… http://scholar.google.com/

21

slide-22
SLIDE 22

Report requirements

Your report should contain the standard elements

introduction, related work, analysis thereof, system design & implementation, experiments/evaluation, conclusion, (future work), references

A description of intended use & a link to a video demo A comprehensive manual in an appendix

your system is not self-explanatory…

A clear distinction between planned and actual functionality

this is should be in the introduction

22

slide-23
SLIDE 23

So what makes a great report?

Innovative/exciting use case Well documented positioning with regards to related work Impressive system with a good description Thought-out and systematic evaluation/experiments Well reasoned analysis of results

23

slide-24
SLIDE 24

Exam

20 minutes per person Prepare your personal presentation of the report

12 minutes, then a few minutes for questions

Slides are welcome — demos OK, if you think you have the time Your grade is based on the work, the report, and your presentation

24