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

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

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

Εισαγωγή Έννοιες Σχετικές Με S/W

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

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

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

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

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

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

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

Κεφάλαιο 4: Λογισμικό Συστήματος

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

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

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

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

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

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

Εισαγωγή στη Σχεδίαση Λογισμικού

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

Περιεχόμενα. Visio / White paper 1

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Περίληψη Λαμπρόπουλος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

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

Κεφάλαιο 4. Λογισμικό Συστήματος

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

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

Χαράλαμπος Καραγιαννίδης

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Αμοιβαίος αποκλεισμός

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

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

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

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

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

Τμήμα του εθνικού οδικού δικτύου (Αττική οδός)

Διαχείριση Πολιτισμικών Δεδομένων

Διαφορές single-processor αρχιτεκτονικών και SoCs

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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

Network Address Translation (NAT)

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1

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

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

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται:

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

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

Νέες Επικοινωνιακές Τεχνολογίες

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες Εισαγωγή... 19

Βάσεις Δεδομένων Ενότητα 1

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

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

Κεφάλαιο 8 Η τεχνολογία των διαδικασιών

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

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

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

Transcript:

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

ΚΛΣ - ΛΣΔ Στην πράξη επιτυχία γνώρισαν τα ΛΣ που ουσιαστικά αντικατέστησαν πλήρως τα απλά συστήματα ενός επεξεργαστή Όλα τα σύγχρονα λειτουργικά συστήματα έχουν δυνατότητες (κατα)μερισμού αρχείων και εκτυπωτών, δηλαδή καλύπτουν τη βασική λειτουργικότητα των παλαιότερων ΛΣ Τα κατανεμημένα συστήματα αρχείων, τα οποία αντιπροσωπεύουν ένα πραγματικά κατανεμημένο μοντέλο εργασίας, είναι μέρος όλων των σύγχρονων λειτουργικών συστημάτων Ο λόγος είναι ότι καλύπτουν πραγματικές ανάγκες: εύκολη ανταλλαγή αρχείων, προσπέλαση αρχείων από οποιοδήποτε σταθμό εργασίας και αυξημένη αξιοπιστία λόγω χρήσης ειδικού υλισμικού για τους εξυπηρετητές Τα κατανεμημένα συστήματα αρχείων κατασκευάζονται πάνω από ΛΣ με την προσθήκη ενός επιπέδου ενδιάμεσου λογισμικού (middleware) το οποίο αξιοποιεί τις βασικές υπηρεσίες ενός ΛΣ για να παρέχει υποστήριξη σε κατανεμημένες εφαρμογές Εισαγωγή: Θέματα S/W 2

ΚΛΣ - ΛΣΔ Οι λόγοι της περιορισμένης επιτυχίας των ΚΛΣ σε σχέση με τα ΛΣ είναι πολλοί Η απαίτηση το σύστημα να είναι ομοιογενές σημαίνει ότι χρειαζόμαστε πολλές πανομοιότυπες μηχανές, σε αντίθεση με τα ΛΣ που λειτουργούν με οποιοδήποτε διαθέσιμο υλισμικό Η απαίτηση όλες οι μηχανές να εκτελούν το ίδιο λειτουργικό σύστημα, το οποίο συνήθως δεν είναι συμβατό με τα λειτουργικά συστήματα που απαιτούν οι χρήστες για την εκτέλεση των εφαρμογών τους Αντίθετα, ένα ΛΣ απαιτεί μόνο προσθήκες σε υπάρχοντα λειτουργικά συστήματα, διευκολύνοντας έτσι την αποδοχή του Το ΚΛΣ απαιτεί από τους χρήστες να παραδώσουν εν μέρει τον έλεγχο των μηχανών τους στο ΚΛΣ, χάνοντας έτσι την αυτονομία τους και πιθανόν και την ασφάλειά τους Σε ένα τοπικό δίκτυο με σταθμούς εργασίας, οι χρήστες διστάζουν να επιτρέψουν σε οποιονδήποτε χρήστη να χρησιμοποιεί τους πόρους τους σε βάρος της επίδοσης των δικών τους εφαρμογών Εισαγωγή: Θέματα S/W 3

