Βέλτιστοι μηχανισμοί επικοινωνίας σε συστήματα παροχής υπηρεσιών τηλεματικής με αυτόματη αντίληψη της θέσης τερματικού

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Βέλτιστοι μηχανισμοί επικοινωνίας σε συστήματα παροχής υπηρεσιών τηλεματικής με αυτόματη αντίληψη της θέσης τερματικού"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία: Βέλτιστοι μηχανισμοί επικοινωνίας σε συστήματα παροχής υπηρεσιών τηλεματικής με αυτόματη αντίληψη της θέσης τερματικού Επιβλέπων Καθηγητής: Δημήτριος Μητράκος Φοιτητής: Χρήστος Ραβάνης (6007) Θεσσαλονίκη, Ιούλιος 2013

2 ΠΕΡΙΛΗΨΗ Αντικείμενο της διπλωματικής εργασίας είναι η διερεύνηση του υπόβαθρου των σύγχρονων Υπηρεσιών Αντίληψης Θέσης (Location Aware Services) και των συστημάτων Αυτόματης Εξαγωγής Δεδομένων από το Διαδίκτυο (Automatic Internet Data Extraction) καθώς και η ανάπτυξη μιας Android εφαρμογής, που αξιοποιεί τις υπηρεσίες τοποθεσίας της Google, για την παροχή πληροφοριών του προγράμματος προβολών των κινηματογράφων της Θεσσαλονίκης. Όσον αφορά το θεωρητικό μέρος, γίνεται μια επισκόπηση των αρχιτεκτονικών των κυψελοειδών δικτύων, των τρόπων διαχείρισης τοποθεσίας σε αυτά, των πρωτοκόλλων των υπηρεσιών τοποθεσίας που χρησιμοποιούνται και κάποιων σύγχρονων υλοποιήσεων σε Android λειτουργικό. Επίσης παρουσιάζονται οι τεχνικές και τα συστήματα εξαγωγής δεδομένων Ιστού, κάποιες εφαρμογές σε επιχειρηματικό και Social Web επίπεδο, και επισημαίνονται μελλοντικοί τομείς ενδιαφέροντος. Όσον αφορά το πρακτικό μέρος χρησιμοποιούνται οι γλώσσες προγραμματισμού java, php και JavaScript. Τέλος, αξιοποιείται η τεχνολογία ασύγχρονης μεταφοράς δεδομένων XML για την απεικόνιση των εγγραφών της MySQL βάσης δεδομένων. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Location aware services, Location based services, Location aware applications, Automatic internet data extraction, Web scrapping, Web data extraction, Information extraction. 1

3 ΕΥΧΑΡΙΣΤΙΕΣ Θα ήθελα να ευχαριστήσω θερμά τον επιβλέποντα καθηγητή κύριο Μητράκο Δημήτριο για την ανάθεση ενός εξαιρετικά ενδιαφέροντος θέματος, την αδιάλειπτη καθοδήγηση καθώς και για την κατανόηση και εμπιστοσύνη που με περιέβαλε καθ όλη τη διάρκεια εκπόνησης της εργασίας αυτής. Δεν θα μπορούσα να παραλείψω να ευχαριστήσω ιδιαίτερα την οικογένειά μου για την αμέριστη υποστήριξη και συμπαράσταση σε μια πολυετή προσπάθεια που φτάνει αισίως στο τέλος της. Τέλος, ευχαριστώ τους φίλους μου που μου συμπαραστάθηκαν όλον αυτό τον καιρό με κάθε τρόπο. Ιδιαιτέρως τον Ιάκωβο για την συνεχή ενθάρρυνση και τις πολύτιμες συμβουλές του. Επίσης την Κλαίρη για την επιμέλεια του εξωφύλλου της διπλωματικής και την ουσιαστικά κατευναστική παρουσία της. 2

4 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΑΚΡΩΝΥΜΙΑ ΕΙΣΑΓΩΓΗ LOCATION AWARE SERVICES & APPLICATIONS Αρχιτεκτονικές Κυψελοειδών Δικτύων GSM δίκτυα GPRS UMTS Διαχείριση Τοποθεσίας σε Κυψελοειδή Δίκτυα Δίκτυα μεταγωγής κυκλώματος (CS networks) Δίκτυα μεταγωγής πακέτου (PS networks) Αρχιτεκτονικές & Πρωτόκολλα Υπηρεσιών Τοποθεσίας στα GSM και UMTS Αρχιτεκτονική LCS δικτύου Λειτουργικές οντότητες LCS Διαδικασίες τοποθεσίας Σύγχρονες Υλοποιήσεις Android framework Location API Google Location Services API Μηχανισμός λήψης δεδομένων τοποθεσίας μέσω Wi-Fi από την Google AUTOMATIC INTERNET DATA EXTRACTION Τεχνικές Tree-based τεχνικές Web wrappers Machine learning προσεγγίσεις Υβριδικά συστήματα Συστήματα Εξαγωγής Δεδομένων Ιστού Εφαρμογές Επιχειρησιακές εφαρμογές Εφαρμογές Κοινωνικού Ιστού

5 3.4 Μια Ματιά στο Μέλλον Βιοπληροφορική & Υπολογιστική Επιστήμη Ιστοσυγκομιδή Σύνδεση δεδομένων από διάφορες πηγές Ιστού ΑΝΑΛΥΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Android Συσκευή Χρήστη Server ΧΡΗΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Από τον Απλό Χρήστη Από τον Διαχειριστή της Βάσης Δεδομένων ΒΙΒΛΙΟΓΡΑΦΙΑ - ΠΗΓΕΣ

6 ΑΚΡΩΝΥΜΙΑ AJAX API AUC BSC BSS BTS CBC CC CGI CMS CS CSS DBMS DOI DOM DTD ECT EDGE EIR FST GERAN GGSN GMLC Asynchronous JavaScript and XML Application Programming Interface Authentication Center Base Station Controller Base Station Subsystem Base Transceiver Station Cell Broadcasting Center Country Code Cell Global Identity Content Management System Circuit-Switched Cascading Style Sheets Database Management System Digital Object Identifier Document Object Model Document Type Definition Embedded Catalog Tree Enhanced Data Rates for GSM Evolution Equipment Identify Register Finite State Transducer GSM/EDGE Radio Access Network Gateway GSN Gateway Mobile Location Center GMSC Gateway Mobile Switching Center 5

7 GPRS GPS GSM GSN GTP GUI HLR HTML IDE IE IMEI IMS IMSI IP ISDN kbps LA LAC LAI LBS LCAF LCCF LCCTF LCF LCS LCZTF General Packet Radio Service Global Positioning System Global System for Mobile Communications GPRS Support Node GPRS Tunneling Protocol Graphical User Interface Home Location Register HyperText Markup Language Integrated Development Environment Information Extraction International Mobile Equipment Identity IP Multimedia Subsystem International Mobile Subscriber Identity Internet Protocol Integrated Services Digital Network kilobit per second Location Area Location Area Code Location Area Identifier Location Based Service Location Client Authorization Function Location Client Control Function Location Client Coordinate Transformation Function Location Client Function Location Service Location Client Zone Transformation Function 6

8 LMU LORT LSAF LSBcF LSBF LSCF LSOF LSPF LSTF MAC MAP MCC MHz MMS MNC MS MSC MSISDN MSN MSO MSRN NDC NSS OCR PCF PDN Location Management Unit Labeled Ordered Rooted Trees Location Subscriber Authorization Function Location System Broadcast Function Location System Billing Function Location System Control Function Location System Operation Function Location Subscriber Privacy Function Location Subscriber Translation Function Media Access Control Mobile Application Part Mobile Country Code Megahertz Multimedia Messaging Service Mobile Network Code Mobile Station Mobile Switching Center Mobile Subscriber ISDN Number Mobile Subscriber Number Monadic Second Order Mobile Station Roaming Number National Destination Code Network Station Subsystem Optical Character Recognition Positioning Calculation Function Packet Data Network 7

9 PDP PDU PIN POI PRCF PRRM PS PSMF PTA PTMP Services PTP Services P-TMSI RA RAI RDBMS REST RIA RNC RNS RRC RSS QoS SDH SGSN SG-WRAM Packet Data Protocol Packet Data Unit Personal Identification Number Privacy Override Indicator Positioning Coordination Function / Position Radio Coordination Function Position Radio Resource Management Packet-Switched Position Signal Measurement Function Partial Tree Alignment Point to Multipoint Services Point to Point Services Packet TMSI Routing Area Routing Area Identifier Relational DBMS Representational State Transfer Rich Internet Application Radio Network Controller Radio Network Subsystem Radio Resource Control Really Simple Syndication Quality of Service Synchronous Digital Hierarchy Serving GSN Schema Guided WRApper Maintenance 8

10 SIM SMLC SMS SN SNDCP SONET SSID SS7 TCP TED TMSI UE UI UMTS URA UTC UTRAN VLR WDE xal XML Subscriber Identity Module Serving Mobile Location Center Short Message Service Subscriber Number Subnetwork Dependent Convergence Protocol Synchronous Optical Network Service Set Identifier Signaling System No.7 Transmission Control Protocol Tree Edit Distance Temporary Mobile Subscriber Identity User Equipment User Interface Universal Mobile Telecommunications System UTRAN Registration Area Coordinated Universal Time UMTS Terrestrial Access Network Visitor Location Register Web Data Extraction extensible Address Language extensible Markup Language 9

11 1 ΕΙΣΑΓΩΓΗ Η διπλωματική εργασία έχει στόχο να διερευνήσει το υπόβαθρο των σύγχρονων Υπηρεσιών Αντίληψης Θέσης (Location Aware Services) και των συστημάτων Αυτόματης Εξαγωγής Δεδομένων από το Διαδίκτυο (Automatic Internet Data Extraction). Ως μέρος της διπλωματικής αναπτύχθηκε μία Android εφαρμογή, που αξιοποιεί τις υπηρεσίες τοποθεσίας της Google, για την παροχή πληροφοριών του προγράμματος προβολών των κινηματογράφων της Θεσσαλονίκης. Στο κεφάλαιο 2 περιγράφονται οι κυριότερες αρχιτεκτονικές κυψελοειδών δικτύων και ο τρόπος με τον οποίο γίνεται η διαχείριση τοποθεσίας, αναλόγως της φύσης του δικτύου. Στη συνέχεια, γίνεται μια εμβάθυνση στις αρχιτεκτονικές και τα πρωτόκολλα που χρησιμοποιούνται από τις υπηρεσίες τοποθεσίας στα GSM και UMTS δίκτυα, μιας και αυτά αποτελούν την βάση της σημερινής τηλεπικοινωνιακής δομής. Καταληκτικά, παρουσιάζονται οι διαθέσιμες Διεπαφές Προγραμματισμού Εφαρμογών (APIs) σε Android και μια σύγχρονη υλοποίηση από την Google, για την παροχή υπηρεσιών ανάλογα με την συγκεκριμένη τοποθεσία του χρήστη. Η εξαγωγή δεδομένων από το Internet με αυτόματο τρόπο, μια διαρκώς αναπτυσσόμενη τάση λόγω ανάγκης γόνιμης αξιοποίησης του μεγάλου εύρους πληροφορίας που διατίθεται στο διαδίκτυο, καταλαμβάνει το τρίτο κεφάλαιο. Γίνεται αναφορά στις διάφορες μεθόδους εξαγωγής και εξετάζονται τα χαρακτηριστικά συγκεκριμένων συστημάτων που έχουν αναπτυχθεί. Έπειτα συζητούνται οι εφαρμογές των συστημάτων εξαγωγής στον πραγματικό κόσμο, τόσο σε επιχειρηματικό (Enterprise) όσο και σε επίπεδο Κοινωνικού Ιστού (Social Web). Τέλος γίνεται νύξη σε κάποιες μελλοντικές εφαρμογές, όσον αφορά τους τομείς της Βιοπληροφορικής (Bioinformatics) και της Ιστοσυγκομιδής (Web harvesting), καθώς και την διασύνδεση δεδομένων από διάφορες πηγές του Ιστού. Η Android εφαρμογή που αναπτύχθηκε στα πλαίσια αυτής της διπλωματικής, αναλύεται στα κεφάλαια 4 και 5. Περιγράφονται τα βασικά της τμήματα και παρουσιάζονται στιγμιότυπα από τη χρήση της. 10

12 2 LOCATION AWARE SERVICES & APPLICATIONS Με τον όρο Υπηρεσίες Αντίληψης Θέσης (Location Aware Services) αναφερόμαστε σε ένα από τα βασικά χαρακτηριστικά των σημερινών ασύρματων δικτύων. Πρόκειται για υπηρεσίες και εφαρμογές, που εκμεταλλεύονται την ελεύθερη φύση των χρηστών τους, παρέχοντάς τους ειδικά προσαρμοσμένες υπηρεσίες ανάλογα με τη φυσική τοποθεσία τους. Παράλληλα, συνεπικουρούν και στις λειτουργίες του δικτύου, όπως η προ-ανάκτηση και η δρομολόγηση πακέτων δεδομένων. Οι Εφαρμογές Αντίληψης Θέσης (Location Aware Applications) παρέχουν διαδικτυακό περιεχόμενο σε χρήστες, βασιζόμενο στην γεωγραφική θέση που αυτοί βρίσκονται. Οι διάφορες τεχνολογίες που έχουν αναπτυχθεί χρησιμοποιούν το GPS (Global Positioning System), τις υποδομές του δικτύου της κινητής τηλεφωνίας (cell towers), ασύρματα σημεία πρόσβασης (Wi-Fi access points) ή συνδυασμό των προηγουμένων, προκειμένου να αναγνωρίσουν το που βρίσκονται ηλεκτρονικές συσκευές, όπως κινητά τηλέφωνα ή φορητοί υπολογιστές. Στη συνέχεια οι χρήστες των συσκευών αυτών, μπορούν να μοιραστούν τις πληροφορίες γεωτοποθεσίας τους με εφαρμογές, οι οποίες θα τους παρέχουν πληροφορίες όπως έναν δείκτη βρίσκεστε εδώ πάνω σε έναν χάρτη πόλης, κριτικές για τα εστιατόρια της περιοχής ή για τα κοντινά σημεία (απο)συμφόρησης της κυκλοφορίας. Επιπρόσθετα, οι εφαρμογές αυτές θα μπορούσαν να γνωστοποιούν την θέση του χρήστη σε φίλους του από κάποιο Κοινωνικό Δίκτυο, προτρέποντας τους κοντινότερούς του να συναντηθούν για καφέ ή γεύμα. Τέτοιες εφαρμογές, εκτός του ότι δημιουργούν ιδιαιτέρως στοχευμένες ευκαιρίες μάρκετινγκ για τους εμπόρους και επαγγελματίες του χώρου, συνεισφέρουν στην αύξηση της κοινωνικής συνδεσιμότητας των χρηστών, προσφέροντάς τους ένα φίλτρο διαδικτυακών πληροφοριών βασιζόμενο στην τοποθεσία τους. 2.1 Αρχιτεκτονικές Κυψελοειδών Δικτύων GSM δίκτυα Το πιο συχνά χρησιμοποιούμενο πρότυπο κινητής τηλεφωνίας των αρχών του 21 ου αιώνα στην Ευρώπη ήταν το δίκτυο GSM (Global System for Mobile 11

13 Communications). Γνωστό και ως πρότυπο δεύτερης γενιάς (2G) λόγω του ότι οι επικοινωνίες, σε αντίθεση με τα φορητά τηλέφωνα της πρώτης γενιάς (1G), πραγματοποιούνται αποκλειστικά ψηφιακά. Στην Ευρώπη, το GSM πρότυπο χρησιμοποιούσε τις ζώνες συχνοτήτων των 900MHz και των 1800MHz, ενώ στην Αμερική την ζώνη των 1900MHz. Το GSM είχε μέγιστη ρυθμοαπόδοση (throughput, σ.σ.: ικανότητα διαβίβασης δεδομένων) 9,6kbps, πράγμα που επέτρεπε την μετάδοση φωνής και μικρού όγκου ψηφιακών δεδομένων όπως μηνύματα κειμένου (SMS) ή πολυμέσων (MMS). Τα δίκτυα κινητής τηλεφωνίας βασίζονται στην έννοια της κυψέλης (cell). Πρόκειται για κυκλικές ζώνες οι οποίες αλληλεπικαλύπτονται, ώστε να καλύψουν μία γεωγραφική περιοχή. Τα κυψελοειδή δίκτυα βασίζονται στη χρήση ενός κεντρικού πομπού-δέκτη σε κάθε κυψέλη που ονομάζεται Σταθμός Βάσης (BTS-Base Transceiver Station). Όσο μικρότερη είναι η ακτίνα μιας κυψέλης, τόσο μεγαλύτερο είναι το διαθέσιμο εύρος ζώνης. Έτσι, σε πυκνοκατοικημένες αστικές περιοχές, υπάρχουν κυψέλες με ακτίνα μερικών εκατοντάδων μέτρων. Αντίθετα, πολύ μεγάλες κυψέλες ακτίνας ως και 30km, παρέχουν κάλυψη σε επαρχιακές περιοχές. Σε ένα κυψελοειδές δίκτυο, κάθε κυψέλη περιβάλλεται από 6 γειτονικές γι αυτό και παριστάνεται ως εξάγωνο. Για αποφυγή παρεμβολών, γειτονικές κυψέλες δε μπορούν να χρησιμοποιήσουν την ίδια συχνότητα. Πρακτικά, δύο κυψέλες που χρησιμοποιούν το ίδιο εύρος συχνοτήτων, θα πρέπει να διαχωρίζονται από μία απόσταση 2-3 φορές μεγαλύτερη της διαμέτρου της κυψέλης. Εικόνα 2.1 Δομή κυψελοειδούς δικτύου. Κάθε χρώμα αναπαριστά ξεχωριστό εύρος συχνοτήτων Σε ένα GSM δίκτυο, η τερματική συσκευή του χρήστη ονομάζεται Κινητός Σταθμός (MS-Mobile Station). O MS αποτελείται από: Την κάρτα SIM (Subscriber Identity Module) που επιτρέπει την μοναδική ταυτοποίηση του χρήστη. Τη φορητή τερματική συσκευή του χρήστη. Οι τερματικές συσκευές αναγνωρίζονται από έναν μοναδικό 15-ψήφιο αριθμό που λέγεται IMEI (International Mobile Equipment Identity). Κάθε κάρτα SIM 12

14 έχει επίσης έναν μοναδικό και κρυφό αριθμό αναγνώρισης που ονομάζεται IMSI (International Mobile Subscriber Identity). Ο IMSI μπορεί να προστατευτεί με χρήση ενός 4-ψήφιου PIN κωδικού. Έτσι η SIM κάρτα επιτρέπει την ταυτοποίηση ενός χρήστη, ανεξάρτητα από την τερματική συσκευή που χρησιμοποίει κατά την επικοινωνία με έναν BTS. Επικοινωνίες μεταξύ ενός MS κι ενός BTS επιτελούνται μέσω ραδιοζεύξης γνωστής και ως air interface. Εικόνα 2.2 Αρχιτεκτονική GSM δικτύου Όλοι οι BTSs ενός κυψελοειδούς δικτύου είναι συνδεμένοι στον Ελεγκτή Σταθμών Βάσης (BSC-Base Station Controller). Ο τελευταίος, είναι υπεύθυνος για την διαχείριση κατανομής των πόρων, δηλαδή των καναλιών του air interface. Το σύστημα που αποτελείται από τον BSC και τους συνδεδεμένους BTSs, ονομάζεται Υποσύστημα Σταθμών Βάσης (BSS-Base Station Subsystem). Τέλος οι BSCs, είναι οι ίδιοι φυσικά συνδεδεμένοι στο Κέντρο Μεταγωγής Κινητής Τηλεφωνίας (MSC-Mobile Switching Center). Τη διαχείριση του MSC την έχει ο φορέας του τηλεφωνικού δικτύου. Το MSC που συνδέει τους BSCs στο δημόσιο δίκτυο τηλεφωνίας και στο διαδίκτυο (Internet), ανήκει στο Υποσύστημα Σταθμού Δικτύου (NSS-Network Station Subsystem), το οποίο είναι υπεύθυνο για την διαχείριση της ταυτότητας των χρηστών, της τοποθεσίας τους και της εγκαθίδρυσης επικοινωνίας με άλλους συνδρομητές. Τμήμα του NSS αποτελεί 13

15 και η Πύλη του Κέντρου Μεταγωγής Κινητής Τηλεφωνίας (GMSC-Gateway Mobile Switching Center), που είναι η διεπαφή (interface) μεταξύ του GSM και του εξωτερικού σταθερού δικτύου (π.χ. του ISDN). Από τα παραπάνω, γίνεται φανερό ότι το GMSC αποτελεί ένα κεντρικό στοιχείο, που μπορεί να εξυπηρετεί και ένα ολόκληρο δίκτυο GSM. Αντίθετα το MSC, είναι υπεύθυνο για την εξυπηρέτηση μιας μικρής γεωγραφικής περιοχής, που προκύπτει από όλους τους BTSs που συνδέονται μέσω των BSCs τους στο MSC. Γενικά, το MSC είναι συνδεδεμένο σε βάσεις δεδομένων που παρέχουν επιπρόσθετες λειτουργίες: Καταχωρητής Τοποθεσίας Οικείων (HLR-Home Location Register) Μία βάση δεδομένων που περιέχει πληροφορίες όπως γεωγραφική θέση, πληροφορίες διαχείρισης κ.α. σχετικά με τους συνδρομητές που είναι καταχωρημένοι στην περιοχή του MSC. Καταχωρητής Τοποθεσίας Επισκεπτών (VLR-Visitor Location Register) Μία βάση δεδομένων που περιέχει πληροφορίες χρηστών, που δεν ανήκουν στους τοπικούς συνδρομητές. Η ανάκτηση δεδομένων σχετικά με έναν νέο χρήστη στον VLR γίνεται μέσω του HLR της ζώνης συνδρομής του χρήστη. Καταχωρητής Αναγνώρισης Εξοπλισμού (EIR-Equipment Identify Register) Μία βάση δεδομένων που περιέχει πληροφορίες σχετικά με το ποιες συσκευές είναι έγκυρες και ποιες όχι (σ.σ.: όσες έχουν κλαπεί και έχει δηλωθεί το IMEI τους). Κέντρο Αυθεντικοποίησης (AUC-Authentication Center) Ο ρόλος του έγκειται στην διαχείριση των δεδομένων ασφαλείας που χρησιμοποιούνται κατά την πιστοποίηση της ταυτότητας του συνδρομητή και την κρυπτογράφηση των δεδομένων. Κυψελοειδή δίκτυα δομημένα με αυτόν τον τρόπο, είναι σχεδιασμένα να παρέχουν κινητικότητα στους χρήστες, μέσω της διαχείρισης μεταβάσεων μεταξύ των κυψελών, γνωστών και ως handovers. Την ευθύνη ελέγχου και εκτέλεσής τους την έχει το BSC. Η έννοια των handovers δεν πρέπει να συγχέεται με την δυνατότητα μετακίνησης των χρηστών από έναν διαχειριστή δικτύου σε άλλον (roaming) που παρέχεται επίσης στο GSM. 14

16 Εικόνα 2.3 Πορεία πραγματοποίησης τηλεφωνικής κλήσης/λήψης δεδομένων Internet Ανακεφαλαιωτικά λοιπόν, το GSM δίκτυο αποτελείται από διάφορα access networks (τα BSS που αναφέρθηκαν πιο πάνω), που περιλαμβάνουν τον απαραίτητο ραδιοεξοπλισμό για την διασύνδεση ενός τερματικού με το δίκτυο. Τα access networks διασυνδέονται με το core network (το NSS που αναφέρθηκε νωρίτερα), το οποίο προσφέρει τη δυνατότητα διαλειτουργικότητας με εξωτερικά τηλεφωνικά δίκτυα (π.χ. ISDN). Οι σταθερές συνδέσεις εντός του NSS, καθώς και μεταξύ των BSS και NSS, πραγματοποιούνται με συμβατικές γραμμές μεταφοράς σύμφωνα με τα πρότυπα της Σύγχρονης Ψηφιακής Ιεραρχίας (SDH- Synchronous Digital Hierarchy) ή του Σύγχρονου Οπτικού Δικτύου (SONET- Synchronous Optical Network). Εκτός από την μεταφορά των τηλεφωνικών κλήσεων, τα στοιχεία του δικτύου πρέπει να ανταλλάσσουν πληροφορίες ελέγχου για την δημιουργία, συντήρηση και απελευθέρωση των συνδέσεων, την διαχείριση της κινητικότητας και τον έλεγχο θέσης. Η ανταλλαγή όλων αυτών των δεδομένων ελέγχου εντάσσεται στην έννοια της σηματοδοσίας (signaling). Στο NSS, η σηματοδοσία υλοποιείται μέσω των πρωτοκόλλων του Συστήματος Σηματοδοσίας Νο.7 (SS7-Signaling System No.7), που είναι μία κοινή στοίβα πρωτοκόλλου τυποποιημένη για το ISDN. Επειδή το SS7 δεν παρέχει λειτουργίες υποστήριξης κινητικότητας, δημιουργήθηκε μία επέκταση για το GSM που ονομάζεται Τμήμα Κινητής Εφαρμογής (MAP-Mobile Application Part) και που ενεργοποιεί την μεταφορά δεδομένων ελέγχου για την υποστήριξη κινητικότητας. Για την σηματοδοσία μεταξύ του NSS και του BSS, καθώς και εντός του BSS, έχουν καθοριστεί συγκεκριμένα πρωτόκολλα του GSM. 15

17 Εικόνα 2.4 Τμήματα Access και Core του GSM δικτύου Η κύρια ιδέα που συνδέεται με τις Υπηρεσίες Αντίληψης Θέσης είναι η έννοια της περιοχής στόχου (target area). Αυτή είναι μια αυθαίρετη περιοχή, που καθορίζεται από την κάθε σύνοδο ή μήνυμα αντίληψης θέσης, και περικλείει τους κινητούς ή σταθερούς κόμβους που προορίζονται να λάβουν την υπηρεσία ή το μήνυμα. Η περιοχή στόχου μπορεί να είναι σταθερή για την διάρκεια της συνόδου αντίληψης θέσης ή να κινείται μαζί με τους MSs προς το κέντρο ή τα άκρα της. Το μείζον ζήτημα στη παροχή Υπηρεσιών Αντίληψης Θέσης για GSM δίκτυα κινητής τηλεφωνίας είναι η χαρτογράφηση των ορίων της περιοχής στόχου σε κυψελοειδή διάταξη με τρόπο έγκαιρο και αποδοτικό. Μία μέθοδος για να επιτευχθεί αυτό, είναι εισάγοντας ένα κεντρικό στοιχείο αντίληψης γεωτοποθεσίας μέσα στο δίκτυο, το οποίο να έχει εικόνα της κυψελοειδούς διάταξης (π.χ. των ορίων της κυψέλης) και τη δυνατότητα χαρτογράφησης των προδιαγραφών των ορίων της περιοχής στόχου επί των κυψελών και, κατά συνέπεια, επί των BTSs που απαιτείται να μετέχουν. Αφού καθοριστούν οι BTSs οι οποίοι δυνητικά θα μεταδίδουν τη σύνοδο της υπηρεσίας αντίληψης θέσης, σχηματίζεται το geocast group. Ο όρος geocast αναφέρεται στην παροχή πληροφοριών σε μια ομάδα προορισμών εντός ενός δικτύου που προσδιορίζονται από τη γεωγραφική τους θέση. Το geocast group αποτελείται από τους MSs εντός της περιοχής στόχου και βασίζεται στις πληροφορίες γεωτοποθεσίας που υποβάλλονται από τους MSs με τρόπο φανερό στον αποστολέα. Επομένως, το ζήτημα της χαρτογράφησης της περιοχής στόχου έγκειται στην διατήρηση ακρίβειας κατά τον σχηματισμό των geocast groups. Η ανακρίβεια στον ορισμό των geocast groups προκύπτει από το γεγονός ότι ο MS μπορεί να περιλαμβάνεται στην ομαδοποίηση ενώ βρίσκεται εκτός της περιοχής στόχου κατά την στιγμή άφιξης μιας υπηρεσίας αντίληψης θέσης (και αντιστρόφως). Αυτό το σφάλμα ονομάζεται σφάλμα στο μέλος του geocast group και αποτελεί μέτρο της ποιότητας της υπηρεσίας (QoS) που προσφέρεται. Ως απόλυτη παράμετρος της ποιότητας των παρεχόμενων υπηρεσιών θα 16

18 μπορούσε να οριστεί η πιθανότητα Pc ύπαρξης ενός λάθους στα μέλη του geocast group. Εναλλακτικά η Pc μπορεί να οριστεί ως ο λόγος του αριθμού των λαθών στα μέλη του geocast group προς τον συνολικό αριθμό των MSs που στέλνουν ενημερώσεις για την γεωτοποθεσία τους στο δίκτυο. Η ακρίβεια των πληροφοριών γεωτοποθεσίας στους MSs, εξαρτάται από τη συχνότητα ανανέωσης των πληροφοριών αυτών. Από την άλλη, το ποσό της σηματοδοσίας, των μετρήσεων, του υπολογισμού των ενημερώσεων και των αναζητήσεων λόγω γεωτοποθεσίας, μπορεί να συνεισφέρουν σημαντικά στο κόστος διαχείρισης του δικτύου. Υπό το πρίσμα των προηγουμένων, η βελτιστοποίηση της περιόδου ενημέρωσης είναι ζωτικής σημασίας για τον συμβιβασμό μεταξύ της ελαχιστοποίησης του φορτίου σηματοδοσίας και της ελαχιστοποίησης της συνολικής πιθανότητας λάθους στα μέλη του geocast group. Ικανοποιώντας τις απαιτήσεις παροχής ακρίβειας στα geocast group και ελαχιστοποιώντας το φορτίο σηματοδοσίας, ένα πετυχημένο σύστημα ενημέρωσης γεωτοποθεσίας πρέπει να είναι απλό από την άποψη της υπολογιστικής πολυπλοκότητας και των απαιτήσεων σε αποθήκευση δεδομένων. Κι αυτό, λόγω των περιορισμών που επιβάλλονται από το περιβάλλον πραγματικού χρόνου και τον αριθμό των MSs αντίστοιχα. Στη περίπτωση που οι περίοδοι ενημέρωσης γεωτοποθεσίας καθορίζονται από τον MS, οι περιορισμοί υπολογιστικής πολυπλοκότητας και αποθήκευσης δεδομένων, ενισχύονται περαιτέρω από περιορισμούς κατανάλωσης ενέργειας των φορητών συσκευών GPRS Το GSM είχε αρχικά σχεδιαστεί για την παροχή υπηρεσιών φωνής, οι οποίες είναι εκ φύσεως υπηρεσίες μεταγωγής κυκλώματος. Έτσι πριν από οποιαδήποτε μεταφορά δεδομένων, έπρεπε να εγκατασταθεί ένα κύκλωμα μεταγωγής μεταξύ των κόμβων και καναλιών του δικτύου. Κατά την εγκατάσταση ενός τέτοιου κυκλώματος, τα κανάλια κατανέμονται τόσο μεταξύ των κόμβων μεταγωγής του σταθερού δικτύου όσο και μεταξύ των τερματικών και των BTSs του air interface. Εν συνεχεία δεσμεύονται για αποκλειστική χρήση κατά την διάρκεια της σύνδεσης, ανεξάρτητα από το αν μεταφέρονται δεδομένα ή όχι. Λόγω της αύξησης της δημοτικότητας του διαδικτύου στην δεκαετία του 90, προτιμήθηκαν οι υπηρεσίες μεταγωγής πακέτου και έτσι το GSM επεκτάθηκε στο GPRS (General Packet Radio Service). Το GPRS είναι ένα πρότυπο τηλεφωνίας δεύτερης γενιάς που επιτρέπει την μετάβαση στην τρίτη γενιά, γι αυτό και γενικά ταξινομείται ως 2,5G. Στα Δίκτυα 17

19 Μεταγωγής Πακέτου (PS-Packet Switched Networks) τα δεδομένα κατακερματίζονται σε πακέτα σταθερού ή μεταβλητού μήκους και στη συνέχεια διέρχονται μέσω του δικτύου ανεξάρτητα το ένα από το άλλο. Οι δίαυλοι μεταξύ των κόμβων μεταγωγής, δεσμεύονται μόνο κατά τη διάρκεια της μεταφοράς ενός πακέτου και αμέσως μετά απελευθερώνονται. Οι ταχύτητες μεταφοράς πακέτων θεωρητικά είναι της τάξης των 171,2 Kbit/s, πρακτικά όμως φτάνουν τα 114 Kbit/s. Το GPRS υποστηρίζει νέα χαρακτηριστικά που δεν ήταν διαθέσιμα στο GSM πρότυπο και μπορούν γενικά να κατηγοριοποιηθούν ως εξής: Υπηρεσίες Από Σημείο σε Σημείο (PTP-Point to Point Services) Η δυνατότητα για σύνδεση σε λειτουργία client-server σε ένα μηχάνημα ενός IP δικτύου. Υπηρεσίες Από Σημείο σε Πολλά Σημεία (PTMP-Point to Multipoint Services) Η δυνατότητα αποστολής ενός πακέτου σε μια ομάδα παραληπτών (multicast). Υπηρεσίες Μηνυμάτων Μικρού Μήκους (SMS-Short Message Services) Μία σημαντική παράμετρος σχεδίασης του GPRS ήταν η κατά το δυνατόν επαναχρησιμοποίηση ήδη υπαρχόντων τμημάτων των GSM δικτύων, ιδίως της ακριβής και καλά εδραιωμένης υποδομής των BTSs. Γι αυτό, το BSS επεκτάθηκε με έναν αριθμό νέων πρωτοκόλλων, για την μεταφορά μικρών ριπών δεδομένων μέσω του air interface. Παρόλα αυτά, για το τμήμα του σταθερού δικτύου, ήταν απαραίτητο να κατασκευαστεί ένα δεύτερο δίκτυο με νέα στοιχεία που θα λειτουργούσαν παράλληλα με το υπάρχον NSS. Εικόνα 2.5 Αρχιτεκτονική GPRS δικτύου Το core network του GPRS είναι στην ουσία ένα IP δίκτυο αποτελούμενο από ένα σύνολο δρομολογητών (router) για την μεταφορά πακέτων μεταξύ του BSS και του Δικτύου Πακέτων Δεδομένων (PDN-Packet Data Network) που βρίσκεται 18

20 στο εξωτερικό. Οι routers ονομάζονται Κόμβοι Υποστήριξης GPRS (GSNs-GPRS Support Nodes) και, σε αναλογία με τα MSCs, διαφέρουν από τους συμβατικούς που χρησιμοποιούνται στο διαδίκτυο, ως προς το ότι παρέχουν βελτιωμένους μηχανισμούς υποστήριξης κινητικότητας των χρηστών. Επίσης είναι υπεύθυνοι για την καταμέτρηση πακέτων με ογκοχρέωση. Υπάρχουν δύο διαφορετικοί τύποι GSNs: Η Πύλη GSN (GGSN-Gateway GSN) που είναι το αντίστοιχο της GMSC και είναι υπεύθυνη για τη διασύνδεση του GPRS core network με ένα εξωτερικό PDN. Ουσιαστικά παρέχει μία IP διεύθυνση στα κινητά τερματικά κατά τη διάρκεια σύνδεσής τους. Η Εξυπηρέτηση GSN (SGSN-Serving GSN) που είναι αντίστοιχο του MSC και εξυπηρετεί μια περιορισμένη γεωγραφική περιοχή, η οποία ορίζεται από το σύνολο των συνδεδεμένων με αυτή BTSs. Πρακτικά διαχειρίζεται τις διευθύνσεις των τερματικών στην κυψέλη και παρέχει το interface μεταφοράς πακέτων με την GGSN. Ανάλογα με την αντίστοιχη διαμόρφωση, ένα δίκτυο μπορεί να περιέχει αρκετές GGSNs, πράγμα που σημαίνει ότι μία SGSN δεν εκχωρείται σε συγκεκριμένη GGSN αλλά μπορεί να στέλνει/λαμβάνει πακέτα προς/από διαφορετικές GGSNs. Σε αντίθεση με τα MSCs και GMSCs, οι GSNs έχουν ενσωματωμένους καταχωρητές για την αποθήκευση δεδομένων τοποθεσίας και προφίλ για όλους τους συνδρομητές του GPRS δικτύου. Έτσι η μεταφορά πακέτων δεδομένων μπορεί να επιταχυνθεί, αφού αποφεύγονται καθυστερήσεις κατά την αίτηση δεδομένων θέσης από εξωτερικούς καταχωρητές. Ο καταχωρητής θέσης της SGSN αντικαθιστά τον VLR του GSM δικτύου, ενώ ο καταχωρητής θέσης της GGSN παίζει τον ρόλο του HLR. Παρόλα αυτά, οι HLR και VLR είναι συνδεδεμένοι στο GPRS δίκτυο προκειμένου να υποστηρίζεται μια κοινή διαχείριση της τοποθεσίας, όταν οι συνδρομητές είναι εγγεγραμμένοι τόσο σε υπηρεσίες μεταγωγής κυκλώματος όσο και σε υπηρεσίες μεταγωγής πακέτου. Επιπλέον, ο HLR υποστηρίζει τη διαχείριση τοποθεσίας μέσω GPRS, στη περίπτωση που ο συνδρομητής κινείται μεταξύ περιοχών που εξυπηρετούνται από διαφορετικές SGSNs UMTS Κατά την φάση σχεδίασης του UMTS (Universal Mobile Telecommunications System) ένας σημαντικός στόχος ήταν να καθοριστεί μια ομαλή πορεία μετάβασης από τα συστήματα 2G στα 3G. Και οι δύο τύποι δικτύων έπρεπε να ενοποιηθούν, όσο το δυνατόν, και όχι να λειτουργούν δύο ξεχωριστά δίκτυα που 19

21 να είναι εντελώς διαφορετικά μεταξύ τους. Αυτό συνεπάγεται ότι τα τερματικά UMTS θα έπρεπε να δουλεύουν και σε λειτουργία GSM/GPRS και ότι υπάρχει διαλειτουργικότητα (π.χ. η διαχείριση της αυθεντικοποίησης και των μεταβάσεων μεταξύ των κυψελών) μεταξύ των συστημάτων. Δεν προκαλεί λοιπόν έκπληξη το γεγονός, ότι η σημερινή UMTS υποδομή μοιάζει πολύ με ένα συνδυασμένο δίκτυο GSM/GPRS. Εικόνα 2.6 Αρχιτεκτονική UMTS δικτύου Το UMTS ενσωματώνει δύο access networks που ονομάζονται GERAN (GSM/EDGE Radio Access Network) και UTRAN (UMTS Terrestrial Access Network). Το πρώτο ουσιαστικά αντιστοιχεί στο GSM access network που περιγράφηκε νωρίτερα και ενσωματώνει, το συμβατικό GSM air interface και την εκτεταμένη έκδοση EDGE (Enhanced Data Rates for GSM Evolution). Το EDGE αν και ορίστηκε ως ένα ενδιάμεσο βήμα (2,75G) στην πορεία μετάβασης προς το UMTS, έχει αναπτυχθεί από λίγους μόνο φορείς, ίσως ως εναλλακτικό του UMTS. Η διαμόρφωση που χρησιμοποιείται διαφέρει από αυτήν του GSM, πράγμα που σημαίνει ότι οι σταθμοί βάσης και τα κινητά τερματικά πρέπει να τροποποιηθούν για να το υποστηρίζουν. Θεωρητικά το EDGE παρέχει ρυθμοαπόδοση μέχρι και 384 Kbit/s για σταθερούς σταθμούς (πεζούς και αργά οχήματα) και έως 144 Kbit/s για κινητούς (γρήγορα οχήματα). Το αντίστοιχο του υποσυστήματος σταθμών βάσης (BSS) στο UTRAN ονομάζεται RNS (Radio Network Subsystem). O σταθμός βάσης ονομάζεται NB (Node B) και ελέγχεται από τον RNC (Radio Network Controller) που είναι το αντίστοιχο του BSC στο GSM. Το τερματικό αναφέρεται ως UE (User Equipment). 20

