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



Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 12: Διαφοροποιημένες Υπηρεσίες διαδικτύου MPLS Φώτης Βαρζιώτης

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 13: QoS Policy, Παραδείγματα QoS, Επισκόπηση μαθήματος Φώτης Βαρζιώτης

Ολοκληρωµένα ικτυακά ΣυστήµαταΚορµού (Backbone Networks)

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #3 Στρώµα ικτύου:ip Πρωτόκολλο και Πρωτόκολλα ροµολόγησης

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

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

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

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

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

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

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

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #2 Ethernet MAC Στρώµα

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

Διαγράμματα Κλάσεων στη Σχεδίαση

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Κλάσεις και Αντικείµενα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

8 η ιάλεξη: σε δίκτυα δεδομένων

ΚΕΦΑΛΑΙΟ Web Services

Άγγελος Ρούσκας. Ενοποιημένες Υπηρεσίες Integrated Services (IntServ) - Διαφοροποιημένες Υπηρεσίες Differentiated Services (DiffServ)

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

Atlantis - Νέο user interface

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

Διαχείριση Ετερογενών Δικτύων

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ

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

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

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

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

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

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

ιαχείριση Τηλεφωνικών Κλήσεων

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

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή Πρότυπο τριών Διαστάσεων Λειτουργίας Μοντέλο Διαχείρισης FCAPS Το Δίκτυο του Ε.Μ.Π. Περιβάλλον Εργαστηριακών Ασκήσεων

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

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

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

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

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

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

Αν παρ όλα αυτά αντιμετωπίζετε πρόβλημα, επικοινωνήστε με το Κέντρο Δικτύου της ΑΣΠΑΙΤΕ Τηλ , , ,

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

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

Open Text edocs Records Management

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

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

Προσαρμοζόμενα. μενα και Εξατομικευμένα Επικοινωνιακά Περιβάλλοντα. Κων/νος Μουρλάς Επίκουρος Καθηγητής Τμήμα Επικοινωνίας & ΜΜΕ

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

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

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

Distributed Systems II

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

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΣΥΝΧΡΟΝΗ ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΠΡΟΚΗΡΥΞΕΙΣ

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΗΛΕΚΤΡΟΝΙΚΑ ΠΕΡΙΟ ΙΚΑ

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

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

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

Διαχείριση Έργων Πληροφορικής Εργαστήριο

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

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

Ενεργοποίηση του πρωτοκόλλου IPv6

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

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

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΓΛΩΣΣΑΡΙΟ

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

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

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Transcript:

ΚΕΦΑΛΑΙΟ 6 ΣΥΣΤΗΜΑ ΙΑΧΕΙΡΙΣΗΣ ΑΠΟΛΥΤΗΣ ΚΑΙ ΣΧΕΤΙΚΗΣ ΙΑΦΟΡΟΠΟΙΗΣΗΣ ΠΟΙΥΠ ΜΕΣΩ ΚΙΝΗΤΩΝ ΠΡΑΚΤΟΡΩΝ 6.1 Εισαγωγή Σε αυτό το κεφάλαιο παρουσιάζεται ένα σύστηµα διαχείρισης που υλοποιεί τα σχήµατα απόλυτης και σχετικής διαφοροποίησης που περιγράφτηκαν στα προηγούµενα κεφάλαια. Το σύστηµα υποστηρίζει την διάρθρωση (configuration) και επίβλεψη (monitoring) ΠοιΥπ σε IP δίκτυα χρησιµοποιώντας την τεχνολογία των κινητών πρακτόρων ΤΚΠ (Mobile Agent Technology - MAT) [1][2][3][4]. Στόχος του συστήµατος είναι να διαχειρίζεται την ΠοιΥπ σε IP δίκτυα διαφοροποιηµένων υπηρεσιών (DiffServ) [5][6] µέσω κινητών πρακτόρων ΚΠ (Mobile Agents - MΑs). Οι κινητοί πράκτορες υλοποιούν καθορισµένες ιεπαφές Προγραµµάτων Εφαρµογής ΠΕ (Application Programming Interfaces - APIs) που παρέχουν απόλυτη ή σχετική διαφοροποίηση. Χρησιµοποιώντας την τεχνολογία ΤΚΠ για την σχεδίαση και υλοποίηση του συστήµατος, η διάρθρωση και επίβλεψη ΠοιΥπ επιτυγχάνεται µε αποκεντρωµένο τρόπο. Αν και υπάρχουν ακόµα ανοικτά διάφορα ερευνητικά ζητήµατα, η τεχνολογία ΤΚΠ εµφανίζεται αρκετά ώριµη να υποστηρίξει τη κατανεµηµένη και αποκεντρωµένη διαχείριση δικτύων. Οι ΚΠ µπορούν εύκολα να µεταναστεύσουν στις µακρινές θέσεις, να εκτελέσουν τον στόχο τους και να επιστρέψουν µε τα αποτελέσµατα. Αυτή η ικανότητα επιτρέπει στους ΚΠ να ταξιδεύουν από τον έναν κόµβο σε έναν άλλο και να εκτελούν έναν επαναλαµβανόµενο στόχο ή, όπου χρειάζεται, διάφορες υποστάσεις (instances) του ίδιου ΚΠ µπορούν να δηµιουργηθούν προκειµένου να εκτελούν την ίδια εργασία παράλληλα. Επιπλέον, η τεχνολογία ΤΚΠ προωθεί τον καλό σχεδιασµό λογισµικού και καθιστά σχετικά εύκολη την υλοποίηση ενός τέτοιου σύνθετου συστήµατος. Επίσης οι ΚΠς µπορεί να προσαρµοστούν εύκολα ώστε να υλοποιούν απόλυτη ή σχετική διαφοροποίηση χωρίς αλλαγές στην κύρια αρχιτεκτονική του συστήµατος. Επιπρόσθετα, ένα σηµαντικό επίτευγµα της 153

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP τεχνολογίας ΤΚΠ είναι ο προγραµµατισµός των κόµβων του δικτύου µε σκοπό την διάρθρωση και επίβλεψη ΠοιΥπ, θεωρώντας ότι οι κόµβοι διαθέτουν µόνο απλές λειτουργίες διαχείρισης. Τα βασικά δοµικά στοιχεία και τα αποτελέσµατα από τη χρήση του συστήµατος [7] παρουσιάζονται σε αυτό το κεφάλαιο, το οποίο έχει την ακόλουθη δοµή: Αρχικά οι απαιτήσεις του συστήµατος και µια υψηλού επιπέδου σχεδίαση της εφαρµογής καθορίζονται. Εν συνεχεία η λεπτοµερής σχεδίαση κάθε υποσυστήµατος της εφαρµογής διαχείρισης ΠοιΥπ παρατίθεται. Ακολούθως οι λειτουργίες που προσφέρει το σύστηµα περιγράφονται µέσω ακολουθιακών διαγραµµάτων (sequence diagrams) που καθορίζουν τις µεθόδους που ενεργοποιούνται και την αλληλεπίδραση των ΚΠ που εµπλέκονται. Τέλος, περιπτώσεις χρήσης των λειτουργιών του συστήµατος και πειραµατικά αποτελέσµατα σε πραγµατικό δικτυακό περιβάλλον παρουσιάζονται. 6.2 Προδιαγραφές και Αρχιτεκτονική Υψηλού Επιπέδου Η αρχιτεκτονική του συστήµατος διαχείρισης ΠοιΥπ καθορίστηκε µε βάση τις ακόλουθες προδιαγραφές: Ανεξαρτησία συστήµατος από τον τύπο των δροµολογητών: Η εισαγωγή νέων τύπων δροµολογητών, (π.χ. Ciscο, Linux, Redstone), που προέρχεται από διαφορετικούς προµηθευτές, δεν πρέπει να έχει επίδραση στο σύστηµα. Ανεξαρητησία συστήµατος όσον αφορά τις δικτυακές τεχνολογίες: Ο αντίκτυπος από την χρήση νέων IP τεχνολογιών (πχ DiffServ, MPLS) πρέπει να είναι ελάχιστος. Ανοικτό (Open) και ευέλικτο σύστηµα(flexible): Οι διεπαφές µεταξύ των διαφορετικών επιπέδων της αρχιτεκτονικής πρέπει να είναι ανοικτές, ευέλικτες, και να ακολουθούν προκαθορισµένα πρότυπα όπου αυτό είναι δυνατόν ώστε να είναι δυνατή η επαναχρησιµοποίηση του κώδικα. Με αυτό τον τρόπο προωθείται η γρήγορη ανάπτυξη εφαρµογών διαχείρισης. Με βάση αυτές τις απαιτήσεις, το σύστηµα υλοποιήθηκε συνδυάζοντας ανοικτά και τυποποιηµένα APIs µε την τεχνολογία ΤΚΠ προσπαθώντας να εκµεταλλευθεί τα οφέλη και των δύο τεχνολογιών. Οι υπάρχουσες πλατφόρµες ΚΠ (Mobile Agent Platforms -MAP), είτε είναι εµπορικές είτε έχουν αναπτυχθεί µέσα σε ερευνητικά προγράµµατα, παρέχουν τις απαραίτητες λειτουργίες συµπεριλαµβανοµένων και των δυνατοτήτων διασυνεργασίας µεταξύ τους. Στα πλαίσια της ανάπτυξης του συστήµατος διαχείρισης που περιγράφουµε οι Grasshopper [8] και Voyager [9] 154