Middleware Ούτε τα ΚΛΣ αλλά ούτε και τα ΛΣ δεν ικανοποιούν πραγματικά τα κριτήρια για να θεωρηθούν ΚΣ σύμφωνα με τον ορισμό που δώσαμε Ο σκοπός ενός ΚΛΣ δεν είναι να χειρίζεται ένα σύνολο ανεξάρτητων υπολογιστών Ένα ΛΣ δεν παρέχει μία άποψη ενιαίου συνεκτικού συστήματος Προκύπτει τώρα το ερώτημα εάν είναι δυνατόν να δημιουργηθεί ένα ΚΣ που να έχει τα πλεονεκτήματα και των 2 προσεγγίσεων Την επεκτασιμότητα και την ανοικτή λειτουργία των ΛΣ Την διαφάνεια και την σχετική ευχρηστία των ΚΛΣ Η λύση μπορεί να βρεθεί σε ένα πρόσθετο επίπεδο λογισμικού, το οποίο χρησιμοποιείται στα ΛΣ με σκοπό να κρύβει λίγο πολύ την ετερογένεια του συνόλου των υποκείμενων υπολογιστικών περιβαλλόντων αλλά και να βελτιώνει την διαφάνεια της κατανεμημένης λειτουργίας Εισαγωγή: Θέματα S/W 4

Middleware Το ενδιάμεσο λογισμικό (ΕΛ) εκτελείται πάνω από το ΛΣ κάθε μηχανής, παρέχοντας μια σειρά από υπηρεσίες υψηλού επιπέδου στις κατανεμημένες εφαρμογές Ο βασικός έλεγχος κάθε μηχανής (πχ τοπικοί πόροι) γίνεται από το τοπικό ΛΣ, έτσι ώστε κάθε μηχανή να έχει την αυτονομία της Οι μηχανές μπορεί να είναι ετερογενείς, και από πλευράς υλισμικού και από πλευράς λογισμικού, αρκεί να υποστηρίζουν ένα βασικό σύνολο υπηρεσιών που απαιτούνται από το ενδιάμεσο λογισμικό Το ενδιάμεσο λογισμικό αντί να παρέχει μια ολοκληρωμένη εικόνα ενός μόνο συστήματος, παρέχει ένα περιορισμένο μοντέλο κατανεμημένης επεξεργασίας κατάλληλο για τις εφαρμογές που το χρησιμοποιούν Εισαγωγή: Θέματα S/W 5

Middleware 1-22 General structure of a distributed system as middleware Εισαγωγή: Θέματα S/W 6

Middleware Ενδιάμεσο λογισμικό κατανεμημένου συστήματος Εισαγωγή: Θέματα S/W 7

Middleware Μοντέλα ΕΛ Για να είναι η ανάπτυξη και η ολοκλήρωση των κατανεμημένων εφαρμογών όσο το δυνατόν απλούστερες, τα περισσότερα ΕΛ βασίζονται σε κάποιο μοντέλο, ή υπόδειγμα (paradigm), για την περιγραφή της κατανεμημένης λειτουργίας και της επκικοινωνίας Ένα σχετικά απλό μοντέλο είναι να αντιμετωπίζονται τα πάντα ως αρχεία Όλοι οι πόροι, τοπικοί ή απομακρυσμένοι Τα αρχεία μοιράζονται από πολλές διεργασίες Η επικοινωνία ανάγεται στην προσπέλαση του ίδιου αρχείου Μία παρόμοια προσέγγιση ακολουθείται από το ΕΛ που βασίζεται στα ΚΣ αρχείων Σε πολλές περιπτώσεις, αυτό το ΕΛ βρίσκεται στην πραγματικότητα μόνο ένα βήμα πέρα από τα ΛΣ, με την έννοια ότι η διαφάνεια της κατανεμημένης λειτουργίας υποστηρίζεται μόνο για τα παραδοσιακά αρχεία (με δεδομένα) Εισαγωγή: Θέματα S/W 8

Middleware Μοντέλα ΕΛ Ένα άλλο σημαντικό πρώιμο μοντέλο ΕΛ είναι εκείνο που βασίζεται στις Κλήσεις Απομακρυσμένων ιαδικασιών ίνει έμφαση στην απόκρυψη της δικτυακής επικοινωνίας, επιτρέποντας σε μία διεργασία να καλέσει μία διαδικασία η οποία μπορεί να υλοποιείται σε κάποιο απομακρυσμένο μηχάνημα Πιο σύγχρονα συστήματα ΕΛ διαθέτουν την έννοια των Κατανεμημένων Αντικειμένων Έτσι μπορούν να καλούνται με διαφανή τρόπο και αντικείμενα που βρίσκονται σε απομακρυσμένα μηχανήματα Το μόνο πράγμα που μπορεί να δει μία διεργασία από ένα αντικείμενο είναι η διασύνδεσή του Όταν μία διεργασία καλεί μία μέθοδο, η υλοποίηση της διασύνδεσης στο μηχάνημα όπου εκτελείται η διεργασία απλώς μετασχηματίζει την κλήση της μεθόδου σε ένα μήνυμα που στέκνεται στο αντικείμενο Εισαγωγή: Θέματα S/W 9