22 Τα GSM και GPRS core networks που είδαμε προηγούμενα, αναπαρίστανται εδώ από τους Τομείς Μεταγωγής Κυκλώματος (CS domain) και Πακέτου (PS domain) αντίστοιχα. Προκειμένου να ανταποκριθούν στις αυξημένες ταχύτητες δεδομένων, στους ενισχυμένους μηχανισμούς ασφαλείας και, σε νέα πρωτόκολλα και σηματοδοσία για βελτίωση των χαρακτηριστικών της υπηρεσίας, όλα τα προηγούμενα τμήματα έχουν υποστεί επεκτάσεις και τροποποιήσεις. Μακροπρόθεσμα πρόκειται να αντικατασταθεί το CS domain με υπηρεσίες του PS domain. Στόχος είναι η μετατροπή όλων των συνδέσεων δικτύου, τόσο εντός των access & core networks όσο και μεταξύ τους, σε IP. Παραδοσιακές υπηρεσίες όπως η φωνή καθώς και πολλές νέες, περισσότερο ή λιγότερο περίπλοκες, θα υλοποιούνται τότε από ένα νέο περιβάλλον υπηρεσιών στο PS domain που αναφέρεται ως IMS (IP Multimedia Subsystem). 2.2 Διαχείριση Τοποθεσίας σε Κυψελοειδή Δίκτυα Δίκτυα μεταγωγής κυκλώματος (CS networks) Ως παράδειγμα διαχείρισης τοποθεσίας σε Δίκτυα Μεταγωγής Κυκλώματος (CS- Circuit Switched networks) θα εξετάσουμε τους CS domains των GSM και UMTS. Το ιεραρχικό μοντέλο στο οποίο βασίζεται η διαχείριση αποτελείται από τέσσερα διακριτά επίπεδα. Εικόνα 2.7 Τοπολογία διαχείρισης σε GSM/UMTS CS δίκτυα Αρχικά έχουμε την Service area του GSM/UMTS δικτύου. Καθώς τα περισσότερα δίκτυα λειτουργούν σε εθνική βάση, η περιοχή αυτή συνήθως αντιστοιχεί σε μία 21

23 χώρα. Η Service area υποδιαιρείται σε έναν αριθμό από MSC areas, καθεμιά από τις οποίες διαθέτει ένα κέντρο μεταγωγής κινητής τηλεφωνίας (MSC), αρμόδιο για την μεταγωγή τηλεφωνικών κλήσεων που προέρχονται και περατώνονται στη συγκεκριμένη περιοχή. Το δίκτυο έχει τουλάχιστον μία MSC area, αλλά συνήθως αποτελείται από αρκετές δεκάδες από αυτές. Η MSC area απαρτίζεται από έναν αριθμό Ζωνών Τοποθεσίας (LAs-Location Areas) ενώ καθεμιά LA συνίσταται από έναν αριθμό κυψελών. Η LA αναπαριστά τη μικρότερη μονάδα για την οποία το δίκτυο διατηρεί την τρέχουσα θέση ενός συνδρομητή. Έτσι αντί να αναφέρεται κάθε φορά η τρέχουσα κυψέλη, το τερματικό πραγματοποιεί ενημέρωση τοποθεσίας μόνο όταν ο συνδρομητής εισέλθει σε άλλη LA και αναφέρει την ταυτότητά της στο δίκτυο. Εικόνα 2.8 Απεικόνιση Ζωνών Τοποθεσίας (Location Areas) Αναγνωριστικά και διευθύνσεις Η υποστήριξη κινητικότητας του τερματικού και των χρηστών, απαιτεί έναν αριθμό σχημάτων διευθυνσιοδότησης, για την ανάθεση μόνιμων ή προσωρινών διευθύνσεων στους συνδρομητές και τα τερματικά. Έτσι επιτυγχάνεται μία δυναμική σύνδεση μεταξύ του συνδρομητή και του τερματικού καθώς και μεταξύ του τερματικού και του δικτύου. Επιπλέον πρέπει να γίνει αναφορά στις LAs και τις κυψέλες. 22

24 Εικόνα 2.9 Αναγνωριστικά που χρησιμοποιούνται σε CS location management Βασικά υπάρχουν τρία διαφορετικά αναγνωριστικά για την αναφορά στον συνδρομητή, στο τερματικό και στις διάφορες περιοχές τοπολογίας της διαχείρισης τοποθεσίας. Όσον αφορά τον συνδρομητή έχουμε: IMSI (International Mobile Subscriber Identity) Κάθε συνδρομητής μπορεί μοναδικά να αναγνωριστεί από το IMSI του. Η δομή του τελευταίου έχει καθοριστεί στη σύσταση E.214 του Telecommunication Standardization Sector της ITU-T (International Telecommunication Union), και ορίζει τα συστήματα αριθμοδότησης για σαφή αναγνώριση των σταθερών και κινητών δικτύων παγκοσμίως. Αποτελείται από τον MCC (Mobile Country Code) που εκφράζει την χώρα του οικείου δικτύου του συνδρομητή, τον MNC (Mobile Network Code) που υποδηλώνει το δίκτυο εντός της χώρας και τον MSN (Mobile Subscriber Number) ο οποίος προσδιορίζει μοναδικά τον συνδρομητή εντός του δικτύου. MSISDN (Mobile Subscriber ISDN Number) Ο MSISDN είναι βασικά ο τηλεφωνικός αριθμός του συνδρομητή που καλείται από κάποιον τρίτο κατά την πραγματοποίηση μιας τηλεφωνικής κλήσης. Δηλαδή, σε αντίθεση με τον IMSI, είναι ένα δημόσιο αναγνωριστικό. Η δομή του ακολουθεί την σύσταση E.164 της ITU-T, που χρησιμοποιείται επίσης για την εκχώρηση τηλεφωνικών αριθμών σε σταθερά τηλεφωνικά δίκτυα όπως το ISDN. Ο MSISDN συνίσταται από 23

25 τον CC (Country Code), τον NDC (National Destination Code) και τον SN (Subscriber Number). Αν και η έννοια των CC, NDC και SN είναι αρκετά παρόμοια με αυτήν των MCC, MNC και MSN που χρησιμοποιούνται στο IMSI, η εκχώρησή τους γίνεται με διαφορετικά συστήματα αριθμοδότησης και ως εκ τούτου δεν είναι ίδια. Ο IMSI και ο MSISDN επιτρέπουν τον διαχωρισμό της ταυτότητας ενός συνδρομητή και του τηλεφωνικού του αριθμού. Ο IMSI σχετίζεται με τις εσωτερικές διαδικασίες σηματοδοσίας εντός του δικτύου (π.χ. αυθεντικοποίηση) ή μεταξύ των δικτύων (π.χ. περιαγωγή). Σε αντίθεση με τον MSISDN δεν είναι δημόσιος και αποτελεί μία βασική έννοια για την προστασία της ταυτότητας του συνδρομητή από κατάχρηση. Επίσης, σε αντίθεση με άλλα αναγνωριστικά, ο IMSI δεν μεταδίδεται, πλην ελαχίστων εξαιρέσεων, μέσω του air interface. Η σύνδεση μεταξύ των IMSI και MSISDN ενός συνδρομητή διατηρείται στον HLR. Τα δύο αναγνωριστικά αποθηκεύονται επίσης στην κάρτα SIM του χρήστη και στον VLR. Κάθε συνδρομητής μπορεί να αντιστοιχίζεται σε πολλούς MSISDNs ώστε να μπορεί να γίνεται διάκριση μεταξύ των διαφορετικών υπηρεσιών μεταγωγής κυκλώματος όπως φωνή, fax και δεδομένα. Για την δρομολόγηση μιας εισερχόμενης τηλεφωνικής κλήσης μέσω της τοπολογίας ενός κυψελοειδούς δικτύου στο τερματικό προορισμού υπάρχουν τα ακόλουθα αναγνωριστικά: MSRN (Mobile Station Roaming Number) Ο MSRN αντιπροσωπεύει ένα συγκεκριμένο τερματικό σε σχέση με την MSC area στην οποία εκείνο βρίσκεται τη συγκεκριμένη στιγμή. Μπορεί να θεωρηθεί ως ένας προσωρινός, εξαρτώμενος από την τοποθεσία τηλεφωνικός αριθμός, που έχει ισχύ μόνο κατά την διάρκεια παραμονής του συνδρομητή στην MSC area και αλλάζει όταν εισέρχεται σε μία άλλη. Ο MSRN έχει την δομή τηλεφωνικού αριθμού MSISDN (δηλαδή αποτελείται από τους CC, NDC και SN) και χρησιμοποιείται αποκλειστικά για σκοπούς εσωτερικής δρομολόγησης. Δεν είναι ορατός στους συνδρομητές ή σε τρίτους, ούτε είναι εφικτή η πραγματοποίηση κλήσης μέσω αυτού. Ο MSRN παράγεται από τον αρμόδιο VLR και περνά στον HLR, ο οποίος διατηρεί τη σύνδεση μεταξύ των MSISDN και MSRN για κάθε συνδρομητή. TMSI (Temporary Mobile Subscriber Identity) Η TMSI προσδιορίζει έναν συνδρομητή σε μια συγκεκριμένη περιοχή και χρησιμοποιείται για την έρευνα για ένα τερματικό. Εκχωρείται από τον αρμόδιο VLR κάθε φορά που το τερματικό καταχωρείται στο δίκτυο, και ανανεώνεται όταν ο συνδρομητής εισέλθει σε άλλη LA. Η TMSI 24

26 απαρτίζεται από οκτώ δεκαεξαδικά μέρη και, σε αντίθεση με τον MSRN, δεν δίδεται στον HLR αλλά έχει μόνο τοπικό χαρακτήρα. Τέλος για την περίπτωση των LAs και των κυψελών τα αναγνωριστικά είναι: LAI (Location Area Identifier) Σε κάθε LA αντιστοιχίζεται ένα LAI που συνίσταται από τον MCC, τον MNC και τον LAC (Location Area Code). Το LAI μεταδίδεται σε όλες τις κυψέλες που ανήκουν στην αντίστοιχη LA και παρακολουθείται από τα τερματικά προκειμένου να διαπιστωθεί εάν ο συνδρομητής έχει εισέλθει σε μία νέα LA. Αν συμβεί αυτό το τερματικό εκκινεί μία ενημέρωση τοποθεσίας. Για κάθε συνδρομητή μιας συγκεκριμένης MSC area, ο VLR κρατά την σύνδεση μεταξύ της TMSI και του LAI. CGI (Cell Global Identity) Κάθε κυψέλη αντιστοιχίζεται σε μία CGI που αποτελείται από το LAI και το CI (Cell Identifier). Στα επόμενα θα γίνει εμφανής η αλληλεπίδραση των παραπάνω αναγνωριστικών, κατά την δρομολόγηση εισερχόμενων τηλεφωνικών κλήσεων μέσω της τοπολογίας του κυψελοειδούς δικτύου, και κατά την ενημέρωση τοποθεσίας. Εντοπισμός και δρομολόγηση Ο εντοπισμός των συνδρομητών είναι απαραίτητος για την περάτωση κλήσεων προς κινητά. Είναι μια διαδικασία πολλαπλών βαθμίδων όπου κάθε βήμα αντιστοιχεί σε ένα επίπεδο της ιεραρχικής τοπολογίας του δικτύου. Παρακάτω απεικονίζεται η διαδικασία εντοπισμού και δρομολόγησης μιας κλήσης, που φτάνει στη πύλη του κέντρου μεταγωγής κινητής τηλεφωνίας (GMSC) από ένα εξωτερικό δίκτυο, π.χ. το ISDN. Εικόνα 2.10 Εντοπισμός και δρομολόγηση εισερχομένων κλήσεων σε CS δίκτυα 25

27 Το εξωτερικό δίκτυο περνάει την κλήση, μαζί με τον MSISDN του συνδρομητή για τον οποίο αυτή προορίζεται, στo GMSC (1). Αρχικά το GMSC πρέπει να προσδιορίσει την τρέχουσα MSC area του συνδρομητή. Στη συνέχεια περνά τον MSISDN στον HLR (2). Στα σημερινά δίκτυα, το ποσό των καταχωρήσεων των συνδρομητών μοιράζεται συνήθως μεταξύ διάφορων HLRs. Καθένας από τους τελευταίους είναι υπεύθυνος για ορισμένο υποεύρος των MSISDNs. Ο HLR ψάχνει στην βάση δεδομένων του και επιστρέφει τον MSRN (3), ο οποίος προσδιορίζει την MSC area στην οποία βρίσκεται την προκειμένη στιγμή ο συνδρομητής. Η κλήση στη συνέχεια δρομολογείται στο αντίστοιχο MSC (4). Προκειμένου να προετοιμαστεί για την διαδικασία έρευνας, το MSC περνάει τον MSRN στον τοπικό VLR (5) ώστε να λάβει την TMSI και το LAI (6). Η TMSI περιλαμβάνεται στο μήνυμα που μεταδίδεται για να ερευνηθεί ο συνδρομητής, ενώ το LAI πρέπει να είναι γνωστό για να εκλεγεί η LA που θα γίνει η έρευνα. Το MSC, γνωρίζοντας το LAI, μπορεί να ζητήσει την έρευνα από τoν/τους αρμόδιο/ους BSCs (7). Το BSC προωθεί την TMSI σε όλους τους BTSs της συγκεκριμένης LA (8) και ξεκινά την έρευνα (9). Κάθε BTS τότε εκπέμπει την TMSI σε κανάλι μετάδοσης που παρακολουθείται διαρκώς από όλα τα τερματικά. Αν το τερματικό προορισμού αντιληφθεί ότι ερευνάται, στέλνει μία απόκριση έρευνας στο δίκτυο (10). Η απόκριση κατευθύνεται προς τον BTS που το τερματικό έχει προσδιορίσει ως αυτόν με την καλύτερη ποιότητα σήματος, οπότε και καθορίζεται η κυψέλη του συνδρομητή. Τέλος ένα ξεχωριστό κανάλι εγκαθίσταται στο air interface και η κλήση διοχετεύεται στο τερματικό. Για κλήσεις μεταξύ διαφορετικών κυψελοειδών δικτύων ή για εσωτερικές κλήσεις μεταξύ συνδρομητών που ανήκουν στο ίδιο δίκτυο η διαδικασία είναι κατά βάση ίδια. Ειδικά στη τελευταία περίπτωση η αίτηση στον HLR μπορεί να αποφευχθεί αν ο καλούμενος και ο καλών συνδρομητής ανήκουν σε περιοχή με κοινό VLR. Επίσης παρόμοια, είναι η διαδικασία εντοπισμού για την παράδοση σύντομων μηνυμάτων (SMS). Ενημερώσεις τοποθεσίας Στους CS domains των GSM και UMTS υπάρχουν δύο είδη ενημερώσεων τοποθεσίας: Ενημερώσεις τοποθεσίας κατά την διάσχιση LA Όπως ήδη αναφέρθηκε αυτός ο τύπος ενημέρωσης τοποθεσίας πραγματοποιείται όταν ο συνδρομητής εισέλθει σε μία νέα LA. Περιοδικές ενημερώσεις τοποθεσίας Ανεξάρτητα από το αν ο συνδρομητής έχει εισέλθει σε μία νέα LA, το τερματικό πραγματοποιεί περιοδικές ενημερώσεις τοποθεσίας. 26

28 Η περιοδική ενημέρωση τοποθεσίας είναι προαιρετική και η συχνότητα με την οποία πραγματοποιείται ρυθμίζεται από τον φορέα του τηλεφωνικού δικτύου με την απλή μετάδοση μίας τιμής χρόνου στα τερματικά. Είναι χρήσιμη σε περιπτώσεις ανενεργών τερματικών (σ.σ.: που δεν κάνουν κλήσεις και δεν αλλάζουν LA για μεγάλο χρονικό διάστημα) προκειμένου να επισημανθεί η παρουσία του τερματικού στο δίκτυο. Επίσης διευκολύνει τις ρυθμίσεις αποκατάστασης σε περίπτωση βλάβης των βάσεων δεδομένων. Το αν κάποιο τερματικό πραγματοποιεί γενικά ενημερώσεις τοποθεσίας, εξαρτάται από την κατάστασή του. Οι διαφορετικές καταστάσεις και οι μεταβάσεις μεταξύ αυτών, απεικονίζονται στο παρακάτω μοντέλο καταστάσεων διαχείρισης τοποθεσίας CS networks. Εικόνα 2.11 Μοντέλο καταστάσεων για τη διαχείριση τοποθεσίας σε CS δίκτυα Αν η κατάσταση ενός τερματικού είναι DETACHED, τότε συνήθως αυτό είναι απενεργοποιημένο ή δεν έχει εισαχθεί η κάρτα SIM ή, ειδικά στο UMTS, δεν είναι καταχωρημένο για υπηρεσίες του CS domain. Το τερματικό μεταφέρεται από την κατάσταση DETACHED στην IDLE όταν ξεκινά μία διαδικασία σύνδεσης IMSI (IMSI attach) ή ενημέρωσης τοποθεσίας. Η IMSI attach πραγματοποιείται, όταν το πρώτο LAI που λαμβάνεται μετά την ενεργοποίηση του τερματικού, είναι το ίδιο με το τελευταίο που λήφθηκε πριν απενεργοποιηθεί το τερματικό. Με άλλα λόγια εάν ο συνδρομητής παραμένει στην ίδια LA. Αν τώρα το τερματικό λάβει διαφορετικό LAI αφότου ενεργοποιηθεί, πραγματοποιείται ενημέρωση τοποθεσίας προκειμένου να ενημερωθεί ο VLR και να του εκχωρήσει νέο TMSI. Αντίστοιχα, το τερματικό επιστρέφει σε κατάσταση DETACHED όταν πραγματοποιήσει μια αποσύνδεση IMSI (IMSI detach), π.χ. όταν ο συνδρομητής απενεργοποιήσει την συσκευή. Τέλος όταν ο συνδρομητής πραγματοποιήσει ή λάβει μία κλήση, το τερματικό μεταφέρεται από την IDLE στη BUSY/CONNECTED κατάσταση όπου και παραμένει μέχρι η κλήση να τερματιστεί. Οι ενημερώσεις τοποθεσίας, είτε περιοδικές είτε διάσχισης LA, πραγματοποιούνται μόνο όταν το τερματικό βρίσκεται σε IDLE κατάσταση. Όταν το τερματικό είναι BUSY/CONNECTED, τότε το δίκτυο παρακολουθεί 27

29 έμμεσα τον συνδρομητή, μέσω της ραδιοζεύξης τερματικού-δικτύου και δεν απαιτούνται ενημερώσεις τοποθεσίας. Η ραδιοζεύξη διατηρείται ακόμη κι αν ο συνδρομητής μετακινηθεί σε άλλη κυψέλη (handover). Κατά τη διάρκεια του χρόνου αυτού, το δίκτυο γνωρίζει τη θέση του συνδρομητή και σε επίπεδο κυψέλης, που κατά συνέπεια περιλαμβάνει και την τρέχουσα LA. Φυσικά αν το τερματικό αποσυνδεθεί, δεν είναι δυνατή η πραγματοποίηση ενημερώσεων τοποθεσίας κι έτσι η θέση του είναι άγνωστη στο δίκτυο και δεν είναι προσβάσιμο από αυτό. Ένα τερματικό που βρίσκεται σε κατάσταση IDLE, παρακολουθεί και συγκρίνει διαρκώς την ισχύ και την ποιότητα του σήματος από BTSs του γύρω χώρου του. Από αυτούς διαλέγει εκείνον με το ισχυρότερο σήμα και λαμβάνει τα μεταδιδόμενα από αυτόν μηνύματα σηματοδοσίας. Τα μηνύματα αυτά στέλνονται από ειδικά κανάλια μετάδοσης και χρησιμοποιούνται για να ενημερώσουν το τερματικό σχετικά με παραμέτρους του air interface (π.χ. αριθμός καναλιών συχνότητας, διάταξη σηματοδοσίας/καναλιών χρηστών) καθώς και για να το καλέσουν. Συνήθως η ισχύς και η ποιότητα του σήματος που λαμβάνεται ποικίλουν, λόγω απωλειών στη διαδρομή (π.χ. όταν ο συνδρομητής πλησιάσει κοντά σε κάποιον άλλον BTS) ή λόγω επίδρασης των πολλαπλών διαδρομών διάδοσης. Έτσι αν το λαμβανόμενο σήμα από κάποιον άλλον BTS γίνει ισχυρότερο, το IDLE τερματικό μεταβαίνει στα κανάλια μετάδοσης του τελευταίου. Η μετάβαση αυτή δεν πρέπει να συγχέεται με το handover, που προϋποθέτει μια συνεχή σύνδεση και εκτελείται σε BUSY/CONNECTED κατάσταση. Να αναφέρουμε επίσης, πως η παρακολούθηση όλων αυτών των καναλιών μετάδοσης, δεν απαιτεί ξεχωριστή σύνδεση μεταξύ του IDLE τερματικού και του BTS. Η διαδικασία ενημέρωσης τοποθεσίας απεικονίζεται παρακάτω: 28

30 Εικόνα 2.12 Διαδικασία ενημέρωσης τοποθεσίας σε CS δίκτυα Ο σταθμός βάσης BTS1 ανήκει στην ζώνη τοποθεσίας LA1 και ο BTS2 στην LA2. Επίσης ο VLR1 έχει την επιμέλεια της LA1 και ο VLR2 της LA2. Αρχικά το τερματικό συντονίζεται στην εκπομπή του BTS1 (1) που συχνά μεταφέρει το LAI της συγκεκριμένης κυψέλης. Αν η ποιότητα του λαμβανόμενου σήματος του BTS2 γίνει καλύτερη από εκείνη του BTS1 (2), το τερματικό ξεκινά την ακρόαση της μετάδοσης του BTS2 και αναγνωρίζει την αλλαγή του LAI. Το γεγονός αυτό αποτελεί το έναυσμα για την πραγματοποίηση μιας ενημέρωσης τοποθεσίας κατά την διάσχιση LA. Το τερματικό εκκινεί ένα αίτημα ενημέρωσης τοποθεσίας με παραμέτρους τα TMSI1 και LAI1 που έχουν λήξει (3). Το αίτημα κατευθύνεται προς τον VLR2 που σχετίζεται με την νέα LA. Επειδή η πραγματική ταυτότητα του συνδρομητή είναι μέχρι στιγμής άγνωστη (ο VLR2 δεν μπορεί να αντλήσει τον IMSI από τον TMSI1), ο VLR2 αιτείται τον IMSI από τον VLR1 (4) (ο οποίος μπορεί να βρεθεί μόνο μέσω του LAI1 ). Μετά την παραλαβή του IMSI, o VLR2 παράγει έναν νέο MSRN για τον συνδρομητή και τον στέλνει μαζί με τον IMSI στον HLR (5). Ο HLR ενημερώνει την καταχώρηση του συνδρομητή στη βάση δεδομένων του και ζητά από τον προηγούμενο VLR1 να διαγράψει την καταχώρηση που έχει για τον συνδρομητή (6). Μετά την γνωστοποίηση της επιτυχούς ολοκλήρωσης των ανωτέρω διαδικασιών στον VLR2, ο τελευταίος παράγει έναν νέο TMSI2 και τον επιστρέφει στο τερματικό (7). Πλέον ο TMSI2 είναι αυτός που χρησιμοποιείται για την έρευνα για το τερματικό. Η πιο πάνω διαδικασία αφορά την ειδική περίπτωση που οι LA1 και LA2 ανήκουν σε διαφορετικές MSC areas. Συνήθως η ενημέρωση τοποθεσίας λαμβάνει χώρα εντός μιας MSC area και τότε τα βήματα (4)-(6) μπορούν να παραληφθούν. Επίσης δεν είναι απαραίτητο οι HLR και VLR να ανήκουν στο ίδιο δίκτυο. 29

31 Προκειμένου να ενεργοποιηθεί ο εντοπισμός συνδρομητών περιαγωγής, η καταχώρηση στη βάση δεδομένων του HLR, κυριολεκτώντας ο MSRN, επισημαίνεται στον VLR του ξένου δικτύου. Να επισημάνουμε εδώ, πως το διάγραμμα της εικόνας 2.12 είναι μόνο μία απλοποιημένη έκδοση καθώς η ενημέρωση τοποθεσίας είναι στενά συνδεδεμένη με θέματα ασφαλείας, Η παραγωγή και διανομή κλειδιών ασφαλείας που απαιτούνται για την αυθεντικοποίηση και κρυπτογράφηση, αποτελούν διαδικασίες που για λόγους απλότητας δεν λήφθηκαν υπόψη Δίκτυα μεταγωγής πακέτου (PS networks) Η διαχείριση τοποθεσίας σε PS networks είναι κάπως πιο πολύπλοκη και απαιτεί εκτεταμένη ιεραρχική οργάνωση των γεωγραφικών περιοχών. Κατά κύριο λόγο, αποτελείται από τα χαρακτηριστικά της κίνησης μετάδοσης δεδομένων κατά την μεταγωγή πακέτων, και διαφέρει σημαντικά από εκείνη που εξετάστηκε στις τηλεφωνικές κλήσεις μεταγωγής κυκλώματος. Ως γνωστόν, οι υπηρεσίες μεταγωγής κυκλώματος προϋποθέτουν την δημιουργία ενός κυκλώματος μεταξύ των δύο μερών, πριν μπορέσει να λάβει χώρα οποιαδήποτε μετάδοση δεδομένων. Στο air interface, ένα τέτοιο κύκλωμα αντιπροσωπεύεται από ένα κανάλι που χρησιμοποιείται αποκλειστικά για τη μετάδοση δεδομένων όσο διάστημα διαρκεί η κλήση και ανεξάρτητα από το αν μεταφέρονται ή όχι δεδομένα. Από την άλλη, για υπηρεσίες μεταγωγής πακέτου, τα κανάλια στο air interface αποδίδονται κατά τη ζήτησή τους, και μόνο για την απαιτούμενη διάρκεια μετάδοσης μιας ριπής δεδομένων. Στη συνέχεια απελευθερώνονται για χρήση από άλλους συνδρομητές. Στην εικόνα 2.13 δίνεται ένα παράδειγμα των CS και PS μοτίβων κυκλοφορίας σε ένα ορισμένο χρονικό διάστημα. 30

32 Εικόνα 2.13 Χαρακτηριστικά της κυκλοφορίας μεταγωγής κυκλώματος και πακέτου Στο σχήμα 2.13a φαίνεται η χρονική κατανομή των τηλεφωνικών κλήσεων ενός συνδρομητή σε ένα ορισμένο χρονικό διάστημα καθώς και η διάρκεια της κάθε κλήσης. Ο χρόνος μεταξύ του τέλους μιας κλήσης και της αρχής της επόμενης ονομάζεται χρόνος μεταξύ αφίξεων (interarrival time). Το σχήμα 2.13b δείχνει την χρονική κατανομή των ριπών δεδομένων, τα μήκη τους και τους interarrival times. Το αντίστοιχο μιας κλήσης εδώ δηλώνεται ως συνεδρία πακέτων (packet session) και μπορεί να αντιπροσωπεύει έναν συνδρομητή που πλοηγείται στον Παγκόσμιο Ιστό για να διαβάσει μία εφημερίδα ή να πραγματοποιήσει τραπεζικές συναλλαγές από το σπίτι. Είναι προφανές ότι η διάρκεια μιας ριπής δεδομένων είναι πολύ μικρότερη από εκείνη μιας τηλεφωνικής κλήσης και, στις περισσότερες περιπτώσεις, ο μέσος interarrival time των ριπών είναι επίσης πολύ μικρός σε σύγκριση με εκείνον των κλήσεων. Κατά συνέπεια, ο ρυθμός άφιξης των ριπών δεδομένων (σ.σ.: ο αριθμός των ριπών που φθάνουν σε ένα ορισμένο χρονικό διάστημα) είναι στις περισσότερες περιπτώσεις πολύ υψηλότερος από αυτόν των τηλεφωνικών κλήσεων. Για να γίνει αυτό καλύτερα κατανοητό, ας θεωρήσουμε έναν χρήστη που πλοηγείται σε μία ιστοσελίδα: η διαδικασία αυτή χαρακτηρίζεται από μια γρήγορη ακολουθία επιλογής (μέσω κλικ του ποντικιού) συνδέσμων και λήψης περιεχομένου. Για την κατανόηση του προβλήματος της PS διαχείρισης τοποθεσίας, ας φανταστούμε ότι οι ενημερώσεις τοποθεσίας εξακολουθούν να εκτελούνται κατά τη διάσχιση LA. Σε αυτήν τη περίπτωση, ο συνδρομητής θα έπρεπε να εντοπίζεται αρκετές φορές κατά τη διάρκεια μιας συνόδου ανταλλαγής πακέτων, σε όλες τις κυψέλες που ανήκουν στην LA του. Κυριολεκτώντας, θα 31

33 πρέπει το δίκτυο να εντοπίζει τον συνδρομητή για κάθε ριπή δεδομένων που μεταδίδεται στην κατερχόμενη ζεύξη (downlink). Αυτό οφείλεται στο γεγονός ότι ο συνδρομητής δεν παραμένει απαραίτητα στην ίδια κυψέλη κατά τον interarrival time των ριπών δεδομένων που φθάνουν στο downlink. Επίσης, είναι πιθανό, π.χ. ένα αίτημα Ιστού στην ανερχόμενη ζεύξη (uplink) και η αντίστοιχη απόκριση Ιστού στην κατερχόμενη, να μεταδίδονται σε διαφορετικές κυψέλες αν ο συνδρομητής έχει αλλάξει κυψέλη στον ενδιάμεσο χρόνο. Να σημειωθεί ότι για την CS κυκλοφορία το πρόβλημα αυτό δεν υπάρχει κατ αυτόν τον τρόπο, επειδή κατά τη διάρκεια μιας εν εξελίξει σύνδεσης, οι αλλαγές κυψελών υποστηρίζονται από την διαδικασία του handover. Εν κατακλείδι, η PS διαχείριση τοποθεσίας θα υπέφερε από την αύξηση του κόστους εντοπισμού αν οι ενημερώσεις τοποθεσίας πραγματοποιούνταν κατά την διάσχιση LA. Στην εικόνα 2.14 συγκρίνονται τα κόστη εντοπισμού για την CS και PS κυκλοφορία. Εικόνα 2.14 Σύγκριση της επιβάρυνσης της διαχείρισης τοποθεσίας στους CS και PS τομείς Πρέπει να τονιστεί ότι οι λειτουργίες που σχεδιάστηκαν στο παραπάνω σχήμα δεν είναι κατ ανάγκη γραμμικές. Η συγκεκριμένη μορφή τους εξαρτάται από πολλές περιστάσεις, π.χ. τη συμπεριφορά κλήσης και κινητικότητας του σημείου, το σχήμα της LA και της ποσότητας των δεδομένων που μεταφέρονται στα μηνύματα ενημέρωσης και εντοπισμού. Πρόθεση του σχήματος είναι μόνο η επίδειξη της γενικότερης επίδρασης που έχει το μέγεθος της LA. Το σχήμα επισημαίνει επίσης τον τρόπο μείωσης του αυξημένου κόστους εντοπισμού. Όπως απεικονίζεται, το περιθώριο όπου το κόστος εντοπισμού υπερβαίνει το κόστος ενημέρωσης τοποθεσίας είναι πολύ χαμηλότερο (όσον αφορά τον αριθμό των κυψελών ανά LA) για την PS κυκλοφορία απ ότι για την CS. Συνεπώς, η λύση βρίσκεται σε LΑs μειωμένου μεγέθους (σ.σ.: πιο κατάλληλη για 32

34 τα PS δίκτυα), προκειμένου να εξισσοροπήθει η επιβάρυνση για τον εντοπισμό και την ενημέρωση τοποθεσίας. Ως εκ τούτου, για το GPRS έχει εισαχθεί ένα καινούριο επίπεδο στην γεωγραφική τοπολογία των GSM δικτύων που δίνεται από τις περιοχές δρομολόγησης (RA-Routing Areas). Η εικόνα 2.15 δείχνει την προκύπτουσα τοπολογία ενός συνδυασμένου δικτύου GSM/GPRS. Μια RA περιλαμβάνει επίσης έναν αριθμό κυψελών, αλλά είναι πολύ μικρότερη από μια LA. Μια LA περιέχει έναν ακέραιο αριθμό RA, δηλαδή οι RA δεν επικαλύπτουν τα σύνορα της LA. Εικόνα 2.15 GPRS τοπολογία για την διαχείριση τοποθεσίας Η ιδέα αυτή βελτιώθηκε περαιτέρω για το UMTS που περιέχει ακόμα ένα επίπεδο, αυτό των αποκαλούμενων URAs (UTRAN Registration Areas). H εικόνα 2.16 δείχνει τους διαφορετικούς τύπους περιοχών, τόσο για τη PS όσο και για τη CS διαχείριση τοποθεσίας. Μία LA περιέχει αρκετές RA, η RA περιλαμβάνει διάφορες URAs και μία URA αποτελείται από διάφορες κυψέλες. Και πάλι, δεν υπάρχει επικάλυψη μεταξύ των περιοχών των διαφόρων τύπων. Εικόνα 2.16 UMTS τοπολογία για την διαχείριση τοποθεσίας 33

35 Εντοπισμός και δρομολόγηση O εντοπισμός και η δρομολόγηση στον CS domain πραγματοποιούνται όπως είδαμε με χαρτογράφηση των διαφορετικών αναγνωριστικών: Ο MSISDN αντιστοιχίζεται στον MSRN και αυτός με την σειρά του στο LAI και την TMSI. Αυτές οι διαδικασίες χαρτογράφησης υποστηρίζονται από το MAP που είναι ένα πρωτόκολλο σηματοδοσίας εντός του δικτύου SS7. Η σηματοδοσία, θεμελιώδης έννοια του τομέα των τηλεπικοινωνιών για την δημιουργία, τη συντήρηση και την αποδέσμευση των τηλεφωνικών κλήσεων, δεν είναι διαθέσιμη στα δίκτυα PS (π.χ. στο Internet). Εδώ κάθε πακέτο φέρει στην κεφαλίδα του πληροφορίες ελέγχου, κυρίως την διεύθυνση προέλευσης και προορισμού του πακέτου. Για την προώθηση πακέτων σε συνδρομητές που μετακινούνται μεταξύ διαφορετικών BTSs και SGSN χρησιμοποιείται η ενθυλάκωση πακέτων (packet encapsulation) και η διοχέτευση (tunneling). Έτσι τα πακέτα δρομολογούνται στο τερματικό προορισμού συνδυάζοντάς το με πρωτόκολλα σηματοδοσίας όταν είναι απαραίτητο (π.χ. έλεγχος του μέσου πρόσβασης, εντοπισμός και έρευνα στο δίκτυο πρόσβασης). Το τερματικό αναφέρεται με την IP διεύθυνσή του, τύπου IPv4 ή IPv6 που στην επίσημη ορολογία του GPRS/UMTS ονομάζεται Διεύθυνση Πρωτοκόλλου Πακέτου Δεδομένων (PDP-Packet Data Protocol address). Παραδοσιακά η IP διεύθυνση προσδιορίζει ένα δίκτυο συνδεδεμένο στο Internet και έναν host που συνδέεται με αυτό. Στην διεύθυνση PDP, το τμήμα του δικτύου προσδιορίζει ένα GPRS/UMTS PS network και το τμήμα του host αφορά το τερματικό. Το PS network στο GPRS/UMTS είναι ορατό μέσω της GGSN η οποία εμφανίζεται ως ένας συμβατικός δρομολογητής που στέλνει και δέχεται πακέτα προς και από τον GPRS/UMTS PS domain. Άλλα τμήματα, όπως οι SGSNs και τα τερματικά, δεν είναι ορατά από τον έξω κόσμο. Το core network του GPRS είναι ένα IP δίκτυο από SGSNs και GGSNs, καθεμιά από τις οποίες αναπαρίσταται με μια εσωτερική IP διεύθυνση. Πακέτα που προέρχονται από κινητά δρομολογούνται από μια SGSN στην αρμόδια GGSN, ενώ πακέτα που προορίζονται για κινητά δρομολογούνται από την GGSN στην SGSN που είναι συνδεδεμένος ο συνδρομητής προορισμού. Για την εσωτερική αυτή δρομολόγηση δεν είναι δυνατή η απλή αντικατάσταση των διευθύνσεων προορισμού των πακέτων από τις εσωτερικές GGSN και SGSN διευθύνσεις, διότι θα χαθεί το πραγματικό τερματικό προορισμού και τα πακέτα δεν θα μπορέσουν ποτέ να παραδοθούν. Αντιθέτως χρησιμοποιείται η τεχνική της διοχέτευσης. 34

36 Η διοχέτευση επιτρέπει την μεταφορά πακέτων ανάμεσα σε δύο δίκτυα μέσω ενός τρίτου, εντελώς ορατού στα δύο διασυνδεδεμένα δίκτυα, δικτύου. Υλοποιείται ενθυλακώνοντας IP πακέτα σε πακέτα ενός πρωτοκόλλου διοχέτευσης, γνωστού ως GTP (GPRS Tunneling Protocol). Για κάθε συνδεδεμένο στο GPRS δίκτυο τερματικό, η διοχέτευση επιτελείται μεταξύ των GGSN και SGSN και αντιστρόφως. Η διοχέτευση προσδιορίζεται από την IP διεύθυνση του στοιχείου προορισμού (GGSN ή SGSN), μαζί με ένα αναγνωριστικό που χρησιμοποιείται για την διάκριση των πακέτων από και προς τα διαφορετικά τερματικά. Ο συνδυασμός της διεύθυνσης SGSN και του αναγνωριστικού μπορεί να θεωρηθεί ως το αντίστοιχο του MSRN στον CS domain. Αν ο συνδρομητής μετακινηθεί σε περιοχή που εξυπηρετείται από άλλη SGSN πρέπει η διοχέτευση να μετατοπιστεί στη νέα SGSN. Αναλυτικότερα, η διοχέτευση στο GPRS λειτουργεί ως εξής (βλέπε εικόνα 2.17): Εικόνα 2.17 Δρομολόγηση εισερχόμενων πακέτων σε PS δίκτυα Όταν ένα IP πακέτο προοριζόμενο για κινητό φτάσει στη GGSN (1), η τελευταία λαμβάνει την διεύθυνση της αρμόδιας SGSN και το αναγνωριστικό διοχέτευσης μέσω της PDP διεύθυνσης (περιλαμβάνεται στην κεφαλίδα του πακέτου) από τον εσωτερικό της καταχωρητή τοποθεσίας. Στη συνέχεια εισάγει τα IP πακέτα μέσα στη Μονάδα Πακέτων Δεδομένων (PDU-Packet Data Unit) του πρωτοκόλλου διοχέτευσης (2) και τα στέλνει στην SGSN προορισμού (3). Εκεί το IP πακέτο αφαιρείται από την PDU διοχέτευσης (4) και επεξεργάζεται περαιτέρω ώστε να προωθηθεί στο τερματικό. Η διαδικασία αυτή μπορεί να περιλαμβάνει ένα αίτημα έρευνας (εάν η κυψέλη του τερματικού προορισμού είναι άγνωστη) που αρχικοποιείται και ελέγχεται από την SGSN (5). Το τερματικό μπορεί να ερευνηθεί μέσω της P-TMSI (Packet-TMSI) που διαφέρει από την TMSI του CS domain. Όταν εντοπιστεί η κυψέλη το IP πακέτο μεταφέρεται από την SGSN στο τερματικό για το οποίο χρησιμοποιείται το Πρωτόκολλο Υποδικτύου Εξαρτημένης Σύγκλισης (SNDCP-Subnetwork Dependent Convergence Protocol) (6),(7). Αντίστοιχα, για την περίπτωση δεδομένων κίνησης προερχόμενα από το κινητό, τα πακέτα μεταφέρονται από το τερματικό στην SGSN μέσω του SNDCP και στη συνέχεια διοχετεύονται στη GGSN. 35