ΚΕΦΑΛΑΙΟ 6 MAPs θεωρήθηκαν ότι ικανοποιούν τις περισσότερες από τις απαιτήσεις µας και συνεπώς, και οι δύο επιλέχτηκαν. Η πλατφόρµα Grasshopper έχει ένα πλεονέκτηµα σε σχέση µε την πλατφόρµα Voyager όσον αφορά τη συµµόρφωσή της µε τα πρότυπα MASSIF [10] και FIPA [11], εντούτοις, η πλατφόρµα Voyager έχει καλύτερη απόδοση. Η αρχιτεκτονική του συστήµατός µας, παρέχει τη δυνατότητα χρήσης και των δύο πλατφόρµών, ώστε να εκµεταλλευθούµε τα χαρακτηριστικά που µια πλατφόρµα στερείται έναντι άλλης, καθώς και ζητήµατα βελτίωσης απόδοσης, που αποτελούν ένα από τα σηµαντικότερα ζητήµατα που εξετάζονται. Για το λόγο αυτό ένα σύνολο από ουδέτερες µέθοδοι (neutral methods) κατασκευάστηκαν για την αρχικοποίηση, την µετακίνηση, την εκτέλεση και τον τερµατισµό ενός Grasshopper ή Voyager ΚΠ. Αυτές οι µέθοδοι αποτελούν µαζί µε άλλες τη διεπαφή «MA API» η οποία κρύβει από το υπόλοιπο σύστηµα τον τύπο της MAP πλατφόρµας που χρησιµοποιείται. QoS Management Application Application Layer Persistence Manager DB Configuration Manager (Parlay/JAIN APIs) Resource Manager Monitor Manager Reconfiguration Manager Service Layer MA platform Scheduler Linux-Cisco API (Wrapper) Adaptation Layer MA platform tc tool Telnet SNMP Network Layer Linux Router Cisco Router Σχήµα1: Αρχιτεκτονική του συστήµατος διαχείρισης ΠοιΥπ Το σχήµα 1 παρουσιάζει την αρχιτεκτονική του συστήµατος διαχείρισης ΠοιΥπ. Οι διαφορετικές ενότητες λογισµικού που αποτελούν το σύστηµα διαχείρισης οργανώνονται σε επίπεδα: Το επίπεδο εφαρµογής (application layer) περιλαµβάνει τα γραφικό περιβάλλον διεπαφής µε τον χρήστη (Graphical User Interface GUI) και τη λογική εκτέλεσης των λειτουργιών διαχείρισης χρησιµοποιώντας τις υπηρεσίες του επόµενου επιπέδου. Το επίπεδο υπηρεσίας (Service Layer) περιέχει τις υπηρεσίες που υποστηρίζουν την εκτέλεση των λειτουργιών του επιπέδου εφαρµογής. Το επίπεδο προσαρµογής (Adaptation Layer) είναι αρµόδιο για την αφαίρεση των λεπτοµερειών που αφορούν το πρωτόκολλο διαχείρισης από το στρώµα υπηρεσιών και περιλαµβάνει τις οντότητες προσαρµογής των δικτυακών συσκευών. Το επίπεδο δικτύου (Network Layer) περιλαµβάνει τους πόρους του δικτύου και τις υπάρχουσες πλατφόρµες διαχείρισης δικτύου που ρυθµίζονται µέσω των ΚΠ. Μεταξύ των ενοτήτων λογισµικού χρησιµοποιούνται τυποποιηµένα ή προσαρµοσµένα APIs. 155

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP Η αρχιτεκτονική του συστήµατος διαχείρισης ΠοιΥπ περιλαµβάνει τα ακόλουθα υποσυστήµατα: Το υποσύστηµα QoS Management Application προσφέρει ένα γραφικό περιβάλλον διεπαφής για τον χρήστη (GUI) που διατίθεται τόσο στους διαχειριστές όσο και τους απλούς χρήστες του δικτύου. Το GUI παρέχει στους διαχειριστές ένα εκτενές σύνολο προνοµίων: δυναµική αλλαγή των δικτυακών παραµέτρων διαµόρφωσης ΠοιΥπ (π.χ. ανώτατο εύρος ζώνης ανά κλάση υπηρεσίας, µεγέθος ουράς αναµονής, κλπ), επίβλεψη της ΠοιΥπ που παρέχεται στους χρήστες (καθυστέρηση πακέτων, jitter, απώλειες πακέτων και εύρος ζώνης σύνδεσης), αλλαγή περιόδων επίβλεψης, δηµιουργία/διαγραφή χρηστών, καθορισµός σηµείων πρόσβασης (access points), καθορισµός δροµολογητών, δηµιουργία/διαγραφή και τροποποίηση προτύπων ΠοιΥπ (QoSTemplates), κ.λ.π. Ο απλός χρήστης µπορεί να έχει πρόσβαση σε όλες τις πληροφορίες που παρέχονται µέσω του GUI αλλά δεν µπορεί να τις τροποποιήσει. Μπορεί µόνο να ζητήσει την δηµιουργία µιας µονόδροµης ή αµφίδροµης σύνδεσης επιλέγοντας ένα συγκεκριµένο πρότυπο ΠοιΥπ για αυτή και να καθορίσει το εύρος ζώνης της, το οποίο θα είναι µικρότερο ή ίσο του µέγιστου εύρος ζώνης που είναι διαθέσιµο, στην κλάση του πρoτύπου ΠοιΥπ. Τα πρότυπα ΠοιΥπ που τίθενται στην διάθεση των χρηστών περιορίζονται από τα SLAs που κατέχουν οι χρήστες. Το QoS Configuration Management υποσύστηµα υλοποιεί σε java το Parlay Connectivity Manager API [13], το οποίο είναι ένα ανοικτό πρότυπο API που καθορίστηκε από το Parlay Group [12]. Η υλοποίηση αυτού του API περιλαµβάνει ένα σύνολο προγραµµατιστικών ενοτήτων (Connectivity Manager, Persistence Manager και Resource Manager) που προσφέρουν διαχειριστικές λειτουργίες συνδετικότητας στο επίπεδο εφαρµογής. Με τη χρησιµοποίηση αυτού του υποσυστήµατος, οι διαχειριστές µπορούν να διαχειριστούν το δίκτυο και να εισάγουν στη βάση δεδοµένων πληροφορίες που αφορούν είτε το σύστηµα είτε το δίκτυο, ενώ οι χρήστες µπορούν να ζητήσουν πόρους και ΠοιΥπ για συγκεκριµένες συνδέσεις. Το υποσύστηµα χρησιµοποιεί ΚΠς οι οποίοι στέλνονται όσο το δυνατόν πιο κοντά στους δροµολογητές ώστε να καθορίσουν τις απαραίτητες παραµέτρους που αφορούν την ΠοιΥπ των συνδέσεων. Το Performance Monitoring Management υποσύστηµα παρέχει στους διαχειριστές και τους απλούς χρήστες την δυνατότητα επίβλεψης των παραµέτρων ΠοιΥπ των συνδέσεων που έχουν διαµορφωθεί. Το υποσύστηµα χρησιµοποιεί ενεργητικές και παθητικές τεχνικές για να υπολογίσει την καθυστέρηση των πακέτων, το jitter καθώς και την χρησιµοποίηση του εύρους 156