Υπηρεσίες Middleware Τα σύγχρονα κατανεμημένα συστήματα δεν είναι πλήρη λειτουργικά συστήματα, δηλαδή δεν παρέχουν όλες τις υπηρεσίες ενός συγκεντρωτικού λειτουργικού συστήματος Για παράδειγμα, ένα κατανεμημένο σύστημα αρχείων δεν έχει νόημα να παρέχει υπηρεσίες δημιουργίας και καταστροφής διεργασιών Μερικές υπηρεσίες είναι κοινές σε πολλά συστήματα ΕΛ Υπηρεσίες διαφανούς προσπέλασης μέσω υψηλού επιπέδου μηχανισμών επικοινωνίας Οι ακριβείς υπηρεσίες που παρέχονται από το ενδιάμεσο λογισμικό εξαρτώνται από το μοντέλο κατανεμημένης επεξεργασίας που υποστηρίζει και το βαθμό στον οποίο προσπαθεί να επιτύχει την παροχή της εικόνας ενός μόνο συστήματος Εισαγωγή: Θέματα S/W 10

Υπηρεσίες Middleware Στην πράξη, το ενδιάμεσο λογισμικό ενός σύγχρονου κατανεμημένου συστήματος παρέχει ένα συνεκτικό υποσύνολο των υπηρεσιών ενός συγκεντρωτικού λειτουργικού συστήματος, με τη διαφορά ότι οι υπηρεσίες αυτές λειτουργούν σε κατανεμημένο περιβάλλον Ένα κατανεμημένο σύστημα αρχείων παρέχει δηλαδή μια υπηρεσία αρχείων η οποία λειτουργεί σε ένα κατανεμημένο σύνολο εξυπηρετητών με διαφανή τρόπο Το ενδιάμεσο λογισμικό μπορεί να παρέχει όμως και υπηρεσίες οι οποίες έχουν νόημα μόνο σε κατανεμημένο περιβάλλον, για παράδειγμα, μια υπηρεσία εντοπισμού εξυπηρετητών στο δίκτυο Πολλά συστήματα ΕΛ διαθέτουν μία λιγότερο ή περισσότερο πλήρη συλλογή υπηρεσιών και αποθαρρύνουν τη χρήση οποιουδήποτε άλλου μέσου πέρα από τις διασυνδέσεις τους για αυτές τις υπηρεσίες Εισαγωγή: Θέματα S/W 11

Υπηρεσίες Middleware Σε γενικές γραμμές, το ενδιάμεσο λογισμικό παρέχει Υπηρεσίες επικοινωνίας υψηλού επιπέδου Υπηρεσίες απομακρυσμένης εκτέλεσης Υπηρεσίες ονομάτων Υπηρεσίες αρχείων Υπηρεσίες αντικειμένων Υπηρεσίες κατανεμημένων συναλλαγών Υπηρεσίες αναπαραγωγής Υπηρεσίες ασφάλειας Υπηρεσίες συγχρονισμού διεργασιών Υπηρεσίες κλειδώματος πόρων Εισαγωγή: Θέματα S/W 12

Υπηρεσίες Επικοινωνίας Αν και οι πυρήνες των περισσότερων σύγχρονων λειτουργικών συστημάτων παρέχουν υποστήριξη πολλών πρωτοκόλλων επικοινωνίας, ένα κατανεμημένο σύστημα συνήθως παρέχει πρόσθετες υπηρεσίες επικοινωνίας υψηλότερου επιπέδου Οι υπηρεσίες αυτές διευκολύνουν την υλοποίηση των εφαρμογών για τις οποίες έχει σχεδιαστεί το κατανεμημένο σύστημα Ο κύριος στόχος είναι η υλοποίηση υπηρεσιών διαφανούς προσπέλασης Στα κλασσικά ΛΣ δεν αποκρύπτεται η χαμηλού επιπέδου μεταβίβαση μηνυμάτων μέσω δικτύων υπολογιστών Για παράδειγμα, η επικοινωνία συχνά γίνεται μέσω λειτουργιών σε υποδοχές (sockets) οι οποίεσ επιτρέπουν σε διεργασίες που εκτελούνται σε διαφορετικά μηχανήματα να μεταβιβάσουν μηνύματα μεταξύ τους Κατά συνέπεια, η διασύνδεση προγραμματισμού για το επίπεδο μεταφοράς (transport layer) όπως παρέχεται από τα ΛΣ, αντικαθίσταται εντελώς από άλλους μηχανισμούς ΚΣ αρχείων Κλήσεις Απομακρυσμένων ιαδικασιών Κλήσεις Κατανεμημένων Αντικειμένων Εισαγωγή: Θέματα S/W 13

