Κατανεµηµένα Συστήµατα

Σχετικά έγγραφα
Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Αποµακρυσµένη κλήση διαδικασιών

Κατανεµηµένασυστήµατα αρχείων

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

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

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

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

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

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

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

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

Πληροφορίες. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Ζητήµατα Επικοινωνίας Πελάτη-Εξυπηρετητή. Εξυπηρετητής

Αρχιτεκτονικές Συστημάτων

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

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

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

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

Πληροφορίες. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Εισαγωγή. Στόχοι Κατανεµηµένων Συστηµάτων. ιαφάνεια

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Φύλλο Κατανόησης 1.8

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

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

7.2 Τεχνολογία TCP/IP

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

1.8 Το μοντέλο OSI 1 / 33

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

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

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

Remote Method Invocation (RMI)

Λειτουργικά Συστήματα (Λ/Σ)

Σκοπιµότητα των firewalls

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Λειτουργικά Συστήµατα

Σχεδιασµός βασισµένος σε συνιστώσες

Λειτουργικά Συστήματα Η/Υ

Λιβανός Γιώργος Εξάμηνο 2017Β

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

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

Εισαγωγή στην Πληροφορική

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

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

Εισαγωγή στην Πληροφορική

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

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Επίπεδο δικτύου IP Forwading κτλ

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών

Ενότητα 7. Εισαγωγή στην Πληροφορική. Κεφάλαιο 7Α. Χρήσεις ικτύων. Ταυτόχρονη πρόσβαση. Χειµερινό Εξάµηνο

Κεφάλαιο 13. Λογισµικό Υλικό. Λειτουργικό σύστηµα υποστήριξης δικτύου. Ανακεφαλαίωση Ερωτήσεις

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

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

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

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

Μελέτη Μεθοδολογιών ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού

Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Βασικοί Ορισµοί

Μοντέλο OSI 1.8. Κεφάλαιο 1. ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : Τάξη. : Β Τομέα Πληροφορικής Μάθημα. : Δίκτυα Υπολογιστών I Διδάσκων

Επικοινωνία. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (E) Επικοινωνία 1

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance

Εισαγωγή στην Πληροφορική

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

Transcript:

Κατανεµηµένα Συστήµατα Θερινό Σχολείο ιαχείρισης Γνώσης και Πληροφορίας 30/06/2008 04/07/2008 Τµήµα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστηµάτων Πανεπιστήµιο Αιγαίου 83200 Καρλόβασι, Σάµος

Στόχοι Παρουσίασης Η κατανόηση των αρχών που διέπουν την περιοχή των κατανεµηµένων συστηµάτων Η έκθεση στις εµπλεκόµενες πολυπλοκότητες της σχεδίασης και κατασκευής κατανεµηµένων εφαρµογών Η απόκτηση επίγνωσης των ερευνητικών θεµάτων που διέπουν την περιοχή 2

Συµβολή εδοµένο: Η πληροφορία, οιασδήποτε µορφής, παύει να είναι συγκεντρωτική και κατανέµεται σε ένα δικτυακό περιβάλλον, πιθανόν ετερογενές. Συνέπεια: Η επίγνωση των αρχών κατανοµής και κατανεµηµένων συστηµάτων εφαρµογών επιτρέπει την ορθή διαχείριση της πληροφορίας. 3

Θέµατα: Αρχές κατανοµής και κατανεµηµένων συστηµάτων Συγκεντρωτικά έναντι κατανεµηµένων συστηµάτων ιάκρισηκατανεµηµένωνλειτουργικώνσυστηµάτων, κατανεµηµένων συστηµάτων εφαρµογών και κατανεµηµένων συστηµάτων βάσεων δεδοµένων Αρχιτεκτονικές ανάπτυξης κατανεµηµένων εφαρµογών σε ετερογενή περιβάλλοντα και πλατφόρµες ανάπτυξης κατανεµηµένων εφαρµογών Εξαρτήµατα λογισµικού, κατανοµή και διαλειτουργικότητα σε κατανεµηµένο περιβάλλον 4

Κατανεµηµένα Συστήµατα Αρχές University of the Aegean ιαχείριση Πληροφορίας

Ορισµός Κατανεµηµένου Συστήµατος You know you have one when the crash of a computer you ve never heard of stops you from getting any work done (Lamport 1987) 6

Ορισµός (συν.) We define a distributed system as a collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility (Coulouris 1994) 7

Ορισµός (συν.) a system of multiple autonomous processing elements, cooperating in a common purpose or to achieve a common goal (Burns & Wellings 1997) 8

Ορισµός (συν.) one in which components located at networked computers communicate and coordinate their actions only by passing messages (Coulouris et al 2001) 9

Εν αρχή: Κεντρικοποιηµένασυστήµατα. ηλαδή συστήµατα µε µοναδική CPU, µνήµη, περιφερειακά και κάποια τερµατικά. Με την πάροδο: Ανάπτυξη ισχυρών µικροεπεξεργαστών. Ανάπτυξη τοπικών δικτύων (Local Area Networks LAN) Αποτέλεσµα: υνατότητα ανάπτυξης κατανεµηµένων συστηµάτων. Βασικό χαρακτηριστικό περισσότερες από µία CPU. 10

