Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Σχετικά έγγραφα
Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Εντοπισμός αδιεξόδου. Κατανεμημένα Συστήματα 1

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Επικοινωνία αίτησης-απάντησης. Κατανεμημένα Συστήματα 1

Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Επικοινωνία αίτησης-απάντησης. Κατανεμημένα Συστήματα 1

Δίκτυα Θεωρία

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΜΗΧΑΝΙΣΜΟΙ ΠΟΙΟΤΗΤΑΣ ΥΠΗΡΕΣΙΑΣ ΣΕ ΔΙΚΤΥΑ

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I

ιαδίκτυα & Ενδοδίκτυα Η/Υ

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Εγγυημένη ποιότητα υπηρεσίας

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΔΙΚΤΥΑ (13) Π. Φουληράς

3.6 Δρομολόγηση 1 22 /

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Συνεχής ροή πολυµέσων

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εντοπισμός τερματισμού. Κατανεμημένα Συστήματα 1

7.9 ροµολόγηση. Ερωτήσεις

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Κεφάλαιο 7.3. Πρωτόκολλο TCP

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

Δίκτυα Θεωρία

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Δρομολόγηση (Routing)

Επίπεδο Δικτύου: Διαδικτύωση

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Δίκτυα Υπολογιστών I

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Δροµολόγηση (Routing)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Πρωτόκολλα Διαδικτύου

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Βασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1

Πρωτόκολλα Διαδικτύου

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

7.5 Πρωτόκολλο IP. & Ερωτήσεις

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Επαναληπτικές Ασκήσεις Μαθήματος

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

Ροή πολυμέσων. Εισαγωγή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές μέσων Το πρωτόκολλο RTSP

1.1 Επαναλήπτες (repeaters ή regenerators)

Ειδικά Θέματα Δικτύων ΙΙ

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Επικοινωνία Client/Server

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

Network Address Translation (NAT)

Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Δίκτυα Υπολογιστών I

Transcript:

Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr

Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο κοντά στις τεχνολογίες δικτύων (μετάδοση πακέτων) Σχετικά «χαλαρή» διασύνδεση μεταξύ των διεργασιών που αλληλεπιδρούν μεταξύ τους δεν υφίσταται «αυστηρή» σχέση αίτησης-απάντησης υποστήριξη ασύγχρονης και έμμεσης επικοινωνία Κατάλληλα τόσο για εφαρμογές υψηλών επιδόσεων σε συστήματα πολυεπεξεργαστών (MPI), όσο και για εμπορικές εφαρμογές μεγάλης κλίμακας (IBM MQ) Κατανεμημένα Συστήματα 2 lalis@inf.uth.gr

Ενδεικτικό API int send_msg(endpoint dst, char *msg, int mlen); int recv_msg(endpoint *src, char **msg, int *mlen); η έννοια του άκρου επικοινωνίας μπορεί να διαφέρει σημαντικά, ανά περίπτωση, π.χ., να αντιστοιχεί σε κάποια συγκεκριμένη διεύθυνση ή σε κάποιο πιο αφαιρετικό αναγνωριστικό επικοινωνίας Κατανεμημένα Συστήματα 3 lalis@inf.uth.gr

Παράδοση/διατήρηση μηνυμάτων Εγγυήσεις παράδοσης μηνυμάτων Best-effort: το σύστημα θα προσπαθήσει να επιδώσει το μήνυμα στον παραλήπτη, αλλά μπορεί να αποτύχει Guaranteed: το σύστημα εγγυάται πως το μήνυμα θα επιδοθεί στον παραλήπτη, αν αυτός υφίσταται Διατήρηση μηνυμάτων Παροδική επικοινωνία: ο παραλήπτης πρέπει να υφίσταται, διαφορετικά η επικοινωνία αποτυγχάνει Διατηρούμενη επικοινωνία: ο παραλήπτης ή το μονοπάτι επικοινωνίας προς αυτόν μπορεί να μην υφίσταται την στιγμή της αποστολής Κατανεμημένα Συστήματα 4 lalis@inf.uth.gr