Υπηρεσίες Επικοινωνίας Ορισμένα συστήματα παρέχουν μια υπηρεσία επικοινωνίας ομάδων (group communication), μέσω της οποίας όλα τα μηνύματα που στέλνονται στην ομάδα φτάνουν σε όλες τις μηχανές της ομάδας με την ίδια σειρά, πράγμα που διευκολύνει την υλοποίηση ορισμένων κατανεμημένων αλγορίθμων Άλλα συστήματα παρέχουν επικοινωνία μέσω ουρών μηνυμάτων (message queues), μέσω των οποίων ο αποστολέας και ο παραλήπτης επικοινωνούν ασύγχρονα αλλά αξιόπιστα Εισαγωγή: Θέματα S/W 14

Υπηρεσίες Απομακρυσμένης Εκτέλεσης Η υπηρεσία απομακρυσμένης εκτέλεσης (remote execution service), επιτρέπει σε μια μηχανή να ζητήσει την εκτέλεση μιας διεργασίας σε έναν απομακρυσμένο εξυπηρετητή UNIX: rsh, rlogin, telnet Μία γενικότερη μορφή των υπηρεσιών αυτών είναι η υπηρεσία απομακρυσμένων διεργασιών (remote process service), η οποία επιτρέπει την εκτέλεση οποιασδήποτε διεργασίας, και όχι μόνο εντολών του φλοιού, σε μια απομακρυσμένη μηχανή Σε ορισμένα συστήματα παρέχεται και η δυνατότητα μετανάστευσης διεργασιών (process migration), δηλαδή της μεταφοράς μιας ολόκληρης διεργασίας μαζί με την κατάστασή της από μία μηχανή σε μία άλλη Εισαγωγή: Θέματα S/W 15

Υπηρεσίες Απομακρυσμένης Εκτέλεσης Αντί για απομακρυσμένη εκτέλεση διεργασιών, οι πελάτες μπορούν να ζητούν την εκτέλεση μεμονωμένων διαδικασιών από τους εξυπηρετητές μέσω της υπηρεσίας απομακρυσμένης κλήσης διαδικασιών (remote procedure call service), η οποία επιτρέπει την κλήση διαδικασιών σε απομακρυσμένες μηχανές σαν αυτές να ήταν τοπικά διαθέσιμες Το σύστημα αναλαμβάνει να μεταφέρει τις παραμέτρους της κλήσης από τον πελάτη στον εξυπηρετητή και να επιστρέψει τα αποτελέσματα πίσω στον πελάτη Επειδή το μοντέλο αυτό αποκρύπτει την επικοινωνία που λαμβάνει χώρα πίσω από συνηθισμένες κλήσεις διαδικασιών, είναι πολύ διαδεδομένο Μία επέκτασή του είναι η απομακρυσμένη κλήση αντικειμένων (remote object invocation) ή απομακρυσμένη κλήση μεθόδων (remote method invocation), η οποία επιτρέπει την κλήση μεθόδων αντικειμένων που βρίσκονται σε απομακρυσμένες μηχανές Εισαγωγή: Θέματα S/W 16

Υπηρεσίες Ονομάτων Για να μπορούν οι διεργασίες ενός κατανεμημένου συστήματος να καθορίζουν τους πόρους που επιθυμούν να χρησιμοποιήσουν, το σύστημα θα πρέπει να υποστηρίζει μια υπηρεσία ονομάτων (naming service) Υλοποιεί έναν κοινό χώρο ονομάτων για ολόκληρο το σύστημα και μεταφράζει τα ονόματα των πόρων σε διευθύνσεις για επικοινωνία με αυτούς Είναι ανάλογη με την υπηρεσία ευρετηρίων των συστημάτων αρχείων, η οποία επιτρέπει τη μετάφραση του ονόματος ενός αρχείου σε μια δομή δεδομένων που περιγράφει πώς αποθηκεύεται το αρχείο σε μια συσκευή αποθήκευσης Η υπηρεσία ονομάτων είναι επαρκής όταν κάθε διεργασία γνωρίζει τα ονόματα των πόρων που θέλει να χρησιμοποιήσει Εισαγωγή: Θέματα S/W 17