37 Για τον PS domain στο UMTS, η διοχέτευση περατώνεται στον RNC και όχι στην SGSN. Έτσι το SNDCP για τη διασύνδεση του core network και του τερματικού δεν χρειάζεται. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι η σηματοδοσία (π.χ. για τον εντοπισμό του τερματικού προορισμού) μπορεί να γίνει εντός του access network και δεν χρειάζεται να ανταλλαχθεί μεταξύ της SGSN και του access network (πράγμα που στο GPRS επιβαρύνει σε μεγάλο βαθμό τη μεταξύ τους διασύνδεση και προκαλεί πρόσθετες καθυστερήσεις). Για την ανταλλαγή πακέτων μεταξύ του RNC και του τερματικού χρησιμοποιούνται συγκεκριμένα πρωτόκολλα του access network. Τέλος όσον αφορά τη διαχείριση των δεδομένων εγγραφής στον GPRS/UMTS PS domain, ο συνδρομητής εγγράφεται στις PS υπηρεσίες μέσω μιας διαδικασίας σύνδεσης GPRS (GPRS attach) ή σύνδεσης PS (PS attach) στο UMTS. Τότε, το λεγόμενο πλαίσιο PDP (PDP context) γίνεται αντικείμενο διαπραγμάτευσης μεταξύ του τερματικού και του δικτύου. Το PDP context αποτελείται από τα εξής στοιχεία: Τύπος Πρωτοκόλλου Πακέτου Δεδομένων (PDP type) Ο PDP type καθορίζει τον τύπο (IPv4 ή IPv6) του PDP που χρησιμοποιείται. Διεύθυνση Πρωτοκόλλου Πακέτου Δεδομένων (PDP address) Η PDP address χρησιμοποιείται για την αναφορά του τερματικού εντός του εξωτερικού PDP. Περιλαμβάνεται στο πεδίο της διεύθυνσης προέλευσης για πακέτα προερχόμενα από κινητά και στο πεδίο προορισμού για πακέτα προοριζόμενα για κινητά. Η μορφή της εξαρτάται από τον PDP type. Κλάση Ποιότητας Υπηρεσίας (QoS class) Ανάλογα με τις ανάγκες των αντίστοιχων εφαρμογών, διαφορετικές παράμετροι QoS μπορούν να αποτελέσουν αντικείμενο διαπραγμάτευσης μεταξύ του τερματικού και του δικτύου. Οι παράμετροι αυτοί σχετίζονται με προτεραιότητα της υπηρεσίας, την αξιοπιστία, την καθυστέρηση και την ρυθμοαπόδοση. Διεύθυνση Πύλης Κόμβων Υποστήριξης GPRS (GGSN address) Αυτή είναι η διεύθυνση της GGSN η οποία χρησιμεύει σαν πύλη προς το εξωτερικό PDN. Το PDP context αποθηκεύεται στο τερματικό, στην SGSN εξυπηρέτησης, όπως και στη GGSN. Η PDP address μπορεί να ανατίθεται μόνιμα ή προσωρινά. Στη πρώτη περίπτωση, ο συνδρομητής έχει λάβει σταθερή IP διεύθυνση από τον φορέα δικτύου του για αποκλειστική χρήση. Στην δεύτερη περίπτωση, παίρνει διαφορετική IP διεύθυνση κάθε φορά που συνδέεται στο δίκτυο. Στα περισσότερα σημερινά δίκτυα οι IP διευθύνσεις εκχωρούνται κατά κύριο λόγο 36

38 σε προσωρινή βάση. Παρόλα αυτά, με την εισαγωγή του IPv6 που διαθέτει πολύ μεγαλύτερο χώρο διευθύνσεων, αναμένεται οι διευθύνσεις να εκχωρούνται μόνιμα. Ενημερώσεις τοποθεσίας Στους PS domains των GPRS και UMTS υπάρχουν διάφοροι τύποι ενημερώσεων τοποθεσίας που αντικατοπτρίζουν την γεωγραφική τοπολογία που εισήχθη νωρίτερα: Ενημέρωση τοποθεσίας κατά τη διέλευση ζώνης δρομολόγησης Αυτός ο τύπος εκτελείται όταν ο συνδρομητής εισέρχεται σε μία νέα ζώνη δρομολόγησης. Γι αυτό και ονομάζεται ενημέρωση ζώνης δρομολόγησης (RA-Routing Area update). Ενημέρωση τοποθεσίας κατά τη διάσχιση URA Αυτός ο τύπος εκτελείται όταν ο συνδρομητής εισέρχεται σε μια νέα URA. Ονομάζεται ενημέρωση URA (URA update) και είναι διαθέσιμη μόνο στον UMTS PS domain. Ενημέρωση τοποθεσίας κατά τη διάσχιση κυψέλης Αυτός είναι ο πιο ακριβής τύπος ενημέρωσης τοποθεσίας. Εκτελείται όταν ο συνδρομητής εισέρχεται σε μια νέα κυψέλη και καλείται ενημέρωση κυψέλης (cell update). Περιοδική ενημέρωση τοποθεσίας Όπως και στα CS networks, οι ενημερώσεις τοποθεσίας πραγματοποιούνται και περιοδικά. Υπάρχουν διαφορετικές εκδόσεις για την περιοδική αναφορά της τρέχουσας RA, URA ή κυψέλης. Όσον αφορά τις ενημερώσεις τοποθεσίας σε λειτουργία GPRS που πραγματοποιεί ένα τερματικό, ο τύπος τους εξαρτάται (όπως και στο CS domain) από την κατάσταση που αυτό βρίσκεται. Το μοντέλο καταστάσεων για την διαχείριση τοποθεσίας στο GPRS φαίνεται στην εικόνα Το τερματικό βρίσκεται σε κατάσταση IDLE όταν ο συνδρομητής δεν έχει εγγραφεί στις υπηρεσίες GPRS. Τότε δεν υπάρχει έγκυρο PDP context μεταξύ του δικτύου και του τερματικού και ο συνδρομητής δεν μπορεί να στείλει ή να λάβει πακέτα. Πραγματοποιούνται μόνο ενημερώσεις διάσχισης LA, θεωρώντας ότι το τερματικό είναι ενεργοποιημένο και ο συνδρομητής έχει εγγραφεί στις υπηρεσίες μεταγωγής κυκλώματος. 37

39 Εικόνα 2.18 Μοντέλο καταστάσεων διαχείρισης τοποθεσίας στο GPRS PS domain Ο συνδρομητής εγγράφεται στο GPRS μέσω της διαδικασίας GPRS attach. Τότε το δίκτυο παράγει ένα PDP context συμπεριλαμβανομένης μιας IP διεύθυνσης για το τερματικό, το οποίο μεταβαίνει από την IDLE στην READY κατάσταση. Με απλά λόγια η READY κατάσταση αναπαριστά μια εν εξελίξει συνεδρία ανταλλαγής πακέτων με ριπές δεδομένων μικρής διάρκειας. Σε αυτή την κατάσταση το τερματικό πραγματοποιεί cell updates, κάθε φορά που ξεκινά ακρόαση της μετάδοσης ενός άλλου BTS. Έτσι η τρέχουσα κυψέλη του συνδρομητή στο δίκτυο είναι γνωστή, συνεπώς δεν είναι απαραίτητη η έρευνα για αυτόν σε περίπτωση εισερχόμενων πακέτων. Ωστόσο, αν και η έρευνα για το τερματικό παραλείπεται εξ ολοκλήρου στη κατάσταση READY, οι ενημερώσεις κυψέλης θα επιβάρυναν άσκοπα το air interface, αν δεν λάμβαναν καθόλου χώρα μεταδόσεις πακέτων. Γι αυτό το τερματικό μεταβαίνει από την READY στην STANDBY κατάσταση μετά την λήξη του READY χρονομέτρου (ή αν αναγκαστεί από το δίκτυο να το πράξει) Το READY χρονόμετρο επανεκκινεί κάθε φορά που πραγματοποιείται μία μεταφορά πακέτου και λήγει όταν το τερματικό δεν έχει στείλει ή λάβει δεδομένα εντός του χρονικού διαστήματος που ορίζεται από την τιμή λήξης του χρονομέτρου. Η τιμή αυτή επιλέγεται από το δίκτυο και στέλνεται στο τερματικό μέσω καναλιού εκπομπής. Τυπικές τιμές της τιμής λήξης βρίσκονται στη κλίμακα των δεκάδων δευτερολέπτων. Στη κατάσταση STANDBY το τερματικό εκτελεί μόνο RA updates και επιστρέφει στην κατάσταση READY αμέσως μόλις λάβει χώρα μεταφορά δεδομένων. Παρόμοια με το χρονόμετρο READY, ένα STANDBY χρονόμετρο προσδιορίζει το χρονικό διάστημα που το τερματικό παραμένει στην STANDBY κατάσταση πριν επιστρέψει στην IDLE οπότε και αυτομάτως αποσπάται από το GPRS δίκτυο. Με βάση το παραπάνω μοντέλο καταστάσεων, είναι δυνατή η εξισορρόπηση της επιβάρυνση που προκαλείται λόγω ενημέρωσης τοποθεσίας και έρευνας για το τερματικό, ανάλογα με την κατάσταση του τελευταίου. Η μεν μείωση της επιβάρυνσης λόγω ενημέρωσης τοποθεσίας πραγματοποιείται κατά τις περιόδους αδράνειας. Ο δε φόρτος έρευνας μηδενίζεται για τερματικά που βρίσκονται σε συνεδρία ανταλλαγής πακέτων. 38

40 Εικόνα 2.19 Διαδικασία RA update στο GPRS PS domain Ο τρόπος λειτουργίας των cell και RA updates μοιάζει πολύ με τις ενημερώσεις τοποθεσίας στο CS domain (βλέπε εικόνα 2.12). Μία από τις βασικές διαφορές είναι ότι η τοποθεσία του συνδρομητή δεν διατηρείται από τον VLR αλλά από τον εσωτερικό καταχωρητή θέσης της SGSN. Στη κατάσταση READY, η τρέχουσα κυψέλη του τερματικού αναφέρεται στην SGSN. Στη κατάσταση STANDBY αναφέρεται η τρέχουσα RA. Ας εξετάσουμε τώρα πιο αναλυτικά την RA update που απεικονίζεται στην εικόνα Οι ζώνες δρομολόγησης RA1 και RA2 εκχωρούνται στις SGSN1 και SGSN2 αντίστοιχα. Όπως το LAI στο CS domain, εδώ αντίστοιχα το Αναγνωριστικό Ζώνης Δρομολόγησης (RAI-Routing Area Identifier) μεταδίδεται σε κάθε κυψέλη και παραλαμβάνεται από όλα τα τερματικά. Αν το τερματικό αντιληφθεί ότι το RAI έχει αλλάξει, ξεκινά μια RA update που περιέχει την P-TMSI και τον παλιό RAI (1). Αν η RA update φτάσει στη νέα SGSN2, αιτείται το PDP context από την SGSN1 (2). Με την άφιξη του αιτήματος στην SGSN1, η τελευταία μεταφέρει το PDP context στην SGSN2 και σταματά την μετάδοση εισερχόμενων πακέτων στο τερματικό. Αντ' αυτού τα προωθεί όλα στην SGSN2 (3) η οποία στη συνέχεια τα στέλνει στο τερματικό. Αυτός ο μηχανισμός προώθησης είναι απαραίτητος προκειμένου να διασφαλιστεί ότι δεν θα χαθούν πακέτα κατά το χρονικό διάστημα μεταξύ της εισόδου στη νέα RA και της επιτυχούς ολοκλήρωσης της RA update. Στο επόμενο βήμα η SGSN2 πληροφορεί τη GGSN και τον HLR για την αλλαγή της RA και της SGSN (4,5). Συνεχίζοντας οι GGSN και HLR ενημερώνουν τους καταχωρητές τους 39

41 και ο HLR ζητά από την SGSN1 να αφαιρέσει το PDP context (6). Επιπλέον ο HLR παρέχει στην SGSN2 τον IMSI του συνδρομητή και τα δεδομένα εγγραφής GPRS (7). Τέλος η SGSN2 πληροφορεί το τερματικό για την επιτυχή ολοκλήρωση της RA update και του μεταφέρει μία νέα P-TMSI (8). Αυτή θα χρησιμοποιείται στο εξής για την έρευνα του τερματικού όταν αφιχθούν εισερχόμενα πακέτα δεδομένων. Στις περισσότερες των περιπτώσεων η αλλαγή των RA λαμβάνει χώρα εντός της SGSN περιοχής. Σε αυτή την περίπτωση, τα μόνα στοιχεία που εμπλέκονται στην RA update είναι το τερματικό και η SGSN οπότε τα βήματα (2)-(7) μπορούν να παραληφθούν. Επίσης είναι δυνατόν να εκτελεστεί ένας συνδυασμός RA/LA update εάν η νέα RA ανήκει σε μία άλλη LA. Και εδώ, το διάγραμμα ροής της εικόνας 2.19 είναι μια απλοποιημένη εκδοχή, καθώς δεν υπολογίζονται οι διαδικασίες ασφαλείας που συνδέονται με την ενημέρωση. Για τις ενημερώσεις τοποθεσίας στο UMTS, καίριο ρόλο παίζει η διαχείριση της τοποθεσίας που έχει βελτιωθεί σημαντικά, συγκριτικά με το GPRS. Ένα μειονέκτημα του GPRS είναι, ότι όπως και στο CS domain, η διαχείριση της τοποθεσίας ελέγχεται αποκλειστικά από το core network, δηλαδή την SGSN. Ως συνέπεια αυτού, όλες οι διαδικασίες της διαχείρισης περνούν το interface μεταξύ access και core network. Π.χ. ειδικά οι cell updates που συμβαίνουν σε μεγάλα χρονικά διαστήματα επιβαρύνουν το interface. Για να αντιμετωπιστεί αυτό το πρόβλημα, στο UMTS υπάρχει πρόβλεψη για λειτουργίες διαχείρισης τοποθεσίας και στο access network. Η κύρια ιδέα είναι η παρακολούθηση του συνδρομητή με βάση τις RAs στο core network και με βάση τις κυψέλες και τις URAs στο access network. 40

42 Εικόνα 2.20 Μοντέλα καταστάσεων διαχείρισης τοποθεσίας στο UMTS PS domain Δύο μοντέλα καταστάσεων ορίζονται για την διαχείριση τοποθεσίας UMTS PS δικτύων, ένα για το core και ένα για το access network (βλέπε εικόνα 2.20a και b). Το μοντέλο καταστάσεων για το core network μοιάζει πολύ με το μοντέλο καταστάσεων του GPRS της εικόνας Στην κατάσταση PMM DETACHED, το τερματικό δεν είναι εγγεγραμμένο στο PS domain και οι ενημερώσεις τοποθεσίας πραγματοποιούνται κατά την διάσχιση LA. Μια εν εξελίξει συνεδρία ανταλλαγής πακέτων αναπαρίσταται από την PMM CONNECTED κατάσταση. Σε αντίθεση με την GPRS READY κατάσταση, η SGSN δεν παρακολουθεί τον συνδρομητή σε επίπεδο κυψέλης, αλλά απλώς τον ακολουθεί σε επίπεδο RA. Σε αυτήν την κατάσταση, ο RNC εξυπηρέτησης του αντίστοιχου access network είναι υπεύθυνος για μία πιο ακριβή παρακολούθηση που θα αναλυθεί παρακάτω. Η PMM IDLE κατάσταση αντιστοιχεί στην IDLE που είδαμε πιο πριν στο GPRS. Σε αυτήν την κατάσταση πραγματοποιούνται επιπλέον και RA updates. Όπως και στο GPRS οι μεταβάσεις μεταξύ των παραπάνω καταστάσεων ελέγχονται από διαδικασίες attach/detach και από χρονόμετρα. 41

43 Εικόνα 2.21 Διαδικασία ενημέρωσης τοποθεσίας στο UTRAN Αντίστοιχα στο access network, οι cell και URA updates πραγματοποιούνται όταν υπάρχει σύνδεση σηματοδοσίας μεταξύ του τερματικού και του RNC. Η σύνδεση οργανώνεται και ελέγχεται από το πρωτόκολλο Ελέγχου Πόρων Radio (RRC-Radio Resource Control). Το RRC χρησιμοποιείται π.χ. για τη δημιουργία, τη συντήρηση και την αποδέσμευση των καναλιών προκειμένου να γίνει η ανταλλαγή δεδομένων του χρήστη. Αν το τερματικό βρίσκεται σε κατάσταση IDLE (αντιστοιχεί στην PMM IDLE του core network πριν), δεν υφίσταται κάποια σύνδεση σηματοδοσίας και τόσο η κυψέλη όσο και η URA είναι άγνωστες στον RNC. Στη κατάσταση CELL CONNECTED, το τερματικό αποστέλλει cell updates στον RNC, κάθε φορά που μεταβαίνει σε νέα κυψέλη. Αντίθετα στην URA CONNECTED, το τερματικό αναφέρει μόνο τις αλλαγές URA. Στη περίπτωση εισερχόμενων δεδομένων, ο RNC πρέπει να εντοπίσει το τερματικό στο τμήμα που αποτελείται από όλες τις κυψέλες της καταχωρημένης URA. Οι μεταβάσεις μεταξύ των δύο τελευταίων καταστάσεων ελέγχονται και πάλι από χρονόμετρα σε σχέση με την τελευταία μεταφορά πακέτων. Να σημειωθεί πως μία μετάβαση μπορεί να εξαναγκαστεί να γίνει και από το δίκτυο, π.χ. ανάλογα με τη κινητικότητα των συνδρομητών. 42

44 2.3 Αρχιτεκτονικές & Πρωτόκολλα Υπηρεσιών Τοποθεσίας στα GSM και UMTS Μία πολύ σημαντική επιμέρους υπηρεσία που απαιτείται για την κατασκευή μιας Υπηρεσίας Βασισμένης στην Τοποθεσία (LBS-Location Based Service) είναι η Υπηρεσία Τοποθεσίας (LCS-Location Service). Ενώ η LBS λαμβάνει τα δεδομένα θέσης προκειμένου να μεταγλωττίσει/φιλτράρει/επιλέξει οποιαδήποτε πληροφορία ή να παράσχει οποιαδήποτε άλλο προστιθέμενο όφελος για τον χρήστη, ανάλογα με τα δεδομένα τοποθεσίας, η LCS ασχολείται κυρίως με την απλή διανομή των δεδομένων θέσης. Οι προδιαγραφές της LCS επικεντρώνονται κυρίως στην υλοποίηση ενός σημείου αναφοράς για τον έλεγχο της θέσης και την παραγωγή δεδομένων τοποθεσίας καθώς και δύο άλλων σημείων αναφοράς ώστε τα προηγούμενα στοιχεία να διατίθενται σε άλλους φορείς. Τα δύο τελευταία σημεία αναφοράς δεν υπόκεινται στην τυποποίηση του 3GPP αλλά καλύπτονται από άλλες αρχές τυποποίησης. Η γενική περιγραφή των GSM/UMTS LCSs δίνεται στην προδιαγραφή 3GPP TS Σε υψηλό επίπεδο η LCS οργανώνεται μεταξύ των τριών λογικών οντοτήτων που απεικονίζονται στην εικόνα Ο LCS client είναι ο φορέας που αιτείται και λαμβάνει τα δεδομένα τοποθεσίας από έναν LCS server, ο οποίος, συντονίζει τον εντοπισμό της θέσης ενός στόχου που ορίζεται κατά την αίτηση, συλλέγει τα δεδομένα θέσης του και τα παραδίδει στον LCS client. Να σημειωθεί πως η εικόνα είναι μόνο μια λογική όψη, δηλαδή οι οντότητες δεν αποτελούν φυσικά συστατικά. Ο LCS client μπορεί να είναι ένας application server, το τερματικό μιας LBS χρήστη ή ένα άλλο συστατικό. Μπορεί να είναι μέρος του δικτύου ενός φορέα που εκτελεί επίσης τον εντοπισμό θέσης ή να είναι μια εξωτερική οντότητα που να βρίσκεται στην περιοχή ενός LBS παρόχου. Ο LCS server είναι η θέση όπου κρατείται το σύνολο όλων των στοιχείων του δικτύου (π.χ. δίκτυα πρόσβασης, MSCs, SGSNs, HLRs, VLRs) που απαιτούνται για τον εντοπισμό της θέσης και τη μεταφορά των δεδομένων τοποθεσίας. Ο στόχος αντιπροσωπεύεται πάντοτε από το τερματικό του προσώπου που πρόκειται να εντοπιστεί. Εικόνα 2.22 Λογικό μοντέλο αναφοράς της LCS 43

45 Υπάρχει μία διάκριση μεταξύ των αιτημάτων τοποθεσίας τερματισμού και εκκίνησης του κινητού. Οι LCSs τερματισμού του κινητού αρχικοποιούνται από μια οντότητα διαφορετική από το τερματικό του στόχου (π.χ. έναν LCS client). Αντίθετα, οι αιτήσεις εκκίνησης του κινητού αφορούν αιτήματα τοποθεσίας που αρχικοποιούνται από το ίδιο το τερματικό στόχου, προκειμένου να εκτελέσει αυτοεντοπισμό τοποθεσίας. Οι αιτήσεις τερματισμού του κινητού εμφανίζονται σε δύο παραλλαγές: Άμεσου αιτήματος τοποθεσίας (Immediate Location Request) Το αίτημα ενός LCS client πρέπει να επεξεργάζεται αμέσως και το αποτέλεσμα να επιστρέφεται σε αυτόν εντός μιας προκαθορισμένης χρονικής περιόδου. Σε αυτό το είδος αιτήματος επιστρέφεται μόνο μια απάντηση. Ετεροχρονισμένου αιτήματος τοποθεσίας (Deferred Location Request) Η απάντηση εδώ δεν επιστρέφεται αμέσως αλλά μετά από την επίτευξη μιας κατάστασης ενεργοποίησης που καθορίζεται από τον LCS client. Οι καταστάσεις ενεργοποίησης που υποστηρίζονται μέχρι σήμερα επιτρέπουν την περιοδική αναφορά ή κατά την ενεργοποίηση του τερματικού και καταχωρητών του στόχου με το δίκτυο. Για κάθε αίτηση, ο LCS client μπορεί να καθορίζει τις παραμέτρους QoS όσον αφορά την οριζόντια και κατακόρυφη ακρίβεια, καθώς και τους χρόνους απόκρισης. Επίσης είναι δυνατόν να οριστούν διαφορετικά επίπεδα προτεραιότητας σε κάθε αίτημα τοποθεσίας. Το αίτημα με την μεγαλύτερη προτεραιότητα εξυπηρετείται γρηγορότερα και με περισσότερο αξιόπιστα και ακριβή δεδομένα θέσης από ότι ένα με χαμηλότερη προτεραιότητα. Αυτό είναι χρήσιμο, π.χ. για την αποτελεσματική και αξιόπιστη εξυπηρέτηση υπηρεσιών έκτακτης ανάγκης ή άλλων ευαίσθητων υπηρεσιών όπως η παρακολούθηση παιδιών. Οι αιτήσεις τοποθεσίας εκκίνησης του κινητού διατίθενται με τις ακόλουθες επιλογές: Βασική αυτοτοποθεσία (Basic self-location) Το τερματικό αιτείται ρητά κάθε χωριστή διαδικασία εντοπισμού θέσης από το δίκτυο. Αυτόνομη αυτοτοποθεσία (Autonomous self-location) Το τερματικό αρχικοποιεί τον εντοπισμό θέσης στο δίκτυο και στη συνέχεια παρακολουθείται από το τελευταίο κατά τη διάρκεια μιας προκαθορισμένης χρονικής περιόδου. Μεταφορά σε τρίτους (Transfer to third-party) Τα δεδομένα θέσης του προορισμού μεταφέρονται μέσω αιτήματος του τερματικού σε έναν συγκεκριμένο LCS client. 44

46 Όπως συνάγεται από την εικόνα 2.22 υπάρχει μια άλλη σχέση που αφορά τις εγγραφές ενός στόχου και ενός LCS client στον LCS server. Οι εγγραφές του στόχου περιλαμβάνουν τις επιλογές απορρήτου του στόχου. Οι επιλογές αυτές ορίζονται με τη μορφή ενός καταλόγου εξαίρεσης προσωπικών δεδομένων, που περιλαμβάνει τουλάχιστον μια λίστα των LCS clients που επιτρέπεται να ζητήσουν τα δεδομένα θέσης του προορισμού και, των ρυθμίσεων ειδοποίησης του συνδρομητή προορισμού που αναφέρουν αν ο εντοπισμός θέσης οφείλει να επιτραπεί ρητά από τον στόχο. Επισημαίνεται ότι αυτός ο κατάλογος εξαιρέσεων υπόκειται σε επεκτάσεις στις μελλοντικές εκδόσεις του, που επικεντρώνονται στην εξέταση πρόσθετων τύπων περιορισμών. Η εγγραφή του LCS client είναι απαραίτητη μόνο εάν ο τελευταίος είναι μια εξωτερική οντότητα. Κατά την εγγραφή, ο LCS client διαπραγματεύεται τους όρους χρήσης της LCS με τον LCS server, όπως το προεπιλεγμένο εύρος QoS και τα LCS χαρακτηριστικά (π.χ. άμεσης ή ετεροχρονισμένης αίτησης) που επιτρέπεται να ζητηθούν. Τα αποτελέσματα των διαπραγματεύσεων αυτών στη συνέχεια αποθηκεύονται στο προφίλ εγγραφής του client στον LCS server. Κάθε φορά που ο LCS server λάβει αίτημα από έναν LCS client, το ελέγχει σύμφωνα με τους όρους του εν λόγω προφίλ καθώς και σύμφωνα με τις επιλογές απορρήτου του στόχου προκειμένου να αποφασίσει αν θα το επεξεργαστεί ή θα το απορρίψει. Η εγγραφή του LCS client περιέχει επίσης έναν Δείκτη Παράκαμψης Απορρήτου (POI-Privacy Override Indicator). Αυτός υποδεικνύει κατά πόσον οι αιτήσεις τοποθεσίας που προέρχονται από τον LCS client πρέπει να υποστούν επεξεργασία, έστω κι αν οι συνθήκες των αιτήσεων αυτών παραβιάζουν τις επιλογές απορρήτου των αντίστοιχων στόχων. Έτσι, ένας LCS client που διαθέτει αυτήν τη δυνατότητα παράκαμψης, μπορεί να παρακολουθεί τους στόχους ανεξάρτητα από τις επιλογές ιδιωτικότητας αυτών. Η δυνατότητα παράκαμψης μπορεί να ανατίθεται μόνο σε κέντρα έκτακτης ανάγκης ή ερευνητικές αρχές (π.χ. δικαιοσύνη) για να καταστούν δυνατές υπηρεσίες έκτακτης ανάγκης και νόμιμης παρακολούθησης βάσει της τοποθεσίας. Ξεκινώντας με μια γενική επισκόπηση της αρχιτεκτονικής του δικτύου, οι ενότητες που ακολουθούν δείχνουν πως υλοποιούνται οι LCSs που περιγράφηκαν πριν και τα χαρακτηριστικά τους Αρχιτεκτονική LCS δικτύου Όπως αναφέρθηκε και στην ενότητα 2.1, μια ομαλή πορεία μετάβασης από το 2G στο 3G έχει προετοιμαστεί σε βάθος χρόνου με την συνύπαρξη των GERAN και UTRAN access networks στο πλαίσιο μιας ολοκληρωμένης core network 45

47 αρχιτεκτονικής που προσφέρει κοινά στοιχεία υποδομής, πρωτόκολλα και μηχανισμούς διαχείρισης. Αυτή η ολοκληρωμένη προσέγγιση έχει επίσης υιοθετηθεί για τις LCSs περιλαμβάνοντας, τις διάφορες μεθόδους εντοπισμού που αναπτύχθηκαν στο πλαίσιο εξέτασης των ραδιοζεύξεων και για τους δύο τύπους των access networks από τη μια, και ένα κοινό τμήμα που βρίσκεται στο core network από την άλλη, το οποίο ελέγχει τον εντοπισμό θέσης ανεξάρτητα από τυχόν ιδιαιτερότητες του αντίστοιχου access network. Η εικόνα 2.23 δίνει μια γενική όψη της αρχιτεκτονικής της LCS και των σημαντικότερων συνιστωσών της. Εικόνα 2.23 Επισκόπηση της 3GPP LCS αρχιτεκτονικής Το κύριο στοιχείο ενδιαφέροντος είναι η Πύλη του Κέντρου Τοποθεσίας Κινητής Τηλεφωνίας (GMLC-Gateway Mobile Location Center), που αντιπροσωπεύει τη διεπαφή μεταξύ της Εξυπηρέτησης του Κέντρου Τοποθεσίας Κινητής Τηλεφωνίας (SMLC-Serving Mobile Location Center) στα διάφορα access networks και ενός LCS client (στο σχήμα οι SMLCs θεωρούνται ενσωματωμένοι στους BSCs και RNCs αντίστοιχα). Ένας φορέας μπορεί να διατηρεί μία ή περισσότερες GMLCs ανάλογα με το μέγεθος του δικτύου του. GMLCs διαφορετικών φορέων μπορεί να αλληλοσυνδέονται για να υποστηρίξουν τον εντοπισμό θέσης των συνδρομητών περιαγωγής. Η GMLC δέχεται αιτήσεις τοποθεσίας από έναν LCS client, συντονίζει την όλη διαδικασία εντοπισμού θέσης και τέλος επιστρέφει τα δεδομένα τοποθεσίας στον client. Είναι συνδεδεμένη με τις SMLCs μέσω των MScs ή SGSN, ανάλογα με το αν ο εντοπισμός θέσης διεξάγεται στον CS ή PS domain. Στο προηγούμενο σχήμα φαίνονται επίσης οι διεπαφές διασύνδεσης αυτών των στοιχείων. Καθεμιά από αυτές υλοποιείται μέσω ορισμένου πρωτοκόλλου 46

48 σηματοδότησης, απαραίτητου για την ανταλλαγή μηνυμάτων ελέγχου της LCS. Μία επισκόπηση της επίσημης ορολογίας αυτών των διεπαφών, των ονομάτων των πρωτοκόλλων που χρησιμοποιούνται, καθώς και των σχετικών εγγράφων προδιαγραφών 3GPP παρουσιάζεται στην εικόνα Εικόνα 2.24 Επισκόπηση διεπαφών των LCSs Λειτουργικές οντότητες LCS Είναι κοινή πρακτική στον τομέα των τηλεπικοινωνιών η οργάνωση των διαφόρων λειτουργιών των δικτύων σε σαφώς καθορισμένες μονάδες γνωστές ως λειτουργικές οντότητες (functional entities) ή δομικά στοιχεία (building blocks). Το βασικό κίνητρο πίσω από αυτήν τη προσέγγιση είναι να διαχωριστεί η λογική των υπηρεσιών από τις λειτουργίες του δικτύου, επιτυγχάνοντας έτσι την επαναχρησιμοποίηση του λογισμικού και την ανεξαρτησία από τους διαφορετικούς τύπους δικτύων και από τα στοιχεία που παραδίδονται από τους διάφορους διανομείς. Με τον τρόπο αυτό είναι δυνατή η εισαγωγή νέων υπηρεσιών ταχύτατα, χωρίς να χρειάζεται να αλλαχθεί η λειτουργία των στοιχείων του δικτύου. Η προσέγγιση αυτή οδηγεί σε μια λειτουργική αρχιτεκτονική που είναι, σε πρώτη φάση, ανεξάρτητη από την ιδιαίτερη αρχιτεκτονική δομή του δικτύου. Έπειτα οι δύο αρχιτεκτονικές συνδυάζονται έτσι ώστε οι λειτουργικές οντότητες να χαρτογραφηθούν σε συνιστώσες του δικτύου. Σε αυτήν την ενότητα θα προσδιορίσουμε τις λειτουργικές οντότητες που απαιτούνται για τις LCSs και θα παρουσιάσουμε τη χαρτογράφησή τους σε συνιστώσες που απεικονίζονται στην εικόνα Για μια γενικότερη περιγραφή μπορεί κανείς να ανατρέξει στις προδιαγραφές 3GPP TS καθώς επίσης 47

49 και στις 3GPP TS και 3GPP TS για τις ιδιαιτερότητες των GERAN και UTRAN αντίστοιχα. Η λειτουργική αρχιτεκτονική της LCS απεικονίζεται στην εικόνα Αποτελείται από έναν LCS client, που ζητά τα δεδομένα θέσης και έναν LCS server, που τα παρέχει. Ο LCS client περιλαμβάνει το στοιχείο χειρισμού του client το οποίο με τη σειρά του συνοψίζει μια σειρά από Λειτουργίες Τοποθεσίας Client (LCFs-Location Client Functions). Οι LCFs αιτούνται και λαμβάνουν δεδομένα τοποθεσίας για ένα ή περισσότερα τερματικά προορισμού εντός καθορισμένης QoS. Ενδέχεται να υπάρχουν αρκετές από αυτές τις λειτουργίες παράλληλα, με την καθεμιά να αντιπροσωπεύει ένα συγκεκριμένο πρωτόκολλο για τη λήψη δεδομένων τοποθεσίας. Η LCF δεν είναι απαραίτητα ένα εξωτερικό στοιχείο, αλλά μπορεί επίσης να βρίσκεται σε διαφορετικά εσωτερικά στοιχεία του δικτύου εάν ο φορέας προσφέρει εσωτερικές LBS εφαρμογές. Επίσης η LCF μπορεί να χρησιμοποιηθεί για την υποστήριξη λειτουργιών που δεν σχετίζονται με την LCS, π.χ. το υποβοηθούμενο από την τοποθεσία handover. Στη περίπτωση αυτή, η LCF βρίσκεται στο access network και επισημαίνεται ως εσωτερική (internal) LCF. Εικόνα 2.25 Λειτουργική αρχιτεκτονική της LCS 48

50 Η πραγματική πολυπλοκότητα της λειτουργικής αρχιτεκτονικής έγκειται στον LCS Server που υποδιαιρείται σε τέσσερα διαφορετικά τμήματα τα οποία και θα αναλυθούν παρακάτω. Τμήμα χειρισμού client (Client handling component) Η συνιστώσα αυτή περιλαμβάνει έναν αριθμό λειτουργικών οντοτήτων για την διαχείριση και τον συντονισμό των αιτημάτων τοποθεσίας από τους clients. Η Λειτουργία Ελέγχου Τοποθεσίας Client (LCCF-Location Client Control Function) προσδιορίζει τον LCS client ζητώντας την εξακρίβωση και εξουσιοδότησή του μέσω αλληλεπίδρασης με την Λειτουργία Έγκρισης Τοποθεσίας Client (LCAF- Location Client Authorization Function). Η LCAF εκτελεί μια σειρά από ελέγχους, π.χ. εάν ο LCS client είναι καταχωρημένος και επιτρέπεται να χρησιμοποιεί τον συγκεκριμένο τύπο LCS αιτήματος και, αν είναι επιτρεπτό να ζητήσει τα δεδομένα τοποθεσίας του συνδρομητή προορισμού που ορίζεται στην αίτηση. Επιπλέον η LCCF είναι υπεύθυνη για το πέρασμα της αίτησης στο MSC ή την SGSN που είναι προσαρτημένος ο συνδρομητής προορισμού. Μετά την παραλαβή του στίγματος θέσης, η LCCF ελέγχει αν αυτό αντιστοιχεί στην ζητούμενη QoS και μπορεί να ζητήσει από την Λειτουργία Μετασχηματισμού Συντεταγμένων Τοποθεσίας Client (LCCTF-Location Client Coordinate Transformation Function), την μετατροπή των συντεταγμένων σε κάποιο άλλο σύστημα χωρικής αναφοράς, αιτούμενο από τον client. Η Λειτουργία Μετασχηματισμού της Ζώνης Τοποθεσίας Client (LCZTF-Location Client Zone Transformation Function) χρησιμοποιείται στις Η.Π.Α. για την μετάφραση των συντεταγμένων ενός στίγματος θέσης στην αντίστοιχη ζώνη υπηρεσιών έκτακτης ανάγκης. Τμήμα χειρισμού συστήματος (System handling component) Το στοιχείο αυτό συντονίζει τις αιτήσεις τοποθεσίας μέσω της Λειτουργίας Ελέγχου του Συστήματος Τοποθεσίας (LSCF-Location System Control Function). Βασικά η οντότητα αυτή ενεργεί ως ενδιάμεση μεταξύ της LCCF, από την οποία δέχεται αιτήσεις τοποθεσίας και επιστρέφει αντίστοιχα δεδομένα, και της Λειτουργίας Συντονισμού Εντοπισμού Θέσης (PRCF-Positioning Coordination Function) που ελέγχει τον εντοπισμό τοποθεσίας. Με τον τρόπο αυτό, η LSCF πυροδοτεί την κατανομή των δικτυακών και ραδιοεπικοινωνιακών πόρων για τον εντοπισμό τοποθεσίας, εξετάζοντας τις δυνατότητες του δικτύου και του τερματικού όπως επίσης και διάφορες άλλες παραμέτρους. Για το σκοπό αυτό γίνεται χρήση της Λειτουργίας του Συστήματος Τοποθεσίας (LSOF-Location System Operation Function) για την ανταλλαγή όλων των δεδομένων που 49