Πλεονεκτήµατα Κατανεµηµένων έναντι Κεντρικοποιηµένων συστηµάτων Οικονοµία Ταχύτητα Έµφυτη κατανοµή Οι µικροεπεξεργαστές παρέχουν καλύτερο λόγο κόστους/απόδοσης από τα κεντρικά υπολογιστικά συστήµατα Ένα κατανεµηµένο σύστηµα µπορεί να έχει συνολικά περισσότερη υπολογιστική ισχύ από ένα κεντρικό υπολογιστικό σύστηµα Μερικές εφαρµογές είναι από τη φύση τους κατανεµηµένες δηλ. αναφέρονται σε ξεχωριστές µηχανές 11

Πλεονεκτήµατα Κατανεµηµένων έναντι Κεντρικοποιηµένων συστηµάτων (συν.) Αξιοπιστία ιαδοχική ανάπτυξη Αν µία µηχανή καταρρεύσει, το σύστηµα µπορεί να συνεχίσει να λειτουργεί Μπορεί να προστεθεί υπολογιστική ισχύς µέσω διαδοχικών αυξήσεων 12

Πλεονεκτήµατα Κατανεµηµένων έναντι ανεξάρτητων υπολογιστών ιαµοιρασµός δεδοµένων ιαµοιρασµός συσκευών Ευελιξία Επιτρέπεται η πρόσβαση πολλαπλών χρηστών σε κοινές βάσεις δεδοµένων Επιτρέπεται σε πολλούς χρήστες να διαµοιράζονται κοινές συσκευές (π.χ. εκτυπωτές) ιανέµει το φόρτο εργασίας στις διαθέσιµες µηχανές µε τον περισσότερο αποτελεσµατικό, σε ό,τι αφορά το κόστος, τρόπο 13

Μειονεκτήµατα Κατανεµηµένων συστηµάτων Λογισµικό ικτύωση Ασφάλεια ύσκολο στον προγραµµατισµό το λογισµικό για κατανεµηµένα συστήµατα Το δίκτυο µπορεί να κορεστεί Η έννοια της εύκολης πρόσβασης έχει εφαρµογή σε κρυφά δεδοµένα 14

Ζητήµατα Υλικού Κατανεµηµένα συστήµατα => Πολλαπλές CPU Με διαµοιραζόµενη µνήµη Πολυεπεξεργαστές Στενά συνδεδεµένα συστήµατα Παράλληλα συστήµατα Χωρίς διαµοιραζόµενη µνήµη Πολυϋπολογιστές Χαλαρά συνδεδεµένα συστήµατα Κατανεµηµένα συστήµατα 15

Ζητήµατα Λογισµικού Λειτουργικά συστήµατα δικτύου Κατανεµηµένα λειτουργικά συστήµατα Πολυεπεξεργαστές µε διαµοιραζόµενη µνήµη Λογισµικό για πολλαπλές CPU Οι χρήστες εργάζονται σε ανεξάρτητους σταθµούς εργασίας, επικοινωνούν µέσω ενός διαµοιραζόµενου συστήµατος αρχείων και κάθε χρήστης έχει τη δυνατότητα της κυριότητας του σταθµού του Μετατρέπεται το σύνολο του υλικού και του λογισµικού σε ένα µοναδικό και ολοκληρωµένο σύστηµα ίνουν την εικόνα ενός µοναδικού συστήµατος το οποίο επιτυγχάνεται κεντρικοποιώντας οτιδήποτε 16

Ζητήµατα Σχεδίασης ιαφάνεια Ευελιξία Αξιοπιστία Απόδοση Ικανότητα κλιµάκωσης 17 University of the Aegean ιαχείριση Πληροφορίας

ιαφάνεια (transparency) Τοποθέτησης (location) Μετανάστευσης (migration) Οµοιοτυπίας (replication) Οι χρήστες δεν γνωρίζουν για την τοποθεσία υλικού και λογισµικού Οι πόροι να είναι ελεύθεροι να µετακινούνται από µία τοποθεσία σε άλλη χωρίς αλλαγή του ονόµατός τους Το λειτουργικό σύστηµα είναι ελεύθερο να δηµιουργεί επιπρόσθετα οµοιότυπα χωρίς να το αντιλαµβάνεται ο χρήστης 18

ιαφάνεια (συν) Ταυτοχρονισµού (concurrency) Παραλληλισµού (parallelism) Το σύστηµα επιτυγχάνει να αποκρύψει από τους χρήστες ότι κάποιοι άλλοι ταυτόχρονα ζητούν τους ίδιους πόρους Να υπάρχει η δυνατότητα δέσµευσης κάποιας υπολογιστικής ισχύος για µία εργασία χωρίς να γίνεται αντιληπτό από το χρήστη 19

Ευελιξία (flexibility) ιακρίνουµε τα µοντέλα: µονολιθικού πυρήνα (monolithic kernel)και µικροπυρήνα (microkernel) 20 University of the Aegean ιαχείριση Πληροφορίας

Αξιοπιστία (reliability) Σχετίζεται µε: την διαθεσιµότητα (availability) την ασφάλεια (security) την ανεκτικότητα σε σφάλµατα (fault tolerance) 21

Απόδοση ιακρίνουµε: Χαµηλής τάξης παραλληλισµό: εργασίες που περιλαµβάνουν ένα µεγάλο αριθµό υπολογισµών µικρού µεγέθους και ιδιαίτερα αυτές που χαρακτηρίζονται από µεγάλο βαθµό αλληλεπίδρασης Υψηλής τάξης παραλληλισµό: εργασίες που περιλαµβάνουν µεγάλους υπολογισµούς, χαµηλό ρυθµό αλληλεπίδρασης και λίγα δεδοµένα 22