Υπηρεσίες Ονομάτων Η υπηρεσία ονομασίας παρουσιάζει δυσκολίες όταν ληφθεί υπόψη η επεκτασιμότητα Προβλήματα προκαλούνται από το γεγονός ότι, για την αποδοτική αναζήτηση ενός ονόματος σε ένα σύστημα μεγάλης κλίμακας, η θέση της κατονομαζόμενης οντότητας πρέπει να θεωρείται σταθερή Η παραδοχή αυτή γίνεται στο WWW, όπου κάθε έγγραφο ονομάζεται με την χρήση μίας διεύθυνσης URL To URL περιέχει το όνομα του διακομιστή όπου είναι αποθηκευμένο το έγγραφο Αν το έγγραφο μετακινηθεί σε άλλο διακομιστή τότε η διεύθυνση URL παύει να ισχύει Εισαγωγή: Θέματα S/W 18

Υπηρεσίες Ονομάτων Σε ένα κατανεμημένο σύστημα μπορεί όμως να υπάρχει τεράστιο πλήθος πόρων οι οποίοι να μπορούν να χρησιμοποιηθούν Πολλά συστήματα παρέχουν μια υπηρεσία ευρετηρίων (directory service) η οποία επιτρέπει να αναζητήσουμε τη διεύθυνση ενός πόρου με βάση όχι το όνομά του αλλά κάποια άλλα κριτήρια, όπως τον τύπο του, τη γεωγραφική του θέση ή τον ιδιοκτήτη του Σε ένα σύστημα στο οποίο οι πόροι κινούνται, για παράδειγμα, επειδή ορισμένες μηχανές είναι φορητές ή επειδή ορισμένες διεργασίες μεταναστεύουν, χρειαζόμαστε μια υπηρεσία εντοπισμού (location service) η οποία να εντοπίζει την τρέχουσα θέση ενός πόρου με βάση τα στοιχεία ταυτότητας του πόρου Στα συστήματα αυτά για να επικοινωνήσουμε με έναν πόρο θα πρέπει πρώτα να μεταφράσουμε το όνομα ή τα στοιχεία του σε ένα αναγνωριστικό για τον πόρο, μέσω μιας υπηρεσίας ευρετηρίου, και στη συνέχεια να μεταφράσουμε το αναγνωριστικό του πόρου στην τρέχουσα θέση του, μέσω μιας υπηρεσίας εντοπισμού Εισαγωγή: Θέματα S/W 19

Υπηρεσίες Αρχείων Η υπηρεσία αρχείων παρέχει τη δυνατότητα στις μηχανές του κατανεμημένου συστήματος να προσπελαύνουν τα αρχεία που είναι αποθηκευμένα σε απομακρυσμένες μηχανές με τον ίδιο τρόπο που προσπελαύνουν τα τοπικά τους αρχεία Συνήθως υποστηρίζεται από ένα κατανεμημένο σύστημα εξυπηρετητών αρχείων και συνοδεύεται από μια υπηρεσία ευρετηρίων (directory service) Η υπηρεσία ευρετηρίων επιτρέπει την εκτέλεση πράξεων στα ευρετήρια του συστήματος αρχείων, όπως δημιουργία, διαγραφή και αναζήτηση ενός αρχείου H υπηρεσία αρχείων επιτρέπει την εκτέλεση πράξεων στα περιεχόμενα των αρχείων, όπως ανάγνωση και εγγραφή τους Εισαγωγή: Θέματα S/W 20

Υπηρεσίες Αρχείων Η υπηρεσία αρχείων μπορεί είτε να παρέχει μια ενιαία εικόνα του χώρου ονομάτων του συστήματος αρχείων, είτε να επιτρέπει σε κάθε μηχανή να έχει τη δική της εικόνα Η υπηρεσία αρχείων επιτρέπει στους χρήστες να συνεργάζονται μέσω κοινών αρχείων, πράγμα που συνήθως απαιτεί και την υποστήριξη μηχανισμών για κατανεμημένο κλείδωμα των αρχείων Παράλληλα, μια κατανεμημένη υπηρεσία αρχείων διευκολύνει τη συντήρηση του συστήματος, για παράδειγμα, επιτρέποντας την κεντρική τήρηση εφεδρικών αντιγράφων στους εξυπηρετητές αρχείων Εισαγωγή: Θέματα S/W 21