51 σχετίζονται με τον εντοπισμό θέσης μεταξύ των εμπλεκόμενων στοιχείων του δικτύου, και της Λειτουργίας Μετάδοσης του Συστήματος Τοποθεσίας (LSBcF- Location System Broadcast Function) για τη διαχείριση της εκπομπής βοηθητικών δεδομένων που απαιτούνται για τα συστήματα E-OTD, OTDoA και A-GPS. Επιπλέον η LSCF παρέχει δεδομένα χρεώσεων στην Λειτουργία Χρέωσης του Συστήματος Τοποθεσίας (LSBF-Location System Billing Function). Τμήμα χειρισμού συνδρομητή (Subscriber handling component) Το στοιχείο αυτό ασχολείται με θέματα προστασίας της ιδιωτικότητας των συνδρομητών προορισμού που τα δεδομένα τοποθεσίας τους ζητούνται από έναν LCS client. Η Λειτουργία Εξουσιοδότησης Τοποθεσίας Συνδρομητή (LSAF- Location Subscriber Authorization Function) ελέγχει κατά πόσον ο συνδρομητής προορισμού στον οποίο απευθύνεται η αίτηση έχει εγκρίνει την εφαρμογή μιας LCS. Αν ναι, η Λειτουργία Προστασίας Προσωπικών Δεδομένων Τοποθεσίας Συνδρομητή (LSPF-Location Subscriber Privacy Function) ελέγχει στη συνέχεια αν θα εφαρμόσει την LCS υπό τις δεδομένες συνθήκες, συσχετίζοντας το αίτημα τοποθεσίας με τις επιλογές απορρήτου που ορίζονται από τον συνδρομητή προορισμού. Προβλέπεται επίσης η ανωνυμία μέσω αφαίρεσης αναγνωριστικού που τελεί υπό τη διαχείριση της Λειτουργίας Μετάφρασης Τοποθεσίας Συνδρομητή (LSTF-Location Subscriber Translation Function). Τμήμα εντοπισμού θέσης (Positioning component) Η συνιστώσα αυτή είναι υπεύθυνη για τον έλεγχο της όλης διαδικασίας εντοπισμού. Το κύριο τμήμα της, είναι η Λειτουργία Ραδιοσυντονισμού Θέσης (PRCF-Position Radio Coordination Function), η οποία καθορίζει τη μέθοδο εντοπισμού θέσης που θα χρησιμοποιηθεί, λαμβάνοντας υπόψη τη ζητούμενη QoS, τις δυνατότητες του access network και το τερματικό προορισμού. Είναι επίσης αρμόδια για την ανταλλαγή δεδομένων μέτρησης και θέσης μεταξύ των υπολοίπων οντοτήτων του τμήματος αυτού. Η Λειτουργία Μέτρησης Θέσης Σήματος (PSMF-Position Signal Measurement Function) εκτελεί μετρήσεις ανερχόμενης (uplink) και κατερχόμενης (downlink) ζεύξης, ανάλογα με την αντίστοιχη μέθοδο εντοπισμού θέσης που χρησιμοποιείται, και συγκεντρώνει τα δεδομένα που προκύπτουν. Η Διαχείριση Θέσης Ραδιοπηγής (PRRM-Position Radio Resource Management) ελέγχει την επίδραση του εντοπισμού θέσης στην συνολική απόδοση του δικτύου ραδιοεπικοινωνίας, π.χ. προκειμένου να διασφαλιστεί ότι η PSMF δεν υποβαθμίζει την ποιότητα των άλλων συνδέσεων του air interface. Στο UTRAN, συντονίζει τους διαφορετικούς RNCs για τη διασφάλιση της μη επικάλυψης των περιόδων αδράνειας των διάφορων 50

52 γειτονικών σταθμών βάσης. Τέλος, η Λειτουργία Υπολογισμού Εντοπισμού Θέσης (PCF-Positioning Calculation Function) υπολογίζει τη θέση στίγματος του τερματικού, λαμβάνοντας υπόψη τα διάφορα αποτελέσματα των μετρήσεων που εξέδωσε η PSMF και τις συντεταγμένες των σταθμών βάσης και των Μονάδων Μέτρησης Τοποθεσίας (LMUs-Location Measurement Units) που εμπλέκονται στις μετρήσεις. Η χαρτογράφηση των λειτουργικών οντοτήτων σε συνιστώσες του δικτύου φαίνεται στην εικόνα Στις περισσότερες περιπτώσεις η LCF βρίσκεται είτε σε έναν εξωτερικό LCS client (π.χ. τον LBS application server) είτε στο τερματικό. Για την παροχή εσωτερικών εφαρμογών, ο τηλεπικοινωνιακός φορέας δύναται επίσης να εφοδιάζει τις SGSNs και τα MSCs με μια LCF. Όπως αναφέρθηκε προηγουμένως, μία internal LCF μπορεί να υποστηρίζει λειτουργίες μη σχετιζόμενες με την LCS στο αντίστοιχο access network. Όλες οι λειτουργίες του τμήματος χειρισμού client βρίσκονται στη GMLC, ενώ οι οντότητες του τμήματος χειρισμού συστήματος κατανέμονται στα διάφορα στοιχεία του δικτύου. Να σημειωθεί ότι η LSBcF, που δεν περιλαμβάνεται στην χαρτογράφηση της εικόνας, βρίσκεται είτε στο Κέντρο Εκπομπής Κυψέλης (CBC- Cell Broadcasting Center) για το GSM είτε στο RNC για το UMTS, και ελέγχει και διαχειρίζεται τη μετάδοση των μηνυμάτων σε κάθε κυψέλη (σ.σ.: βλέπε και προδιαγραφή 3GPP TS ). O χειρισμός του συνδρομητή οργανώνεται για ολόκληρο το δίκτυο στον HLR και για τα διάφορα υποδίκτυα στις αντίστοιχες SGSNs ή στα MSCs. Τέλος, ο χειρισμός του εντοπισμού θέσης γίνεται στα access networks και στα τερματικά ανάλογα με το που βασίζεται. Στη πρώτη περίπτωση, τα τερματικά πρέπει να είναι εξοπλισμένα με τη PSMF και τη PCF για τη διενέργεια μετρήσεων και υπολογισμού θέσης. Για τον εντοπισμό τοποθεσίας με βάση το δίκτυο από την άλλη, δεν απαιτείται ο εξοπλισμός των τερματικών με τις παραπάνω οντότητες. 51

53 Εικόνα 2.26 Χαρτογράφηση λειτουργικών οντοτήτων της LCS σε συνιστώσες δικτύου Διαδικασίες τοποθεσίας Οι διαδικασίες που πραγματοποιούνται στο δίκτυο για την εκτέλεση αιτημάτων τοποθεσίας τερματισμού και εκκίνησης του κινητού, μπορούν να υποδιαιρεθούν σε 3 γενικά βήματα: Διαδικασία προετοιμασίας τοποθεσίας (Location preparation procedure) Η διαδικασία αυτή είναι υπεύθυνη για τον έλεγχο της αίτησης τοποθεσίας σε σχέση με τις πολιτικές απορρήτου του προορισμού, την κράτηση των πόρων του δικτύου, την επικοινωνία με το τερματικό προορισμού και τον καθορισμό της μεθόδου εντοπισμού θέσης που χρησιμοποιήθηκε λαμβάνοντας υπόψη την επιθυμητή QoS, το τερματικό και τις δυνατότητες του δικτύου. 52

54 Διαδικασία θέσπισης μέτρησης εντοπισμού θέσης (Positioning measurement establishment procedure) Αυτή η διαδικασία έχει στόχο την εκτέλεση μετρήσεων, περιλαμβανομένης της ανταλλαγής των δεδομένων μέτρησης που προκύπτουν, μεταξύ των στοιχείων που συμμετέχουν δηλαδή της SMLC, των LMUs και του τερματικού. Η διαδικασία είναι εξαρτημένη από τη χρησιμοποιούμενη μέθοδο εντοπισμού θέσης. Διαδικασία υπολογισμού τοποθεσίας και αποδέσμευσης (Location calculation and release procedure) Μετά την επιτυχή έκβαση των μετρήσεων, η διαδικασία αυτή είναι υπεύθυνη για τον υπολογισμό της θέσης του τερματικού (σ.σ.: ο υπολογισμός πραγματοποιείται είτε στο τερματικό είτε στο δίκτυο) και για την απελευθέρωση όλων των πόρων του δικτύου και του τερματικού που είχαν εμπλακεί. Οι παραπάνω διαδικασίες καθορίζονται χωριστά για τους CS και PS domains αν και είναι αρκετά παρόμοιες μεταξύ τους, διαφέροντας κυρίως μόνο στα εμπλεκόμενα στοιχεία (MSC και SGSN). Γι αυτό και θα παραθέσουμε μόνο τις διαδικασίες του CS domain. Για μια επισκόπηση των διαδικασιών εκτέλεσης αιτημάτων στον PS domain μπορεί κανείς να ανατρέξει στην προδιαγραφή 3GPP TS Να σημειωθεί επίσης ότι οι ροές μηνυμάτων που περιγράφονται στη συνέχεια, υλοποιούνται από τα πρωτόκολλα σηματοδοσίας που απαριθμήθηκαν στην εικόνα Αίτηση τοποθεσίας τερματισμού κινητού Για τις διαδικασίες τερματισμού πρέπει να γίνει διάκριση μεταξύ των άμεσων και ετεροχρονισμένων αιτημάτων τοποθεσίας. Στην εικόνα 2.27 φαίνεται το άμεσο αίτημα τοποθεσίας. 53

55 Εικόνα 2.27 Διαδικασία άμεσης αίτησης τοποθεσίας τερματισμού κινητού Σε αυτό το σχήμα τα βήματα (1)-(9) ανήκουν στη διαδικασία προετοιμασίας τοποθεσίας που εισήχθη νωρίτερα. Στο πρώτο βήμα, ο LCS client στέλνει ένα αίτημα τοποθεσίας στην GMLC (1), το οποίο περιέχει τον MSISDN ή τον IMSI του συνδρομητή προορισμού που θα εντοπιστεί καθώς επίσης και την επιθυμητή QoS. Όπως αναφέρθηκε στα προηγούμενα, η διαδικασία αυτή δεν αποτελεί μέρος των προδιαγραφών 3GPP αλλά καλύπτεται από άλλες αρχές τυποποίησης. Για την επεξεργασία της αίτησης, η GMLC πρέπει αρχικά να μάθει το access network που είναι προσαρτημένος ο συνδρομητής προορισμού. Γι αυτό και ζητά από την HLR να στείλει τις πληροφορίες δρομολόγησης στο αντίστοιχο MSC (2). Αν για οποιονδήποτε λόγο το access network είναι ήδη γνωστό, τα στάδια (2) και (3) μπορούν να παραληφθούν. Μετά την παραλαβή των σχετικών πληροφοριών (3), η GMLC συμβουλεύει το MSC για τον περαιτέρω συντονισμό της αίτησης τοποθεσίας (4). Για τον σκοπό αυτό περνάει την ταυτότητα του αιτούντος LCS client στο MSC. Εκεί, η ταυτότητα χρειάζεται για την αντιστοίχιση του αιτήματος με τις επιλογές απορρήτου του συνδρομητή (5). Αν η αίτηση τοποθεσίας γίνει αποδεκτή, το MSC προχωρά στον έλεγχο του κατά πόσον το τερματικό προορισμού είναι αδρανές. Αν είναι, η κυψέλη του συνδρομητή είναι άγνωστη και θα πρέπει πρώτα να εντοπιστεί το τερματικό (6). Αλλιώς, εάν το τερματικό είναι απασχολημένο, ο σταθμός βάσης που 54

56 εξυπηρετεί τον συνδρομητή είναι ήδη γνωστός και το βήμα (6) μπορεί να παραληφθεί. Αν οι ρυθμίσεις ειδοποίησης των επιλογών απορρήτου του συνδρομητή υποδεικνύουν ότι ο εντοπισμός θέσης πρέπει να εγκρίνεται ρητά, το MSC πληροφορεί τον συνδρομητή για την απόπειρα εντοπισμού θέσης (7) την οποία αυτός μπορεί στη συνέχεια να αποδεχθεί ή να απορρίψει (8). Στη τελευταία περίπτωση, το αίτημα τοποθεσίας ακυρώνεται και το MSC προβαίνει σε μια αρνητική επιβεβαίωση που φέρεται από το επιστρεφόμενο μήνυμα στο βήμα (12). Ωστόσο, αν η απόπειρα εντοπισμού γίνει δεκτή, το MSC διοχετεύει το αίτημα τοποθεσίας μαζί με τις απαιτήσεις QoS και τις δυνατότητες του τερματικού στο αντίστοιχο access network (9) που, αυστηρά μιλώντας, είναι η SMLC. Το βήμα αυτό τερματίζει τη διαδικασία προετοιμασίας τοποθεσίας. Η διαδικασία θέσπισης μέτρησης εντοπισμού θέσης καλύπτεται στο στάδιο (10). Ανάλογα με τις απαιτήσεις QoS και τις δυνατότητες του τερματικού και του access network, η SMLC επιλέγει την κατάλληλη μέθοδο εντοπισμού θέσης και εκκινεί τις σχετικές μετρήσεις. Οι διαδικασίες αυτές έχουν ισχυρή εξάρτηση από την μέθοδο εντοπισμού θέσης που χρησιμοποιείται. Μετά τη συγκέντρωση όλων των αποτελεσμάτων των μετρήσεων, υπολογίζεται η θέση του προορισμού είτε στο τερματικό είτε στην SMLC. Αυτό είναι το πρώτο βήμα της διαδικασίας υπολογισμού τοποθεσίας και αποδέσμευσης που αναφέρθηκε νωρίτερα. Και αυτή η διαδικασία εξαρτάται από την μέθοδο που θα επιλεχθεί για τον εντοπισμό της θέσης και έτσι δεν φαίνεται στο πάνω σχήμα. Σε περίπτωση επιτυχούς εντοπισμού θέσης, το στίγμα θέσεως αποστέλλεται στο MSC με μια αναφορά τοποθεσίας, που υποδεικνύει επίσης τη μέθοδο εντοπισμού που χρησιμοποιήθηκε (11). Διαφορετικά, επιστρέφεται μια ειδοποίηση σφάλματος φανερώνοντας ότι ο εντοπισμός θέσης δεν πραγματοποιήθηκε επιτυχώς. Το MSC στη συνέχεια προωθεί στη GMLC τη θέση του στίγματος ή, σε περίπτωση αποτυχίας του εντοπισμού θέσης, την τελευταία γνωστή θέση (αν υπάρχει) του συνδρομητή (12). Προαιρετικά το MSC μπορεί επίσης να καταγράφει πληροφορίες χρέωσης. Τέλος η GMLC μπορεί να μετατρέψει, σύμφωνα με την επιθυμία του LCS client, τις συντεταγμένες θέσης σε κάποιο άλλο σύστημα χωρικής αναφοράς ή σε μια περιγραφική τοποθεσία, και στη συνέχεια να επιστρέψει τα δεδομένα τοποθεσίας σε αυτόν. Η εικόνα 2.28 δείχνει τη διαδικασία του ετεροχρονισμένου αιτήματος τοποθεσίας. Η κύρια διαφορά σε σχέση με αυτήν του άμεσου αιτήματος είναι ότι ο εντοπισμός θέσης δεν ακολουθεί τη διαδικασία προετοιμασίας τοποθεσίας. Τα βήματα (1)-(5) είναι τα ίδια με αυτά του άμεσου αιτήματος. Παρόλα αυτά, μετά την ολοκλήρωση των ελέγχων απορρήτου, το MSC αναγνωρίζει το αίτημα (6) οπότε η GMLC περνά μια απάντηση στον LCS client (7). Σε αντίθεση με το άμεσο αίτημα η πρώτη απάντηση δεν μεταφέρει δεδομένα τοποθεσίας αλλά απλώς 55

57 δείχνει στον LCS client ότι έχει ενεργοποιηθεί ο ετεροχρονισμένος εντοπισμός θέσης. Ο εντοπισμός θέσης δεν εκτελείται προτού η συνθήκη έναρξης του ετεροχρονισμένου αιτήματος τοποθεσίας γίνει αληθής. Όπως αναφέρθηκε προηγουμένως, αυτό μπορεί να συμβεί μόλις ο συνδρομητής εγγραφεί στο δίκτυο (8) ή λήξει ένα χρονόμετρο (σ.σ.: δηλαδή εφαρμόζεται η στρατηγική περιοδικής αναφοράς). Εάν η κατάσταση ενεργοποίησης πληρείται, το MSC αρχικοποιεί τον εντοπισμό θέσης και τα υπόλοιπα βήματα είναι ανάλογα με αυτά του άμεσου αιτήματος. Εικόνα 2.28 Διαδικασία ετεροχρονισμένης αίτησης τοποθεσίας τερματισμού κινητού Ένα ανοικτό ζήτημα που δεν αντιμετωπίζεται στην εικόνα 2.28 είναι η περίπτωση όπου ο συνδρομητής προορισμού αλλάζει MSC area κατά την αναμονή επαλήθευσης της συνθήκης έναυσης από το MSC. Στη περίπτωση αυτή, το παλιό MSC στέλνει μια αναφορά τοποθεσίας στην GMLC, υποδεικνύοντας ότι η ετεροχρονισμένη αίτηση πρέπει να επαναρχικοποιηθεί στο νέο MSC. Συνεπώς τα βήματα (4)-(6) πρέπει να επαναληφθούν για το νέο MSC. 56

58 Αίτηση τοποθεσίας εκκίνησης κινητού Οι αιτήσεις αυτές ξεκινούν πάντα από το ίδιο το τερματικό προορισμού. Ως εκ τούτου, η γενική διαδικασία αιτήματος τοποθεσίας διαφέρει από εκείνη των αιτημάτων τερματισμού κινητού και αναπαρίσταται στην εικόνα Η διαδικασία προετοιμασίας τοποθεσίας περιλαμβάνει τα βήματα (1)-(5). Στο πρώτο βήμα, το τερματικό στέλνει ένα αίτημα εξυπηρέτησης στο access network (1), που προωθείται στο MSC (2). Το MSC αναγνωρίζει το αίτημα με την επιστροφή ενός μηνύματος αποδοχής της υπηρεσίας στο τερματικό (3). Αν το τερματικό βρίσκεται σε κατάσταση αδράνειας απαιτείται έλεγχος ταυτότητας και κρυπτογράφηση πριν την αποστολή του μηνύματος αποδοχής. Στη συνέχεια, το τερματικό επικαλείται την πραγματική υπηρεσία τοποθεσίας (4) και προσδιορίζει τον τύπο της LCS (σ.σ.: έναν από τους basic self-location, autonomus self-location ή transfer to third party που αναφέρθηκαν στην αρχή της ενότητας 2.3). Η επίκληση περιλαμβάνει μια σειρά από παραμέτρους π.χ. τις ικανότητες εντοπισμού θέσης του τερματικού, την επιθυμητή QoS ή, για την περίπτωση μεταφοράς σε τρίτους, την ταυτότητα του LCS client. Κατά την άφιξη της επίκλησης, το MSC ελέγχει κατά πόσον ο συνδρομητής προορισμού έχει την άδεια να αιτηθεί την συγκεκριμένη LCS, και αν ναι, αναθέτει τον εντοπισμό θέσης στο access network. Εικόνα 2.29 Διαδικασία αίτησης τοποθεσίας εκκίνησης κινητού 57

59 Τα βήματα (5)-(7) αντιστοιχούν στα βήματα (9)-(11) των εικόνων 2.27 και 2.28 αντίστοιχα. Μετά τον εντοπισμό θέσης το στίγμα θέσεως αποστέλλεται στη GMLC (8),(9). Εκεί μπορεί να μετατραπεί σε ένα άλλο σύστημα αναφοράς και να προωθηθεί σε έναν LCS client. Τα βήματα (8)-(10) εκτελούνται μόνο αν ο συνδρομητής προορισμού έχει αιτηθεί για μεταφορά σε τρίτους. Έπειτα, διοχετεύεται στο τερματικό ένα αποτέλεσμα επιστροφής (11) που περιλαμβάνει το στίγμα θέσεως ή μια ειδοποίηση ότι τα δεδομένα τοποθεσίας περάστηκαν στον συγκεκριμένο LCS client. Καταληκτικά, το σύνολο των πόρων που εμπλέκονται στον εντοπισμό θέσης, απελευθερώνεται (12). 2.4 Σύγχρονες Υλοποιήσεις Όπως επισημάνθηκε και στην εισαγωγή του κεφαλαίου, ένα από τα μοναδικά χαρακτηριστικά των εφαρμογών κινητής είναι η αντίληψη τοποθεσίας (location awareness). Οι χρήστες κινητών τηλεφώνων, όπου κι αν πάνε, φέρνουν μαζί και τις ηλεκτρονικές συσκευές τους. Έτσι, η προσθήκη αντίληψης θέσης σε μία εφαρμογή, προσφέρει στους χρήστες μια πιο εξειδικευμένη και χωρικά προσανατολισμένη εμπειρία. Η εφαρμογή γίνεται εξυπνότερη και μεταφέρει καλύτερη πληροφορία στον χρήστη. Λόγω του ότι η εφαρμογή που αναπτύχθηκε στα πλαίσια της παρούσας διπλωματικής αφορά Android συσκευές, θα εστιάσουμε στις διαθέσιμες Διεπαφές Προγραμματισμού Εφαρμογών (API-Application Programming Interface) των Υπηρεσιών Τοποθεσίας (Location Services), για ανάπτυξη εφαρμογών με location awareness σε Android λειτουργικό. Τέλος θα εξετάσουμε τον τρόπο με τον οποίο η Google συλλέγει δεδομένα τοποθεσίας μέσω των Wi-Fi δικτύων Android framework Location API Το Android λειτουργικό προσφέρει στις εφαρμογές πρόσβαση στις location services που υποστηρίζονται από την συσκευή μέσω των κλάσεων του πακέτου android.location. Κεντρικό τμήμα του location framework είναι η κλάση υπηρεσίας συστήματος LocationManager, που παρέχει APIs για τον προσδιορισμό της θέσης και της κατεύθυνσης της υποκείμενης συσκευής. Όπως και με τις υπόλοιπες υπηρεσίες συστήματος του Android, δεν δίνεται άμεση πρόσβαση στην LocationManager. Αντίθετα ο χρήστης αιτείται ένα στιγμιότυπο από το σύστημα καλώντας την getsystemservice(context.location_service). Η 58

60 μέθοδος αυτή επιστρέφει μία σύνδεση σε ένα νέο στιγμιότυπο της LocationManager. Από το σημείο αυτό και ύστερα, η εφαρμογή είναι ικανή: Να πραγματοποιήσει ερώτημα για τη λίστα όλων των LocationProviders για την τελευταία γνωστή θέση του χρήστη. Να εγγραφεί (ή να ακυρώσει την εγγραφή) σε περιοδικές ενημερώσεις, για την τρέχουσα θέση του χρήστη, από έναν πάροχο τοποθεσίας. Ο πάροχος καθορίζεται από συγκεκριμένα κριτήρια ή από το όνομά του. Να εγγραφεί (ή να ακυρώσει την εγγραφή) για πυροδότηση ενός συγκεκριμένου Intent όταν η συσκευή περιέλθει εντός δεδομένης απόστασης (που ορίζεται από την ακτίνα σε μέτρα (m)) από ένα συγκεκριμένο γεωγραφικό πλάτος/μήκος. Το πακέτο android.location περιέχει, εκτός της public κλάσης LocationManager, και τις παρακάτω κλάσεις: Address Αναπαριστά την διεύθυνση δηλαδή μια ομάδα από Strings που περιγράφουν την τοποθεσία. Η μορφή της διεύθυνσης είναι μια απλοποιημένη εκδοχή της xal (σ.σ.: ενοποιημένη μορφή έκφρασης των διευθύνσεων παγκοσμίως). Πρόκειται για public κλάση. Criteria Αναφέρεται στα κριτήρια με τα οποία η εφαρμογή επιλέγει έναν πάροχο τοποθεσίας. Οι πάροχοι μπορεί να είναι διατεταγμένοι ανάλογα με την ακρίβεια, τη χρήση ενέργειας, την ικανότητα αναφοράς υψομέτρου/ταχύτητας/κατεύθυνσης και το οικονομικό κόστος. Πρόκειται για public κλάση. Geocoder Αφορά τον χειρισμό του geocoding και του reverse geocoding. Geocoding είναι η διαδικασία μετατροπής μιας οδού ή κάποιας άλλης περιγραφής μιας τοποθεσίας, σε ένα ζεύγος συντεταγμένων γεωγραφικού πλάτους και μήκους (latitude, longitude). Reverse geocoding είναι η διαδικασία μετατροπής ενός ζεύγους συντεταγμένων γεωγραφικού πλάτους και μήκους (latitude, longitude), σε διεύθυνση. Το πόσο λεπτομερής θα είναι η περιγραφή μιας reverse geocoded τοποθεσίας ποικίλει, από το όνομα του πλησιέστερου κτιρίου μέχρι το όνομα της πόλης που βρίσκεται η τοποθεσία και τον ταχυδρομικό της κώδικα. Η κλάση απαιτεί μια backend υπηρεσία που δεν περιλαμβάνεται στον πυρήνα του android framework. Οι μέθοδοι ερωτημάτων της Geocoder επιστρέφουν μια κενή λίστα σε περίπτωση απουσίας της backend υπηρεσίας. Γι' αυτό και πρέπει να χρησιμοποιείται η μέθοδος ispresent() για τον καθορισμό ύπαρξης Geocoder υλοποίησης. Πρόκειται για public final κλάση. 59

61 GpsSatellite Αναπαριστά την τρέχουσα κατάσταση ενός δορυφόρου GPS. Χρησιμοποιείται σε συνδυασμό με την κλάση GpsStatus. Πρόκειται για public final κλάση. GpsStatus Αναπαριστά την τρέχουσα κατάσταση του GPS μηχανισμού. Χρησιμοποιείται σε συνδυασμό με το interface GpsStatus.Listener. Πρόκειται για public final κλάση. Location Μια κλάση δεδομένων που αναπαριστά την γεωγραφική τοποθεσία. Η τοποθεσία μπορεί να αποτελείται από το γεωγραφικό πλάτος και μήκος, τη χρονική σήμανση και άλλες πληροφορίες όπως την κατεύθυνση, το υψόμετρο και την ταχύτητα. Τοποθεσίες που παράγονται από την κλάση LocationManager είναι σίγουρο ότι διαθέτουν έγκυρο γεωγραφικό πλάτος/μήκος και χρονική σήμανση (τόσο σε ώρα UTC όσο και σε πραγματικό χρόνο που έχει παρέλθει από την εκκίνηση της υπηρεσίας). Όλες οι άλλες παράμετροι είναι προαιρετικές. Πρόκειται για public κλάση. LocationProvider Είναι μια abstract superclass για τους παρόχους τοποθεσίας. Ένας πάροχος τοποθεσίας παρέχει περιοδικές αναφορές της γεωγραφικής τοποθεσίας της συσκευής. Κάθε πάροχος έχει μια σειρά από κριτήρια βάσει των οποίων μπορεί να χρησιμοποιηθεί. Για παράδειγμα, κάποιοι πάροχοι απαιτούν την ύπαρξη GPG υλικού (hardware) και ορατότητα σε έναν αριθμό δορυφόρων. Άλλοι πάλι απαιτούν την χρήση του κυψελοειδούς δικτύου ή την πρόσβαση στο δίκτυο συγκεκριμένου φορέα ή στο internet. Μπορεί επίσης να έχουν διαφορετικά χαρακτηριστικά κατανάλωσης μπαταρίας ή χρηματικό κόστος για τον χρήστη. Η κλάση Criteria επιτρέπει την επιλογή των παρόχων βάσει κριτηρίων καθορισμένων από τον χρήστη. Πρόκειται για public κλάση. Τα διαθέσιμα interfaces είναι: GpsStatus.Listener Χρησιμοποιείται για τη λήψη ειδοποιήσεων όταν αλλάζει η κατάσταση του GPS. Είναι public static interface. GpsStatus.NmeaListener Χρησιμοποιείται για τη λήψη NMEA φράσεων. Το NMEA 0183 είναι ένα πρότυπο για την επικοινωνία με θαλάσσιες ηλεκτρονικές συσκευές και αποτελεί μια κοινή μέθοδο για τη λήψη δεδομένων GPS, συνήθως μέσω μιας σειριακής θύρας. Με την υλοποίηση αυτού του interface και την κλήση της μεθόδου addnmealistener(gpsstatus.nmealistener) είναι 60

62 δυνατή η λήψη NMEA δεδομένων από τον μηχανισμό του GPS. Είναι public static interface. LocationListener Χρησιμοποιείται για την λήψη ειδοποιήσεων από τον LocationManager όταν υπάρχει αλλαγή στην τοποθεσία. Οι μέθοδοι αυτές καλούνται εάν ο LocationListener έχει καταχωρηθεί μαζί με την υπηρεσία διαχείρισης τοποθεσίας χρησιμοποιώντας τη μέθοδο requestlocationupdates(string, long, float, LocationListener). Είναι public interface. Κατά την ανάπτυξη μιας location-aware εφαρμογής για Android, μπορεί να χρησιμοποιηθούν το GPS και ο Network (Wi-Fi) πάροχος τοποθεσίας του Android, είτε συνδυαστικά είτε μόνο ένας εκ των δύο, για τον προσδιορισμό της τοποθεσίας του χρήστη. Παρά το γεγονός ότι το GPS είναι πιο ακριβές, λειτουργεί μόνο σε εξωτερικούς χώρους, καταναλώνει γρήγορα την μπαταρία και δεν επιστρέφει την θέση τόσο γρήγορα όσο θα ήθελαν οι χρήστες. Από την άλλη, ο Network πάροχος τοποθεσίας του Android καθορίζει τη θέση του χρήστη χρησιμοποιώντας τους πύργους του κυψελοειδούς δικτύου και Wi-Fi σήματα, παρέχοντας πληροφορίες τοποθεσίας με τρόπο που λειτουργεί σε εσωτερικούς και εξωτερικούς χώρους, ανταποκρίνεται ταχύτερα και χρησιμοποιεί λιγότερη ενέργεια από την μπαταρία. Η λήψη της θέσης του χρήστη από μια κινητή συσκευή μπορεί να αποδειχτεί πολύπλοκη διαδικασία. Υπάρχουν διάφοροι λόγοι για τους οποίους η ανάγνωση μιας τοποθεσίας, ανεξάρτητα από την πηγή, μπορεί να περιέχει σφάλματα και να είναι ανακριβής. Ορισμένες πηγές σφάλματος περιλαμβάνουν: Πληθώρα πηγών τοποθεσίας. Καθένα από τα GPS, κυψελοειδές δίκτυο και Wi-Fi μπορούν να παρέχουν μια ένδειξη της τοποθεσίας του χρήστη. Η επιλογή του ποια θα εμπιστευτούμε και θα χρησιμοποιήσουμε είναι θέμα συμβιβασμών ως προς την ακρίβεια, την ταχύτητα και την απόδοση της μπαταρίας. Κίνηση χρήστη. Επειδή η θέση του χρήστη αλλάζει, πρέπει να ληφθεί υπόψη αυτή η μετακίνηση, με την εκ νέου εκτίμηση της θέσης του χρήστη κάθε τόσο. Μεταβλητή ακρίβεια. Οι εκτιμήσεις τοποθεσίας που έρχονται από κάθε πηγή δεν είναι πάντα ακριβείς. Μία θέση έχει ληφθεί πριν 10 δευτερόλεπτα από μια πηγή, μπορεί να είναι πιο ακριβής από μία νεότερη της ίδιας ή άλλης πηγής. Τρόποι αντιμετώπισης των παραπάνω προκλήσεων καθώς και ιδέες ώστε να παρέχεται στον χρήστη μια όσο το δυνατόν άμεση και ακριβής εμπειρία γεωτοποθεσίας από την εφαρμογή υπάρχουν στην διεύθυνση: 61

63 rmance Google Location Services API Το νέο Location Services API που διατίθεται στις υπηρεσίες Google Play παρέχει, σε σχέση με το framework API, ένα ισχυρότερο πλαίσιο προγραμματισμού υψηλού επιπέδου. Διευκολύνει την προσθήκη location awareness στην εκάστοτε εφαρμογή, προσφέροντας χαρακτηριστικά που δεν ήταν διαθέσιμα πριν, όπως αυτόματο εντοπισμό θέσης, ορισμό και παρακολούθηση τοποθεσιών ενδιαφέροντος (geofencing) και αναγνώριση δραστηριότητας του χρήστη. Το συγκεκριμένο API προσφέρει σημαντικά πλεονεκτήματα έναντι του location API της Android πλατφόρμας αυτοματοποιώντας εργασίες όπως η επιλογή παρόχου τοποθεσίας και η διαχείριση ενέργειας. Προγραμματιστές που χρησιμοποιούν το framework API καθώς και όσοι προσθέτουν τώρα μηχανισμούς location awareness στην εφαρμογή τους πρέπει να σκεφτούν σοβαρά το ενδεχόμενο χρήσης του Location Services API. Το σύνολο των location APIs των Google services υπάρχει στο πακέτο com.google.android.gms.location. Οι κλάσεις (classes) που περιέχονται σε αυτό είναι: ActivityRecognitionClient Το κύριο σημείο εισόδου για ενσωμάτωση στις εφαρμογές της αναγνώρισης δραστηριότητας του χρήστη. Η υπηρεσία αυτή είναι ένας μηχανισμός χαμηλής ενεργειακής ισχύος, που επιτρέπει στην εφαρμογή να λαμβάνει περιοδικές ενημερώσεις των δραστηριοτήτων του χρήστη που εντοπίστηκαν. Π.χ. μπορεί να ανιχνεύσει ένα ο χρήστης κινείται επί του παρόντος με τα πόδια, με το αυτοκίνητο, με ένα ποδήλατο ή είναι ακίνητος. Οι δραστηριότητες εντοπίζονται ξυπνώντας κατά διαστήματα την συσκευή και διαβάζοντας μικρές ριπές των δεδομένων του αισθητήρα. Γίνεται χρήση αισθητήρων χαμηλής ισχύος ώστε η κατανάλωση ενέργειας να διατηρείται στο ελάχιστο. Πρόκειται για public κλάση. ActivityRecognitionResult Το αποτέλεσμα μιας αναγνώρισης δραστηριότητας χρήστη. Περιέχει μία λίστα δραστηριοτήτων τις οποίες μπορεί να έχει κάνει ο χρήστης μια συγκεκριμένη χρονική στιγμή. Οι δραστηριότητες διατάσσονται κατά φθίνουσα σειρά πιθανότητας. Ένας δείκτης εμπιστοσύνης 62

64 αντιστοιχίζεται με κάθε δραστηριότητα δηλώνοντας πόσο πιθανή είναι η τελευταία. Πρόκειται για public κλάση. DetectedActivity Η δραστηριότητα του χρήστη της συσκευής που εντοπίστηκε με τον αντίστοιχο δείκτη εμπιστοσύνης. Πρόκειται για public κλάση. Geofence.Builder Builder για την κατασκευή Geofence interface. Πρόκειται για public static final κλάση. LocationClient Το κύριο σημείο εισόδου για APIs σχετικά με την τοποθεσίας όπως τα location και geofence. Χρησιμοποιείται για σύνδεση/αποσύνδεση στις υπηρεσίες τοποθεσίας της Google, αίτηση/αφαίρεση συναρτήσεων επιστροφής (callbacks) ενημέρωσης τοποθεσίας και αίτηση/αφαίρεση geofences. Πρόκειται για public κλάση. LocationRequest Αντικείμενο δεδομένων που περιέχει παραμέτρους QoS για αιτήματα ενημερώσεων τοποθεσίας προς την κλάση LocationClient. Οι εφαρμογές που την χρησιμοποιούν δεν μπορούν να προσδιορίσουν την ακριβή μηχανισμό εύρεσης τοποθεσίας που χρησιμοποιείται (π.χ. GPS, Wi-Fi) από την κλάση LocationClient. Στη πραγματικότητα το σύστημα μπορεί να έχει ενεργοποιημένους πολλαπλούς παρόχους τοποθεσίας των οποίων τα αποτελέσματα να συνενώνονται σε ένα ενιαίο αντικείμενο Τοποθεσίας. Πρόκειται για public final κλάση. LocationStatusCodes Κωδικοί κατάστασης που μπορούν να επιστραφούν στους ακροατές για να δείξουν την επιτυχία ή την αποτυχία μιας λειτουργίας. Πρόκειται για public final κλάση. Τα διαθέσιμα interfaces είναι: Geofence Αναπαριστά μια γεωγραφική περιοχή, γνωστή επίσης και ως geofence. Τα geofences παρακολουθούνται από την αντίστοιχη υπηρεσία και όταν κάποιος χρήστης διασχίσει το σύνορο ενός από αυτά παράγεται μια ειδοποίηση. Είναι public interface. LocationClient.OnAddGeofencesResultListener Listener για την λήψη συναρτήσεων επιστροφής (callbacks) όταν η λειτουργία προσθήκης geofences ολοκληρωθεί. Είναι public static interface. LocationClient.OnRemoveGeofencesResultListener Listener για την λήψη συναρτήσεων επιστροφής (callbacks) όταν η 63

65 λειτουργία αφαίρεσης geofences ολοκληρωθεί. Είναι public static interface. LocationListener Χρησιμοποιείται για τη λήψη ειδοποιήσεων από τη κλάση LocationClient όταν η τοποθεσία έχει αλλάξει. Οι μέθοδοι καλούνται όταν το LocationListener interface έχει καταχωρηθεί με την κλάση LocationClient χρησιμοποιώντας τις μεθόδους requestlocationupdates(locationrequest, LocationListener) ή requestlocationupdates(locationrequest, LocationListener, Looper). Είναι public interface. Για την ανάπτυξη μιας εφαρμογής χρησιμοποιώντας τις υπηρεσίες του Google Play API, πρέπει καταρχήν να κατεβάσουμε το Google Play services SDK χρησιμοποιώντας τον SDK Manager του Android SDK. Το Android SDK αναλύεται στη παράγραφο 4.1. Χαρακτηριστικό του είναι ότι διαχωρίζει εργαλεία προγραμματισμού, πλατφόρμες ανάπτυξης και άλλα στοιχεία σε πακέτα που μπορεί κανείς να κατεβάσει χρησιμοποιώντας τον SDK Manager. Ο τελευταίος ξεκινά με έναν από τους παρακάτω τρόπους: Από τον Eclipse με το ADT plugin επιλέγοντας WindowAndroid SDK Manager. Στα Windows εκτελώντας το αρχείο SDK Manager.exe του φακέλου του Android SDK. Σε Mac/Linux ανοίγοντας ένα τερματικό, μεταβαίνοντας στον κατάλογο tools/ του Android SDK και εκτελώντας το android sdk. Ο χρήστης επιλέγει τα πακέτα που θέλει να κατεβάσει τσεκάροντας τα κουτάκια στα αριστερά, και στη συνέχεια επιλέγει το Install για να τα εγκαταστήσει. 64

66 Εικόνα 2.30 Το παράθυρο του Android SDK Manager. Φαίνονται τα διαθέσιμα SDK πακέτα, όσα είναι ήδη εγκατεστημένα ή για όσα υπάρχει διαθέσιμη ενημέρωση Το Google Play services SDK περιλαμβάνει την βιβλιοθήκη για τον client καθώς και δείγματα κώδικα. Αναλυτικές οδηγίες εγκατάστασης του Google Play Services SDK, καθώς και ρύθμισης ενός project για χρησιμοποίηση της εν λόγω βιβλιοθήκης, βρίσκονται στην διεύθυνση: Παραδείγματα χρήσης των Location Services σε Android εφαρμογή για τη λήψη της τρέχουσας ή περιοδικών ενημερώσεων τοποθεσίας, τη δημιουργία/επόπτευση geofences και τον εντοπισμό της τρέχουσας δραστηριότητας (περπάτημα, οδήγηση ποδηλάτου/αυτοκινήτου) του χρήστη ώστε ανάλογα να μεταβληθεί η στρατηγική εύρεσης τοποθεσίας της συσκευής μπορούν να αναζητηθούν στη διεύθυνση: 65