Ικανότητα Κλιµάκωσης 23 University of the Aegean ιαχείριση Πληροφορίας

Κατανεµηµένα Συστήµατα Επικοινωνία University of the Aegean ιαχείριση Πληροφορίας

Επικοινωνία στα Κατανεµηµένα συστήµατα Βασίζεται στη µεταβίβαση µηνυµάτων (λόγω απουσίας διαµοιραζόµενης µνήµης) => Απαιτείται συµφωνία φόρµας µηνυµάτων Πρότυπο: Μοντέλο Αναφοράς για τη ιασύνδεση Ανοικτών Συστηµάτων (International Standardization Organization Open System Interconnection - ISO OSI) ή Μοντέλο OSI 25

Μοντέλο OSI ιεργασία Α Εφαρµογής Παρουσίασης Συνόδου Μεταφοράς ικτύου ιεργασία Β Εφαρµογής Παρουσίασης Συνόδου Μεταφοράς ικτύου Σύνδεσης Φυσικό Σύνδεσης Φυσικό 26

Μοντέλο OSI (συν) Τα κατώτερα στρώµατα (συνόδου έως φυσικό) ασχολούνται µε την αξιόπιστη και αποδοτική µεταφορά των bits. Τα δύο ανώτερα στρώµατα ασχολούνται µε την έννοια των bits. 27

Μοντέλο OSI (συν) Επίπεδο Εφαρµογής (application layer) Συλλογή από πρωτόκολλα για συνήθεις δραστηριότητες όπως ηλεκτρονικό ταχυδροµείο, µεταφορά αρχείων και σύνδεσης αποµακρυσµένων τερµατικών σε υπολογιστές (X.400 e-mail, X.500 directory server). Επίπεδο Παρουσίασης (presentation layer) Ασχολείται µε το νόηµα των bitsέτσι ώστε να δίνεται η δυνατότητα επικοινωνίας υπολογιστών µε διαφορετικές εσωτερικές αναπαραστάσεις των δεδοµένων. 28

Μοντέλο OSI (συν) Επίπεδο Συνόδου (session layer) Συγχρονίζει. Επίπεδο Μεταφοράς (transport layer) Ελέγχει για τη σωστή σειρά των πακέτων ποτ µεταδίδονται. Γνωστά πρωτόκολλα TCP και UDP. Επίπεδο ικτύου (network layer) Υπεύθυνο για τη δροµολόγηση (routing)δηλ. για την αναζήτηση της βέλτιστης διαδροµής. Πρωτόκολλα δικτύου: Χ.25 το οποίο αποτελεί πρωτόκολλο µε σύνδεση, IP πρωτόκολλο χωρίς σύνδεση. 29

Μοντέλο OSI (συν) Επίπεδο Σύνδεσης (data-link layer) Οµαδοποιεί τα bit σε πλαίσια (frames)και ελέγχει εάν κάθε πλαίσιο έχει ληφθεί σωστά. Φυσικό Επίπεδο (physical layer) Μετάδοση των bits 0 & 1. 30

Προβλήµατα του µοντέλου OSI Καθυστέρηση λόγω επεξεργασίας των µηνυµάτων σε πολλά επίπεδα. Στα δίκτυα ευρείας περιοχής, δεδοµένου το χαµηλού µεγέθους µετάδοσης, η καθυστέρηση δεν είναι τόσο εµφανής. Στα τοπικά δίκτυα, όµως, η καθυστέρηση είναι εµφανής και για το λόγο αυτό τα κατανεµηµένα συστήµατα τοπικών δικτύων χρησιµοποιούν µόνο ένα µέρος της στοίβας των πρωτοκόλλων. 31

Μοντέλο Πελάτη/Εξυπηρετητή (client/server) Βασική ιδέα: να δοµηθεί το λειτουργικό σύστηµα ως συνεργαζόµενες διεργασίες, τους εξυπηρετητές που προσφέρουν τις υπηρεσίες τους και τους πελάτες που είναι οι χρήστες των υπηρεσιών. Το µοντέλο βασίζεται, συνήθως, σε ένα απλό πρωτόκολλο αίτησης/απάντησης (request/reply). Ο πελάτης στέλνει µήνυµα αίτησης ζητώντας από τον εξυπηρετητή κάποια υπηρεσία. Ο εξυπηρετητής εκτελεί τη διαδικασία και επιστρέφει τα δεδοµένα που ζητήθηκαν ή ένα µήνυµα λάθους. 32

Πλεονέκτηµα µοντέλου Πελάτη/Εξυπηρετητή Πηγάζει από την απλότητα του µοντέλου, η στοίβα των πρωτοκόλλων είναι µικρότερη και κατά συνέπεια αποδοτικότερη. Παράδειγµα Σε τοπικό δίκτυο µε όµοιες µηχανές, χρήσιµα είναι το φυσικό επίπεδο, το επίπεδο σύνδεσης και το επίπεδο συνόδου το οποίο καλύπτεται από το πρωτόκολλο αίτησης/απάντησης το οποίο καθορίζει ένα σύνολο από επιτρεπτά µηνύµατα αίτησης και απάντησης. Τα υπόλοιπα επίπεδα µπορούν να παραλειφθούν. 33

