Κινητικότητα και ενημερώσεις σε δίκτυα peer to peer Λεοντιάδης Ηλίας Πανεπιστήμιο Ιωαννίνων Τμήμα πληροφορικής.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
© 2002 Thomson / South-Western Slide 2-1 Κεφάλαιο 2 Διαγράμματα και Γραφήματα Περιγράφικής Στατιστικής.
DTN Routing Schemes. 2 Εφαρμογές Delay Tolerant Networks Η δρομολόγηση στα Delay Tolerant Networks είναι ζωτικής σημασίας. Τα Delay Tolerant Networks.
Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα Παρουσίαση Μεταπτυχιακής Διατριβής: Νικόλαος Κρεμμυδάς Επιβλέπουσα καθηγήτρια:
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Πρόβλεψη αποτελεσμάτων ποδοσφαιρικών αγώνων
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
Global Scale WLAN Roaming : Architecture & Evaluation Ευστράτιος Γ. Δημόπουλος.
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Τεχνολογία Δικτύων Επικοινωνιών
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Peer-to-Peer Systems Ευθυμία Ρόβα Βίκυ Τζιοβάρα Μαρία Χριστοδουλίδου.
Παρουσίαση Έρευνας Κοινής Γνώμης «Ο λόγος στον Πολίτη» Θεσσαλονίκη, Ιανουάριος 2010.
Ανάλυση του λευκού φωτός και χρώματα
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Αλγόριθμοι και Πολυπλοκότητα
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Εφαρμογή της Θεωρίας Βέλτιστης Παύσης στον έλεγχο συνέπειας (consistency) σε WWW Caching Servers Δημήτριος Λορέντζος ΠΛΣ Διπλωματική Εργασία Επιβλέπων:
Γραφήματα & Επίπεδα Γραφήματα
ΒΑΡΟΜΕΤΡΟ ΕΒΕΘ – ΣΕΠΤΕΜΒΡΙΟΣ 2014 AD – HOC ΕΡΩΤΗΣΕΙΣ.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Καλώς ήρθατε στις Οικονομικές Επιστήμες
Εξάσκηση στην προπαίδεια
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Συντάχθηκε για λογαριασμό του Τηλεοπτικού Σταθμού ΑΝΤ1 Οκτώβριος 2011 © ΚΥΠΡΙΑΚΟ ΒΑΡΟΜΕΤΡΟ.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Η επιρροή του χώρου εργασίας των σχολικών τάξεων στη μάθηση
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
ΠΑΝΕΛΛΑΔΙΚΗ ΠΟΛΙΤΙΚΗ ΕΡΕΥΝΑ ΓΙΑ ΤΟ TVXS.GR Η Palmos Analysis είναι μέλος της ESOMAR και της WAPOR και έχει Αριθμό Μητρώου 11 στο Μητρώο Επιχειρήσεων και.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Παρουσίαση Έρευνας Οικονομική κρίση και οι επιπτώσεις στις επιχειρήσεις – μέλη του ΒΕΘ που δραστηριοποιούνται στον χώρο της οικοδομής Ιανουάριος 2011.
13ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών – Κέρκυρα Οκτωβρίου 2004 Το σύστημα COINE για την προβολή της πολιτιστικής κληρονομιάς και την υποστήριξη.
ΚΕΦΑΛΑΙΟ 3 Περιγραφική Στατιστική
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Ανάλυση Πολλαπλής Παλινδρόμησης
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΕΡΕΥΝΑ ΕΚΘΕΤΩΝ-ΕΠΙΣΚΕΠΤΩΝ KAVALAEXPO 2014
Σοφία Τζελέπη, App Inventor ΜΕΡΟΣ B’ Σοφία Τζελέπη,
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Α2 Λυκείου Αργυράδων Ρωτήθηκαν συνολικά 162 άτομα.
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Παράγοντες καρδιαγγειακού κινδύνου (ΠΚΚ) σε ηλικιωμένους και υπέργηρους με ισχαιμικό αγγειακό εγκεφαλικό επεισόδιο (ι-ΑΕΕ). Η θέση του σακχαρώδη διαβήτη.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
1 Νέα Θεωρία Μεγέθυνσης Ενδογενής μεγέθυνση. 2 Συνάρτηση παραγωγής προϊόντος Υ t = Y(K, L, A) Y t = [(1-α k )·K t ] α · [(1-α L )·A t ·L t ] 1-α 0
Distributed Systems 2 Multicast DNS. Τι είναι; Πρωτόκολλο αντίστοιχο του DNS για τοπικά δίκτυα. Κάθε Η/Υ έχει την δική του λίστα με DNS records.
Κατανεμημένα Συστήματα με Java Ενότητα # 5: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Εισαγωγικά Θέματα WWW Δίκτυα Ομοτίμων p2p.
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
ΠΑΝΕΛΛΑΔΙΚΗ ΠΟΛΙΤΙΚΗ ΕΡΕΥΝΑ Για το SBC TV Η Palmos Analysis είναι μέλος της ESOMAR και της WAPOR και έχει Αριθμό Μητρώου 11 στο Μητρώο Επιχειρήσεων και.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Δυναμικός Κατακερματισμός
Επίλυση Προβλημάτων με Αναζήτηση
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Διαχρονικές Δομές Δεδομένων
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Κινητικότητα και ενημερώσεις σε δίκτυα peer to peer Λεοντιάδης Ηλίας Πανεπιστήμιο Ιωαννίνων Τμήμα πληροφορικής