ΚΕΦΑΛΑΙΟ 6 ζώνης, τις απώλειες πακέτων αντίστοιχα. Ο χρήστης αυτού του συστήµατος έχει επίσης την ικανότητα της τροποποίησης των χρονικών διαστηµάτων επίβλεψης (monitoring period) και αναφοράς (report period) καθεµίας υπηρεσίας επίβλεψης. Η ενότητα αυτή χρησιµοποιεί ΚΠ οι οποίοι στέλνονται όσο το δυνατόν πιο κοντά στους δροµολογητές ώστε να εκτελέσουν τις λειτουργίες επίβλεψης. Το Configuration and Reconfiguration Management υποσύστηµα επιτρέπει στο διαχειριστή τον καθορισµό ή τον επανακαθορισµό ορισµένων παραµέτρων ΠοιΥπ στους δροµολογητές. Αφ ενός, φροντίζει για την αρχική διαµόρφωση των δροµολογητών (δηλ. καθορίζει τις παραµέτρους των κλάσεων διαφοροποιηµένων υπηρεσιών) και αφ' ετέρου, εάν η ροή ενός µονοπατιού παραβιάζει τα όρια που καθορίζονται από το πρότυπο ΠοιΥπ, ο διαχειριστής µπορεί να επισηµάνει το µονοπάτι της συγκεκριµένης ροής (εάν χρησιµοποιείται στατική δροµολόγηση), να πάρει το φορτίο των ουρών αναµονής των δροµολογητών που εµπλέκονται σε αυτή και να τροποποιήσει τις παραµέτρους αυτών, προκειµένου να βελτιωθεί η παρεχόµενη από άκρο σε άκρο ΠοιΥπ. Μέσω αυτού του υποσυστήµατος είναι δυνατό να διαµορφωθούν και να µετατραπούν οι Random Ealry Detection (RED) παράµετροι, το µέγεθος των ουρών αναµονής καθώς επίσης και το εύρος ζώνης που διατίθεται σε κάθε κλάση. Επιπλέον, το υποσύστηµα επαναπροσδιορίζει τις νέες τιµές εύρους ζώνης µε βάση το φορτίο των ουρών αναµονής ανά κλάση, και το διάστηµα καθυστέρησης µεταξύ των κλάσεων που καθορίζεται από το χρήστη. Αυτή η ενότητα υλοποιεί ΚΠς που στέλνονται όσο το δυνατόν πιο κοντά στους δροµολογητές ώστε να καθορίσουν (ή επανακαθορίσουν) τις παραµέτρους ΠοιΥπ. Χρονοδιαρθρωτής και Προσαρµοστές (Scheduler and Wrappers) Η ενότητα αυτή περιλαµβάνει τους στατικούς πράκτορες που βρίσκονται όσο το δυνατόν πιο κοντά στους δροµολογητές προκειµένου να εξυπηρετηθούν οι ιδιαίτερες αιτήσεις των επισκεπτών ΚΠ, οι οποίοι δεν µπορούν να έχουν άµεση πρόσβαση στο επίπεδο δικτύου. Καλούνται στατικοί επειδή µεταναστεύουν µια φορά στους δροµολογητές, ή όσο το δυνατόν πιο κοντά σε αυτούς, και µένουν εκεί έως ότου χρειάζονται να τροποποιηθούν οι λειτουργίες που παρέχουν οπότε χρειάζεται να αντικατασταθούν. Ένα κοινό προσαρµοσµένο API (που αναφέρεται στο σχήµα 1 ως Linux - Cisco API) έχει οριστεί για τη διαµόρφωση παραµέτρων καθώς και την λήψη πληροφοριών ΠοιΥπ (π.χ. απώλειες πακέτων, χρησιµοποιούµενο ή διαθέσιµο εύρος ζώνης, κλπ) από τους δροµολογητές Linux ή Cisco. Λόγω των περιορισµένων πληροφοριών που είναι δυνατό να συλλεχθούν απευθείας από τους δροµολογητές, µερικοί ΚΠ χρησιµοποιούνται οι οποίοι ανταλλάσσουν µεταξύ τους µηνύµατα ώστε να µετρηθούν πρόσθετοι παράµετροι ΠοιΥπ (π.χ. 157

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP καθυστέρηση πακέτων και jitter) στα πλαίσια του ενεργητικού ελέγχου. Οι Linux και Cisco προσαρµοστές υλοποιούν αυτό το κοινό API κρύβοντας από το ανώτερο στρώµα τον τύπο του δροµολογητή και τις λεπτοµέρειες του πρωτοκόλλου διαχείρισής του. Οι χρονοδιαρθρωτές βρίσκονται µόνο στους ακραίους δροµολογητές του δικτύου και διατηρούν τους πόρους που είναι διαθέσιµοι και αυτούς που έχουν διατεθεί σε υπάρχουσες συνδέσεις. 6.3 Jain/Parlay API ιάφορες διεπαφές εξετάστηκαν για έγκριση και εισαγωγή τους στο σύστηµα διαχείρισης, συµπεριλαµβανοµένων των υπό ανάπτυξη διεπαφών από τους: TSAS (OMG Telecommunications Domain Task Force Activities), OSA API (part of the 3GPP standardization work), JAIN (Java API Initiative), Parlay API, Multi-Service Forum. Λόγω των θέσεων που εκφράστηκαν στις προδιαγραφές, όσον αφορά την ανοικτότητα (openess) την ευελιξία και την ανεξαρτησία του συστήµατος, οι διεπαφές Parlay υιοθετήθηκαν να υλοποιηθούν από το σύστηµα. Κάποιες επεκτάσεις, προσαρµογές και διευκρινίσεις όσον αφορά τις λειτουργίες τους διεξήχθησαν. Το Parlay Group [12] είναι ένα κονσόρτιο µε µέλη κατασκευαστές προϊόντων δικτύων, το οποίο σχηµατίστηκε για την ανάπτυξη ανοικτών τεχνολογικά-ανεξάρτητων διεπαφών προγραµµάτων εφαρµογής (APIs) που επιτρέπουν σε τρίτους να αναπτύξουν εφαρµογές και τεχνολογικές λύσεις που θα λειτουργούν σε πολλά περιβάλλοντα δικτύωσης. Οι περισσότερες από τις προδιαγραφές Parlay έχουν υποβληθεί και έχουν γίνει αποδεκτές από οργανισµούς τυποποίησης όπως οι 3GPP και ETSI. Σηµαντικοί φορείς εκµετάλλευσης και πώλησης προϊόντων δικτύων όπως οι BT, Telecom Italia, France Telecom, IBM, SUN, Nokia, Ericsson, Lucent, Alcatel, Siemens, Nortel and Cisco είναι µέλη του Parlay κονσόρτιου. Στο σύστηµα διαχείρισης υιοθετήθηκε το Parlay Connectivity Manager API [13] για την διαµόρφωση των παραµέτρων ΠοιΥπ σε IP DiffServ δίκτυα. Πρόκειται για ένα ανοικτό API που µπορεί να χρησιµοποιηθεί από οποιοδήποτε δηµιουργό εφαρµογών (χρήστες, φορείς παροχής υπηρεσιών, φορείς εκµετάλευσης δικτύων, µεσίτες, κ.λπ...) Εκτός από την προδιαγραφή Parlay αποφασίστηκε επίσης το σύστηµα διαχείρισης να είναι συµβατό µε τη JAIN προσέγγιση [14]. Η οµάδα JAIN, υποστηρίζεται από την Sun Microsystems και έχει έναν παρόµοιο στόχο µε το Parlay, περισσότερο όµως επικεντρώνεται στο πεδίο του καθορισµού, ενός σύνολου ανοικτών APIs που είναι ανεξάρτητα από το συγκεκριµένο 158

ΚΕΦΑΛΑΙΟ 6 πρωτόκολλο που χρησιµοποιείται στο δίκτυο, καθώς και στην γρήγορη ανάπτυξη των εφαρµογών επόµενης γενιάς, πάνω στη πλατφόρµα της Java. ηµιουργήσαµε δύο επίπεδα APIs σε Java.. Ένα, στο επίπεδο δικτύου - το Linux- Cisco API που κρύβει το συγκεκριµένο τύπο δροµολογητών και πρωτοκόλλων διαχείρισής τους και ένα στο επίπεδο υπηρεσίας - µια υλοποίηση σε Java του Parlay API που προσφέρει στο επίπεδο εφαρµογής κοινή πρόσβαση στις υπηρεσίες του δικτύου. Το Java Parlay API µπορεί να χρησιµοποιηθεί για την τοπική πρόσβαση ενώ ένα Parlay CORBA API συστήνεται για την εξ' αποστάσεως πρόσβαση εφαρµογών. 6.4 ιάρθρωση δικτύου IP DiffServ Όπως ήδη έχει αναφερθεί, το σύστηµα διαχείρισης ΠοιΥπ που προτείνουµε, λειτουργεί σε ένα IP DiffServ δίκτυο. Χρησιµοποιώντας το Linux-Cisco API είναι δυνατό να διαµορφωθούν οι εσωτερικές οντότητες του σχήµατος 2 οι οποίες υπάρχουν σε κάθε κόµβο DiffServ [15]. Τα φίλτρα ενός δροµολογητή αποτελούνται από δύο οντότητες: τον κατηγοριοποιητή (classifier) που προσδιορίζει την κλάση στην οποία ανήκουν τα πακέτα κάθε ροής εισόδου και τον µετρητή (meter) που χαρακτηρίζει την κίνηση µιας κλάσης όσον αφορά το εύρος ζώνης που χρησιµοποιεί. Ο µετρητής υποστηρίζει την TCM τεχνική για το µαρκάρισµα των πακέτων (Three Color Marker TCM: Green, Yellow, Red) [16][17]. Ο σηµαδευτής (marker) είναι αρµόδιος για τον χαρακτηρισµό των πακέτων IP αναθέτοντας την κατάλληλη τιµή στο πεδίο DiffServ Code Point (DSCP) κάθε πακέτου σύµφωνα µε τα χαρακτηριστικά ΠοιΥπ του. Το DSCP είναι ένας δυαδικός κώδικός, ο οποίος τοποθετείται στον πεδίο Type of Service (ToS) της επικεφαλίδας των IP πακέτων. Η ανά κόµβο συµπεριφορά (Per Hop Behaviour - PHBs) καθορίζεται από τον διαµορφωτή/απορρίπτη (Shaper/Dropper) καθώς επίσης και από τον χρονοπρογραµµατιστή (scheduler). Με τη διαµόρφωση αυτών των οντοτήτων, καθορίζουµε τον τρόπο προώθησης των πακέτων στον επόµενο δροµολογητή ανάλογα µε την DSCP τιµή που έχουν. Εκτός από το παραδοσιακή κλάση Best Effort, υπάρχουν δύο ακόµη PHBs: η Expedited Forwarding (EF) [19] και η Assured Forwarding (AF)[18]. Αυτές οι συµπεριφορές διαφέρουν, η µια από την άλλη, από την άποψη των εγγυήσεων ΠοιΥπ που παρέχουν. Η διαφορετική διαµόρφωση των ουρών αναµονής αυτών των κλάσεων πρέπει να απεικονίζει αυτήν την διαφοροποίηση. 159

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP Meter Classifier Marker Shaper / Dropper EF - FIFO + Tail drop Filtering block AF - GRED BE - RED Scheduler CBQ Behaviour aggregate classification Multi-Field classification Σχήµα 2: IP DiffServ κόµβος Για την υλοποίηση της EF συµπεριφοράς, η οποία έχει ως στόχο να εξασφαλίσει σε µια κλάση ένα ελάχιστο εγγυηµένο (διαµορφώσιµο) εύρος ζώνης µε χαµηλές απώλειες, jitter και καθυστέρηση µετάδοσης πακέτων, χρησιµοποιείται η ουρά αναµονής FIFO (First In First Out). Τα πακέτα παραδίδονται στην ίδια σειρά µε την οποία φθάνουν στη ουρά αναµονής. Η AF συµπεριφορά ορίζει τέσσερις κλάσεις, κάθε µια από τις οποίες περιέχει τρεις υποκλάσεις (AF11, AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43). Η µεταξύ τους διαφορά συνίσταται στη διαφορετική προτεραιότητα απόρριψης των πακέτων όποτε αυτό χρειάζεται. Η AF συµπεριφορά υλοποιείται χρησιµοποιώντας την ουρές αναµονής Random Early Detection (RED) [20]. Σε αυτά τα σχήµατα αναµονής τα πακέτα απορρίπτονται βάση του φορτίου των ουρών αναµονής τους και την τιµή µιας πιθανότητας που ονοµάζεται πιθανότητα συµφόρησης. Τα πακέτα από όλες τις ουρές αναµονής προωθούνται στην ενότητα που καθορίζει τον τρόπο µε τον οποίο θα εξυπηρετηθούν (χρονοπρογραµµατιστής - scheduler). Σε κάθε DiffServ κόµβο τα πακέτα εξυπηρετούνται από Class Based Queuing (CBQ)[21] χρονοπρογραµµατιστές του υπό διαχείριση δικτύου. 6.5 Αναλυτική σχεδίαση του συστήµατος διαχείρισης ΠοιΥπ Οι προγραµατιστικές οντότητες του συστήµατος διάρθρωσης και επίβλεψης ΠοιΥπ παρουσιάζονται στο σχήµα που ακολουθεί: 160

