Software architecture for developing distributed fault-tolerant systems
independent of the underlying hardware architecture and operating system.
Systems built using architecture components are scalable and allow a set
of computer applications to operate in fault-tolerant/high-availability
mode, distributed processing mode, or many possible combinations of
distributed and fault-tolerant modes in the same system without any
modification to the architecture components. The software architecture
defines system components that are modular and address problems in present
systems. The architecture uses a System Controller, which controls system
activation, initial load distribution, fault recovery, load
redistribution, and system topology, and implements system maintenance
procedures. An Application Distributed Fault-Tolerant/High-Availability
Support Module (ADSM) enables an applications( ) to operate in various
distributed fault-tolerant modes. The System Controller uses ADSM's
well-defined API to control the state of the application in these modes.
The Router architecture component provides transparent communication
between applications during fault recovery and topology changes. An
Application Load Distribution Module (ALDM) component distributes incoming
external events towards the distributed application. The architecture
allows for a Load Manager, which monitors load on various copies of the
application and maximizes the hardware usage by providing dynamic load
balancing. The architecture also allows for a Fault Manager, which
performs fault detection, fault location, and fault isolation, and uses
the System Controller's API to initiate fault recovery. These architecture
components can be used to achieve a variety of distributed processing
high-availability system configurations, which results in a reduction of
cost and development time.
Αρχιτεκτονική λογισμικού για την ανάπτυξη του διανεμημένου ελάττωμα-ανεκτικού ανεξάρτητου συστημάτων της ελλοχεύουσας αρχιτεκτονικής υλικού και του λειτουργικού συστήματος. Τα συστήματα που χτίζονται χρησιμοποιώντας τα τμήματα αρχιτεκτονικής είναι εξελικτικά και επιτρέπουν ένα σύνολο εφαρμογών υπολογιστών για να λειτουργήσουν στον ελάττωμα-ανεκτικό/high-availability τρόπο, το διανεμημένο τρόπο επεξεργασίας, ή πολλούς πιθανούς συνδυασμούς διανεμημένων και ελάττωμα-ανεκτικών τρόπων στο ίδιο σύστημα χωρίς οποιαδήποτε τροποποίηση στα τμήματα αρχιτεκτονικής. Η αρχιτεκτονική λογισμικού καθορίζει τα τμήματα συστημάτων που είναι μορφωματικά και προβλήματα διευθύνσεων στα παρόντα συστήματα. Η αρχιτεκτονική χρησιμοποιεί έναν ελεγκτή συστημάτων, ποια ενεργοποίηση συστημάτων ελέγχων, αρχική διανομή φορτίων, αποκατάσταση ελαττωμάτων, ανακατανομή φορτίων, και τοπολογία συστημάτων, και εφαρμόζει τις διαδικασίες συντήρησης συστημάτων. Μια εφαρμογή διένειμε την ελάττωμα-ανεκτική/high-Availability ενότητα υποστήριξης (ADSM) επιτρέπει σε ένα applications() για να λειτουργήσει στους διάφορους διανεμημένους ελάττωμα-ανεκτικούς τρόπους. Ο ελεγκτής συστημάτων χρησιμοποιεί το καθορισμένο με σαφήνεια API ADSM για να ελέγξει την κατάσταση της εφαρμογής σε αυτούς τους τρόπους. Το τμήμα αρχιτεκτονικής δρομολογητών παρέχει τη διαφανή επικοινωνία μεταξύ των εφαρμογών κατά τη διάρκεια των αλλαγών αποκατάστασης και τοπολογίας ελαττωμάτων. Ένα τμήμα ενότητας διανομής φορτίων εφαρμογής (ALDM) διανέμει τα εισερχόμενα εξωτερικά γεγονότα προς τη διανεμημένη εφαρμογή. Η αρχιτεκτονική επιτρέπει έναν διευθυντή φορτίων, το οποίο ελέγχει το φορτίο στα διάφορα αντίγραφα της εφαρμογής και μεγιστοποιεί τη χρήση υλικού με την παροχή της δυναμικής εξισορρόπησης φορτίων. Η αρχιτεκτονική επιτρέπει επίσης έναν διευθυντή ελαττωμάτων, το οποίο εκτελεί την ανίχνευση ελαττωμάτων, τη θέση ελαττωμάτων, και την απομόνωση ελαττωμάτων, και τις χρήσεις το API του ελεγκτή συστημάτων για να αρχίσει την αποκατάσταση ελαττωμάτων. Αυτά τα τμήματα αρχιτεκτονικής μπορούν να χρησιμοποιηθούν για να επιτύχουν ποικίλες διανεμημένες διαμορφώσεις συστημάτων επεξεργασίας high-availability, το οποίο οδηγεί σε μια μείωση του χρόνου δαπανών και ανάπτυξης.