2 Δομή Επισκόπηση δικτύων peer to peer Πράκτορες και συστήματα πολλαπλών πρακτόρων  Μοντέλο distributed cache  Ανακάλυψη υπηρεσιών  Κινητικότητα  Ενημερώσεις (μέθοδοι push/pull και παραλλαγές)  Πειραματικά αποτελέσματα Αντίγραφα (Replication)  Δημιουργία αντιγράφων  Ενημέρωση αντιγράφων

3 Συστήματα peer-to-peer (P 2 P) Κεντρικός server client peer Αποκέντρωση Οι peers είναι ομότιμοι Διαμοιρασμός πόρων/ υπηρεσιών Άμεση συνεργασία (peer to peer) Αυτο-οργάνωση και αυτονομία Λειτουργία σε ασταθές και αναξιόπιστο περιβάλλον

4 Εφαρμογές δικτύων peer to peer Συστήματα ανταλλαγής αρχείων  Napster, Gnutella, Kazaa, BitTorrent, LimeWire, Freenet, E-donkey Κατανεμημένοι υπολογισμοί (distributed computing)  United Devices,Entropia, GPU Επικοινωνία  ICQ, Net meeting Συνεργασία Ασφάλεια Ιδιωτικότητα (privacy)  Freenet Έξυπνες συσκευές  Δίκτυα από ανιχνευτές  Δίκτυα αυτοκινήτων

5 Κεντρικός server peers Τύποι συστημάτων P 2 P Κεντρικοποιημένα

6 peers Broker peer Τύποι συστημάτων P 2 P Συστήματα μεσίτη

7 Τύποι συστημάτων P 2 P Πλήρως αποκεντρωμένα

8 Συνδέσεις super peers (αναζητήσεις) Απ’ ευθείας συνδέσεις των client (δεδομένα) Τύποι συστημάτων P 2 P Μερικώς αποκεντρωμένα

9 Δομή δικτύων Αδόμητα (unstructured)  Η τοποθέτηση της πληροφορίας δεν έχει καμία σχέση με την τοπολογία του δικτύου  Αναζήτηση τύπου flooding  Παραδείγματα: Gnutella Δομημένα (structured)  Η τοπολογία είναι ελεγχόμενη και η πληροφορία τοποθετείται σε συγκεκριμένες θέσεις του δικτύου  Υπάρχει δρομολόγηση αναζητήσεων.  Παραδείγματα: CAN, Chord, Tapestry κτλ Ελαφρώς δομημένα  Ανάμεσα στα προηγούμενα δύο  Οι θέσεις τον πόρων επηρεάζεται από κάποια δρομολόγηση αλλά δεν καθορίζεται από αυτήν  Παραδείγματα: Freenet

Συστήματα πολλαπλών πρακτόρων

11 Multi-agent systems Multi-Agent system (MAS)  Δίκτυο από software agents  Υπολογιστικοί πόροι και υπηρεσίες διαμοιράζονται σε όλο το δίκτυο  Οι agents συνεργάζονται για να εκπληρώσουν έναν συγκεκριμένο στόχο Για να το κάνουν αυτό, χρειάζονται υπηρεσίες που παρέχονται από άλλους agents Open MAS  Δεν υπάρχει σφαιρική γνώση για το τι υπάρχει στο σύστημα  Έτσι, οι agents δεν γνωρίζουν ποιος agent προσφέρει ποια υπηρεσία

