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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Network Address Translation (NAT)

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

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

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

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

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

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

Transcript:

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

Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο κοντά στις τεχνολογίες δικτύων (μετάδοση πακέτων) Σχετικά «χαλαρή» διασύνδεση μεταξύ των διεργασιών που αλληλεπιδρούν μεταξύ τους δεν υφίσταται «αυστηρή» σχέση αίτησης-απάντησης υποστήριξη ασύγχρονης και έμμεσης επικοινωνίας Μεγάλο πεδίο εφαρμογών υπολογισμοί υψηλών επιδόσεων (MPI) εμπορικές εφαρμογές μεγάλης κλίμακας (IBM MQ) χαλαρές αλληλεπιδράσεις σε IoT (MQTT) Κατανεμημένα Συστήματα 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/ports Κατανεμημένα Συστήματα 16 lalis@inf.uth.gr

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

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

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

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

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

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

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

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

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

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

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

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

Επανειλημμένη αποστολή μηνύματος a b c d e f g h i j k l m n o p Κατανεμημένα Συστήματα 29 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 Κατανεμημένα Συστήματα 30 lalis@inf.uth.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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