Εναρξη Μαθήµατος Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης Τετάρτη, 15 Μαρτίου, 2011 Αίθουσα ΕΑΙΤΥ/0.Ι.6 Ο σκοπός του µαθήµατος: Τεχνικές και εργαλεία ανάπτυξης κατανεµηµένων εφαρµογών Προγραµµατισµό κατανεµηµένων εφαρµογών (distributed systems programming) Σχεδιασµός, υλοποίηση και µελέτη κατανεµηµένων εφαρµογών Το µάθηµα ϑα διεξαχθεί γύρω από δύο άξονες: Συναντήσεις / ιαλέξεις (Εβδοµαδιαίες) Project Τυπικά Θέµατα Project Συναντήσεις / ιαλέξεις 2 ώρες την εβδοµάδα Τετάρτη 11:00-13:00, ΕΑΙΤΥ Θέµατα Σχεδιασµού Τεχνολογίες Υλοποίησης Κατανεµηµένων Συστηµάτων Εργαλεία Ανάπτυξης Λογισµικού Ειδικές Πλατφόρµες ΥΠΟΧΡΕΩΤΙΚΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗ Βαθµολογία Project -- 100% Υποχρεωτικό το 100% του τελικού ϐαθµού 100% Πρακτικό 200% Οµαδικό 1 Θέµα µε 6 κατηγορίες 5-7 οµάδες µε 2-3 άτοµα Σχεδιασµός Κατανεµηµένου Συστήµατος Προγραµµατισµός / Ανάπτυξη Παρουσίαση ηµοσίευση
Απορίες Συναντήσεις Ιστοσελίδα και Ανακοινώσεις Για οτιδήποτε χρειαστείτε ϑα µε ϐρείτε στο Ε.Α.Ι.Τ.Υ.: Γραφείο 0.Ι.3 Κατόπιν συνεννοήσεως -- 2610 960333 Μέσω e-mail: ichatz@ceid.upatras.gr Μέσω forum του µαθήµατος στο my.ceid.upatras.gr Μεταπτυχιακοί ϕοιτητές Χρήστος Κονίνης -- koninis@ceid.upatras.gr Ορέστης Ακριβόπουλος -- akribopo@ceid.upatras.gr Μάριος Λογαράς -- logaras@ceid.upatras.gr Αποστόλης Πυργελής -- pyrgelis@ceid.upatras.gr Η ιστοσελίδα του µαθήµατος ϐρίσκεται στη διεύθυνση: http: //www.ceid.upatras.gr/courses/katanemhmena/ds2/ Περιέχει: 1. ιαφάνειες των διαλέξεων 2. Συµπληρωµατικές σηµειώσεις 3. Το υλικό των ϕροντιστηρίων 4. Project και σχετικό υλικό 5. Υλικό από προηγούµενα έτη Ολες οι ανακοινώσεις ϑα γίνονται στο forum του µαθήµατος στο my.ceid.upatras.gr Σύνοψη 2 ης ιάλεξης Eben Moglen s Vision Θέµατα Μαθήµατος ιαδικασία Υλικό Κατανεµηµένα Συστήµατα ΙΙ Community Box Design Projects 2010-2011 FreedomBox Foundation Freedom Box Project -- a small, cheap and simple computer that serves freedom in the home Οµιλία στη Fosdem 2010 Οµιλία στο NYU: Eben Moglen s Freedom in The Cloud...
Diverse Connectivity Options What is requirement for the target hardware Solutions that provides: Connectivity via 1. EEE 802.3 (ethernet) 2. EEE 802.11 (wifi) High performance Always on Always connected Minimum Power requirements Gigahertz-class processor (PC performance) Two versions: 3. EEE 802.15.1 (bluetooth) 4. EEE 802.15.4 1. First prototype based on existing hw platform (ALX, BeagleBoard) 5. EEE 802.16 (wimax) 2. Second prototype based on new hw platform (dreamplug) 6. GRPS/EDGE/UMTS (mobile telephony) ALX 1d 433MHz (AMD Geode LX) 256 MB SDRAM 802.3 Ethernet WiFi (802.11bg) Access Point Router / Client 2 USB VGA Ubuntu-Linux 6.7 (L) x 6.7 (W) Beagleboard 600MHz (ARM Cortex-A8) 256 MB SDRAM 802.3 Ethernet RS232 4 USB DV (HD capable, OpenGL) Debian-Linux, Android 3 (L) x 3 (W) Figure: ALX 1d board Figure: Beagleboard
Beagleboard Dreamplug 1.2GHz (Marvell Sheeva core) 512 MB DDR2, 800 MHz 2GB on-board micro-sd 2 Gigabit Ethernet WiFi (802.11bg) Access Point Router / Client Bluetooth BT2.1 2 USB ports Linux 2.6.3x kernel Figure: Marvel Plug Software Components Network Abstraction Layer Pv6 and Pv4 wiselib -- a generic algorithm library for sensor networks code library of algorithms can be compiled for server different hardware platforms generic programming in c++ it can be used in simulator platforms (shawn) not only for sensor networks, it also supports PC, robots now expending to mobile phones Provide a minimalistic AP for accessing the intefaces via basic send/receive operations Bluetooth Sockets Google Protocol Buffers mplement AP for each Networking technology in wiselib
Network Abstraction Layer (First Steps) Android Connectivity How-to setup Pv6 on Debian/Ubuntu wiselib presentation How-to use wiselib from a PC/linux The Radio nterface The PC radio implementation lib Bluez presentation Google Protocol Buffers presentation roadmap for implementing Bluetooth Radio nterface roadmap for integrating with Connectivity via Android (SMS Radio nterface, MMS Radio nterface) Provide nternet access via all available networking technologies wifi bluetooth GPRS/EDGE/UMTS SMS MMS Connect to cbox via all available networking technologies usb wifi bluetooth Delay-Tolerant Networking Android to become the cbox Android Connectivity (First Steps) ZeroConf -- Peer Discovery & Service Discovery ETF Zero Configuration Networking (mini) How-to program Android on Debian/Ubuntu roadmap for integrating with Network Abstraction Layer how-to cache messages for Delay-Tolerant Connectivity Provide nterfaces to send/receive SMS via USB implement wiselib SMS Radio interface when Android connected via USB implement wiselib SMS Radio interface when Android connected via wi-fi implement wiselib SMS Radio interface when Android connected via bluetooth http://tools.ietf.org/html/draft-ietf-zeroconf-reqts-12 ETF 6LoWPAN Neighbor Discovery http://tools.ietf.org/html/draft-ietf-6lowpan-nd-08 Apple Bonjour mplementation http://developer.apple.com/opensource/ Discovery of neighboring cboxes Discovery of Services offered by each cbox Multicast DNS Pv6 and Pv4 wiselib -- a generic algorithm library for sensor networks service discovery algorithm concept existing discovery algorithms
ZeroConf (First Steps) ETF ZeroConf presentation (mini) Multicast DNS (MDNS) presentation How-to setup ZeroConf (Bonjour) on Ubuntu Advertising Services (cbox connectivity, cache) How-to integrate with Network Abstraction Layer How-to integrate with Flexible Proxy wiselib How-to implement Routing -- Mesh & Multiple F EEE 802.15.5 Mesh Networking (Task Group 5) http://www.ieee802.org/15/pub/tg5.html RPL: Pv6 Routing Over Low power and Lossy networks http://tools.ietf.org/html/draft-ietf-roll-rpl-18 RPL Gateway Routers A network may run multiple instances of RPL concurrently. Each such instance may serve different and potentially antagonistic constraints or performance criteria. ZigBee Alliance http://www.zigbee.org/ wiselib -- routing algorithm concept RPL is implemented in various operating systems contiki -- contikirpl http://www.sics.se/contiki/tutorials/ contikirpl-the-new-default-contiki-ipv6/6lowpan-routing-protocol.html Pv6 and Pv4 (?) Routing (First Steps) Flexi-Proxy 802.15.5 Mesh routing presentation ETF ROLL / RPL presentation ZigBee presentation contikirpl presentation wiselib How-to implement Gateway Routers How-to implement main protocol How-to integrate with Network Abstraction Layer How-to integrate with Android Connectivity Squid-Cache http://www.squid-cache.org/ Hierarchical Caching http://docstore.mik.ua/squid/tutorial-5.html Anonymous Proxy / Anonymous Web broswing Profiling nternet Access Custom Rules BW trustworthiness Destination nterface 180 kbps 3 2620:0:860:2::/64 Bluetooth0 621 kbps 0 2620:0:860:2::/64 wifi1 0 kbps -1 http://thepiratebay.org/ eth0
Flexi-Proxy (First Steps) Applications (First Steps) How-to setup Squid Proxy/Cache on Ubuntu How-to setup Hierarchical Squid Proxy How-to setup Anonymous Squid Proxy Anonymous Web browsing presentation Automatic Hierarchical Squid proxy How-to integrate with ZeroConf How-to integrate with Android Connectivity Twitter AP presentation Flickr AP presentation How-to setup sendmail on Ubuntu Relaying messages over neighboring sendmail/cbox How-to integrate with ZeroConf Delay-Tolerant Networking How-to integrate with Flexi-Proxy WFRoam (First Steps) Ανάπτυξη Project Automatically discover WF Access Points Automatically try to connect to open WF access points Password sharing for protected WF access points How-to integrate with ZeroConf Bridge to FON community (and other related communities) Ο κώδικας που ϑα αναπτυχθεί στα πλαίσια του µαθήµατος ϑα αναρτηθεί στο GitHub Ανοιχτός κώδικας Οι αναφορές που ϑα περιγράφουν το σύστηµα που ϑα αναπτυχθεί στα πλαίσια του µαθήµατος ϑα αναρτηθεί στο GitHub Σε µορφή wiki
Χρονοδιάγραµµα Επόµενη Συνάντηση 1. ήλωση Project 16/Μαρ/2011 2. Παρουσίαση Βασικών Σχεδιαστικών Αποφάσεων 30/Μαρ/2010 3. Ενδιάµεση Παρουσίαση 13/Απρ/2011 4. Ενδιάµεση 1ου Demo 27/Απρ/2011 5. Τεχνική Αναφορά (5 σελίδες) 11/Μαι/2011 6. Τελική Παρουσίαση 18/Μαι/2011 Πρώτες παρουσιάσεις Σχεδιαστικά ϑέµατα λήψη αποφάσεων Τεχνικά ϑέµατα λήψη αποφάσεων