Μπλοκάρισμα αποστολέα Ασύγχρονη αποστολή το μήνυμα αντιγράφεται σε αποθήκη και η εφαρμογή συνεχίζει την εκτέλεση της Ημι-ασύγχρονη αποστολή μπλοκάρισμα εφαρμογής μέχρι το μήνυμα να σταλεί πάνω από το δίκτυο (να παραδοθεί στην υπηρεσία δικτύου) Ημι-σύγχρονη αποστολή η εφαρμογή μπλοκάρεται μέχρι το μήνυμα να αποθηκευτεί στην πλευρά του παραλήπτη χωρίς αυτό να επιδοθεί στον παραλήπτη Σύγχρονη αποστολή η εφαρμογή μπλοκάρεται μέχρι το μήνυμα να επιδοθεί στον παραλήπτη Κατανεμημένα Συστήματα 5 lalis@inf.uth.gr

σημεία συγχρονισμού ασύγχρονη A applications B σύγχρονη υπηρεσία επικοινωνίας MP service ημι-ασύγχρονη ημι-σύγχρονη Κατανεμημένα Συστήματα 6 lalis@inf.uth.gr

Ενδιάμεση αποθήκευση μηνυμάτων Πλευρά αποστολέα αποφυγή μπλοκαρίσματος εφαρμογής μαζική αποστολή/μετάδοση μηνυμάτων Πλευρά παραλήπτη απεμπλοκή αποστολής/παραλαβής Ενδιάμεσοι αναμεταδότες/διακομιστές ένα «υπερ-δίκτυο» πάνω από το διαδίκτυο (overlay network) πότε έχει νόημα κάτι τέτοιο; Οι αποθήκες είναι πεπερασμένες: συνήθως γίνεται η υπόθεση ότι οι διεργασίες που επικοινωνούν μεταξύ τους υλοποιούν δικό τους μηχανισμό ελέγχου ροής Κατανεμημένα Συστήματα 7 lalis@inf.uth.gr

Δίκτυο διακομιστών/αναμεταδοτών Η μετάδοση των μηνυμάτων από τον αποστολέα προς τον παραλήπτη μπορεί να γίνει μέσω ενός δικτύου ενδιάμεσων διακομιστών ένα υπερ-δίκτυο, πάνω από το διαδίκτυο Η ύπαρξη διακομιστών είναι χρήσιμη για καλύτερη κλιμάκωση και υλοποίηση διατηρούμενης επικοινωνίας ένα μήνυμα μπορεί να τα ταξιδέψει προς τον προορισμό του, χωρίς ποτέ να είναι συνεχώς διαθέσιμη η πλήρης διαδρομή ανάμεσα στον αποστολέα και στον παραλήπτη Η διαχείριση γίνεται συνήθως με το χέρι εγκατάσταση μηχανημάτων/διεργασιών αναμετάδοσης τήρηση πινάκων δρομολόγησης Κατανεμημένα Συστήματα 8 lalis@inf.uth.gr

application API application API application API Κατανεμημένα Συστήματα 9 lalis@inf.uth.gr

application A B service MP service MP service MP service network IP link L1 IP link L2 IP link up L1 link down L2 Κατανεμημένα Συστήματα 10 lalis@inf.uth.gr

Πρωτόκολλο μετάδοσης μηνυμάτων Stop&Wait: το επόμενο μήνυμα στέλνεται μόνο αφού επιβεβαιωθεί η παραλαβή του προηγούμενου Send-Ack: το επόμενο μήνυμα στέλνεται χωρίς αναμονή, αλλά η άλλη πλευρά πρέπει να στέλνει ξεχωριστές (μαζικές) επιβεβαιώσεις για τα μηνύματα που παρέλαβε (και αποθήκευσε) επιτυχώς Ack-Piggybacking: επιβεβαιώσεις επισυνάπτονται σε μηνύματα που στέλνονται στην αντίθετη κατεύθυνση Βασικό πρωτόκολλο μεταφοράς διαφανές για την εφαρμογή π.χ., UDP ή TCP Κατανεμημένα Συστήματα 11 lalis@inf.uth.gr

P2 P1 MP service MP service send(p3,m1) m1 send(p4,m2) m2 m1 m1 ack1 m1 m1 to P3 m2 m1 m2 m2 ack2 m2 m1 m2 to P4 m2 Κατανεμημένα Συστήματα 12 lalis@inf.uth.gr

P2 P1 MP service MP service send(p3,m1) m1 send(p4,m2) m2 m1 m1 m2 m1 m1 to P3 m2 m1 ack1 m2 m1 m2 to P4 m2 ack2 Κατανεμημένα Συστήματα 13 lalis@inf.uth.gr