ΚΕΦΑΛΑΙΟ 6 MA platform QoS Management Application Admin/User Admin Set Basic Routers Config &Reconf Application Layer Create Connections w/ QoS Get Connection s Info Get_DB_Info Get/Set Info f/db Put/Get MonitoredQoSInfo IpConnectivityManager IpQoSMenu IpEnterpriseNetwork IpQoSTemplate Connectivity Manager IpVPrN Parlay API s IpVPrP MA platform Public Interface Private Interface QoSConfig Connection QoS RemoveConnection QoSConfigAgent s Configure &Remove Connections in EdgeRouter s MA platform IScheduler Scheduler QoSPersistenceManagerFacade QoSPersistenceInterface QoSPersistenceConfigurationInterface PersistenceManager Reserve Connecti ions Star/Stop Monitoring QoSResourceManagerFacade QoSResourceManagerInterface ConnectionReservationInterface QoSMonitor Interface ResourceManager Edge_ ConfiguringSLS Monitoring Core_Configuring Core_ Monitoring Linux-Cisco API s (Wrapper s) IMonitorManager MasterMonitor MonitorAgents Passive&Active Set Basic Routers Config &Reconf ConfRoute ReConfRoute Conf&ReConf RoutAgents Service Layer Adaptation Layer Mobile Agent Static Agent tc tool Telnet SNMP Linux Router Cisco Router Network Layer Σχήµα 3: Οντότητες του συστήµατος διάρθρωσης και επίβλεψης ΠοιΥπ Το σύστηµα διαµορφώνει τις παραµέτρους ΠοιΥπ ενός IP DiffServ δικτύου ενώ παράλληλα επιβλέπει την ΠοιΥπ συνδέσεων που έχουν διαµορφωθεί. Οι χρήστες έχουν τη δυνατότητα να αποκαθιστούν/διακόπτουν συνδέσεις συγκεκριµένης ΠοιΥπ η οποία δεν παραβιάζει τα SLAs που διαθέτουν καθώς επίσης και να επιβλέπουν τις παραµέτρους ΠοιΥπ ήδη εγκατεστηµένων συνδέσεων. Στις υποενότητες που ακολουθούν δίνεται η αναλυτική περιγραφή του κάθε υποσυστήµατος. 6.5.1 Εφαρµογής ιαχείρισης ΠοιΥπ (QoS Management Application) Μέσω της ενότητας έναρξης συνόδου (login module) της εφαρµογής διαχείρισης ΠοιΥπ, ο χρήστης είναι σε θέση να συνδεθεί µε το σύστηµα είτε ως απλός χρήστης είτε ως διαχειριστής και να µεταφερθεί στις κύριες επιλογές της εφαρµογής ΠοιΥπ. Η διάκριση των χρηστών που εισάγονται στο σύστηµα σε απλούς χρήστες και σε διαχειριστές είναι απαραίτητη για την λειτουργία του συστήµατος. Στον απλό χρήστη, το σύστηµα παρέχει τις ακόλουθες λειτουργίες: i. Επιλογή του κατάλληλου SLA µεταξύ αυτών που κατέχει ο χρήστης. ii. Πρόσβαση στα QoSTemplates που ορίστηκαν από τους διαχειριστές του συστήµατος a. Εµφάνιση των QoSTemplates και επιλογή του καταλληλότερου. b. Τροποποίηση των πεδίων που επιτρέπεται να αλλαχθούν σε ένα QoSTemplate και αποθήκευσή του στο προφίλ του χρήστη. 161

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP iii. ηµιουργία σύνδεσης µε συγκεκριµένες παραµέτρους ΠοιΥπ. iv. Επίβλεψη των παραµέτρων ΠοιΥπ µιας σύνδεσης που δηµιουργήθηκε στο βήµα iii. v. ιακοπή δηµιουργηµένων συνδέσεων. Οι χρήστες που χαρακτηρίζονται ως διαχειριστές του συστήµατος εκτός των λειτουργιών που παρέχει το σύστηµα στους απλούς χρήστες διαθέτουν και τις παρακάτω δυνατότητες: vi. Εισαγωγή/διαχείριση των QoSTemplates και των SLAs στη βάση δεδοµένων διαχείρισης (Management Information Database) του συστήµατος. vii. Αρχική διαµόρφωση δροµολογητών πυρήνα και ακραίων δροµολογητών. viii. Επανακαθορισµός παραµέτρων DiffServ στους δροµολογητές ix. ηµιουργία / διαγραφή χρηστών. x. Επίβλεψη παραµέτρων ΠοΥπ στο υπο δαχείριση δίκτυο (Enterprise Network). Στα σχήµατα που ακολουθούν εµφανίζονται τα παράθυρα του συστήµατος διαχείρισης ΠοιΥπ για τον απλό χρήστη και για τον διαχειριστή αντίστοιχα. Σχήµα 4: Σύστηµα διαχείρισης ΠοιΥπ Παράθυρο απλού χρήστη 162