Τύποι πακέτων Τύπος Αίτηση Απάντηση Επιβεβαίωση Έλεγχος ύπαρξης Επιβεβαίωση ύπαρξης Επανάληψη προσπάθειας Άγνωστη διεύθυνση Από Π Ε Ε/Π Π Ε Ε Ε Προς Ε Π Π/Ε Ε Π Π Π Περιγραφή Ο πελάτης ζητά υπηρεσίες Ο εξυπηρετητής απαντά στον πελάτη Το προηγούµενο πακέτο έχει φτάσει Έλεγχος αν ο εξυπηρετητής έχει καταρρεύσει Ο εξυπηρετητής λειτουργεί κανονικά Ο εξυπηρετητής δεν έχει χώρο εν υπάρχει διεργασία που να χρησιµοποιεί αυτή τη διεύθυνση 34

Κλήση Αποµακρυσµένων ιαδικασιών (Remote Procedure Call RPC) Βασική ιδέα: να επιτραπεί στα προγράµµατα να καλούν διαδικασίες που εκτελούνται σε διαφορετικές µηχανές (Birrell & Nelson 1984) Όταν µία διαδικασία στη µηχανή Α καλέσει µία διαδικασία στη µηχανή Β, η εκτέλεση της διεργασίας στην Α αναστέλλεται και η εκτέλεση της καλούµενης διαδικασίας συνεχίζεται στη µηχανή Β. 35

Κλήση Αποµακρυσµένων ιαδικασιών (συν) Πληροφορίες δίνονται από την καλούσα και την καλούµενη µε τη µορφή παραµέτρων ή και να επιστραφούν σαν το αποτέλεσµα της διαδικασίας. εν λαµβάνεται γνώση της µεταβίβασης των µηνυµάτων και της λειτουργίας εισόδου/εξόδου. Η διαφάνεια της λειτουργίας του µηχανισµού RPCεπιτυγχάνεται µε την χρήση ψευδό-ρουτινών (stubs)εξυπηρετούµενου και εξυπηρετητή. 36

Κλήση Αποµακρυσµένων ιαδικασιών (συν) Μηχανή Πελάτη Μηχανή Εξυπ/τή Client Server call return return call Stub Stub form deform form deform Network 37

Πιθανά σφάλµατα σ ένα σύστηµα RPC Ο πελάτης δεν µπορεί να εντοπίσει τον εξυπηρετητή. Το µήνυµα αίτησης από τον πελάτη στον εξυπηρετητή έχει χαθεί. Το µήνυµα απάντησης από τον εξυπηρετητή στον πελάτη έχει χαθεί. Ο εξυπηρετητής τίθεται εκτός αφού έχει λάβει µία αίτηση. Ο πελάτης τίθεται εκτός αφού έχει στείλει την αίτηση. 38

Κατανεµηµένα Συστήµατα ιαδράσεις University of the Aegean ιαχείριση Πληροφορίας

Πραγµατικά συστήµατα Τα υπολογιστικά συστήµατα πρέπει να διαθέτουν: ικανότητα κλιµάκωσης ταχύτητα αξιοπιστία ασφάλεια διασφάλιση της ακεραιότητας των δεδοµένων και να είναι εύκολα στον προγραµµατισµό 40

Γιατί διαδράσεις; Γιατί οι διαδράσεις και η επεξεργασία των διαδράσεων είναι ενδιαφέρουσα; γίνεται εφικτός ο προγραµµατισµός υπολογιστικών συστηµάτων υψηλής απόδοσης, αξιόπιστων και µε δυνατότητα κλιµάκωσης 41

Ο προγραµµατισµός είναι απλός οι περισσότερες λειτουργίες είναι πραγµατικά απλές η πώληση ενός βιβλίου, η κράτηση ενός εισιτηρίου > κάποιες αναζητήσεις σε βάσεις δεδοµένων >κάποιοι υπολογισµοί > κάποιες ενηµερώσεις βάσεων δεδοµένων 42

Ο πραγµατικός προγραµµατισµός είναι δύσκολος τα πραγµατικά συστήµατα πρέπει να διαθέτουν ταχύτητα τα πραγµατικά συστήµατα πρέπει να είναι ικανά να κλιµακωθούν τα πραγµατικά συστήµατα πρέπει να είναι αξιόπιστα τα πραγµατικά συστήµατα πρέπει να έχουν τη δυνατότητα να επανακάµπτουν από τυχόν αστοχίες, όταν αυτές συµβαίνουν 43

Ταχύτητα και Κλιµάκωση Ταχύτητα γρήγορες αποκρίσεις στις αιτήσεις οι πελάτες δεν πρέπει να περιµένουν πολύ, ιδιαίτερα στο Web Κλιµάκωση οι τράπεζες έχουν χιλιάδες µηχανήµατα ATM, οι σελίδες του Web µπορεί να έχουν χιλιάδες χρήστες όλοι απαιτούν ταχύτατους χρόνους απόκρισης 44

Ταχύτητα και Κλιµάκωση Λύση αποτελεί ο ταυτοχρονισµός διεκπεραίωση πολλαπλών λειτουργιών µαζί επεξεργασία κατά την αναµονή λειτουργιών εισόδου/εξόδου χρήση πολλαπλών επεξεργαστών Πρόβληµα αποτελεί ο ταυτοχρονισµός εµπλοκή µεταξύ προγραµµάτων εµπλοκή σε κοινούς πόρους 45

Αξιοπιστία Τι συµβαίνει όταν ένα υπολογιστικό σύστηµα πέφτει ; χάνονται πελάτες, πωλήσεις, χρήµατα Λύσεις συστήµατα σε αναµονή βασιζόµενες σε διαδράσεις 46