P2 P1 MP service MP service send(p3,m1) m1 send(p4,m2) m2 m1 m1 m2 m1 m1 to P3 m2 m1 m2 to P4 m2 m1 ack1+2 Κατανεμημένα Συστήματα 14 lalis@inf.uth.gr

P2 P1 MP service MP service send(p3,m1) m1 send(p4,m2) m2 m1 m1 m2 m1 m1 to P3 m2 m1 m2 to P4 m3 m3 m3 m3 ack1+2 m2 m1 Κατανεμημένα Συστήματα 15 lalis@inf.uth.gr

Παροδικά άκρα επικοινωνίας Τα άκρα επικοινωνίας είναι προσωρινά Στενά συσχετισμένα με την ζωή των διεργασιών που τα δημιουργούν Αν η διεργασία τερματιστεί, το άκρο επικοινωνίας χάνει την ισχύ του, και η όποια περαιτέρω απόπειρα επικοινωνίας με αυτό αποτυγχάνει Παράδειγμα: UDP/IP sockets Κατανεμημένα Συστήματα 16 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 17 lalis@inf.uth.gr Β

A Β διαδικασία ανακάλυψης Κατανεμημένα Συστήματα 18 lalis@inf.uth.gr

A Β Κατανεμημένα Συστήματα 19 lalis@inf.uth.gr

A Β Κατανεμημένα Συστήματα 20 lalis@inf.uth.gr

Μόνιμα άκρα επικοινωνίας Τα άκρα επικοινωνίας είναι μόνιμα Δεν είναι στενά συσχετισμένα με την ζωή των διεργασιών που τα δημιούργησαν Αν η διεργασία τερματιστεί, το άκρο επικοινωνίας εξακολουθεί να ισχύει, και μπορεί να χρησιμοποιηθεί από άλλες διεργασίες Παράδειγμα: mailboxes Κατανεμημένα Συστήματα 21 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 22 lalis@inf.uth.gr Β

Κατανεμημένα Συστήματα 23 lalis@inf.uth.gr

A Β διαδικασία ανακάλυψης Κατανεμημένα Συστήματα 24 lalis@inf.uth.gr

A Β Κατανεμημένα Συστήματα 25 lalis@inf.uth.gr

A Β Κατανεμημένα Συστήματα 26 lalis@inf.uth.gr

A Κατανεμημένα Συστήματα 27 lalis@inf.uth.gr

A Β Κατανεμημένα Συστήματα 28 lalis@inf.uth.gr

Επικοινωνία 1->Ν Κατανεμημένα Συστήματα 29 lalis@inf.uth.gr

Υποστήριξη επικοινωνίας 1->Ν Φυσική πολυεκπομπή το δίκτυο υποστηρίζει broadcasting/multicasting επίπεδο τοπικού δικτύου / διαδικτύου (με δρομολόγηση) Επανειλημμένη αποστολή από την εφαρμογή το μήνυμα στέλνεται σε κάθε διεργασία ξεχωριστά Δρομολόγηση σε επίπεδο εφαρμογής οργάνωση των διεργασιών σε υπερδίκτυο (overlay), και δρομολόγηση σε επίπεδο εφαρμογής Κατανεμημένα Συστήματα 30 lalis@inf.uth.gr

Φυσική πολυεκπομπή b f a c e g d h p l o n m i j k Κατανεμημένα Συστήματα 31 lalis@inf.uth.gr

Φυσική πολυεκπομπή a b c d e f g h i j k l m n o p Κατανεμημένα Συστήματα 32 lalis@inf.uth.gr

Επανειλημμένη αποστολή b f a c e g d h p l o n m i j k Κατανεμημένα Συστήματα 33 lalis@inf.uth.gr

Επανειλημμένη αποστολή μηνύματος a b c d e f g h i j k l m n o p Κατανεμημένα Συστήματα 34 lalis@inf.uth.gr

Δρομολόγηση σε επίπεδο εφαρμογής (1) b f a c e g a d h b f i m k n p l o n m i j k Κατανεμημένα Συστήματα 35 lalis@inf.uth.gr