ΚΕΦΑΛΑΙΟ 6 Σχήµα 5: Σύστηµα διαχείρισης ΠοιΥπ Παράθυρο διαχειριστή του συστήµατος Ο κύριος στόχος κατά τη σχεδίαση του GUI ήταν να παραµείνει όσο το δυνατό πιο απλό µε λίγα αναδυόµενα παράθυρα (pop-up windows). Βάση αυτού του στόχου, το κύριο παράθυρο του GUI χωρίζεται σε δύο περιοχές. Η αριστερή περιοχή διαθέτει πληροφορίες υπό µορφή κόµβων σε δενδροειδή δοµή οι οποίοι περιγράφουν τα υπάρχοντα SLAs, τα QoSTemplates, τους χρήστες, τα υπό διαχείριση δίκτυα και τις δηµιουργηµένες συνδέσεις. Χρησιµοποιώντας το ποντίκι, ο χρήστης µπορεί να επιλέξει οποιονδήποτε κόµβο και να τον επεκτείνει περαιτέρω στους υπόκόµβους του. Όλες οι χαµηλότερου επιπέδου πληροφορίες (το περιεχόµενο ενός κόµβου) παρουσιάζονται στη δεξιά πλευρά του παραθύρου. Μέσω της εφαρµογής ΠοιΥπ ένας χρήστης µπορεί να δηµιουργήσει / επιβλέψει / καταργήσει συνδέσεις µε συγκεκριµένη ΠοιΥπ η οποία πρέπει να συµφωνεί µε τις τιµές ΠοιΥπ του SLA του χρήστη. Μια σύνδεση ορίζεται να είναι µονόδροµη ή αµφίδροµη και οι παράµετροι ΠοιΥπ ισχύουν από άκρο σε άκρο κατά µήκος της σύνδεσης για ένα καθορισµένο χρονικό διάστηµα. Τα άκρα της σύνδεσης είναι διεπαφές δικτύων (network interfaces) ακραίων δροµολογητών. Αναλυτικά τα ενδιάµεσα βήµατα που ακολουθούνται κατά την εκτέλεση των βασικών λειτουργιών της εφαρµογής ΠοιΥπ περιγράφονται παρακάτω: 1. ηµιουργία Σύνδεσης Παρουσιάζουµε τα βήµατα για την καθιέρωση µιας µονόδροµης σύνδεσης. Για την καθιέρωση αµφίδροµης σύνδεσης όλα τα βήµατα µετά το δεύτερο εκτελούνται δύο φορές: Μια φορά µε 163

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP σηµείο εισόδου την πρώτη διεπαφή δικτύου της σύνδεσης για την εµπροσθόφορη κατεύθυνση (forward direction) της κίνησης και η άλλη µε σηµείο εισόδου τη δεύτερη διεπαφή δικτύου της σύνδεσης για την αντίστροφη κατεύθυνση. Η ίδια πρακτική ακολουθείται κατά την περιγραφή και των άλλων λειτουργιών. Ο χρήστης αφού κάνει log in στο σύστηµα συνδέεται µε το GUI περιβάλλον της Εφαρµογής ιαχείρισης ΠοιΥπ και λαµβάνει µια λίστα από δροµολογητές και σηµεία πρόσβασης του δικτύου του παροχέα υπηρεσιών. Ο χρήστης δηλώνει το SLA βάση του οποίου το/τα QoSTemplate που θα επιλέξει και διαµορφώσει θα ελεγχθεί και προσδιορίζει τη σύνδεση που θέλει να δηµιουργηθεί δηλώνοντας: τα άκρα της σύνδεσης και το είδος κατεύθυνσης της κίνησης σε αυτή (µονόδροµη ή αµφίδροµη). ο χρήστης ανακτά ένα σύνολο από QoSTemplates που του παρέχει ο παροχέας υπηρεσιών, και επιλέγει ένα από αυτά (για κάθε κατεύθυνση σε περίπτωση που η σύνδεση είναι αµφίδροµη) προκειµένου να καθορίσει την ΠοιΥπ της σύνδεσης. ο χρήστης ενηµερώνει το κάθε QoSTemplate πρότυπο συµπληρώνοντας τις τιµές των παραµέτρων ΠοιΥπ για κάθε κατεύθυνση της σύνδεσης: κλάση υπηρεσίας, καθυστέρηση µετάδοσης, ποσοστό απωλειών πακέτων, jitter, τρόπο αντιµετώπισης της υπερβάλλουσας κίνησης (excess traffic). Τέλος δηλώνει τα χρονικά χαρακτηριστικά της σύνδεσης (χρονική περίοδο δηµιουργίας και κατάργησης της). ο χρήστης υποβάλλει το ολοκληρωµένο πρότυπο (που αποτελεί το SLS αίτηµά του) για επικύρωση στο σύστηµα. Το σύστηµα δηµιουργεί στη βάση δεδοµένων διαχείρισης µια νέα σύνδεση µε κατάσταση «εκκρεµή» που κρατά αυτές τις επιλογές. Κατόπιν ελέγχει τη διαθεσιµότητα των πόρων του δικτύου καθώς και την ισχύ του αιτήµατος του χρήστη στα πλαίσια του SLA του. Εάν η σύνδεση επιτρέπεται, το σύστηµα δηµιουργεί έναν ΚΠ διαµόρφωσης (QoSConfigAgent) που θα ταξιδέψει στο δροµολογητή εισόδου της σύνδεσης. Ο QoSConfigAgent κατά την επίσκεψή του σε έναν δροµολογητή, ζητά από τον πράκτορα διαµόρφωσης ακρών (Edge_ConfiguringSLS) που είναι στατικός πράκτορας στο δροµολογητή, να δηµιουργήσει µια SLS καταχώρηση στην κατάλληλη διεπαφή δικτύου (network interface) του δροµολογητή. H SLS καταχώρηση διαµορφώνει τις κατάλληλες τιµές των παραµέτρων κατηγοριοποίησης, κίνησης καθώς και τα χρονικά χαρακτηριστικά της σύνδεσης (έναρξη λήξη της σύνδεσης). το σύστηµα λαµβάνει µια αναφοράς επιτυχίας ή αποτυχίας που αφορά της διαµόρφωση της σύνδεσης από τον ΚΠ QoSConfigAgent. 164

ΚΕΦΑΛΑΙΟ 6 Το σύστηµα στέλνει το αποτέλεσµα της διαµόρφωσης στο χρήστη και ορίζει ανάλογα µε το αποτέλεσµα την κατάσταση της σύνδεσης σε «ενεργή» ή «ανεπίτρεπτη». 2. Κατάργηση σύνδεσης Ο χρήστης αφού κάνει log in στο σύστηµα συνδέεται µε το GUI περιβάλλον της Εφαρµογής ιαχείρισης ΠοιΥπ και λαµβάνει µια λίστα µε τις εγκατεστηµένες συνδέσεις στο δίκτυο του παροχέα υπηρεσιών. ο χρήστης εκδίδει µια οδηγία κατάργησης σύνδεσης προσδιορίζοντας στο σύστηµα το αναγνωριστικό της σύνδεσης. Η σύνδεση που είχε δηµιουργηθεί προηγουµένως καταστρέφεται ανεξάρτητα από την κατάστασή της. Τα βήµατα που ακολουθεί το σύστηµα είναι παρόµοια µε εκείνα που περιγράφονται στην λειτουργία της δηµιουργίας µια σύνδεσης. 3. Επίβλεψη εγκατεστηµένης σύνδεσης Ο χρήστης αφού κάνει log in στο σύστηµα συνδέεται µε το GUI περιβάλλον της Εφαρµογής ιαχείρισης ΠοιΥπ και λαµβάνει µια λίστα των εγκατεστηµένων συνδέσεων στο δίκτυο του παροχέα υπηρεσιών. ο χρήστης µπορεί να ζητήσει να επιβλέψει την ΠοιΥπ που παρέχεται σε µια ή περισσότερες από τις εγκατεστηµένες συνδέσεις. Μπορεί επίσης να τροποποιήσει τα χρονικά διαστήµατα επίβλεψης και αναφοράς για µια σύνδεση είτε στην αρχή είτε κατά τη διάρκεια της διαδικασίας επίβλεψης. ο πράκτορας συντονισµού επίβλεψης (MasterMonitor), δηµιουργεί τους απαραίτητους ΚΠ επίβλεψης (ενεργητικοί και παθητικοί πράκτορες επίβλεψης - Active and Passive Monitor Agents) που µεταναστεύουν στο δροµολογητή εισόδου της σύνδεσης. O Active Monitor Agent ενηµερώνει περιοδικά την βάση δεδοµένων διαχείρισης µε τις τιµές της καθυστέρησης και του Jitter των πακέτων της σύνδεσης. O Passive Monitor Agent ενηµερώνει περιοδικά την βάση δεδοµένων διαχείρισης µε τις τιµές του εύρος ζώνης που χρησιµοποιείται και του ποσοστού απωλειών πακέτων της σύνδεσης. Το σύστηµα εκθέτει περιοδικά τιµές που αφορούν τους πόρους του συστήµατος από την βάση δεδοµένων διαχείρισης στο GUI. 165

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP 4. ιακοπή επίβλεψης εγκατεστηµένης σύνδεσης Ο Master Monitor agent στέλνει σήµα τερµατισµού στους Active και Passive Monitor ΚΠ της σύνδεσης της οποίας ο χρήστης θέλει να σταµατήσει την διαδικασία επίβλεψης. 6.5.2 Το υποσύστηµα QoS Configuration Management Το QoS Configuration Management υποσύστηµα αποτελεί τον µεσίτη εύρους ζώνης (Bandwidth Broker - BB) [22] του συστήµατος ο οποίος διαχειρίζεται τους πόρους του συστήµατος που έχουν διατεθεί σε εγκατεστηµένες συνδέσεις και εκτελεί τον έλεγχο αποδοχής αιτηµάτων για δηµιουργία νέων συνδέσεων. Παρέχει προς χρήση, σε εφαρµογές και ιδιαίτερα στην Εφαρµογή ιαχείρισης ΠοιΥπ, τις ParlayConnectivityManager διεπαφές του επιπέδου υπηρεσίας. Το υποσύστηµα αποτελείται από τις παρακάτω προγραµµατιστικές ενότητες: Bandwidth Broker <<subsystem>> ParlayConnectivityManagerImp ParlayConnectivityManager Interface <<subsystem>> QoSResourceManager QoSResourceManagerInterface ConnectionReservationInterface <<subsystem>> QoSPersistenceManager QoSPersistenceInterface QoSPersistenceConfigurationInterface Σχήµα 7: Προγραµµατιστικές ενότητες του QoS Configuration Management υποσυστήµατος ParlayConnectivityManager Η ενότητα αυτή υλοποιεί σε Java το ParlayConnectivityManager API. QoSResourceManager Είναι υπεύθυνο για την διαχείριση των πόρων του συστήµατος γνωρίζει εάν υπάρχουν αρκετοί διαθέσιµοι πόροι προκειµένου να εγκατασταθεί µια νέα σύνδεση και εκτελεί τις απαραίτητες ενέργειες για την διάθεση αυτών. 166