Αποτυχία Το υλικό των υπολογιστών αστοχεί Το λογισµικό των συστηµάτων έχει λάθη Τα προγράµµατα των εφαρµογών έχουν λάθη Τα συστήµατα πρέπει να παραµένουν αξιόπιστα να διατηρείται η ακεραιότητα των δεδοµένων επαναφορά από λάθη και αστοχίες 47

Ακεραιότητα δεδοµένων Κάθε επιχείρηση έχει κανόνες για τα δεδοµένα της τα χρήµατα πρέπει πάντα να λογίζονται οι θέσεις δεν θα πρέπει να πωλούνται δύο φορές ή να χάνονται Εύκολη εάν το σύστηµα δεν αποτυγχάνει ποτέ Οι διαδράσεις στοχεύουν στη διατήρηση της ακεραιότητας παρά τις πιθανές αποτυχίες 48

Συστήµατα διαδράσεων αποδοτικός χειρισµός µεγάλου αριθµού αιτήσεων αποφεύγονται τα λάθη από τον ταυτοχρονισµό αποφεύγονται τα µερικά αποτελέσµατα µετά από αποτυχίες αποφεύγεται η καθυστέρηση δεν χάνονται δεδοµένα 49

Τι είναι µία διαδράση; µία ολοκληρωµένη, αδιαίρετη λειτουργία κράτηση θέσης µεταφορά χρηµάτων πώληση αγαθών δανεισµός βιβλίου 50 University of the Aegean ιαχείριση Πληροφορίας

Συστήµατα διαδράσεων πρέπει να ικανοποιούν τα χαρακτηριστικά: ατοµικότητα συνέπεια αποµόνωση διάρκεια 51 University of the Aegean ιαχείριση Πληροφορίας

Ατοµικότητα οι διαδράσεις πρέπει να είναι ατοµικές όλα ή τίποτα > εκτέλεση όλων ή καθόλου > ακόµα και µετά από αποτυχίες και επαναφορές οι επιτυχηµένες διαδράσεις κατατίθενται > οι αλλαγές γίνονται µόνιµες οι αποτυχηµένες διαδράσεις εγκαταλείπονται > οι αλλαγές δεν σηµειώνονται 52

Παράδειγµα ατοµικότητας µεταφορά χρηµάτων µεταφορά 100 από λογαριασµό Α σε λογαριασµό Β >ανάληψη 100 από Α >κατάθεση 100 στον Β και οι δύο ενέργειες πρέπει να γίνουν ή καµία σε περίπτωση αποτυχίας µετά την ανάληψη; > τα χρήµατα χάνονται; 53

Συνέπεια µεταφορά δεδοµένων από µία σταθερή κατάσταση σε µία άλλη τα χρήµατα σε µία τράπεζα λογίζονται και δεν χάνονται αποτελεί ευθύνη του προγράµµατος της εφαρµογής 54

Αποµόνωση κάθε διαδράση νοµίζει ότι τρέχει µόνη της ο ταυτοχρονισµός καλύπτεται διαδράσεις οι οποίες τρέχουν µαζί δεν παρεµβαίνουν η µία στην άλλη υπάρχει µία αίσθηση σειριακής λειτουργίας των διαδράσεων 55

Παράδειγµα αποµόνωσης σε τράπεζα προσπάθεια ανάληψης των τελευταίων 100 από δύο µηχανήµατα ATM > η αποµόνωση αποτρέπει την παραπάνω ενέργεια > η δεύτερη διαδράση περιµένει την πρώτη να ολοκληρώσει 56

ιάρκεια όταν κατατίθενται αλλαγές τότε αυτές είναι οριστικές ακόµα και µετά από περιπτώσεις αποτυχίας και επαναφοράς οι αλλαγές εγγράφονται στο δίσκο αναµονή έως ότου ολοκληρωθεί η εγγραφή κυρίως ευθύνη των βάσεων δεδοµένων 57

Κατανεµηµένες διαδράσεις όλα τα παραπάνω σε πολλαπλά υπολογιστικά συστήµατα γεωγραφικά διασκορπισµένα πολλαπλοί εξυπηρετητές εφαρµογών πολλαπλοί εξυπηρετητές βάσεων δεδοµένων όλα εργάζονται µαζί µία απλή διαδράση µπορεί να χρησιµοποιήσει όλους τους παραπάνω πόρους τα χαρακτηριστικά που προαναφέραµε διατηρούνται 58

Κατανεµηµένες διαδράσεις (συν.) τι συµβαίνει όταν µία διαδράση ενηµερώνει δεδοµένα σε δύο ή και περισσότερα συστήµατα; η διαδράση εξακολουθεί να πρέπει να είναι ατοµική όλες οι ενηµερώσεις επιτυγχάνουν ή αποτυγχάνουν όµως, τα συστήµατα µπορούν ανεξάρτητα να αποτυγχάνουν και να επανέρχονται ο διαχειριστής διαδράσεων συντονίζει τις αλλαγές 59

Ενέργεια δύο φάσεων ο διαχειριστής διαδράσεων συντονίζει τις ενηµερώσεις φάση 1η καλούνται όλοι οι εµπλεκόµενοι να ετοιµαστούν για να ενεργήσουν φάση 2η καλούνται όλοι οι εµπλεκόµενοι να ενεργήσουν ο διαχειριστής διαδράσεων γνωρίζει πάντα την κατάσταση της διαδράσης 60