Δρομολόγηση σε επίπεδο εφαρμογής (1) a b c d e f g h i j k l m n o p Κατανεμημένα Συστήματα 36 lalis@inf.uth.gr

Δρομολόγηση σε επίπεδο εφαρμογής (2) b f a c e g a d h m f k b n i p l o n m i j k Κατανεμημένα Συστήματα 37 lalis@inf.uth.gr

Δρομολόγηση σε επίπεδο εφαρμογής (2) a b c d e f g h i j k l m n o p Κατανεμημένα Συστήματα 38 lalis@inf.uth.gr

Δέντρο πολυεκπομπής (Multicast tree) Μπορεί να κατασκευαστούν σε φυσικό επίπεδο καθώς και σε επίπεδο εφαρμογής Απαιτείται ανταλλαγή πληροφοριών ανάμεσα στις διεργασίες, και εκμετάλλευση αυτών για την κατασκευή του δέντρου επικάλυψης Τα κριτήρια δρομολόγησης μπορεί να διαφέρουν φυσική τοπολογία, δρομολόγηση σε επίπεδο δικτύου, καθυστέρηση επικοινωνίας, πόροι διεργασιών/κόμβων Προσαρμογή της δομής δρομολόγησης σε αλλαγές Πρόβλημα αν υπάρχει μεγάλη δυναμική, π.χ. συχνές αλλαγές στον αριθμό / τις ιδιότητες των διεργασιών το κόστος διαχείρισης μπορεί να είναι απαγορευτικό Κατανεμημένα Συστήματα 39 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 40 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 41 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 42 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 43 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 44 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 45 lalis@inf.uth.gr

Αξιοπιστία πολυεκπομπής Χρειάζονται επανεκπομπές, επιβεβαιώσεις το πρόβλημα της κλιμάκωσης εντείνεται Εφαρμογή (και εδώ) της ιδέας των «μαζικών» επιβεβαιώσεων για πολλά μηνύματα Επιπλέον, μπορεί να γίνει εκμετάλλευση της δομής δρομολόγησης για την επιβεβαίωση των μεταδόσεων κατά μήκος των ακμών του δέντρου πολυεκπομπής ιδανικά, μόνο 1 μετάδοση επιβεβαίωσης πάνω από κάθε ακμή Κάθε κόμβος μπορεί να επιβεβαιώνει άμεσα την παραλαβή ενός μηνύματος ή αφού πρώτα λάβει επιβεβαιώσεις από το «δικό του» υπο-δέντρο Κατανεμημένα Συστήματα 46 lalis@inf.uth.gr

m m Κατανεμημένα Συστήματα 47 lalis@inf.uth.gr

m m Κατανεμημένα Συστήματα 48 lalis@inf.uth.gr

m m m Κατανεμημένα Συστήματα 49 lalis@inf.uth.gr

ack ack m m Κατανεμημένα Συστήματα 50 lalis@inf.uth.gr

ack ack ack Κατανεμημένα Συστήματα 51 lalis@inf.uth.gr

ack ack Κατανεμημένα Συστήματα 52 lalis@inf.uth.gr

Κατανεμημένα Συστήματα 53 lalis@inf.uth.gr ack

Κατανεμημένα Συστήματα 54 lalis@inf.uth.gr ack

m m Κατανεμημένα Συστήματα 55 lalis@inf.uth.gr

m m ack ack Κατανεμημένα Συστήματα 56 lalis@inf.uth.gr

ack m m ack m Κατανεμημένα Συστήματα 57 lalis@inf.uth.gr

ack ack ack m m Κατανεμημένα Συστήματα 58 lalis@inf.uth.gr

ack ack Κατανεμημένα Συστήματα 59 lalis@inf.uth.gr

IP multicast Το IP προσδιορίζει ειδικές διευθύνσεις πολυεκπομπής στις οποίες ένας κόμβος πρέπει να εγγραφεί για να λάβει τα μηνύματα που στέλνονται σε αυτές Ο αποστολέας δεν γνωρίζει τους κόμβους/διεργασίες που είναι εγγεγραμμένοι στη διεύθυνση πολυεκπομπής (οι κόμβοι προσέρχονται/αποχωρούν δυναμικά) Η αποστολή μηνυμάτων σε διεύθυνση πολυεκπομπής γίνεται χωρίς εγγυήσεις παράδοσης (best effort) Οι δρομολογητές του διαδικτύου υποστηρίζουν (θεωρητικά) την πολυεκπομπή οι διαχειριστές την περιορίζουν σε τοπικό επίπεδο Κατανεμημένα Συστήματα 60 lalis@inf.uth.gr