12 Ανακάλυψη υπηρεσιών σε open MAS Προσεγγίσεις: Central directory  Υπάρχει ένας agent που διατηρεί έναν κεντρικό κατάλογο που αντιστοιχεί υπηρεσίες σε agents Middle agents  Υπάρχουν μερικοί agents (middle agents) που κρατούν τμήμα αυτού του καταλόγου Distributed cache model:  Κάθε agent διατηρεί τμήμα του καταλόγου Απόδοση Ανοχή σε σφάλματα Ζήτημα: Πώς ανακαλύπτουμε έναν agent που προσφέρει μια συγκεκριμένη υπηρεσία

13 Distributed cache model Κάθε agent διατηρεί k εγγραφές cache που αφορούν υπηρεσίες που προσφέρουν άλλοι agents Εγγραφές Cache : Κάθε εγγραφή περιέχει την διεύθυνση του agent που προσφέρει την συγκεκριμένη υπηρεσία. Το σύστημα μοντελοποιείται ως ένας κατευθυνόμενος γράφος G(V;E) που ονομάζουμε δίκτυο των cache Αν στο G υπάρχει ακμή u  v, τότε ο agent v καλείται γείτονας του u a2a2 a4a4 a1a1 a6a6 a3a3 a5a5 R 4 : A 2 (IP) R 8 : A 6 (IP) R1R2R3R1R2R3 R4R7R4R7 R1R1 R8R5R2R1R8R5R2R1 R9R9 R6R6 Cache του a 1

14 Αναζήτηση υπηρεσιών Μέθοδοι αναζήτησης που βασίζονται στην τεχνική flooding  Απλό flood Κάθε κόμβος που λαμβάνει το μήνυμα αναζήτησης  Εξετάζει αν έχει την απάντηση  Το προωθεί σε όλους τους γείτονες Μέχρι να φτάσουμε έναν μέγιστο αριθμό βημάτων (TTL)  Teeming Προωθεί το μήνυμα σε ένα τυχαίο υποσύνολο των γειτόνων Σταθερή πιθανότητα Φ να επιλεχθεί κάποιος γείτονας  Teeming με decay Παρόμοιο με το teeming, μόνο που το υποσύνολο μικραίνει καθώς αυξάνεται το βάθος αναζήτησης Φ = (1-d) level Το d < 1 ονομάζεται παράμετρος decay  K-Random paths (K-walkers) Μόνο ο πρώτος agent προωθεί το μήνυμα σε K τυχαίους γείτονες Όλοι οι υπόλοιποι προωθούν το μήνυμα σε έναν μόνο τυχαίο γείτονα Απλό floodTeeming2-Random paths

15 Το πρόβλημα: Το δίκτυο των cache και κινητικότητα Κινητικότητα Οι agents μπορεί να μετακινηθούν π.χ. να αλλάξουν IP Οι υπηρεσίες μπορεί να μετακινηθούν από έναν agent σε κάποιον άλλο Όσοι είχαν στην cache υπηρεσίες του  μη-έγκυρες εγγραφές (invalid cache entries) Ουσιαστικά, κανείς δεν γνωρίζει την νέα του θέση, αφού κάνεις δεν ενημερώθηκε για την μετακίνηση a2a2 a4a4 a1a1 a6a6 a3a3 a5a5 a3a3 Παλιά θέση Νέα θέση Όταν ένας agent μετακινείται δημιουργείται ασυνέπεια στις εγγραφές cache των άλλων

16 Πολιτικές ενημέρωσης Από την στιγμή που οι εγγραφές στην cache ορίζουν το δίκτυο P 2 P, με το να ενημερώνουμε την cache, ενημερώνουμε το ίδιο το δίκτυο. Προτείνουμε πολιτικές που βασίζονται σε δύο βασικές μεθόδους:  Pull Ξεκινά από agents που επιθυμούν να ανανεώσουν την cache τους  Push Ξεκινά από agents που μετακινούνται Μελετήσαμε το πρόβλημα της ενημέρωσης των cache σε ένα δίκτυο από κινητούς πράκτορες

17 Μέθοδος pull Οποιοσδήποτε αλγόριθμος αναζήτησης που βασίζεται στο flooding μπορεί να χρησιμοποιηθεί  Απλό flood  Teeming with decay  K-Random paths Pull Αναζήτηση του δικτύου για κάποιον agent που γνωρίζει νεότερη θέση Ξεκινά από κάποιον agent που επιθυμεί να ανανεώσει κάποια εγγραφή περιοδικά on demand