Μη ενέργεια δύο φάσεων ενηµερώσεις δύναται να χαθούν και τα δεδοµένα να γίνουν ασυνεπή σε περίπτωση που τα συστήµατα αποτύχουν και επανέρθουν 61

Φάση 1η ο διαχειριστής διαδράσεων καλεί τους διαχειριστές πόρων να προετοιµαστούν για να ενεργήσουν οι διαχειριστές πόρων µπορούν να σώσουν τις προτιθέµενες αλλαγές τους και να αποκριθούν ναι κάθε διαχειριστής πόρων µπορεί να αποκριθεί όχι κανένας διαχειριστής πόρων δεν ενεργεί εάν όλοι οι διαχειριστές πόρων αποκριθούν ναι τότε πήγαινε στη φάση 2 εάν κάποιος διαχειριστής πόρων αποκριθεί όχι τότε ενηµερώνονται όλοι να εγκαταλείψουν τις προτιθέµενες αλλαγές 62

Φάση 2η ο διαχειριστής διαδράσεων καλεί τους διαχειριστές πόρων να ενεργήσουν τις αλλαγές τους υπάρχει η δυνατότητα επαναφοράς από αποτυχία ο κάθε διαχειριστής πόρων γνωρίζει ποια διαδράση ήταν σε εξέλιξη την ώρα της αποτυχίας ο διαχειριστής διαδράσεων γνωρίζει εάν οι διαδράσεις έχουν πετύχει ή αποτύχει 63

Συµµετέχων 64 Ενέργεια δύο φάσεων ετοιµάσου ετοιµάσου ναι όχι ενέργησε εγκατέλειψε Συντονιστής Συµµετέχων Συντονιστής έγινε έγινε Αποτυχηµένη διαδράση Επιτυχηµένη διαδράση University of the Aegean ιαχείριση Πληροφορίας

Κατανεµηµένα Συστήµατα Κατανεµηµένος Προγραµµατισµός University of the Aegean ιαχείριση Πληροφορίας

Πραγµατικά Υπολογιστικά Συστήµατα Τα υπολογιστικά συστήµατα θα πρέπει: να έχουν δυνατότητα κλιµάκωσης, να διαθέτουν ταχύτητα, να είναι αξιόπιστα, να είναι ασφαλή, να είναι εύκολα στον προγραµµατισµό, να υποστηρίζουν υψηλή ακεραιότητα των δεδοµένων και να είναι ολοκληρωµένα. 66

Πραγµατικά Υπολογιστικά Συστήµατα (συν.) Τυπικά κατανεµηµένα και ολοκληρωµένα πολλαπλοί υπολογιστές εργάζονται µαζί βελτιώνοντας, µεταξύ άλλων, την κλιµάκωση και την διαθεσιµότητα. χρησιµοποιούν τεχνολογίες ενδιαµέσων (middleware) ως συνδετικούς κρίκους. ιαδραστικά (transactional) διασφαλίζουν την ακεραιότητα των δεδοµένων 67

Τι είναι ένας ενδιάµεσος; Αποτελεί των συνδετικό κρίκο µεταξύ λογισµικού και επιπλέον περιλαµβάνει συνεργαζόµενες υπηρεσίες για την κατασκευή κατανεµηµένων συστηµάτων. 68

Ενδιάµεσος: Βασικά τµήµατα Κλήσεις σε αποµακρυσµένες υπηρεσίες εµφανίζει τον κατανεµηµένο προγραµµατισµό ως τοπικό καλύπτει τις δικτυακές πολυπλοκότητες και γενικότερα τις πολυπλοκότητες του κατανεµηµένου προγραµµατισµού Τεχνολογίες εξαρτηµάτων Επίκληση Μεταφορά ίκτυο / Λ.Σ. 69

Ονοµασίας 70 Ενδιάµεσος: Συνεργαζόµενες υπηρεσίες Κατάλογου ιαδράσεων Ασφάλειας Βασικά πρόσθετα στον ενδιάµεσο Εκπληρώνουν κοινές ανάγκες των εφαρµογών σε ένα κατανεµηµένο σύστηµα Ενδιάµεσος University of the Aegean ιαχείριση Πληροφορίας

Ενδιάµεσος: Ουσιαστική συνεισφορά Βοηθάει στην αντιµετώπιση προβληµάτων, όπως: προσπέλαση σε παλαιά συστήµατα, ακεραιότητα δεδοµένων, κλιµάκωση, διαθεσιµότητα, ολοκλήρωση µεταξύ ετερογενών τµηµάτων. 71

Κατανεµηµένος προγραµµατισµός Εµπεριέχει: τοπικό προγραµµατισµό και δεδοµένα διαφανή ολοκλήρωση και κατανοµή κλήσεις σε αποµακρυσµένα προγράµµατα προσπέλαση αποµακρυσµένων δεδοµένων κατανεµηµένη φόρτωση σε πολλά συστήµατα αξιοπιστία µέσω αυτονοµίας 72

Κατανεµηµένος προγραµµατισµός: ιαφάνεια φαινοµενικά ως τοπικός προγραµµατισµός κλήσεις διαδικασιών αντικείµενα εξαρτήµατα * Όµως, ο κατανεµηµένος προγραµµατισµός δεν είναι τοπικός * 73