Υπηρεσίες Αντικειμένων Για να μπορεί να χρησιμοποιηθεί η απομακρυσμένη κλήση μεθόδων των αντικειμένων, απαιτείται υποστήριξη απομακρυσμένων ή κατανεμημένων αντικειμένων από το σύστημα Ένα απομακρυσμένο αντικείμενο (remote object) μπορεί να προσπελαστεί από οπουδήποτε μέσω του κατανεμημένου συστήματος, αλλά η κατάσταση του βρίσκεται ολόκληρη σε μία μηχανή Αντίθετα, ένα κατανεμημένο αντικείμενο (distributed object) μπορεί να έχει την κατάστασή του κατανεμημένη σε διάφορα μέρη του συστήματος, πράγμα που αυξάνει σημαντικά την ευελιξία αλλά και την πολυπλοκότητα του συστήματος Σε κάθε περίπτωση, η επικοινωνία με τα αντικείμενα αυτά γίνεται μέσω της απομακρυσμένης κλήσης μεθόδων Εισαγωγή: Θέματα S/W 22

Υπηρεσίες Αντικειμένων Μία υπηρεσία αντικειμένων (object service) παρέχει την υποδομή για την κατασκευή κατανεμημένων εφαρμογών προσανατολισμένων στα αντικείμενα Την δημιουργία των αντικειμένων Τη μετανάστευσή τους σε νέες θέσεις Την αντιγραφή τους Την αυτόματη διαγραφή τους όταν δεν υπάρχουν αναφορές σε αυτά Πιθανόν την αναστολή και την εκ νέου ενεργοποίησή τους, με ενδιάμεση αποθήκευση της κατάστασής τους έτσι ώστε τα αντικείμενα να είναι επίμονα (persistent) Εισαγωγή: Θέματα S/W 23

Υπηρεσίες Συναλλαγών Πολλές φορές μία κατανεμημένη εφαρμογή πρέπει να εκτελέσει μια σειρά λειτουργιών (π.χ. ανάγνωσης και εγγραφής) πάνω σε πολλούς πόρους με ατομικό (atomic) τρόπο Ατομικότητα σημαίνει ότι είτε πρόκειται να εκτελεστούν όλες οι λειτουργίες είτε να μην εκτελεστεί καμμία (οπότε όλα τα σχετικά δεδομένα μένουν ανεπηρέαστα) Οι κατανεμημένες συναλλαγές (distributed transactions) χρησιμοποιούνται σε δεδομένα που μπορεί να είναι διαμοιρασμένα σε πολλά μηχανήματα Είναι ιδιαίτερα σημαντική ιδιότητα στις περιπτώσεις που απαιτείται συγκάληψη αστοχιών (η οποία είναι συχνά δύσκολη στα ΚΣ) Για παράδειγμα, η μεταφορά χρημάτων από μία τράπεζα σε μία άλλη απαιτεί αφαίρεση χρημάτων από το λογαριασμό αποστολής και πρόσθεση χρημάτων στο λογαριασμό λήψης, με τον περιορισμό όμως ότι και οι δύο κινήσεις θα πρέπει να εκτελεστούν μαζί για να έχει νόημα η συναλλαγή Μία ακολουθία ενεργειών οι οποίες πρέπει να εκτελούνται με ατομικό τρόπο ονομάζεται συναλλαγή (transaction) Εισαγωγή: Θέματα S/W 24

Υπηρεσίες Συναλλαγών Για να επιτευχθεί η ατομικότητα σε ένα ΚΣ χρειαζόμαστε μία υπηρεσία κατανεμημένων συναλλαγών (distributed transaction service) Αναλαμβάνει να συγχρονίσει όλους τους πελάτες που επιθυμούν να εκτελέσουν ταυτόχρονα συναλλαγές με τους ίδιους πόρους, έτσι ώστε οι συναλλαγές τους να φαίνεται ότι εκτελέστηκαν σαν ατομικές πράξεις με κάποια σειρά Στα ΚΣ η υλοποίηση των συναλλαγών είναι πολύ δυσκολότερη, λόγω των καθυστερήσεων και της αναξιοπιστίας του δικτύου επικοινωνίας Είναι δύσκολο να επεκταθούν σε μηχανήματα με ευρεία γεωγραφική διασπορά Εισαγωγή: Θέματα S/W 25