18 Παράδειγμα pull Παλιά θέση Νέα θέση Agent που γνωρίζει την νέα θέση Agent που κάνει pull

19 Παράδειγμα pull

20 Παράδειγμα pull

21 Παράδειγμα pull

22 Παράδειγμα pull Απευθείας απάντηση

23 Παράδειγμα pull

24 Location sequence numbers (LSN) Χρησιμοποιούμε location sequence numbers για να αναζητήσουμε νεότερη θέση μιας υπηρεσίας Κάθε υπηρεσία έχει ένα LSN Όταν ένας agent μετακινείται αυξάνει το LSN όλων των υπηρεσιών που προσφέρει Έτσι, μεγαλύτερο LSN σημαίνει νεότερη θέση Σε κάθε εγγραφή στην cache κρατάμε και το LSN της υπηρεσίας που είχε όταν προστέθηκε Όταν κάνουμε pull  Ψάχνουμε για την υπηρεσία με LSN που είναι μεγαλύτερο από αυτό που έχουμε στην cache  Αν υπάρχουν απαντήσεις με διαφορετικά LSN κρατάμε το μεγαλύτερο a2a2 a3a3 a3a3 R 9 : LSN = 5 R 9 : LSN = 6 Παλιά θέση Νέα θέση R 9  A 3 :LSN = 5 a 2 Cache

25 Μέθοδος push Το pull δεν μπορεί να δουλέψει από μόνο του Όταν κάποιος agent μετακινείται πρέπει να ενημερώσει τουλάχιστον έναν ακόμα για την νέα του θέση Push Όταν ένας agent μετακινείται προωθεί στο δίκτυο (κάνει push) την πληροφορία που σχετίζεται με την νέα του θέση.

26 Παράδειγμα push Νέα θέση Χρειάζεται ενημέρωση Παλιά θέση

27 Παράδειγμα push

28 Παράδειγμα push

29 Παράδειγμα push

30 Παράδειγμα push

31 Προτεινόμενες πολιτικές Απλό push/pull Συνδυασμός των αλγορίθμων push / pull με χρήση των κατάλληλων αλγορίθμων flooding Push με καταλόγους snooping και περιοδικά pulls Νέα παραλλαγή του push όπου οι κόμβοι που «μαθαίνουν» για μία μετακίνηση κρατούν την πληροφορία αυτή σε κάποιον κατάλογο Inverted cache με leasing Μία «ενημερωμένη» έκδοση του αλγορίθμου push που συνδυάσαμε με την ιδέα leasing

32 Απλό push/pull Δεν υπάρχει καμία πληροφορία για το ποιοι agents χρειάζονται την ενημέρωση Απλό push O agent που μετακινείται πλημμυρίζει τυφλά το δίκτυο με μηνύματα που περιέχουν την νέα του θέση έτσι ώστε να ενημερώσει όσο το δυνατό περισσότερους agents. Απαιτείται ένα ευρύ push ώστε να ενημερώσουμε επαρκή αριθμό από agents  Αλγόριθμος teeming with decay  Μεγάλο TTL και μικρή παράμετρος decay

33 Απλό push/pull Pull Ένας agent μπορεί να μην λάβει την ενημέρωση:  Εκτός σύνδεσης την ώρα του push  TTL, decay  Μη συνεκτικό δίκτυο Όταν ο agent αντιληφθεί μη έγκυρη εγγραφή στην cache του  on-demand pull

34 Push με καταλόγους snooping και περιοδικό pull Ουσιαστικά:  Όταν λάβει κάποιο μήνυμα push, αποθηκεύει την πληροφορία στον δικό του κατάλογο snooping  Το κάνει αυτό ακόμα και αν το μήνυμα δεν περιέχει πληροφορία για κάποιον agent που τον ενδιαφέρει  Κρατά την πληροφορία αυτή για περιορισμένο χρονικό διάστημα (υπάρχει expiration time) Επομένως, κάθε κόμβος θυμάται για λίγο τις νέες θέσεις όλων των agent για τους οποίους έλαβε μήνυμα push. Κατάλογοι snooping Κάθε agent παρακολουθεί το δίκτυο και κρατά έναν κατάλογο με τους πρόσφατα μετακινηθέντες κόμβους για τους οποίους ενημερώθηκε. Αυτός ο κατάλογος ονομάζεται snooping directory.

35 Παράδειγμα push με καταλόγους snooping

36 Παράδειγμα push με καταλόγους snooping Snooping dir -a 1 moved to … Snooping dir -a 1 moved to …

37 Παράδειγμα push με καταλόγους snooping a1a1 Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to …

38 Περιοδικά pulls Όλοι οι agent κάνουν περιοδικά pull Περιοδικά, μαθαίνουν αν κάποιος agent που τους ενδιαφέρει έχει μετακινηθεί πρόσφατα ρωτώντας τους γείτονες τους. Γιατί περιοδικά pull;  Για να εκμεταλλευτούμε τα snooping directories: Αν κάνουμε pull πολύ αργά οι παλιές μετακινήσεις θα έχουν σβηστεί από τους καταλόγους snooping των γειτόνων.  Ο χρόνος μεταξύ δύο διαδοχικών pull < expiration time

39 Push με καταλόγους snooping και περιοδικά pull: Συζήτηση Πλέον, σε κάθε μετακίνηση δεν χρειάζεται να ενημερώσουμε όσο το δυνατό περισσότερους agents άλλα μερικούς Η μέθοδος αυτή μας επιτρέπει να χρησιμοποιήσουμε λιγότερο ευρύ push Για παράδειγμα: Αν υποθέσουμε ότι όλοι οι agent κάνουν περιοδικό pull από την 2-hop γειτονιά τους:  Όσοι κόμβοι απέχουν 2-hop από τους agents που ενημερώθηκαν με push θα λάβουν την ενημέρωση.  Έτσι αρκεί να ενημερωθεί ένας μόνο κόμβος σε κάθε 2-hop γειτονιά Προτιμούμε τον αλγόριθμο k-walkers  Δημιουργούμε K-walkers  Επιθυμούμε όλοι οι agents να απέχουν το πολύ 2-hop από τα μονοπάτια τους.

40 Push με καταλόγους snooping και περιοδικά pull

41 Inverted cache push/pull Κάθε agent κρατάει μια λίστα των agent που τον γνωρίζουν, η οποία ονομάζεται inverted cache. Όταν ένας agent μετακινείται, ενημερώνει τους agents στην  inverted cache  ώστε να ανανεώσουν την cache τους.  απλή cache  ώστε να ανανεώσουν την inverted cache τους. Με το να γνωρίζουμε του που να στείλουμε το update  Αποφεύγουμε το flooding  Ελάχιστος φόρτος μηνυμάτων Μειονέκτημα: Οι αλλαγές στην cache κάποιου agent (προσθήκη διαγραφή κτλ.) απαιτούν ανταλλαγή μηνυμάτων ABCA B C

42 Inverted cache push/pull Ζήτημα Το να φυλάσσουμε ολόκληρο τον κατάλογο της inverted cache μπορεί να μην είναι πάντα επιθυμητό επειδή υπάρχουν δημοφιλείς agents. Λύσεις  Κρατάμε μόνο ένα μέρος του καταλόγου  Συνδυασμός με την τεχνική leasing Οι agents που δεν ενημερώθηκαν πρέπει να καταφύγουν σε on-demand pull.

43 Inverted cache push/pull: Leasing Σε κάθε εγγραφή της cache ανατίθεται από τον ιδιοκτήτη της υπηρεσίας χρόνος μίσθωσης (lease time) Μετά την λήξη της μίσθωσης ο ιδιοκτήτης της υπηρεσίας μπορεί να σβήσει την εγγραφή από την inverted cache του χωρίς ενημερώσει ποτέ τον μισθωτή Έτσι μπορούμε να ελέγξουμε το μέγεθος της inverted cache μέσω του χρόνου μίσθωσης  Μικρότερος χρόνος μίσθωσης  μικρότερες λίστες Lease time Το χρονικό διάστημα κατά το οποίο ο ιδιοκτήτης της υπηρεσίας εγγυάται ότι θα ενημερώσει τον μισθωτή για την οποιαδήποτε μετακίνηση της.

44 Πειραματικά αποτλέσματα Χρήση ενός εξομοιωτή Παραγωγή τυχαίου γράφου  Κάθε agent παρέχει έναν αριθμό από υπηρεσίες  Υπάρχουν δημοφιλής και μη-δημοφιλείς υπηρεσίες  Αρχικά όλοι οι πράκτορες έχουν έγκυρες εγγραφές στην cache Η εξομοίωση τρέχει για έναν αριθμό από γύρους (turn based):  Σε κάθε γύρο, ένας agent μπορεί να Μετακινηθεί Να χρησιμοποιήσει μια υπηρεσία  Μπορεί να χρειαστεί on-demand push Να κάνει κάποιο περιοδικό pull (ανάλογα με τον αλγόριθμο) Να προσθέσει, σβήσει, αντικαταστήσει εγγραφές στην cache του. Κρατάμε στατιστικά Μηνύματα push/pull Ποσοστό έγκυρων εγγραφών στην cache Μέσο μέγεθος καταλόγων (snooping, inverted cache…) Πόσοι agent μετακινήθηκαν σε κάθε βήμα μετά την μετακίνηση Πόσο γρήγορα βρίσκεται μια τυχαία υπηρεσία (βάθος αναζήτησης).

45 Εξομοίωση Στις εξομοιώσεις που θα παρουσιάσουμε  Δίκτυο των 1000 agent  3000 υπηρεσίες  250 γύροι Ενδιαφερόμαστε κυρίως για:  Το ποσοστό των cache που παρέμεινε έγκυρο κατά την διάρκεια της εξομοίωσης.  Το κόστος μηνυμάτων του Pull Push Αλλαγών στην cache  Την ταχύτητα ενημέρωσης  Την ταχύτητα εύρεσης μιας τυχαίας υπηρεσίας

46 Απλό push/pull Εύρος του push – ποσοστό έγκυρων εγγραφών cache decayTTL narrow0.44 medium0.35 wide0.25 full05

47 Απλό push/pull Εύρος του push – αριθμός μηνυμάτων

48 Push with snooping directories and periodic pull Εύρος του push – ποσοστό έγκυρων εγγραφών cache

49 Push with snooping directories and periodic pull Εύρος του push – αριθμός μηνυμάτων

50 Απλό push/pull vs. snooping

51 Inverted cache push/pull με leasing Διάρκεια του lease - ποσοστό έγκυρων εγγραφών cache Lease time small5 medium25 large50 Very large100

52 Inverted cache push/pull Συχνότητα αλλαγών στην cache – φόρτος μηνυμάτων

53 Σύγκριση μεθόδων Απλό push/pull  Κατάλληλη όταν δεν επιθυμούμε να χρησιμοποιήσουμε παραπάνω μνήμη για λόγους ενημέρωσης  Μπορεί να χρησιμοποιηθεί σε ασταθές και αναξιόπιστο περιβάλλον  Έχει ικανοποιητικά αποτελέσματα όταν χρησιμοποιείται ευρύ flooding  Μεγάλος φόρτος μηνυμάτων Push με καταλόγους snooping και περιοδικά pull  Ίδια ποιότητα ενημέρωσης με πολύ μικρότερο αριθμό μηνυμάτων  Απαιτεί επιπρόσθετη μνήμη Inverted cache με leasing  Αμελητέος φόρτος μηνυμάτων για κάθε μετακίνηση  Άμεση ενημέρωση (1-hop)  Μη κατάλληλη όταν έχουμε πολλές αλλαγές στην cache και λίγες μετακινήσεις  Το μέγεθος της inverted cache μπορεί να γίνει μεγάλο για δημοφιλείς agent  Μη κατάλληλη σε ασταθή και αναξιόπιστα συστήματα Οι πράκτορες βασίζονται ο ένας στον άλλο για να ενημερωθούν Πρέπει να είναι online συνεχώς για να διατηρούν τους καταλόγους inverted cache

Δημιουργία αντιγράφων

55 Αντίγραφα Σε ένα δίκτυο P 2 P υπάρχουν πολλαπλά αντίγραφα του ίδιου αντικειμένου τα οποία προσφέρονται από διαφορετικούς κόμβους Πολιτικές δημιουργίας αντιγράφων  Μόνο κόμβοι που χρησιμοποιούν το αντικείμενο δημιουργούν αντίγραφο (Gnutella)  Μπορεί να δημιουργηθούν αντίγραφα σε ένα κόμβο ακόμα και αν δεν το ζήτησε (Freenet)

56 Αριθμός αντιγράφων Πρόβλημα: Πόσα αντίγραφα ενός αντικειμένου πρέπει να δημιουργηθούν ώστε το κόστος των αναζητήσεων να βελτιστοποιηθεί Έχουμε n κόμβους και m αντικείμενα r i αντίγραφα του αντικειμένου i Κάθε αντικείμενο αναζητείται με σχετικό ρυθμό q i έτσι ώστε Υποθέτουμε ότι υπάρχει μέγιστος αριθμός αντιγράφων R Οπότε η βασική ερώτηση είναι πως κατανέμουμε τα R αντίγραφα στα m αντικείμενα