67 2.4.3 Μηχανισμός λήψης δεδομένων τοποθεσίας μέσω Wi-Fi από την Google Για τη συλλογή πληροφοριών σχετικά με τα σημεία πρόσβασης Wi-Fi, η Google χρησιμοποιεί τις πληροφορίες που παρέχονται από κινητά τηλέφωνα, εφαρμογές υπολογιστών και ραδιοφωνικούς δέκτες συνδεδεμένους με οχήματα. Ο τρόπος με τον οποίο γίνεται η συλλογή ήταν αρχικά μέσω κινούμενων οχημάτων ανίχνευσης ασύρματων δικτύων (wardriving). Σήμερα η τεχνική αυτή δείχνει να έχει δώσει τη θέση της στη συλλογή των σχετικών πληροφοριών μέσω των Android συσκευών. Συλλογή μέσω Wardriving Επιτελείται από τα λεγόμενα Google Street View αυτοκίνητα. Στην οροφή κάθε οχήματος ενσωματώνεται εμφανώς η εμπορικά διαθέσιμη κατευθυντική κεραία Maxrad BMMG Αυτή η κεραία λαμβάνει Wi-Fi σήματα που μεταδίδονται δημόσια εντός της εμβέλειας του οχήματος. Το όχημα κινείται με κανονική ταχύτητα οπότε περνά ένα πολύ σύντομο χρονικό διάστημα εντός της περιοχής κάλυψης δοθέντος σημείου πρόσβασης Wi-Fi. Τα σήματα αρχικά επεξεργάζονται στο όχημα χρησιμοποιώντας λογισμικό που περιλαμβάνει την εφαρμογή ανοιχτού κώδικα Kismet. Τα δεδομένα υφίστανται περαιτέρω επεξεργασία κατά την μεταφορά τους σε servers του Google Data Center και χρησιμοποιούνται για την κατάρτιση της βάσης δεδομένων υπηρεσιών τοποθεσίας της Google. Ο εξοπλισμός στο εσωτερικό του οχήματος λειτουργεί παθητικά, λαμβάνοντας απλά τα σήματα που μεταδίδονται σε αυτό και δεν αναζητά ούτε ξεκινά μια ενεργή επικοινωνία με το σημείο πρόσβασης. 66

68 Εικόνα 2.31 Όχημα Google Street View με ενσωματωμένη κατευθυντική κεραία Οι ορατές προς τον εξοπλισμό του οχήματος πληροφορίες, είναι αυτές που δημοσίως μεταδίδονται μέσω του δικτύου ραδιοεπικοινωνίας χρησιμοποιώντας το πρότυπο , που περιλαμβάνει τα πρωτόκολλα b/g/n. Ο εξοπλισμός είναι ικανός να λαμβάνει δεδομένα κεφαλίδας πακέτων, το SSID και τη MAC διεύθυνση του ασύρματου σημείου πρόσβασης. Από την συλλογή δεδομένων εξαιρείται το περιεχόμενο οποιασδήποτε επικοινωνίας μέσω του Wi- Fi access point. Η συσκευή καταγράφει επίσης χωριστά, την ισχύ του σήματος και το κανάλι εκπομπής στο σημείο λήψης και είναι σε θέση να καθορίσει το χρησιμοποιούμενο πρωτόκολλο και το αν το σημείο πρόσβασης είναι κρυπτογραφημένο. Για την κατασκευή της βάσης δεδομένων και την παροχή υπηρεσιών τοποθεσίας, η Google χρησιμοποιεί τη διεύθυνση MAC του Wi-Fi access point και τις GPS συντεταγμένες του οχήματος στο τόπο που το σημείο πρόσβασης ήταν ορατό. Καταληκτικά, η λειτουργία των υπηρεσιών τοποθεσίας της Google συνοψίζεται ως εξής: 67

69 Η συσκευή του χρήστη στέλνει ένα αίτημα στον location server της Google με τη λίστα των, τρεχόντων ορατών από τη πρώτη, MAC διευθύνσεων. Ο location server συγκρίνει, τις ορατές από τη συσκευή του χρήστη MAC διευθύνσεις, με έναν κατάλογο γνωστών, και συνδεδεμένων με γεωγραφικό πλάτος και μήκος (geocoded), MAC διευθύνσεων. Έπειτα, ο server χρησιμοποιεί τις geocoded θέσεις που σχετίζονται με την ορατή MAC του χρήστη, για την τριγωνοποίηση της κατά προσέγγισης θέσης του τελευταίου. Τέλος, η κατά προσέγγιση θέση υφίσταται geocoding και στέλνεται πίσω στον χρήστη. Συλλογή με χρήση Android συσκευών Οι υπηρεσίες τοποθεσίας του Android που αναλύθηκαν στις ενότητες και 2.4.2, ελέγχουν περιοδικά την τοποθεσία του χρήστη χρησιμοποιώντας το GPS, το κυψελοειδές δίκτυο και το Wi-Fi για τον εντοπισμό της συσκευής. Όταν γίνεται αυτό η Android συσκευή στέλνει πίσω στην Google την διεύθυνση MAC και το SSID του ασύρματου σημείου πρόσβασης που μεταδίδονται δημόσια. Οι έλεγχοι τοποθεσίας γίνονται αυτόνομα, δίχως να απαιτείται η χρήση κάποιας εφαρμογής γεωτοποθεσίας π.χ. Google Maps. Αυτό διαπιστώνεται εύκολα, πηγαίνοντας στις Ρυθμίσεις της Android συσκευής και από κει στις Υπηρεσίες τοποθεσίας (Location services). Τσεκάροντας το κουτάκι Υπηρεσία τοποθεσίας Google (Google location service) εμφανίζεται ένα παράθυρο διαλόγου συναίνεσης στην συλλογή ανώνυμων δεδομένων τοποθεσίας από την Google ακόμα και όταν δεν εκτελούνται αντίστοιχες εφαρμογές. Με άλλα λόγια, χρησιμοποιώντας το Wi-Fi σε μια Android συσκευή για τον εντοπισμό της θέσης μας, συμβάλουμε ακούσια και στην δημιουργία χαρτών της Google. 68

70 Εικόνα 2.32 Πλαίσιο διαλόγου αποδοχής συλλογής δεδομένων από την Google Όσοι διατηρούν επιφυλάξεις για τα προσωπικά τους δεδομένα, μπορούν είτε να επιλέξουν να εξαιρέσουν από τις υπηρεσίες τοποθεσίας της Google το Wi-Fi σημείο πρόσβασης τους, αλλάζοντας το SSID του ώστε να έχει κατάληξη _nomap, είτε να χρησιμοποιήσουν μόνο το ενσωματωμένο στη Android συσκευή GPS. Μετά την αποκάλυψη το καλοκαίρι του 2011, για συλλογή από τα Google Street View cars, μοναδικών πληροφοριών αναγνώρισης από εκατομμύρια φορητούς υπολογιστές, media players και άλλες ασύρματες συσκευές, ζητήθηκε από την ίδια την Google ο έλεγχος του λογισμικού της από την ανεξάρτητη εταιρία ασφαλείας Stroz Friedberg. Τα αποτελέσματα του ελέγχου καθώς και λεπτομέρειες για την αρχιτεκτονική του Google Street View υπάρχουν στη διεύθυνση: pdf 69

71 3 AUTOMATIC INTERNET DATA EXTRACTION Μια βασική δραστηριότητα στον τομέα της αυτοματοποίησης στο Web είναι η εξαγωγή δεδομένων (data extraction) από ιστοσελίδες, επίσης γνωστή ως Web scraping ή screen scraping. Με την έκρηξη του Παγκόσμιου Ιστού (World Wide Web) μια, συνεχώς αναπτυσσόμενη, πληθώρα δεδομένων πολλών διαφορετικών θεμάτων έγινε διαθέσιμη online. Τα συστήματα Εξαγωγής Δεδομένων Ιστού (WDE-Web Data Extraction) είναι μια ευρεία ομάδα εφαρμογών λογισμικού με στόχο την συλλογή πληροφοριών από Web πηγές (π.χ. ιστοσελίδες) με τη λιγότερη δυνατή ανθρώπινη προσπάθεια. Για παράδειγμα, η εξαγόμενη πληροφορία από μια HTML ιστοσελίδα θα αποτελούνταν από στοιχεία όπως εικόνες και αρχεία πολυμέσων, καθώς και από το πλήρες κείμενό της. Τα εξαγόμενα δεδομένα μπορεί στη συνέχεια να επεξεργάζονται, να μετατρέπονται στην βολικότερη δομημένη μορφή και να αποθηκεύονται για περαιτέρω χρήση. Τα συστήματα WDE έχουν ευρεία χρήση σε ένα μεγάλο φάσμα εφαρμογών όπως η ανάλυση αρχείων κειμένου από διάφορες πηγές ( , forum υποστήριξης, τεχνική ή νομική τεκμηρίωση κ.α.) που διαθέτει μία εταιρία, η Βιοπληροφορική, η ανίχνευση (crawling) πλατφόρμων Social Web (Facebook, LinkedIn, Flickr, κλπ.) κ.ο.κ. Η διαθεσιμότητα και η ανάλυση των δεδομένων που συλλέγονται, είναι βασική προϋπόθεση για την κατανόηση πολύπλοκων κοινωνικών, οικονομικών και επιστημονικών φαινομένων που δημιουργούνται από την ίδια την πληροφορία (π.χ. η επαλήθευση κοινωνικών θεωριών στη μεγάλη κλίμακα του Facebook). Στον εμπορικό τομέα, το Web παρέχει ένα πλούτο δημόσιων πληροφοριών που μπορούν να ανακτηθούν από την ιστοσελίδα μιας εταιρίας ή 70

72 μια πλατφόρμα ηλεκτρονικού εμπορίου (e-commerce). Έτσι η εταιρία μπορεί να αποκτήσει πληροφορίες σχετικά με τις δραστηριότητες των ανταγωνιστών της (σ.σ.: διαδικασία γνωστή ως Ανταγωνιστική Κατασκοπεία), να μάθει από τα λάθη και τις επιτυχίες τους, να προβλέψει μελλοντικές κινήσεις και να εντοπίσει τις ευκαιρίες στην αγορά. Ο σχεδιασμός και η υλοποίηση WDE συστημάτων έχουν εξεταστεί μέχρι σήμερα από πολλές διαφορετικές οπτικές γωνίες και αξιοποιούν επιστημονικά εργαλεία προερχόμενα από διάφορους κλάδους όπως η Μηχανική Μάθηση (Machine Learning) και η Επεξεργασία Φυσικής & Λογικής Γλώσσας (Logic & Natural Language Processing). Κατά τον σχεδιασμό ενός WDE συστήματος πρέπει να ληφθούν υπόψη αρκετοί παράγοντες. Μερικοί από αυτούς είναι ανεξάρτητοι από το πεδίο εφαρμογής που θα πραγματοποιηθεί η εξαγωγή δεδομένων, ενώ άλλοι εξαρτώνται σε μεγάλο βαθμό από τα ιδιαίτερα χαρακτηριστικά του τομέα εφαρμογής. Κατά συνέπεια, τεχνολογικές λύσεις που φαίνονται αποτελεσματικές σε ορισμένα πλαίσια εφαρμογών, δεν είναι κατάλληλες για άλλα. Βλέπουμε λοιπόν ότι, στη γενική διατύπωσή του, το πρόβλημα της WDE είναι δύσκολο διότι περιορίζεται από πολλές απαιτήσεις. Οι βασικές προκλήσεις που μπορεί να συναντήσει κανείς στο σχεδιασμό ενός συστήματος WDE συνοψίζονται στα παρακάτω: Οι τεχνικές WDE απαιτούν συχνά την βοήθεια εμπειρογνωμόνων. Μια πρώτη πρόκληση συνίσταται στην παροχή ενός υψηλού βαθμού αυτοματοποίησης μειώνοντας την ανθρώπινη προσπάθεια όσο το δυνατόν περισσότερο. Η ανθρώπινη ανάδραση πάντως, μπορεί να διαδραματίσει σημαντικό ρόλο στη βελτίωση του επιπέδου ακριβείας που επιτυγχάνεται από ένα σύστημα WDE. Συνεπώς ένας συναφής στόχος είναι ο προσδιορισμός μια εύλογης εξισορρόπησης μεταξύ της κατασκευής διαδικασιών WDE υψηλής αυτοματοποίησης και της απαίτησης επίτευξης απόδοσης εξαιρετικής ακριβείας. Οι τεχνικές WDE πρέπει να μπορούν να επεξεργάζονται μεγάλο όγκο δεδομένων σε σύντομο χρονικό διάστημα. Αυτή η ανάγκη είναι ιδιαίτερα επιτακτική στους τομείς της Επιχειρησιακής & Ανταγωνιστικής Νοημοσύνης (Business & Competitive Intelligence) διότι μία εταιρία χρειάζεται να εκτελεί έγκαιρη ανάλυση των συνθηκών της αγοράς. Εφαρμογές στον τομέα του Social Web και γενικότερα σε εφαρμογές που σχετίζονται με τα ανθρώπινα δεδομένα πρέπει να παρέχουν αξιόπιστη προστασία της ιδιωτικότητας. Ως εκ τούτου πιθανές (έστω και ακούσιες) προσπάθειες παραβίασης του απορρήτου των χρηστών πρέπει να αναγνωρίζονται και να δημοσιεύονται εγκαίρως και επαρκώς. Προσεγγίσεις βασιζόμενες σε Machine Learning απαιτούν συχνά ένα σημαντικά μεγάλο σύνολο εκπαίδευσης από χειροκίνητα επισημασμένες 71

73 (labeled) ιστοσελίδες. Γενικά, η ονοματοθεσία ιστοσελίδων είναι μία χρονικά δαπανηρή και επιρρεπής σε λάθη διαδικασία, οπότε συχνά δεν μπορεί να διαπιστωθεί η ύπαρξή τους. Σε ορισμένες περιπτώσεις ένα εργαλείο WDE πρέπει να εξάγει συστηματικά δεδομένα από μία, εξελισσόμενη με την πάροδο του χρόνου, πηγή δεδομένων Ιστού. Η εξέλιξη αυτή είναι συνεχής και οι διαρθρωτικές αλλαγές συμβαίνουν απροειδοποίητα. Έτσι προκύπτει η ανάγκη συντήρησης αυτών των συστημάτων, ώστε να μην στερούνται ευελιξίας στον εντοπισμό και αντιμετώπιση των διαρθρωτικών αλλαγών, προκειμένου να εξασφαλίζεται η απρόσκοπτη λειτουργία τους. 3.1 Τεχνικές Οι πρώτες προσπάθειες εξαγωγής δεδομένων από το Web χρονολογούνται στις αρχές της δεκαετίας του 90. Σε αρχικό στάδιο, ο κλάδος δανείστηκε προσεγγίσεις και τεχνικές από την βιβλιογραφία της Εξαγωγής Πληροφοριών (IE-Information Extraction). Ειδικότερα προκύπτουν δύο κατηγορίες στρατηγικών, οι τεχνικές μάθησης (learning techniques γνωστές και ως learningbased προσεγγίσεις) και οι τεχνικές μηχανικής γνώσης (knowledge engineering techniques γνωστές και ως rule-based προσεγγίσεις). Οι παραπάνω κατηγορίες μοιράζονται μια κοινή λογική: την ανάπτυξη συστημάτων που απαιτούν ανθρώπινη εξειδίκευση στον ορισμό κανόνων (π.χ. κανονικών εκφράσεων (regular expressions) ή τμημάτων προγράμματος) για την επιτυχή ολοκλήρωση της εξαγωγής δεδομένων. Αυτοί που θα σχεδίαζαν και θα υλοποιούσαν τους κανόνες και θα αναλάμβαναν την εκπαίδευση του συστήματος, έπρεπε να έχουν εμπειρία στον προγραμματισμό και καλή γνώση του τομέα στον οποίο θα λειτουργούσε το σύστημα εξαγωγής δεδομένων, καθώς και την ικανότητα πρόβλεψης σεναρίων χρήσης και εργασιών που θα ανατίθονταν σε αυτό. Για τη μείωση δέσμευσης εξειδικευμένων στον χώρο ανθρώπων, επινοήθηκαν στρατηγικές του τομέα της Τεχνητής Νοημοσύνης (Artificial Intelligence), μέσω της υιοθέτησης ειδικών αλγορίθμων που χρησιμοποιούν την δομή των ιστοσελίδων, προκειμένου να γίνει η αναγνώριση και εξαγωγή δεδομένων. Επίσης έχουν δανειστεί στρατηγικές από την επιστήμη της Μηχανικής Μάθησης, θεωρούμενες ως τεχνικές εποπτευόμενης ή ημιεποπτευόμενης μάθησης, που επιτρέπουν τη σχεδίαση συστημάτων ικανών να εκπαιδεύονται μέσω παραδειγμάτων και στη συνέχεια να εξάγουν αυτόνομα δεδομένα από παρόμοιους ή ακόμα και διαφορετικούς τομείς. 72

74 3.1.1 Tree-based τεχνικές Ένα από τα χαρακτηριστικά που έχει εκμεταλλευθεί περισσότερο στην WDE είναι η ημιδομημένη φύση των ιστοσελίδων. Αυτές μπορούν να αναπαρασταθούν ως Επονομαζόμενα Ταξινομημένα με Ρίζα Δένδρα (LORT- Labeled Ordered Rooted Trees) όπου οι ονομασίες αναπαριστούν τις κατάλληλες ετικέτες του συντακτικού της HTML και η ιεραρχία του δένδρου αναπαριστά τα διαφορετικά επίπεδα ένθεσης των στοιχείων που αποτελούν την ιστοσελίδα. Η αναπαράσταση μιας ιστοσελίδας χρησιμοποιώντας ένα LORT αναφέρεται ως DOM (Document Object Model). Η γενική ιδέα πίσω από το DOM είναι ότι οι HTML ιστοσελίδες αναπαρίστανται μέσω απλού κειμένου που περιέχει HTML ετικέτες, δηλαδή συγκεκριμένες λέξεις κλειδιά που ερμηνεύονται από το πρόγραμμα περιήγησης για την αναπαράσταση συγκεκριμένων στοιχείων της ιστοσελίδας (υπερσυνδέσεις, κουμπιά, εικόνες κ.ο.κ.) σαν ελεύθερο κείμενο. Οι HTML ετικέτες μπορούν να ενθέτονται σχηματίζοντας μια ιεραρχική δομή. Η ιεραρχία αποτυπώνεται στο DOM από το δένδρο του εγγράφου του οποίου οι κόμβοι αναπαριστούν τις HTML ετικέτες. Το DOM tree χρησιμοποιείται επιτυχώς σε πολλές τεχνικές WDE. Αλγόριθμοι tree edit distance matching Η πρώτη τεχνική που θα παρουσιάσουμε ονομάζεται Συσχέτιση Συντακτικής Απόστασης Δένδρων (TED-Tree Edit Distance Matching). Το πρόβλημα του υπολογισμού της TED μεταξύ δένδρων είναι μια παραλλαγή του προβλήματος της Συντακτικής Απόστασης Συμβολοσειράς (String Edit Distance): Δοθέντων δύο LORT Α και Β να βρεθεί μία συσχέτιση για τον μετασχηματισμό του Α στο Β (ή το αντίστροφο) με τον ελάχιστο αριθμό συντακτικών πράξεων. Οι πιθανές συντακτικές πράξεις περιλαμβάνουν την διαγραφή, προσθήκη ή αντικατάσταση κόμβου. Σε κάθε πράξη μπορεί να προστεθεί και κάποιο κόστος, οπότε η διαδικασία μετατρέπεται σε πρόβλημα ελαχιστοποίησης κόστους. Το σκεπτικό των παραπάνω συμπυκνώνεται στον ορισμό της χαρτογράφησης (mapping): Μια χαρτογράφηση M μεταξύ των δένδρων Α και Β ορίζεται ως το σύνολο των διατεταγμένων ζευγών (i, j), ένα από κάθε δένδρο, που ικανοποιούν τις ακόλουθες συνθήκες (i1, j1), (i2, j2) M 1. i1 = i2 αν και μόνο αν j1=j2. 2. Ο Α[i1] είναι στα αριστερά του Α[i2] αν και μόνο αν ο Β[i1] είναι στα αριστερά του Β[i2]. 3. Ο Α[i1] είναι πρόγονος του Α[i2] αν και μόνο αν ο Β[i1] είναι πρόγονος του Β[i2]. 73

75 Με τον συμβολισμό Α[ix] αναφερόμαστε στον x-οστό κόμβο του δένδρου A σε μια προδιατεταγμένη διάσχιση του δένδρου. Από τον ορισμό της χαρτογράφησης προκύπτουν τα παρακάτω: Κάθε κόμβος δεν πρέπει να εμφανίζεται περισσότερες από μία φορές σε μια χαρτογράφηση. Η σειρά μεταξύ των αδερφών κόμβων διατηρείται. Οι σχέσεις ιεραρχίας μεταξύ των κόμβων δεν μεταβάλλονται. Πλήθος τεχνικών έχουν προταθεί για την προσέγγιση του προβλήματος με χρήση των τριών τύπων πράξεων κόμβων (διαγραφή, προσθήκη, αντικατάσταση) αλλά μαστίζονται από υψηλά υπολογιστικά κόστη. Επιπλέον έχει αποδειχτεί ότι η σύνθεση μη διατεταγμένων δένδρων είναι πρόβλημα NPcomplete. Μια υπολογιστικά αποδοτική λύση του προβλήματος του TED matching δίνεται από τον αλγόριθμο simple tree matching και τις παραλλαγές του. Η βελτιστοποιημένη αυτή στρατηγική έχει το κόστος ότι δεν επιτρέπεται η αντικατάσταση ενός κόμβου κατά την διάρκεια της διαδικασίας συσχέτισης. Στον ψευδοκώδικα του αλγορίθμου, με d(n) συμβολίζεται ο βαθμός του κόμβου n (σ.σ.: το πλήθος των κόμβων που είναι παιδιά του) και με T(i) το i-οστό υποδένδρο του δένδρου με ρίζα τον κόμβο T. Εικόνα 3.1 Ψευδοκώδικας του αλγορίθμου Simple Tree Matching Το υπολογιστικό κόστος του αλγορίθμου αυτού είναι O(κόμβοι(Α)*κόμβοι(Β)), όπου κόμβοι(t) είναι η συνάρτηση που επιστρέφει τον αριθμό των κόμβων ενός δένδρου ή υποδένδρου Τ. Το χαμηλό κόστος εξασφαλίζει εξαιρετική απόδοση 74

76 κατά την εφαρμογή σε HTML δένδρα πλούσια σε κόμβους. Δύο είναι οι κύριοι περιορισμοί: Ο αλγόριθμος δεν μπορεί να συσχετίσει την μετάθεση των κόμβων. Δεν επιτρέπεται διάσχιση μεταξύ των επιπέδων, δηλαδή είναι αδύνατη η συσχέτιση σε διαφορετικά ιεραρχικά επίπεδα. Παρά τους ενδογενείς αυτούς περιορισμούς, η τεχνική φαίνεται να ταιριάζει πολύ καλά στους σκοπούς της συσχέτισης HTML δένδρων στο πλαίσιο των WDE συστημάτων και ήταν η βάση αλγορίθμων του είδους (Reis et al. algorithm). Ο αλγόριθμος normalized simple tree matching αποτελεί μια κανονικοποιημένη εκδοχή του simple tree matching αλγορίθμου. Η κανονικοποίηση υπολογίζεται λαμβάνοντας υπόψη το μέσο μέγεθος των κόμβων των δοσμένων δένδρων (ή υποδένδρων) ως εξής: Ο αλγόριθμος weighted tree matching είναι μια ακόμη παραλλαγή του simple tree matching αλγορίθμου που εξετάστηκε νωρίτερα. Προσαρμόζει τις τιμές ομοιότητας που παρέχει ο τελευταίος με την εισαγωγή ενός παράγοντα επανακανονικοποίησης. Η διαφοροποιημένη εκδοχή σε σχέση με τον Αλγόριθμο της εικόνας 3.1 υπάρχει στον παρακάτω ψευδοκώδικα. Με το σύμβολο t(n) παριστάνεται ο συνολικός αριθμός αδελφών του κόμβου n συμπεριλαμβανομένου και του ιδίου. Εικόνα 3.2 Ψευδοκώδικας διαφοροποίησης του αλγορίθμου Weighted Tree Matching Αυτός ο αλγόριθμος αντικατοπτρίζει καλύτερα το μέτρο της ομοιότητας ανάμεσα στα δύο δέντρα. Κι αυτό γιατί στη πραγματικότητα, η τιμή συσχέτισης που ανατίθεται στον αλγόριθμο simple tree matching είναι πάντα ίση με 1. Αντίθετα ο weighted tree matching αποδίδει λιγότερη σημασία (σ.σ.: βάρος) σε αλλαγές στη δομή του δένδρου που πραγματοποιούνται σε βαθύτερα υποεπίπεδα. Επίσης χαμηλότερο βάρος, υπολογίζεται για αλλαγές που συμβαίνουν σε υποεπίπεδα με πολλούς κόμβους. Η τιμή βάρους που αποδίδεται 75

77 κατά τη συσχέτιση δύο κόμβων ισούται με τον αντίστροφο του μεγαλύτερου αριθμού αδελφών από τους συγκρινόμενους κόμβους (συμπεριλαμβανομένων και των ιδίων). Αυτό βοηθά στη μείωση των επιπτώσεων ελλιπών/προστιθέμενων κόμβων στην τελική τιμή της ομοιότητας. Επιπλέον ο αλγόριθμος ελέγχει αν συγκρίνει δύο φύλλα ή ένα φύλλο με έναν κόμβο που έχει παιδιά (ή με δύο κόμβους που έχουν παιδιά). Η τελική συμβολή ενός υποεπιπέδου φύλλων είναι το άθροισμα των σταθμισμένων τιμών που έχουν ανατεθεί σε καθένα από αυτά (σ.σ.: βλέπε γραμμή 4,5 του ψευδοκώδικα της εικόνας 3.2). Έτσι η συνεισφορά του γονικού κόμβου αυτών των φύλλων ισούται με τη σταθμισμένη τιμή του πολλαπλασιασμένη με το άθροισμα των συνεισφορών των παιδιών του (σ.σ.: βλέπε γραμμή 2,3 του ψευδοκώδικα της εικόνας 3.2). Για κάθε υποεπίπεδο φύλλων το ανώτατο σύνολο τιμών που ανατίθενται είναι 1. Έτσι για κάθε γονικό κόμβο του εν λόγω υποεπιπέδου, η μέγιστη τιμή του γινομένου της συμβολής του, με το άθροισμα των εισφορών των παιδιών του είναι 1. Κάθε υποδένδρο εξεταζόμενο μεμονωμένα συμβάλει με μέγιστη τιμή τη μονάδα. Στη τελευταία αναδρομή, αυτού του από κάτω προς τα πάνω (bottom-up) αλγορίθμου, αξιολογούνται οι δύο ρίζες. Η τιμή που προκύπτει στο τέλος της διαδικασίας είναι το μέτρο της ομοιότητας μεταξύ των δύο δένδρων και εκφράζεται στο διάστημα [0,1]. Όσο περισσότερο κοντά στη μονάδα είναι η τελική τιμή, τόσο πιο όμοια είναι τα δύο δένδρα. Συγκρίνοντας τα αποτελέσματα που δίνουν οι αλγόριθμοι simple tree matching και weighted tree matching, βλέπουμε ότι ο μεν πρώτος επιστρέφει την τιμή χαρτογράφησης, ενώ ο δεύτερος παράγει ενδογενώς ένα ορθό μέτρο ομοιότητας μεταξύ των συγκρινόμενων δένδρων. Ένα αξιοσημείωτο χαρακτηριστικό του weighted tree matching αλγορίθμου, είναι ότι όσο περισσότερο η δομή των θεωρούμενων δέντρων είναι πολύπλοκη και παρόμοια, τόσο ακριβέστερο θα είναι το μέτρο της ομοιότητας. Αντίθετα, για απλά και αρκετά διαφορετικά στη δομή τους δένδρα, η ακρίβεια της παραπάνω προσέγγισης είναι χαμηλότερη και από εκείνη που εξασφαλίζεται με τον αλγόριθμο simple tree matching Web wrappers Στη προηγούμενη ενότητα παρουσιάστηκαν κάποιοι αλγόριθμοι που θα μπορούσαν να υιοθετηθούν για τον εντοπισμό πληροφοριών αξιοποιώντας την ημιδομημένη δομή των HTML εγγράφων. Τώρα θα αναφερθούμε στις διαδικασίες εκείνες που θα μπορούσαν να υιοθετήσουν τις προηγούμενες τεχνικές για την πραγματοποίηση της εξαγωγής δεδομένων. 76

78 Στη βιβλιογραφία, κάθε διαδικασία που στοχεύει στην εξαγωγή δομημένων δεδομένων από μη δομημένες ή ημιδομημένες πηγές, αναφέρεται ως wrapper. Στα πλαίσια της WDE, ως web wrapper ορίζεται μια διαδικασία που εφαρμόζει μια ή διαφορετικές κλάσεις αλγορίθμων για την αναζήτηση και εύρεση δεδομένων που απαιτούνται από κάποιον χρήστη, την εξαγωγή τους από αδόμητες ή ημιδομημένες πηγές του Ιστού, το μετασχηματισμό τους σε δομημένα δεδομένα, τη συγχώνευση και ενοποίηση της πληροφορίας για περαιτέρω επεξεργασία, με ένα ημιαυτόματο ή πλήρως αυτοματοποιημένο τρόπο. Οι web wrappers χαρακτηρίζονται από έναν κύκλο ζωής που αποτελείται από τα στάδια της παραγωγής, της εκτέλεσης και της συντήρησης τα οποία και θα αναλυθούν στη συνέχεια. Παραγωγή & εκτέλεση του wrapper Το πρώτο στάδιο του κύκλου ζωής ενός wrapper είναι η παραγωγή του. Οι πρώτες πλατφόρμες WDE υποστήριζαν μόνο την χειροκίνητη παραγωγή wrapper. Η διαδικασία απαιτούσε ανθρώπινη εξειδίκευση και προγραμματιστικές δεξιότητες για την εγγραφή σεναρίων ικανών να αναγνωρίσουν και να εξάγουν επιλεγμένα κομμάτια πληροφορίας μέσα από μια ιστοσελίδα. Στα τέλη της προηγούμενης δεκαετίας έκαναν την εμφάνισή τους πιο προηγμένα συστήματα WDE. Η κύρια λειτουργία που παρείχαν, ήταν η δυνατότητα ορισμού και εκτέλεσης web wrappers από τους ίδιους τους χρήστες, με την έννοια διαδραστικών γραφικών διεπαφών (GUIs). Στις περισσότερες των περιπτώσεων, δεν απαιτούνταν κάποια βαθιά γνώση της γλώσσας προγραμματισμού των wrappers, αφού οι τελευταίοι δημιουργούνταν αυτόματα (ή ημιαυτόματα) από το σύστημα, εκμεταλλευόμενοι οδηγίες που δίνονταν από τον χρήστη μέσω της πλατφόρμας διεπαφής. Τρεις είναι οι τύποι λογικής που διέπουν αυτό το είδος πλατφόρμων: οι κανονικές εκφράσεις (regular expressions), οι wrapper γλώσσες προγραμματισμού (wrapper programming languages) και οι βασιζόμενες στα δένδρα προσεγγίσεις (tree-based approaches). Μία από τις πιο κοινές προσεγγίσεις βασίζεται στις regular expressions, μια ισχυρή επίσημη γλώσσα που χρησιμοποιείται για τον εντοπισμό συμβολοσειρών ή μοτίβων σε αδόμητα κείμενα με βάση κάποια κριτήρια συσχέτισης. Οι κανόνες εντοπισμού μπορεί να είναι πολύπλοκοι και η χειροκίνητη σύνταξή τους να απαιτεί πολύ χρόνο και μεγάλη εμπειρία. Γι αυτό και οι αντίστοιχοι wrappers, παρήγαγαν δυναμικά τους κανόνες για την εξαγωγή των επιθυμητών δεδομένων από τις ιστοσελίδες. Η συγγραφή regular expressions για HTML σελίδες βασίζεται σε κριτήρια όπως τα όρια των λέξεων, οι HTML ετικέτες, η δομή των πινάκων, κλπ. Το πλεονέκτημα των πλατφόρμων που στηρίζονται στις 77

79 κανονικές εκφράσεις, είναι ότι ο χρήστης μπορεί συνήθως να επιλέξει (π.χ. μέσω ενός γραφικού περιβάλλοντος) ένα ή περισσότερα στοιχεία μιας ιστοσελίδας, και στη συνέχεια το σύστημα να συμπεράνει αυτομάτως την κατάλληλη κανονική έκφραση, για τον εντοπισμό του στοιχείου αυτού στη σελίδα. Στη συνέχεια, μπορεί να δημιουργηθεί ένας wrapper που θα εξάγει παρόμοια στοιχεία από άλλες ιστοσελίδες με την ίδια δομή που ακολουθήθηκε για τη συναγωγή των regular expressions. Το μειονέκτημα υιοθέτησης κανονικών εκφράσεων είναι η έλλειψη ευελιξίας τους. Π.χ. αν συμβεί μια μεταβολή, ακόμα και μικρή, στη δομή ή το περιεχόμενο της ιστοσελίδας, κάθε κανονική έκφραση είναι πολύ πιθανό να σταματήσει να λειτουργεί και να πρέπει να ξαναγραφεί. Η διαδικασία αυτή συνεπάγεται μεγάλη δέσμευση για τους χρήστες κυρίως για τη συντήρηση των συστημάτων που βασίζονται στις κανονικές εκφράσεις. Γι αυτούς τους λόγους αναπτύχθηκαν περισσότερο ευέλικτες και ισχυρές γλώσσες για την ενδυνάμωση των δυνατοτήτων των πλατφόρμων WDE. Ένα τέτοιο παράδειγμα ανάπτυξης ισχυρών γλωσσών για σκοπούς εξαγωγής δεδομένων, αποτελούν οι ειδικές για τον Ιστό wrapper programming languages. Εργαλεία που βασίζονται στις wrapper programming languages, θεωρούν τις ιστοσελίδες όχι ως απλές συμβολοσειρές κειμένου αλλά ως ημιδομημένα δένδρα εγγράφων λαμβάνοντας υπόψη ότι το DOM της ιστοσελίδας αναπαριστά την δομή της, και τους κόμβους να είναι στοιχεία που χαρακτηρίζονται από τις ιδιότητες και το περιεχόμενό τους. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι η wrapper programming language μπορεί να οριστεί ώστε να εκμεταλλεύεται πλήρως την ημιδομημένη φύση των ιστοσελίδων και των περιεχομένων τους. Μια τέτοια πτυχή έλλειπε στα συστήματα που βασίζονταν σε κανονικές εκφράσεις. Η πρώτη ισχυρή wrapper programming language παρουσιάστηκε από τους Gottlob και Koch. Οι λειτουργίες εξαγωγής πληροφορίας που υλοποιήθηκαν βασίζονταν στις μοναδιαίες καταγραφές δεδομένων επί των δένδρων Οι δύο δημιουργοί απέδειξαν ότι οι μοναδιαίες καταγραφές δεδομένων επί των δένδρων, είναι ισοδύναμες με τη Μοναδιαία Λογική Δευτέρου Βαθμού (MSO-Monadic Second- Order Logic) και άρα πολύ εκφραστικές. Ωστόσο, σε αντίθεση με την MSO, ένας wrapper μοναδιαίων καταγραφών δεδομένων μπορεί εξαίσια να μοντελοποιηθεί βήμα βήμα, με οπτικό και διαδραστικό τρόπο. Αυτό κάνει την wrapping language κατάλληλη, για ενσωμάτωση σε οπτικά εργαλεία που ικανοποιούν την προϋπόθεση υλοποίησης όλων των κατασκευασμάτων τους, μέσω των αντίστοιχων οπτικών αρχέτυπων. Η λειτουργία της wrapping language έχει ως εξής: ξεκινώντας από το αβαθμίδωτο(unranked) επονομαζόμενο δένδρο, που αντιπροσωπεύει τη DOM αναπαράσταση της ιστοσελίδας, ο αλγόριθμος ονομάζει εκ νέου τους κόμβους, αποκόπτει τους μη σχετικούς και τελικά επιστρέφει ένα υποσύνολο των αρχικών κόμβων του δένδρου, που παριστάνει τα επιλεγμένα δεδομένα που εξήχθησαν. 78

80 Η τελευταία προσέγγιση πλατφόρμας διεπαφής βασίζεται στην δενδρική δομή (tree-based approach), αφορά την παραγωγή wrapper και ονομάζεται Μερική Ευθυγράμμιση Δένδρου (PTA-Partial Tree Alignment). Εισήχθη πρόσφατα από τους Zhai και Liu οι οποίοι υλοποίησαν και ένα WDE σύστημα βασισμένο σε αυτήν. Η τεχνική αυτή βασίζεται στην ιδέα ότι η συλλογή πληροφοριών στα έγγραφα του Ιστού επιτελείται συνήθως σε όμορες περιοχές της σελίδας που ονομάζονται περιοχές καταγραφής (record regions). Η στρατηγική της PTA συνίσταται στον εντοπισμό και την εξαγωγή των περιοχών αυτών. Συγκεκριμένα, οι δημιουργοί εμπνεύστηκαν από τους tree matching αλγορίθμους χρησιμοποιώντας την TED matching τεχνική που αναλύθηκε στην ενότητα Ο αλγόριθμος λειτουργεί σε δύο στάδια: την τμηματοποίηση (segmentation) και την PTA. Στη πρώτη φάση η ιστοσελίδα χωρίζεται σε τομείς δίχως να εξαχθεί κάποιο δεδομένο. Αυτή η προεπεξεργασία είναι καθοριστική για το τελευταίο στάδιο. Στη πραγματικότητα, το σύστημα δεν εκτελεί μόνο μια ανάλυση του εγγράφου της ιστοσελίδας με βάση το DOM δένδρο, αλλά βασίζεται και σε οπτικές ενδείξεις (σ.σ.: βλέπε χωρική συλλογιστική τεχνική στην ενότητα 3.1.4), προσπαθώντας να εντοπίσει κενά μεταξύ των δεδομένων καταγραφής. Το βήμα αυτό είναι επίσης χρήσιμο, επειδή βοηθά τη διαδικασία εξαγωγής των δομικών πληροφοριών από τα HTML έγγραφα, σε περιπτώσεις κατάχρησης της HTML σύνταξης (π.χ. χρήση δομής πίνακα αντί για CSS για την οργάνωση της γραφικής όψης της σελίδας). Στο τελευταίο στάδιο, εφαρμόζεται ο αλγόριθμος της PTA σε καταγραφές δεδομένων που έχουν νωρίτερα εντοπιστεί. Κάθε εγγραφή εξάγεται από την θέση του DOM υποδένδρου, αποτελώντας την ρίζα ενός νέου ενιαίου δένδρου. Αυτό συμβαίνει, γιατί κάθε καταγραφή δεδομένων μπορεί να περιέχεται σε περισσότερα του ενός, μη διαδοχικά υποδένδρα, στο αρχικό DOM δένδρο. Η προσέγγιση της PTA, συνεπάγεται την ευθυγράμμιση των πεδίων δεδομένων με ακρίβεια, εξαιρουμένων όσων δεν μπορούν να ευθυγραμμιστούν, για την επίτευξη υψηλού βαθμού ακρίβειας. Κατά τη διάρκεια αυτής της διαδικασίας δεν εμπλέκονται στοιχεία δεδομένων, επειδή η PTA λειτουργεί μόνο σε συσχετίσεις ετικετών δένδρων και αντιπροσωπεύει το ελάχιστο κόστος (με την έννοια των συντακτικών πράξεων διαγραφής, προσθήκης ή αντικατάστασης κόμβου) για τον μετασχηματισμό ενός κόμβου σε έναν άλλο. Το μειονέκτημα αυτού του χαρακτηριστικού του αλγορίθμου, είναι ότι η επίδοση ανάκλησής του, δηλαδή η δυνατότητα ανάκτησης όλων των αναμενόμενων πληροφοριών, μπορεί να διασπαστεί σε περιπτώσεις πολύπλοκων δομών HTML εγγράφων. Να σημειωθεί ότι ακόμα και στη περίπτωση της PTA, η λειτουργία της στρατηγικής είναι απόλυτα συναφής με την δομή της ιστοσελίδας την στιγμή του ορισμού της ευθυγράμμισης. Αυτό συνεπάγεται ότι η μέθοδος είναι πολύ ευαίσθητη, ακόμα και σε μικρές αλλαγές, πράγμα που θα μπορούσε να θέσει σε κίνδυνο την λειτουργία του αλγορίθμου και την ορθή εξαγωγή των πληροφοριών. 79