ΚΕΦΑΛΑΙΟ 6 QoSPersistentManager Είναι αρµόδιο για την δηµιουργία στη βάση δεδοµένων διαχείρισης όλων των αντικειµένων που απαιτούνται από το QoS Configuration Management υποσύστηµα. Η υλοποίηση του υποσυστήµατος οδηγεί στη δηµιουργία των ακόλουθων κινητών ή στατικών πρακτόρων: ConnectivityManagerParlayAPIAgent: Είναι ένας εµµένων (persistent) στατικός πράκτορας, ο οποίος υλοποιεί σε JAVA το Connectivity Management Parlay API. Μέσω αυτού του πράκτορα η Εφαρµογή ιαχείρισης ΠοιΥπ έχει πρόσβαση σε όλες τις υπηρεσίες του επιπέδου υπηρεσίας. QoSConfigureConnectionAgent: είναι ένας ΚΠ που µεταναστεύει στο επίπεδο προσαρµογής ενός ακραίου δροµολογητή προκειµένου να µιλήσει µε τον χρονοδιαρθρωτή στατικό πράκτορα ο οποίος θα διαµορφώνει κατάλληλα τον δροµολογητή σύµφωνα µε το αίτηµα του χρήστη για εγκατάσταση νέας σύνδεσης µε συγκεκριµένη ΠοιΥπ. Ο QoSConfigureConnectionAgent δηµιουργείται από το ConnectivityManagerParlayAPIAgent. QoSRemoveConnectionAgent: είναι ένας ΚΠ που µεταναστεύει στο επίπεδο προσαρµογής ενός ακραίου δροµολογητή προκειµένου να µιλήσει µε τον χρονοδιαρθρωτή στατικό πράκτορα για την διαγραφή των παραµέτρων µιας εγκατεστηµένης σύνδεσης. Ο QoSRemoveConnectionAgent δηµιουργείται από το ConnectivityManagerParlayAPIAgent. 6.5.2.1 ιεπαφές του ParlayConnectivityManager Το διάγραµµα κλάσεων στο σχήµα 7 παρουσιάζει τις ParlayConnectivityManager διεπαφές [13]. Η διεπαφή ConnectivityManager αποτελεί το σηµείο εισόδου σε αυτή την υπηρεσία. Από αυτήν παρέχεται πρόσβαση στις διεπαφές του υπό διαχείριση δικτύου (EnterpriseNetwork) και στο µενού ΠοιΥπ (QoSMenu). Το δίκτυο κάθε παροχέα υπηρεσιών αναπαριστάται από ένα EnterpriseNetwork. Το µενού ΠοιΥπ παρέχει ένα σύνολο από QoSTemplates που το καθένα καθορίζει τις παραµέτρους ΠοιΥπ που προσφέρει ο παροχέας υπηρεσιών του δικτύου. Επιπλέον κάθε QoSTemplate χρησιµοποιείται για την προσωρινή φύλαξη των παραµέτρων ΠοιΥπ που καθορίζει ο χρήστης. 167

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP <<Interface>> IpConnectivityManager <<Interface>> IpQoSMenu 1 1 1 1 <<Interface>> IpEnterpriseNetwork 1 1 1 <<Interface>> IpVPrN 1 0..* <<Interface>> IpQoSTemplate 1 1..* <<Interface>> IpEnterpriseNetworkSite 0..* <<Interface>> IpVPrP Σχήµα 7: ιεπαφές του ParlayConnectivityManager Η διεπαφή Enterprise Network παρέχει πρόσβαση στους δροµολογητές του υπό διαχείριση δικτύου (Enterpise Network Sites) και στο Εικονικό Παρεχόµενο ίκτυο (Virtual Provisioned Network - VPrN) στο οποίο έχουν πρόσβαση οι χρήστες. Η διεπαφή Virtual Provisioned Network παρέχει αναφορές σε όλους τους Εικονικούς Παρεχόµενους ίαυλους (Virtural Provisioned Pipes - VPrPs) που έχουν ήδη εγκατασταθεί. Ένα VPrP είναι το αντίστοιχο στην ορολογία Parlay της σύνδεσης µε συγκεκριµένα χαρακτηριστικά ΠοιΥπ. Μπορεί να θεωρηθεί ως µια εικονική µισθωµένη γραµµή (Virtual Leased Line - VLL) που παρέχει προκαθορισµένη ΠοιΥπ. Η διεπαφή QoSMenu παρέχει αναφορές σε όλα τα πρότυπα ΠοιΥπ (QoSTemplates) που παρέχονται από τον παροχέα υπηρεσιών δικτύου. Σε κάθε QoSTemplate καθορίζονται οι παραµέτροι ΠοιΥπ για την δηµιουργία ενός νέου VPrP. 6.5.2.2 QoS Resource Manager Το υποσύστηµα είναι αρµόδιο για τη διαχείριση των πόρων, πχ εύρος ζώνης ανά κλάση υπηρεσίας για κάθε διεπαφή δικτύου των σύνδεσων εξόδου των δροµολογητών. ιαθέτει τις απαραίτητες λειτουργίες ώστε να δεσµευθούν οι κατάλληλοι πόροι κατά την εγκατάσταση µιας σύνδεσης. Οι πληροφορίες για τους διαθέσιµους πόρους είναι δυνατό να ανανεωθούν µε νέες τιµές µέσω του συστήµατος επίβλεψης. Το QoS Resource Manager υποσύστηµα περιέχει τις ακόλουθες διεπαφές: 168

ΚΕΦΑΛΑΙΟ 6 QoSResourceManagerFacade getqosresourcemanagerinterface() : QoSResourceManagerInterface QoSResourceManagerInterf ace maketemporaryreserv ation(thevprp : IjpVPrP) : ConnectionReserv ationinterface releasereserv ation(thevprp : IjpVPrP) : boolean releasereserv ationwithoutstopmonitoring(thevprp : IjpVPrP) : boolean setprov isionedqosinf o(thevprp : IjpVPrP) : boolean ConnectionReserv ationinterf ace commit() : v oid rollback() : v oid isvalid() : boolean Το QoSResourceManagerFacade είναι υπεύθυνο να παρέχει πρόσβαση σε αντικείµενα που υλοποιούν την διεπαφή QoSResourceManagerIntrerface. Η διεπαφή QoSResourceManagerInterface είναι υπεύθυνη για την δέσµευση ή την αποδέσµευση δικτυακών πόρων µέσω των µεθόδων του. Η λειτουργία maketemporaryreservation δεσµεύει προσωρινά τους πόρους που απαιτούνται για µια σύνδεση και επιστρέφει µια αναφορά σε ένα αντικείµενο που υλοποιεί τη διεπαφή ConnectionReservationInterface. Ο έλεγχος διαθέσιµων πόρων (έλεγχος αποδοχής) µπορεί να γίνει χρησιµοποιώντας τις µεθόδους του κεφαλαίου 3. Σε περίπτωση που το δίκτυο υποστηρίζει σχετική διαφοροποίηση αντί της απόλυτης διαφοροποίησης, δεν εκτελείται έλεγχος αποδοχής και η σχετική διαφοροποίηση υποστηρίζεται από τους πράκτορες επανακαθορισµού του ρυθµού εξυπηρέτησης των κλάσεων, που περιγράφονται στην παράγραφο 6.4.3. Εάν δεν εκτελεσθεί η µέθοδος commit (για µόνιµη δέσµευση των πόρων) ή η µέθοδος rollback (για αποδέσµευση των πόρων) της διεπαφής ConnectionReservationInterface, µέσα σε ένα ορισµένο χρονικό διάστηµα µετά την εκτέλεση της maketemporaryreservation, τότε το σύστηµα απελευθερώνει τους πόρους που δεσµεύτηκαν προσωρινά (πράγµα που ισοδυναµεί µε rollback). Η λειτουργία releasereservation µπορεί να εκτελεσθεί είτε το VPrP έχει δεσµεύσει µόνιµα τους πόρους που απαιτεί είτε όχι. Η διεπαφή ConnectionReservationInterface χρησιµοποιείται για να την µόνιµη δέσµευση ή για την αποδέσµευση µιας προσωρινής κράτησης πόρων που έγινε από την maketemporaryreservation της διεπαφής QoSResourceManagerIntrerface. 169

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP 6.5.2.3 QoS Persistence Manager Το υποσύστηµα QoS Persistence Manager είναι αρµόδιο για την εισαγωγή στη βάση δεδοµένων διαχείρισης, των αντικείµενων που απαιτούνται από QoS Configuration Management-Bandwidth Broker υποσύστηµα. Οι διεπαφές του υποσυστήµατος δεν άπτονται των απαιτήσεων του υποσυστήµατος QoSResourceManager. Οι τελευταίες υλοποιούνται από τις κλάσεις του QoSResourceManager υποσυστήµατος. Το QoS Persistence Manager υποσύστηµα περιλαµβάνει τις παρακάτω διεπαφές: QoSPersistenceManagerFacade getqospersistenceinterface() : QoSPersistenceInterface getqospersistenceconfigurationinterface() : QoSPersistenceConfigurationInterface QoSPersistenceInterface getlistqostemplatetype(theuserid : String) : String [] getqostemplate(thetemplatetype : String) : IQoSTemplate createvprp(theuserid : String, theqostemplate : IQoSTemplate) : String getvprp(thevprpid : String) : IVPrP setvprpstatus(thevprpid : String, thenewstatus : VprpStatus) : void getlistvprpid(theuserid : String) : String [] iswithourdomain(thedestinationsapid : String) : boolean getexternalbbandorigin(thedestinationsapid : String, theedgeroutersapid : String [], thebbref : String []) : void getsla(theslaid : String) : ISla getedgerouter(theoriginsapid : String) : IRouterLocation getsap(theslaid : String) : ISap 170