Υπηρεσίες Συναλλαγών Τεχνικό πρόβλημα υπήρξε στο διατραπεζικό σύστημα ΙΑΣ Προβλήματα αντιμετώπισαν περίπου 10.000 καταθέτες τη ευτέρα που προσπάθησαν να κάνουν ανάληψη από ΑΤΜ άλλης τράπεζας, οι οποίοι δεν κατάφεραν να πάρουν μετρητά αλλά η ανάληψη χρεώθηκε κανονικά στους λογαριασμούς τους Οι περισσότερες περιπτώσεις έχουν ήδη αποκατασταθεί, και σύντομα αναμένεται το πρόβλημα στ διατραπεζικό σύστημα ΙΑΣ να έχει επιλυθεί πλήρως Στο 80% των περιπτώσεων, οι λογαριασμοί των συναλλασσόμενων που έκαναν αναλήψεις απεικονίζουν πλέον το πραγματικό ποσό που έχουν και μέχρι την Τρίτη θα υπάρχει αποκατάσταση στο 100% http://news.in.gr/greece/article/?aid=1231188344 Εισαγωγή: Θέματα S/W 26

Υπηρεσίες Αναπαραγωγής Πολλές φορές ορισμένα δεδομένα ενός κατανεμημένου συστήματος πρέπει να διατίθενται σε πολλαπλά (πανομοιότυπα) αντίγραφα, είτε για λόγους αύξησης τηςεπίδοσης είτε για λόγους αύξησης της αξιοπιστίας Μία υπηρεσία αναπαραγωγής (replication service) διαχειρίζεται την αναπαραγωγή και το συγχρονισμό των αντιγράφων των δεδομένων, αποκρύπτοντας το πλήθος και τη θέση των αντιγράφων από τους πελάτες Η αναπαραγωγή μπορεί να είναι στατική (σταθερό πλήθος αντιγράφων) ή δυναμική (δημιουργία και καταστροφή αντιγράφων ανάλογα με τις ανάγκες), ενώ και ο συγχρονισμός των αντιγράφων μπορεί να γίνεται άμεσα, περιοδικά ή με κάποιον άλλο τρόπο Η επιλογή των κατάλληλων ρυθμίσεων εξαρτάται από τις απαιτήσεις κάθε εφαρμογής, για παράδειγμα, από το λόγο αναγνώσεων και εγγραφών στα δεδομένα ή από το κατά πόσο έχουμε ταυτόχρονη πρόσβαση στα ίδια δεδομένα από πολλούς πελάτες ή όχι Κλασικά παραδείγματα αναπαραγωγής είναι οι καθρεπτισμένοι εξυπηρετητές (mirrored servers) στον Παγκόσμιο Ιστό οι οποίοι επιτρέπουν την προσπέλαση στο πλησιέστερο ή το λιγότερο φορτωμένο διαθέσιμο αντίγραφο του εξυπηρετητή, υποστηρίζοντας έτσι και αυξημένη επίδοση και αυξημένη αξιοπιστία Εισαγωγή: Θέματα S/W 27

Υπηρεσίες Ασφάλειας Στα συγκεντρωτικά συστήματα η ασφάλεια ασχολείται με Την πιστοποίηση της ταυτότητας των χρηστών Τη διαφύλαξη του απορρήτου τους Τον έλεγχο πρόσβασης στους πόρους του συστήματος Στα ΚΣ, αν και τα καθήκοντα της υπηρεσίας ασφάλειας είναι βασικά τα ίδια, αυτά περιπλέκονται Έχουμε επικοινωνία μέσω ενός δικτύου το οποίο γενικά δεν είναι υπό τον έλεγχό μας Υπάρχει ανάγκη συνεργασίας αυτόνομων μηχανών οι οποίες μπορεί να υποστηρίζουν διαφορετικούς μηχανισμούς και πολιτικές ασφάλειας Το επίπεδο του ΕΛ δεν μπορεί καταρχήν να βασίζεται στα υποκείμενα τοπικά ΛΣ για την επαρκή υποστήριξη της ασφάλειας για ολόκληρο το δίκτυο Συνεπώς, η ασφάλεια πρέπει κατά ένα μέρος να υλοποιείται και πάλι στο ίδιο το επίπεδο του ΕΛ Εισαγωγή: Θέματα S/W 28