Συνδρομητική επικοινωνία (publish-subscribe) Τα μηνύματα προωθούνται/δρομολογούνται με βάση το θέμα (είδος) της πληροφορίας που περιέχουν Τα διάφορα μέρη δεν χρησιμοποιούν συγκεκριμένα άκρα επικοινωνίας ή διευθύνσεις επικοινωνίας Γίνεται ρητή καταγραφή των ενδιαφερομένων για κάθε θέμα, και ειδοποίηση όταν υπάρχει νέο μήνυμα Αποστολέας -> εκδότης (publisher) Παραλήπτης -> συνδρομητής (subscriber) Κατανεμημένα Συστήματα 61 lalis@inf.uth.gr

Ενδεικτικό API Subscriber: int subscribe(subjectid s); int unsubscribe(subjectid s); void recv_msg(subjectid s, char **msg, int mlen); Publisher: int publish_msg(subjectid s, char *msg, int mlen); η δρομολόγηση των μηνυμάτων γίνεται με βάση το περιεχόμενο τους Κατανεμημένα Συστήματα 62 lalis@inf.uth.gr

Κεντρικοποιημένη υλοποίηση Ένας μοναδικός εξυπηρετητής μεσολαβεί ανάμεσα στους εκδότες και συνδρομητές Οι συνδρομητές δηλώνουν στον εξυπηρετητή το είδος των μηνυμάτων που τους ενδιαφέρουν Οι εκδότες στέλνουν τα μηνύματα στον εξυπηρετητή Ο εξυπηρετητής προωθεί κάθε μήνυμα μόνο στους συνδρομητές που έχουν δηλώσει ενδιαφέρον Κεντρικό σημείο βλάβης και συμφόρησης Ο εξυπηρετητής μπορεί να είναι πολύ μακριά από τους εκδότες και συνδρομητές (που μπορεί να είναι κοντά) Κατανεμημένα Συστήματα 63 lalis@inf.uth.gr

server subscribe publish_msg recv_msg Κατανεμημένα Συστήματα 64 lalis@inf.uth.gr

publish_msg server subscribe publish_msg recv_msg Κατανεμημένα Συστήματα 65 lalis@inf.uth.gr

server publish_msg subscribe recv_msg Κατανεμημένα Συστήματα 66 lalis@inf.uth.gr

Κατανεμημένη υλοποίηση Η υπηρεσία υλοποιείται από πολλούς εξυπηρετητές Οι εξυπηρετητές οργανώνονται σε ένα δίκτυο το σχήμα του δικτύου μπορεί να είναι ιεραρχικό ή ομότιμο Κάθε εκδότης και συνδρομητής επικοινωνεί με έναν εξυπηρετητή (π.χ., τον πλησιέστερο) Τα μηνύματα δρομολογούνται ανάμεσα στους εξυπηρετητές με βάση πληροφορίες για τις τρέχουσες εκδόσεις και συνδρομές Κατανεμημένα Συστήματα 67 lalis@inf.uth.gr

subscribe publish_msg recv_msg Κατανεμημένα Συστήματα 68 lalis@inf.uth.gr

Τοπική διαχείριση συνδρομών Κάθε εξυπηρετητής με συνδρομητές κρατά τοπικά τις συνδρομές (προτιμήσεις) των πελατών του Κάθε μήνυμα προωθείται σε όλους τους εξυπηρετητές Κάθε εξυπηρετητής προωθεί στους συνδρομητές του μόνο τα μηνύματα που τους ενδιαφέρουν Πρόβλημα κλιμάκωσης αν #msgs >> #matches υπάρχουν λίγοι συνδρομητές στο δίκτυο Χάνονται πόροι για την άσκοπη μετάδοση μηνυμάτων προς κατευθύνσεις που δεν οδηγούν σε συνδρομητές Κατανεμημένα Συστήματα 69 lalis@inf.uth.gr

subscribe subscription info Κατανεμημένα Συστήματα 70 lalis@inf.uth.gr

subscription info Κατανεμημένα Συστήματα 71 lalis@inf.uth.gr

