Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεCalantha Carras Τροποποιήθηκε πριν 10 χρόνια
1
L OCATING M OVING O BJECTS U SING T WO -T IER S CHEME ANAΦΟΡΑ ΤΟΥ PROJECT Βόγκλης Κωνσταντίνος
2
Locating moving objects using two-tier schemes Η έννοια του Mobile Computing Χρήστες που μετακινούνται σε διαφορετικές τοποθεσίες Κινητή τηλεφωνία Εφαρμογές mobile IP (ασύρματες ζεύξεις) Λογισμικό και δεδομένα που μετακινούνται σε δίκτυα Ubiquitus computing, το περιβάλλον των χρηστών μεταφέρεται από μια τοποθεσία σε μια άλλη Eνεργή μεταφορά web σελίδων Kινητοί πράκτορες που «περιφέρονται» στο δίκτυο σε αναζήτηση πληροφορίας Mετακινούμενος κώδικας Java αποτελεί τη βάση πολλών εφαρμογών στο Web
3
Locating moving objects using two-tier schemes Ανάγκες των Mobile Object Κινούμενο αντικείμενο : Κάθε αντικείμενο (λογισμικό, υλικό ή συνδυασμός) που είναι ικανό να αλλάζει θέσεις Ορισμός του προβλήματος: Δεσμός Μόνιμου Ονόματος - Τρέχουσας Διεύθυνσης του αντικειμένου Παρούσα κατάσταση: Τα υπάρχοντα συστήματα ονομασίας (Internet’s Domain Name Server (DNS), DEC’s Global Name Device (GNS), X.500 Directory Service), δεν είναι ικανά να χειριστούν κινούμενα αντικείμενα. Απαίτηση: Ένα σύστημα location management που θα επιτρέπει στο δεσμό ονόματος- διεύθυνσης να αλλάζει συχνά
4
Locating moving objects using two-tier schemes Χειρισμός Θέσης (Location Management) Δύο βασικές λειτουργίες : Αναζήτηση (lookup) Ενημέρωση (update) Oι τεχνικές αποθήκευσης πληροφορίας θέσης: Ακριβής πληροφορία για κάθε κινούμενο αντικείμενο υπάρχει σε σε κάθε θέση του δικτύου (κόστος αλλαγών, σπατάλη χώρου, γρήγορη αναζήτηση) Καμία πληροφορία δεν αποθηκεύεται στο δίκτυο(πολύ αργή αναζήτηση)
5
Locating moving objects using two-tier schemes Αρχιτεκτονικές Για Location Management Οι βασικές αρχιτεκτονικές που χρησιμοποιούνται σήμερα για βάσεις δεδομένων θέσεων (Location Databases) είναι : Σχήμα δυο βημάτων (two-tier schemes) Ιεραρχικό σχήμα (δενδρική ιεραρχία) Ιεραρχικό σχήμα (μη δεντρική ιεραρχία, ταίριασμα περιοχών) Κεντρικοποιημένα συστήματα διαχείρισης Βάσεων Δεδομένων
6
Locating moving objects using two-tier schemes Σχήμα Δυο Βημάτων (Two-Tier) Τοπική Βάση Δεδομένων (Home Location Register - HLR ένας για κάθε ζώνη) Σχετίζεται με κάθε κινούμενο αντικείμενο Προκαθορισμένος για κάθε κινούμενο αντικείμενο Περιέχει την τρέχουσα τοποθεσία του κινούμενου αντικειμένου Όταν το αντικείμενο μετακινηθεί, ενημερώνει τον HLR για την νέα του τοποθεσία Χρησιμοποιείται σε κινητή τηλεφωνία (Αμερικάνικο IS-41, Ευρωπαϊκό GSM ) και mobile IP
7
Locating moving objects using two-tier schemes Σχήμα Δυο Βημάτων (Two-Tier) Επέκταση - Βελτίωση του HLR (Visitors Location Registers - VLRs) Σχετίζεται με κάθε αντικείμενο που δεν ανήκει στην συγκεκριμένη ζώνη Περιέχει την τρέχουσα τοποθεσία του αντικειμένου Ένα αντικείμενο, εξετάζεται πρώτα αν βρίσκεται στον τοπική VLR και μετά η κλήση πηγαίνει στον HLR. Όταν το αντικείμενο μετακινηθεί διαγράφεται η εγγραφή του στον αρχικό VLR και δημιουργείται μία νέα εγγραφή στον τελικό VLR.
8
Locating moving objects using two-tier schemes Σχήμα Δυο Βημάτων (Two-Tier) HLR VLR Δίκτυο
9
Εντοπισμός Κινούμενων Αντικειμένων Σχήμα Δυο Βημάτων - Συμπεράσματα Σύμφωνα με τα παραπάνω καταλήγουμε στα εξής : + Εύκολο στην υλοποίηση - Αντικείμενα με μεγάλο χρόνο παραμονής σε κάποια απομακρυσμένη ζώνη παραμένουν «δεμένα» με τον HLR. - Σε κατανεμημένα συστήματα για να επικοινωνήσεις με ένα αντικείμενο, πρέπει αναγκαστικά να ρωτήσεις τον HLR ακόμα και αν το αντικείμενο που ζητάς είναι σχετικά κοντά σου - Μια μετακίνηση σε κοντινή τοποθεσία από τον HLR του αντικειμένου πρέπει να καταχωρηθεί σε αυτόν σαν αλλαγή θέσης
10
Locating moving objects using two-tier schemes Σχήμα Δυο Βημάτων (GSM)
11
Locating moving objects using two-tier schemes Περιγραφή του Voyager Οικογένεια προϊόντων (Java classes) για υλοποίηση κατανεμημένων συστημάτων Παγκοσμιότητα Επικοινωνίες Υπηρεσία μηνυμάτων Υπηρεσία ονομάτων Υπηρεσία καταλόγου Ευκολία ανάπτυξης εφαρμογών Ευελιξία στην αρχιτεκτονική
12
Locating moving objects using two-tier schemes Περιγραφή του Voyager
13
Locating moving objects using two-tier schemes Περιγραφή του Voyager
14
Locating moving objects using two-tier schemes Περιγραφή του Voyager
15
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Ένα πρόγραμμα σε Voyager μπορεί να λειτουργήσει σαν server (να δέχεται συνδέσεις) ή απλώς σαν client (δεν δέχεται συνδέσεις): Χρησιμοποιώντας το Java API Voyager.startup(String url) Voyager.startup() url = protocol://host:port Χρησιμοποιώντας γραμμή εντολών voyager 8000 voyager Μπορούμε να φορτώσουμε κλάσεις χρησιμοποιώντας την VM του Voyager: Από κατάλογο που δεν βρίσκεται στο CLASSPATH Από κάποιον απομακρυσμένο WEB server Από κάποιο ΗΤΤP-enabled Voyager server ( voyager -c http://host:8000 )
16
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Βασική έννοια του Interface: Ένα απομακρυσμένο αντικείμενο αντιπροσωπεύεται από ένα proxy αντικείμενο, που υλοποιεί το ίδιο interface public interface IStockmarket { int quote( String symbol ); int buy( int shares, String symbol ); int sell( int shares, String symbol ); void news( String announcement ); } H αναφορά σε μια μέθοδο ενός απομακρυσμένου αντικείμενου είναι ακριβώς ίδια με την τοπική κλήση της μεθόδου. IStockmarket market1 = (IStockmarket) Factory.create("Stockmarket" ); Istockmarket market2 = new Stockmarket(); IStockmarket market3 = (IStockmarket) Factory.create("Stockmarket", "//pontus:8000" ); Η μέθοδος Factory.create(), επιστρέφει αυτό το proxy αντικείμενο, είτε το απομακρυσμένο αντικείμενο είναι στην ίδια VM, είτε σε άλλη
17
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Η υπηρεσία καταλόγου του Voyager, επιτρέπει στον χρήστη να εγγράψει ένα αντικείμενο σε μια ιεραρχική (και όχι μόνο) δομή καταλόγου : Directory symbols = new Directory(); Ένας persistent κατάλογος, είναι μια ειδική μορφή του καταλόγου που αποθηκεύει τα περιεχόμενα του σε ένα αρχείο στο τοπικό σύστημα αρχείων: PersistentDirectory symbols = new PersistentDirectory( "symbols.db" ); Μέθοδοι που υποστηρίζονται : put(String key, Object value) get(String key) remove(String key): getValues(): getKeys(): clear():
18
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Τρία είδη μηνυμάτων : Συγχρονισμένα: Ο αποστολέας περιμένει απάντηση, Result res= Sync.invoke(object, “method”, new Object [] {args}) Από το res μπορώ να πάρω τιμή ή εξαίρεση: int x = res.readInt(); One-way: Ο αποστολέας δεν περιμένει κανένα αποτέλεσμα OneWay.invoke(object, “method”, new Object [] {args}) Μελλοντικά: O αποστολέας δεν περιμένει το αποτέλεσμα, συνεχίζει την επεξεργασία και μόλις η απάντηση φτάσει δημιουργείται ένα event και ο αποστολέας παίρνει την απάντησή του Result res = Future.invoke(object, “method”, new Object []{args}) Είναι δυνατό να καθορίσουμε και το timeout Result res = Future.invoke(object, “method”, new Object [] {args}, false, millisecs, null)
19
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Κινητικότητα Είναι απαραίτητη για να φέρνει πιο κοντά τα μέλη που επικοινωνούν (αύξηση throughput, μείωση της κίνησης στο δίκτυο) Για να μετακινήσουμε ένα αντικείμενο πρέπει πρώτα να καλέσουμε τη Mobility.of(Object) Το αντικείμενο μετακινείται σε άλλο URL με την μέθοδο moveTo(String url). IStockMarket market = (IStockMarket) Factory.create( "StockMarket", "//pontus:8000" ); market.news( "at first location" ); IMobility mobility = Mobility.of( market ); mobility.moveTo( "//euryalus:9000" ); market.news( "at second location" );
20
Locating moving objects using two-tier schemes Βασικά Χαρακτηριστικά Κινητικότητα Το Voyager παρέχει στα αντικείμενα ειδοποιήσεις ανάλογα σε πιο στάδιο της μετακίνησης βρίσκονται preDeparture(String source, String destination) preArrival() postArrival() postDeparture() Agents, πρέπει να καλέσουμε την μέθοδο Agent.of() moveTo(String url, String callback [,Object[] args]) setAutonomous(boolean flag) (δεν σβήνεται από την μνήμη ποτέ) isAutonomous() getHome()
21
Locating moving objects using two-tier schemes Υλοποίηση-Μηχανήματα Ζώνη 1 Ζώνη 2 Ζώνη 3 HLR2 VLR2 HLR1 VLR1 HLR3 VLR3 pontus deucalion halimedes
22
Locating moving objects using two-tier schemes Υλοποίηση-Λογισμικό Υλοποιήθηκαν δυο κλάσεις σε Java, μια για τα κινούμενα αντικείμενα και μια για τα αντικείμενα που αλλάζουν τα HLR/VLR Επίσης υλοποιήθηκε και μια βασική κλάση (public static void main(String [] args)) κινούμενο αντικείμενο public String lookup(String mob){ result = Sync.invoke(VLR, “lookupVLR”, new Object [] {mob)); if (result.readObject()==null) { result = Sync.invoke(mob_HLR, “lookupHLR”, new Object [] {mob}); print(“Found “+ mob +” on HLR”); } else { print(“Found “+ mob +” on VLR”); } return ((String)result.readObject()); }
23
Locating moving objects using two-tier schemes Υλοποίηση-Λογισμικό κινούμενο αντικείμενο public void preDeparture( String source, String destination ) { My_destination = new String(30); System.out.println(" preDeparture( " + source + ", " + destination + " )"); OneWay.invoke(local_VLR, “removeVLR”, new Object[] {My_name}); } public void postArrival() { System.out.println(" postArrival()" ); OneWay.invoke(VLR, “addVLR”, new Object[] {My_name, destination}); OneWay.invoke(HLR, “update”, new Object[] {My_name, destination}); }
24
Locating moving objects using two-tier schemes Υλοποίηση-Λογισμικό αντικείμενο που αλλάζει HLR/VLR
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.