81 Συντήρηση του wrapper Η παραγωγή του wrapper, ανεξάρτητα της υιοθετούμενης τεχνικής είναι η μία πλευρά του προβλήματος της εξαγωγής δεδομένων από πηγές του Ιστού. Από την άλλη, η συντήρηση του wrapper είναι εξίσου σημαντική έτσι ώστε η πλατφόρμα WDE να φτάνει σε υψηλά επίπεδα σταθερότητας και αξιοπιστίας, συμβαδίζοντας με το επίπεδο του αυτοματισμού και το χαμηλό βαθμό ανθρώπινης εμπλοκής. Οι ιστοσελίδες, σε αντίθεση με τα στατικά έγγραφα, εξελίσσονται και αλλάζουν δυναμικά. Η δομή τους μπορεί επίσης να αλλάζει, με συνέπεια οι προηγούμενα ορισμένοι wrappers, να μην είναι πλέον σε θέση να εξάγουν με επιτυχία τα δεδομένα. Αν και λοιπόν η συντήρηση του wrapper είναι ένα κρίσιμο βήμα της διαδικασίας WDE, δεν έτυχε ανάλογης προσοχής στη βιβλιογραφία (πολύ λιγότερης από το πρόβλημα παραγωγής του wrapper) παρά μονάχα τα τελευταία χρόνια. Στα πρώτα στάδια, η συντήρηση του wrapper πραγματοποιούνταν χειροκίνητα: χρήστες που συνήθως σχεδίαζαν web wrappers, ενημέρωναν ή ξαναέγραφαν τους wrappers κάθε φορά που άλλαζε η δομή μιας συγκεκριμένης ιστοσελίδας. Η προσέγγιση της χειροκίνητης συντήρησης ταίριαζε πολύ καλά σε μικρής κλίμακας προβλήματα, αλλά καθίσταται ακατάλληλη αν η ομάδα των ιστοσελίδων αυξηθεί κατά πολύ. Δεδομένου ότι στα επιχειρηματικά σενάρια, οι τακτικές εργασίες εξαγωγής δεδομένων μπορεί να περιλαμβάνουν χιλιάδες (ή και περισσότερες) δυναμικά δημιουργούμενες και συχνά ενημερώσιμες ιστοσελίδες, καταλαβαίνουμε ότι η χειροκίνητη συντήρηση του wrapper δεν είναι πλέον μία εφικτή λύση για τις εφαρμογές του πραγματικού κόσμου. Η πρώτη προσπάθεια στην κατεύθυνση της αυτόματης συντήρησης των wrapper παρουσιάστηκε από τον Kushmerick, με τον ορισμό της έννοιας της wrapper επαλήθευσης (verification) για πρώτη φορά. Το έργο της wrapper verification προκύπτει ως απαιτούμενο βήμα κατά το στάδιο της εκτέλεσης του wrapper, κατά το οποίο ένα σύστημα WDE αξιολογεί αν οι web wrappers που έχουν οριστεί λειτουργούν σωστά ή η λειτουργία τους έχει καταστραφεί λόγω τροποποιήσεων στη δομή των υποκείμενων ιστοσελίδων. Στη συνέχεια ο Kushmerick αναζήτησε κάποιες τεχνικές ημιαυτόματης συντήρησης wrapper, για τον χειρισμό απλών προβλημάτων. Η πρώτη απόπειρα ενασχόλησης με το πρόβλημα της συντήρησης wrapper παρέχοντας υψηλό επίπεδο αυτοματισμού πραγματοποιήθηκε από τον Meng et al. αναπτύσσοντας την SG-WRAM (Schema Guided WRApper Maintenance). Πρόκειται για μια στρατηγική WDE που στηρίζεται πάνω στην υπόθεση, βάσει εμπειρικών παρατηρήσεων, ότι ακόμα και οι ουσιώδεις αλλαγές στις ιστοσελίδες συχνά διατηρούν συντακτικά χαρακτηριστικά (π.χ. μοτίβα δεδομένων, μήκη συμβολοσειρών, κλπ.), υπερσυνδέσεις και σχολιασμούς (σ.σ.: 80

82 περιγραφικές πληροφορίες που αντιπροσωπεύουν την σημασιολογική έννοια ενός τμήματος πληροφορίας). Υπό το πρίσμα των ανωτέρω, αναπτύχθηκε ένα WDE σύστημα που, κατά τη φάση παραγωγής του wrapper, δημιουργεί σχέδια που θα χρησιμοποιηθούν κατά το στάδιο της συντήρησης. Αναλυτικότερα κατά την παραγωγή, ο χρήστης παρέχει HTML έγγραφα και XML σχήματα, καθορίζοντας μια χαρτογράφηση μεταξύ τους. Αργότερα το σύστημα θα δημιουργήσει κανόνες εξαγωγής και στη συνέχεια θα εκτελέσει τους wrappers προκειμένου να εξάγει τα δεδομένα, κατασκευάζοντας ένα XML έγγραφο σύμφωνα με τις προδιαγραφές του XML σχήματος. Κατά το στάδιο της εκτέλεσης του wrapper, εισάγεται ένα επιπλέον τμήμα στον αγωγό της διαδικασίας εξαγωγής δεδομένων, ο wrapper maintainer. Αυτός ελέγχει για τυχόν προβλήματα εξαγωγής και παρέχει ένα πρωτόκολλο αυτόματης διόρθωσης, για wrappers των οποίων η λειτουργία εξαγωγής απέτυχε, λόγω τροποποιήσεων στη δομή των σχετικών ιστοσελίδων. Αν η επισκευή μέσω του πρωτοκόλλου είναι επιτυχής, η διαδικασία εξαγωγής δεδομένων συνεχίζεται. Αλλιώς η τελευταία μπορεί να αποτύχει, εμφανίζοντας αντίστοιχες ειδοποιήσεις. Τα XML σχήματα ορίζονται με την μορφή DTD (Document Type Definition) και τα έγγραφα HTML αναπαρίστανται ως DOM δένδρα όπως αναλύθηκαν στην ενότητα Το SG-RAM σύστημα κατασκευάζει τις αντίστοιχες συσχετίσεις μεταξύ τους και δημιουργεί κανόνες εξόρυξης με τη μορφή εκφράσεων XQuery. Μια άλλη στρατηγική για την αυτόματη συντήρηση των web wrappers εμφανίστηκε πρόσφατα μέσω της μεθόδου αυτόματης προσαρμογής wrapper (automatic wrapper adoption). Η μέθοδος βασίζεται στην ιδέα της σύγκρισης χρήσιμων δομικών πληροφοριών, αποθηκευμένων στον web wrapper και ορισμένων στην αρχική έκδοση της ιστοσελίδας, και στην έρευνα για ομοιότητες στη νέα έκδοση της σελίδας που παράγεται μετά από κάθε διαρθρωτική αλλαγή. Η στρατηγική αυτή λειτουργεί για διάφορες τεχνικές εξαγωγής που τυχόν υλοποιεί το wrapping σύστημα χρησιμοποιώντας κάποιον αλγόριθμο επεξεργασίας δένδρου. Τα στοιχεία αναγνωρίζονται και αναπαριστώνται ως υποδένδρα του DOM δένδρου της ιστοσελίδας και στη συνέχεια μπορούν να αξιοποιηθούν, για την εύρεση των ομοιοτήτων μεταξύ δύο διαφορετικών εκδόσεων του ίδιου εγγράφου Machine learning προσεγγίσεις Οι τεχνικές μηχανικής μάθησης υπηρετούν καλά τους σκοπούς εξαγωγής πληροφορίας συγκεκριμένου τομέα από πηγές Ιστού, καθώς βασίζονται σε εκπαιδευτικές συνεδρίες κατά τις οποίες το σύστημα αποκτά εμπειρία στον εν λόγω τομέα. Βέβαια τα συστήματα WDE που βασίζονται στην μάθηση μέσω 81

83 εκπαίδευσης, απαιτούν συνήθως μεγάλη ποσότητα χειροκίνητα επισημασμένων ιστοσελίδων, πράγμα που συνεπάγεται μια περίοδο εκκίνησης στην οποία τα συστήματα απαιτούν ένα υψηλό επίπεδο ανθρώπινης εμπλοκής. Επιπλέον, κατά την διάρκεια της χειροκίνητης επισήμανσης, οι ειδικοί του χώρου θα πρέπει να παρέχουν τόσο θετικά όσο και αρνητικά παραδείγματα, από την ίδια αλλά και από διαφορετικές ιστοσελίδες. Ιδιαίτερη προσοχή πρέπει να δοθεί ώστε η παροχή παραδειγμάτων να είναι από ιστοσελίδες του ίδιου τομέα που παρουσιάζουν διαφορετικές δομές. Κι αυτό γιατί ακόμα και στη περίπτωση του ίδιου τομέα, τα πρότυπα που συνήθως υιοθετούνται για την παραγωγή ιστοσελίδων δυναμικού περιεχομένου, διαφέρουν, και το σύστημα πρέπει να είναι ικανό να μαθαίνει τον τρόπο εξαγωγής πληροφορίας σε τέτοια πλαίσια. Ως εναλλακτική λύση της ανθρώπινης γνώσης και αλληλεπίδρασης, αναπτύχθηκαν και συστήματα Στατιστικής Μηχανικής Μάθησης (Statistical Machine Learning) στηριζόμενα σε μοντέλα συνθηκών (conditional models) ή στη προσαρμοστική αναζήτηση (adaptive search). Παρακάτω θα αναφερθούμε σε ορισμένα συστήματα που έχουν αναπτυχθεί και βασίζονται σε τεχνικές μηχανικής μάθησης. WIEN Αναπτύχθηκε από τον Kushmerick και ήταν το πρώτο επαγωγικό σύστημα wrapper βασιζόμενο σε διαφορετικές τεχνικές επαγωγικής μάθησης. Αξιοσημείωτο είναι ότι το WIEN μπορούσε να επισημάνει αυτόματα τις σελίδες εκπαίδευσης αντιπροσωπεύοντας έτσι ένα υβριδικό σύστημα του οποίου η διαδικασία εκπαίδευσης επιταχύνονταν και συνεπάγονταν μικρή ανθρώπινη εμπλοκή. Η άλλη όψη του νομίσματος της υψηλής αυτοματοποίησης του WIEN ήταν ο μεγάλος αριθμός περιορισμών που συνδέονταν με το επαγωγικό σύστημα. Για παράδειγμα, η διαδικασία εξαγωγής δεν ήταν ικανή να αντιμετωπίσει τιμές που έλειπαν - περίπτωση αρκετά συνήθης που θέτει σοβαρούς περιορισμούς σχετικά με την προσαρμοστικότητα του WIEN σε πραγματικά σενάρια. RAPIER Εισήχθη από τους Califf και Mooney και προέρχεται από τα αρχικά των λέξεων Robust Automated Production of Information Extraction Rules και αποτελεί ένα σύστημα σχεδιασμένο να μαθαίνει κανόνες εξαγωγής πληροφορίας από έγγραφα. Το κύριο πλεονέκτημά του είναι η ικανότητα εκμάθησης των κανόνων αυτών απευθείας από τα έγγραφα χωρίς προηγούμενη ανάλυση ή μεταεπεξεργασία. Στον Rapier, η συμβολοσειρά που πρόκειται να εξαχθεί 82

84 ονομάζεται υποδοχέας πλήρωσης (slot-filler), ενώ το μοτίβο προπλήρωσης (prefiller pattern) [αντίστοιχα μοτίβο μεταπλήρωσης (post-filler pattern)] αναφέρεται στο μοτίβο συσχέτισης του αριστερού [αντίστοιχα του δεξιού] πλαισίου μιας συμβολοσειράς που πρόκειται να εξαχθεί. Οι κανόνες εξαγωγής στον Rapier χρησιμοποιούν περιορισμένη συντακτική και σημασιολογική πληροφορία και αποτελούνται από τρία μοτίβα: Ένα pre-filler που πρέπει να συσχετίζει άμεσα το κείμενο που προηγείται του slot-filler. Ένα slot-filler για τον συσχετισμό του πραγματικού slot-filler. Ένα post-filler που πρέπει να συσχετίζει άμεσα το κείμενο που ακολουθεί τον filler. Από τη μία πλευρά, οι κανόνες που κατασκευάζονται μέσω αυτών των μοτίβων είναι πολύ ευέλικτοι, αφού δεν περιορίζονται στο να περιέχουν συγκεκριμένο αριθμό λέξεων. Από την άλλη, θα ήταν δύσκολο να αναγνωρίσει κανείς, ποιοι κανόνες είναι πραγματικά χρήσιμοι για την εκτέλεση εξαγωγής δεδομένων. Γι αυτό τον λόγο, αναπτύχθηκε ένας αλγόριθμος μάθησης, βασιζόμενος στον Προγραμματισμό Επαγωγικής Λογικής (Inductive Logic Programming), ώστε να εντοπίζει τους αποτελεσματικούς κανόνες. WHISK Το σύστημα αυτό το εισήγαγε ο Soderland και στηρίζεται σε έναν αλγόριθμο εποπτευόμενης μάθησης που δημιουργεί κανόνες για την εξαγωγή πληροφοριών από έγγραφα κειμένου. Ένα από τα πιο σημαντικά χαρακτηριστικά του WHISK είναι η ικανότητα του να χειρίζεται ένα ευρύ φάσμα εγγράφων κειμένου, από πολύ δομημένα έγγραφα (όπως οι HTML σελίδες) μέχρι και ελεύθερο κείμενο. Οι κανόνες εξαγωγής που εφαρμόζονται μπορούν να θεωρηθούν ως ένας ειδικός τύπος regular expressions με δύο συνιστώσες: Η πρώτη προσδιορίζει το πλαίσιο στο οποίο μια φράση πρέπει να θεωρηθεί συναφής, ενώ η δεύτερη, τα ακριβή όρια της φράσης που θα εξαχθεί (σ.σ.: ουσιαστικά τα όρια του κειμένου που θα εξαχθεί). Αναλόγως της δομής του εγγράφου, το WHISK παράγει κανόνα που βασίζεται σε ακριβώς μία από τις δύο συνιστώσες που αναφέρθηκαν πριν. Ειδικότερα, στην περίπτωση του ελεύθερου κειμένου χρησιμοποιούνται κανόνες βάσει πλαισίου, ενώ στη περίπτωση δομημένου κειμένου γίνεται χρήση διαχωριστικών. Επιπλέον, για όλα τα έγγραφα των οποίων η δομή βρίσκεται μεταξύ των δύο παραπάνω περιπτώσεων, ο WHISK μπορεί να χρησιμοποιήσει ένα συνδυασμό κανόνων βάσει πλαισίου και οριοθέτησης. Μέσω του αλγορίθμου εποπτευόμενης μάθησης που αναφέρθηκε, επάγονται νέοι κανόνες από ένα σύνολο χειροκίνητα επισημασμένων στιγμιότυπων. Για τον περιορισμό 83

85 της ανθρώπινης προσπάθειας, ο WHISK παρέχει την εκμάθηση νέων κανόνων και τον σχολιασμό νέων στιγμιότυπων. Η διαδικασία εκμάθησης/σχολιασμού είναι επαναληπτική και αντί να παρουσιάζει αυθαίρετα στιγμιότυπα, ο WHISK υποβάλει περιπτώσεις κοντινές στα παραδείγματα που μπορούν να διαχειριστούν με τους έως τότε εκμαθημένους κανόνες. SRV Το σύστημα που προτάθηκε από τον Freitag, λαμβάνει ως είσοδο ένα σύνολο επισημασμένων εγγράφων και εξάγει ορισμένα χαρακτηριστικά που περιγράφουν τα τεκμήρια που μπορούν να εξαχθούν από το έγγραφο. Τα χαρακτηριστικά ταξινομούνται σε απλά αν χαρτογραφούν ένα τεκμήριο σε μία συγκεκριμένη τιμή ή σχεσιακά αν η χαρτογράφηση γίνεται από ένα τεκμήριο σε ένα άλλο. Για παράδειγμα, το χαρακτηριστικό capitalized που επιστρέφει true αν ένα τεκμήριο ξεκινά με κεφαλαίο γράμμα και false στην αντίθετη περίπτωση, είναι απλό. Αντίθετα, το next_token, που παίρνει ως είσοδο το τεκμήριο t και επιστρέφει το αμέσως επόμενο τεκμήριο του εγγράφου που ακολουθεί το t, είναι ένα σχεσιακό χαρακτηριστικό. Το SRV είναι επίσης σε θέση να διαχειριστεί τα χαρακτηριστικά που κωδικοποιούν την δομική πτυχή του εγγράφου (π.χ. αν ένα τεκμήριο είναι ρήμα). Οι κανόνες εξαγωγής μπορούν να εκφραστούν στη βάση των διαθέσιμων χαρακτηριστικών. Για την κατασκευή νέων κανόνων, ο SRV χρησιμοποιεί έναν ταξινομητή Naive Bayes σε συνδυασμό με ένα σχεσιακό μαθητή. Προκειμένου να γίνει αυτό, πρέπει να καθοριστούν μία σειρά από παραδείγματα (θετικά και αρνητικά) ως σύνολο εκμάθησης. Η κατασκευή κανόνων γίνεται με τρόπο από πάνω προς τα κάτω (top-down), ξεκινώντας από κενούς κανόνες που καλύπτουν το σύνολο των παραδειγμάτων και προχωρώντας στη δημιουργία κανόνων με τον διττό στόχο κάλυψης το δυνατό περισσότερων θετικών παραδειγμάτων, φιλτράροντας παράλληλα τα αρνητικά. SoftMealy Αυτή η learning-based πλατφόρμα WDE παρουσιάστηκε από τους Hsu και Dung. Ήταν το πρώτο επαγωγικό σύστημα wrapper σχεδιασμένο να λειτουργεί στο πλαίσιο της WDE. Στηριζόμενο σε Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα, γνωστά και ως Μετατροπείς Πεπερασμένης Κατάστασης (FST-Finite State Transducers), το SoftMealy χρησιμοποιούσε μία από κάτω προς τα πάνω (bottom-up) προσέγγιση επαγωγικής μάθησης για την εκμάθηση των κανόνων εξαγωγής. Κατά τη διάρκεια της συνόδου κατάρτισης το σύστημα αποκτά εκπαιδευτικές σελίδες, που αναπαρίστανται ως ένα αυτόματο, για όλες τις 84

86 πιθανές παραλλαγές ιστοσελίδων. Οι καταστάσεις του αυτομάτου αντιπροσωπεύουν τα εξαγόμενα δεδομένα, ενώ οι μεταβάσεις μεταξύ των καταστάσεων τους κανόνες εξαγωγής. Το δυνατό σημείο του SoftMealy ήταν η καινοτόμος μέθοδος εσωτερικής αναπαράστασης των HTML εγγράφων. Πιο αναλυτικά, κατά το στάδιο της προεπεξεργασίας, κάθε εξεταζόμενη ιστοσελίδα κωδικοποιούνταν σε τεκμήρια, με τρόπο που ορίζονταν σύμφωνα με ένα σύνολο κανόνων επαγωγής. Στη συνέχεια τα τεκμήρια αξιοποιούνταν για τον προσδιορισμό διαχωριστικών, θεωρούμενων ως τα αόρατα όρια μεταξύ δύο διαδοχικών τεκμηρίων. Τέλος, οι FST τροφοδοτούνταν με την ακολουθία διαχωριστικών, αντί των ακατέργαστων HTML συμβολοσειρών όπως στον WIEN, ώστε να συσχετίσουν τεκμήρια με κανόνες συμφραζόμενων (ορισμένων για τον χαρακτηρισμό ενός συνόλου μεμονωμένων διαχωριστικών) για τον προσδιορισμό των μεταβάσεων μεταξύ των καταστάσεων του αυτομάτου. Σε σχέση με το WIEN, το SoftMealy πλεονεκτούσε στο ότι ήταν ικανό να αντιμετωπίζει μια σειρά προβληματικών περιπτώσεων όπως ελλιπείς τιμές/ιδιότητες, πολλαπλές τιμές χαρακτηριστικών, εναλλακτικούς συνδυασμούς χαρακτηριστικών και ορθογραφικά λάθη. STALKER Πρόκειται για ένα ακόμα, βασιζόμενο στην μάθηση, σύστημα που προτάθηκε από τους Muslea, Minton και Knoblock. Είναι ένα επαγωγικό σύστημα εποπτευόμενης μάθησης wrapper που έχει κάποιες ομοιότητες με το SoftMealy που εξετάστηκε πριν. Η κύρια διαφορά μεταξύ των δύο συστημάτων, είναι οι προδιαγραφές των συναφών δεδομένων. Στον STALKER ένα σύνολο τεκμηρίων τοποθετούνται χειροκίνητα στην ιστοσελίδα έτσι ώστε να εντοπιστούν στοιχεία που ο χρήστης προτίθεται να εξάγει. Η εν λόγω πτυχή εξασφαλίζει την δυνατότητα χειρισμού από τον STALKER κενών τιμών, ιεραρχικών δομών και μη διατεταγμένων αντικειμένων. Ως τεκμήριο θεωρείται οποιοδήποτε κομμάτι κειμένου ή ετικέτα HTML στο έγγραφο. Το σύστημα μοντελοποιεί το περιεχόμενο μιας ιστοσελίδας μέσω ιεραρχικών σχέσεων, που αναπαρίστανται με τη χρήση μιας δενδρικής δομής δεδομένων με το όνομα Δένδρο Ενσωματωμένου Καταλόγου (ECT-Embedded Catalog Tree). Η ρίζα του ECT καταλαμβάνεται από την αλληλουχία όλων των τεκμηρίων. Κάθε κόμβος παιδί είναι μια υποακολουθία τεκμηρίων που κληρονομούνται από τον γονικό κόμβο. Αυτό σημαίνει ότι κάθε γονικός κόμβος είναι μια υπερακολουθία των τεκμηρίων των παιδιών του. Η υπερακολουθία χρησιμοποιείται σε κάθε επίπεδο της ιεραρχίας για τη παρακολούθηση του περιεχομένου των υποεπιπέδων του ECT. Η εξαγωγή των στοιχείων ενδιαφέροντος για τον χρήστη, επιτυγχάνεται συνάγοντας ένα σύνολο κανόνων εξόρυξης στο ίδιο το ECT. Ένα τυπικό παράδειγμα κανόνα εξαγωγής που συνάγεται από το STALKER είναι η δομή 85

87 SkipTo(T), μια οδηγία που υποδεικνύει την παράλειψη, κατά τη φάση της εξαγωγής, όλων των τεκμηρίων μέχρι να βρεθεί η πρώτη εμφάνιση του τεκμηρίου T. Η συναγωγή κανόνων εξαγωγής εκμεταλλεύεται την έννοια των ορόσημων (landmarks), που είναι ακολουθίες διαδοχικών τεκμηρίων, υιοθετημένων για τον εντοπισμό της αρχής και του τέλους ενός εξαγόμενου αντικειμένου. Ο STALKER μπορεί ακόμη να ορίσει κατηγορίες γενικών τεκμηρίων, που συμπεριλαμβάνουν πιο συγκεκριμένα τεκμήρια, γνωστές ως μπαλαντέρ (wildcards) Υβριδικά συστήματα Τα συστήματα που εξετάστηκαν στην ενότητα και αφορούσαν το πρώτο στάδιο (σ.σ.: παραγωγή) του κύκλου ζωής ενός web wrapper καθώς και οι επαγωγικές τεχνικές που αναλύθηκαν στην ουσιαστικά διαφέρουν σε δύο πτυχές: 1. Στον βαθμό αυτοματισμού των συστημάτων WDE. 2. Στη ποσότητα και το είδος της ανθρώπινης εμπλοκής που απαιτείται για τη λειτουργία τους. Το πρώτο σημείο διαφοράς σχετίζεται με την ικανότητα του συστήματος να λειτουργεί κατά τρόπο αυτόνομο, διασφαλίζοντας επαρκή επίπεδα ευρωστίας και αξιοπιστίας, σύμφωνα με τις απαιτήσεις των χρηστών. Όσον αφορά το δεύτερο σημείο, τα περισσότερα επαγωγικά συστήματα wrapper χρειάζονται την παροχή επισημασμένων παραδειγμάτων κατά τη διάρκεια των συνόδων εκπαίδευσης. Δηλαδή απαιτούν την εμπλοκή εμπειρογνωμόνων για την φάση της χειροκίνητης επισήμανσης. Τα συστήματα παραγωγής wrapper από την άλλη εμπλέκουν τους χρήστες στην συντήρησή τους, εκτός κι αν χρησιμοποιούνται αυτόματες τεχνικές όπως αυτές που συζητήθηκαν σε, σχετικό με τη συντήρηση wrapper, τμήμα της ενότητας Ενδιαφέρον παρουσιάζει μια νέα κατηγορία πλατφορμών, πρόσφατα εμφανιζόμενη στη βιβλιογραφία, που υιοθετεί μία υβριδική προσέγγιση, μεταξύ των επαγωγικών learning-based συστημάτων wrapper και των πλατφόρμων παραγωγής wrapper. Το πρώτο παράδειγμα συστήματος αυτής της κατηγορίας είναι το RoadRunner, ένα βασιζόμενο σε πρότυπα σύστημα, που παράγει αυτόματα πρότυπα για την εξαγωγή δεδομένων, συσχετίζοντας χαρακτηριστικά από διαφορετικές σελίδες του ίδιου τομέα. Μια άλλη ενδιαφέρουσα προσέγγιση, είναι η αξιοποίηση των οπτικών ενδείξεων και της χωρικής συλλογιστικής, για την αναγνώριση στοιχείων σε ιστοσελίδες με ένα, προσανατολισμένο στην 86

88 Μηχανική Όραση (Computer Vision), πρότυπο. Ας δούμε αναλυτικά καθένα από αυτά: Template-based matching Το πρώτο παράδειγμα υβριδικού συστήματος είναι το RoadRunner. Προτάθηκε από τους Crescenzi, Mecca και Merialdo και μπορεί να θεωρηθεί ένα παράδειγμα αυτόματης γεννήτριας wrapper. Το δυνατό στοιχείο του RoadRunner είναι ο προσανατολισμός του σε ιστοσελίδες μεγάλου εύρους δεδομένων που βασίζονται σε πρότυπα ή κανονικές δομές. Το σύστημα αντιμετωπίζει το πρόβλημα της εξόρυξης δεδομένων, εκμεταλλευόμενο χαρακτηριστικά που χρησιμοποιούνται από γεννήτριες και επαγωγικά συστήματα wrapper. Ειδικότερα, το RoadRunner μπορεί να λειτουργήσει χρησιμοποιώντας πληροφορίες που παρέχονται από τους χρήστες υπό μορφή επισημασμένων σελίδων παραδειγμάτων ή ακόμα και επισημαίνοντας αυτόματα τις ιστοσελίδες (όπως στο WIEN), για την κατασκευή ενός συνόλου εκπαίδευσης. Επιπλέον, μπορεί να αξιοποιεί την εκ των προτέρων γνώση του σχήματος των ιστοσελίδων π.χ. λαμβάνοντας υπόψη πρότυπα σελίδας που μαθεύτηκαν προηγουμένως. Το RoadRunner βασίζεται στην ιδέα της ταυτόχρονης εργασίας σε δύο HTML σελίδες για την ανακάλυψη προτύπων, αναλύοντας τις ομοιότητες και τις διαφορές μεταξύ της δομής και του περιεχομένου κάθε ζεύγους σελίδων. Ουσιαστικά το σύστημα μπορεί να εξάγει τις σχετικές πληροφορίες, από κάθε τοποθεσία στο Web που περιλαμβάνει δύο τουλάχιστον ιστοσελίδες με παρόμοια δομή. Δεδομένου ότι συνήθως οι ιστοσελίδες παράγονται δυναμικά, ξεκινώντας από κάποιο πρότυπο, και τα σχετικά δεδομένα τοποθετούνται στις ίδιες ή παρόμοιες περιοχές της σελίδας, το RoadRunner είναι ικανό να εκμεταλλευθεί αυτό το χαρακτηριστικό ώστε να εντοπίσει τις κατάλληλες πηγές πληροφοριών και ταυτόχρονα να λάβει υπόψη τις μικρές διαφορές λόγω ελλιπών τιμών ή άλλων αναντιστοιχιών. Οι ερευνητές που αναφέρθηκαν στην αρχή, όρισαν επίσης ως κλάση σελίδων εκείνες τις πηγές Ιστού που χαρακτηρίζονται από ένα κοινό σενάριο παραγωγής. Στη συνέχεια, το πρόβλημα ανάγεται στην εξαγωγή των σχετικών δεδομένων, με την παραγωγή wrappers για τις κλάσεις σελίδων, ξεκινώντας από το συμπέρασμα, μέσω της σύγκρισης που βασίζεται στις δύο σελίδες, της κοινής δομής. Το σύστημα έχει την ικανότητα να χειριστεί ελλιπείς/προαιρετικές τιμές καθώς και δομικές διαφορές, προσαρμοζόμενο ικανοποιητικά σε όλα τα είδη πηγών Web μεγάλου εύρους δεδομένων. Ένα άλλο σημαντικό στοιχείο του RoadRunner είναι η υλοποίησή του μέσω ανοιχτού κώδικα υψηλής ποιότητας, πράγμα που παρέχει υψηλό βαθμό αξιοπιστίας του συστήματος εξαγωγής. 87

89 Spatial reasoning Το πρότυπο της Μηχανικής Όρασης έχει εμπνεύσει και τον τομέα των συστημάτων WDE. Μάλιστα, ένα πρόσφατο μοντέλο εξόρυξης δεδομένων με το όνομα Visual Box Model έχει παρουσιαστεί από τους Krüpl, Herzog και Gatterbauer. Το μοντέλο αυτό εκμεταλλεύεται οπτικές ενδείξεις, για να καταλάβει αν στην έκδοση της ιστοσελίδας που εμφανίζεται στην οθόνη μετά την ανάλυσή της από το πρόγραμμα περιήγησης Ιστού, υπάρχουν για παράδειγμα δεδομένα σε μορφή πίνακα. Το πλεονέκτημα αυτής της στρατηγικής, έγκειται στη δυνατότητα απόκτησης δεδομένων που δεν αντιπροσωπεύονται μέσω της τυποποιημένης μορφής <table> της HTML. Η λειτουργία της τεχνικής βασίζεται σε έναν αλγόριθμο Χ-Υ cut OCR (Optical Character Recognition). Ο αλγόριθμος μπορεί, δεδομένης της αναλυμένης έκδοσης της ιστοσελίδας, να παραγάγει ένα οπτικό πλέγμα στο οποίο κατανέμονται τα στοιχεία της σελίδας, σύμφωνα με τις συντεταγμένες τους (σ.σ.: προσδιορίζονται από τις οπτικές ενδείξεις). Οι περικοπές που εφαρμόζονται αναδρομικά στη bitmap εικόνα, αναπαριστούν την ανάλυση της ιστοσελίδας και αποθηκεύονται σε ένα X-Y δένδρο. Αυτό το δένδρο είναι φτιαγμένο, έτσι ώστε κάθε προγονικός κόμβος με φύλλα να αντιπροσωπεύει γεμάτους πίνακες. Ορισμένες πρόσθετες λειτουργίες, ελέγχουν αν οι πίνακες που εξάγονται περιέχουν χρήσιμες πληροφορίες. Αυτό γίνεται επειδή πολλές ιστοσελίδες χρησιμοποιούν πίνακες για διαρθρωτικούς και γραφικούς σκοπούς (αν και αυτή η τεχνική είναι παρωχημένη) αντί για σκοπούς αναπαράστασης δεδομένων. Το σύστημα εξαγωγής δεδομένων Visual Box Model, υλοποιείται μέσω ενός μηχανισμού εσωτερικής ανάλυσης, που παράγει μια απεικόνιση της ιστοσελίδας βασιζόμενη στο Gecko (σ.σ.: ο μηχανισμός ανάλυσης που χρησιμοποιείται στον Mozilla Firefox). Αξιοποιώντας το CSS 2.0 box model, ο αλγόριθμος μπορεί να έχει πρόσβαση στις πληροφορίες θέσης κάθε συγκριμένου στοιχείου. Αυτό πετυχαίνεται μέσω γεφύρωσης, υλοποιημένης σύμφωνα με την XPCOM βιβλιοθήκη, του μηχανισμού ανάλυσης και της εφαρμογής. 3.2 Συστήματα Εξαγωγής Δεδομένων Ιστού Σε αυτήν την ενότητα θα μπούμε σε λεπτομέρειες σχετικά με τα χαρακτηριστικά των υφιστάμενων συστημάτων WDE. Μπορούμε να ορίσουμε γενικά ένα σύστημα WDE ως μία πλατφόρμα υλοποίησης μιας σειράς διαδικασιών (π.χ. Web wrappers) για την εξαγωγή πληροφοριών από πηγές του Ιστού. Από αυτόν τον γενικό ορισμό, μπορούμε να συνάγουμε δύο βασικές πτυχές του προβλήματος: 88

90 Αλληλεπίδραση του WDE συστήματος με τις ιστοσελίδες. Παραγωγή του wrapper. Παρακάτω θα αναλύσουμε καθεμιά από τις παραπάνω συνιστώσες. Αλληλεπίδραση με ιστοσελίδες Η πρώτη φάση ενός γενικού συστήματος εξαγωγής δεδομένων Ιστού είναι η αλληλεπίδραση του με αυτόν. Το σύστημα WDE προσπελαύνει μία πηγή Ιστού και εξάγει τα δεδομένα που είναι αποθηκευμένα σε αυτήν. Οι πηγές Ιστού συνήθως συμπίπτουν με τις ιστοσελίδες, αν και ορισμένες προσεγγίσεις θεωρούν τις τροφοδοσίες RSS/Atom και τα Microformats. Κάποια εμπορικά συστήματα όπως το Lixto και ο Kapow Mashup Server, περιλαμβάνουν μία γραφική διεπαφή χρήστη για πλήρη οπτική και διαδραστική πλοήγηση των HTML σελίδων, με ενσωματωμένα εργαλεία εξαγωγής. Τα πιο προηγμένα συστήματα WDE υποστηρίζουν την εξαγωγή δεδομένων από σελίδες προερχόμενες από το Deep Web (σ.σ.: το περιεχόμενο του World Wide Web που δεν ανήκει στο Surface Web το οποίο δεικτοδοτείται από μια συνήθη μηχανή αναζήτησης): προσομοιώνουν την δραστηριότητα των χρηστών μέσω επιλογής DOM στοιχείων με το ποντίκι, μέσω μακροεντολών ή απλά μέσω συμπλήρωσης HTML φορμών. Τα συστήματα αυτά υποστηρίζουν επίσης την εξαγωγή πληροφοριών από ιστοσελίδες που δημιουργούνται δυναμικά, γεμίζοντας μια πρότυπη σελίδα με δεδομένα μιας βάσης δεδομένων. Η διαδικασία γίνεται συνήθως κατά τον χρόνο εκτέλεσης, ως αποτέλεσμα αιτήματος του χρήστη. Το άλλο είδος σελίδων ονομάζονται στατικές ιστοσελίδες λόγω του στατικού περιεχομένου τους. Παραγωγή του wrapper Ένα σύστημα εξαγωγής δεδομένων Ιστού πρέπει να υλοποιεί την υποστήριξη για την παραγωγή και εκτέλεση του wrapper. Ένας άλλος ορισμός ενός WDE συστήματος δόθηκε από τον Baumgartner et al. ως το λογισμικό που εξάγει αυτόματα και κατ επανάληψη δεδομένα από ιστοσελίδες μεταβλητού περιεχομένου και μεταφέρει τα εξαγόμενα δεδομένα σε μια βάση δεδομένων ή σε κάποια άλλη εφαρμογή. Αυτός ο ορισμός ταιριάζει περισσότερο στην σύγχρονη αντίληψη του προβλήματος της εξαγωγής δεδομένων Ιστού διότι εισάγει τρία σημαντικά θέματα: 89

91 Τον αυτοματισμό και προγραμματισμό. Τον μετασχηματισμό των δεδομένων. Την χρήση των εξαγόμενων δεδομένων. Στη συνέχεια θα εξετάσουμε σε μεγαλύτερη λεπτομέρεια τις προηγούμενες πτυχές. Αυτοματισμός και εξαγωγή Η αυτοματοποίηση της πρόσβασης σε ιστοσελίδες καθώς επίσης και ο εντοπισμός των στοιχείων τους, είναι ένα από τα πιο σημαντικά χαρακτηριστικά που περιλαμβάνονται στα τελευταία WDE συστήματα. Η ικανότητα δημιουργίας μακροεντολών για την εκτέλεση πολλαπλών στιγμιότυπων της ίδιας εργασίας, συμπεριλαμβανομένου της δυνατότητας προσομοίωσης της ροής των κλικ του ποντικιού, συμπλήρωσης φορμών, επιλογής μενού και κουμπιών, της υποστήριξης AJAX τεχνολογίας για την ασύγχρονης ενημέρωσης της σελίδας, κλπ. είναι μόνο μερικές από τις σημαντικότερες λειτουργίες αυτοματισμού. Επίσης σημαντικός είναι ο προγραμματισμός, π.χ. όταν ένας χρήστης θέλει να εξάγει δεδομένα από μία τοποθεσία Ιστού με ειδήσεις που ανανεώνεται κάθε 5 λεπτά. Πολλά από τα προηγούμενα εργαλεία του επιτρέπουν την σύνταξη ενός χρονοδιαγράμματος που θα λειτουργεί ως cron δρομολογώντας μακροεντολές και εκτελώντας δέσμες ενεργειών αυτόματα και περιοδικά. Μετασχηματισμός δεδομένων Οι πληροφορίες μπορεί να εξάγονται από πολλαπλές πηγές (πράγμα που σημαίνει τη χρήση διαφορετικών wrapper) και κατά πάσα πιθανότητα τα εξαγόμενα δεδομένα ενδέχεται να έχουν διαφορετική δομή. Τα βήματα μεταξύ της εξαγωγής και της παράδοσης ονομάζονται μετασχηματισμός δεδομένων. Κατά την διάρκεια αυτών των φάσεων, όπως ο καθαρισμός δεδομένων και η επίλυση συγκρούσεων, οι χρήστες πετυχαίνουν το στόχο της απόκτησης ομοιογενών πληροφοριών μέσω μιας μοναδικά προκύπτουσας δομής. Τα πιο ισχυρά συστήματα WDE παρέχουν εργαλεία για την εκτέλεση αυτόματης συσχέτισης σχημάτων από πολλαπλούς wrappers. Στη συνέχεια συσκευάζουν τα δεδομένα στην επιθυμητή μορφή (π.χ. βάση δεδομένων, XML, κλπ.) για να είναι δυνατή η αναζήτησή τους, η κανονικοποίηση της δομής και η αφαίρεση διπλότυπων πλειάδων. 90

92 Χρήση εξαγόμενων δεδομένων Όταν ολοκληρωθεί το έργο της εξαγωγής και τα δεδομένα συσκευαστούν στην αναγκαία μορφή, η πληροφορία είναι έτοιμη να χρησιμοποιηθεί. Το τελευταίο βήμα είναι η παράδοση του πακέτου, που τώρα αντιπροσωπεύεται από δομημένα δεδομένα, σε ένα σύστημα διαχείρισης (π.χ. ένα XML DBMS, ένα RDBMS, μια αποθήκη δεδομένων, ένα CMS, κλπ.). Πέραν των συγκεκριμένων πεδίων εφαρμογής που καλύπτονται στην ενότητα 3.3, τα δεδομένα που προκύπτουν μπορούν επίσης γενικά να χρησιμοποιηθούν για αναλυτικούς ή στατιστικούς σκοπούς, ή απλώς να αναδημοσιευθούν στα πλαίσια μιας δομημένης μορφής. Στα επόμενα θα κάνουμε μια σύνοψη του πλήθους των δυνατοτήτων των WDE συστημάτων, συμπεριλαμβανομένων των πτυχών της παραγωγής, των ικανοτήτων εξαγωγής δεδομένων και της χρήσης του wrapper. Ειδικότερα, θα αναφερθούν συγκεκριμένες πτυχές και θα περιγραφεί η τεχνολογική εξέλιξη των WDE συστημάτων ανάλογα με την κάθε πτυχή. Θα χρησιμοποιηθούν αυτόνομα (ad-hoc) διαγράμματα διαρθρωμένα ως ομάδες στρωμάτων (layer cakes), με τα κάτω (αντίστοιχα, πάνω) στρώματα να αντιστοιχούν στην παλαιότερη (αντίστοιχα, τελευταία) τεχνολογική λύση. Παραγωγή wrapper: ευκολία στη χρήση Οι πρώτες προσεγγίσεις κατανάλωσης γεγονότων από τον Ιστό υλοποιήθηκαν μέσω γλωσσών γενικού σκοπού. Με την πάροδο του χρόνου βιβλιοθήκες (π.χ. στο Ruby Mechanize) και γλώσσες ερωτημάτων ειδικού σκοπού ανελίχθηκαν στην κορυφή αυτής της αρχής (π.χ. τα συστήματα Jedi και Florid). Βοηθητικά προγράμματα (σ.σ.: Wizards) που απλοποιούσαν τον τρόπο προσδιορισμού των ερωτημάτων είναι το επόμενο λογικό επίπεδο και έχουν χρησιμοποιηθεί στα συστήματα W4F και XWrap. Για τη ρύθμιση των εξελιγμένων WDE συστημάτων παρέχονται GUIs είτε με βάση τον χρήστη (π.χ. σύστημα Lapis), είτε με βάση τον Ιστό (π.χ. συστήματα Dapper και Needlebase), είτε ως επεκτάσεις στον φυλλομετρητή (π.χ. iopus και Chickenfoot). Σε εμπορικά πλαίσια παρέχεται ένα πλήρες IDE (σ.σ.: Ολοκληρωμένο Περιβάλλον Ανάπτυξης) με λειτουργίες που περιγράφηκαν στην ενότητα 3.1. Χαρακτηριστικά παραδείγματα αποτελούν τα συστήματα Denodo, Kapowtech, Lixto και Mozenda. 91

93 Παραγωγή wrapper: δημιουργία παραδείγματος Από την σκοπιά του πως το σύστημα υποστηρίζει τον σχεδιαστή του wrapper για τη δημιουργία εύρωστων προγραμμάτων εξαγωγής, η απλούστερη προσέγγιση είναι ο καθορισμός ερωτημάτων με μη αυτόματο τρόπο και ο ξεχωριστός έλεγχός τους σε δείγματα ιστότοπων. Τα πιο προηγμένα προγράμματα επεξεργασίας, προσφέρουν τη δυνατότητα επισήμανσης των λέξεων κλειδιών και τελεστών των ερωτημάτων, και βοηθούν στη συγγραφή ερωτημάτων μέσω της αυτόματης συμπλήρωσης και άλλων παρόμοιων προσθηκών χρηστικότητας (π.χ. το Screen-Scraper). Στην περίπτωση των διαδικαστικών (σ.σ.: δομημένων) γλωσσών, τα μέσα αποσφαλμάτωσης και η οπτική βοήθεια για δομές π.χ. επανάληψης, αποτελούν περαιτέρω τρόπους καθοδηγούμενης δημιουργίας wrapper. Όσον αφορά τον καθορισμό της deep Web πλοήγησης, όπως η συμπλήρωση φόρμας, μια σειρά από εργαλεία προσφέρουν καταγραφή σε στυλ βίντεο της ανθρώπινης περιήγησης και στη συνέχεια αναπαραγωγή της εγγεγραμμένης ακολουθίας πλοήγησης (π.χ. τα συστήματα Chickenfoot, iopus, Lixto). Για την απλοποίηση του έργου της εξαγωγής, προσφέρονται οπτικές και διαδραστικές διευκολύνσεις από τα συστήματα. Οι χρήστες επισημαίνουν ένα στιγμιότυπο ως παράδειγμα και το σύστημα εντοπίζει το επιλεγμένο στοιχείο με εύρωστο τρόπο. Έπειτα ενδεχομένως γενικεύει για να συσχετίσει περαιτέρω παρόμοια στοιχεία. Τέτοια μέσα συχνά εξοπλίζονται με μεθόδους Μηχανικής Μάθησης, όπου ο χρήστης μπορεί να επιλέξει μια πληθώρα θετικών και αρνητικών παραδειγμάτων. Στη συνέχεια το σύστημα παράγει μία γραμματική προκειμένου να εντοπίσει τα υπό εξέταση αντικείμενα του Ιστού, συχνά με επαναληπτικό τρόπο (όπως στα συστήματα Wien, Dapper, Needlebase). Οι λειτουργίες του κλικ του ποντικιού και του drag and drop απλοποιούν περαιτέρω τους διαδραστικούς και οπτικούς μηχανισμούς. Τέλος ορισμένα συστήματα προσφέρουν κάθετα πρότυπα για την εύκολη δημιουργία wrappers συγκεκριμένων τομέων (π.χ. εξαγωγή δεδομένων ξενοδοχείων ή θεμάτων ειδήσεων), χρησιμοποιώντας τεχνικές Επεξεργασίας Φυσικής Γλώσσας και γνώσεων του τομέα. Τα κάθετα πρότυπα μπορούν να χρησιμοποιηθούν και για την εξαγωγή δεδομένων από τυπικές Web διατάξεις (π.χ. δομές πινάκων) ή για την επισκόπηση σελίδων μέσω των συνδέσμων next. 92

94 Εικόνα 3.3 Layers Παραγωγής Wrapper: Ευκολία στη χρήση & Δημιουργία παραδείγματος Δυνατότητες πλοήγησης στο Deep Web Πριν την έλευση των τεχνικών του Web 2.0 (δυναμική HTML, AJAX) συνήθως ήταν αρκετή η θεώρηση του Ιστού ως μιας συλλογής συνδεδεμένων σελίδων. Σε τέτοιες περιπτώσεις, η συμπλήρωση μιας φόρμας μπορεί να προσομοιωθεί καταγράφοντας τα αιτήματα και τις αποκρίσεις από τον Web server και έπειτα αναπαράγοντας την αλληλουχία των αιτήσεων (μερικές φορές καταλαμβάνοντας δυναμικά το αναγνωριστικό της συνόδου που εξήχθηκε από την προηγούμενη σελίδα της ακολουθίας). Τα πρώτα WDE συστήματα είχαν επηρεαστεί από τις τεχνολογίες screen scraping όπως αυτές είχαν χρησιμοποιηθεί για την αυτοματοποίηση πολλών εφαρμογών (και εγγενών), βασιζόμενων σε μεγάλο βαθμό στις συντεταγμένες. Η κατανόηση και αναπαραγωγή DOM γεγονότων σε αντικείμενα του Ιστού είναι το επόμενο λογικό επίπεδο. Στα προηγμένα συστήματα πηγαίνουμε ένα βήμα παραπέρα, ειδικά όταν ενσωματώνουν ένα πλήρη φυλλομετρητή: το κλικ σε ένα στοιχείο καταγράφεται με εύρωστο τρόπο και κατά την αναπαραγωγή ο browser ενημερώνεται να κάνει ένα οπτικό κλικ σε ένα τέτοιο στοιχείο, παραδίδοντας τον χειρισμό του DOM στο πρόγραμμα περιήγησης και διασφαλίζοντας ότι η ιστοσελίδα καταναλίσκεται ακριβώς με τον τρόπο που το κάνουν οι χρήστες. Ορθογώνιες (σ.σ.: τα χαρακτηριστικά τους μπορούν να χρησιμοποιηθούν χωρίς να σκεφτόμαστε ότι η χρήση τους θα επηρεάσει τις άλλες λειτουργίες) σε τέτοιες λειτουργίες είναι οι ικανότητες παραμετροποίησης ακολουθιών deep Web και χρήσης τεχνικών ανίχνευσης ερωτημάτων, ώστε να αυτοματοποιηθεί η deep Web πλοήγηση σε άγνωστες μορφές. 93

95 Δυνατότητες εξαγωγής δεδομένων Ιστού Με την πάροδο του χρόνου προτάθηκαν ποικίλες προσεγγίσεις για τη μοντελοποίηση μιας ιστοσελίδας. Ο πιο απλός τρόπος είναι το να εργαστεί κανείς, επί της ροής που λήφθηκε από τον Web server, χρησιμοποιώντας π.χ. κανονικές εκφράσεις. Σε ορισμένες περιπτώσεις αυτό είναι αρκετό και μάλιστα αποτελεί την προτιμώμενη προσέγγιση σε σενάρια μεγάλης κλίμακας, λόγω αποφυγής δημιουργίας ενός σύνθετου και μη αποδοτικού μοντέλου. Από την άλλη, σε πολύπλοκες Web 2.0 σελίδες που δεν είναι καλά σχηματισμένες, η εργασία μόνο στον επίπεδο κειμένου μπορεί να αποδειχθεί εξαιρετικά επαχθής. Επιπλέον τέτοιοι wrappers δεν είναι πολύ συντηρήσιμοι και συχνά διακόπτουν τη λειτουργία τους. Η πιο κοινή πρακτική, που έχει ακολουθηθεί τόσο από την ακαδημαϊκή κοινότητα όσο και σε εμπορικές προσεγγίσεις, είναι η εργασία στο DOM δένδρο ή κάποια άλλη δενδρική δομή. Για την ακαδημαϊκή κοινότητα έχει ενδιαφέρον η μελέτη της εκφραστικότητας της γλώσσας, με χρήση δένδρων και αυτομάτων για δένδρα. Από εμπορικής άποψης, βολικότερη και πιο εύρωστη για τον εντοπισμό Web αντικειμένων, είναι η χρήση γλωσσών όπως η XPath. Συνήθως λαμβάνονται υπόψη όχι μόνο τα στοιχεία του DOM δένδρου, αλλά και τα γεγονότα, επιτρέποντας έτσι τον καθορισμό των βημάτων εξαγωγής δεδομένων και πλοήγησης με τον ίδιο τρόπο. Στον σημερινό Ιστό όμως, πολύ συχνά, το DOM δένδρο δεν συλλαμβάνει πραγματικά τη βασική δομή μιας ιστοσελίδας, όπως αυτή παρουσιάζεται στον ανθρώπινο χρήστη σε ένα πρόγραμμα περιήγησης. Ο άνθρωπος αντιλαμβάνεται κάτι σαν δομή πίνακα, ενώ το DOM δένδρο περιέχει μια λίστα στοιχείων div απολύτως τοποθετημένων. Επιπλέον, δυαδικά αντικείμενα ενσωματωμένα σε ιστοσελίδες όπως το Flash, θέτουν νέες προκλήσεις και δεν καλύπτονται με τη προσέγγιση της δενδρικής δομής. Ως εκ τούτου, η τεχνική του screen-scraping επανήλθε στα νεότερα πλαίσια WDE, χρησιμοποιώντας μεθόδους κατανόησης κειμένου και χωρικής συλλογιστικής. Τέτοιες προσεγγίσεις αποτελούν τα έργα TamCow, ABBA, οι χωρικές επεκτάσεις του XPath και οι, βασιζόμενες στην ερμηνεία, επεκτάσεις του RoadRunner για την ανίχνευση επισημάνσεων. 94

96 Εικόνα 3.4 Layers δυνατοτήτων: Πλοήγηση στο Deep Web & Εξαγωγή δεδομένων Ιστού Parser και ενσωμάτωση Browser Αυτή η ομάδα ικανοτήτων είναι στενά συνδεδεμένη με τις δυνατότητες Deep Web παραπάνω, με επίκεντρο όμως την τεχνική υλοποίηση της συντακτικής ανάλυσης (parsing) και της ενσωμάτωσης προγράμματος περιήγησης. Οι απλές προσεγγίσεις δημιουργούν το δικό τους parser για τον εντοπισμό των σχετικών HTML ετικετών, ενώ οι πιο σύνθετες χρησιμοποιούν DOM βιβλιοθήκες χωρίς την ύπαρξη συσχετισμένης browser όψης. Λόγω του γεγονότος ότι πολλά πλαίσια WDE έχουν υλοποιηθεί σε Java, browsers ειδικού σκοπού όπως ο Java Swing και ο ICE έχουν χρησιμοποιηθεί και χρησιμοποιούνται και σήμερα. Οι πιο ισχυρές προσεγγίσεις είναι αυτές που ενσωματώνουν ένα πρότυπο πρόγραμμα περιήγησης όπως τον Internet Explorer, τον Firefox ή browsers βασιζόμενους στο WebKit (σ.σ.: ένα τμήμα λογισμικού με μηχανισμό διάταξης σχεδιασμένο να επιτρέπει στα προγράμματα περιήγησης να αναλύουν τις ιστοσελίδες). Στην περίπτωση των Java εφαρμογών, διεπαφές όπως η γέφυρα Java-XPCOM ή βιβλιοθήκες όπως η JRex χρησιμοποιούνται για την ενσωμάτωση του Mozilla browser. Η ενσωμάτωση ενός πλήρους προγράμματος περιήγησης δεν δίνει μόνο πρόσβαση στο μοντέλο DOM αλλά και σε άλλα, χρήσιμα για την εξαγωγή δεδομένων, μοντέλα συμπεριλαμβανομένου του CSS Box model. Μερικά εργαλεία πάνε προς διαφορετική κατεύθυνση και αντί να ενσωματώνουν έναν browser, υλοποιούνται ως επεκτάσεις του προγράμματος περιήγησης με κάποιους επιβαλλόμενους περιορισμούς και μειονεκτήματα. Ορθογώνιες των δυνατοτήτων του φυλλομετρητή, είναι οι ικανότητες επέκτασης των λειτουργιών εξαγωγής στην ανάλυση αδόμητου κειμένου αξιοποιώντας τεχνικές Επεξεργασίας Φυσικής Γλώσσας. 95

97 Πολυπλοκότητα υποστηριζόμενων λειτουργιών Τα απλά εργαλεία εξαγωγής δεδομένων προσφέρουν Web ειδοποιήσεις π.χ. όταν αναφερθεί μια συγκεκριμένη λέξη. Μακροκαταγραφείς Ιστού επιτρέπουν στους χρήστες να δημιουργούν deep σελιδοδείκτες, ενώ πλαίσια Web clipping αποκόπτουν τμήματα μιας ιστοσελίδας στην επιφάνεια εργασίας του χρήστη. Η εξατομίκευση μιας ιστοσελίδας (π.χ. κάποια εργαλεία προσφέρουν την δυνατότητα αλλαγής των CSS στυλ μιας σελίδας προκειμένου να κάνουν πιο εμφανείς τους συχνότερα χρησιμοποιούμενους συνδέσμους της) είναι ένα επιπλέον επίπεδο του layer cake. Τα πλαίσια επεξεργασίας δέσμης παρέχουν λειτουργίες για την επανάληψη αρκετών εργασιών εξαγωγής (π.χ. διατρέχοντας πολλές διαφορετικές τιμές στη συμπλήρωση φόρμας). Τα πιο προηγμένα συστήματα πάνε ένα βήμα παραπέρα χρησιμοποιώντας εξελιγμένα σχέδια εξόρυξης και τεχνικές ανωνυμίας, εξασφαλίζοντας την παραμονή στο παρασκήνιο χωρίς να ζημιώνουν τα portal στόχους με πάρα πολλές ταυτόχρονες αιτήσεις καθώς και τη διανομή των δεδομένων σε περαιτέρω εφαρμογές (π.χ. πλατφόρμες έρευνας αγοράς). Η εκφραστικότητα της wrapper γλώσσας συμβάλει επίσης στην πολυπλοκότητα των υποστηριζόμενων λειτουργιών. Εικόνα 3.5 Parser and Browser embedding & Πολυπλοκότητα υποστηριζόμενων λειτουργιών 3.3 Εφαρμογές Στη βιβλιογραφία της WDE πολλά έργα καλύπτουν προσεγγίσεις και τεχνικές που υιοθετήθηκαν για την επίλυση κάποιων συγκεκριμένων προβλημάτων που σχετίζονται με ένα (ή καμιά φορά ζεύγος) πεδίο εφαρμογής. Στόχος της ενότητας, είναι η μελέτη και ανάλυση ενός μεγάλου αριθμού εφαρμογών που διασυνδέονται στενά με τις εργασίες εξαγωγής δεδομένων Ιστού. Το φάσμα των εφαρμογών που ενδεχομένως επωφελούνται από τις τεχνικές WDE είναι αρκετά μεγάλο και περιλαμβάνει εφαρμογές σχεδιασμένες να δουλεύουν στον επιχειρηματικό τομέα, έως εφαρμογές που έχουν αναπτυχθεί στα πλαίσια του Social Web. Έτσι, οι εφαρμογές των τεχνικών εξαγωγής δεδομένων Ιστού μπορούν να ταξινομηθούν σε δύο κύριες κατηγορίες: 96

98 Επιχειρησιακές εφαρμογές: Εφαρμογές που εμπίπτουν σε αυτή την κατηγορία, έχουν κυρίως σχεδιαστεί για εμπορικούς σκοπούς και συχνά στοχεύουν στην αύξηση, τόσο του βαθμού αυτοματοποίησης μιας επιχειρηματικής διαδικασίας όσο και της αποδοτικότητάς της. Εφαρμογές Κοινωνικού Ιστού: Εφαρμογές που υπάγονται στη κατηγορία αυτή, έχουν κυρίως σχεδιαστεί για την εξαγωγή και συλλογή δεδομένων από μία Social Web πλατφόρμα (π.χ. Facebook, Flickr). Το παραπάνω σχήμα ταξινόμησης δεν πρέπει να θεωρείται αυστηρό. Δηλαδή υπάρχουν κάποιες εφαρμογές, που έχουν σχεδιαστεί για να λειτουργούν στο πλαίσιο των επιχειρήσεων, αλλά μοιράζονται κάποια χαρακτηριστικά με εφαρμογές που δουλεύουν σε πλατφόρμες Social Web. Για παράδειγμα, πολλές εταιρίες παρέχουν, μέσω των υπηρεσιών εξυπηρέτησης πελατών, εργαλεία όπως forum συζητήσεων. Έτσι επιτρέπεται στον πελάτη να επικοινωνεί απευθείας με την εταιρία ή να έρθει σε επαφή και να μοιραστεί απόψεις/σχόλια με άλλους πελάτες. Τα μηνύματα που ανταλλάσσονται στο forum μπορούν να εξαχθούν και να αναλυθούν, για να προσδιοριστούν οι τάσεις θεμάτων συζήτησης καθώς και να μετρηθεί το επίπεδο ικανοποίησης των πελατών. Οι πληροφορίες αυτές είναι πολύτιμες επειδή δίνουν την δυνατότητα στα διευθυντικά στελέχη της εταιρίας να σχεδιάσουν στρατηγικές για την αύξηση της ποιότητας των υπηρεσιών/προϊόντων που παρέχονται στους πελάτες. Φυσικά, εφαρμογές που εργάζονται σε δεδομένα παραγόμενα σε forum συζητήσεων, έχουν μια ισχυρή κοινωνική διάσταση διότι ασχολούνται με δεδομένα που παράγονται από τους χρήστες και μερικές από αυτές τις πληροφορίες προέρχονται συχνά από κοινωνικές αλληλεπιδράσεις (π.χ. ο όγκος των πληροφοριών που δημιουργείται, όταν ένας χρήστης θέσει ένα ερώτημα στην κοινότητα και τα υπόλοιπα μέλη του forum απαντήσουν). Επιπλέον της ταξινόμησης των εφαρμογών σε επιχειρησιακές και κοινωνικού Ιστού, μπορούν να εισαχθούν και άλλα κριτήρια ανάλογα με το αν τα δεδομένα εξάγονται από μία ενιαία πηγή ή πολλαπλές, είναι της ίδιας μορφής ή σχετίζονται με τον ίδιο τομέα. Αναλυτικότερα έχουμε: Ενιαία πηγή &. Πολλαπλές πηγές Οι τεχνικές εξόρυξης δεδομένων Ιστού μπορούν να εφαρμόζονται σε δεδομένα που ανήκουν σε μία ενιαία πλατφόρμα ή, αντίστροφα, να συλλέγουν δεδομένα που βρίσκονται σε διαφορετικές πλατφόρμες. Παράδειγμα της πρώτης περίπτωσης, σε επιχειρησιακό πλαίσιο, αποτελούν οι εφαρμογές διαχείρισης των δραστηριοτήτων εξυπηρέτησης πελατών. Όπως επισημάνθηκε νωρίτερα, αυτές οι εφαρμογές ανιχνεύουν ένα σύνολο εγγράφων 97

99 κειμένου, που παράγονται εντός μιας ενιαίας πλατφόρμας. Αντιθέτως σε ορισμένες περιπτώσεις, η εφαρμογή μπορεί να επωφεληθεί από δεδομένα διάσπαρτα σε πολλαπλά συστήματα. Παράδειγμα εφαρμογής, επιχειρησιακού πλαισίου, για συλλογή δεδομένων από πολλαπλές πηγές, συνιστά η Σύγκριση Αγορών (Comparison Shopping). Σε μια τέτοια περίπτωση, η τεχνική WDE είναι ικανή να συλλέγει δεδομένα που σχετίζονται με ένα προϊόν-στόχο, από ένα πλήθος από πλατφόρμες ηλεκτρονικού εμπορίου και να συγκρίνει σε καθεμιά από αυτές, π.χ. την τιμή και τις λεπτομέρειες αποστολής του εν λόγω προϊόντος. Η προηγούμενη ταξινόμηση είναι ιδιαίτερα ενδιαφέρουσα και στο πεδίο εφαρμογών του Social Web. Εφαρμογές που έχουν σχεδιαστεί για την ανίχνευση και συλλογή δεδομένων από μία ενιαία πλατφόρμα ή από πολλές διαφορετικές εξετάζονται στην ενότητα Ομοιογένεια & Ετερογένεια μορφής Το δεύτερο αυτό κριτήριο κατάταξης απαντά στο ερώτημα αν η εφαρμογή συλλέγει δεδομένα της ίδιας μορφής ή αντίστροφα αν μπορεί να συλλέξει δεδομένα διαφορετικών μορφών. Όσον αφορά τις επιχειρησιακές εφαρμογές, παράδειγμα της πρώτης περίπτωσης αποτελούν οι εφαρμογές Διαμοιρασμού Γνώμης (Opinion Sharing). Ο όρος αυτός προσδιορίζει εφαρμογές αφιερωμένες στη συλλογή απόψεων, εκφραζόμενων από έναν χρήστη, για ένα δεδομένο προϊόν/υπηρεσία. Οι απόψεις συνήθως αντιπροσωπεύονται από σύντομα γραπτά σχόλια ή αναρτήσεις σε blog, οπότε το είδος των δεδομένων που εξάγονται από την αντίστοιχη τεχνική WDE είναι μια συμβολοσειρά. Σε ορισμένες περιπτώσεις, οι χρήστες έχουν τη δυνατότητα να παρέχουν αποτελέσματα και τη μορφή των δεδομένων που εξάγονται σε μια διακριτή τιμή κυμαινόμενη σε ένα διάστημα. Στη περίπτωση των εφαρμογών Social Web, πολλές προσεγγίσεις είναι αφιερωμένες στην εξαγωγή σχέσεων φιλίας από ιστοσελίδες κοινωνικής δικτύωσης. Τα εξαγόμενα δεδομένα έχουν την ίδια μορφή που μπορεί να εκληφθεί ως μια τριάδα (ux, uy, f), όπου τα ux και uy είναι τα αναγνωριστικά χρήστη δύο μελών του Κοινωνικού Δικτύου. Η τιμή f είναι δυαδική (π.χ. Αληθής αν τα ux, uy είναι φίλοι, Ψευδής διαφορετικά) ή αριθμητική (π.χ. ίση με τον αριθμό των μηνυμάτων που έστειλε ο ux στον uy). Ορισμένες εφαρμογές έχουν σχεδιαστεί για τη συλλογή δεδομένων διαφορετικού τύπου. Ένα σχετικό παράδειγμα στον τομέα των επιχειρηματικών εφαρμογών παρέχεται από τις εφαρμογές που έχουν σχεδιαστεί για τη διαχείριση εργασιών Επιχειρησιακής Νοημοσύνης. Οι εφαρμογές αυτές μπορούν να συλλέγουν δεδομένα διαφορετικού τύπου (όπως αριθμητικά ή κειμένου) 98

100 καθώς και να διαχειρίζονται τόσο δομημένα δεδομένα (π.χ. προερχόμενα από σχεσιακούς πίνακες ενός συστήματος διαχείρισης βάσεων δεδομένων) όσο και αδόμητα (π.χ. αποσπάσματα κειμένου παρόντα σε HTML σελίδες). Σχετικά παραδείγματα υπάρχουν και στο πλαίσιο των εφαρμογών Social Web. Για παράδειγμα οι Kwak, Lee, Park και Moon υλοποίησαν το 2010 έναν ανιχνευτή ολόκληρης της πλατφόρμας του Twitter που παρήγαγε δεδομένα κειμένου (π.χ. τα tweets και re-tweets που παράγονται από τους χρήστες) καθώς και δεδομένα που υποδείκνυαν τους διαφορετικούς τύπους σύνδεσης μεταξύ των χρηστών (π.χ. following, reply to, mention ). Μοναδικού & Πολλαπλού σκοπού Σε ορισμένες περιπτώσεις ο στόχος ενός εργαλείου WDE είναι να εξάγει στοιχεία που περιγράφουν μια συγκεκριμένη πτυχή ενός ιδιαίτερου κοινωνικού φαινομένου ή επιχειρηματικής διαδικασίας. Σε μια τέτοια περίπτωση η εφαρμογή αρχειοθετείται ως μοναδικού σκοπού. Άλλες εφαρμογές αντίθετα, στοχεύουν στη συλλογή δεδομένων διαφορετικής φύσης που, αν συνδυαστούν κατάλληλα, σχετίζονται με την καλύτερη κατανόηση και ερμηνεία ενός συγκεκριμένου φαινομένου. Μετά την σύνδεση των δεδομένων, μπορούν να οριστούν νέες και εξελιγμένες εφαρμογές που θα εκτελούνται επί αυτών. Εφαρμογές που ανήκουν σε αυτή τη κατηγορία ονομάζονται πολλαπλών χρήσεων. Ως παράδειγμα εφαρμογών της πρώτης κατηγορίας έχουμε αυτές που επικεντρώνονται στην συλλογή βιβλιογραφικών δεδομένων και αναφορών μεταξύ των εγγράφων. Για τη συλλογή βιβλιογραφικών πληροφοριών οι τεχνικές WDE πρέπει να αναζητήσουν στοιχεία σε πολλές βάσεις δεδομένων που περιέχουν επιστημονικές δημοσιεύσεις (π.χ. SCOPUS, PubMed, ISI Web of Science κ.α.). Στόχος της εφαρμογής ωστόσο, είναι να συγκεντρώσει όλες τις αναφορές που σχετίζονται με ένα συγκεκριμένο paper ή συντάκτη, ώστε να εκτιμηθεί το αντίκτυπο ενός συγγραφέα ή μιας επιστημονικής δημοσίευσης σε κάποιον επιστημονικό τομέα. Στον τομέα των εφαρμογών Κοινωνικού Ιστού, ένα παράδειγμα εφαρμογών της εν λόγω κατηγορίας δίνεται από τις εφαρμογές που διατίθενται για τη συλλογή δεδομένων για τις ανθρώπινες δραστηριότητες σε διαφορετικές πλατφόρμες Social Web (π.χ. οι ετικέτες που συνεισφέρονται από τον χρήστη στα διαφορετικά συστήματα). Αυτό είναι σημαντικό για να καταλάβουμε αν η γλώσσα του χρήστη είναι ομοιόμορφη στις διάφορες πλατφόρμες ή αν τα χαρακτηριστικά της πλατφόρμας έχουν αντίκτυπο στην συγκρότηση λεξιλογίου του χρήστη. 99

101 Παραδείγματα εφαρμογών πολλαπλών χρήσεων σε επιχειρηματικό επίπεδο, αποτελούν κάποιες εφαρμογές που είναι σε θέση να συλλέγουν δεδομένα, παραγόμενα από διαφορετικές υπηρεσίες Ιστού, και να τα συνδυάζουν για να παράγουν πιο προηγμένες εφαρμογές. Π.χ. στον ταξιδιωτικό κλάδο, μπορεί κανείς να σκεφτεί εφαρμογές συλλογής δεδομένων σχετικά με τις πτήσεις και τα ξενοδοχεία, που να συνδυάζονται για την παραγωγή πακέτων διακοπών. Στην κατηγορία των εφαρμογών Κοινωνικού Ιστού, αρκετοί ερευνητές παρατήρησαν ότι η συγχώνευση δεδομένων διαφορετικού τύπου, που περιγράφουν τα διαφορετικά είδη ανθρώπινων δραστηριοτήτων, παράγει μια πιο λεπτομερή γνώση των ανθρώπινων αναγκών και προτιμήσεων. Για παράδειγμα οι Schifanella, Barrat, Cattuto, Markines και Menczer, διεξήγαγαν εκτεταμένα πειράματα σε δείγματα δεδομένων προερχόμενα από τα Last.Fm και Flickr, δείχνοντας την ύπαρξη ισχυρής συσχέτισης μεταξύ των κοινωνικών δραστηριοτήτων του χρήστη (π.χ. του αριθμού των φίλων του ή των ομάδων που συμμετείχε) και της επισήμανσης μέσω ετικετών του ιδίου. Απότοκος της προηγούμενης παρατήρησης ήταν ότι οι ετικέτες που συνεισφέρονται από τον χρήστη είναι ένας χρήσιμος δείκτης για την πρόβλεψη των σχέσεων φιλίας. Άλλες μελέτες συνδυάζουν την γεωγραφική θέση των χρηστών με το περιεχόμενο που δημοσιεύουν στα κοινωνικά δίκτυα Επιχειρησιακές εφαρμογές Σε αυτήν την ενότητα θα περιγράψουμε τα βασικά χαρακτηριστικά των εφαρμογών λογισμικού και των διαδικασιών που σχετίζονται με την εξαγωγή δεδομένων Ιστού με άμεση ή επακόλουθη εμπορική έκταση. Διαφήμιση με αντίληψη του πλαισίου Οι τεχνικές διαφήμισης με αντίληψη του πλαισίου, στοχεύουν στην παρουσίαση στον τελικό χρήστη μιας τοποθεσίας Ιστού, διαφημίσεων εμπορικής θεματολογίας μαζί με το περιεχόμενο της ιστοσελίδας που αυτός διαβάζει. Απώτερος στόχος είναι η αύξηση της αξίας που μπορεί να έχει μια ιστοσελίδα για τους επισκέπτες της και, τελικά, η αύξηση του επιπέδου ενδιαφέροντος στην διαφήμιση. Οι πρώτες προσπάθειες για την υλοποίηση context-aware advertising έγιναν από την Applied Semantic Inc. Στη συνέχεια η Google πρότεινε την δικιά της λύση διαφήμισης μέσω των AdSense. Η υλοποίηση διαφημίσεων με αντίληψη πλαισίου απαιτεί την ανάλυση του σημασιολογικού περιεχομένου της σελίδας, 100

102 την εξαγωγή των σημαντικών πληροφοριών δομής και δεδομένων και τέλος την ένταξη του περιεχομένου της διαφήμισης στην ίδια σελίδα. Η βασισμένη στο περιεχόμενο διαφήμιση, συγκρινόμενη με την παλιότερη έννοια της διαφήμισης Ιστού, αντιπροσωπεύει μια ευφυή προσέγγιση για την παροχή χρήσιμων πληροφοριών στον χρήστη (που στατιστικά ενδιαφέρεται περισσότερο για θεματικές διαφημίσεις) και μια καλύτερη πηγή εισοδήματος για τους διαφημιστές. Εξυπηρέτηση πελατών Συνήθως οι μεσαίου και μεγάλου μεγέθους επιχειρήσεις με τμήμα υποστήριξης πελατών, χειρίζονται μια μεγάλη ποσότητα αδόμητων πληροφοριών, διαθέσιμων ως εγγράφων κειμένου. Σχετικά παραδείγματα είναι τα μηνύματα ηλεκτρονικού ταχυδρομείου, οι συζητήσεις στα forum υποστήριξης, πληροφορίες τεκμηρίωσης και διεύθυνσης αποστολής, αναφορές κινήσεων πιστωτικών καρτών, αντίγραφα τηλεφωνικών συνομιλιών κ.ο.κ. Η ικανότητα ανάλυσης αυτών των εγγράφων και εξαγωγής των βασικών σχετιζόμενων εννοιών παρέχει πολλά συγκριτικά πλεονεκτήματα. Πρώτα από όλα, τα έγγραφα μπορούν να ταξινομηθούν με πιο αποτελεσματικό τρόπο, πράγμα που καθιστά ευκολότερη την ανάκτησή τους. Επιπλέον, μόλις εξαχθούν οι έννοιες που υπάρχουν σε μια συλλογή εγγράφων, είναι δυνατόν να προσδιοριστούν οι σχετικές συσχετίσεις μεταξύ των εγγράφων με βάση τις κοινές έννοιες. Τα προηγούμενα, δίνουν τη δυνατότητα εκτέλεσης εμπεριστατωμένης ανάλυσης των δεδομένων, με στόχο την ανακάλυψη τάσεων ή, στην περίπτωση των φορμών, των κρυμμένων σχέσεων μεταξύ των προϊόντων/υπηρεσιών που προσφέρονται από ένα εμπορικό σήμα. Σε αυτό το πλαίσιο, οι τεχνικές WDE διαδραματίζουν καίριο ρόλο επειδή απαιτούνται για την γρήγορη επεξεργασία μεγάλων ποσοτήτων εγγράφων κειμένου και την άντληση των πληροφοριών που βρίσκονται σε αυτά. Τα ανακτημένα δεδομένα, τέλος, επεξεργάζονται μέσω αλγορίθμων που συνήθως προέρχονται από την περιοχή της Επεξεργασίας Φυσικής Γλώσσας (Natural Language Processing). Κατασκευή βάσεων δεδομένων Στον τομέα του marketing στον Ιστό, οι τεχνικές WDE μπορούν να χρησιμοποιηθούν για τη συλλογή δεδομένων που αναφέρονται σε ένα συγκεκριμένο τομέα. Τα δεδομένα αυτά μπορεί να έχουν διπλό αποτέλεσμα: 1. Μια σχεδίαση μέσω της αντίστροφης μηχανικής ανάλυσης, μπορεί να σχεδιάσει και να υλοποιήσει ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων 101

103 (DBMS-Database Management System) που να αντιπροσωπεύει τα δεδομένα. 2. Το DBMS μπορεί να συμπληρώνεται αυτόματα χρησιμοποιώντας τα δεδομένα που παρέχονται από το WDE. Οι δύο προηγούμενες δραστηριότητες ονομάζονται επίσης και Κατασκευή Βάσης Δεδομένων (Database Building). Οι τομείς εφαρμογής της Κατασκευής Βάσεων Δεδομένων είναι πάρα πολλοί. Επί παραδείγματι: Χρηματοοικονομικές εταιρίες μπορεί να ενδιαφέρονταν για την εξαγωγή οικονομικών στοιχείων από τον Ιστό και την αποθήκευσή τους στα DBMSs τους. Οι εργασίες εξαγωγής συχνά προγραμματίζονται προκειμένου να εκτελούνται αυτόματα και περιοδικά. Η απόκτηση δεδομένων από πολλαπλές πηγές Ιστού είναι μία πολύ σημαντική εργασία για μια κτηματομεσιτική εταιρία για λόγους σύγκρισης, τιμολόγησης, διαμόρφωσης προσφορών, κλπ. Εταιρίες που πωλούν προϊόντα ή υπηρεσίες πιθανόν να θέλουν να συγκρίνουν τις τιμές τους με άλλους ανταγωνιστές. Η εξαγωγή δεδομένων τιμολόγησης προϊόντων είναι μια ενδιαφέρουσα εφαρμογή των συστημάτων WDE. Καταληκτικά μπορούμε να παραθέσουμε και άλλα συναφή καθήκοντα που προφανώς εμπλέκονται στην εξαγωγή δεδομένων Ιστού: Η αντιγραφή μιας online βάσης δεδομένων, η εξαγωγή πληροφοριών από ιστοσελίδες γνωριμιών, η καταγραφή των πληροφοριών δημοπρασίας και των τιμών από on-line ιστοσελίδες δημοπρασιών, η λήψη ανακοινώσεων θέσεων εργασίας από αντίστοιχες ιστοσελίδες, κλπ. Τεχνολογία λογισμικού Η εξαγωγή δεδομένων από ιστότοπους απέκτησε ενδιαφέρον και για την Τεχνολογία Λογισμικού. Για παράδειγμα οι RIAs (Rich Internet Applications) αναπτύσσονται ραγδαία ως ένα από τα πιο καινοτόμα και προηγμένα είδη εφαρμογών στον Ιστό. Οι RIAs είναι εφαρμογές Ιστού που διαθέτουν υψηλό βαθμό αλληλεπίδρασης και ευχρηστίας κληρονομούμενης από την ομοιότητα με τις desktop εφαρμογές. Ο Amaltano et al. ανέπτυξε μια προσέγγιση αντίστροφης μηχανικής σε αφηρημένες Μηχανές Πεπερασμένων Καταστάσεων, που αντιπροσωπεύει την συμπεριφορά από την πλευρά του χρήστη που παρέχεται από τις RIAs. 102