57 Πολιτικές δημιουργίας αντιγράφων Ομοιόμορφη Ίδιος αριθμός αντιγράφων για όλα τα αντικείμενα: Αναλογική Αριθμός αντιγράφων ενός αντικειμένου i ανάλογος του ρυθμού ερωτήσεων q i :  Η ομοιόμορφη και αναλογική κατανομή έχουν το ίδιο μέσο μέγεθος αναζήτησης Ερώτημα Υπάρχει κατανομή που να ελαχιστοποιεί το μέσο μέγεθος αναζήτησης Κατανομή τετραγωνικής ρίζας Τα αντίγραφα ενός αντικειμένου i είναι ανάλογα ως προς την τετραγωνική ρίζα του ρυθμού ερωτήσεων q i όπου

58 Επίτευξη κατανομής τετραγωνικής ρίζας Η ομοιόμορφη και η αναλογική κατανομή μπορούν να υλοποιηθούν εύκολα σε ένα κατανεμημένο περιβάλλον  Ομοιόμορφη  σταθερός αριθμός αντιγράφων για κάθε αντικείμενο  Αναλογική  Ανάλογος του αριθμού ερωτήσεων Πρόβλημα: Δεν υπάρχει προφανής τρόπος για την κατανομή τετραγωνικής ρίζας Ευριστική προσέγγιση Μετά από αναζήτηση ενός αντικειμένου i δημιουργούμε έναν αριθμό αντιγράφων που είναι ανάλογος ως προς τον αριθμό τον κόμβων που ερωτήθηκαν.

59 Πρακτικοί αλγόριθμοι Πρόβλημα: Ο αριθμός των κόμβων που ερωτήθηκαν δεν είναι γνωστός Προσεγγίσεις  Ιδιοκτήτη (Owner replication): Μόνο ο κόμβος που ξεκίνησε την αναζήτηση δημιουργεί αντίγραφο  Μονοπατιού (Path replication): Δημιουργείται αντίγραφο κατά μήκος αναζητητή  κόμβου που βρέθηκε το αντικείμενο  Pull then push

60 Μέθοδος pull then push Στόχος: Η δημιουργία αντιγράφων που είναι ανάλογα των κόμβων που ερωτήθηκαν κατά την αναζήτηση (pull) Προσέγγιση  Έστω ότι κατά την αναζήτηση το αντικείμενο βρέθηκε σε βάθος t  Αμέσως μετά την αναζήτηση pull, κάνουμε push με TTL = t.  Οι κόμβοι που λαμβάνουν το μήνυμα push δημιουργούν αντίγραφα με πιθανότητα P replicate

61 Πειραματικά αποτελέσματα

Ενημέρωση αντιγράφων

63 Ενημέρωση αντιγράφων Ο κόμβος που δημοσίευσε για πρώτη φορά το αντικείμενο θεωρείται ιδιοκτήτης του. Υπάρχει ήδη ένας αριθμός αντιγράφων Πρόβλημα: Κάθε φορά που ο ιδιοκτήτης δημοσιεύσει μια νεότερη έκδοση του αντικειμένου, όλα τα αντίγραφα πρέπει να ενημερωθούν

64 Push Οι κόμβοι που θα λάβουν το μήνυμα μπορούν  Να ακυρώσουν το αντίγραφό τους (invalidate)  Να επικοινωνήσουν με τον αρχικό κόμβο ώστε να ενημερώσουν την έκδοσή τους Push Όταν ο ιδιοκτήτης δημοσιεύσει μια νέα έκδοση του αντικειμένου κάνει push στο δίκτυο την πληροφορία αυτή

65 Pull Ζήτημα: Οι κόμβοι δεν γνωρίζουν αν το τοπικό αντίγραφο που χρησιμοποιούν χρειάζεται ενημέρωση Πρέπει να κάνουν περιοδικά pull ώστε να ανακαλύψουν αν υπάρχει κάποια νεότερη έκδοση

