DE69521337T2 - Mechanismus für eine konfigurierung - Google Patents
Mechanismus für eine konfigurierungInfo
- Publication number
- DE69521337T2 DE69521337T2 DE69521337T DE69521337T DE69521337T2 DE 69521337 T2 DE69521337 T2 DE 69521337T2 DE 69521337 T DE69521337 T DE 69521337T DE 69521337 T DE69521337 T DE 69521337T DE 69521337 T2 DE69521337 T2 DE 69521337T2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- processors
- distribution
- redundancy
- distribution units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000007246 mechanism Effects 0.000 title description 14
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000007257 malfunction Effects 0.000 claims abstract 2
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 23
- 230000000903 blocking effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
- Surgical Instruments (AREA)
- Lock And Its Accessories (AREA)
- Water Treatment By Sorption (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Switches With Compound Operations (AREA)
- Paper (AREA)
- Undergarments, Swaddling Clothes, Handkerchiefs Or Underwear Materials (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Im Kontext dieser Anmeldung werden die folgenden Ausdrücke die nachstehend aufgeführten Bedeutungen aufweisen.
- "Ressource" bedeutet etwas, das in einem verteilten System zugeordnet werden kann und auf das man zugreifen möchte und welches deshalb adressierbar sein muss. Jede Ressource oder Ressourcendarstellung weist einen dazugehörigen Identifizierer auf, wobei der Identifizierer für sämtliche Objekte, die zu einer Verteilungseinheit (siehe die Definition in der ausführlichen Beschreibung) gemeinsam ist. Sie kann in "Hardwareressourcen" (beispielsweise Kommunikationskanäle, Leitungsschnittstellenschaltungen (LIC)) und "Softwareressourcen" (wie Teilnehmerdaten) unterteilt werden. Hardwareressourcen weisen gewöhnlicherweise eine Softwaredarstellung auf, die in der Tat das ist, auf was man zugreifen möchte. Derartige Softwaredarstellungen werden dann eine Softwareressource und bildet eines der Objekte, die unter dem Konzept von Verteilungseinheiten behandelt werden können. Somit ist für den Zweck dieser Anmeldung eine "Ressource" eine Softwareressource.
- "Verteilungseinheit" (D. U.) bedeutet eine einzelne Ressource oder eine Gruppe von Ressourcen. Von einer Ressource in einer D. U. gibt es eine Abbildung, die es ermöglicht, die Identität der D. U. zu finden. In anderen Systemen als Telekommunikationssystemen könnte ein Verteilungseinheit irgendein Objekt in einer Datenbank (Information über Autos, den Gesundheitszustand von Personen etc.) oder Prozess zugeordnete Objekte, die Hardware darstellen, umfassen. Eine "Verteilungseinheit" in einem Telekommunikationssystem kann z. B. sämtliche Teilnehmer mit den gleichen zwei letzten Ziffern in ihren Telefonnummern sein. Dies erzeugt insgesamt 100 Verteilungseinheiten, obwohl natürlich jede Verteilungseinheit dann sehr viele tatsächliche Teilnehmer darstellt. In einem verallgemeinerten Fall kann eine Verteilungseinheit ungefähr alles umfassen und was sie exakt umfasst, hängt von der fraglichen Anwendung ab. D. U. s werden während eines Systementwurfs definiert und die Information über eine D. U., d. h. exakt darüber, was sie umfasst, wird in das System beim anfänglichen Start geladen. D. U. s können auch bei der Laufzeit (Runtime) während eines Betriebs des Systems hinzugefügt werden.
- Wie voranstehend definiert, kann eine Verteilungseinheit eine Anzahl von Ressourcen umfassen und was die Verteilungseinheit tatsächlich umfasst, hängt von der fraglichen Anwendung ab. Somit kann es sich um fast alles von Gxuppen von Objekten in Datenbanken bis zu Prozess-zugeordneten Objekten, die Hardware darstellen, sein. In einem Telekommunikationssystem ist ein sehr gebräuchliches Objekt, welches eine Verteilungseinheit bildet, eine Gruppe von Daten, die einzelne Teilnehmer darstellen, die mit dem Telekommunikationssystem verbunden sind.
- Jede Verteilungseinheit weist eine einzigartige Identität auf, die von einer Anwendungs-Subfunktion, die die Verteilungseinheit adressiert, verwendet werden kann. Diese Identität wird aus einem Teil, der die Anwendungssubfunktion identifiziert, zu der die fragliche Verteilungseinheit gehört, und einem Teil, der die Verteilungseinheit innerhalb der Anwendungssubfunktion identifiziert, gebildet.
- Dies kann mit dem Beispiel einer Anwendung in Form von ISDN und der Anwendungssubfunktion in Form eines "Anrufzugriffs" beispielhaft dargestellt werden. Wenn die Verteilungseinheit dann die 12.
- Verteilungseinheit innerhalb dieser Anwendungssubfunktion ist, dann würde die Identität ISDN "Anrufzugriff" 12 sein.
- Für den Fall von Teilnehmern in einem Telekommunikationssystem kann der gemeinsame Identifizierer für Objekte in einer Verteilungseinheit die letzten zwei Ziffern einer Telefonnummer sein, was 100 Verteilungseinheiten erzeugen würde.
- Ferner kann jede Verteilungseinheit unabhängig einem Prozessor zugeordnet werden.
- Die Anzahl von Verteilungseinheiten, die von einer Anwendung definiert werden, bestimmt die maximale Anzahl von Prozessoren, an die diese Anwendung verteilt werden könnte. Ein Vorteil einer Verwendung von D. U. s wie in der Erfindung in Erwägung gezogen, ist, dass große Mengen von Daten einfacher zu behandeln werden, einfach deshalb, weil weniger Einheiten zu behandeln sind. Auch ein Verlust von Prozessoren wird von dem System selbst ohne einen Operatoreingriff behandelt.
- Ein anderer Vorteil ist eine verbesserte Adressierungskapazität, weil die Länge von Listen in den Adressierungsmechanismen dramatisch verkürzt wird. Das "Adressierungsfeld" kann ebenfalls kürzer sein.
- "Eine Redundanzdomäne" bedeutet eine spezifische Anzahl von Prozessoren, auf denen ein Code für ein und die gleiche Anwendungssubfunktion geladen wird, so dass die fragliche Subfunktion auf sämtlichen Prozessoren in der Redundanzdomäne ausgeführt werden kann. Die Anzahl von Prozessoren innerhalb der Domäne kann während der Laufzeit verändert werden. Die "Redundanz" besteht in der Tatsache, dass das System eine Funktion fortsetzen wird, selbst wenn ein Prozessor ausfällt oder blockiert wird.
- Eine "Last" bedeutet die relative Verwendung von jedem Sprachprozessor in dem System zu irgendeiner gegebenen Zeit.
- Ein "Lastungleichgewicht" bedeutet eine Abweichung von einer gewünschten Last, was eine Rekonfiguration triggern kann. Somit werden geringfügige Ungleichgewichte innerhalb vorgegebener Grenzen toleriert.
- Eine "Anwendung" bedeutet etwas, welches auf einem verteilten Computersystem, z. B. einem Telekommunikationssystem, ausgeführt wird. Beispiele von "Anwendungen" sind Telefonanrufsysteme, ISDN.
- Eine "Anwendungssubfunktion" bedeutet elementare oder Basisprozesse, die zusammen eine "Anwendung" bilden (z. B. Funktionen für ein "Abheben" (Off-Hook) und einen "Anrufzugriff" (Call Access, Codeempfangsfunktion etc.). Der Code von jeder Subfunktion kann auf mehreren Prozessoren ausgeführt werden. Jeder Prozessor behandelt verschiedene D. U. s.
- Die vorliegende Erfindung betrifft in einem Aspekt Verfahren für eine Konfiguration und Rekonfiguration von Softwareressourcen und für die Ausführung von derartigen Ressourcen in einem verteilten Computersystem, insbesondere ein Telekommunikationssystem. In einem anderen Aspekt bezieht sich die vorliegende Erfindung auf ein Telekommunikationssystem, welches eine eingebaute Funktionalität für eine derartige Konfiguration und Rekonfiguration aufweist.
- In einem verteilten Computersystem, beispielsweise einem Telekommunikationssystem mit einer enormen Anzahl von Teilnehmern, ist es möglich, dass Daten für sämtliche Teilnehmer und Ausführungs- und Steuerfunktionen für sämtliche Teilnehmer auf einem einzelnen Prozessor angeordnet sind, d. h. eine Funktion muss die Fähigkeit aufweisen, parallel auf mehreren Prozessoren ausgeführt zu werden. Ferner umfassen Konfigurationsaktivitäten eine Verteilung der Softwareressourcen, um die Prozessoren so effizient wie möglich zu verwenden. Eine derartige Konfiguration und Rekonfiguration ist eine sehr komplexe Aktivität in Fällen, bei denen es schwierig ist, die Last (Kapazität) abzuschätzen, die von jeder Anwendungsressource verwendet wird. Somit existiert eine Notwendigkeit für ein Werkzeug (ein Tool), diese über eine Anzahl von Prozessoren zu verteilen.
- Selbst wenn es möglich wäre, eine anfängliche Konfiguration des Systems zu erzeugen, die als "optimal" charakterisiert werden könnte, würde diese Bedingung nicht sehr lange andauern, weil sich die Last an den einzelnen Prozessoren über der Zeit aufgrund der Anwendungsressourcen, die auf den Prozessoren ausgeführt werden, oder von einem Verlust von Prozessoren (z. B. einem Prozessorausfall, einer Ersetzung von Prozessoren für eine Wartung etc.) verändern kann.
- Bislang würden in Fällen, bei denen ein Prozessor verloren geht, Prozesse, die auf dem Prozessor ausgeführt werden, angehalten werden, bis die Hardware repariert oder durch neue Hardware ersetzt worden ist. Derartige Operationen können so lang wie 10 Minuten oder sogar Stunden andauern, was im Hinblick auf die heutigen Anforderungen in Bezug auf die Zugriffsfähigkeit der fraglichen Systeme nicht akzeptabel geworden ist.
- Deshalb hat sich eine Notwendigkeit für eine sehr schnelle Rekonfiguration von derartigen Systemen ergeben, so dass die Zeit, während der die Systeme nicht betriebsfähig sind, auf den Zeitrahmen von Sekunden oder höchstens einige wenige Minuten heruntergebracht werden kann.
- Auch für Wartungszwecke würde es vorteilhaft sein, wenn eine Rekonfiguration schnell und ohne eine Operator-Intervention erreicht werden könnte, insbesondere dann, wenn das Problem, welches die Notwendigkeit einer Rekonfiguration bewirkt, an einem entfernten Ort auftritt, wo eine wesentliche Zeit benötigt wird, bevor ein Operator eingreifen kann.
- Derartige Mechanismen für "Laufzeit-Einstellungen" von Konfigurationen hängen von einer kontinuierlichen Zuführung von Information über den Status des Systems, im Hinblick auf z. B. das Lastgleichgeweicht in dem System, ab. Diese Information kann durch Überwachen des Systems bezüglich bestimmter Parameter über eine längere Zeitperiode gesammelt werden. Daten von derartigen Messungen würden die Laständerung der Prozessoren über der Zeit berichten, z. B. das einige Prozessoren meistens mehr belastet sind als andere. Eine derartige Information kann zum Initiieren von Rekonfigurationen in dem System, entweder durch einen Wartungstechniker oder durch eine "eingebaute" Funktionalität in dem System verwendet werden. Um die Ausführung von derartigen Laufzeitkonfigurationen zu ermöglichen, während die Anforderungen bezüglich keiner Störung des Betriebs des Systems erfüllt werden, müssen leistungsfähige Mechanismen in dem Betriebssystem vorhanden sein, welches eine derartige Konfiguration unterstützt, und von den Anwendungen angewendet werden.
- Die US-5,165,018 offenbart eine Selbstkonfiguration von Knoten in einem verteilten Nachrichten-gestützten Betriebssystem. Eine Run-Time Konfiguration wird durch Knoten-gestützte Konfigurationsmanagementprozesse in Übereinstimmung mit Information, die in Ressourcendefinitionsnachrichten enthalten sind, erreicht.
- Die gewünschten Mechanismen, wie voranstehend diskutiert, werden von dem Verfahren gemäß der Erfindung, wie im Anspruch 1 definiert, bereitgestellt.
- Die Berechnung der Verteilung von Ressourcen in diesem Verfahren wird von dem Konzept von "Verteilungseinheiten" (D. U.) unterstützt, welches für den Zweck dieser Erfindung erdacht wurde. Die Definition der D. U. wird voranstehend unter "Definitionen" angegeben.
- Ein Vorteil der Erfindung ist das verbesserte Handling. Es wird einfacher, das System zu konfigurieren, da die Verteilung der D. U. durch das Betriebssystem unterstützt wird. Da das OS eine Lastausgleichung in der Runtime (Laufzeit) unterstützt, wird die Anforderung einer perfekten anfänglichen Konfiguration weniger fordernd. Die Notwendigkeit für eine akute Operatorwirkung wird verringert. Da das OS ferner die Redundanz- Umordnung (Relokation) bei einem Prozessorverlust unterstützt, muss eine Wartungsperson den Ort nicht unmittelbar besuchen.
- Ein noch anderer Vorteil der Erfindung ist die inhärente Robustheit, d. h. das System wird in die Lage sein, automatisch Lastungleichgewichte aufgrund von bestimmten Typen von Anomalitäten, z. B. einem Prozessorausfall etc., zu behandeln. Die Störung für das System wird verringert und die Lastverteilung über die übrigen Prozessoren wird aufrechterhalten. Die eingebaute Redundanz-Umordnung verringert die Zeit, für die eine Funktion aufgrund z. B. eines Prozessorverlusts nicht verfügbar ist.
- Ferner werden mit Hilfe der eingebauten Lastausgleichung die Kosten verringert, da die Prozessorverwendung dadurch in vorteilhafter Weise verbessert werden wird. Es ist sogar möglich, die Anzahl von Prozessoren in dem System durch effizienteres Verteilen von Ressourcen über Prozessoren zu verringern.
- In den Zeichnungen zeigen:
- Fig. 1 einen Überblick über ein Telekommunikationsvermittlungssystem, bei dem die vorliegende Erfindung implementiert werden kann;
- Fig. 1b eine Teilansicht von drei Prozessoren, die eine Redundanzdomäne bilden;
- Fig. 1c ein Schema einer Verteilung von Verteilungseinheiten über einer Redundanzdomäne;
- Fig. 2a ein Flussdiagramm, welches einen Anfangskonfigurationsmechanismus gemäß der Erfindung zeigt;
- Fig. 2b ein Redundanz-Umordnungsschema;
- Fig. 3a ein Flussdiagramm, welches eine zusätzliche Installation/Entfernung von Verteilungseinheiten gemäß der Erfindung zeigt;
- Fig. 3b das alte Schema einer Verteilung zusammen mit dem neuen Schema, und die Operationen, die ausgeführt werden, um das neue Schema zu erreichen;
- Fig. 4a ein Flussdiagramm, welches eine (vom System initiierte) Lastausgleichung gemäß der Erfindung zeigt;
- Fig. 4b ein Flussdiagramm, welches eine (vom Operator initiierte) Lastausgleichung gemäß der Erfindung zeigt;
- Fig. 4c ein altes und ein neues Verteilungsschema und Operationen bei einer Lastausgleichung;
- Fig. 5a ein Flussdiagramm, welches ein manuelles Blockieren des Prozessors zeigt;
- Fig. 5b das alte Schema einer Verteilung und das Redundanz- Umordnungsschema plus das neue Schema einer Verteilung. Operationen, die zum Erzielen des neuen Schemas benötigt werden, sind ebenfalls gezeigt;
- Fig. 6a ein automatisches Abblocken eines Prozessors;
- Fig. 6b das alte Schema einer Verteilung und das Redundanz- Umordnungsschema plus das neue Schema einer Verteilung. Operationen, die zum Erzielen des neuen Schemas benötigt werden, sind ebenfalls gezeigt;
- Fig. 7a eine Prozessor-Entblockung;
- Fig. 7b das alte und das neue Schema einer Verteilung. Operationen, die zum Erzielen des neuen Schemas benötigt werden, sind ebenfalls gezeigt; und
- Fig. 7c eine Hinzufügung eines Prozessors.
- Die Erfindung wird nun beispielhaft unter Bezugnahme auf die Zeichnungen und unter Bezugnahme auf verschiedene Situationen, bei denen das erfindungsgemäße Konzept verwendet werden kann, erläutert. Es gibt zwei grundlegende Situationen, nämlich
- A. eine Anfangskonfiguration (wenn das System gestartet wird)
- B. eine Rekonfiguration (initiiert von einem Techniker oder von dem System selbst initiiert, wenn das System über eine gewisse Zeit in Betrieb gewesen ist).
- Die Situation B. kann wiederum auf eine Anzahl von verschiedenen Situationen zutreffen, wie beispielsweise:
- a. eine zusätzliche Installation von Verteilungseinheiten
- b. eine Entfernung von Verteilungseinheiten
- c. eine Lastausgleichung (manuell oder automatisch)
- d. ein manuelles Blockieren eines Prozessors
- e. ein automatisches Blockieren eines Prozessors (Prozessorausfall)
- f. ein Entblocken eines Prozessors einschließlich einer Rückkehr des Prozessors nach einem Abblocken und einer Hinzufügung des Prozessors Es gibt eine Anzahl von verschiedenen Fällen einer (Re)konfiguration von Verteilungseinheiten, die dieser Mechanismus, zusammen mit den unbedingt erforderlichen Mechanismen, unterstützt.
- Die unbedingt erforderlichen Mechanismen sind:
- - es gibt einen Namenadressierungsmechanismus in dem OS mit der Fähigkeit einer Adressierung von D. U.
- - Das OS weist eine "gesicherte" Datenbank auf, in der Konfigurationsdaten und Schemen gespeichert sind. Diese werden einen Prozessorausfall überleben. Auf eine Datenbank kann von sämtlichen Prozessoren zugegriffen werden.
- - Es gibt einen "Zustandstransfer"-Mechanismus zum Transferieren von Daten von "alten" auf "neue" Prozesse.
- Für jeden Fall einer (Re)Konfiguration werden zwei Schemata berechnet. Das erste Schema, das Schema 1 für eine Verteilung von Verteilungseinheiten auf die Prozessoren innerhalb der Redundanzdomäne, beschreibt, wie die Ressourcen des Systems, gruppiert als Verteilungseinheiten (wie voranstehend definiert) über die Prozessoren in dem System, zu verteilen sind, wobei Parameter berücksichtigt werden, die die Kapazität jedes Prozessors, optional gemessene Werte der Last, bestimmen.
- Das andere Schema, das Schema 2, für eine Redundanz-Umordnung beschreibt, wie die Verteilungseinheiten für den Fall eines Verlusts eines Prozessors wegen einer Blockierung bewegt werden.
- Dieses Schema wird für jede Verteilungseinheit eine Angabe machen, die anzeigt, an welchen Prozessor sie für den Fall einer Rekonfiguration bei einer späteren Stufe, z. B. in Situationen a - f oben, umgeordnet (relokalisiert) werden.
- Nun werden die grundlegenden Situationen unter Bezugnahme auf ein Beispiel und die Figuren behandelt, wobei die Verteilung von D. U. s über die Prozessoren in einer Domäne bekannt ist. Die Pfeile zeigen das Redundanzschema. Ein Kursivdruck zeigt das Schema an, welches nach einer Rekonfiguration erreicht werden soll.
- In den Zeichnungsfiguren, bei denen unter anderem Flussdiagramme eines jeweiligen Pfeils und ein entsprechendes Umordnungsschema gezeigt sind, zeigen die Stellen, die mit Kursivdruck gekennzeichnet sind, ein neu berechnetes Schema einer Verteilung an, die erreicht werden soll, nachdem die Rekonfigurationsoperationen aktiviert worden sind.
- In Fig. 1 ist ein vereinfachter Überblick über ein Telekommunikationssystem gezeigt. Es umfasst mehrere Teilnehmer, die jeweils wenigstens ein Telefon 1 aufeisen. Jedes Telefon ist mit dem System über eine sogenannte LIC (Leitungsschnittstellenschaltung) verbunden, die wiederum mit einer Vermittlungsstelle 2 verbunden ist, die für die Kommunikation zwischen sämtlichen Einheiten in dem System verantwortlich ist. Auf sämtlichen Prozessoren 3 in dem System laufen ein oder mehrere Subfunktionen. Ferner ist eine Datenbank 4 vorgesehen, die Teilnehmerdaten etc. enthält. Die Datenbank ist ein Teil des Betriebssystems, welches auf den Prozessoren läuft, und ist normalerweise in einem Primärspeicher (einige Prozessoren können auch mit einer Platte ausgerüstet sein, die die Datenbank enthalten kann) resident. Die Platten werden ansonsten vorwiegend als Lademedien und für Back-Up-Zwecke verwendet, können aber auch andere Funktionen aufweisen.
- In Fig. 1b sind drei Prozessoren gezeigt, die eine Redundanzdomäne bilden (mit gestrichelten Linien angezeigt), wie voranstehend definiert, in dem System der Fig. 1a. An jedem Prozessor ist ein Code für eine Anwendungssubfunktion APPL und ein Betriebssystem OS, welches die Datenbank umfasst, geladen.
- Es sei angenommen, dass dieses "Sub"-System mit einer Anwendung kpnfiguriert werden soll. Eine Anwendungs-Subfunktion wird 30 Verteilungseinheiten ausführend aufweisen. Sie sind in einer Sequenz (0-29) (nacheinander) nummeriert.
- Die Dimensionierung hat zu einer Redundanzdomäne geführt, die aus den drei Prozessoren besteht, die in Fig. 1c gezeigt sind.
- In diesem vereinfachten Beispiel wird angenommen, dass die Prozessoren alle gleich sind, und dass keine anderen Anwendungen auf den Prozessoren innerhalb der Redundanzdomäne ausgeführt werden, d. h. die Verteilungseinheiten werden (zu Anfang) gleichermaßen über die Prozessoren innerhalb der Redundanzdomäne verteilt.
- Beim Einrichten eines Telekommunikationssystems muss dieses natürlich auf die erwartete Verwendung dimensioniert werden, aber dies ist ein Gegenstand von Standardprozeduren und bildet keinen Teil der Erfindung und wird somit hier nicht diskutiert. Wenn somit die Dimensionierung des Systems durchgeführt ist, ist entschieden worden, wie viel Kapazität von jeder Anwendungs-Subfunktion benötigt wird, die auf dem System ausgeführt werden wird. In diesem Prozess muss man auch Fälle eines Verlusts der Ausführungskapazität, z. B. aufgrund von Prozessorausfällen oder anderen Verlusten von Prozessoren, beispielsweise eine Entfernung eines Prozessors für Wartungszwecke etc., berücksichtigen. Dies bedeutet, dass bestimmt werden muss, wie viele Prozessoren das System umfassen sollte.
- Danach muss die Anzahl von Prozessoren entschieden werden, auf denen jede Anwendung ausgeführt wird, d. h. die Erzeugung einer Anfangskonfiguration von "Redundanzdomänen". Somit bestimmt man für jede Anwendung eine Anzahl von Prozessoren, auf die der gleiche Code geladen wird, und diese Gruppe von Prozessoren bildet eine Redundanzdomäne für jede fragliche Anwendungs-Subfunktion. Eine Konsequenz davon ist, dass sämtliche Prozessoren innerhalb jeder Redundanzdomäne die Anwendungs-Subfunktion, die zu dieser Redundanzdomäne gehört, ausführen können. Der Code der Anwendungs-Subfunktion wird somit auf sämtliche Prozessoren in die Domäne geladen.
- Wenn eine Redundanzdomäne anfänglich konfiguriert ist, werden die Verteilungseinheiten innerhalb der Anwendung der Redundanzdomäne zugeordnet. Der (Re)Konfigurationsmechanismus (der gemäß einer Verteilungsfunktion
- D = f(P0... Pn, LO... Ln, DUO... x)
- arbeitet, mit P = Prozessor, L = Last, n = Prozessor Bezeichnung, DUx = die x-te Verteilungseinheit in einer Redundanzdomäne) entscheidet, wie die Verteilungseinheiten über die Prozessoren innerhalb der Domäne auf Grundlage der Eingangsdaten, beispielsweise der Anzahl von Prozessoren, der Prozessorkapazität, der Prozessorgeschwindigkeit, des Lastgleichgewichts, der Anzahl von Verteilungseinheiten etc. verteilt werden.
- In der hier vorliegenden beispielhaften Anwendungs-Subfunktion (Fig. 1c) sind 30 Verteilungseinheiten mit Identifizierern in einer Sequenz von 0-29 definiert worden. In diesem Beispiel sind sie in drei Gruppen (gleichverteilt) aufgeteilt, weil es drei gleiche Prozessoren innerhalb der definierten Redundanzdomäne gibt.
- Wenn das Verteilungsschema der Verteilungseinheiten unter den Prozessoren (Fig. 2b) anfänglich berechnet wird, wird auch das Schema einer Redundanzumordnung von Verteilungseinheiten berechnet, so dass jede Verteilungseinheit einen redundanten Prozessor innerhalb der ausgewiesenen Domäne aufweist.
- Das Schema wird berechnet, um die Reihenfolgen bzw. die Anordnung von Verteilungseinheiten in einer aufeinanderfolgenden Reihenfolge so weit wie möglich zu halten.
- Fig. 2a zeigt ein einfaches Flussdiagramm einer Anfangskonfiguration. In dem ersten Schritt wird während einer Eingabe von Daten (normalerweise werden Daten an eine Datei geschrieben, die dann von dem O. S. gelesen wird), das Betriebssystem mit Information versehen, welche Anwendungs-Subfunktion (welche Anwendungs-Subfunktionen) die Konfiguration behandeln soll; wie die Redundanzdomäne definiert ist; und die Anordnung von Verteilungseinheiten, die in der Konfiguration verteilt werden sollen. Im Ansprechen auf die Daten wird das Betriebssystem das Schema einer Verteilung von DUs über die aktiven Prozessoren in der Redundanzdomäne (Fig. 1c) berechnen.
- Dann wird der Code für die Anwendungs-Subfunktion (Anwendungs- Subfunktionen) auf die Prozessoren in der fraglichen Redundanzdomäne geladen und danach werden die DUs in Übereinstimmung mit dem vorher berechneten Verteilungsschema installiert, wodurch die Anwendungs- Verteilungseinheiten über die Prozessoren in der Domäne verteilt werden (und auf diesem gestartet werden)
- Die Berechnung des Schemas einer Verteilung für eine gegebene Anwendung wird durch das Konzept von Verteilungseinheiten, die voranstehend definiert wurden, unterstützt. Diesbezüglich kann ein mehr oder weniger komplexer Algorithmus verwendet werden.
- Der einfachste Algorithmus besteht darin, die Verteilungseinheiten so gleichmäßig wie möglich über die aktiven Prozessoren innerhalb der Redundanzdomäne zu verteilen. Jedoch kann der Algorithmus auch bereits anfänglich die Speicherkapazität des Prozessors, die Ausführungskapazität des Prozessors und die Kapazität, die von anderen Anwendungen verwendet wird, die auf den Prozessoren ausgeführt werden, berücksichtigen. Somit wird die Anzahl von Verteilungseinheiten, die einzelnen Prozessoren zugeordnet sind, proportional zu derartigen Betrachtungen gewichtet. Schließlich wird ein Redundanz-Umordnungsschema berechnet.
- Die folgende Figur (Fig. 2b) zeigt, wie die Verteilungseinheiten einem Prozessor zugeordnet werden, in Anordnungen oder Gruppen aufgeteilt werden, und dass sie im Fall einer Blockierung eines Prozessors an den am besten geeigneten Prozessor, der noch arbeitet, bewegt werden. Die Pfeile in der Figur bezeichnen, wie die D. U.s von einem Prozessor an einen anderen für den Fall eines Prozessorverlusts bewegt werden.
- Vorzugsweise hält der Verteilungsalgorithmus ferner die Identitäten der Verteilungseinheiten, die einem Prozessor in einer Sequenz zugeordnet sind, aufrecht, so dass dann, wenn Verteilungseinheiten an einen anderen Prozessor während einer Rekonfiguration umgeordnet werden, diese umgeordnet werden, um die Identitäten von Verteilungseinheiten auf jeden Prozessor in einer Sequenz zu dem größtmöglichen Ausmaß (nachstehend weiter diskutiert und beispielhaft dargestellt) aufrecht zu erhalten. In dieser Weise wird die Adressierung viel schneller sein, weil Sequenzen in den Adressentabellen weniger Zeilen in den Tabellen ergeben.
- Die Verteilung der Verteilungseinheiten (0..29) unter den Prozessoren hat zu einer Gruppe oder Anordnung von 10 Verteilungseinheiten pro Prozessor (0..9), (10..19), (20..29) geführt. Jede einzelne Gruppe (0..9), ... wird in zwei gleichermaßen große Teile aufgeteilt, die getrennt an die zwei übrigen Prozessoren im Fall einer Prozessorblockierung bewegt werden.
- In einem Fall, bei dem eine inhärente Ungleichheit unter den Prozessoren vorhanden ist, muss dann natürlich die Unterteilung für den Zweck einer Umordnung dies berücksichtigen, so dass vielleicht zweimal so viele Verteilungseinheiten an den Prozessor P1 als an P2 umgeordnet werden, wenn P1 zweimal die Kapazität von P2 aufweist.
- Das Schema einer automatischen Redundanzumordnung wird nach der Ausführung einer Redundanzumordnung nach jeder Art von anderer Rekonfiguration, die die Verteilung beeinflusst, erneut berechnet.
- Für einen Betrieb und eine Wartung der Anwendungs-Subfunktion wird eine Schnittstelle benötigt. Eine derartige Schnittstelle wird Einrichtungen für eine anfängliche Installation von Verteilungseinheiten (INSTALL), eine Entfernung (REMOVE) von Entfernungseinheiten, und zum Bewegen von Verteilungseinheiten von einer Anwendungs-Subfunktion, die auf einem Prozessor ausgeführt wird, an eine andere Subfunktion, die auf einem anderen Prozessor ausgeführt wird, aufweisen. Weitere Funktionen sind SHUTDOWN und TAKEOVER. Diese Funktionen werden grundlegend als Programme implementiert, die bestimmte Aktivitäten auslösen, und werden nachstehend kurz diskutiert.
- SHUTDOWN bereitet einen Abschluss und ein anstehendes TAKEOVER vor. TAKEOVER transferiert eine Steuerung von Ressourcenobjekten in einem alten statischen Prozess an einen neuen statischen Prozess.
- Eine Rekonfiguration kann entweder manuell von einem Operator oder automatisch von dem System selbst durchgeführt werden, beispielsweise dann, wenn bestimmte Grenzwerte in z. B. einer Last überschritten werden. Eine manuelle Rekonfiguration ist extrem komplex und deshalb werden die hier offenbarten Verfahren in dem Betriebssystem implementiert.
- Diesbezüglich können kontinuierliche Messungen des Lastgleichgewichts der Prozessoren in dem System vorhanden sein, d. h. um zu erfassen, ob ein oder mehrere Prozessoren stärker belastet sind als andere (derartige Messmechanismen sind in Betriebssystemen verfügbar und bilden an sich keinen Teil der vorliegenden Erfindung. Deshalb werden sie hier nicht diskutiert). Das Ergebnis der Messungen wird betrachtet und dann in die Berechnung einer neuen Verteilung für den Zweck einer derartigen Rekonfiguration eingebaut. Dies erfordert vordefinierte Schwellwerte für eine akzeptable Last, wobei eine Abweichung davon eine Rekonfiguration auslösen würde.
- Die Aktivitäten, die von einem Wartungstechniker bei der Laufzeit initiiert werden können, sind die folgenden:
- - Eine Installation von zusätzlichen Verteilungseinheiten. Die Verteilungseinheiten werden der Redundanzdomäne zugeordnet.
- - Eine Entfernung von Verteilungseinheiten. Die Verteilungseinheiten werden von einer Redundanzdomäne entfernt.
- - Eine Lastausgleichung. Eine vom Operator ausgehende Rekonfiguration aufgrund einer schlechten Lastverteilung.
- - Eine manuelle Blockierung eines Prozessors. Ein Prozessor wird wegen irgendwelcher Gründe aus dem Betrieb genommen. Sämtliche Verteilungseinheiten, die auf diesem Prozessor laufen, müssen an andere Prozessoren innerhalb der Redundanzdomäne bewegt werden.
- - Entblocken (manuell) eines Prozessors. Ein Prozessor innerhalb der Redundanzdomäne wird in Betrieb genommen. Die Verteilungseinheiten werden bewegt, um den Prozessor in Betrieb zu nehmen und die Last auszugleichen.
- Die Aktivitäten, die von dem System selbst initiiert werden, sind die folgenden:
- - Eine Lastausgleichung. Langzeitmessungen, die eine schlechte Lastausgleichung berichten. Schwellwerte, die definieren, wenn ein Ungleichgewicht erreicht wird, werden definiert. Die Verteilungseinheiten werden bewegt, um eine bessere Lastausgleichung zu erhalten.
- - Eine automatische Blockierung: Rekonfiguration von Verteilungseinheiten, die von einem Prozessorausfall initiiert wird.
- - Eine automatische Entblockung eines Prozessors. Ein Prozessor innerhalb der Redundanzdomäne wird in Betrieb genommen. Die Verteilungseinheiten werden bewegt, um den Prozessor in Betrieb zu nehmen und die Last auszugleichen.
- Eine zusätzliche Installation von Verteilungseinheiten Zusätzliche Verteilungseinheiten werden zu der Redundanzdomäne (Fig. 3a) hinzugefügt (ein Beispiel könnte eine erhöhte Anzahl von Teilnehmern in einem Telekommunikationssystem sein). Dies wird ein neues Verteilungsschema (und eine Redundanzumordnung) bewirken. In Fig. 3b ist eine zusätzliche Installation der Verteilungseinheiten (30-39) gezeigt, die auf das vorliegende Beispiel angewendet wird.
- Somit ist der erste Vorgang, der passiert, dass das System "informiert" werden muss, dass 10 neue Verteilungseinheiten (30-39) hinzugefügt werden. Wie voranstehend beschrieben, werden Daten an eine Datei geschrieben, die von dem Betriebssystem gelesen wird. Das Schema einer Verteilung der Verteilungseinheiten unter die Prozessoren innerhalb der Domäne wird dann erneut von dem Betriebssystem im Ansprechen auf die Eingangsdaten berechnet (0..12), (13..26), (27..29). Um das neu berechnete Schema zu erhalten, werden die zusätzlichen (neuen) Verteilungseinheiten INSTALLED (INSTALLIERT) und die anderen (ursprünglichen) Verteilungseinheiten werden an Prozessoren in Übereinstimmung mit dem neuen Verteilungsschema bewegt (mit einem "SHUTDOWN" auf die "alten" Prozesse hin, und einem "TAKEOVER" gegenüber den "neuen" Prozessen. Für den Fall einer Entfernung von alten DUs wird natürlich keinerlei INSTALL, sondern REMOVE benötigt. Wenn die Neuverteilung ausgeführt worden ist, wird ein neues Redundanzumordnungsschema auf Grundlage der Daten, die das System darstellen (Anzahl von Prozessoren, Prozessorkapazität etc.) (automatisch) berechnet.
- Es sei angenommen, dass der Prozessor 2 überlastet ist (als ein Beispiel können Messungen anzeigen, dass eine 30% Überlast vorhanden ist und das Betriebssystem entsprechend benachrichtigt wird), so dass vier der zugeordneten Verteilungseinheiten von dem Prozessor 2 umgeordnet werden sollen. Das Verteilungsschema (siehe Fig. 4c) der Verteilungseinheiten unter den Prozessoren innerhalb der Domäne wird zunächst neu berechnet (0..11), (12..17), (18..29). Um das neu berechnete Schema zu erreichen, werden die Verteilungseinheiten bewegt (mit einem "SHUTDOWN" in Richtung auf den "alten" Prozess und einem "TAKEOVER" gegenüber den "neuen" Prozessen). Wenn eine Verteilung abgeschlossen ist, wird ein neues Redundanzumordnungsschema berechnet.
- Wenn ein Prozessor manuell blockiert werden soll, z. B. wenn er für eine Wartung entfernt werden soll, ist es wünschenswert, sämtliche Verteilungseinheiten, die in diesem Prozessor ausgeführt werden, so schnell wie möglich zu bewegen. In diesem Fall wird das Schema für eine Redundanzumordnung, welches zu Anfang berechnet wird, verwendet. Um das Schema für eine automatische Redundanzumordnung zu erhalten, werden die Verteilungseinheiten, die dem Prozessor 2 zugeordnet sind, an den Prozessor 1 (10..14) und den Prozessor 3 (15..19) mit einem "SHUTDOWN" in Richtung auf den "alten" Prozessen und einem "TAKEOVER" gegenüber den "neuen" Prozessen bewegt (Fig. 5a und 5b).
- Wenn ein Prozessor automatisch abgeblockt wird, z. B. aufgrund eines Prozessorausfalls, gehen sämtliche von dem Prozess zugeordnete Daten verloren, so dass kein Zustandstransfer zwischen den beteiligten Prozessen vorstellbar ist. Demzufolge werden die Verteilungseinheiten, die dem abgeblockten Prozessor zugeordnet sind, nicht mit "SHUTDOWN-TAKEOVER" bewegt, sondern werden in dem Prozess, der die Ausführung übernimmt, "neu installiert".
- Das Betriebssystem erfasst einen Ausfall durch an sich bekannte Mechanismen. Wenn ein Ausfall erfasst wird, dann werden sofort die DUs, die dem verlorengegangenen Prozessor zugeordnet sind, in Übereinstimmung mit dem Redundanzumordnungsschema, welches bei der Anfangskonfiguration berechnet wird, oder mit dem letzten aktualisierten Schema für den Fall, dass irgendein Ereignis eine erneute Berechnung wegen anderer Gründe ausgelöst hat, INSTALLIERT. In einer komplexeren Situation müssen unter Umständen zusätzlich einige DUs auf den noch aktiven Prozessoren bewegt werden, um z. B. die Lastausgleichungskriterien zu erfüllen.
- Fig. 6b zeigt ein Beispiel einer automatischen Umordnung von Verteilungseinheiten, verursacht durch eine automatische Abblockung eines Prozessors (Prozessorausfall).
- Um das Schema für eine automatische Redundanzumordnung zu erreichen, werden die Verteilungseinheiten, die dem Prozessor 2 zugeordnet sind, bewegt, um so dem Prozessor 1 (DUs 10..14) und dem Prozessor 3 (DUs 15..19) zugeordnet zu werden, mit einem "INSTALL" gegenüber den "neuen" Prozessen.
- Der Prozess einer Hinzufügung eines neuen Prozessors ist in Fig. 7c gezeigt. In dem ersten Schritt muss das System, in ähnlicher Weise wie für den Fall einer Anfangskonfiguration, informiert werden, d. h. welche Anwendungs-Subfunktionen verwendet werden und was die Redundanzdomäne ist. Dann wird der neue Prozessor mit einem Code für die fraglichen Anwendungs- Subfunktionen geladen und schließlich wird der Prozessor abgeblockt.
- Wenn ein Prozessor von einer Blockierung zurückkehrt, wird das Schema einer Verteilung der Verteilungseinheiten unter den aktiven Prozessoren innerhalb der Redundanzdomäne erneut berechnet. Fig. 7a ist ein Flussdiagramm, welches die Sequenz von Schritten zeigt, die auftreten, wenn der Prozessor in einen Betrieb genommen wird, nachdem er abgeblockt worden ist. Zunächst erfasst das Betriebssystem, dass ein Prozessor hinzugefügt worden ist oder erneut installiert worden ist (beide Fälle sind vom Standpunkt der Betriebssysteme identisch). Die Vorgehensweise, mit der eine Erfassung ausgeführt wird, ist nicht relevant und könnte von einem Operatorvorgang oder von einer Software durchgeführt werden, die die verfügbaren Schlitze überprüfen, ob ein Prozessor vorhanden ist oder nicht.
- Durchschnittsfachleute werden erkennen, dass vielerlei Vorgehensweisen möglich sind, wie diese Funktion zu erreichen ist. Sobald die Anwesenheit eines neuen oder erneut installierten Prozessors erfasst wird, berechnet das Betriebssystem ein neues Verteilungsschema einschließlich des entblockten Prozessors.
- Wenn das neue Schema berechnet wird, wird das System eine Bewegung der DUs in Übereinstimmung mit dem Schema starten.
- Fig. 7b zeigt, wie die Verteilungseinheiten (10..14) und (15..19) zwischen den beteiligten Prozessoren bewegt werden (mit einem "shutdown" (Herunterfahren) in Richtung auf den "alten" Prozess hin und einem "takeover" (Übernahme) gegenüber den "neuen" Prozessen), um das neue Verteilungsschema zu erhalten.
Claims (16)
1. Verfahren für eine Konfiguration eines verteilten Computersystems,
gekennzeichnet durch
die folgenden Schritte:
a) Gruppieren von Softwareressourcen in Verteilungseinheiten;
b) Laden eines Codes für eine Anwendungs-Subfunktion auf mehreren
oder sämtlichen Prozessoren in dem System, wobei die
Prozessoren, auf denen eine Subfunktion ausgeführt wird,
dadurch eine Redundanzdomäne bilden;
c) anfängliches Verteilen der Verteilungseinheiten über die
Prozessoren in der Redundanzdomäne derart, dass die
Prozessorlast in vernünftiger Weise ausgeglichen ist;
d) Erzeugen eines Redundanzumordnungsschemas, indem jeder
Verteilungseinheit auf einem Prozessor in der Redundanzdomäne
ein jeweiliger anderer Prozessor innerhalb der Redundanzdomäne
zugewiesen wird, wobei das Redundanzumordnungsschema eine
Umordnung von einer oder mehreren der Verteilungseinheiten auf
einem Prozessor an einen oder mehrere der anderen Prozessoren
innerhalb der gleichen Redundanzdomäne erlaubt, sollte sich als
Folge von Lastungleichgewichten oder anderen Fehlfunktionen des
Systems eine Notwendigkeit ergeben.
2. Verfahren nach Anspruch 1,
gekennzeichnet durch
ein anfängliches Bestimmen, wieviel Prozessorkapazität von jeder
Anwendungs-Subfunktion, die auf dem System ausgeführt wird, benötigt
wird; und ein Bestimmen der Anzahl von Prozessoren, auf denen jede
Anwendungs-Subfunktion laufen muss, wobei die Anzahl von Prozessoren
eine Redundanzdomäne bilden.
3. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass die anfängliche Verteilung auf Grundlage von Parametern
durchgeführt wird, die die Kapazität jedes Prozessors in dem System
bestimmen.
4. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
dass die anfängliche Verteilung die erwartete Last auf den
Prozessoren in der Redundanzdomäne berücksichtigt, wobei die
erwartete Last optional auf historischen Daten der Prozessorlast
basiert.
5. Verfahren nach Anspruch 2,
gekennzeichnet durch
ein Bilden von mehreren Redundanzdomänen innerhalb des Systems, wobei
jede Redundanzdomäne eine jeweilige Anzahl von Prozessoren umfasst.
6. Verfahren nach Anspruch 1 oder 5, gekennzeichnet
durch
ein aufeinanderfolgendes Nummerieren der Verteilungseinheiten und ein
Umordnen der einen oder mehreren Verteilungseinheiten in einer
derartigen Weise, dass die Verteilungseinheiten so weit wie möglich
in einer Sequenz auf dem einen oder mehreren anderen Prozessoren
geordnet sein werden.
7. Verfahren nach Anspruch 1, ferner gekennzeichnet
durch
die folgenden Schritte:
e) kontinuierliches Überwachen des Zustands jedes Prozessors
während eines Betriebs, um Änderungen in der Last zu erfassen,
was ein Lastungleichgewicht zwischen den Prozessoren
verursacht;
f) im Ansprechen auf ein erfasstes Ungleichgewicht, Berechnen
eines neuen Verteilungsschemas für die Verteilungseinheiten
über die Prozessoren, wobei die berechnete Verteilung
proportional zu der Änderung des Lastgleichgewichts der
Prozessoren gewichtet wird;
g) Umordnen von Verteilungseinheiten von einem stark belasteten
Prozessor an andere weniger belastete Prozessoren in
Übereinstimmung mit der berechneten neuen Verteilung; und
h) Transferieren einer Verarbeitung von dem stark belasteten
Prozessor an den weniger stark belasteten Prozessor (die
weniger stark belasteten Prozessoren).
8. Verfahren nach Anspruch 7,
dadurch gekennzeichnet,
dass der Schritt zum Umordnen von Verteilungseinheiten ein Kopieren
von Verteilungseinheiten von dem stark belasteten Prozessor an einen
weniger belasteten beinhaltet, während die ursprünglichen Daten noch
auf dem stark belasteten Prozessor in Betrieb sind.
9. Verfahren nach Anspruch 8,
dadurch gekennzeichnet,
dass die Verteilungseinheiten aufeinanderfolgend nummeriert sind und
ursprünglich in einer Sequenz auf jeden Prozessor verteilt sind, und
wobei die berechnete neue Verteilung Verteilungseinheiten an andere
Prozessoren derart umordnet, dass die Nummernsequenzen zu dem
größtmöglichen Ausmaß kontinuierlich sein werden.
10. Verfahren nach Anspruch 7,
dadurch gekennzeichnet,
dass Änderungen in der Prozessorlast nur berücksichtigt werden, wenn
sie vordefinierte Grenzen überschreiten.
11. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass der Zustand jedes Prozessors während eines Betriebs überwacht
wird, um so Änderungen zu erfassen, die von einem Prozessorverlust
verursacht werden; dass sämtliche Verteilungseinheiten, die einem
verlorengegangenen Prozessor zugeordnet sind, auf einem oder mehreren
der anderen Prozessoren in Übereinstimmung mit dem
Redundanzumordnungsschema installiert werden; und dass ein neues
Redundanzumordnungsschema berechnet wird.
12. Verfahren nach Anspruch 11,
dadurch gekennzeichnet,
dass die Verteilungseinheiten gleichmäßig unter den Prozessoren in
dem Verteilungsschritt verteilt werden.
13. Verfahren nach Anspruch 11,
dadurch gekennzeichnet,
dass die Anzahl von Verteilungseinheiten, die einem Prozessor
zugewiesen sind, in dem Verteilungsschritt so gewichtet werden, dass
weniger Verteilungseinheiten Prozessoren mit einer stärkeren Last
oder mit einer geringeren inhärenten Kapazität zugewiesen werden.
14. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass der anfängliche Verteilungsschritt beinhaltet:
a) Berechnen eines Schemas einer Verteilung von
Verteilungseinheiten über die Prozessoren, wobei Parameter, die
die Kapazität jedes Prozessors bestimmen, berücksichtigt
werden, so dass die berechnete Verteilung proportional zu
Differenzen in der Kapazität der Prozessoren gewichtet wird;
und
b) Verteilen von Gruppen von Verteilungseinheiten über jeweilige
Anzahlen von Prozessoren, so dass eine entsprechende Anzahl von
Redundanzdomänen in dem System gebildet wird, so dass die
Prozessorlast in vernünftiger Weise ausgeglichen wird, in
Übereinstimmung mit dem Schema der Verteilung.
15. Verfahren nach Anspruch 14,
dadurch gekennzeichnet,
dass das verteilte Computersystem ein
Telekommunikationsvermittlungssystem ist.
16. Verfahren nach Anspruch 1,
gekennzeichnet durch
ein Bestimmen, wie viel Kapazität von jeder Anwendungs-Subfunktion
benötigt wird, wobei ein Verlust einer Kapazität z. B. aufgrund eines
Prozessorausfalls berücksichtigt wird, und ein Bestimmen, auf wie
viel Prozessoren jede Anwendungs-Subfunktion ausgeführt werden wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9404295A SE9404295D0 (sv) | 1994-12-09 | 1994-12-09 | Sätt och anordning vid telekommunikation |
PCT/SE1995/001484 WO1996018149A2 (en) | 1994-12-09 | 1995-12-08 | Configuration mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69521337D1 DE69521337D1 (de) | 2001-07-19 |
DE69521337T2 true DE69521337T2 (de) | 2001-10-11 |
Family
ID=20396281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69521337T Expired - Lifetime DE69521337T2 (de) | 1994-12-09 | 1995-12-08 | Mechanismus für eine konfigurierung |
Country Status (17)
Country | Link |
---|---|
EP (1) | EP0796463B1 (de) |
JP (1) | JPH10511785A (de) |
KR (1) | KR100331492B1 (de) |
CN (1) | CN1132097C (de) |
AT (1) | ATE202225T1 (de) |
AU (1) | AU716774B2 (de) |
BR (1) | BR9509895A (de) |
CA (1) | CA2206373A1 (de) |
DE (1) | DE69521337T2 (de) |
DK (1) | DK0796463T3 (de) |
ES (1) | ES2161918T3 (de) |
FI (1) | FI972407A0 (de) |
GR (1) | GR3036045T3 (de) |
MX (1) | MX9703872A (de) |
NO (1) | NO972597L (de) |
SE (1) | SE9404295D0 (de) |
WO (1) | WO1996018149A2 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2206737C (fr) * | 1997-03-27 | 2000-12-05 | Bull S.A. | Architecture en reseau de machine informatique |
US6038677A (en) * | 1997-03-31 | 2000-03-14 | International Business Machines Corporation | Automatic resource group formation and maintenance in a high availability cluster configuration |
FR2773239A1 (fr) * | 1997-12-30 | 1999-07-02 | Bull Sa | Configuration d'un systeme informatique multinodal |
US20060053424A1 (en) * | 2002-06-28 | 2006-03-09 | Tommi Koistinen | Load balancing devices and method therefor |
WO2004059484A1 (fr) * | 2002-12-31 | 2004-07-15 | Zte Corporation | Procede de veille et commande de charge dans un systeme a traitement reparti de donnees |
US7574708B2 (en) * | 2004-03-04 | 2009-08-11 | International Business Machines Corporation | Mechanism for enabling the distribution of operating system resources in a multi-node computer system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5165018A (en) * | 1987-01-05 | 1992-11-17 | Motorola, Inc. | Self-configuration of nodes in a distributed message-based operating system |
US5274838A (en) * | 1987-06-03 | 1993-12-28 | Ericsson Ge Mobile Communications Inc. | Fail-soft architecture for public trunking system |
CA1318409C (en) * | 1988-10-27 | 1993-05-25 | Dennis L. Debruler | Multiprocessor load sharing arrangement |
EP0645702B1 (de) * | 1993-09-24 | 2000-08-02 | Siemens Aktiengesellschaft | Verfahren zum Lastausgleich in einem Multiprozessorsystem |
-
1994
- 1994-12-09 SE SE9404295A patent/SE9404295D0/xx unknown
-
1995
- 1995-12-08 DK DK95941311T patent/DK0796463T3/da active
- 1995-12-08 KR KR1019970703854A patent/KR100331492B1/ko not_active IP Right Cessation
- 1995-12-08 DE DE69521337T patent/DE69521337T2/de not_active Expired - Lifetime
- 1995-12-08 MX MX9703872A patent/MX9703872A/es not_active IP Right Cessation
- 1995-12-08 AU AU42771/96A patent/AU716774B2/en not_active Ceased
- 1995-12-08 AT AT95941311T patent/ATE202225T1/de not_active IP Right Cessation
- 1995-12-08 BR BR9509895A patent/BR9509895A/pt not_active IP Right Cessation
- 1995-12-08 CN CN95196680A patent/CN1132097C/zh not_active Expired - Lifetime
- 1995-12-08 ES ES95941311T patent/ES2161918T3/es not_active Expired - Lifetime
- 1995-12-08 WO PCT/SE1995/001484 patent/WO1996018149A2/en active IP Right Grant
- 1995-12-08 EP EP95941311A patent/EP0796463B1/de not_active Expired - Lifetime
- 1995-12-08 JP JP8517547A patent/JPH10511785A/ja active Pending
- 1995-12-08 CA CA002206373A patent/CA2206373A1/en not_active Abandoned
-
1997
- 1997-06-06 FI FI972407A patent/FI972407A0/fi unknown
- 1997-06-06 NO NO972597A patent/NO972597L/no not_active Application Discontinuation
-
2001
- 2001-06-14 GR GR20010400809T patent/GR3036045T3/el not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
BR9509895A (pt) | 1997-11-25 |
DE69521337D1 (de) | 2001-07-19 |
EP0796463B1 (de) | 2001-06-13 |
WO1996018149A3 (en) | 1996-08-15 |
FI972407A (fi) | 1997-06-06 |
KR980700611A (ko) | 1998-03-30 |
ES2161918T3 (es) | 2001-12-16 |
AU716774B2 (en) | 2000-03-09 |
NO972597L (no) | 1997-08-05 |
SE9404295D0 (sv) | 1994-12-09 |
MX9703872A (es) | 1997-08-30 |
JPH10511785A (ja) | 1998-11-10 |
EP0796463A2 (de) | 1997-09-24 |
ATE202225T1 (de) | 2001-06-15 |
DK0796463T3 (da) | 2001-09-03 |
NO972597D0 (no) | 1997-06-06 |
AU4277196A (en) | 1996-06-26 |
CN1169191A (zh) | 1997-12-31 |
CN1132097C (zh) | 2003-12-24 |
WO1996018149A2 (en) | 1996-06-13 |
KR100331492B1 (ko) | 2002-08-22 |
CA2206373A1 (en) | 1996-06-13 |
GR3036045T3 (en) | 2001-09-28 |
FI972407A0 (fi) | 1997-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1901191B1 (de) | Verfahren und Anordnung zur Verwaltung von Lizenzen | |
DE69128271T2 (de) | Verfahren und System zur Erhöhung der Betriebsverfügbarkeit eines Systems von Rechnerprogrammen, wirkend in einem verteilten Rechnerssystem | |
DE102020113347A1 (de) | Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten | |
DE69801418T2 (de) | Datenaufteilung und -dupliziering in einem verteilten datenverarbeitungssystem | |
DE68924954T2 (de) | Übertragungssystem für verteilte Datenbanken. | |
DE69527852T2 (de) | Synchronisationsverfahren mit möglichkeiten zum zustandstransfer | |
DE68926345T2 (de) | Datenverarbeitungsnetzwerk | |
DE102004005128B3 (de) | Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall | |
DE112011103443T5 (de) | Intelligente Schnittstelle für ein dezentrales Steuerungssystem | |
DE9300562U1 (de) | Steuerungssystem eines Vermittlungssystems | |
DE102016219854A1 (de) | Computersystem und Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks | |
EP3444682A1 (de) | Verfahren zum rechnergestützten koppeln eines verarbeitungsmoduls in ein modulares technisches system und modulares technisches system | |
EP2732347B1 (de) | Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen | |
DE69521337T2 (de) | Mechanismus für eine konfigurierung | |
DE69927223T2 (de) | Ausfallsicherheit eines Mehrrechnersystems | |
WO1988007314A1 (en) | Process for operating a multiprocessor central control unit of a relay system | |
EP1080408B1 (de) | Steuerungssystem zur steuerung der inbetriebnahme eines verteilten systems | |
DE4104365C1 (de) | ||
DE3334796A1 (de) | Verfahren zum betrieb eines multiprozessor-steuerrechners, insbesondere fuer die zentralsteuereinheit eines fernsprech-vermittlungssystems | |
EP3800517B1 (de) | Verfahren zur erstellung eines redundanten automatisierungssystems, computerprogramm und computerlesbares medium | |
EP3552063B1 (de) | Verfahren zur automatischen konfiguration von funktionseinheiten eines automatisierungssystems | |
DE102005053275B4 (de) | Hochverfügbares Computerverbundsystem | |
DE10360535B4 (de) | Einrichtung und Verfahren zur Steuerung und Kontrolle von Überwachungsdetektoren in einem Knoten eines Clustersystems | |
EP2120144A2 (de) | Rechnerverbund und Verfahren zur Konfiguration eines Rechnerverbundes | |
EP1331794B1 (de) | Verfahren zur Adresszuweisung in einem Netzwerk und Komponenten dafür |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |