10/20/2009. ΠΜΣ ΤΨΣ : Κατανεμημένα Συστήματα. Επισκόπηση. Ενότητες Μαθήματος



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

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

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

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

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

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

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

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

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

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

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

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

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

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

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

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

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

Information Technology for Business

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

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

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

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

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

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

Κάντε κλικ για έναρξη

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

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

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

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

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

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

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

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

Linux Terminal Server Project

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

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

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

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

Εισαγωγή στο διαδίκτυο

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

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

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

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services

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

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

Βασικές Έννοιες Web Εφαρμογών

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

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

ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή στα πρωτόκολλα TCP/IP και το INTERNET 2.1. Μέσα μετάδοσης, φυσικές διευθύνσεις

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

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

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

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

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

EPL 660: Lab 4 Introduction to Hadoop

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

Τεχνική Οδηγία. Εγκατάσταση & ρύθμιση MS ISA Server 2000 στο περιβάλλον των σχολικών εργαστηρίων. Έκδοση 1.0. Ιανουάριος 2005

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

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

Κατανεµηµένα Αντικείµενα 16-1

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

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

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

Remote Method Invocation (RMI)

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

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

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

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

Εργαστήριο Δικτύων Υπολογιστών. Εισαγωγή στις τεχνολογίες υπολογιστικού πλέγματος (Grid Computing)

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

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

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

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

Αρχιτεκτονική Υπολογιστών

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

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

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

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

Transcript:

10/20/2009 Κατανεμημένα Συστήματα Επισκόπηση Ενότητες Μαθήματος 1

10/20/2009 Εισαγωγή Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα 2

10/20/2009 Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα Ορισμός κατανεμημένου συστήματος Ένα κατανεμημένο σύστημα είναι μια συλλογή ανεξάρτητων υπολογιστών που εμφανίζεται στους χρήστες της ως ενιαίο σύστημα (Andrew Tanenbaum) Ένα κατανεμημένο σύστημα είναι ένα σύστημα του οποίου οι συνιστώσες βρίσκονται σε δικτυωμένους υπολογιστές και επικοινωνούν και συντονίζουν τις ενέργειες τους μόνο με τη διαβίβαση μηνυμάτων. (Coulouris et al) 3

10/20/2009 Εναλλακτικός ορισμός Ξέρεις ότι υπάρχει ένα κατανεμημένο σύστημα όταν το "crash" ενός υπολογιστή, την ύπαρξη του οποίου αγνοούσες, σε εμποδίζει από το να κάνεις τη δουλειά σου. Χαρακτηριστικά Ετερογενείς υπολογιστές Οι λεπτομέρειες της επικοινωνίας δεν είναι ορατές στο χρήστη Η αλληλεπίδραση του χρήστη με το σύστημα και με τις εφαρμογές είναι η ίδια ανεξάρτητα από την τοποθεσία Κλιμάκωση Διαθεσιμότητα Εισαγωγή ή αφαίρεση συνιστωσών 4

10/20/2009 Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα Παραδείγματα Δίκτυο σταθμών εργασίας (workstations) σε μια εταιρία, τμήμα ή πανεπιστήμιο Πληροφοριακό σύστημα αυτόματης επεξεργασίας παραγγελιών Το τραπεζικό δίκτυο Internet Κάποιες internet εφαρμογές περισσότερο από άλλες Σε κάποιες εφαρμογές ο χρήστης πρέπει να έχει γνώση του υπολογιστή που προσπελαύνεται... 5

10/20/2009 Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα Πλεονεκτήματα Πλήρης αξιοποίηση των δυνατοτήτων ενός υπολογιστή Περισσότερη ισχύς για λιγότερα χρήματα Η κατανομή του φόρτου εργασίας μειώνει την εμφάνιση προβλημάτων κάθε υπολογιστής είναι ανεξάρτητος και τα προβλήματά του δεν επηρεάζουν τους υπόλοιπους υπολογιστές Λιγότερος χρόνος για την ανίχνευση σφαλμάτων 6

10/20/2009 Μειονεκτήματα Όλοι οι υπολογιστές στο Internet μπορεί να είναι ισχυροί εφόσον συνδυαστούν αλλά υπάρχει η ανάγκη κάποιας οντότητας που θα τους συνδυάζει και θα τους συντονίζει Η επικοινωνία με συμμετέχοντες υπολογιστές μπορεί να είναι αργή Τα δεδομένα θα πρέπει να καταλαμβάνουν όσο το δυνατόν λιγότερο bandwidth και χώρο στο δίσκο Θα πρέπει να είναι ανεξάρτητα μεταξύ τους Μειονεκτήματα Ορισμένες υπολογιστικές διεργασίες εξαρτώνται από πολλές μεταβλητές τσιπ επεξεργαστή του υπολογιστή θα πρέπει να προσφύγει σε όλους τους άλλους υπολογιστές Έλλειψη αποτελεσματικής επικοινωνίας αρνητικά αποτελέσματα για την ταχύτητα της διαδικασίας υπολογισμού 7

10/20/2009 Μειονεκτήματα Σοβαρά ζητήματα ασφάλειας για τον οργανισμό που χρησιμοποιεί κατανεμημένα συστήματα για το χρήστη ο υπολογιστής του οποίου κάνει μια συγκεκριμένη εργασία Στην περίπτωση ενός τοπικού κατανεμημένου δικτύου - όπου οι υπολογιστές βρίσκονται μέσα σε μια συγκεκριμένη περιοχή, όπως ένα δωμάτιο - το κόστος της συντήρησης μπορεί να ανέλθει στα ύψη Κάθε υπολογιστής έχει τα δικά του προβλήματα και σφάλματα Αν αυτοί οι υπολογιστές δεν χρησιμοποιούνται για κάτι άλλο, π.χ. ως σταθμοί εργασίας σε μια βιβλιοθήκη το κατανεμημένο σύστημα δεν είναι αποτελεσματικό από πλευράς κόστους Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα 8

10/20/2009 Ιστορική εξέλιξη 1945 ~1985 mainframes powerful microprocessors high speed networks Αναγκαίες εξελίξεις Ιστορικά 1945-1985 Οι Η/Υ ήταν μεγάλοι και ακριβοί Οι περισσότερες εταιρίες και οργανισμοί διεθέταν περιορισμένο αριθμό Η/Υ Έλλειψη τρόπου σύνδεσης τους Λειτουργούσαν ανεξάρτητα Στα μέσα της δεκαετίας του 80... Ισχυροί μικροεπεξεργαστές (microprocessors) με την ισχύ ενός τότε σύγχρονου κεντρικού υπολογιστή (mainframe) Δίκτυα υψηλών ταχυτήτων! Αποτέλεσμα: Εύκολος συνδυασμός μεγάλου αριθμού Η/Υ μέσω ενός δικτύου υψηλών ταχυτήτων 9

10/20/2009 Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα Σκοποί-- Ποια προβλήματα λύνονται; Εύκολη σύνδεση χρηστών σε απομακρυσμένους πόρους (remote resources) Διαμοιρασμός πόρων από απομακρυσμένους χρήστες με ελεγχόμενο τρόπο "Άπόκρυψη" του γεγονότος ότι οι πόροι είναι φυσικά κατανεμημένοι σε ένα δίκτυο -- διαφάνεια (transparency) Θα πρέπει να είναι ένα ανοικτό σύστημα Παροχή υπηρεσιών με τυποποιημένους κανόνες που περιγράφουν της σύνταξη (syntax) και τη σημασιολογία (semantics) αυτών των υπηρεσιών Θα πρέπει να είναι κλιμακούμενο - scalable μέγεθος, γεωγραφία, και διαχείριση 10

10/20/2009 Σκοπός 1: Απομακρυσμένη πρόσβαση και διαμοιρασμός Γιατί διαμοιρασμός; Οικονομικοί λόγοι Ευκολία συνεργασίας -- εικονικοί οργανισμοί Ευκολία ανταλλαγής πληροφορίας Εμπόριο Διασύνδεση και διαμοιρασμός θέτουν ζητήματα ασφάλειας Προς το παρόν δεν υπάρχει επαρκής προστασία Σκοπός 2: Διαφάνεια Διαφάνεια Περιγραφή -- Απόκρυψη: Πρόσβαση (Access) Τοποθεσία (Location) Αποδημία (Migration) Επανεντοπισμός (Relocation) Αναπαραγωγή (Replication) Συγχρονισμός (Concurrency) Αποτυχία (Failure) Συνέχεια (Persistence) Διαφορές στην αναπαράσταση δεδομένων και στην πρόσβαση πόρων Που βρίσκεται κάποιος πόρος Ένας πόρος μπορεί να αλλάζει τοποθεσίες Ένας πόρος μπορεί να μετακινηθεί ενώ χρησιμοποιείται Ένας πόρος αναπαράγεται Ένας πόρος μπορεί να μοιράζεται από ανταγωνιστές Αποτυχία και ανάκτηση ενός πόρου Ανεξάρτητα από το αν ένας πόρος βρίσκεται στη μνήμη ή σε δίσκο 11

10/20/2009 Βαθμός Διαφάνειας (Degree of Transparency) Η απόκρυψη όλων των λεπτομερειών κατανομής δεν είναι πάντα καλή ιδέα Η διαδικασία ανταλλαγης μηνυμάτων μεταξύ διαδικασιών που βρίσκονται σε απόσταση χιλιάδων μιλίων μεταξύ τους χρειάζεται χρόνο εκατοντάδων milliseconds Trade-off μεταξύ υψηλού βαθμού διαφάνειας και επίδοσης -- γιατί; Ο βαθμός επιθυμητής διαφάνεις θα πρέπει να υπολογιστεί σε σχέση με άλλα ζητήματα όπως επίδοση και κόστος Σκοπός 3: Ανοιχτή Υλοποίηση (Openness) Προσφορά υπηρεσιών σύμφωνα με τυποποιημένους κανόνες (standard rules) που περιγράφουν τη σύνταξη και τη σημασιολογία (semantics) των υπηρεσιών. Οι κανόνες διατυπώνονται σε πρωτόκολλα Οι υπηρεσίες γενικά προδιαγράφονται μέσω διεπαφών (interfaces) Χρήση Γλώσσας Προδιαγραφής Διεπαφών (Interface Definition Language (IDL)) προδιαγραφή μόνο της σύνταξης χρήση φυσικής γλώσσας για την περιγραφή της σημασιολογίας επιτρέπει σε κάποια διεργασία (process) που χρειάζεται μια συγκεκριμένη διεπαφή να «μιλήσει» σε μια άλλη διεργασία που την παρέχει οι σωστές διεπαφές είναι πλήρεις και ουδέτερες 12

10/20/2009 Στόχοι ανοιχτής υλοποίησης Διαλειτουργικότητα (interoperability) και μεταφερσιμότητα (portability) Η πληρότητα και η ουδετερότητα είναι απαραίτητες προϋποθέσεις Ευελιξία Εύκολη διάρθρωση/διαμόρφωση (configure) του συστήματος με διαφορετικές συνιστώσες από διαφορετικούς κατασκευαστές Εύκολη εισαγωγή/ πρόσθεση νέων συνιστωσών χωρίς επιπτώσεις Εύκολη αντικατάσταση υπαρχουσών συνιστωσών χωρίς επιπτώσεις Επεκτασιμότητα Ευκολότερο θεωρητικά από ότι πρακτικά Σκοπός 4: Ευελιξία -- Πολιτική (Policy) και Μηχανισμός Το σύστημα θα πρέπει να είναι οργανωμένο σαν μια συλλογή μικρών συνιστωσών που μπορούν εύκολα να αντικατασταθούν ή να προσαρμοστούν Ανάγκη αλλαγής: η συνιστώσα δεν παρέχει βέλτιστη πολιτική (policy) για ένα συγκεκριμένο χρήστη ή εφαρμογή Ανάγκη διαχωρισμού πολιτικής και μηχανισμού 13

10/20/2009 Σκοπός 5: Απαιτήσεις Κλιμάκωσης -- Μέγεθος Μέγεθος Περιορισμοί συγκεντρωτικών υπηρεσιών, δεδομένων και αλγόριθμων -- προβλήματα συμφόρησης (bottleneck) Απεριόριστη υπολογιστική ισχύς και δυνατότητα απόθήκευσης δεν μπορούν να ξεπεράσουν τους περιορισμούς στην επικοινωνία Αποκέντρωση (Decentralization) εισάγει κάποια είδη αβεβαιότητας Σκοπός 6: Απαιτήσεις Κλιμάκωσης--Γεωγραφία Υπάρχοντα κατανεμημένα συστήματα που έχουν σχεδιαστεί για LANs βασίζονται σε σύγχρονη επικοινωνία (synchronous communication) Η επικοινωνία σε WANs είναι εγγενώς μη αξιόπιστη και σχεδόν πάντα από σημείο σε σημείο ((point-to-point) Τα LANs παρέχουν αξιόπιστη επικοινωνία που βασίζεται σε broadcasting -- το WAN χρειάζεται ειδικά location services Οι συγκεντρωτικές συνιστώσες εμποδίζουν τη γεωγραφική κλιμάκωση, δηλαδή την αύξηση της απόστασης ανάμεσα στους χρήστες και τους πόρους του συστήματος 14

10/20/2009 Σκοπός 7: Απαιτήσεις Κλιμάκωσης--Διαχείριση Με ποιο τρόπο γίνεται η κλιμάκωση σε πολλαπλές ανεξάρτητες διαχειριστικές περιοχές (administrative domains) Ασύμβατες /αντικρουόμενες ρ μ ς πολιτικές (policies) χρήση (και πληρωμή) ασφάλεια Τεχνικές Κλιμάκωσης Τα προβλήματα κλιμάκωσης παρουσιάζονται σαν προβλήματα επίδοσης Απόκρυψη λανθάνουσας καθυστέρησης επικοινωνίας (latency) αποφυγή αναμονής για αποκρίσεις (responses) όσο το δυνατόν περισσότερο δηλαδή κατασκευή requestor έτσι ώστε να χρησιμοποιεί όσο το δυνατόν περισσότερο ασύγχρονο τρόπο επικοινωνίας μείωση συνολικής επικοινωνίας κατανομή -- διασπορά συνιστωσών στο σύστημα, π.χ. DNS αναπαραγωγή στο κατανεμημένο σύστημα αύξηση διαθεσιμότητας (βοηθά στην απόκρυψη καθυστέρησης) βοηθά στην εξισορρόπηση του φορτίου μεταξύ των συνιστωσών 15

10/20/2009 Παράδειγμα: Διαίρεση του χώρου ονομάτων του DNS σε ζώνες Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα 16

10/20/2009 Ζητήματα υλικού Εισαγωγή στον τρόπο οργάνωσης των κατανεμημένων συστημάτων Πως διασυνδέονται Πως επικοινωνούν Shared bus-based Shared switch-based Memory Private bus-based Private switch-based Intercon nnection Ζητήματα υλικού 17

10/20/2009 Μοιραζόμενη Μνήμη και Ιδιωτική Μνήμη Πολυεπεξεργαστές -- Multiprocessors Ένας φυσικός χώρος διευθύνσεων μοιραζόμενος από όλες τις CPUs Η CPU A γράφει 37 στη διεύθυνση 1000 Η CPU B διαβάζει από τη διεύθυνση 1000 και παίρνει 37 π.χ. πολλαπλοί επεξεργαστές σε μια πλακέτα με μοιραζόμενη μνήμη Πολύ-υπολογιστές -- Multicomputers Κάθε μηχάνημα έχει τη δική του ιδιωτική μνήμη Η CPU A γράφει 37 στη δική της διεύθυνση 1000 Η CPU B διαβάζει από τη δική της διεύθυνση 1000 και παίρνει οτιδήποτε ο τυχαίνει να βρίσκεται εκεί. εί Δεν επηρεάζεται από το τι έγραψε η άλλη CPU Για παράδειγμα PCs που συνδεόνται μέσω του ενός δικτύου Bus-based & Switch-based Bus architecture Ένα και μόνο δίκτυο, backplane, bus, καλώδιο ή άλλο μέσο που συνδέει όλα τα μηχανήματα Παράδειγμα καλωδιακή τηλεόραση Switched architecture Ξεχωριστά καλώδια από μηχάνημα σε μηχάνημα με χρήση πολλών διαφορετικών μοντέλων καλωδίωσης Διακίνηση μηνυμάτων μέσω καλωδίων μέσω μιας έμμεση απόφασης switching σε κάθε βήμα για τη δρομολόγηση του μηνύματος μέσω ενός από τα εξερχόμενα καλώδια π.χ. παγκόσμιο δημόσιο τηλεφωνικό σύστημα 18

10/20/2009 Επιπτώσεις στην επίδοση Bus-based δίκτυο, μοιραζόμενη μνήμη Switched-based δίκτυο, μοιραζόμενη μνήμη Ατελής μοιρασμός μνήμης Ομογενείς πολύ-υπολογιστές Bus-based δίκτυο, ιδιωτική μνήμη Switch-based δίκτυο, ιδιωτική μνήμη Συστήματα ετερογενών πολυ-υπολογιστών Επιπτώσεις στην επίδοση Bus-based δίκτυο, μοιραζόμενη μνήμη Bus-based πολυεπεξεργαστής, μοιραζόμενη μνήμη Συνεπής μνήμη (Coherent memory) Διαμάχη bus (Bus contention) Πρόσθεση cache memory μεταξύ των CPU και του bus Η cache κρατάει τις λέξεις που έχουν προσπελαστεί πιο πρόσφατα Αν η cache memory για κάθε CPU έχει υψηλή πιθανότητα επιτυχίας (hit rate), η κίνηση του bus πέφτει δραματικά αλλά εισάγει ένα σοβαρό πρόβλημα Η μνήμη μπορεί να γίνει "ασυνεπής" (incoherent memory) Το Caching και η συνέπεια μνήμης αποτελεί ένα ζήτημα για τα κατανεμημένα συστήματα Περιορισμένη κλιμάκωση 19

10/20/2009 Επιπτώσεις στην επίδοση Switched-based δίκτυο, μοιραζόμενη μνήμη 1. Διαίρεση μνήμης σε μονάδες. Σύνδεση με CPUs με έναν πίνακα από switches που ονομάζεται crossbar switch Επιτρέπει σε πολλαπλές CPU s την ταυτόχρονη προσπέλαση στη μοιραζόμενη μνήμη Αν δύο θέλουν πρόσβαση στην ίδια μονάδα μια θα πρέπει πάλι να περιμένει 2. Δίκτυο από switches για τη δρομολόγηση οποιουδήποτε δεδομένου εισόδου σε οποιοδήποτε δεδομένο εξόδου Μπορεί να περιλαμβάνει διάφορα στάδια switching ενδιάμεσα Ανάγκη για υπερβολικά γρήγορο switching για τη μείωση καθυστέρησης Επιπτώσεις στην επίδοση Switched-based δίκτυο, μοιραζόμενη μνήμη (a) crossbar switch (b) omega switching network 20

10/20/2009 Επιπτώσεις στην επίδοση Ατελής μοιρασμός μνήμης Μείωση κόστους switching με ιεραρχικό σύστημα ΜΕΡΟΣ της μνήμης σχετίζεται με κάθε CPU (μη μοιραζόμενο) Γρήγορη ρη πρόσβαση στην τοπική μνήμη Εφικτή πρόσβαση στη μνήμη οποιασδήποτε άλλης CPU αλλά αργότερη NUMA - Non Uniform Memory Access καλύτερος μέσος χρόνος πρόσβασης από omega networks Νέα πολυπλοκότητα Η τοποθέτηση η προγραμμάτων και δεδομένων γίνεται ιδιαίτερα σημαντική προκειμένου το μεγαλύτερο μέρος της πρόσβαση να γίνεται στην τοπική μνήμη. Επιπτώσεις στην επίδοση Ομογενείς πολύ-υπολογιστές Σύστημα ξεχωριστών υπολογιστών. Επομένως... System Area Networks Κάθε CPU έχει άμεση σύνδεση στη δική της τοπική μνήμη Υπάρχουν διάφορα ζητήματα γύρω από την επικοινωνία μεταξύ των CPUs Ο όγκος της κίνησης θα είναι τάξεις μεγέθους (orders of magnitude) μικρότερος από ότι όταν το δίκτυο διασύνδεσης χρησιμοποιείται και για την κίνηση από CPU προς μνήμη 21

10/20/2009 Επιπτώσεις στην επίδοση Bus-based δίκτυο, ιδιωτική μνήμη Επεξεργαστές συνδέονται μέσω μοιραζόμενου δικτύου πολλαπλής πρόσβασης όπως Fast Ethernet Περιορισμένη κλιμάκωση -- η επίδοση πέφτει με περισσότερους από 25-100 κόμβους ανάλογα με το βαθμό της επικοινωνίας Επιπτώσεις στην επίδοση Switch-based δίκτυο, ιδιωτική μνήμη Τα μηνύματα δρομολογούνται μέσω ενός δικτύου διασύνδεσης αντί να γίνεται broadcast όπως στην περίπτωση bus-based Τα δίκτυα διασύνδεσης διαφέρουν Grid Hypercube -- n-διάστατος κύβος MPPs - massively parallel processors υψηλής επίδοσης δίκτυο διασύνδεσης σχεδιασμένο για μικρή καθυστέρηση, υψηλό bandwidth COWs - clusters of workstations Standard PCs ή workstations που διασυνδέονται μέσω συνιστωσών επικοινωνίας του εμπορίου Δεν υπάρχουν ιδιαίτερα μέτρα για υψηλό bandwidth ή αξιοπιστία 22

10/20/2009 Επιπτώσεις στην επίδοση Συστήματα ετερογενών πολυεπεξεργαστών Τα περισσότερα κατανεμημένα συστήματα είναι τέτοιου τύπου Οι υπολογιστές είναι ετερογενείς ως προς τον τύπο του επεξεργαστή, το μέγεθος της μνήμης, I/O bandwidth, κτλ. Δίκτυα διασύνδεσης μπορεί να είναι ετερογενή Πολλο, μεγαλης-κλίμακας, ετερογενείς πολύυπολογιστές παρουσιάζουν έλλειψη μιας γενικής εικόνας συστήματος δεν είναι δυνατή η υπόθεση ότι είναι διαθέσιμη η ίδια επίδοση ή οι ίδιες υπηρεσίες παντού ΣΥΝΕΠΩΣ σύνθετο/εξεζητημένο λογισμικό Απόκρυψη από τους προγραμματιστές εφαρμογών του τι συμβαίνει στο επίπεδο του υλικού (διαφάνεια -- transparency) Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα 23

10/20/2009 Ζητήματα λογισμικού Λογισμικό κατανεμημένων συστημάτων λειτουργεί σαν διαχειριστής πόρων για το υποκείμενο υλικό Κρύβει την πολυπλοκότητα και την ετερογένεια του υποκείμενου υλικού Πότε ένα σύστημα δεν θεωρείται κατανεμημένο; Κατανεμημένο λειτουργικό σύστημα: Δεν προορίζεται για τον χειρισμό ενός συνόλου από ανεξάρτητους υπολογιστές Λειτουργικό σύστημα δικτύου: Δεν παρέχει την εικόνα ενός συνεχούς συστήματος πραγματικό κατανεμημένο σύστημα Στόχος: κλιμάκωση και ανοιχτή υλοποίηση λειτουργικού συστήματος δικτύου διαφάνεια και εύκολία χρήσης κατανεμημένου λειτουργικού συστήματος Επιπλέον επίπεδο που ονομάζεται μεσισμικό -- middleware 24

10/20/2009 Στρώματα υπηρεσιών λογισμικού και υλικού στα Κατανεμημένα Συστήματα Middleware Όρος που αναφέρεται σε ένα στρώμα λογισμικού που βρίσκεται μεταξύ του δικτύου/πλατφόρμας και της εφαρμογής Στόχος του middleware είναι να αποκρύψει την ετερογένεια διαφορετικών υπολογιστών, λειτουργικών συστημάτων και εφαρμογών Middleware 25

10/20/2009 Διάφορα μοντέλα middleware (πρότυπα) Ένα συγκεκριμένο πρότυπο σχετίζεται με έναν τρόπο περιγραφής της κατανομής και της επικοινωνίας Κατανεμημένα Συστήματα Αρχείων (Distributed file systems) Απομακρυσμένη κλήση μεθόδων (Remote procedure calls) Κατανεμημένα αντικείμενα (Distributed objects) Κατανεμημένα έγγραφα (Distributed documents) Απλά πρότυπα Πρότυπο Κατανομή Επικοινωνία Κατανεμημένα Συστήματα Αρχείων Υποστήριξη διαφάνειας κατανομής για παραδοσιακά αρχεία Απομακρυσμένη κλήση μεθόδων Η διαφάνεια του δικτύου επιτρέπει σε μια διεργασία να καλέσει μια άλλη διεργασία σε ένα απομακρυσμένο μηχάνημα Κατανεμημένα αντικείμενα Μέθοδος κλήσης: υλοποίηση διεπαφής στην αντίστοιχη διεργασία μεταφράζει την κλήση σε μήνυμα που στέλνεται στο απομακρυσμένο αντικείμενο, μήνυμα απόκρισης --> επιστρεφόμενη τιμή Κατανεμημένα έγγραφα Πληροφορία οργανωμένη σε έγγραφα, κάθε έγγραφο βρίσκεται κάπου στον κόσμο 26

10/20/2009 Κάθε πρότυπο πρέπει να αντιμετωπίσει τα εξής θέματα: Επικοινωνία Συγχρονισμός διεργασιών Αλληλεπίδραση διεργασιών Ονοματοδοσία Συνέχεια και αναπαραγωγή Ανοχή βλαβών Ασφάλεια Τεχνολογία Λογισμικού Κατανεμημένων Συστημάτων Προδιαγραφή απαιτήσεων για αυτά τα ζητήματα στα κατανεμημένα συστήματα -- τρόπος αναγνώρισης, ανάλυσης, προδιαγραφής/προσδιορισμού, παρακολούθησης και διαχείρισης Σχεδιασμός -- τρόπος επιλογής, αναπαράστασης και επαλήθευσης/ επικύρωσης Υλοποίηση -- εργαλεία, language support Έλεγχος -- Στατικός και δυναμικός 27

10/20/2009 Επισκόπηση Ορισμός Παραδείγματα - εφαρμογές Πλεονεκτήματα και Μειονεκτήματα Ιστορική εξέλιξη Σκοποί και απαιτήσεις Ζητήματα Υλικού Ζητήματα Λογισμικού Αρχιτεκτονικές Κατανεμημένων Συστημάτων Συμπεράσματα Αρχιτεκτονικές Κατανεμημένων Συστημάτων Client-server 3-tier architecture N-tier architecture Clustered Peer-to-peer Grid Service Oriented 28

10/20/2009 Client / Server Αρχιτεκτονική Μοντέλο αρχιτεκτονικής σύμφωνα με το οποίο κάθε υπολογιστής στο δίκτυο είναι είτε ένας client ή ένας server. Client / Server Αρχιτεκτονική To server software γενικά αλλά όχι πάντα τρέχει σε ισχυρούς υπολογιστές αφιερωμένους αποκλειστικά σε κάποιες συγκεκριμένες εφαρμογές Το client software τρέχει σε κοινά PCs ή workstations Client invocation invocation Server result Server result Client Key: Process: Computer: 29

10/20/2009 Client / Server Αρχιτεκτονική Clients αποκτούν το μεγαλύτερο μέρος της πληροφορίας τους από τον server και βασίζονται σε αυτόν για δεδομένα όπως configuration files, stock quotes, business application programs, ή για να μεταβιβάσουν το φορτίο υπολογιστικά-εντατικών εφαρμογών στο server προκειμένου να αφήσουν τον υπολογιστή του client computer (και το χρήστη) να εκτελέσει άλλες εργασίες Client Client Service Server Server Server Client / Server Αρχιτεκτονική Ιδιότητες server: Παθητικός (Slave) Περιμένει αιτήματα Εξυπηρετεί αιτήματα και στέλνει απαντήσεις Stateless HTTP server για στατικές HTML σελίδες Stateful Apache Tomcat Ιδιότητες client: Ενεργητικός (Master) Στέλνει αιτήματα Περιμένει μέχρι να φθάσει η απάντηση 30

10/20/2009 Web proxy server Client Proxy server Web server Client Web server Thin clients και compute servers Thin client: τύπος client στην Client/Server που χρησιμοποιεί όσο το δυνατόν λιγότερους πόρους στο PC Γενικά σκοπός του thin client είναι η γραφική αναπαράσταση πληροφορίας από τον application server Network computer or PC Compute server Thin Client network Application Process 31

10/20/2009 3-tier αρχιτεκτονική Client/ Server αρχιτεκτονική όπου η διεπαφή του χρήστη, η λογική της λειτουργικής διεργασίας και η αποθήκευση και προσπέλαση δεδομένων αναπτύσσονται ως ανεξάρτητες μονάδες, σε ξεχωριστές πλατφόρμες n-tier αρχιτεκτονική (ή multi-tier αρχιτεκτονική) Client/ Server αρχιτεκτονική όπου μια εφαρμογή εκτελείται από περισσότερους από έναν software agent. Παράδειγμα Μια εφαρμογή που χρησιμοποιεί middleware για να εξυπηρετήσει αιτήματα δεδομένων μεταξύ ενός χρήστη και μιας βάσης δεδομένων Η πιο διαδεδομένη χρήση είναι η 3-tier αρχιτεκτονική 32

10/20/2009 Clustered Αναφέρεται σε ένα σύνολο ενοποιημένων μηχανημάτων που τρέχουν την ίδια διαδικασία παράλληλα χωρίζοντας μια εργασία σε τμήματα που γίνονται από το κάθε μηχάνημα ξεχωριστά και στη συνέχεια ενώνονται για να δημιουργηθεί το τελικό αποτέλεσμα Διασύνδεση με υψηλής ταχύτητας LAN Cluster: Σύνολο των κόμβων που σχηματίζουν μια ενιαία "παράλληλη" μηχανή Δίνει τη δυνατότητα συνεργασίας πολλαπλών υπολογιστών για την επίλυση μεγάλων και πολύπλοκων προβλημάτων Παράδειγμα: πρόγνωση καιρού Clustered Τύποι Clustering High-performance clusters Όλοι οι κόμβοι του cluster "εργάζονται" για την βελτίωση της επίδοσης High-availability clusters Κάποιοι από τους κόμβους του cluster είναι ενεργοί ενώ άλλοι λειτουργούν ως backups Σε περίπτωση που οι ενεργοί κόμβοι πάψουν να λειτουργούν, οι backup κόμβοι ξεκινούν αμέσως και αναλαμβάνουν τις ανάλογες εργασίες χωρίς να διακοπεί η παρεχόμενη υπηρεσία Load-balancing clusters Ένας συγκεκριμένος κόμβος λειτουργεί σαν ένα είδος εξισορροπητή φορτίου για την κατανομή του φορτίου σε ένα σύνολο κόμβων έτσι ώστε το υλικό να αξιοποιείται αποτελεσματικά 33

10/20/2009 Clustered Παράδειγμα Συστήματα Linux διασυνδεδεμένα με high-speed Ethernet Head node (ονομάζεται μ ζ και master node) που λειτουργεί σαν server Κατανέμει το φόρτο εργασίας Ελέγχει την πρόσβαση στο cluster Χειρίζεται τους πόρους Όλοι οι υπόλοιποι κόμβοι του cluster συχνά ονομάζονται slave nodes Clustered Beowulf cluster 34

10/20/2009 Clustered Παράδειγμα Windows Server 2003 High-availability cluster Οι κόμβοι συνδέονται μέσω LAN ή WAN Οι κόμβοι μπορεί να μοιράζονται μια συσκευή αποθήκευσης ή να έχουν μια τοπική μονάδα αποθήκευσης Load-balancing cluster Συνήθως οι κόμβοι διασυνδέονται με high-speed Ethernet Δεν απαιτείται κοινή αποθήκευση καθώς κάθε κόμβος μπορεί να εκτελεί την εργασία του ανεξάρτητα Clustered High-availability cluster με κοινή αποθήκευση 35

10/20/2009 Peer-to-peer Οι υπολογιστές μοιράζονται τους ίδιους πόρους - εκτυπωτές, συνδέσεις, αρχεία - και επίπεδα εφαρμογής Δεν υπάρχει κάποιο ιδιαίτερο μηχάνημα που παρέχει μια υπηρεσία ή κάνει διαχείριση των δικτυακών πόρων Όλες οι ευθύνες είναι κατανεμημένες μεταξύ των διαφόρων μηχανημάτων που απαρτίζουν το σύστημα και ονομάζονται peers Μια κατανεμημένη εφαρμογή βασισμένη σε peer processes Peer 2 Peer 1 Application Application Sharable objects Peer 3 Application Peer 4 Application Peers 5... N 36

10/20/2009 Έχετε χρησιμοποιήσει κάποια από αυτές τις εφαρμογές; Ή Napster Morpheus Fastrack SETI@Home WinMX The Grid Grid Πλέγμα παίρνει το όνομα από την αναλογία με πλέγμα ηλεκτρικής ενέργειας (electrical power Grid): Ηλεκτρική ενέργεια κατά απαίτηση (on demand) μέσω πρίζας Άγνωστη πηγή αλλά αξιόπιστη Διαφάνεια και σταθερότητα «The Grid dream» Να επιτρέπεται σε χρήστες να έχουν πρόσβαση σε πόρους στο internet τόσο εύκολα όσο μπορεί κανείς να έχει πρόσβαση σε ηλεκτρική ενέργεια μέσω μιας πρίζας 37

10/20/2009 Ορισμός Grid Foster I, Kesselman C and Tuecke S, (2001) The Anatomy of the Grid: Enabling Scalable Virtual Organizations Grid είναι ευέλικτη, ασφαλής, συντονισμένη κοινή εκμετάλλευση πόρων μεταξύ δυναμικών συλλογών ατόμων, οργανισμών, και πόρων Η έννοια των Virtual Organisations (εικονικών οργανισμών) Virtual Organisations Virtual Organisations Παρέχουν ένα υψηλά ελεγχόμενο περιβάλλον προκειμένου να είναι δυνατό σε κάθε πάροχο πόρων (resource provider) να προσδιορίσει ακριβώς τι θέλει να διαθέσει για μοιραζόμενη χρήση, ποιος επιτρέπεται να χρησιμοποιήσει τον διαθέσιμο πόρο και υπό ποιες συνθήκες γίνεται η κοινή χρήση του διατιθέμενου πόρου Το σύνολο των ατόμων και/ή οργανισμών που παρέχουν τέτοιους κανόνες (sharing rules) ονομάζονται virtual organisation (VO) 38

10/20/2009 Επισκόπηση ενός VO Users/Clients Internet Routing Virtual Organization (VO) Middleware Resources Στο Grid computing μπορεί κανείς να εκτελεί δικό του κώδικα σε απομακρυσμένους πόρους Πρέπει να είναι ασφαλή!! Ο VO παρέχει μια γενική πολιτική ασφάλειας για το διαμοιρασμό μεταξύ των οργανισμών VO υλοποιείται με Middleware - Globus Πολλαπλά VOs VO2 VO1 VOs είναι δυναμικά προσβάσιμοι μέσω μιας Grid εφαρμογής και τέτοιες εφαρμογές είναι ικανές να κατανέμονται μεταξύ ενός αριθμού διαφορετικών οργανισμών κάθε ένας από τους οποίους τρέχει το δικό του VO. VO3 39

10/20/2009 Globus globus.org Αποτελείται από τρία στοιχεία: Information Services: παροχή πληροφοριών για Grid services Data Management: περιλαμβάνει την πρόσβαση σε δεδομένα και τη διαχείρισή τους Resource Management: ανάθεση πόρων που παρέχονται από ένα Grid Και φυσικά ασφάλεια: Security: για επικύρωση (authentication) και πιστοποίηση (authorization) The Globus Grid Users/Clients Internet Routing GRAM GridFTP MDS MDS MDS Mid ddleware (G Globus) VO 40

10/20/2009 Service - Oriented αρχιτεκτονική (SOA) Μια Service-Oriented αρχιτεκτονική είναι ουσιαστικά μια συλλογή από υπηρεσίες (services) που επικοινωνούν μεταξύ τους Η επικοινωνία μπορεί να περιλαμβάνει απλό "πέρασμα" δεδομένων Συντονισμό μιας δραστηριότητας από μια ή περισσότερες υπηρεσίες Ανάγκη τρόπου σύνδεσης των υπηρεσιών Service - Oriented αρχιτεκτονική (SOA) Service Registry Service Broker k find publish Service Requestor bind Service Provider 41

10/20/2009 Service - Oriented αρχιτεκτονική (SOA) Ορισμοί Υπηρεσία Μια επιχειρησιακή λειτουργία καθορισμένη με σαφήνεια, ανεξάρτητη, που δέχεται ένα ή περισσότερα αιτήματα κι επιστρέφει μια ή περισσότερες απαντήσεις μέσω μιας καλά ορισμένης, τυποποιημένης διεπαφής Orchestration Διαχείριση υπηρεσιών και παροχή λογικής για την επεξεργασία στοιχείων Service - oriented αρχιτεκτονική (SOA) Ορισμοί Service providers Παρέχουν υπηρεσίες, και διατηρούν έναν κατάλογο / ευρετήριο (registry/ directory) μέσω του οποίου γίνονται διαθέσιμες αυτές οι υπηρεσίες. Service requestors Σε συνεργασία με τους service brokers ανακαλύπτουν τις διαθέσιμες υπηρεσίες, και στη συνέχεια με κλήση αυτών εκτελούν κάποια συγκεκριμένη εργασία. Service brokers Οι service brokers λειτουργούν ως ένα είδος μεσάζοντα μεταξύ service providers και service requestors. 42

10/20/2009 Service - oriented αρχιτεκτονική (SOA) Ορισμοί Publish/Unpublish "Δημοσίευση" (publishing) και "απόσυρση" (unpublishing) που αφορούν τη "διαφήμιση" υπηρεσιών σε έναν κατάλογο (registry) και την απομάκρυνση αυτών των εγγραφών από τον κατάλογο αντίστοιχα. Ο service provider επικοινωνεί με τον service broker για τη δημοσίευση ή "απόσυρση" μιας υπηρεσίας. Find Η λειτουργία find πραγματοποιείται από τους service requestors και τους service brokers μαζί. Οι service requestors περιγράφουν τα είδη των υπηρεσιών που αναζητούν και οι service brokers παρέχουν εκείνα τα αποτελέσματα που ταιριάζουν καλύτερα στο αίτημα. Bind Η λειτουργία bind λαμβάνει χώρα μεταξύ του service requestor και του service provider. Οι δύο πλευρές κάνουν τις κατάλληλες διαπραγματεύσεις έτσι ώστε ο requestor να μπορεί να έχει πρόσβαση και να καλέσει τις υπηρεσίες του provider. Service - oriented αρχιτεκτονική (SOA) Τεχνολογίες Λογισμικού OSGi - Οpen Services Gateway Initiative Web services UPnP - Universal Plug and Play Jinii 43

10/20/2009 Service - oriented αρχιτεκτονική (SOA) OSGi OSGi Alliance Ανοιχτός οργανισμός προτυποποίησης Sun Microsystems, IBM, Ericsson,... Προδιαγραφή service platform που βασίζεται σε Java Είναι δυνατή η απομακρυσμένη διαχείριση της πλατφόρμας Το κύριο μέρος των προδιαγραφών αφορά ένα πλαίσιο που καθορίζει ένα μοντέλο κύκλου ζωής εφαρμογών (application life cycle model) κι ένα service registry. OSGi Services Log, Configuration management, Preferences, Http Service (runs servlets), XML parsing, Device Access, Package Admin, Permission Admin, Start Level, User Admin, IO Connector, Wire Admin, Jini, and Universal plug-and-play. Service - oriented αρχιτεκτονική (SOA) OSGi Το OSGi πλαίσιο υλοποιεί ένα μοντέλο δυναμικών συνιστωσών Εφαρμογές (applications) που ονομάζονται bundles Απομακρυσμένη εγκατάσταση, εκκίνηση, και τερματισμός χωρίς να χρειάζεται επανεκκίνηση της πλατφόρμας Το service registry επιτρέπει στα bundles να αντιληφθούν την εισαγωγή νέων υπηρεσιών ή την απομάκρυνση υπηρεσιών και κατά συνέπεια να προσαρμοστούν ανάλογα 44

10/20/2009 Service - oriented αρχιτεκτονική (SOA) OSGi Περιοχές εφαρμογής της OSGi Service Platform Service - oriented αρχιτεκτονική (SOA) Web Services Τα Web services είναι μια νέα γενιά από Web εφαρμογές. Είναι ανεξάρτητες, αυτο-περιγραφόμενες (self-describing) εφαρμογές που μπορούν να δημοσιευθούν, να εντοπισθούν και να κληθούν μέσω του Web. Τα Web services εκτελούν ποικίλες λειτουργίες από απλά αιτήματα μέχρι πολύπλοκες επιχειρησιακές διεργασίες. Για παράδειγμα ένα Web service μπορεί να παρέχει τιμές μετοχών ή να επεξεργάζεται συναλλαγές πιστωτικών καρτών. Με την ανάπτυξη ενός Web service, άλλες εφαρμογές (και άλλα Web services) μπορούν να ανακαλύψουν και να καλέσουν την αντίστοιχη υπηρεσία. 45

10/20/2009 Service - oriented αρχιτεκτονική (SOA) Web Services Service - oriented αρχιτεκτονική (SOA) UPnP UPnP Forum Περισσότερες από 700 εταιρίες από το χώρο των ηλεκτρονικών συσκευών, υπόλογιστικών συσκευών αυτοματισμό μ σπιτιών,, οικιακών συσκευών και σχετικών βιομηχανιών Προδιαγραφές UPnP Device και Service Descriptions Βασισμένες σε ανοικτά Internet-based πρότυπα επικοινωνίας για διαλειτουργικότητα (interoperability) Device Architecture - συμβολή της Microsoft 46

10/20/2009 Service - oriented αρχιτεκτονική (SOA) UPnP Ανεξαρτησία από λειτουργικό σύστημα, γλώσσα προγραμματισμού και φυσικό μέσο Παρέχει τη δυνατότητα σε συσκευές να συνδεθούν αυτόματα σε ένα δίκτυο, να βρουν και να χρησιμοποιήσουν δικτυωμένες συσκευές και υπηρεσίες που παρέχονται χωρίς χειρωνακτική ή άλλη παρεμβολή Digital Living Network Alliance (DLNA) - βιομηχανική προσπάθεια Χρήση UPnP Εξασφάλιση για συγκεκριμένα σενάρια αλληλεπίδρασης συσκευών ώστε να είναι αρκετά αξιόπιστα για την αγορά ευφυών συσκευών Service - oriented αρχιτεκτονική (SOA) UPnP Συνιστώσες: Σημεία ελέγχου - Control Points Συσκευές - Devices Υπηρεσίες - Services 47