ΚΕΦΑΛΑΙΟ 6 QoSPersistenceConfigurationInterface getallsourceurl() : string () getenablesourceurl(): string insertsourceurl (sourceurl: in string, selectionflag: in int) : void deletesourceurl (sourceurl: in string) : void desablesourceurl (sourceurl: in string) : void enablesourceurl (sourceurl: in string) : void updateconfigurationinfoofedgerouterlocation (routerid: in string, edgest: in int, corest: in int, edgedat: in string, coredat: in string) : void updatesatusreconfrouterofedgerouterlocation (routerid: in string, status: in int) : void updatedatereconfrouterofedgerouterlocation (routerid: in string, reconfdate: in string) : void getrouterswithreconfagntonit (enterpid: in string) : int () getcoreroutersofenterprise (enterpid: in string) : int () getedgeroutersofenterprise (enterpid: in string) : int () getlistqostemplatetype (theuserid: in string) : string() getallqostemplate (): string() getslalist (theuserid: in string) : string() getpassword (theuserid: in string) : string getusertype (theuserid: in string) : string getlistuserid () : string() getqostemplate (thetemplatetype: in string) : ljpqostemplate createvprp (theuserid: in string, theqostemplate: in ljpqostemplate) : lpjvprp createvprp (theuserid: in string, directionality: in NameDescrpTagDir, fwrqostemplate: in ljpqostemplate, revqostemplate: in ljpqostemplate,) : lpjvprp getvprp (thevprpid: in string) : ljpvprp getenterprisenetworkid (theuserid: in string) : string getallenterprisenetworkid () : string deletevprp (thevprpid: in string) : void setvprpstatus(thevprpid: in string, thenewstatus: in VprpStatus) : void getlistvprpid (theusedid: in string) : string() getlistvprpidofenterprisenet (enterpirsenetworkid: in string) : string() getlistrouterofenterprisenet (enterpirsenetworkid: in string) : string() iswithourdomain (thedestinationsapid) : Boolean getexternalbbandorigin (thedestinationsapid: in string, theedgeroutersapid: inout string(), thebbref inout string()) getsla(theslaid : in string) : lsla getallslalist (): string() getedgerouter (theoriginsapid: in string) : lrouterlocation getanedgerouter (EdgeRouterLocationId: in string) : lrouterlocation getsap (thesapid : in string) : lsap getlistsapid (theuserid: in string) : string() getlistsapofenterprisenet (enterprisenetid: in string) : string() getedgerouterbandwidth (edgerouterid: in string, classeofservice: in string) : int() gettimeutedresourcesvprp (timeou: in int) : string() alocateresourcesvprp (vprp: in ljpvprp, edgerouterid: in string, classofservice: in string, newbandidth in int()): void rollbackresourcesvprp (vprp: in ljpvprp, edgerouterid: in string, classofservice: in string, newbandidth in int()): void commitresourcesvprp (vprp: in ljpvprp) : void releaseresourcesvprp (vprp: in ljpvprp, edgerouterid: in string, classofservice: in string, newbandidth in int()): void setprovisionedqosinfo (vprp: in ljpvprp) : void getorigvprp (vprp: in ljpvprp) : lpjvprp insinforouterto_rmitable() : void Η διεπαφή QoSPersistenceManagerFacade παρέχει πρόσβαση σε αντικείµενα που υλοποιούν τις διεπαφές QoSPersistenceInterface και QoSPersistenceConfigurationInterface. Η διεπαφή QoSPersistenceInterface είναι υπεύθυνη για την αρχικοποίηση / δηµιουργία / αλλαγή των αντικειµένων ΠοιΥπ στη βάση δεδοµένων διαχείρισης. Περιέχει επίσης µεθόδους που υποστηρίζουν τις προγραµµατιστικές ενότητες του QoSResourceManager. Η διεπαφή QoSPersistenceConfiguration περιέχει τις µεθόδους µέσω των οποίων εισάγονται στη βάση δεδοµένων διαχείρισης αντικείµενα ΠοιΥπ όπως: QoS templates, Slas, Saps, Users, Enterprise networks, και διαθέσιµο εύρος ζώνης κάθε κλάσης στις συνδέσεις εξόδου των δροµολογητών. Στο επόµενο σχήµα παρουσιάζεται το διάγραµµα οντοτήτων - συσχετίσεων (entity reletionship diagram) της βάσης δεδοµένων διαχείρισης η οποία ελέγχεται µέσω των διεπαφών QoSPersistenceInterface και QoSPersistenceConfiguration. 171

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP 172

ΚΕΦΑΛΑΙΟ 6 Σχήµα 8: ιάγραµµα οντοτήτων συσχετίσεων της βάσης δεδοµένων διαχείρισης 173

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP Το παρακάτω ακολουθιακό διάγραµµα παρουσιάζει τα βήµατα που ακολουθεί ο χρήστης µέσω του GUI της Εφαρµογής ιαχείρισης ΠοιΥπ για την έκδοση ενός αιτήµατος δηµιουργίας νέας σύνδεσης. : User BB : (IpConnectivityManager) 1: getqosmenu(qosmenuref) BB : (IpQoSMenu) BB : (IpQoSTemplate) BB : BB : (IpVPrN) BB : (IpEnterpriseNetwork) QoSPersistenceInterface 2: gettemplate(classofservice,qostemplateref) 3: getqostemplate(classofservice) 4: setslaid(slaid) 5: getpipeqosinfo(pipeqosinfo) 6: setpipeqosinfo(pipeqosinfo) 7: getprovisionedqosinfo(provisionedqosinfo) 8: setprovisionedqosinfo(provisionedqosinfo) 9: getvalidityinfo(validityinfo) 10: setvalidityinfo(validityinfo) 11: getenterprisenetwork(enterprisenetworkref) 12: getvprn(vprnref) 13: createvprp(qostemplateref,vprpref) Σχήµα 9: Αίτηση δηµιουργίας σύνδεσης Μέσω της διεπαφής IpConnectivityManager δίνεται πρόσβαση στις λειτουργίες του επίπεδου υπηρεσίας. Μια αναφορά σε αυτή τη διεπαφή δίνεται µέσω της ενότητας ParlayConnectivityManager ύστερα από την επιτυχηµένη πιστοποίηση του χρήστη (user authentication). 1. Ανάκτηση αναφοράς στη διεπαφή QoSMenu 2. Ανάκτηση αναφοράς σε ένα QoSTemplate που αντιστοιχεί σε µια κλάση υπηρεσίας. 174

ΚΕΦΑΛΑΙΟ 6 3. Αρχικοποίηση του QoSTemplate. 4. Συσχέτιση της σύνδεσης µε ένα υπάρχον SLA. 5. Ανάκτηση των προτερόθετων τιµών (default values) των παραµέτρων του διαύλου (pipe) που αντιστοιχεί στη σύνδεση. 6. Ενηµέρωση των τιµών των παραµέτρων του διαύλου (pipe) (άκρα του διαύλου, είδος κατεύθυνσης κίνησης, παράµετροι κίνησης: min-mean-max εύρος ζώνης και µέγεθος ριπής). 7. Ανάκτηση των προτερόθετων τιµών της ΠοιΥπ που θα παρέχει η σύνδεση. 8. Ενηµέρωση (εάν είναι επιτρεπτό) των τιµών της ΠοιΥπ που θα παρέχει η σύνδεση (καθυστέρηση, απώλειες πακέτων, jitter, τρόποι αντιµετώπισης υπερβάλλουσας κίνησης). 9. Ανάκτηση των προτερόθετων χρονικών χαρακτηριστικών της σύνδεσης (χρονική περίοδος δηµιουργίας και κατάργησής της). 10. Ενηµέρωση των προτερόθετων χρονικών χαρακτηριστικών της σύνδεσης. 11. Απόκτηση αναφοράς του Enterprise Network. 12. Απόκτηση αναφοράς του Virtual Private Network. 13. Αίτηµα δηµιουργίας σύνδεσης µε τα συγκεκριµένα χαρακτηριστικά ΠοιΥπ (παράµετροι κίνησης, παρεχόµενη ΠοιΥπ, χρονικά χαρακτηριστικά). Το παρακάτω διάγραµµα θεωρείται συνέχεια του προηγούµενου (σχήµα 9) και περιγράφει τις ενέργειες του συστήµατος µετά από ένα αίτηµα δηµιουργίας σύνδεσης του χρήστη: 175

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP : User BB : (IpVPrN) BB : QoSPersistenceInterface BB : QoSResourceManagerInterface configagent : QoSConfigAgent 1: createvprp(qostemplateref,vprpref) 2: createvprp(userid, QoSTemplate) 3: getsla(slaid) 4: validatewithsla() 5: maketemporaryreservation(validityinfo, loaddescriptor, saporigid, sapdestid, out thereservationid) 6: iswithourdomain(sapdestid) OK, I can make the reservation OK, is with 7: getedgerouter(saporigid) our domain 8: new QoSConfigAgent(edgeRouter,sapOrigin,sapDest,validityInfo,loadDescriptor, greenclass,greenaction,yellowclass,yellowaction,redclass,redaction,vprnref) 9: config result 10: commitreservation(thereservationid) 11: setvprpstatus(vprpid, VPrPStatus) Σχήµα 10: ηµιουργία του VPrP της σύνδεσης 1. Αίτηµα δηµιουργίας σύνδεσης µε τα συγκεκριµένα χαρακτηριστικά ΠοιΥπ: παράµετροι κίνησης, παρεχόµενη ΠοιΥπ, χρονικά χαρακτηριστικά. 2. ηµιουργία του VPrP στη βάση δεδοµένων διαχείρισης. 3. Ανάκτηση των πληροφοριών του SLA του χρήστη. 4. Έλεγχος αν το αιτήµα δηµιουργίας σύνδεσης συµφωνεί µε το SLS του χρήστη. 5. Έλεγχος αποδοχής και προσωρινή δέσµευση των πόρων που απαιτούνται για την σύνδεση. 6. Έλεγχος αν το άκρο προορισµού της σύνδεσης ανήκει σε άλλο τοµέα διαχείρισης. 7. Ανάκτηση τοποθεσίας του ακραίου δροµολογητή εισόδου της σύνδεσης. 8. ηµιουργία του ΚΠ QoSConfigureConnectionAgent ο οποίος θα επισκεφτεί και θα διαµορφώσει κατάλληλα τον ακραίο δροµολογητή εισόδου. 9. Λήψη του αποτελέσµατος της διαµόρφωσης του ακραίου δροµολογητή εισόδου. 176

