Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων, ΑΕΙ Πειραιά Τ.Τ., Μάρτιος 2017 Διαδίκτυο των Πραγμάτων και Υπολογιστικά Νέφη Θεωρία, Εφαρμογές και Παραδείγματα Ζαχαρένια Γαροφαλάκη, Δημήτρης Καλλέργης
Γιατί «Σύννεφο»; «Το Σύννεφο είναι μια μεταφορική έννοια για το Διαδίκτυο και με τον τρόπο αυτό απεικονίζεται στα διαγράμματα δικτύων. Απομακρυσμένος σταθμός (host) Είναι μια αφηρημένη έννοια για τις υποδομές που κρύβει μέσα του». [1] Τοπικό Δίκτυο (LAN)
Γενικά Παρέχει αξιόπιστες υπηρεσίες που μέσω data centers χτισμένο σε διακομιστές που χρησιμοποιούν αρχιτεκτονικές εικονικοποίησης (virtualisation) Πρέπει να πληρούν τις απαιτήσεις Ποιότητας Υπηρεσίας (QoS) Τα ανοικτά πρότυπα (open standards) και το λογισμικό ανοικτής αρχιτεκτονικής αποτέλεσαν τα κλειδιά της επιτυχίας του Παρέχεται δωρεάν, με συνδρομή ή κατά συνθήκη ( pay as you go )
Πηγή: [2] Μοντέλο Ανάπτυξης
Πηγή: [2] Μοντέλο Υπηρεσίας
Πηγή: [3] Παραδείγματα
Ελκυστικά προς τους χρήστες: Είναι οικονομικά CAPEX OPEX Εφαρμογές Βολικά και αποδοτικά ελευθερία σχεδίασης χωρίς να μας ενδιαφέρει το σύστημα που θα εκτελεστεί η εφαρμογή ο χρόνος εκτέλεσης μπορεί να μειωθεί μέσω της παραλληλοποίησης Επικερδή και για τους παρόχους υπολογιστικών πόρων: τυπικά οδηγούνται σε μεγαλύτερη χρήση των πόρων αυτών
Εφαρμογές [συν.] Ιδανικές εφαρμογές: Διαδικτυακές εφαρμογές Υπηρεσίες Βάσεων Δεδομένων Υπηρεσίες που βασίζονται σε συναλλαγές Η απαίτηση πόρων για την κάθε συναλλαγή κερδίζει από την ελαστική φύση του Νέφους (on-demand, pay-as-you-go) Ακατάλληλες εφαρμογές: Εφαρμογές με σύνθεση ροή και πολλαπλές συνδέσεις (όπως συμβαίνει στις περιπτώσεις της Υπολογιστικής Υψηλών Επιδόσεων) Όταν το φορτίο διαμελίζεται αυθαίρετα
Εφαρμογές [συν.] Κατάταξη μεγάλων συνόλων δεδομένων που δημιουργούνται από μηχανές σάρωσης περιεχομένου (web crawler engines) Εξόρυξη δεδομένων (Data mining): αναζήτηση μεγάλων συλλογών από εγγραφές (records) Επεξεργασία εικόνων Μετατροπή, π.χ. μεγέθυνση ή δημιουργία μικρογραφιών (thumbnails) Συμπίεση ή κρυπτογράφηση Διακωδίκευση (transcoding) βίντεο, π.χ. από AVI σε MPEG Επεξεργασία κειμένου Μετατροπή, π.χ. από word σε pdf Κρυπτογράφηση Χρήση αναγνώρισης χαρακτήρων (OCR) για την παραγωγή ψηφιακών εικόνων
Εφαρμογές [συν.] Παραγωγή περιοδικών αναφορών Επεξεργασία, διάχυση και συνόψιση συναλλαγών Επεξεργασία εγγραφών σε λογαριασμούς και μισθοδοσίες Διαχείριση διαδικασιών ανάπτυξης λογισμικού, π.χ. ενημέρωση αποθετηρίων εκτός ωραρίου λειτουργίας της εταιρείας Αυτόματος έλεγχος και πιστοποίηση συστημάτων Λογισμικού και Υλικού
Πηγή: [2] Γνωστές Λύσεις
Το μέλλον είναι... τώρα!
Το μέλλον: Ad hoc Cloud Computing Οι κινητές συσκευές δεν είναι απλά τηλέφωνα Γίνονται ολοένα και πιο ισχυρά και χρησιμοποιούνται Έχουν γίνει κέντρο επεξεργασίας αόριστων (ubiquitous) δεδομένων any device, any location, any format Τα κινητά τηλέφωνα είναι συσκευές πάνω στις οποίες στήνονται ισχυρές και έξυπνες εφαρμογές
Το μέλλον: Ad hoc Cloud Computing [συν.] Οι κινητές (έξυπνες) συσκευές είναι μια ανενεργή πηγή επεξεργαστικής ισχύος και όχι μόνο Χρήση σε ωριαία και κατά συνεδρία βάση [4]
Mobile Cloud Computing Μπορούμε να τις βάλουμε να εργαστούν! Mobile Cloud Computing Architecture [5]
Κινητές Συσκευές Αισθητήρες (sensors) Προσωπικά συστήματα πλοήγησης Έξυπνες κάρτες Παιχνιδομηχανές Αναπαραγωγοί μέσων (media players) Υπολογιστικά συστήματα που μπορούν να φορεθούν (wearables) Ενσωματωμένα συστήματα (embedded systems) Κινητά τηλέφωνα, ταμπλέτες, κ.ά.
Μηχανή προς Μηχανή Ο όρος machine-to-machine (Μ2Μ) αφορά σε υλοποιήσεις που επιτρέπουν την επικοινωνία συσκευών ίδιου τύπου, με συγκεκριμένη εφαρμογή, διαμέσου ενσύρματων ή ασύρματων δικτύων Υλοποιήσεις M2M επιτρέπουν σε τελικούς χρήστες τη συλλογή δεδομένων που αφορούν συμβάντα (π.χ. θερμοκρασία, επίπεδα αποθετηρίων φυσικών πόρων, διέλευση οχημάτων κ.ά.) Ωστόσο, οι υλοποιήσεις M2M δεν επιτρέπουν τον ευρύ διαμοιρασμό δεδομένων και συσκευών απευθείας στο Διαδίκτυο
Μηχανή προς Μηχανή [συν.] Ποσοτική κατανομή εφαρμογών M2M [6] Πού είναι ο άνθρωπος;
Διαδίκτυο των Πραγμάτων Ο όρος Internet of Things (IoT) προστέθηκε στο λεξικό του Πανεπιστημίου της Οξφόρδης τον Αύγουστο του 2013: «Μία προτεινόμενη ανάπτυξη του Διαδικτύου στην οποία κάθε αντικείμενο έχει συνδεσιμότητα στο Διαδίκτυο επιτρέποντάς του να στείλει και να λάβει δεδομένα»
Διαδίκτυο των Πραγμάτων [συν.] Το Διαδίκτυο δεν χωράει μόνο ανθρώπους, μέσα (media) και περιεχόμενο, αλλά και στοιχεία (assets) του πραγματικού κόσμου ως έξυπνα όντα που ανταλλάσσουν πληροφορίες, αλληλεπιδρούν με ανθρώπους, υποστηρίζουν επιχειρηματικές διαδικασίες και παράγουν νέα γνώση. Το IoT δεν είναι ένα νέο Διαδίκτυο, αλλά ότι επεκτείνει το Διαδίκτυο όπως το ξέραμε!
Διαδίκτυο των Πραγμάτων [συν.] Ένα Διαδίκτυο των Πραγμάτων [6]
Διαδίκτυο των Πραγμάτων [συν.] Παράδειγμα: Ποδηλάτες κινούνται στον αστικό ιστό, χρησιμοποιούν τα κινητά τηλέφωνά τους και πιθανόν άλλες συσκευές αισθητήρων (π.χ. μικρόφωνα, GPS, μετρητές CO 2, ταχύμετρα κ.ά.) Το κινητό τηλέφωνο έχει τον ρόλο του αισθητήρα και επιπλέον της συσκευής επικοινωνίας Οι κινούμενοι ποδηλάτες επιτρέπουν στους αισθητήρες να συλλέγουν δεδομένα, τα οποία μεταφέρονται σε συγκεκριμένους διακομιστές προς αποθήκευση και επεξεργασία μικρής κλίμακας Οι Αρχές της πόλης ή μεμονωμένα άτομα έχουν πρόσβαση στα ανώνυμα δεδομένα, τα αναλύουν και παράγουν στατιστικά (π.χ. προτιμώμενες διαδρομές, προβλήματα συμφόρησης, ρύπων, θορύβων, κατάστασης στο οδόστρωμα κ.ά.)
Παράδειγμα Συμμετοχικής Επαίσθησης [7] Διαδίκτυο των Πραγμάτων [συν.] Αποτέλεσμα: Τα ανεπεξέργαστα ή επεξεργασμένα δεδομένα μπορούν να συσχετιστούν με χάρτες πόλης, τις υποδομές της και να συμβάλουν στη θεραπεία προβλημάτων και στον επανασχεδιασμό των αστικών υποδομών Το παράδειγμα κατηγοριοποιείται ως Συμμετοχική Επαίσθηση (Participatory Sensing) [6]
Συσκευές Ασύρματα δίκτυα αισθητήρων (Wireless Sensor Networks WSN) Εξατομικευμένες / φορετές με σύνδεση στο Διαδίκτυο Ενσωματωμένες (embedded devices) Έξυπνα σπίτια με συστήματα αυτοματισμού Έξυπνες / κινητές για καταγραφή και επεξεργασία διαφόρων πηγών δεδομένων
Συσκευές [συν.] Κατώτερο επίπεδο Ενδεικτικά: ενσωματωμένοι 8-bit ελεγκτές χωρίς Λ.Σ. (π.χ. Arduino) Μέσο επίπεδο Ενδεικτικά: συσκευές βασισμένες στις τεχνολογίες Atheros και Advanced RISC Machines (ARM) με περιορισμένων δυνατοτήτων αρχιτεκτονική 32-bit και ενσωματωμένο λειτουργικό σύστημα (π.χ. Arduino Zero) Ανώτερο επίπεδο Ενδεικτικά: υπολογιστικές πλατφόρμες 32 ή 64-bit (System on a Chip SoC) που τρέχουν ένα πλήρες Λ.Σ., όπως Linux ή Windows BeagleBone (https://beagleboard.org/) Raspberry Pi (https://www.raspberrypi.org/)
Συνδεσιμότητα Επιλογές: Ethernet ή WiFi χρησιμοποιώντας TCP ή UDP πακέτα Bluetooth χαμηλής κατανάλωσης Τεχνολογία Near Field Communication (NFC) ZigBee, KNX, Z-Wave Point-to-Point ασύρματες συνδέσεις (π.χ. για κατασκευή Building Autonomous Systems BASs, που περιλαμβάνει θερμοστάτες, ανεμιστήρες, ελεγκτές κίνησης, λέβητες κ.ά.)
Πεδία Εφαρμογής Έξυπνες κτήρια (smart homes/buildings) Περιβάλλον Ενέργεια Γεωργία Ακριβείας (precision agriculture) Ευφυή μέσα μεταφοράς (intelligent transport systems ITS) Ηλεκτρονική υγεία (ehealth) Αλυσίδα διακίνησης προϊόντων (logistics) Βιομηχανικός έλεγχος
IBM Internet of Things, How it works: https://www.youtube.com/watch?v=qsipnhoimoe
Ubidots Cloud https://ubidots.com/ Ubidots, εμπειρία IoT projects στους τομείς Υγείας Διαχείρισης ενεργειακών πόρων Κατασκευών Μεταφορών 2014: Έναρξη λειτουργίας της πλατφόρμας Σήμερα υποστηρίζει εκατομμύρια εφαρμογές σε όλο τον κόσμο kalgar
Δημιουργία δωρεάν λογαριασμού Διάρκεια: 3 μήνες Πλήθος συσκευών <= 20 Περιορισμοί μηνυμάτων 5 SMS/e-mails συνολικά Πηγή: https://ubidots.com/pricing kalgar
Συσκευές Οδηγίες, παραδείγματα και βιβλιοθήκες για σύνδεση γνωστών τύπων συσκευών kalgar
Πρωτόκολλα HTTP API Συσκευές με περιορισμούς σε ενεργειακή επάρκεια, εξόδους απεικόνισης και επεξεργαστική ισχύ REpresentational State Transfer Application Programming Interface (RESTful API) Web interface Xρήση πρωτοκόλλου HTTP MQTT (MQ Telemetry Transport) Πρωτόκολλο ανταλλαγής μηνυμάτων βάσει του μοντέλου publish/subscribe Προσαρμοστικότητα (open-source), ευελιξία (μικρά πακέτα), αξιοπιστία (QoS), απλότητα (TCP based) Πηγές: http://ubidots.com, MQTT.org kalgar
Βιβλιοθήκες Έτοιμες βιβλιοθήκες ανάλογα με τη γλώσσα προγραμματισμού στην συσκευή-πελάτη Οδηγίες δημιουργίας Android app kalgar
Διαδικασία 1 2 3 API key / TOKEN Device ID 4 Default Derived Rolling Window kalgar
Συσκευή-πελάτης Arduino Uno + Ethernet Shield + Sensor Shield kalgar
Dashboard Widget: Γράφημα απεικόνισης διακύμανσης θερμοκρασίας kalgar
Συσκευή Android Widget: Γράφημα απεικόνισης διακύμανσης στάθμης μπαταρίας Η τιμή θερμοκρασίας προκύπτει από τον αισθητήρα του arduino, μέσω της πλατφόρμας kalgar
ThingSpeak https://thingspeak.com/ MathWorks, Massachusetts, U.S.A. Συνεργασία πλατφόρμας και δεδομένων με MATLAB kalgar
Δημιουργία δωρεάν λογαριασμού Διάρκεια: 1 ημερομηνιακό έτος Περιορισμοί μηνυμάτων Ανά ημέρα (8.219) Συνολικά (3.000.000) Πηγή: https://thingspeak.com/pages/license_faq kalgar
Δημιουργία καναλιού και γραφήματος Εγγραφή ή είσοδος σε λογαριασμό Δημιουργία καναλιού με μεταβλητή Field 1 Εισαγωγή γραφήματος για την μεταβλητή Field 1 kalgar
Συσκευή-πελάτης Arduino Uno + Ethernet Shield + Sensor Shield kalgar
Συσκευή-πελάτης Arduino Uno + Ethernet Shield + Sensor Shield kalgar
Thinger.io https://thinger.io/ Thinger.io, Madrid, Spain Open source πλατφόρμα Δεν υπάρχει ημερομηνία λήξης δωρεάν λογαριασμού kalgar
Δημιουργία δωρεάν λογαριασμού Περιορισμοί Έως 2 συσκευές Έως 2 dashboards Κάθε dashboard συνδέεται με μία συσκευή Μπορεί να περιέχει πολλά γραφήματα Έως 4 αποθήκες δεδομένων (buckets) Διατήρηση δεδομένων για 1 έτος Πηγή: https://console.thinger.io/#/console/account kalgar
Δημιουργία συσκευής και επιβεβαίωση επικοινωνίας kalgar
Δημιουργία dashboard και γραφημάτων kalgar
Συσκευή-πελάτης Arduino Uno + Ethernet Shield + Sensor Shield kalgar
Συσκευή-πελάτης Android με την εφαρμογή Thinger.io kalgar
Arduino IoT https://create.arduino.cc/iot/ Arduino.cc Open-source Hardware Arduino Cloud Υπό κατασκευή Arduino Web Editor Software-As-A-Service (SaaS) kalgar
Αναφορές [1] Wikipedia, Cloud Computing Definition. [online] Available at: http://en.wikipedia.org/wiki/cloud_computing [2] Buyya, R., Vecchiola, C. and Selvi, S. (2013). Mastering cloud computing. Waltham, MA: Morgan Kaufmann. [3] National Institute of Standards and Technology (NIST) U.S. Department of Commerce, (2011). Version 2.0 of NIST Cloud Computing Reference Architecture. [online] Available at: https://www.slideshare.net/lersmethasakul/nist-cloud-computing-reference-architecture [4] Gonzalo Huerta-Canepa and Dongman Lee (2010). Ad Hoc Cloud Computing using Mobile Devices. MobiSys, MCS Workshop [5] Mukesh G., Sukhwinder S., (2014). Mobile Cloud Computing, International Journal of Enhanced Research in Science Technology & Engineering, 3(4), pp.517 521. [6] Holler J., Tsiatsis V., Mulligan C., Karnouskos S., Avesand S. and Boyle, D. (2014). From Machine-to-Machine to the Internet of Things. Oxford: Elsevier Ltd. ISBN:978-0-12-407684-6. [7] Eisenman S. B., Miluzzo E., Lane N. D., Peterson R. A., Ahn G. -S. and Campbell A. T. (2009). BikeNet: A mobile sensing system for cyclist experience mapping. ACM Transactions on Sensor Networks, 6(1), pp. 87-101.
Ερωτήσεις; z.garofalaki@unipi.gr d.kallergis@unipi.gr