publish_msg recv_msg subscription info Κατανεμημένα Συστήματα 72 lalis@inf.uth.gr

publish_msg subscription info Κατανεμημένα Συστήματα 73 lalis@inf.uth.gr

Προώθηση πληροφορίας συνδρομών Κάθε εξυπηρετητής με συνδρομητές μεταδίδει τις συνδρομές προς όλους τους εξυπηρετητές Ένας εξυπηρετητής προωθεί ένα μήνυμα μόνο στους εξυπηρετητές από τους οποίους έχουν λάβει πληροφορία για αντίστοιχους συνδρομητές Ιδανικά, η προώθηση μηνυμάτων για τα οποία δεν υπάρχουν καθόλου συνδρομητές «κόβεται» απευθείας στους εξυπηρετητές όπου έχουν συνδεθεί οι εκδότες Σημαντική μείωση άσκοπων προωθήσεων μηνυμάτων Προκύπτει «αυτόματα» ένα multicast tree, καθώς η πληροφορία συνδρομής ταξιδεύει προς τον εκδότη Κατανεμημένα Συστήματα 74 lalis@inf.uth.gr

subscribe subscription info Κατανεμημένα Συστήματα 75 lalis@inf.uth.gr

subscription info Κατανεμημένα Συστήματα 76 lalis@inf.uth.gr

subscription info Κατανεμημένα Συστήματα 77 lalis@inf.uth.gr

publish_msg recv_msg subscription info Κατανεμημένα Συστήματα 78 lalis@inf.uth.gr

publish_msg subscription info Κατανεμημένα Συστήματα 79 lalis@inf.uth.gr

Διαφημίσεις Οι εκδότες καταθέτουν διαφημίσεις (advertisements) για το θέμα μηνυμάτων που πρόκειται να δημοσιεύουν Αν ένας εξυπηρετητής δεν πρόκειται να προωθήσει μηνύματα για ένα θέμα, τότε δεν έχει νόημα να αποθηκεύει ή να προωθεί πληροφορία συνδρομής για αυτό το θέμα προς την «αντίθετη» κατεύθυνση Κέρδος αν #advertisements << #subscriptions όταν αλλάζουν συχνά οι συνδρομές / οι συνδρομητές Δεν χάνονται πόροι για την μετάδοση/αποθήκευση συνδρομών προς κατευθύνσεις που δεν οδηγούν σε αντίστοιχους εκδότες Κατανεμημένα Συστήματα 80 lalis@inf.uth.gr

advertise advertisement info subscription info Κατανεμημένα Συστήματα 81 lalis@inf.uth.gr

advertisement info subscription info Κατανεμημένα Συστήματα 82 lalis@inf.uth.gr

advertisement info subscription info Κατανεμημένα Συστήματα 83 lalis@inf.uth.gr

subscribe advertisement info subscription info Κατανεμημένα Συστήματα 84 lalis@inf.uth.gr

advertisement info subscription info Κατανεμημένα Συστήματα 85 lalis@inf.uth.gr

subscribe advertisement info subscription info Κατανεμημένα Συστήματα 86 lalis@inf.uth.gr

advertisement info subscription info Κατανεμημένα Συστήματα 87 lalis@inf.uth.gr

Περιγραφή περιεχομένου και συνδρομών Στην απλούστερη περίπτωση μπορεί να είναι ένα «απλό» αναγνωριστικό (ακέραιος, όνομα) Οι περιγραφές μπορεί να είναι πιο πολύπλοκες π.χ., βασισμένες σε κατάλληλη οντολογία Όσο πιο ετερογενής/πολύπλοκη είναι η πληροφορία, τόσο πιο σημαντική είναι η καλή δόμηση της Αυξημένες δυνατότητες για καλύτερο φιλτράρισμα και πιο εστιασμένη προώθηση μηνυμάτων Υπολογισμός σχέσεων επικάλυψης των συνδρομών μείωση της πληροφορίας στους ενδιάμεσους κόμβους επιτάχυνση φιλτραρίσματος μηνυμάτων Κατανεμημένα Συστήματα 88 lalis@inf.uth.gr

Sports Tennis Cricket Soccer Sports.Soccer Sports.Tennis Sports.Cricket Sports.Soccer Sports.* Κατανεμημένα Συστήματα 89 Sports.Tennis lalis@inf.uth.gr