Υπηρεσίες Ασφάλειας Σε ένα συγκεντρωτικό σύστημα η ασφάλεια σε μεγάλο βαθμό υλοποιείται χάρις στην προστασία του πυρήνα του λειτουργικού συστήματος μέσω μηχανισμών του υλισμικού Σε ένα ΚΣ δεν υπάρχει προστατευμένη κατάσταση λειτουργίας, έτσι συχνά απαιτείται η χρήση κρυπτογραφικών μηχανισμών για την επίτευξη του επιθυμητού βαθμού ασφάλειας Μία κατανεμημένη υπηρεσία ασφάλειας παρέχει τουλάχιστον προστατευμένη επικοινωνία ανάμεσα στις μηχανές του συστήματος, δηλαδή δεν επιτρέπει την υποκλοπή, την τροποποίηση ή την εισαγωγή μηνυμάτων από τρίτους Με βάση την ασφαλή επικοινωνία, η κατανεμημένη υπηρεσία ασφάλειας μπορεί να προσφέρει επιπλέον κατανεμημένη πιστοποίηση ταυτότητας των χρηστών και κατανεμημένο έλεγχο πρόσβασης στους πόρους του συστήματος, με τρόπο που να μην παραβιάζει την αυτονομία των επί μέρους μηχανών Γενικά, η υπηρεσία ασφάλειας παρέχει μόνο μηχανισμούς για την εφαρμογή των επιθυμητών πολιτικών. Για παράδειγμα, η υπηρεσία ασφάλειας μπορεί να παρέχει έλεγχο πρόσβασης στους πόρους με βάση ψηφιακά πιστοποιητικά. Ο ορισμός όμως του ποιος έχει πρόσβαση σε τι είναι ένα θέμα πολιτικής που ορίζεται από τους διαχειριστές του συστήματος Εισαγωγή: Θέματα S/W 29

Middleware και Ανοικτή Λειτουργία Τα σημερινά ΚΣ γενικά κατασκευάζονται ως ενδιάμεσο λογισμικό για ένα εύρος από ΛΣ Με αυτό τον τρόπο οι εφαρμογές που κατασκευάζονται για ένα συγκεκριμένο ΚΣ γίνονται ανεξάρτητες από το ΛΣ Αυτή η ανεξαρτησία αντισταθμίζεται από μία ισχυρή εξάρτηση από το συγκεκριμένο ενδιάμεσο λογισμικό Προκαλούνται προβήματα από το γεγονός ότι το ενδιάμεσο λογισμικό είναι συχνά λιγότερο ανοικτό από όσο υποστηρίζει ο κατασκευαστής του Ένα αληθινά ανοικτό ΕΛ ορίζεται μέσω διασυνδέσεων οι οποίες πρέπει να είναι πλήρεις Η μη πληρότητα των ορισμών των διασυνδέσεων οδηγεί σε μία κατάσταση η οποία μπορεί να υποχρεώσει τους κατασκευαστές συστημάτων να προσθέσουν δικές τους δισυνδέσεις Εισαγωγή: Θέματα S/W 30

Middleware και Ανοικτή Λειτουργία Αστοχίες Είναι πιθανό να καταλήξουμε σε μία κατάσταση όπου δύο συστήματα ενδιάμεσου λογισμικού που προέρχονται από διαφορετικούς κατασκευαστές ακολουθούν το ίδιο πρότυπο, αλλά οι εφαρμογές που έχουν γραφτεί για το ένα σύστημα δεν μπορούν εύκολα να μεταφερθούν στο άλλο Είναι επίσης πιθανό δύο συστήματα ΕΛ που ακολουθούν το ίδιο πρότυπο αλλά διαφορετικά υποκείμενα πρωτόκολλα να μην μπορούν να συνεργαστούν Σε ένα ανοικτό ΚΣ βασισμένο σε ενδιάμεσο λογισμικό, τα πρωτόκολλα που χρησιμοποιούνται από κάθε επίπεδο ενδιάμεσου λογισμικού, καθώς και οι διασυνδέσεις που παρέχουν για τις εφαρμογές, θα πρέπει να είναι ίδια Είναι απαραίτητο να γίνεται αναφορά στις οντότητες των διαφορετικών συστημάτων με τον ίδιο τρόπο (πχ URL vs IP) Εισαγωγή: Θέματα S/W 31

Middleware και Ανοικτή Λειτουργία 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications Εισαγωγή: Θέματα S/W 32

Σύγκριση μεταξύ Συστημάτων Item Distributed OS Multiproc. Multicomp. Network OS Middlewarebased OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Resource management Shared memory Global, central Messages Files Model specific Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open Εισαγωγή: Θέματα S/W 33