1/23 DHTStrings: Συστήματα Δημοσιεύσεων/Συνδρομών σε DHT Δίκτυα με Υποστήριξη για Συμβολοσειρές Διανομή Περιεχομένου στο Διαδίκτυο Τμήμα ΜΗΥΠ Παν/μιο Πατρών.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα Παρουσίαση Μεταπτυχιακής Διατριβής: Νικόλαος Κρεμμυδάς Επιβλέπουσα καθηγήτρια:
Advertisements

Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Υποθέτοντας ότι ο τελεστής ^ δεν είναι διαθέσιμος στην Γλώσσα Προγραμματισμού, να γραφτεί αλγόριθμος που να υπολογίζει την παράσταση xν, όπου xR, νZ.
Διαχείριση Δικτύων Ευφυή Δίκτυα
Καθ. Παναγιώτης Τριανταφύλλου 2009
Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
ΑΛΛΑΓΕΣ – ΒΕΛΤΙΩΣΕΙΣ ΕΦΑΡΜΟΓΗΣ
HAMSTER Κώστα Κωνσταντίνος Ματθαίου Γιώργος Σκιττίδου Ελένη Τορτούρη Κατερίνα Advance p2p network 1/7/20141ΕΠΛ Θεμελιώσεις Τεχνολογιών Διαδικτύου.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Peer-to-Peer Systems Ευθυμία Ρόβα Βίκυ Τζιοβάρα Μαρία Χριστοδουλίδου.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 ΠΑΡΟΥΣΙΑΣΗ:
1/6/2011 Προσαρμοστικοί Αλγόριθμοι Εξισορρόπησης Φόρτου σε Κατανεμημένα Περιβάλλοντα (Δίκτυα Ομοτίμων και Υπολογιστικά Νέφη)
Διανομή Περιεχομένου στο Διαδίκτυο To Δίκτυο Pastry A. Rowstron and P
3/9/ Content-based Publish Subscribe Πάνω από Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis University of Patras Greece.
Δομημένα Δίκτυα Ομοτίμων -- Κατανεμημένοι Πίνακες Κερματισμού (Distributed Hash Tables) Το Δίκτυο CHORD.
Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου.
1 ΠΟΛΥΜΕΣΑ ΚΑΙ ΔΙΚΤΥΑ Μάθημα 1 ο : Μέσα και πολυμέσα Εισηγήτρια:Αναστασία Κατρανίδου.
1 Μοντελοποίηση και Βελτιστοποίηση Δικτύων Περιεχομένου Νικόλαος Λαουτάρης Διδακτορική διατριβή Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ Γ.Σ.Π.. ΟΡΙΣΜΟΙ Ένα σύστημα για τακτικό και συνηθισμένο τρόπο επεξεργασίας δεδομένων και για απάντηση προκαθορισμένων και.
Διαχείριση Γνώσης &Τεχνολογίες Υποστήριξης Καταστάσεων Επικινδυνότητας Καναβός Αναστάσιος Μεταπτυχιακό Μάθημα: «Τεχνολογίες Υποστήριξης Συνεργασίας» Διδάσκων:
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Επισκόπηση ΟΜΑΔΑ: Παππάς Χάρης Κρεμμυδάς Νίκος Σκυβαλίδας Πάνος Σταμκόπουλος Κώστας.
Εισαγωγικά Θέματα WWW Δίκτυα Ομοτίμων p2p.
EDonkey Νικόλαος Καλλιμάνης Κώστας Λίλλης. eDonkey Γενικά  Υβριδικό (weakly centralized) P2P σύστημα για διαμοιρασμό αρχείων.  Αποτελείται από servers.
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
1 One Torus to Rule them All: Multi-dimensional Queries in P2P Systems Authors: Prasanna Ganesan, Beverly Yang, Hector Garcia-Molina Ευθυμία Ρόβα.
Διαχείριση Εκπαιδευτικού Περιεχομένου
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Ανάπτυξη ενός Συστήματος Ομοτίμων στο PlanetLab Σπυρίδων-Δημήτριος Αγάθος Νικόλαος Καλιμάνης Κώστας Λίλλης.
1 REPUTATION & TRUST MANAGEMENT IN P2P Γεωργούλας Κώστας Σταθοπούλου Ευγενία.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Τι κρατάει το Internet μαζί? 1. Η διευθυνσιοποίηση (addressing): πως δηλ. αναφερόμαστε σε μια μηχανή στο δίκτυο. 2. Η δρομολόγηση (routing): πως να φτάσουμε.
ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ: ΠΑΡΑΠΟΜΠΕΣ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΤΣΙΦΛΙΔΟΥ ΕΥΘΥΜΙΑ ΥΔΡΑΙΟΥ ΙΩΑΝΝΑ.
Data Management in p2p A Comparative Study of Pub/Sub Methods in Structured P2P Networks Μαρίνα Δρόσου – ΑΜ 135 Μυρτώ Ντέτσικα – ΑΜ 144 Γρηγόριος Τζώρτζης.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Βάσεις Δεδομένων ΙΙ Ευαγγελία Πιτουρά 1 Βάσεις Διαδικτύου.
Data Management in p2p Publish/Subscribe P2P Systems Μαρίνα Δρόσου – ΑΜ 135 Μυρτώ Ντέτσικα – ΑΜ 144 Γρηγόριος Τζώρτζης – ΑΜ 147.
Βάσεις Δεδομένων ΙΙ Ευαγγελία Πιτουρά 1 Διαχείριση Δεδομένων σε Συστήματα Ομότιμων Κόμβων.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 2: Συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου. Εργαστήριο Διαχείρισης και Βέλτιστου.
Storage management and caching in PAST, a large-scale persistent peer- to-peer storage utility Antony Rowstron – Peter Druschel Κατανεμημένα Συστήματα.
Peer-To-Peer Networks Θέματα Πτυχιακών Αναστάσιος Ιωαννίδης Σαράντης Πασκαλής
Peer-To-Peer Networks Αναστάσιος Ιωαννίδης
S3 Laboratory - Τεχνολογία Ηλεκτρονικού Εμπορίου P2P αρχιτεκτονικές γιά Υλοποίηση Επιχειρησιακών Μοντέλων για Η- Εμπόριο.
- ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ - ΤΟΠΟΛΟΓΙΕΣ KAI ΜΟΝΑΔΕΣ ΔΙΑΣΥΝΔΕΣΗΣ ΤΟΠΙΚΩΝ ΔΙΚΤΥΩΝ ΥΠΟΛΟΓΙΣΤΩΝ.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Τηλεπικοινωνίες, Διαδίκτυο και Ασύρματη Τεχνολογία.
ΣΥΣΤΗΜΑ ΤΟ ΣΥΣΤΗΜΑ PEER TRUST ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ: Ιχνηλασιμότητα Φερεγγυότητας και Ανάπτυξη Εμπιστοσύνης σε Δίκτυα Ομότιμων Κόμβων (Reputation Tracking and.
To πρωτόκολλο διαδικτύου IP -χρησιμοποιείται από αποστολέα και παραλήπτη που μπορεί να βρίσκονται σε διαφορετικά δίκτυα για να ανταλλάξουν πακέτα πληροφοριών.
S/MIME Στα πρώτα στάδια ανάπτυξης η εφαρμογή υποστήριζε αποκλειστικά τη μεταφορά κειμένου μεταξύ των χρηστών Το πρωτόκολλο MIME (Multipurpose Internet.
Peer-To-Peer Networks Θέματα Πτυχιακών Αναστάσιος Ιωαννίδης Σαράντης Πασκαλής
Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9ο Εξάμηνο,
Προχωρημένα Θέματα Δικτύων
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ–ΔΙΑΔΙΚΤΥΩΣΗ
ΤΟΠΟΛΟΓΙΕΣ KAI ΜΟΝΑΔΕΣ ΔΙΑΣΥΝΔΕΣΗΣ ΤΟΠΙΚΩΝ ΔΙΚΤΥΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Κεφάλαιο 7: Διαδικτύωση-Internet
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Κεφάλαιο 7: Διαδικτύωση-Internet
Β. Μάγκλαρης 2/11/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman)
Δομές Δεδομένων και Τεχνικές Προγραμματισμού
Μεταγράφημα παρουσίασης:

1/23 DHTStrings: Συστήματα Δημοσιεύσεων/Συνδρομών σε DHT Δίκτυα με Υποστήριξη για Συμβολοσειρές Διανομή Περιεχομένου στο Διαδίκτυο Τμήμα ΜΗΥΠ Παν/μιο Πατρών

2/23 Δομή Παρουσίασης Σύντομη αναφορά σε DHTs Σύντομη αναφορά στο μοντέλο δημοσιεύσεων/συνδρομών DHTStrings: Επεξεργασία δημοσιεύσεων/συνδρομών ερωτημάτων με strings και τελεστές prefix/suffix/equality ερωτημάτων με strings και τελεστή substring επέκταση της προσέγγισης με substrings με χρήση Bloom Filters

3/23 Δομημένα P2P δίκτυα - DHTs Κατανεμημένοι Πίνακες Κατακερματισμού -- Distributed Hash Tables -- DHTs: Chord, Pastry, Tapestry, CAN, Kademlia, Bamboo, … Ο χώρος των ονομάτων (αρχείων, κόμβων, κλπ) χωρίζεται σε υπο- χώρους, με βάση μια συνάρτηση Hash -- π.χ. MD5(IP_address,...) Κάθε αντικείμενο (αρχείο, κόμβος) όταν εισέρχεται στο σύστημα συνδέεται με μια ταυτότητα (ID) που είναι η έξοδος της HF. Η ταυτότητα «ορίζει» την θέση του αντικειμένου στην τοπολογία. Οι κόμβοι διατηρούν πίνακες για άλλους κόμβους έτσι ώστε με O(logN) μηνύματα (hops) να εντοπίζουν οποιονδήποτε κόμβο/αρχείο. Η δρομολόγηση γίνεται με βάση αυτούς τους πίνακες – ξεκινώντας από τον πίνακα του κόμβου όπου έγινε η αίτηση.

4/23 Σύντομη αναφορά στο pub/sub μοντέλο [1/2] Content-based pub/sub: συστήματα δημοσίευσης- συνδρομής βασισμένα στο περιεχόμενο της πληροφορίας Subscribers: εκφράζουν τα ενδιαφέροντα τους για συγκεκριμένα γεγονότα ορίζοντας τελεστές πάνω σε συγκεκριμένους τύπους δεδομένων Publishers : γενούν την πληροφορία (γεγονότα- δημοσιεύσεις) Κατανεμημένοι αλγόριθμοι για: Ταίριασμα/σύζευξη των δημοσιεύσεων με τις συνδρομές παράδοση των δημοσιεύσεων στους χρήστες που έχουν δηλώσει ενδιαφέρον πάνω από ένα δομημένο δίκτυο ομοτίμων (p2p)

5/23 Σύντομη αναφορά στο pub/sub μοντέλο [2/2] Το σχήμα συνδρομής-δημοσίευσης Έχει οριστεί ένα σύνολο από χαρακτηριστικά (attributes): a i (1<i<A) Οι συνδρομές/δημοσιεύσεις δηλώνουν τιμές, v(a i ), για ένα υποσύνολο από k από αυτά τα attributes Επιτρεπόμενοι τελεστές στις τιμές των attributes (παράδειγμα εφαρμογής.: Σύστημα τροφοδότησης νέων) String attributes Πρόθεμα: NewsAgency=“CNN*” Επίθεμα: Title = “*Debuts” Ισότητα: NewsAgency = “CNN” Attributes με αριθμητικό τύπο =,, ανοικτά/κλειστά διαστήματα τιμών Μια δημοσίευση ταιριάζει σε μια συνδρομή εάν και μόνο εαν όλοι οι περιορισμοί των attributes ικανοποιούνται. Το αναγνωριστικό συνδρομής (SubID) περικλείει πληροφορίες για : Τον κόμβο που έφτασε η συνδρομή Ένα μοναδικό id για να το ξεχωρίζει ανάμεσα στα αποθηκευμένα στον διακομιστή Ο αριθμός χαρακτηριστικών που δηλώθηκαν

DHTStrings Στόχοι: Υποστήριξη συμβολοσειρών με σχετικούς τελεστές για τον ορισμό συνδρομών. DHT-Ανεξάρτητο: Να μπορεί να χρησιμοποιηθεί πάνω από οποιοδήποτε DHT... Χρησιμοποιώντας μόνο το DHT lookup() function call. Να μη χρειάζεται επιπλέον πληροφορία για τη δρομολόγηση δημοσιεύσεων/συνδρομών απο θηκευμένη στους DHT κόμβους  stateless Δύσκολο: Τα DHT δίκτυα υποστηρίζουν “exact-match” – δηλ. τελεστές ισότητας... Και όχι πρόθεμα/επίθεμα/υπο- συμβολοσειρά... Αυτή είναι και η συνεισφορά του DHTStrings! 6/23

7/23 DHTStrings Υποδομή DHTStrings: DHT-Ανεξάρτητο, stateless Είναι μια λύση πάνω από οποιοδήποτε DHT Υποστηρίζει πληθώρα ερωτημάτων με strings κοινούς τελεστές: πρόθεμα,επίθεμα και ισότητα Το publish/subscribe παράδειγμα και τα DHTStrings Τα DHTStrings μπορούν να χρησιμοποιηθούν στην ανάπτυξη μεγάλης κλίμακας content-based pub/subs με συνδρομές που ορίζουν strings βασιζόμενοι μόνο στη λειτουργικότητα του DHT(DHT.h()) Βελτιστοποιήσεις για την πολυδιάστατη επεξεργασία δημοσιεύσεων Κατανεμημένο και Υβριδικό ταίριασμα.

8/23 DHTStrings: Η κύρια ιδέα Επέλεξε έναν κόμβο (rendezvous) που θα χρησιμοποιείται σαν σημείο συνάντησης για τις δημοσιεύσεις και σχετικές με αυτές συνδρομές. Αυτό γίνεται : Αποθηκεύοντας ids των συνδρομών (SubIDs) σε DHT κόμβους με ids που προκύπτουν από το hashing των τιμών των συνδρομών (χρήση της DHT’s hash function DHT.h() ). Κάνοντας το ίδιο για τις τιμές των δημοσιεύσεων, μαζεύουμε SubIDs και συνεχίζουμε την διαδικασία ταιριάσματος παραδίδοντας την δημοσίευση που ταιριάζει Producers and Consumers Peers (brokers) handling event/subscriptions S1 User generates a subscription (S1) with 1 attribute S1 is stored in 1 node by hashing attribute’s value nodeID = DHT.h(v(a 1 )) S1 Event (E1) arrives with 1 attribute defined E1 Following the same procedure locates the node storing the subscription nodeID = DHT.h(v(a 1 )) S1 matches E1 Event is delivered to interested user E1

9/23 DHTStrings: Αποθήκευση IDs συνδρομών S1,S2 User generates two subscriptions S1: a 1 =“*N”, a 2 =“*Debuts” S2: a 1 =“CNN”, a 2 =“Concept*” Producers and Consumers Peers (brokers) handling event/subscriptions Locate and store S1 in peers with ids equal or close to: DHT.h(N), in the L a1-suff list DHT.h(Debuts), in the L a2-suff list S1 L a1-suff S1 L a2-suff S1:a 1 =“*N”, a 2 =“*Debuts” S2:a 1 =“CNN”, a 2 =“Concept*” Locate and store S2 in peers with ids equal or close to: DHT.h(CNN) in the L a1 list DHT.h(Concept) in the L a2-pref list S2 L a1 S2 L a2-pref Σε κάθε κόμβο διατηρούμε τρεις λίστες (L * ) για κάθε χαρακτηριστικό a i, μία για κάθε τελεστή: πρόθεμα L ai-pref, επίθεμα L ai-suff, ισότητα L ai Για κάθε χαρακτηριστικό a i στην συνδρομή, το SubID j αποθηκεύεται στην κατάλληλη L λίστα στον κόμβο με id ίσο (ή κοντινότερα) στο DHT.h(v(a i ))

10/23 DHTStrings: Επεξεργασία δημοσίευσης… φάση ανάκτησης SubID Για κάθε χαρακτηριστικό a i στη δημοσίευση Πήγαινε στον κόμβο DHT.h(v(a i )) και πάρε τη λίστα L ai Πήγαινε στους κόμβους DHT.h(τα προθέματα του v(a i )) και πάρε τη λίστα L ai-pref Πήγαινε στους κόμβους DHT.h(τα επιθέματα του v(a i )) και πάρε τη λίστα L ai-suff Event arrives with values E1: a 1 =“CNN”, a 2 =“A380 Debuts” Producers and Consumers Peers (brokers) handling event/subscriptions S1 L a1-suff S1 L a2-suff S1:a 1 =“*N”, a 2 =“*Debuts” S2:a 1 =“CNN”, a 2 =“Concept*” S2 L a1 S2 L a2-pref E1 For the attribute a 1 go to nodes 1. DHT.h(CNN) and get the L a1 list 2. DHT.h(C), DHT.h(CN), and DHT.h(CNN) and get the L a1-pref lists 3. DHT.h(N), DHT.h(NN), and DHT.h(CNN) and get the L a1-suff lists a1a1 L a1 … L a1-pef …. - L a1-suff …. - a1a1 L a1 ….....S2 L a1-pef …. - L a1-suff ….S1 Repeat the same procedure for attribute a 2 and collect L a2, L a2-pref, and L a2-suff a2a2 L a2 … L a2-pef …. - L a2-suff …. - a2a2 L a2 … L a2-pef …. - L a2-suff ….S1

11/23 DHTStrings: Επεξεργασία δημοσίευσης … Ταίριασμα και Παράδοση Τα SubIDs περικλείουν πληροφορία για τον αριθμό των ορισμένων attributes, N a-sub-i Για κάθε SubID που συλλέξαμε, μετράμε τον αριθμό των λιστών που αυτό βρέθηκε, N list-sub-i Αν N a-sub-I = N list-sub-I έχουμε ταίριασμα Επικοινωνία με τον χρήστη που δημιούργησε τη συνδρομή για την παράδοση της δημοσίευσης S1:a 1 =“*N”, a 2 =“*Debuts” S2:a 1 =“CNN”, a 2 =“Concept*” a1a1 L a1 ….....S2 L a1-pef …. - L a1-suff ….S1 a2a2 L a2 … L a2-pef …. - L a2-suff ….S1 E1: a 1 =“CNN”, a 2 =“A380 Debuts” S1 found in 2 lists and has defined 2 attributes S2 found in 1 list and has defined 2 attributes S1 matches E1 X

12/23 Ανάλυση Απόδοσης Αποθήκευση Συνδρομών (για κάθε χαρακτηριστικό) O(logN) hops Φάση συγκέντρωσης SubID (για κάθε χαρακτηριστικό) O( logN ) hops για να πάρει το L ai O( l x logN ) hops, l είναι το μέσο μέγεθος για τον αριθμό χαρακτήρων των τιμών

13/23 Πολυδιάστατη επεξεργασία δημοσιεύσεων Distributed Matching Hybrid Matching Coordinated Matching

14/23 Πολυδιάστατη επεξεργασία δημοσιεύσεων Αριθμός μηνυμάτων αν υποθέσουμε ότι μια δημοσίευση πρέπει να επικοινωνήσει με k κόμβους Coordinated Matching: 2 x k μηνύματα Distributed Matching: k + 1 μηνύματα Hybrid Matching: 2 x k μηνύματα Τα Hybrid και Coordinated αποδίδουν το ίδιο, όμως με το Hybrid τα ταιριασμένα SubID lists επιστρέφονται

15/23 Συμπεράσματα Τα DHTStrings είναι μια λύση ανεξάρτητη από DHT και stateless για την υλοποίηση μεγάλης κλίμακας συστημάτων φιλτραρίσματος πληροφορίας. Στο pub/sub παράδειγμα, τα DHTStrings υποστηρίζουν αποτελεσματικά ερωτήματα με χαρακτηριστικά string με τους τελεστές πρόθεμα, επίθεμα και ισότητα

16/23 Επεξεργασία τελεστή substring Τελεστής substring στις τιμές των attributes Substrings: Title = “*Debuts*” Βασική Ιδέα λύσης με n-grams: αποσύνθεσε το string σε n-grams n-grams: ίσου μεγέθους sub-strings του string π.χ. τα 4 bi-grams(n=2) του string abcd είναι ab, bc, και cd χρησιμοποίησε τα n-grams για να αποθηκεύσεις το SubId της συνδρομής Κάνε το ίδιο και για τη δημοσίευση συνέλεξε όλα τα n-grams που είναι ίσα με τα n-grams της δημοσίευσης αναδόμησε τις τιμές των συνδρομών κατέληξε σε ταίριασμα ή όχι

17/23 Επεξεργασία Συνδρομών Ορισμός Προβλήματος – l το μέγιστο μέγεθος των strings (σε χαρακτήρες) – l s και l e το μέγεθος των τιμών στα attributes των συνδρομών και των δημοσιεύσεων αντίστοιχα. s[1…l s ] τιμή συνδρομής e[1…l e ] τιμή δημοσίευσης – Έχουμε ταίριασμα αν το s είναι substring του e. Δηλ. για i<j ≤ l e s[1…l s ] = e[i…j] Επεξεργασία Συνδρομών – Η τιμή s χωρίζεται σε l s – n +1 ngrams – Για κάθε ngram i τοποθετούμε στον κόμβο με id=DHT.h(ngram i ) το Extended SubID (xSubID) Extended-SubID ngram i # of ngramsorderSubID

18/23 Επεξεργασία Δημοσιεύσεων Η τιμή e χωρίζεται σε l e – n +1 ngrams Για κάθε ngram i συλλέγουμε από τον κόμβο με id=DHT.h(ngram i ) τα xSubIDs που ταιριάζουν με την τιμή ngram i Ομαδοποιούμε τα xSubIDs που έχουμε συλλέξει με βάση το SubID και για κάθε xSubID σύνολο καταλήγουμε σε ταίριασμα εάν: Το μέγεθος του συνόλου είναι ίσο με το αντίστοιχο πεδίο στο xSubID Η αναδόμηση του s, είναι όντως substring του e.

19/23 Παράδειγμα S1 Producers and Consumers Peers (brokers) handling event/subscriptions S1:*101* ngrams: 10, 01 S2: *1001* ngrams: 10, 00, 01 S3: *010* ngrams: 01,10 Event: ngrams: 11, 10, 01, 11 Break S1 into 2 ngrams and store the following extended SubIDs SubID1|1|2|10 SubID1|2|2|01 Break S2 into 3 ngrams and store the following extended SubIDs SubID2|1|3|10 SubID2|2|3|00 SubID2|3|3|01 Break S3 into 2 ngrams and store the following extended SubIDs SubID3|1|2|01 SubID3|2|2|10 S2 S3 SubID 1 |1|2|10 SubID 2 |1|3|10 SubID 3 |2|2|10 SubID 1 |2|2|01 SubID 2 |3|3|01 SubID 3 |1|2|01 SubID 2 |2|3|00 Break event into 4 ngrams and query nodes for stored xSubIDs Event: ngrams: 11,10,01,11 Event SubID 1 |1|2|10 SubID 2 |1|3|10 SubID 3 |2|2|10 SubID 1 |2|2|01 SubID 2 |3|3|01 SubID 3 |1|2|01 Grouping based in SubID results in three groups for SubID 1, SubID 2, and SubID SubID 3 |2|2|10SubID 2 |3|3|01SubID 1 |2|2|01 SubID 3 |1|2|01 SubID 2 |1|3|10SubID 1 |1|2|10 SubID 1 SubID 2 SubID 3 Subscription 1 matches the event and it is delivered to interested client

20/23 Επέκταση της προσέγγισης με n-grams Πρόβλημα Μία συνδρομή με τιμή s[1…l s ] θα πρέπει να αποθηκευτεί σε l s -n+1 κόμβους και αντίστοιχα για την ίδια συνδρομή θα πρέπει ο ίδιος αριθμός κόμβων να ερωτηθεί Στόχος Μείωση του φόρτου στο δίκτυο, με χρήση ενός πρωτοκόλλου τριών φάσεων βασισμένο σε Bloom Filters Bloom-filters Μας δείχνουν εάν ένα αντικείμενο δεν είναι μέλος ενός σετ Ένας πίνακας από m bits αρχικοποιημένος στο 0 και k hash functions Εισαγωγή αντικειμένου: χρήση των k hash functions ώστε να πάρουν την τιμή 1 τα αντίστοιχα k bits. Ένα αντικείμενο δεν αποτελεί μέρος του σετ, αν τουλάχιστον 1 bit είναι 0 στις θέσεις που θα υποδείξουν οι k hash functions. False positive prob: (1-e ki/m ) k όπου i είναι ο αριθμός των εισαγωγών

21/23 Επεξεργασία συνδρομών σε 3 φάσεις Καταφθάνει στον κόμβο Ε, δημοσίευση με τιμή e[1…l e ]. Φάση 1 Το e χωρίζεται σε ngrams, οι κατάλληλοι κόμβοι ερωτούνται και καθένας επιστρέφει το μέγεθος της λίστας των SubIDs |RS i |, που ταιριάζουν με την τιμή της δημοσίευσης. Με βάση αυτές τις τιμές υπολογίζεται το μέγεθος m του Bloom Filter, και αποστέλλεται σε όλους τους εμπλεκόμενους κόμβους Φάση 2 Κάθε κόμβος i, δημιουργεί ένα Bloom Filter BF i και εισάγει όλα τα SubIDs που ανήκουν στο RS i, χρησιμοποιώντας μία hash function. Τα BF i αποστέλλονται πίσω στον Ε

22/23 Επεξεργασία συνδρομών σε 3 φάσεις Φάση 3 Ο κόμβος Ε συλλέγει τα BF i και δημιουργεί τον πίνακα BFM με μέγεθος l e -n+1 x m, όπου η γραμμή i έιναι το BF i Για κάθε κόμβο i διατηρούμε μια λίστα PS i με δείκτες στις στήλες Για κάθε στήλη που περιέχει τουλάχιστον 1 bit ≠0 επιλέγουμε μία γραμμή, πχ j και εισάγουμε στο PS j τον δείκτη της στήλης. Κάθε PS επιστρέφεται πίσω στους αντίστοιχους κόμβους κάθε κόμβος i αφού λάβει το PS i για κάθε αντικείμενο στο σετ RS i χρησιμοποιεί την hash function και ελέγχει την θέση του αντίστοιχου bit Εάν αυτή η θέση βρίσκεται στη λίστα PS i τότε το συγκεκριμένο SubID θα επιστραφεί πίσω στον κόμβο Ε

23/23 Παράδειγμα Producers and Consumers Peers (brokers) handling event/subscriptions S1:*101* ngrams: 10, 01 S2: *1010* ngrams: 10, 01, 10 S3: *110* ngrams: 11,10 Event: 1101 ngrams: 11, 10, 01, Three SubIDs are stored in peers P1, P2, and P3. Event arrives with value 1101 SubID 3 | 110 SubID 1 | 101 SubID 2 | 1010 SubID 1 | 101 Event SubID 3 | 110 SubID 2 | BF 1 hash(Sub3) BF 2 hash(Sub3)hash(Sub1) BF 3 hash(Sub1) BF BF BF 3 P1 P2 P3 E Event value is broken in 11, 10, 01 Peers P1,P2, and P3 are queried for their result set sizes (RS i ) RS 1 =1 RS 2 =2 RS 3 =1 The appropriate Bloom Filter size is computed (m) and peers are requested to construct their BFs BFs are sent back and the BFM matrix is constructed 1 PS 1 2 PS 2 Non-empty column 1 is checked. P1 and P2 set the bit We choose P1, filling PS 1 with index 1 Non-empty column 2 is checked. P2 and P3 set the bit We choose P2, filling PS 2 with index 2 PS 1 and PS 2 are sent back to peers P1 and P2 They hash SubIDs in their RS set and if the bit position is equal to the PS position that SubID is returned Sub3 Sub1

Αναφορές I. Aekaterinidis and P. Triantafillou. Internet scale string attribute publish/subscribe data networks. In 14th ACM Conference on Information and Knowledge Management (CIKM05), Ioannis Aekaterinidis, Peter Triantafillou, Publish/Subscribe Information Delivery with Substring Predicates, IEEE Internet Computing, July (Special Issue on Dynamic Information Dissemination), I. Aekaterinidis and P. Triantafillou. Pastrystrings: A comprehensive content-based publish/subscribe DHT network. In the 26 th IEEE International Conference on Distributed Computing and Systems (ICDCS 06), /23

25/23 Απόδοση ngrams με Bloom Filters Τι κερδίζουμε Στην απλή περίπτωση που εξετάζουμε όλα τα πιθανά substrings της τιμής του event και ρωτάμε τους αντίστοιχους κόμβους Στην ngrams προσέγγιση Επεξεργασία Συνδρομών Επεξεργασία Δημοσιεύσεων O( logN ) O( l e 2 x logN ) Επεξεργασία Συνδρομών Επεξεργασία Δημοσιεύσεων O( l s x logN ) O( l e x logN )