ΚΕΦΑΛΑΙΟ 6 10. Εκτέλεση της µεθόδου commit για τη µόνιµη δέσµευση των πόρων της σύνδεσης. 11. Ενηµέρωση της κατάστασης (status) του VPrP σε «ενεργή». Το διάγραµµα που ακολουθεί παρουσιάζει τις ενέργειες του QoSConfigureConnectionAgent κατά την διαµόρφωση του ακραίου δροµολογητή εισόδου της νέας σύνδεσης (ανάλυση του βήµατος 8 σχήµα 11): BB : (IpVPrN) configagent : QoSConfigAgent connectionmanager : connectionmanager : ConnectionManagerInterface CiscoLinuxInterface 1: new QoSConfigAgent(edgeRouter,sapOrigin,sapDest,validityInfo,loadDescriptor, greenclass,greenaction,yellowclass,yellowaction,redclass,redaction,vprnref) 2: moveto(edgerouter) 3: createslsentry(saporigin,sapdest,validityinfo,loaddescriptor,greenclass, greenaction,yellowclass,yellowaction,redclass,redaction) 6: config result 5: moveto(managementplatform) 4: createslsentry(priority,filterparams,trafficparams) In accordance with the time specifications (validityparams), create and destroy SlsEntry's in the Router. It works as a species of scheduller for the programmings made with createslsentry. 7: deleteslsentry(priority,filterparams) Σχήµα 11: ιάρθρωση ακραίου δροµολογητή 1. ηµιουργία του QoSConfigureConnectionAgent ΚΠ που θα επισκεφτεί και θα διαµορφώσει κατάλληλα τον ακραίο δροµολογητή εισόδου της νέας σύνδεσης. 2. Ο QoSConfigureConnectionAgent επισκέπτεται τον ακραίο δροµολογητή. 3. Ο QoSConfigureConnectionAgent ζητά από τον connectionmanageragent που είναι ένας στατικός πράκτορας που βρίσκεται στο δροµολογητή να διαµορφώσει τις παραµέτρους ΠοιΥπ που αφορούν τη σύνδεση. 177

Προηγµένα Συστήµατα ιαχείρισης για την παροχή Απόλυτης και Σχετικής ιαφοροποίησης Ποιότητας Υπηρεσιών σε ίκτυα IP 4. Ο connectionmanageragent ορίζει στον δροµολογητή τα χαρακτηριστικά ΠοιΥπ της σύνδεσης. 5. Ο QoSConfigureConnectionAgent επιστρέφει πίσω στο σύστηµα µε το αποτέλεσµα της διαµόρφωσης. 6. Ο QoSConfigureConnectionAgent ενηµερώνει το υποσύστηµα QoSConfigurationManagement. 7. Όταν επέλθει ο χρόνος κατάργησης της σύνδεσης (που καθορίζεται στα χρονικά χαρακτηριστικά της) ο connectionmanageragent διαγράφει από τον ακράιο δροµολογητή τα χαρακτηριστικά ΠοιΥπ που αφορούν τη σύνδεση. 6.5.3 Configuration & Reconfiguration Management υποσύστηµα Μέσω αυτού του υποσυστήµατος µπορεί να πραγµατοποιηθεί ο αρχικός καθορισµός και ο επανακαθορισµός των παραµέτρων DiffServ στις διεπαφές δικτύου των δροµολογητών. Για την αρχική διαµόρφωση DiffServ των διεπαφών δικτύου των δροµολογητών, η Εφαρµογή ιαχείρισης ΠοιΥπ αρχικοποιεί έναν ConfRoutAgent ΚΠ και του δίνει ένα κατάλογο µε τις διευθύνσεις των προς διαµόρφωση διεπαφών δικτύου καθώς και τον τύπο τις διαµόρφωσης που πρέπει να διεξαχθεί σε καθεµία από αυτές (διαµόρφωση άκρης ή διαµόρφωση πυρήνα). Ο ConfRoutAgent µετά την αρχικοποίησή του µεταναστεύει στο στρώµα προσαρµογής κάθε διεπαφής δικτύου του καταλόγου και εκτελεί τη διαµόρφωσή της µέσω του Core_Configuring στατικού πράκτορα του Linux-Cisco API. Στο τέλος επιστρέφει το αποτέλεσµα από τη διαµόρφωση στην Εφαρµογή ιαχείρισης ΠοιΥπ. Οι δροµολογητές µπορούν επίσης να επαναδιαµορφωθούν µε βάση τις πληροφορίες που παρέχει το σύστηµα επίβλεψης. Η επαναδιαµόρφωση στηρίζεται στις πληροφορίες που προέρχονται τόσο από τη παθητική όσο και από τη δυναµική επίβλεψη των διεπαφών δικτύου των δροµολογητών. Κατά συνέπεια είναι δυνατό για µια συγκεκριµένη διεπαφή δικτύου: a) να υπολογιστεί η παρεχόµενη ΠοιΥπ ανά κλάση υπηρεσίας b) να εφαρµοστούν αλγόριθµοι υπολογισµού νέων βέλτιστων τιµών των παραµέτρων ΠοιΥπ κάθε κλάσης. c) να επαναδιαµορφωθεί η διεπαφή µε τις νέες βέλτιστες τιµές εδοµένου ότι οι δροµολογητές του δικτύου µας χρησιµοποιούν χρονοπρογραµµατιστές CBQ ο αλγόριθµος επανακαθορισµού των ρυθµών εξυπηρέτησης των κλάσεων που ορίστηκε στο κεφάλαιο 4 µπορεί να χρησιµοποιηθεί ώστε να επιτευχθεί σχετική διαφοροποίηση καθυστέρησης 178

ΚΕΦΑΛΑΙΟ 6 µεταξύ των κλάσεων. Εναλλακτικά οι αλγόριθµοι του κεφαλαίου 5 (περιορισµένη και επεκτεταµένη έκδοση) µπορούν να εφαρµοστούν ώστε να ικανοποιηθούν οι απόλυτοι περιορισµοί καθυστέρησης για συγκεκριµένες κλάσεις υπηρεσίας. Μέσω του υποσυστήµατος Configuration&Reconfiguration ο διαχειριστής µπορεί να επιβλέπει το φορτίο της ουράς αναµονής (queue load) κάθε κλάσης ανά τακτά χρονικά διαστήµατα και να ικανοποιεί αιτήµατα ρύθµισης του εύρους ζώνης (ρυθµού εξυπηρέτησης) κάθε κλάσης, των RED παραµέτρων, και του µεγέθους των ουρών αναµονής (queue size). Η ρύθµιση του εύρους ζώνης γίνεται µε βάση το αίτηµα του διαχειριστή για ικανοποίηση σχετικών ή απόλυτων περιορισµών καθυστέρησης από το σύστηµα. Το Configuration&Reconfiguration υποσύστηµα περιλαµβάνει τις ακόλουθες διεπαφές: <<Interface>> CoreReconfigurationInterface StartReconfiguration() StopReconfiguration() ReConfRoutAgent consumecmaevent(cmaevent : in object) : void getobjectinfo_pb() : object getobjectinfo() : void getpb_list() : string gerrouterid() : string getsrinfo() : vector returnhome() : void setdelay(delay : in double) : voi d setdestination(destination : in address, routerid : in string, reportperi od : i n string, pollingperiod : in string, delay : in double) : void Μέσω της διεπαφής CoreReconfigurationInterface έχουµε πρόσβαση στο υποσυστήµα Configuration&Reconfiguration που έχει ώς στόχο την έναρξη και τη λήξη µιας υπηρεσίας αρχικού καθορισµού ή επανακαθορισµού των παραµέτρων DiffServ κάθε κλάσης στις διεπαφές δικτύου των δροµολογητών. Κύριος στόχος αυτής της προγραµµατιστικής ενότητας είναι η παροχή απόλυτης ή σχετικής διαφοροποίησης καθυστέρησης µεταξύ των κλάσεων σε περίπτωση συµφόρησης σε έναν δροµολογητή πυρήνα. Μετά την έναρξη της υπηρεσίας, δηµιουργείται και στέλνεται ένας ReConfRoutAgent ΚΠ στις διεπαφές δικτύων των δροµολογητών που απαιτείται επανακαθορισµός των παραµέτρων DiffServ. Ο ReConfRoutAgent είναι ένας εµµένων στατικός πράκτορας ο οποίος αρχικά µεταναστεύει στο επίπεδο προσαρµογής ενός δροµολογητή πυρήνα του DiffServ δικτύου. Από την θέση αυτή ανακτά ανά τακτά χρονικά διαστήµατα, για µια διεπαφή δικτύου του δροµολογητή, τον 179