Κινητός και Διάχυτος Υπολογισμός Μια εισαγωγή Dr. Andreas Komninos Μάιος 2012
Κίνητρα( Η(εξάπλωση(των(υπολογιστικών(συσκευών( Πως(έγινε;( Ανάγκη(για(πληροφορία( Προς(τι;( Εφαρμογές(του(διάχυτου(υπολογισμού( Μπορούμε(να(σχεδιάσουμε(&(να(αναπτύξουμε(ώστε(οι( άνθρωποι(να(μπορούν(να(τον(χρησιμοποιούν( (καλύτερα);( Τεχνικές(αλληλεπίδρασης(για(τον(διάχυτο(υπολογισμό( Ubiquitous(CompuTng(Grand(Challenge((
Εποχές( 1. Εποχή(του(mainframe((πολλοί( χρήστες,(ένας(υπολογιστής)(( 2. Εποχή(του(PC((ένας(χρήστης,( ένας(υπολογιστής) Φάση(μετάπτωσης( (διαδίκτυο,(κινητός( υπολογισμός,(κατανεμημένη( επεξεργασία(&(αποθήκευση( δεδομένων,(κοινωνικές( αλλαγές,(πορεία(προς(την( Κοινωνία(της(Πληροφορίας) 3. Διάχυτος(Υπολογισμός((ένας( χρήστης,(πολλοί(υπολογιστές( ΚΑΙ(πολλοί(χρήστες,(πολλοί( υπολογιστές)
Reference: Alan Daniel, Georgia Institute of Technology. http://www.cc.gatech.edu/classes/cs6751_97_fall/projects/gacha/daniels_essay.html
Υπολογιστές:(Μέγεθος(+(Πλήθος( Μέγεθος Πλήθος Ένας Υπολογιστής για πολλούς χρήστες Le Grand Napoleon Ένας Υπολογιστής για κάιθε χρήστη adapted from: F. Mattern, Dagstuhl 2002 Πολλοί Υπολογιστές για πολλούς χρήστες
Ενσωμάτωση(στην(«κουλτούρα»(
Το(όραμα(του(ΔΥ( Mark(Weiser((23(Ιουλίου(1952( (27(Απριλίου(1999)( Chief(scienTst(@(Xerox(PARC( O(Weiser(περιέγραψε(αιρετικές(σκέψεις(που(αργότερα( αποτέλεσαν(ένα(σετ(«αρχών»(για(τον(δυ:( Σκοπός(ενός(υπολογιστή(είναι(να(σε(βοηθήσει(να(κάνεις(κάτι(άλλο((από( το(να(ασχολείσαι(με(τον(υπολογιστή)( Ο(καλύτερος(υπολογιστής(είναι(ένας(ήσυχος,(αόρατος(υπηρέτης( Όσο(περισσότερα(μπορείς(να(κάνεις(μέσω(διόρασης,(τόσο(πιο(έξυπνος( είσαι.(ο(υπολογιστής(πρέπει(να(επεκτείνει(τις(υποσυνείδητες(ικανότητές( σου.(
Γέννηση(του(ΔΥ( Mark(Weiser:(The(Computer(for(the(21 st (Century( Πρόβλημα:( Ο(υπολογιστής(είναι(προσβάσιμος( μόνο(μέσω(jargon,(η(οποία(δεν(έχει(καμμία(σχέση( με(τις(δραστηριότητες(για(τις(οποίες(οι(άνθρωποι( χρησιμοποιούν(τον(υπολογιστή. ( Στόχος:(Να(εδραιώσουμε(έναν(«νέο(τρόπο( σκέψης(για(τους(υπολογιστές,(έναν(τρόπο(που( λαμβάνει(υπ οψιν(τον(ανθρώπινο(κόσμο(και( επιτρέπει(στους(υπολογιστές(να(εξαφανιστούν( στο(περιβάλλον»(
Weiser( Οι(υπολογιστές(πρέπει(να(είναι( διασυνδεδεμένοι((networked),( κατανεμημένοι((distributed)(και(διαφανώς( προσβάσιμοι((transparently(accessible).( Η(αλληλεπίδραση(ανθρώπουàυπολογιστή( πρέπει(να(γίνει(περισσότερο(έμμεση.( Οι(υπολογιστές(πρέπει(να(έχουν(επίγνωση( του(πλαισίου(στο(οποίο(λειτουργούν( (context(aware)(ώστε(να(βελτιστοποιούν( τις(λειτουργίες(τους(στο(περιβάλλον(τους.(
Calm(Technology( Στο(άρθρο(Designing(Calm(Technology,( οι(weiser(&(john(brown(περιγράφουν( τον(όρο(calm1technology(σαν( τεχνολογία(που("μας(ενημερώνει(χωρίς( να(απαιτεί(το(επίκεντρο(της(προσοχής( μας.( Υποθέσεις:(( Οι(άνθρωποι(έχουν(τη(δυνατότητα( αποδοχής(πληροφορίας(από(κεντρικές( και(περιφερειακές(εστίες(προσοχής,(και(( Οι(εργασίες((Tasks)(που(προσφέρουν( εύκολη(επιλεκτική(μετάπτωση(μεταξύ( αυτών(των(δύο(καταστάσεων,( επιβάλλουν(λιγότερη(αναστάστωση( στον(χρήστη(και(καλύτερη(επίγνωση( του(περιβάλλοντος(
Calm(CompuTng( Προσέγγιση:( Calm(Technology ( (Η(επιλεκτική( παρουσίαση(πληροφορίας(χωρίς(υπερφόρτωση( Περιφέρεια( ( Αυτά(στα(οποία(είμαστε(συντονισμένοι( χωρίς(να(δίνουμε(την(άμεση(προσοχή(μας ( Επεξεργασία(με(δευτερεύοντα(αισθητήρια((nonàcentral)( Ηρεμούν(καθώς(ενδυναμώνουν((selecTveness)( Προσφέρουν(στην(επίγνωση(του(περιβάλλοντος( ( Locatedness )( Ευκολία(της(επιλεκτική(μετάβασης( (καθορίζεται(από( τον(χρήστη,(όχι(το(περιβάλλον( Η(κεντρική(&(περιφερειακή(προσοχή(απαιτούν( περισσότερους(πόρους(από(τον(χρήστη( Πρόσφερε(αλλά(μην(απαιτείς! ( Σχεδιάζοντας(για(την(Περιφέρεια( (Λιγότερη(προσοχή( στις(τπε.( Έλεγξε(την(τεχνολογία,(μην(ελέγχεσαι(από(αυτή!(
Αρχές(του(ΔΥ( Ο(ΔΥ(πρεσβεύει(τέσσερις(αρχές([Hansmann( 2003]( Αποκέντρωση( Διαφοροποίηση( Συνδεσιμότητα( Απλότητα(
Αποκέντρωση( Κατανομή(των(εργασιών( (tasks)(που(απαιτούν( υπολογισμό(σε(πολλαπλές( αυτόνομες(συσκευές( Π.χ.:(Κρατώντας(ένα( ενημερωμένο(ημερολογιο( για(τον(χρήστη( Κάθε(συσκευή(είναι(μέρος( ενός(ετερογενούς1πεδίου1 Διάχυτου1Υπολογισμού1 Προβλήματα( διαχείρισης...!(
Διαφοροποίηση(I( Οι(περισσότεροι(χρήστες(έχουν(συνηθίσει(σε(ένα(PC(που(τα(κάνει(όλα.( Ο(ΔΥ(απαιτεί(μικρές,(στοχευμένες(και(βελτιστοποιημένες(συσκευές(που( υποστηρίζουν( Συγκεκριμένες(ομάδες(χρηστών( Συγκεκριμένους(σκοπούς( Ένας(χρήστης( (πολλοί(υπολογιστές( Οι(συσκευές(μπορει(να(επιτελούν(την(ίδια(λειτουργία((π.χ.(web(surfing)( αλλά(θα(υπάρχει(μια(προτιμώμενη(συσκευή(για(κάθε(περίσταση(
Διαφοροποίηση(II( Έτσι,(το(λογισμικό((εφαρμογή)(θα(καθορίζει(τις( δυνατότητες(που(θα(έχει(το(υλικό,(αντίθετα(από(τη( σημερινή(πρακτική( Προβλήματα(διαχείρισης(της(ετερογένειας(των( συσκευών(και(των(χαρακτηριστικών(τους( Input((keyboard,(stylus,(voice)( Output((screen,(vibraTon,(sound)( ConnecTon(protocols(
Συνδεσιμότητα( Διάφανες(και(«δίχως(ραφές»((seamless)(συνδέσεις( που(συνάπτονται(έμμεσα( Everybody s(soúware,(running(on(everybody s( hardware,(over(everybody s(network( (Lou(Gerstner,(IBM(CEO)( Πως(θα(επιτευχθεί(η(επικοινωνία(ετερογενών( συσκευών(μέσω(ετερογενών(δικτύων;(χρειαζόμαστε( πρότυπα,(κάτι(που(δεν(είναι(εύκολο(να(γίνει(
Συνδεσιμότητα(ΙΙ( Πρότυπα(για(συνδεσιμότητα( UMTS( Bluetooth( WiFi( Zigbee( Αλλά(και(για(ανταλλαγή( πληροφορίας(και(γνώσης!( (XML)( Και(ανταλλαγή(εφαρμογών( και(κατάστασης(αυτών!((java)(
Pervasive(IT( Server Store & process information Workstation Edit & Manage information Device Create & Access information Services Infrastructure Content Communication Access Standards XHTML GSM HTTP Bluetooth Interoperability 802.11g Java XML SQL
Απλότητα( Ετερογενείς(συσκευές(που(επιτελούν(τον(σκοπό( τους(με(βέλτιστο(τρόπο(( Διαθεσιμότητα,(ευκολία,(ευκολία(χρήσης( Σήμερα,(επιλογή(και(εκπαίδευση(κατάλληλων( ομάδων(χρηστών((ελίτ)( Αύριο:(Διεπαφές(τύπου(«βραστήρα» για(όλους,( ανεξάρτητα(από(το(επίπεδο(εκπαίδευσης(ή( γνωσιακής(ικανότητας(
Απλότητα(II( Η(τεράστια(πολυπλοκότητα(θα(κρύβεται(πίσω(από( απίστευτα(απλές(διεπαφές( Ένα(click( Φωνητικές(εντολές( Χειρονομίες( ( ( Προγνωστικά,(υποàβοηθητικά,(χρηστοàκεντρικά,( αυτοματοποιημένα,(διάχυτα(συστήματα(υπηρεσιών(που( επαυξάνουν1την1πραγματικότητα1με(χρήση( μικροσκοπικών(συσκευών;((
Ας(δούμε(πρώτα(που(είμαστε...( Διάχυτες(συσκευές((always( at(hand ):( Κινητά(τηλέφωνα,(PDAs,(Laptops,(κτλ(κτλ.( Διάχυτα(δίκτυα((always(available):( (W)LAN/MAN((Ethernet(&(IEEE(802.11)( GSM/GPRS/3G( PANs((Bluetooth,(IrDA,(AudioNet(etc.)( Διάχυτες(υπηρεσίες( Προς(το(παρόν,(κυρίως(βασισμένες(στην(τοποθεσία( Αυξάνεται(η(χρήση(του(social(context( Και(η(σύνθεση(πληροφορίας(από(διάφορες(πηγές(
Embedded(vs(Pervasive(
Εξέλιξη(του(ΔΥ( Remote communication protocol layering, RPC, end-to-end args... Fault tolerance ACID, two-phase commit, nested transactions... High Availability replication, rollback recovery,... Distributed Systems Mobile Computing Pervasive Computing Remote information access dist. file systems, dist. databases, caching,... Distributed security encryption, mutual authentication,... Mobile networking Mobile IP, ad hoc networks, wireless TCP fixes,... Mobile information access disconnected operation, weak consistency,... Adaptive applications proxies, transcoding, agility,... Energy-aware systems goal-directed adaptation, disk spin-down,... Location sensitivity GPS, WaveLan triangulation, context-awareness,... Smart spaces Invisibility Localized scalability Uneven conditioning This figure shows how research problems in pervasive computing relate to those in mobile computing and distributed systems. New problems are encountered as one moves from left to right in this figure. In addition, the solution of many previously-encountered problems becomes more complex. As the modulation symbols suggest, this increase in complexity is multiplicative rather http://www.csd.cs.cmu.edu/research/areas/mopercomp/ than additive it is very much more difficult to design and implement a pervasive computing system than a simple distributed system of comparable robustness and maturity. Note that this figure describes logical relationships, not temporal ones. Although the evolution of research effort over time has loosely followed this picture, there have been cases where research effort on some aspect of pervasive computing began relatively early. For
Ερευνητικές(κατευθύνσεις( http://www.csd.cs.cmu.edu/research/areas/mopercomp/
Συσχετιζόμενες(περιοχές( Wearable(compuTng( Intelligent(environments( Augmented(reality( (
Έρευνα;(Πώς;( «Η(έρευνα(στον(ΔΥ(είναι(πειραματική(εκ(φύσεως»(( M.(Weiser.(Some(computer(science(issues(in(ubiquitous(compuTng.(CommunicaTons( of(the(acm,(36(7):75à84(( Η(καλή(έρευνα(θα(πρέπει(να(ικανοποιεί(τα(κριτήρια:( 1. Πρέπει(να(υπάρχει(κάποια(εφαρμογήàκίνητρο.(Κατά(τον(Weiser,(οι( εφαρμογές(είναι(όλο(το(νόημα(του(δυ.( 2. Το(σύστημα(θα(πρέπει(να(ενσωματώνει(κάποια(έννοια(κλίμακας.(Εδώ( αναφερόμαστε(στο(φυσικό(χώρο(που(καλύπτει,(το(πλήθος(εμπλεκομένων( χρηστών,(το(πλήθος(και(ετερογένεια(των(εμπλεκόμενων(συσκευών(ή(τον( χρόνο(κατά(τον(οποίο(προσφέρεται(μια(υπηρεσία.( 3. Το(σύστημα(θα(πρέπει(να(υπόκειται(σε(πραγματική(και(καθημερινή(χρήση.( 4. Το(σύστημα(θα(πρέπει(να(αξιολογείται(για(να(καθορίζονται(οι(επιπτώσεις( του(στην(κοινότητα(των(χρηστών.(
Προσέγγιση Ανάπτυξης στον ΔΥ Κατανόηση(των( Χρηστών(/(Προβλήματος( Σχεδιασμός(λύσης( Υλοποίηση(λύσης(! ΑΞΙΟΛΟΓΗΣΗ! Τελικό παραδοτέο Στον ΔΥ, όλα γίνονται κάτω από ένα πλαίσιο συνεχούς αξιολόγησης!!!
Γενικά(γνωρίσματα(ΣΔΥ( Υπάρχουν(τρία(γενικά(γνωρίσματα(κοινά(σε(ευρύ( φάσμα(εφαρμογών(δυ.( 1. Παροχή(διάφανων7διεπαφών7 2. Αυτόματη(προσαρμογή(του(προγράμματος(με(βάση(το( πλαίσιο(χρήσης(( 3. Ικανότητα(αυτόματης(κτήσης7ζωντανών7εμπειριών7για( μετέπειτα(χρήση.(
Διάφανες7διεπαφές7 Όραμα(Unicom(:( pervasive(computaton( without(intrusion. ( Αφαίρεση(του(φυσικού(εμποδίου(μεταξύ( χρήστη(και(υπολογιστικής(συσκευής( Το(πληκτρολόγιο(και(το(ποντίκι(είναι(ακόμα(οι(πιο(συχνά( χρησιμοποιούμενες(διεπαφές!( Χρειάζονται:/ Ευέλικτες,(πολυτροπικές,(φυσικές(διεπαφές( Διαφορετικές(διεπαφές(για(την(ίδια(χρήση(
Επίγνωση7Πλαισίου7 Πλαίσιο/(context)/ (πληροφορία(για(το(περιβάλλον(στο( οποίο(δρά(η(συσκευή(/(υπηρεσία.7 ΘΕΣΗ7και(ΧΡΟΝΟΣ7είναι(απλά(παραδείγματα!( Απόλυτα(ή(σχετικά( Εύκολη(η(κτήση(με(αισθητήρες( (είναι(αρκετό;( Εφαρμογή7με7επίγνωση7πλαισίου7 Που(μπορεί(να(κάνει(κτήση(του(πλαισίου( Να(το(ερμηνεύσει( Να(τροποποιήσει(κατάλληλα(την(συμπεριφορά(της( Χρειάζονται:7 Εφαρμογές(που(έχουν(επίγνωση(πλαισίου(και(επιτρέπουν( την(άμεση(προσωπικοποίηση(των(υπηρεσιών(τους(
Αυτόματη7κτήση7εμπειριών7 Ανάκτηση(καθημερινών(εμπειριών(και(αποθήκευση( της(γνώσης(για(μετέπειτα(χρήση( Περιορισμοί:( Πολλαπλές7ροές7πληροφορίας( Χρονικός7υγχρονισμός7 Συσχέτιση7και(σύνθεση( Χρειάζονται:7 Αυτοματοποιημένα(εργαλεία(που(υποστηρίζουν(την( κτήση(εμπειριών,(τη(σύνθεση(γνώσης(και(μελλοντική( πρόσβαση(σε(αυτή.(
ΚΑθι επι κωπην
Αναφορές( Weiser, M. (1991) The computer for the twenty first century. Scientific American, 265(3): 94 104. Weiser M., Brown J.S. (1996) The coming of age of calm technology www.johnseelybrown.com/calmtech.pdf The origins of ubiquitous computing research at PARC in the late 1980's, Mark Weiser, Rich Gold, and John Seely Brown, IBM Systems Journal, Vol. 38, No. 4, 1999; pp. 693-696. Satyanarayanan, M. (2001) Pervasive computing: vision and challenges. IEEE Personal Communications, 8: 10 17. Rogers, Y. (2006) Moving on from Weiser s vision of calm computing: engaging UbiComp experiences. In P. Dourish and A. Friday (eds) Proceedings of Ubicomp 2006, Lecture Notes on Computing Science, 4206: 404 421. Hansmann, Uwe (2003). Pervasive Computing: The Mobile World. Springer. ISBN 3540002189. Poslad, Stefan (2009). Ubiquitous Computing Smart Devices, Smart Environments and Smart Interaction. Wiley. ISBN 978-0-470-03560-3.
Διεθνή Επιστηµονικά Περιοδικά Αναφοράς IEEE Pervasive Computing IEEE Transactions on Mobile Computing ΙΕΕΕ Wireless Communications Springer: Personal and Ubiquitous Computing Springer: Mobile Networks and Applications (MONET) Elsevier: Pervasive and Mobile Computing ACM: Mobile Computing and Communications Review Journal of Ambient Intelligence and Smart Environments (JAISE)