104 Επιχειρησιακή & Ανταγωνιστική Νοημοσύνη Ο Baumgartner et al. ανέλυσε σε βάθος τον τρόπο εφαρμογής τεχνικών και εργαλείων WDE για τη βελτίωση της διαδικασίας απόκτησης πληροφοριών για την αγορά. Ένα συμπαγές στρώμα γνώσης είναι θεμελιώδους σημασίας για τη βελτιστοποίηση των διεργασιών λήψης αποφάσεων και την ανάκτηση μιας μεγάλης ποσότητας δημόσιων πληροφοριών (αδόμητων ή ημιδομημένων) από τον Ιστό. Ειδικότερα με χρήση της Lixto Suite για την πρόσβαση, εξαγωγή, καθαρισμό και παράδοση των δεδομένων, είναι δυνατή η συγκέντρωση, η μετατροπή και η λήψη πληροφοριών χρήσιμων για επιχειρηματικούς σκοπούς. Επίσης, είναι δυνατή η ενσωμάτωση των στοιχείων αυτών σε άλλες κοινές πλατφόρμες Επιχειρησιακής Νοημοσύνης όπως το SAP ή οι Microsoft Analysis Services. Η διαδικασία συλλογής και ανάλυσης πληροφοριών σχετικών με τα προϊόντα, τους πελάτες και τους ανταγωνιστές με στόχο να βοηθηθούν τα στελέχη μιας εταιρίας σε διαδικασίες λήψης αποφάσεων, ονομάζεται κοινώς Ανταγωνιστική Νοημοσύνη (Competitive Intelligence) και είναι στενά συνδεδεμένη με την εξόρυξη δεδομένων (data mining). Ο Zanasi ήταν ο πρώτος που εισήγαγε την δυνατότητα απόκτησης των δεδομένων αυτών μέσω διαδικασιών εξόρυξης δεδομένων σε πληροφορίες δημόσιου τομέα. Ο Chen et al. ανέπτυξε μια πλατφόρμα χρήσιμη για την υποστήριξη της Ανταγωνιστικής Κατασκοπίας. Στα σενάρια Επιχειρησιακής Νοημοσύνης ζητείται από τις τεχνικές WDE η ικανοποίηση δύο βασικών προϋποθέσεων, της επεκτασιμότητας και του αποτελεσματικού σχεδιασμού στρατηγικών. Κι αυτό διότι πρέπει να εξαχθούν το δυνατόν περισσότερα δεδομένα με τη μικρότερη δυνατή ποσότητα πόρων σε χρόνο και χώρο. Ενσωμάτωση διαδικασιών Ιστού και διαχείριση καναλιών Στον σημερινό Ιστό τα δεδομένα διατίθενται συχνά μέσω των APIs. Παρόλα αυτά, η μεγαλύτερη ποσότητα δεδομένων είναι διαθέσιμη κατά κύριο λόγο σε ημιδομημένες μορφές, όπως η HTML. Για τη χρήση των δεδομένων Ιστού σε επιχειρησιακές εφαρμογές και αρχιτεκτονικές προσανατολισμένες στις υπηρεσίες, είναι απαραίτητη η ύπαρξη μέσων για την αυτόματη μετατροπή εφαρμογών και τοποθεσιών Web σε υπηρεσίες Web. Έτσι επιτρέπεται μια δομημένη και ενιαία πρόσβαση σε ετερογενείς πηγές, συμπεριλαμβανομένου της κατανόησης της λογικής της εφαρμογής Ιστού, της συμπλήρωσης τιμών μιας φόρμας και της απόσπασης των σχετικών στοιχείων. Σε ορισμένους επιχειρηματικούς τομείς, οι εφαρμογές Web είναι κυρίαρχες για την επικοινωνία και τις επιχειρηματικές διαδικασίες μεταξύ των εταίρων. 103

105 Διάφοροι τύποι διεργασιών διεξάγονται επί δικτυακών πυλών (web portals) καλύπτοντας δραστηριότητες όπως η αγορά, η πώληση ή η διαχείριση ποιότητας αλληλεπιδρώντας χειροκίνητα με τοποθεσίες Web. Τυπικά παραδείγματα όπου η WDE έχει αποδειχθεί χρήσιμη περιλαμβάνουν την διαχείριση των καναλιών στην τουριστική βιομηχανία (όπως η αυτοματοποίηση των τακτικών (όπως προσφορών δωματίων σε hotel portals με αμφίδρομες συνδέσεις Ιστού), την επανασυσκευασία πολύπλοκων διαδικτυακών συναλλαγών στις υπηρεσίες Web και κατά συνέπεια σε άλλες συσκευές, καθώς και την αυτοματοποίηση της επικοινωνίας των προμηθευτών της αυτοκινητοβιομηχανίας με τις ανάλογες επιχειρήσεις. Τα εργαλεία παραγωγής wrapper ανοίγουν τον δρόμο για την ενσωμάτωση διαδικασιών Ιστού και ενεργοποιούν τον Ιστό των Υπηρεσιών (Web of Services), δηλαδή την απρόσκοπτη ενσωμάτωση των εφαρμογών Ιστού σε μια εταιρική υποδομή ή σε ένα τοπίο προσανατολισμένο στις υπηρεσίες. Αυτό πραγματοποιείται με τη δημιουργία υπηρεσιών Ιστού από δεδομένους ιστότοπους. Η ενσωμάτωση διαδικασιών Ιστού μπορεί να θεωρηθεί ως front-end και από έξω προς τα μέσα: ενσωματώνονται πηγές συνεργασίας και μη χωρίς την ανάγκη αλλαγής του backend τμήματος του παρόχου πληροφορίας. Πρόσθετες απαιτήσεις σε τέτοια σενάρια περιλαμβάνουν την υποστήριξη ενός μεγάλου αριθμού χρηστών με παραμετροποίηση ερωτημάτων Ιστού σε πραγματικό χρόνο και την υποστήριξη σύνθετων συναλλαγών Ιστού. Λειτουργικός έλεγχος εφαρμογών Ιστού Ο έλεγχος και η διαχείριση ποιότητας είναι βασικά μέρη του κύκλου ζωής του λογισμικού. Πολλαπλές είναι οι πτυχές του ελέγχου, περιλαμβάνοντας λειτουργικούς ελέγχους, ελέγχους πίεσης/φορτίου, ενσωμάτωσης και προδιαγραφών. Συνήθως η στρατηγική είναι η αυτοματοποίηση ενός μεγάλου ποσοστού λειτουργικών δοκιμών και η εκτέλεση ελέγχων όπως δοκιμών παλινδρόμησης. Οι έλεγχοι αυτοί εμφανίζονται σε διάφορα επίπεδα, π.χ. στον έλεγχο της λειτουργικότητας του συστήματος ως blackbox μέσω APIs ή στη δοκιμή του συστήματος σε επίπεδο GUI, προσομοιώνοντας είτε τα βήματα του χρήστη, είτε δημιουργώντας ένα μοντέλο των πιθανών καταστάσεων της εφαρμογής. Στον σημερινό κόσμο των πλατφόρμων Λογισμικού ως Υπηρεσίας (Software as a Service) και αρχιτεκτονικών Ιστού, ο έλεγχος των εφαρμογών παίζει σημαντικό ρόλο. Μία πτυχή είναι η προσομοίωση της διαδρομής του χρήστη μέσω της λογικής της εφαρμογής. Εύρωστα κριτήρια αναγνώρισης μπορεί να δημιουργηθούν με την αξιοποίηση της δενδρικής ή οπτικής δομής της σελίδας. Τυπικές ενέργειες σε τέτοια σενάρια δοκιμών περιλαμβάνουν τον ορισμό/λήψη 104

106 τιμών από πεδία φορμών, την επιλογή ημερομηνιών και σημείων ελέγχου για την σύγκριση τιμών και την ακολούθηση διαφορετικών κλάδων ανάλογα με την συγκεκριμένη σελίδα. Λόγω της αυτοματοποίησης, κάθε βήμα μπορεί να παραμετροποιείται και ένα σενάριο ελέγχου να εκτελείται σε παραλλαγές. Τα απαιτούμενα εργαλεία στην περιοχή ελέγχου εφαρμογών Ιστού σχετίζονται με την AJAX/ δυναμική HTML για τη δημιουργία εύρωστων σεναρίων δοκιμών, την αποτελεσματική συντήρησή τους, την εκτέλεση δοκιμαστικών ακολουθιών και την δημιουργία σημαντικών αναφορών. Σε αντίθεση με άλλες περιοχές εφαρμογών, η υποστήριξη πολλαπλών state of the art προγραμμάτων περιήγησης σε διάφορες εκδόσεις, είναι απόλυτη ανάγκη. Ένα ευρέως χρησιμοποιούμενο εργαλείο ανοιχτού κώδικα για τον έλεγχο εφαρμογών Ιστού είναι το Selenium. Σύγκριση αγορών Μία από τις πιο δημοφιλείς υπηρεσίες στο ηλεκτρονικό εμπόριο είναι η σύγκριση αγορών (comparison shopping), δηλαδή η δυνατότητα σύγκρισης των προϊόντων ή των υπηρεσιών. Διάφοροι τύποι συγκρίσεων επιτρέπονται ξεκινώντας από την απλή σύγκριση τιμών μέχρι τη σύγκριση χαρακτηριστικών, τεχνικών δελτίων, εμπειρίας χρηστών, κλπ. Οι υπηρεσίες αυτές στηρίζονται σε μεγάλο βαθμό στην WDE, χρησιμοποιώντας ιστότοπους ως πηγές εξόρυξης δεδομένων και έναν προσαρμοσμένο εσωτερικό μηχανισμό που καθιστά δυνατή τη σύγκριση παρόμοιων στοιχείων. Πολλά καταστήματα στο διαδίκτυο σήμερα προσφέρουν επίσης εξατομικευμένες φόρμες, δυσκολεύοντας τις εργασίες εξαγωγής. Γι αυτό τον λόγο, πολλά εμπορικά συστήματα WDE (π.χ. Lixto, Kapow Mashup Server, UnitMiner, Bget) παρέχουν υποστήριξη για deep πλοήγηση και σελίδες δυναμικού περιεχομένου. Σενάρια μικτού περιεχομένου Σήμερα, οι κορυφαίοι προμηθευτές λογισμικού παρέχουν πλατφόρμες μικτού περιεχομένου (mashup) όπως το Yahoo! Pipes και το Lotus Mashups, και δημιουργούν mashup πρότυπα επικοινωνίας όπως το EMML. Mashup είναι ένας ιστότοπος ή εφαρμογή Ιστού που συνδυάζει μια σειρά τοποθεσιών Web σε μία ολοκληρωμένη όψη. Συνήθως το περιεχόμενο λαμβάνεται μέσω APIs που ενσωματώνουν RSS ή Atom Feeds με REST (Representational State Transfer) τρόπο. Μέσω της wrapper τεχνολογίας, μπορεί κανείς να μετατρέψει παλαιού τύπου εφαρμογές Ιστού σε ελαφριά APIs όπως το REST που μπορεί να ενσωματωθούν σε mashups με τον ίδιο τρόπο. Οι mashup λύσεις στον Ιστό δεν χρειάζεται πια να βασίζονται σε APIs που προσφέρονται από τους παρόχους 105

107 των ιστότοπων, αλλά μπορούν να επεκτείνουν το πεδίο εφαρμογής σε όλο τον Ιστό. Ειδικότερα το deep Web γίνεται προσβάσιμο ενθυλακώνοντας ερωτήματα σύνθετης μορφής και λογικά βήματα της εφαρμογής στις μεθόδους μιας υπηρεσίας Ιστού. Οι τελικοί χρήστες επιφορτίζονται με τη δημιουργία των δικών τους όψεων του Ιστού και την ενσωμάτωση δεδομένων σε άλλες εφαρμογές ( καταναλωτές ως παραγωγοί ) με προγραμματιστικά ελαφρύ συνήθως τρόπο. Αυτό οδηγεί σε εφαρμογές καταστάσεων, ενδεχομένως αναξιόπιστων και μη ασφαλών εφαρμογών που όμως συμβάλλουν στην άμεση επίλυση ενός επείγοντος προβλήματος. Σε mashup σενάρια, μία σημαντική απαίτηση για τα εργαλεία WDE είναι η ευκολία στη χρήση για τους μη τεχνικούς διαχειριστές περιεχομένου, ώστε να δίνεται η δυνατότητα δημιουργίας νέων συνδέσεων Ιστού χωρίς τη βοήθεια εμπειρογνωμόνων της τεχνολογίας πληροφοριών. Εξόρυξη γνώμης Σε σχέση με τη σύγκριση αγορών, η ανταλλαγή απόψεων αντιπροσωπεύει την εξέλιξή της: οι χρήστες θέλουν να εκφράσουν τις απόψεις τους σχετικά με τα προϊόντα, τις εμπειρίες τους, τις υπηρεσίες που απόλαυσαν, κλπ. Η πιο κοινή μορφή ανταλλαγής γνώμης αντιπροσωπεύεται από τα blogs που περιέχουν άρθρα, σχόλια, παρατηρήσεις, επισημάνσεις, δημοσκοπήσεις, διαγράμματα, κλπ. Όλες αυτές οι πληροφορίες συνήθως στερούνται δομής, οπότε η εξόρυξή τους είναι μεγάλο πρόβλημα, ακόμη και για τα σημερινά συστήματα, λόγω των δισεκατομμυρίων πηγών Ιστού που είναι αυτή τη στιγμή διαθέσιμες. Μερικές φορές εργαλεία με βάση το μοντέλο ταιριάζουν καλά, εκμεταλλευόμενα κοινά πρότυπα (π.χ. Wordpress, Blogger, κλπ.). Άλλες φορές οι τεχνικές Επεξεργασίας Φυσικής Γλώσσας ταιριάζουν καλύτερα. Ο Kushal et al. προσέγγισαν το πρόβλημα της εξαγωγής γνώμης και της επακόλουθης σημασιολογικής κατάταξης των κριτικών για προϊόντα. Μια άλλη μορφή ανταλλαγής γνώμης σε ημιδομημένες πλατφόρμες αντιπροσωπεύεται από δικτυακές πύλες που επιτρέπουν στους χρήστες να γράφουν μη εποπτευόμενες απόψεις για διάφορα θέματα. Βάσεις δεδομένων παραπομπών Η κατασκευή βάσεων δεδομένων παραπομπών είναι ένα εντατικό πεδίο εφαρμογής της WDE: Τα CiteSeer, Google Scholar και DBLP είναι, μεταξύ άλλων, λαμπρά παραδείγματα εφαρμογής της εξαγωγής δεδομένων Ιστού, για την προσέγγιση και επίλυση του προβλήματος συλλογής ψηφιακών εκδόσεων, εξαγωγής των σχετικών στοιχείων (παραπομπών/αναφορών), και κατασκευής 106

108 δομημένων βάσεων δεδομένων, όπου οι χρήστες μπορούν να πραγματοποιούν αναζητήσεις, συγκρίσεις, καταμέτρηση αναφορών, διασταυρούμενες παραπομπές, κλπ. Πολλές είναι οι προκλήσεις που σχετίζονται με αυτό το πλαίσιο εφαρμογής: για παράδειγμα, το σώμα των επιστημονικών δημοσιεύσεων μπορεί να μεταβάλλεται ραγδαία με την πάροδο του χρόνου, οπότε η διατήρηση ενημερωμένης βάσης δεδομένων να απαιτεί την επανειλημμένη εφαρμογή της διαδικασίας WDE από την αρχή στις ίδιες πηγές Ιστού. Μια τέτοια λειτουργία ωστόσο μπορεί να είναι υπερβολικά χρονοβόρα. Μια προσπάθεια για την αντιμετώπιση αυτής της πρόκλησης έχει γίνει από τους Chen, Doan, Yang και Ramakrishnan το 2008: πρότειναν μια σταδιακή λύση που απαιτεί τον εντοπισμό τμημάτων πληροφορίας που μοιράζονται διαδοχικά στιγμιότυπα και την επαναχρησιμοποίηση της, εξαγόμενης από ένα στιγμιότυπο, πληροφορίας στο επόμενο. Προσβασιμότητα στον Ιστό Οι τεχνικές για την αυτόματη εξαγωγή δεδομένων και την κατανόηση εγγράφων είναι εξαιρετικά χρήσιμες για να κάνουν τις ιστοσελίδες πιο προσιτές στους τυφλούς και τους χρήστες με μερική απώλεια όρασης. Οι σημερινές προσεγγίσεις λύσεων είναι αναποτελεσματικές για να ξεπεραστεί το πρόβλημα. Η πρώτη προσέγγιση χρήσης αναγνώστη οθόνης είναι βελτιστοποιημένη για εγγενείς διεπαφές χρήστη και δεν είναι κατάλληλα εξοπλισμένη για να αντιμετωπίσει την παρουσία, το περιεχόμενο και τις αλληλεπιδράσεις στο Web 2.0 (π.χ. την κατανόηση της σειράς ανάγνωσης, την ενημέρωση του χρήστη για την έννοια ενός επιλογέα ημερομηνίας ή την μετάβαση από το ένα μήνυμα forum στο επόμενο). Η δεύτερη προσέγγιση, η Πρωτοβουλία για την Προσβασιμότητα στον Ιστό, είναι αναμφίβολα απόλυτα απαραίτητη και έχει καθορίσει σημαντικές έννοιες όπως η ένταξη ARIA ρόλων σε GUI στοιχεία. Ωστόσο, λόγω των πρόσθετων επενδύσεων στην καλύτερη των περιπτώσεων, οι εν λόγω κατευθυντήριες γραμμές εφαρμόζονται σε κυβερνητικούς ιστοχώρους. Προσεγγίσεις όπως η ABBA ξεπέρασαν αυτούς τους περιορισμούς. Σε αυτήν μια ιστοσελίδα έχει μετασχηματιστεί σε ένα τυπικό πολυαξονικό σημασιολογικό μοντέλο. Οι διαφορετικοί άξονες προσφέρουν μέσα αιτιολόγησης και συνέχειας του εγγράφου μέσω ιδιοτήτων τοπολογίας, διάταξης, λειτουργικών, περιεχομένου, είδους και σημαντικότητας. Ένα τυφλό άτομο μπορεί να περιηγείται κατά μήκος και να μεταβαίνει μεταξύ των αξόνων στα σχετικά τμήματα μιας σελίδας. Για παράδειγμα, ο άξονας παρουσίασης περιέχει 107

109 μετασχηματισμένα οπτικά ερεθίσματα, επιτρέποντας στον χρήστη να παραθέσει πληροφορίες με σειρά οπτικής σημαντικότητας. Εξαγωγή κυρίως περιεχομένου Οι τυπικές ιστοσελίδες, π.χ. άρθρα ειδήσεων περιέχουν, επιπλέον του κυρίως περιεχομένου, μενού πλοήγησης, διαφημίσεις και πρότυπα. Σε ορισμένες περιπτώσεις, όπως κατά την αρχειοθέτηση μιας ιστοσελίδας με άρθρα ειδήσεων για μετέπειτα ανάγνωση εκτός σύνδεσης, είναι βολικό να απαλλαγούμε από τέτοια άσχετα τμήματα. Για την εξαγωγή μόνο του βασικού περιεχομένου, πρέπει κανείς να εφαρμόσει τεχνικές διάκρισης του σχετικού περιεχομένου από το άσχετο. Οι προσεγγίσεις κυμαίνονται από τη σύνθετη οπτική ανάλυση της ιστοσελίδας μέχρι την ανάλυση της πυκνότητας κειμένου ή την σύνδεση της ανάλυσης πυκνότητας. Μια προσέγγιση για την ανίχνευση στερεοτύπων χρησιμοποιώντας ρηχά χαρακτηριστικά κειμένου εισήχθη από τους Kohlschütter, Fankhauser και Nejdl το Επιπλέον, εργαλεία/εφαρμογές όπως το InstaPaper ή η βιβλιοθήκη Readability, χρησιμοποιούν την εξαγωγή του κυρίως περιεχομένου για την αποθήκευση του σχετικού τμήματος και κειμένου από μία ιστοσελίδα που μοιάζει με το άρθρο για να διαβαστεί αργότερα. Αρχειοθέτηση Web εμπειρίας Η ψηφιακή διατήρηση και επιμέλεια των δεδομένων Ιστού είναι οι στόχοι της έννοιας της Αρχειοθέτησης Ιστού (Web Archiving). Από τη μία πλευρά αυτό σημαίνει την πρόσβαση σε πληροφορίες που δεν είναι πλέον διαθέσιμες στο live Web. Από την άλλη, αντικατοπτρίζεται η χρήση του Ιστού σε παλιότερες εποχές. Γεγονότα όπως τα ipres και IWAW, κοινοπραξίες όπως η Netpreserve καθώς και διάφορες τοπικές πρωτοβουλίες αρχειοθέτησης Ιστού αντιμετώπισαν αυτό το έργο. Υπάρχουν πολλές προκλήσεις λόγω της εφήμερης φύσης των ιστοσελίδων και απρόβλεπτων προσθηκών, διαγραφών και τροποποιήσεων. Επιπλέον, το κρυφό (σ.σ.: deep) Web αποτελεί μία ακόμη πρόκληση. Πολλαπλές είναι οι προσεγγίσεις στην Web αρχειοθέτηση και κυμαίνονται από την Ανίχνευση/Ιστοσυγκομιδή, την αρχειοθέτηση στην πλευρά του server, την αρχειοθέτηση με βάση τις συναλλαγές, την αρχειοθέτηση του περιεχομένου των βάσεων δεδομένων Ιστού έως προσεγγίσεις που μοιάζουν με βιβλιοθήκες υποστηρίζοντας μόνιμα αναγνωριστικά, π.χ. Αναγνωριστικά Ψηφιακών Αντικειμένων (DOI-Digital Object Identifier). Ειδικά στην περίπτωση χρήσης για την αρχειοθέτηση του περιεχομένου μιας Web βάσης δεδομένων, αξιοποιούνται τεχνικές WDE. 108

110 Μια άλλη δυνατότητα αρχειοθέτησης του Ιστού είναι να αρχειοθετηθεί ο τρόπος κατανάλωσης των ιστοσελίδων. Αυτό μπορεί να θεωρηθεί ως ένα είδος αρχειοθέτησης με βάση την εκδήλωση που έχει νόημα ειδικά για εμπλουτισμένες εφαρμογές Ιστού. Η ιδέα δεν είναι η ολική αλλά η επιλεκτική αρχειοθέτηση δειγμάτων μονοπατιών μέσω μιας εφαρμογής. Αυτό απαιτεί την επιλογή ιστοτόπων ως δείγματα, την κατανόηση των κοινών και συχνών μονοπατιών μέσω μιας εφαρμογής και την καταχώρηση της ακολουθίας αλληλεπίδρασης. Σε μια προσέγγιση τύπου μουσείου, τέτοιες επιλεγμένες αλληλουχίες αποθηκεύονται και μπορούν να αποκατασταθούν ή να αναπαραχθούν ώστε να παρέχουν στον χρήστη την εμπειρία του πως καταναλώθηκε ο Ιστός. Οι βασικές τεχνολογίες εδώ είναι η τεχνικές πλοήγησης στο deep Web και κατανόησης φόρμας Εφαρμογές Κοινωνικού Ιστού Τα τελευταία χρόνια οι Social Web πλατφόρμες έχουν αναδειχτεί ως ένα από τα σημαντικότερα φαινόμενα στον Ιστό. Είναι χτισμένες γύρω από τους χρήστες επιτρέποντάς τους να δημιουργήσουν έναν ιστό συνδέσεων μεταξύ ανθρώπων, για να μοιράζονται σκέψεις απόψεις, φωτογραφίες, ταξιδιωτικές συμβουλές, κλπ. Σε ένα τέτοιο σενάριο, συχνά καλούμενο Web 2.0, οι χρήστες μετατρέπονται από παθητικοί καταναλωτές του περιεχομένου σε ενεργούς παραγωγούς. Οι πλατφόρμες Social Web παρέχουν καινοτόμες και πρωτοφανείς ευκαιρίες έρευνας. Η ανάλυση σε μεγάλη κλίμακα των προτύπων αλληλεπιδράσεων των χρηστών, παρέχει την δυνατότητα απάντησης σε μια σειρά ερωτημάτων όπως: πως οι ανθρώπινες σχέσεις (π.χ. οι φιλικές) δημιουργούνται και εξελίσσονται με την πάροδο του χρόνου, πως οι νέες ιδέες εξαπλώνονται και διαδίδονται μέσω του ιστού των ανθρώπινων επαφών, πως η ανθρώπινη γλώσσα εξελίσσεται μέσα από τις κοινωνικές αλληλεπιδράσεις (π.χ. πως το άτομο επεκτείνει το λεξιλόγιο του με βάση τις αλληλεπιδράσεις του με άλλα άτομα). Εκτός των επιστημονικών ερωτημάτων, η ανάλυση των προτύπων των ανθρώπινων αλληλεπιδράσεων σε πλατφόρμες Κοινωνικού Ιστού έχει σημαντική επίπτωση και στο επίπεδο των επιχειρήσεων: όντας σε θέση να κατανοήσουμε τη δυναμική των αλληλεπιδράσεων μεταξύ των ανθρώπων, είμαστε επίσης σε θέση να προσδιορίσουμε πως ομάδες χρηστών συγκεντρώνονται γύρω από κοινά ενδιαφέρονται. Αυτό είναι αρκετά σημαντικό για σκοπούς marketing: με το που οι χρήστες ομαδοποιηθούν μπορούμε να διαδώσουμε επιλεκτικά εμπορικές διαφημίσεις μόνο σε εκείνες τις ομάδες χρηστών που πραγματικά ενδιαφέρονται για την παραλαβή τους. Με ανάλογο 109

111 τρόπο, η υφή των κοινωνικών αλληλεπιδράσεων μπορεί να χρησιμοποιηθεί για τον εντοπισμό σημαινόντων χρηστών, δηλαδή χρηστών που οι εμπορικές τους συμπεριφορές είναι ικανές να διεγείρουν την έγκριση/απόρριψη ενός συγκεκριμένου προϊόντος από μεγάλες μάζες χρηστών. Τέλος οι χρήστες του Κοινωνικού Ιστού συχνά δημιουργούν λογαριασμούς και/ή προφίλ σε πολλαπλές πλατφόρμες. Η συσχέτιση αυτών των λογαριασμών και προφίλ, είναι ένα βασικό βήμα για την κατανόηση του τρόπου επίδρασης των σχεδιαστικών χαρακτηριστικών και της αρχιτεκτονικής μιας πλατφόρμας Social Web, στην συμπεριφορά του χρήστη. Έτσι για παράδειγμα, μπορεί κανείς να πληροφορηθεί για το αν κάποιες από τις παρεχόμενες λειτουργίες μιας συγκεκριμένης πλατφόρμας αυξάνουν την ικανότητα των χρηστών να επικοινωνούν ή επιδρούν στον όγκο του περιεχομένου που παράγεται από έναν χρήστη. Μόλις αποσαφηνιστεί η σχέση μεταξύ των χαρακτηριστικών μιας δεδομένης πλατφόρμας και της συμπεριφοράς ενός χρήστη, οι σχεδιαστές/διαχειριστές της πρώτης μπορούν να παρέχουν νέες υπηρεσίες για να αυξήσουν το επίπεδο εμπλοκής του χρήστη σε αυτήν ή τον βαθμό αφοσίωσης (π.χ. για την αποφυγή να καταστούν οι χρήστες ανενεργοί στην πλατφόρμα και να μεταναστεύσουν σε άλλες). Στο παραπάνω πλαίσιο, οι τεχνικές εξαγωγής δεδομένων Ιστού διαδραματίζουν καθοριστικό ρόλο, αφού η δυνατότητα έγκαιρης συγκέντρωσης μεγάλων ποσοτήτων δεδομένων από μία ή περισσότερες πλατφόρμες Κοινωνικού Ιστού είναι ένα βασικό εργαλείο για την ανάλυση των ανθρώπινων δραστηριοτήτων. Οι παραδοσιακές τεχνικές WDE έχουν αμφισβητηθεί από νέα και δύσκολα προβλήματα τόσο σε τεχνικό όσο και σε επιστημονικό επίπεδο. Πρώτα από όλα, οι πλατφόρμες Social Web διαθέτουν υψηλό επίπεδο δυναμισμού και μεταβλητότητας, αφού ο ιστός των επαφών ενός χρήστη ή μιας ομάδας χρηστών μπορεί να ποικίλει σημαντικά σε μικρές χρονικές περιόδους. Ως εκ τούτου, πρέπει να σχεδιαστούν αλγόριθμοι/διαδικασίες WDE ικανοί/ές να συγκεντρώνουν γρήγορα μεγάλες ποσότητες δεδομένων, ώστε τα τμήματα δεδομένων που συλλέγονται να συμβαδίζουν με τις δομικές αλλαγές του κοινωνικού δικτύου του χρήστη. Εάν η απαίτηση αυτή δεν ικανοποιείται, η εικόνα που προκύπτει από την ανάλυση που μπορούμε να κάνουμε βάση των διαθέσιμων στοιχείων θα μπορούσε να είναι λάθος, αποτυγχάνοντας να συλλάβει τη δομή και την εξέλιξη των ανθρώπινων αλληλεπιδράσεων στην πλατφόρμα. Μια δεύτερη πρόκληση σχετίζεται με το γεγονός ότι οι αλγόριθμοι WDE είναι σε θέση να συλλάβουν μόνο ένα τμήμα των δεδομένων που παράγονται σε μία ή περισσότερες πλατφόρμες. Συνεπώς είμαστε υποχρεωμένοι να ελέγξουμε, ότι τα χαρακτηριστικά ενός δείγματος δεδομένων που παράγονται ως έξοδος ενός WDE αλγορίθμου, αναπαράγουν αρκετά καλά την δομή των αρχικών δεδομένων στο πλαίσιο της/των πλατφόρμας/ων. Τέλος, 110

112 δεδομένου ότι τα προς συγκέντρωση δεδομένα σχετίζονται με ανθρώπους ή αντανακλούν ανθρώπινες δραστηριότητες, οι τεχνικές εξαγωγής δεδομένων καλούνται να παράσχουν αξιόπιστες εγγυήσεις ότι η ιδιωτικότητα των χρηστών δεν παραβιάζεται. Εξαγωγή δεδομένων από μία ενιαία πλατφόρμα Social Web Μπορούμε να ταξινομήσουμε τις τεχνικές συλλογής δεδομένων από μια πλατφόρμα Κοινωνικού Ιστού σε δύο κύριες κατηγορίες. Η πρώτη βασίζεται στη χρήση αυτόνομων (ad-hoc) APIs, συνήθως παρεχόμενων από την ίδια την πλατφόρμα. Η δεύτερη βασίζεται στο HTML scrapping. Όσον αφορά την πρώτη κατηγορία προσεγγίσεων υπενθυμίζουμε ότι οι σημερινές πλατφόρμες Social Web παρέχουν ισχυρά APIs (συχνά διαθέσιμα σε πολλές γλώσσες προγραμματισμού) που επιτρέπουν την ανάκτηση ενός μεγάλου φάσματος πληροφορίας από την πλατφόρμα εύκολα και γρήγορα. Ειδικότερα, αυτή η πληροφορία αφορά όχι μόνο τις κοινωνικές συνδέσεις που εμπλέκουν τα μέλη των πλατφόρμων αλλά και το περιεχόμενο που δημοσίευσαν οι χρήστες και, για παράδειγμα, τις ετικέτες που τοποθετήθηκαν για την επισήμανση του διαθέσιμου περιεχομένου. Μπορούμε να αναφέρουμε την προσέγγιση των Kwak, Lee, Park και Moon ως σχετικό παράδειγμα συλλογής δεδομένων από μια πλατφόρμα Κοινωνικού Ιστού μέσω ενός API. Οι ερευνητές παρουσίασαν το 2010 τα αποτελέσματα ανίχνευσης ολόκληρης της πλατφόρμας του Twitter. Το σύνολο των δεδομένων αποτελούνταν από 41,7 εκατομμύρια προφίλ χρηστών και 1,47 δισεκατομμύρια κοινωνικές σχέσεις. Εκτός από την συλλογή πληροφοριών σχετικά με τις σχέσεις των χρηστών, συγκεντρώθηκαν επίσης πληροφορίες σχετικές με tweets και, πραγματοποιώντας μια σημασιολογική ανάλυση, με τα κύρια θέματα συζήτησης σε αυτά. Το τελικό σύνολο δεδομένων περιείχε τάσεις θεμάτων και 106 εκατομμύρια tweets. Από τεχνικής άποψης παρατηρούνται τα εξής: 1. Το Twitter API επιτρέπει την πρόσβαση ολόκληρο το κοινωνικό γράφημα (σ.σ.: το γράφημα που εκπροσωπεί τους χρήστες και τις συνδέσεις τους στο Twitter) χωρίς έλεγχο ταυτότητας. Άλλες πλατφόρμες Κοινωνικού Ιστού και τα προσφερόμενα APIs τους (π.χ. Facebook API) δεν επιτρέπουν γενικά την πρόσβαση στο σύνολο του κοινωνικού γραφήματος. 2. Το Twitter API, από προεπιλογή, επιτρέπει σε ανθρώπινους χρήστες ή πράκτορες λογισμικού να στέλνουν μόνο 150 αιτήσεις ανά ώρα. Αυτός θα 111

113 μπορούσε να είναι ένας απαράδεκτος περιορισμός επειδή το ποσό των πληροφοριών που παράγονται εντός του Twitter σε μια σχετικά μικρή χρονοθυρίδα μπορεί να είναι αρκετά μεγάλο οπότε οι αλλαγές στην τοπολογία δικτύου του Twitter να μην ανιχνεύονται σωστά. Για να ξεπεραστεί αυτό το πρόβλημα το Twitter προσφέρει τις white lists. Όσοι είναι εγγεγραμμένοι σε αυτές μπορούν να στέλνουν μέχρι και αιτήσεις ανά IP άνά ώρα. Οι ερευνητές που αναφέρθηκαν νωρίτερα χρησιμοποίησαν μια ομάδα 20 υπολογιστών, καθένας από τους οποίους άνηκε στις white lists του Twitter, για την παρακολούθηση του τελευταίου σε πραγματικό χρόνο. Όσον αφορά τις προσεγγίσεις που βασίζονται στο HTML scraping, αν και είναι πιο περίπλοκες στον σχεδιασμό και την υλοποίηση, μπορούν να ξεπεράσουν τους προηγούμενους περιορισμούς. Μία από τις πρώτες προσπάθειες ανίχνευσης μεγάλων Κοινωνικών Δικτύων έγινε από τον Mislove et al. με επικέντρωση σε πλατφόρμες όπως το Orkut, το Flickr και το LiveJournal. Για την εκτέλεση της ανίχνευσης προτάθηκε η επαναληπτική ανάκτηση της λίστας των φίλων ενός χρήστη που δεν έχουν ακόμα επισκεφθεί και η προσθήκη αυτών των επαφών στη λίστα χρηστών προς επίσκεψη. Με όρους της θεωρίας γραφημάτων, αυτό αντιστοιχεί στην εκτέλεση μιας BFS (Breadth-First-Search) επίσκεψης του γραφήματος του Κοινωνικού Δικτύου. Ο λογαριασμός του χρήστη από τον οποίο ξεκινά η BFS συχνά αποκαλείται κόμβος διαμοιρασμού. Η BFS τελειώνει όταν έχει επισκεφθεί το σύνολο του γραφήματος ή ικανοποιηθεί ένα κριτήριο τερματισμού. Η BFS είναι εύκολη στην υλοποίηση και αποδοτική, παράγοντας ακριβή αποτελέσματα όταν εφαρμόζεται σε κοινωνικά γραφήματα. Τα τελευταία μοντελοποιούνται ως μη σταθμισμένα γραφήματα. Για τους παραπάνω λόγους έχει εφαρμοστεί σε μεγάλο αριθμό μελετών σχετικών με την τοπολογία και τη δομή των Κοινωνικών Δικτύων. Όπως παρατηρήθηκε από τον Mislove et al. η BFS μπορεί να επιφέρει σημαντικούς περιορισμούς. Πρώτα από όλα ένας ανιχνευτής μπορεί να παγιδευτεί σε ένα ισχυρά συνδεδεμένο στοιχείο ενός κοινωνικού γραφήματος. Επιπλέον, χρησιμοποιώντας το BFS δείγμα για την εκτίμηση κάποιων δομικών ιδιοτήτων του γραφήματος του Κοινωνικού Δικτύου, κάποιες ιδιότητες θα μπορούσαν να υπερεκτιμηθούν ενώ κάποιες άλλες να υποτιμηθούν. Για την αντιμετώπιση αυτών των προβλημάτων αρκετοί συγγραφείς πρότειναν πιο εκλεπτυσμένες τεχνικές δειγματοληψίας. Η εφαρμογή αυτών των τεχνικών ισοδυναμεί με τον ορισμό νέων διαδικασιών WDE. Η πλειοψηφία των τεχνικών αυτών αξιοποιήθηκε στο πλαίσιο του Facebook, αλλά δυστυχώς κάποιες δεν μπόρεσαν να επεκταθούν σε άλλες πλατφόρμες. Αναλυτικότερα, ο Gjoka et al. εξέτασαν διαφορετικούς αλγορίθμους επίσκεψης όπως τους BFS, Random Walks και Metropolis-Hastings Random Walks. 112

114 Ιδιαίτερη μνεία αξίζει να γίνει σε μια μέθοδο επίσκεψης με την ονομασία δειγματοληψία απόρριψης (rejection sampling). Η τεχνική αυτή βασίζεται στο γεγονός ότι ένα πραγματικά ομοιόμορφο δείγμα χρηστών του Facebook επιτυγχάνεται με την ομοιόμορφη δημιουργία ενός τυχαίου 32bit-ου αναγνωριστικού χρήστη και ακολούθως ερευνώντας την ύπαρξή του μέσω polling. Η ορθότητα αυτής της διαδικασίας προκύπτει από το γεγονός ότι κάθε χρήστης του Facebook προσδιορίζεται μοναδικά από ένα αριθμητικό αναγνωριστικό που κυμαίνεται μεταξύ του 0 και του Είναι προφανές ότι μια τέτοια λύση δεν θα ήταν δυνατό να λειτουργήσει σε άλλες πλατφόρμες. Οι Catanese, De Meo, Ferrara, Fiumara και Provetti κατά το σχεδίασαν μια αρχιτεκτονική εξαγωγής δεδομένων Ιστού βασιζόμενη σε Ευφυείς Πράκτορες Λογισμικού. Η αρχιτεκτονική αυτή αποτελούνταν από τρεις βασικές συνιστώσες: 1. Έναν