Η ανάπτυξη κινητών εφαρµογών σε σχέση µε τα δίκτυα κινητής τηλεφωνίας May 2012 Γιώργος Οικονόµου Principal Software Engineer gikonomou@bytemobile.com
Σύντομο ιστορικό της εταιρίας Η εταιρία ιδρύθηκε το 2000 από τον καθηγητή Κωνσταντίνο Πολυχρονόπουλο και µερικούς ταλαντούχους απόφοιτους στο University of Illinois. Το πρόβληµα που θέλησε να αντιµετωπίσει ήταν η χρήση ασύρµατων συνδέσεων χαµηλού εύρους υψηλής καθυστέρησης για εφαρµογές υψηλού εύρους χαµηλής καθυστέρησης. Η εταιρία σήµερα διαθέτει παγκόσµια παρουσία µε κεντρικά γραφεία στην Santa Clara στην California. Το ερευνητικό κέντρο της Πάτρας ιδρύθηκε το 2004 και απασχολεί σήµερα πάνω από 60 µηχανικούς.
Τεχνολογία και προοπτικές Η συνεχώς αυξανόµενη και «αχόρταγη» χρήση υπηρεσιών δεδοµένων οδηγεί το µέλλον των τηλεπικοινωνιών. Σηµαντικός παράγοντας η εκρηκτική αύξηση συσκευών, εφαρµογών και περιεχοµένου. Όσο κι αν αναπτύσσονται τα δίκτυα θα υπάρχει πάντα η ανάγκη για optimization, traffic management και policy control.
Εξαγωγική δραστηριότητα, επιτυχίες
Κινητά δίκτυα: ένας διαφρετικός τύπος δικτύου Διαφορές στην χωρητικότητα: Διαµοιρασµός κοινού µέσου στις DSL τεχνολογίες, µια γραµµή ανά συνδροµητή. Χρήσιµο ασύρµατο φάσµα 2-5GHz, πρακτικά µερικές εκατοντάδες MHz οπτική ίνα, αρκετά THz. Χαρακτηριστικά διάδοσης: φυσικά εµπόδια, σήµα αντιστρόφως ανάλογο του τετραγώνου της απόστασης. Αριθµός εξυπηρετούµενων συνδροµητών ανά σταθµό εκποµπής. Οι συνδροµητές µετακινούνται οι DSL γραµµές όχι! Διαφορές στα οικονοµικά δεδοµένα: Το φάσµα συχνοτήτων είναι πολύ ακριβό! Ακριβές επενδύσεις, µεγάλος ανταγωνισµός.
Κινητές εφαρμογές: κάτι διαφορετικό! Σε τι διαφέρει η ασύρµατη µετάδοση: Μία 3G HSDPA κυψέλη µπορεί να προσφέρει 7Mbps αλλά σε εκατοντάδες χρήστες! Απλές εφαρµογές (browsing, email) µε multiplexing. P2P, video streaming: δύσκολο το multiplexing, µεγάλο jitter. Πέρα από το bandwidth, σηµασία έχουν τα packets-per-second (pps). Packet collisions: το θεωρητικό µέγιστο διαφέρει από το πραγµατικό. Οι κινητές εφαρµογές µπορούν να λυγίσουν τα δίκτυα κινητής τηλεφωνίας. Γνωστά περιστατικά: AT&T (2008), T-Mobile (2010), Verizon LTE (2012) Σε περιστατικά συγκεντρώσεων πολλών συνδροµητών σε µια περιοχή.
Βελτιστοποίηση στο mobile device (1/2) Caching δεδοµένων τοπικά Γιατί η µεταφορά δεδοµένων κοστίζει ακριβά σε χρήµα και πόρους. Αποφυγή επανάκτησης στατικής πληροφορίας, όπως εικόνες, στατικά XML, κλπ. Αποφυγή polling, µηχανισµοί για asynchronous push. Συµπίεση Το κόστος αποσυµπίεσης είναι πολύ µικρότερο από το κόστος µεταφοράς (µπαταρία και απόδοση). Μετάδοση σε burst transmissions Τα wireless radiοs κλείνουν όταν δεν χρησιµοποιούνται.
Βελτιστοποίηση στο mobile device (2/2) Χειρισµός λαθών Το κινητό δίκτυο δεν πρέπει να θεωρείται ποτέ δεδοµένο. Το debugging σε κινητό δίκτυο είναι πάντα απαραίτητο. Τα callbacks δεν είναι πάντα αξιόπιστα. Υποστήριξη offline λειτουργίας Για καλύτερο user experience. Μεγάλη προσοχή στην κατανάλωση µπαταρίας Η λειτουργία σε κινητά δίκτυα αυξάνει δραµατικά την κατανάλωση. Πολύ προσεκτικό coding: µια πολύ καλή εφαρµογή θα απογοητεύει όταν καταναλώνει υπερβολική µπαταρία.
Βελτιστοποίηση στον server O server µιας εφαρµογής µπορεί να υποβοηθήσει την εφαρµογή. Υποστήριξη συµπίεσης δεδοµένων Βελτιστοποίηση εικόνων και άλλου περιεχοµένου Οff-load CPU bound tasks Custom protocols Reporting
Παράδειγμα βελτιστοποίησης εικόνας Original Lossless Op]mized Lossy Op]mized JPEG 10% compression 25% compression 10% compression 25% compression GIF
Παράδειγμα βελτιστοποίησης video Βελτιστοποίηση ποιότητας video ανάλογα µε το device του τελικού χρήστη. Ανίχνευση µείωσης του διαθέσιµου εύρους και αυτόµατη προσαρµογή της ποιότητας του περιεχοµένου. Μικρό buffering. Προσαρµογή codecs, απόρριψη «άχρηστου» περιεχοµένου.