Θέµατα διαφάνειας Ύπαρξη δικτύου λανθάνουσα κατάσταση κολλήµατα εφαρµογών, συµφόρηση δικτύου, αποτυχίες σπασµένοι δεσµοί, χαµένα µηνύµατα,. οι εφαρµογές πρέπει να έχουν την έννοια του δικτύου 74

Αποµακρυσµένες ιαδικασίες διαδικασίες, όχι µέθοδοι Τα πρότυπα είναι ανεξάρτητα γλώσσας προγραµµατισµού οι πελάτες δεν γνωρίζουν και δεν ενδιαφέρονται για την γλώσσα προγραµµατισµού της εφαρµογής του εξυπηρετητή προσδιορίζεται η διεπαφήτης διαδικασίας µε τρόπο ανεξάρτητο ως προς τη γλώσσα προγραµµατισµού 75

Αποµακρυσµένα Αντικείµενα οι κλήσεις αποµακρυσµένων διαδικασιών δεν ήταν αντικειµενοστραφής ως συνέπεια έχουµε τους Object Request Brokers αποµακρυσµένα αντικείµενα µε µεθόδους δηµιουργία/τοποθέτηση αποµακρυσµένων αντικειµένων κλήση των µεθόδων τους 76

Αποµακρυσµένα Αντικείµενα (συν.) πλέον καλούνται οι µέθοδοι αντικειµένων τα αντικείµενα κρατάνε τα δεδοµένα πολλοί πελάτες δύναται να συνδεθούν σε ένα αντικείµενο ζητήµατα διαφάνειας η διάρκεια ζωής ενός αντικειµένου δηµιουργία, διαγραφή, συλλογή σκουπιδιών ταυτοχρονισµός 77

Εξαρτήµατα Τα εξαρτήµατα είναι: επαναχρησιµοποιούµενα τµήµατα λογισµικού µε ορισµένη και σταθερή συµπεριφορά µέσω διεπαφών, καταστάσεων και ιδιοτήτων Επιτρέπουν απλή και αποτελεσµατική επαναχρησιµοποίηση κώδικα τοπικά και αποµακρυσµένα εξαρτήµατα ελαχιστοποιείται η πολυπλοκότητα µέσω των διεπαφών 78

Εξαρτήµατα (συν.) Τα εξαρτήµατα δεν είναι αντικείµενα δεν υπάρχει κληρονοµικότητα δεν υπάρχει εγγενής κατάσταση Ως πλεονεκτήµατα επαναχρησιµοποιούµενος κώδικας µε ορισµένη συµπεριφορά σταθερά και αξιόπιστα 79

ιεπαφές Ορίζουν συµπεριφορά/λειτουργία τα εξαρτήµατα µπορούν να υποστηρίξουν πολλαπλές διεπαφές ίδιες διεπαφές δύναται να παρέχονται από πολλαπλά εξαρτήµατα πολυµορφισµός Οι πελάτες προσπελάζουν µόνο µεθόδους και ιδιότητες όχι τα αντικείµενα και ούτε το εσωτερικό τους 80

Κατανεµηµένες Εφαρµογές Μοντέλο peer-to-peer : εξυπηρετητής ηλεκτρονικού ταχυδροµείο µε εξυπηρετητή ηλεκτρονικού ταχυδροµείου (mail server to mail server) τηλεφωνικές συναλλαγές επιχειρηµατικές (business to business) 81

Κατανεµηµένες Εφαρµογές (συν.) Εφαρµογές πολλαπλών επιπέδων (multi-tier applications) επίπεδο πελάτη: διεπαφές χρήστη επίπεδο εφαρµογής: διεργασίες και κανόνες επίπεδο δεδοµένων: προσπέλαση δεδοµένων και κανόνες ακεραιότητας δεδοµένων 82

Εφαρµογές πολλαπλών επιπέδων Επίπεδο πελάτη (client layer) στατικές σελίδες Web Web-based µέσω προγραµµάτων CGI ενεργές σελίδες Web στον πελάτη ενεργές σελίδες web στον εξυπηρετητή παραδοσιακές εφαρµογές πελάτη πελάτες υπηρεσιών web 83

Εφαρµογές πολλαπλών επιπέδων Επίπεδο εφαρµογής (application layer) πιθανών πολλαπλά επίπεδα κατανοµή και αντιγραφή ανάλογα βασικός στόχος η επαναχρησιµοποίηση της λογικής (business logic) 84

Εφαρµογές πολλαπλών επιπέδων Επίπεδο δεδοµένων (data layer) προάγεται η ακεραιότητα των δεδοµένων αποµόνωση της λογικής από τα δεδοµένα δύναται να διαιρεθούν και να αντιγραφούν 85

Κατανεµηµένα Συστήµατα Κατανεµηµένα Αντικείµενα University of the Aegean ιαχείριση Πληροφορίας

Ενδιάµεσος -Ανακεφαλαίωση Εφαρµογές Αποµακρυσµένες επικλήσεις µεθόδων Αποµακρυσµένες κλήσεις διαδικασιών Πρωτόκολλο αίτησης/απόκρισης Αναπαράσταση δεδοµένων Ενδιάµεσος Λειτουργικό σύστηµα 87

Ενδιάµεσος (συν.) Πλεονεκτήµατα κρύβει το ετερογενές περιβάλλον >πρωτόκολλα >υλικό >λειτουργικά συστήµατα >γλώσσες προγραµµατισµού επιτρέπει τη διαφάνεια τοποθεσίας παρέχει υπηρεσίες 88