66 Χρόνος μεταξύ δυο pull Ο χρόνος TTP για το επόμενο pull (Time To Pull) βασίζεται σε παλιότερα στατιστικά Προσαρμογή TTP Αρχικά όλοι οι κόμβοι κάνουν pull με την ίδια συχνότητα Αν μεταξύ δυο διαδοχικών pull δεν βρεθεί νεότερη έκδοση αυξάνουμε το TTP: Αν μεταξύ δύο διαδοχικών pull βρεθεί νεότερη έκδοση μειώνεται το TTP:

67 Βελτίωση: push/pull-push Αν τα αντίγραφα δημιουργήθηκαν με την τεχνική pull then push  O κόμβος που προκάλεσε το push έχει στην γειτονιά του αρκετά αντίγραφα Έτσι, όταν ο κόμβος αυτός λάβει μια ενημέρωση μέσω ενός περιοδικού pull Θα πρέπει να προωθήσει την ενημέρωση αυτή στην γειτονιά του Συνολικά  Όταν ο ιδιοκτήτης κάνει αλλαγές  push  Οι κόμβοι κάνουν περιοδικό pull  Επιπρόσθετα: Αν ένας κόμβος είχε δημιουργήσει παλιότερα αντίγραφα ενός αντικειμένου και λάβει μια ενημέρωση του  κάνει push.

68 Πειραματικά αποτελέσματα

69 Συμπεράσματα Εξετάσαμε το πρόβλημα των ενημερώσεων της cache σε ένα δίκτυο από κινητούς πράκτορες  Kάθε πράκτορας διατηρεί cache  Μετακινήσεις  μη έγκυρες εγγραφές Προτείναμε κάποιες μεθόδους ενημέρωσης που συνδυάζουν  Τεχνική pull ξεκινά από τον agent που θέλει να ενημερώσει κάποια δική του εγγραφή  Τεχνική push ξεκινά από τον agent που μετακινείται Παραλλαγές push/pull  Snooping directories  Inverted cache push/pull Τα πειραματικά αποτελέσματα υποδεικνύουν  Κατάλογοι snooping Ίδιο ποσοστό ενημέρωσης με απλό push/pull αλλά με πολύ λιγότερα μηνύματα  Inverted cache Ελάχιστο φόρτο μηνυμάτων για κάθε μετακίνηση Μη κατάλληλη όταν έχουμε πολλές αλλαγές στις cache Δεν μπορεί να εφαρμοστεί σε ασταθές και αναξιόπιστο περιβάλλον

70 Συμπεράσματα Εξετάσαμε το πρόβλημα δημιουργίας αντιγράφων σε ένα σύστημα P 2 P  Βέλτιστο Αριθμός αντιγράφων ανάλογος της τετραγωνικής ρίζας των ερωτήσεων  Προσέγγιση Δημιουργία αντιγράφων ανάλογα του αριθμού κόμβων που ερωτήθηκαν  Προτείναμε την μέθοδο pull then push Αμέσως μετά από μια αναζήτηση γίνεται push στο δίκτυο με ίδιο TTL ώστε να κατασκευαστούν τα αντίγραφα  Τα πειραματικά αποτελέσματα υποδεικνύουν ότι η προτεινόμενη μέθοδος προσεγγίζει κατά πολύ την επιθυμητή κατανομή

71 Συμπεράσματα Εξετάσαμε το πρόβλημα της ενημέρωσης των αντιγράφων  Όταν ο ιδιοκτήτης αντικειμένου δημοσιεύσει νεότερη έκδοση τα αντίγραφα πρέπει να ενημερωθούν  Εφαρμογή μεθόδου push με περιοδικό pull  Ο χρόνος μεταξύ δυο pull προσαρμόζεται δυναμικά  Βελτίωση όταν έχουμε αντίγραφα που έχουν φτιαχτεί με την τεχνική pull then push Αμέσως μετά μια επιτυχημένη ενημέρωση γίνεται push  Τα πειραματικά αποτελέσματα υποδεικνύουν ότι η μέθοδοι push-pull μπορούν να εφαρμοστούν και για την ενημέρωση αντιγράφων

72 Μελλοντική δουλειά Εφαρμογή σε ασύρματα ad-hoc δίκτυα  Ανακάλυψη υπηρεσιών  Δρομολόγηση Εφαρμογή των μεθόδων push/pull σε άλλους τομείς  Τι μπορεί να θεωρηθεί μετακίνηση  Τι μπορεί να θεωρηθεί ενημέρωση Εύρεση νέων αλγορίθμων πλημμύρας για push και pull  Εύρεση βέλτιστων παραμέτρων