Ενδιάµεσος (συν.) επιτρέπει τη διαφάνεια τοποθεσίας παρέχει υπηρεσίες >ασφάλειας >ονοµατολογίας >κλπ 89 University of the Aegean ιαχείριση Πληροφορίας

Μοντέλο αντικειµένου Αντικείµενο δεδοµένα µέθοδοι Σηµαντικό στοιχείο: ενθυλάκωση Αναφορές αντικειµένων µοναδικές ταυτότητες αντικειµένων δεν πρέπει να επαναχρησιµοποιούνται δεν πρέπει να συγχέονται µε τους δείκτες 90

Μοντέλο αντικειµένου (συν.) Μοντέλο αλληλεπίδρασης: επίκληση µεθόδων αναφορά αντικειµένου + όνοµα µεθόδου ιεπαφές υπογραφή συνόλου µεθόδων >τύποι ορισµάτων >επιστρεφόµενες τιµές >εξαιρέσεις 91

Μοντέλο αντικειµένου (συν.) Εξαιρέσεις σηµατοδοτούν σφάλµατα διαχωρίζουν τη διαχείριση σφαλµάτων ο έλεγχος περνάει στον κώδικα διαχείρισης σφάλµατος στόχος: επαναφορά από σφάλµατα προκειµένου να αποφευχθεί η αποτυχία Συλλογή σκουπιδιών διαγράφονται αντικείµενα τα οποία δεν χρησιµοποιούνται 92

Κατανεµηµένα αντικείµενα Συχνά υιοθετείται η αρχιτεκτονική πελάτη/εξυπηρετητή πιθανές σειρές αλληλεπιδράσεων ενισχύεται η ενθυλάκωση ύναται να δηµιουργηθούν αντίγραφα ύναται να µεταναστεύσουν ύναται να προσπελασθούν ταυτοχρόνως 93

Αποµακρυσµένα αντικείµενα Λαµβάνουν αποµακρυσµένες επικλήσεις µεθόδων απαιτούνται αποµακρυσµένες αναφορές αντικειµένων θα πρέπει να είναι µοναδικές σε ολόκληρο το σύστηµα δύναται να χρησιµοποιούνται ως παράµετροι και αποτελέσµατα αποµακρυσµένων επικλήσεων Εκθέτουν αποµακρυσµένες διεπαφές 94

Γλώσσες Ορισµού ιεπαφών Interface Definition Languages - IDL Ο ορισµός διεπαφών ενσωµατώνεται σε µία γλώσσα προγραµµατισµού επιτρέπει τη χρήση µίας απλής γλώσσας επιτρέπει την απεικόνιση παραµέτρων εισόδου/εξόδου ως κανονικές παράµετροι Πρόβληµα: ετερογένεια Λύση: οι γλώσσες ορισµού διεπαφών ανεξάρτητες από τις γλώσσες υλοποίησης 95

Γλώσσες Ορισµού ιεπαφών // Person.idl Struct Person { string name; string place; long year; }; interface PersonList { readonly attribute string listname; void addperson(in Person p); void getperson(in string name, out Person p); }; CORBA IDL 96

Κατανεµηµένη Συλλογή Σκουπιδιών Θα πρέπει να υποστηρίζεται, εάν είναι δυνατόν Συνεργασία µεταξύ τοπικού συλλέκτη σκουπιδιών κατανεµηµένου συλλέκτη σκουπιδιών Συνήθως βασίζεται σε µέτρηση αναφορών 97

Εξαιρέσεις Νέες αποτυχίες αποτυχία αποµακρυσµένης διαδικασίας λανθάνουσα κατάσταση διαδικασίας ή µέσου χάσιµο µηνυµάτων Νέες εξαιρέσεις αποµακρυσµένες εξαιρέσεις 98

Τεχνολογίες ιαλειτουργικότητας Κατανεµηµένων Αντικειµένων RPCs Java RMI CORBA COM/DCOM dotnet 99 University of the Aegean ιαχείριση Πληροφορίας

Βιβλιογραφία -Αναφορές Boger, Java Distributed Systems, Wiley, 2001. George Coulouris, Jean Dollimore and Tim Kindberg, Distributed Systems: Concepts and Design, 3rd Edition, Addison- Wesley, 2001. Jim Farley, Java Distributed Computing, O Reilly & Associates, 1998. Sape Mullender (Editor), Distributed Systems, 2nd Edition, Addison-Wesley, 1993. Andrew S. Tanenbaum, Distributed Operating Systems, Prentice-Hall, 1995. 100

Βιβλιογραφία Αναφορές (συν.) Andrew S. Tanenbaum, Distributed System: Principles and Paradigms, Prentice-Hall, 2001. Wolfgang Emmerich, Engineering Distributed Objects, Wiley 2000. Andrew Birrell, Greg Nelson, Susan S. Owicki and Edward Wobber, Network Objects, Software Practice and Experience 25 (S4) : 87-130 (1995). Theo Dirk Meijler and Oscar Nierstrasz, Beyond Objects: Components, In Cooperative Information Systems: Current Trends and Directions, M. P. Papazoglou, G. Schlageter (Ed.), Academic Press, 49-78 (1997). 101

Βιβλιογραφία Αναφορές (συν.) R. Schantz and D. Schmidt, Middleware for Distributed Systems: Evolving the Common Structure for Network-centric Applications, Encyclopedia of Software Engineering, Wiley & Sons, 2001. 102