-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft allgemein eine Verteilung von Last zwischen Knoten in Daten- und/oder Telekommunikationssystemen, und insbesondere eine Verteilung von Last in einem System, umfassend eine Vielzahl von parallelen Knoten, d. h. ein Ein-zu-Mehr- oder ein Mehr-zu-Mehr-Knotensystem.
-
Hintergrund
-
Bei der neuen UMTS-Architektur mit einer zusammenhängenden Ebene und einer Rufsteuerungsebene werden Medien-Gateways (MG) für die zusammenhängenden Ebenen benutzt. In der Rufsteuerungsebene werden Medien-Gateway-Controller (MGC) benutzt. Der MGC steuert die Verteilung von neuen Rufen zum MG. Überlastungssituationen sind immer lästig.
-
Eine Standardeinrichtung für allgemeine Überlastungssituationen basiert darauf, dass der Knoten mit einem Überlastungsniveau (CL) verknüpft ist, das ein Maß für die vorhandene Überlastung des Knotens ist. Innerhalb jedes CL's gibt es eine Zahl von Unterniveaus, wobei zusammenhängende Unterniveaus (CSL) verfügbar sind, um einen problemlosen Übergang zwischen den für die verschiedenen Haupt-CLs relevanten Bedingungen herzustellen. Jede Nachricht ist einer Überlastungspriorität (CP) zugeordnet, die durch das System bestimmt wird, und von der Art der Rufanfrage abhängt. Solch eine Prozedur wird in der SCCP, ITU-T-Empfehlung Q.714 empfohlen.
-
Eine typische Art und Weise fortzufahren ist:
- – Eine Nachricht, die eine CP größer als das CL aufweist, wird angenommen, um an den Knoten gesendet zu werden.
- – Eine Nachricht, die eine CP kleiner als das CL aufweist, wird abgeblockt und verworfen, und wird deshalb nicht an den überlasteten Knoten gesendet.
- – Von einer Nachricht mit einer CP gleich dem CL wird ein erster Teil angenommen, und an den Knoten gesendet. Der Rest wird abgeblockt und verworfen. Dieser erste Teil ist gleich 1 minus dem Verhältnis des CSL und der Gesamtzahl der verfügbaren Unterniveaus.
-
Diese Prozedur wird die Signalgebung im Falle einer Überlastung beschränken, und die Unterniveaus werden den Übergang zwischen den verschiedenen CLs glätten.
-
Ein Problem tritt auf, wenn man an mehr als eine Verknüpfung/einen Knoten/einen MG senden muss, d. h. wenn die Nachrichten, die statt dessen verworfen werden, statt dessen an einen anderen austauschbaren Knoten umverteilt werden könnten. In den meisten Nachrichtensystemen ist dies von überhaupt keinem Interesse, da die Nachrichten an einen speziellen Knoten adressiert sind, und kein anderer Knoten von Interesse ist. Aber es könnte auf einem höheren Niveau als auf dem der einzelnen Nachrichten von Interesse sein, z. B. wo es möglich ist, z. B. eine ganze Reihe von Nachrichten an andere Knoten umzuverteilen, wenn die Reihe in Betrieb gesetzt wird.
-
Ein typisches Beispiel einer solchen Situation ereignet sich in Telekommunikationssystemen, wo ein Anruf bzw. Ruf als eine Reihe von Nachrichten betrachtet werden kann, die durch irgendeine Initialisierungsnachricht oder einen Rufaufbau in Betrieb gesetzt worden ist. Zum Beispiel können zu der UMTS-Architektur mehrere MGCs und mehrere MGs gehören. Jeder MGC kann ein MG zwischen einer Menge von MGs auswählen, um für einen Rufaufbau benutzt zu werden. Der Rest des Verkehrs, verknüpft mit diesem Ruf, wird dann den gleichen MG weiter benutzten.
-
Ein Problem tritt dadurch auf, wenn man von einem Ein-zu-Ein-Knotensystem zu einem Ein-zu-Mehr- oder Mehr-zu-Mehr-Knotensystem geht. Überlastungen bei verschiedenen Knoten müssen bewältigt werden, und eine effiziente Umverteilung der Last muss durchgeführt werden.
-
Eine mögliche Lösung ist, immer den am schwächsten belasteten MG auszuwählen. Das ist derjenige, mit der geringsten CL (und CSL). Aber in Telekommunikationssystemen gibt es zum Beispiel damit verbundene Probleme. Ein Problem ist, dass mit einer solchen Lösung die ganze Last innerhalb einer bestimmten Zeitperiode zu ein und demselben Knoten (bevor die Überlastungs-Messung reagiert) geleitet wird. Da die Hauptlast eines Rufes in dem Knoten mit einer bestimmten Zeitverzögerung festgestellt wird, wird die CL und CSL nur nach einiger Zeit anfangen, zuzunehmen. Wenn das Überlastungsniveau dieses Knotens das Überlastungsniveau eines anderen Knotens passiert, wird statt dessen die ganze Last an diesen anderen Knoten geleitet. Diese Prozedur wird danach zu Oszillationen in der Last zwischen den verschiedenen Knoten führen. Mit großer Trägheit werden sich hohe Amplitudenoszillationen im System und das Risiko für eine Überlastung ereignen. Das Problem verschlimmert sich immer mehr mit einer anwachsenden Zahl von verfügbaren Knoten.
-
US 6 138 159 A beschreibt ein Lastverteilungsverfahren zwischen mehreren Host-Rechnern, das es ermöglicht Benutzeranfrage zu verarbeiten, auch wenn einzelne Host-Rechner ausfallen. Anfragen können dynamisch bestimmten Servern zugeteilt werden. Der Hand-Off-Server kann neue Sitzungen den Servern zuteilen, welche am wenigsten ausgelastet sind, oder die Last kann zufällig zugeteilt werden.
-
Kurzfassung
-
Eine allgemeine Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und eine Einrichtung zur überlastungsgesteuerten Lastverteilung in einem Ein-zu-Mehr- oder Mehr-zu-Mehr-Knotensystem bereitzustellen, ein Verfahren und eine Einrichtung bereitzustellen, die weniger Lastoszillationen an den verschiedenen Knoten erzeugt, Lasten auch an die Knoten mit nicht-minimalen Überlastungsniveaus in einer effizienten Weise zu verteilen und die Last gleich zwischen gleichüberlasteten Knoten zu verteilen.
-
Die oben genannten Aufgaben werden durch Verfahren und Einrichtungen gemäß den beigefügten Ansprüchen gelöst. In allgemeinen Worten ausgedrückt, wird eine Prozedur zur Knotenauswahl mit mindestens zwei Hauptschritten bereitgestellt. In einem ersten Hauptschritt wird ein Versuch gemacht, einen Knoten zu finden, der in der Lage ist, die Last zu bewältigen. Wenn dies fehlschlägt, wird eine ”sichere” Knotenauswahl in einem zweiten Hauptschritt ausgeführt. Jede erhaltene Last hat ein Prioritätsniveau. Der erste Schritt wählt einen Knoten aus einer ersten Teilmenge von verfügbaren Knoten aus. Wenn der Knoten in der Lage ist, die Last zu bewältigen, d. h. wenn das Überlastungsniveau des Knotens niedrig genug ist, eine Last des vorhandenen Prioritätsniveaus zuzulassen, wird der Knoten als ein Zielknoten ausgewählt. Wenn das Überlastungsniveau des Knotens zu hoch ist, um den Knoten zuzulassen, um die Last zu bewältigen, wird ein zweiter Schritt durchgeführt. Der zweite Schritt erzeugt eine zweite Teilmenge von Knoten, die alle in der Lage sind, die Last zu bewältigen. Einer dieser Knoten wird dann als Zielknoten ausgewählt. Dieser zweite ausgewählte Knoten ist sehr wahrscheinlich in der Lage, die Last zu bewältigen. Die Last wird dann an den ausgewählten Zielknoten geleitet. Wenn die zweite Teilmenge leer ist, muss die Last verworfen werden.
-
Die erste Teilmenge ist vorzugsweise eine Teilmenge, die alle Knoten mit einem Überlastungsniveau umfasst, das kleiner oder gleich dem Prioritätsniveau ist. Aber am meisten vorzuziehen ist, dass die erste Teilmenge alle Knoten umfasst. Die zweite Teilmenge ist vorzugsweise eine Teilmenge, die alle Knoten mit einem Überlastungsniveau kleiner als das Prioritätsniveau umfasst. Die Auswahl aus einer Teilmenge kann in einer zufälligen Art und Weise durchgeführt werden, die den Knoten die gleiche Wahrscheinlichkeit gibt, ausgewählt zu werden. Alternativ dazu werden die Knoten in einer speziellen Reihenfolge angeordnet, und die Auswahl wird der Reihe nach in dieser Reihenfolge durchgeführt.
-
Das Entscheidungskriterium, ob ein Knoten voraussichtlich eine Last bewältigt oder nicht, wird vorzugsweise gemäß der oben beschriebenen Empfehlung Q.714 durchgeführt. Vorzugsweise werden die Überlastungsmaße der Knoten kontinuierlich oder unterbrochen aktualisiert. Das Überlastungsmaß könnte entweder in der Lastverteilungseinrichtung berechnet werden, oder aus einer expliziten Information erhalten werden, die von dem Überlastungsknoten an die Lastverteilungseinrichtung gesendet wird.
-
In einer Verallgemeinerung des Verfahrens kann die Zahl der Hauptschritte größer als zwei sein, um Knoten aus verschiedenen Teilmengen von Knoten auszuwählen.
-
Die Erfindung nutzt die gesamte Überlastungssituation des Systems aus, um Rufe zwischen den Knoten zu verteilen. Die Oszillationen werden reduziert, und der gesamte Durchsatz wird gesteigert. Wenn keine Knoten überlastet sind, wird die Last gleich verteilt. Wenn die Intensität und die Mischung der neuen Rufe stabil ist, und wenn das Überlastungsniveau oder sich ein Überlastungs-Unterniveau eines Knotens verändert, wird die Last zu anderen Knoten mit höherem oder gleichem Überlastungsniveau überhaupt nicht beeinflusst. Wenn die Intensität und die Mischung von neuen Rufen stabil ist, ist die Last zu einem überlasteten Knoten eine lineare Funktion des Überlastungs-Unterniveaus für diesen Knoten (für andere Bedingungen konstant).
-
Kurze Beschreibung der Zeichnungen
-
Die Erfindung kann, zusammen mit weiteren Aufgaben und Vorteilen davon, am besten unter Bezugnahme der folgenden Beschreibung zusammen mit den beigefügten Zeichnungen verstanden werden, in welchen:
-
1 ein Flussdiagramm zeigt, das ein Verfahren mit zwei Hauptschritten gemäß der vorliegenden Erfindung darstellt;
-
2 ein Flussdiagramm zeigt, das ein Verfahren mit n Hauptschritten gemäß der vorliegenden Erfindung darstellt;
-
3 ein Flussdiagramm zeigt, das eine bevorzugte Ausführungsform eines Annahmekriteriums, das in der vorliegenden Erfindung benutzt wird, darstellt;
-
4 ein Blockdiagramm zeigt, das ein UMTS-Mobiltelefonsystem gemäß der vorliegenden Erfindung darstellt;
-
5 ein Blockdiagramm zeigt, das die Erzeugung von verschiedenen Teilmengen, basierend auf Überlastungsniveauinformation, darstellt; und
-
6a und b Blockdiagramme zeigen, die zwei Verfahren zum Auswählen von Knoten aus den Teilmengen darstellen.
-
Genaue Beschreibung
-
Um Lastoszillationen in einem Ein-zu-Mehr-Knotensystem oder einem Mehr-zu-Mehr-Knotensystem zu vermeiden, sollte vorzugsweise etwas Last auch an Knoten mit einem höheren Überlastungsniveau als dem Minimum geleitet werden. Diese Verteilung muss in einer einfachen und effizienten Weise durchgeführt werden, wobei geringe und unbedeutende Verarbeitungsressourcen erforderlich sind. Außerdem sollte der gesamte Lastdurchsatz nicht reduziert werden, stattdessen aber verbessert werden.
-
Ein ”Überlastungsniveau” wird aus einer begrenzten Menge von aufeinanderfolgenden Überlastungsniveaus ausgewählt. Es ist daher möglich, die Überlastungsniveaus in einer speziellen Reihenfolge anzuordnen, von einem geringsten Überlastungsniveau zu einem höchsten. In der vorliegenden Offenlegung wird davon ausgegangen, dass diese Reihenfolge den Bereich von einem niedrigsten Überlastungsniveau gleich Null bis zu einem höchsten Überlastungsniveau gleich der Zahl von Überlastungsniveaus aus der Menge minus Eins abdeckt. Aber jeder Fachmann versteht, dass diese Nummerierung beliebig ist, und jede andere Vorrichtung zum Anordnen der Niveaus genauso gut benutzt werden kann. Aber in allen Fällen kann die Menge ”umbenannt” werden, in eine Menge, die Überlastungsniveaus entsprechend ganzer Zahlen umfasst. Allgemeiner formuliert, könnte die Menge von Überlastungsniveaus durch mindestens zwei der Parameter charakterisiert werden: Jeweils einen maximalen und minimalen Wert, und die Gesamtzahl von Überlastungsniveaus aus der Menge.
-
Die entsprechende Schlussfolgerung ist zutreffend für ”Prioritätsniveaus”.
-
Ein ”überlasteter Knoten” wird in der vorliegenden Offenlegung als ein Knoten definiert, der einen höheren Betrag eingehender Last aufweist, als die Kapazität der Verarbeitung der Last. Wenn der Begriff der Überlastungsniveaus definiert ist, ist ein überlasteter Knoten ein Knoten mit einem Überlastungsniveau ungleich Null, oder einem Überlastungs-Unterniveau ungleich Null.
-
Ein etwas überlasteter Knoten, d. h. ein Knoten mit einem geringen, aber Überlastungsniveau ungleich Null, kann noch voraussichtlich einen geringen Betrag einer neuen Last bewältigen. Einer Verteilungseinrichtung kann deshalb gemäß der allgemeinen Standardprozedur ermöglicht werden, Last an den besagten Knoten zu senden, wenn die Last ein Prioritätsniveau aufweist, das hoch genug ist. Wenn die Last mit verschiedenen Prioritäten von ein und derselben Vereilungseinrichtung verteilt wird, muss die Verteilung auf eine solche Weise durchgeführt werden, dass die verfügbare Kapazität in einer effizienten Art und Weise gebraucht wird.
-
Eine erste Knotenauswahl wird aus einer ersten Gruppe von Knoten durchgeführt, wobei die Knoten vorzugsweise ein gemitteltes Überlastungsniveau so hoch wie möglich aufweisen. Am meisten vorzuziehen ist, dass die erste Gruppe von Knoten alle verfügbaren Knoten umfasst, aber auch andere Mengen von Knoten umfassen können. Wenn die Auswahl fehlschlägt, wird die endgültige Auswahl aus einer Gruppe von ”sicheren” Knoten durchgeführt, die typischerweise ein geringeres gemitteltes Überlastungsniveau aufweisen.
-
1 stellt eine erste Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung mit zwei Hauptschritten dar. Das System, in dem diese Prozedur betrieben wird, umfasst eine Vielzahl von Knoten, an die eine Last verteilt werden kann. Jeder Knoten hat ein zugehöriges Überlastungsniveau. Die Prozedur beginnt mit Schritt 100. In Schritt 102 wird eine zu verteilende Last erhalten. Die Last hat ein zugehöriges Prioritätsniveau. Eine erste Teilmenge von Knoten wird in Schritt 104 erzeugt. Die erste Teilmenge kann alle Knoten mit einem Überlastungsniveau kleiner oder gleich einer vordefinierten Zahl umfassen. Diese vordefinierte Zahl kann z. B. gleich dem Prioritätsniveau der Last sein. Aber vorzugsweise umfasst die erste Teilmenge alle Knoten, d. h. die erste Teilmenge selbst ist gleich der Gesamtmenge von Knoten. Dies bedeutet, dass die erste Teilmenge typischerweise auch Knoten umfasst, die nicht mit einer ganzen Sicherheit die Last bewältigen können. Aber es kann eine sichere Wahrscheinlichkeit ungleich Null geben.
-
In einer bevorzugten Ausführungsform sollte die Zahl der Prioritätsniveaus gleich oder kleiner der Zahl der Überlastungsniveaus sein.
-
Ein erster Knoten wird aus dieser ersten Teilmenge von Knoten in Schritt 106 ausgewählt. Die Auswahl kann gemäß verschiedener Prozeduren durchgeführt werden, wie unten weiter beschrieben wird. Da die erste Teilmenge beide Knoten umfassen kann, an die es zugelassen ist, die Last zu senden, und Knoten, an die es nicht zugelassen ist, die Last zu senden, muss eine Bewertung durchgeführt werden. In Schritt 108 wird festgelegt, ob es zugelassen ist, die Last gemäß eines vorbestimmten Kriteriums an den erstens Knoten zu senden, oder nicht. Die bevorzugten Arten von Kriterien werden unten weiter diskutiert. Wenn es zugelassen ist, die Last an den ersten Knoten zu senden, wird ein zulässiger Zielknoten gefunden, und die Prozedur wird bis Schritt 118 fortgesetzt. Wenn es andererseits nicht zugelassen ist, die Last an den ersten Knoten zu senden, wird die Prozedur bis zu dem zweiten Hauptschritt fortgesetzt, beginnend bei Schritt 110.
-
In Schritt 110 wird eine zweite Teilmenge von Knoten erzeugt. Diese zweite Teilmenge umfasst nur Knoten in dem System, die alle mit Sicherheit die Last gemäß des vorbestimmten und oben erwähnten Kriteriums annehmen können. Die zweite Teilmenge umfasst vorzugsweise alle Überlastungsknoten mit einem Überlastungsniveau kleiner als eine vordefinierte Zahl kleiner oder gleich dem Prioritätsniveau der Last, und alle Knoten, die überhaupt nicht überlastet sind. Am meisten ist selbst vorzuziehen, dass diese vordefinierte Zahl gleich dem Prioritätsniveau der Last ist. Dies bedeutet, dass die zweite Teilmenge nur Knoten umfasst, denen es zugelassen ist, die Last mit einer uneingeschränkten Sicherheit zu senden. Die zweite Teilmenge ist vorzugsweise eine Teilmenge auch der ersten Teilmenge.
-
Wenn alle Knoten in dem System so belegt sind, dass keiner mit absoluter Sicherheit die Last annehmen kann, gibt es Probleme, sich um die Last zu kümmern. In Schritt 112 wird geprüft, wenn die zweite Teilmenge leer ist. Wenn dies der Fall ist, d. h. keiner der Knoten die Last bewältigen kann, muss die Last in Schritt 114 verworfen werden. Wenn die zweite Teilmenge mindestens einen Knoten umfasst, wird ein Knoten aus der zweiten Teilmenge in Schritt 116 ausgewählt. Die Einzelheiten dieser Auswahl werden unten genauer beschrieben. Dieser ausgewählte Knoten ist höchst wahrscheinlich verfügbar, um die Last zu bewältigen.
-
In Schritt 118 ist jeder ausgewählte Knoten entweder durch den ersten Hauptschritt, d. h. durch die erste Teilmenge, oder durch den zweiten Hauptschritt, d. h. durch die zweite Teilmenge als ein Zielknoten festgelegt. Schließlich wird in Schritt 120 die Last an den Zielknoten verteilt. Die Prozedur endet mit Schritt 122.
-
Mit anderen Worten basiert die Prozedur auf dem Konzept, erst zu versuchen, die Last an einen Knoten in einer ersten Teilmenge zu verteilen. Wenn dies nicht erfolgreich ist, wird eine sichere Wahl eines Knotens ausgeführt.
-
In einer verallgemeinerten Form kann die Prozedur mehr als einen Probeschritt einschließen, bevor eine endgültige gefahrlose und sichere Auswahl gemacht wird. Dies kann durch das Flussdiagramm nach 2 dargestellt werden. Die Schritte in 2 haben entsprechende Eigenschaften wie in 1, aber in einer wiederholten Art und Weise. Die Prozedur beginnt mit Schritt 200. In Schritt 202 wird die zu verteilende Last erhalten. Wie vorher beschrieben, wird die Last einem Prioritätsniveau zugeordnet. Die Prozedur wird mit einem ersten Hauptschritt, dargestellt durch das gestrichelte Kästchen 210, fortgesetzt. In diesem ersten Hauptschritt wird eine erste Teilmenge von Knoten in Schritt 212 ausgewählt, in einer zum Schritt 104 in 1 entsprechenden Art und Weise. Ein erster Knoten wird aus dieser ersten Teilmenge in Schritt 214 ausgewählt. In Schritt 216 wird festgelegt, ob es zugelassen ist, die Last an den ausgewählten ersten Knoten zu senden, oder nicht. Wenn der erste Knoten die Last bewältigen kann, wird die Prozedur bis zu den beendenden Schritten fortgesetzt, beginnend mit Schritt 238. Aber wenn der erste Knoten die Last nicht bewältigen kann, wird die Prozedur bis zu dem nächsten Hauptschritt fortgesetzt.
-
Der nächste Hauptschritt umfasst entsprechende Schritte wie in Hauptschritt 210, und der Prozess wird bis zu einem folgenden Hauptschritt fortgesetzt, so lange es nicht zugelassen wird, die Last an die ausgewählten Knoten zu senden. In 2 wird angenommen, dass n Hauptsschritte verfügbar sind. Der (n – 1)te Hauptschritt wird ganz dargestellt, bezeichnet durch 220. Der (n – 1)te Hauptschritt beginnt mit Schritt 222, wobei eine (n – 1)te Teilmenge von Knoten erzeugt wird. In Schritt 224 wird ein (n – 1)ter Knoten aus der (n – 1)ten Teilmenge ausgewählt. In Schritt 226 wird festgelegt, ob es der Last zugelassen ist, an den (n – 1)ten Knoten gesendet zu werden, oder nicht. Wenn es der Last zugelassen ist, gesendet zu werden, wird die Prozedur mit Schritt 238 fortgesetzt, anderenfalls wird die Prozedur bis zum n-ten und letzten Hauptschritt, dargestellt durch 230, fortgesetzt.
-
In dem letzten Hauptschritt wird in Schritt 232 eine n-te Teilmenge ausgewählt. Diese n-te Teilmenge wird in der gleichen Art und Weise wie die zweite Teilmenge in 1 ausgewählt. In Schritt 234 wird festgelegt, wenn die n-te Teilmenge leer ist, oder nicht. Wenn die Teilmenge leer ist, könnte kein Knoten die Last bewältigen, und die Last wird in Schritt 242 verworfen. Wenn die Teilmenge mindestens einen Knoten umfasst, wird einer der Knoten in der n-ten Teilmenge als der n-te Knoten in Schritt 236 ausgewählt. In Schritt 238 wird irgendein ausgewählter Knoten aus irgendeinem der Hauptschritte als ein Zielknoten festgelegt. In Schritt 240 wird die Last an den Zielknoten verteilt. Die Prozedur endet bei Schritt 244.
-
Dem Fachmann ist klar, dass das Flussdiagramm nach 1 dem aus 2 entspricht, mit n gleich Zwei. Die Zahl der Versuche, d. h. Hauptschritte, die es Wert ist zu haben, wird allgemein von der speziellen Anwendung abhängen. In einer möglichen bevorzugten Ausführungsform umfasst die m-te Teilmenge alle Knoten der (m – 1)ten Teilmenge, bis auf den ausgewählten (m – 1)ten Knoten. Wenn zu viele Versuche benötigt werden, wird die benötige Kapazität für eine Entscheidung ansteigen, oder die Zeitverzögerung vor der Entscheidung wird ansteigen, und den einzelnen Überlastungsniveaus wird weniger Bedeutung beigemessen. In den meisten Fällen ist die Situation von 1 vorzuziehen, d. h. wo ein Versuch unternommen wird, nachdem eine sichere Auswahl gemacht wird.
-
Eine Hauptrolle in der Verteilungsprozedur ist die Bestimmung, ob ein sicherer Knoten die Last bewältigen kann, oder nicht. Dies ist gleichbedeutend mit der Bestimmung, ob es zugelassen ist, die Last an einen sicheren Knoten zu senden, oder nicht. 3 stellt eine Teilprozedur dar, entsprechend eines bevorzugten Kriteriums der Lastannahme, oder gleichbedeutend eines bevorzugten Kriteriums der Zulassung zum Senden. Dieses Kriterium entspricht sehr genau dem, das schon zur Lastverteilung, basierend auf einer Belastungsinformation in Ein-zu-Ein-Knotensystemen verwendet wird. Das Kriterium basiert auf dem Überlastungsniveau des dafür bestimmten Empfangsknotens, d. h. des Knotens, an den die Last geplant ist, gesendet zu werden, auf dem Überlastungs-Unterniveau des geplanten Empfangsknotens, und auf dem Prioritätsniveau der Last. Das Überlastungsniveau bezieht sich auf eine grobe Bewertung der Bedeutung jeder Überlastung. Innerhalb jedes Überlastungsniveaus kann es eine genauere Einteilung geben, ein sogenanntes Überlastungs-Unterniveau. Diese Unterniveaus können benutzt werden, um den Übergang zwischen den verschiedenen gemittelten Überlastungsniveaus glatter zu machen.
-
Die Zahl der Überlastungs-Unterniveaus kann sich für jedes Überlastungsniveau unterscheiden, aber in einer bevorzugten Ausführungsform haben alle Überlastungsniveaus die gleiche Zahl von Überlastungs-Unterniveaus.
-
Die Teilprozedur beginnt mit Schritt 150. In Schritt 152 wird ein zu prüfender Knoten erhalten. In Schritt 154 wird bestimmt, ob das Überlastungsniveau dieses Knotens größer, kleiner oder gleich dem Prioritätsniveau der Last ist, oder nicht. Wenn das Überlastungsniveau größer als das Prioritätsniveau ist, ist es der Last nicht zugelassen, gesendet zu werden, und die Prozedur wird bis Schritt 164 fortgesetzt. Wenn das Überlastungsniveau kleiner als das Prioritätsniveaus ist, kann die Last bewältigt werden, d. h. die Last wird zugelassen, um gesendet zu werden, und die Prozedur wird bis Schritt 166 fortgesetzt. Wenn das Überlastungsniveau und das Prioritätsniveau gleich sind, wird die Prozedur bis zum Schritt 158 fortgesetzt.
-
In Schritt 158 wird das Überlastungs-Unterniveau ausgewertet. Vorzugsweise wird ein Verhältnis zwischen dem Überlastungs-Unterniveau und der Zahl von möglichen Unterniveaus bestimmt. Dieses Verhältnis kann dazu benutzt werden, um einen richtigen Teil der zu sendenden Lasten zuzulassen, wobei das Überlastungsniveau und das Prioritätsniveau zustimmen. Ein hohes Überlastungs-Unterniveau wird mit der Zahl von zum Senden zugelassenen Lasten abnehmen, und ein niedriges Überlastungs-Unterniveau wird mit der Zahl der zum Senden zugelassenen Lasten ansteigen. Vorzugsweise ist der Teil der Lasten, die zum Senden zugelassen sind, gleich 1 minus dem oben erwähnten Verhältnis, und anschließend ist der Teil der zurückgewiesenen Last gleich dem oben erwähnten Verhältnis. Nimmt man solch einen linearen Zusammenhang an, und zum Beispiel eine Gesamtzahl von 5 Überlastungsniveaus, wird ein Überlastungs-Unterniveau von 2 beinhalten, dass 60% der Lasten zugelassen sind, an den geplanten Empfangsknoten gesendet zu werden. Wenn stattdessen das Überlastungs-Unterniveau gleich 4 ist, werden nur 20% der Lasten zugelassen. In Schritt 162 ist festgelegt, wenn die vorhandene Last zu dem Teil der Lasten gehört, die zugelassen sind, gesendet zu werden, und die Prozedur wird jeweils bis zu den Schritten 164 und 166 fortgesetzt. In Schritt 164 wird die Last zurückgewiesen, und in Schritt 166 wird die Last angenommen. Die Prozedur wird bei Schritt 168 beendet.
-
4 stellt ein System dar, in dem das Verfahren zur Lastverteilung gemäß der vorliegenden Erfindung in vorteilhafter Weise angewendet wird. Dieses System umfasst ein UMTS-Telekommunikationssystem. Eine Zahl von mobilen Endgeräten 10 kommunizieren mit einer Basisstation (BS) 12 über Radiosignale. Ein Basisstations-Kontroller (BSC) 14 steuert die Basisstation. Der BSC 14 teilt die Signalgebung in eine zusammenhängende Ebene und eine Rufkontrollebene. Die Rufkontrollebene sorgt für die Signalgebung, um den Ruf zu steuern, während die zusammenhängende Ebene die Übertragung des Nutzlastverkehrs zwischen den Teilnehmern betreibt. Der BSC 14 ist daher mit einem Mobilstations-Controller (MSC) 16 über eine Steuerverbindung 22 verbunden. Der BSC 14 wird anschließend auch mit einem Medien-Gateway (MG) 20 über eine zusammenhängende Verbindung 24 verbunden. Der Betrieb des MG 20 wird durch den MSC durch einen Medien-Gateway-Controller (MGC) 18 über eine Steuerverbindung 26 gesteuert.
-
Wenn die Daten zu und von den mobilen Endgeräten 10 an andere Netzwerke gebracht werden, wird eine Durchgangsschalter-Zentrale (TSC) 28 benutzt. Der MSC wird über die Rufsteuerungsebene mit der TSC 28 durch eine Rufsteuerungsverbindung 38 verbunden. Eine Zahl von MGs 32 fungieren als Schnittstelle zwischen dem UMTS-Neztwerk 34 und anderen Netzwerken 36. Die MGs 32 empfangen den Nutzlastverkehr von dem MG 20 über zusammenhängende Verbindungen 42, aber werden von dem TSC 28 durch einen MGC 30 über Rufsteuerungsverbindungen 40 gesteuert. Der MGC 30 umfasst eine Vorrichtung 50 zum Durchführen einer Auswahl von geeigneten Knoten. Bei einer Rufeinrichtungsprozedur bestimmt diese Einrichtung 50 daher, welche der MGs 32 für den Ruf benutzt werden müssen. Der MGC 30 führt dann eine Verteilung der Last gemäß der Verfahren der vorliegenden Erfindung durch, durchgeführt durch die Einrichtung 50. Die zum Nutzlastverkehr zugehörigen Rufe werden dann durch die Verbindungen 44 von den MGs 32 in den verschiedenen Netzwerken 36 verteilt.
-
In der obigen Ausführungsform führt ein TSC 28 eine Verteilung der Last durch. Aber in anderen Situationen kann eine ähnliche Verteilung durch z. B. ein MSC gesteuert werden. Der MSC kann in solch einem Fall mit einer Vorrichtung ausgestattet sein, die notwendig ist, die Verteilung der Last gemäß der vorliegenden Erfindung durchzuführen.
-
Eine wichtige Komponente in der vorliegenden Erfindung ist die Erzeugung der Teilmengen. Die Teilmengen können alle Knoten umfassen, und die Teilmengen können überhaupt keine Knoten umfassen, abhängig von der Überlastungssituation. In 5 ist ein Beispiel einer Belastungssituation für ein 7-Knotensystem dargestellt, zusammen mit einer bevorzugten Art und Weise, um die Erzeugung der Teilmengen durchzuführen. Die Knoten werden entlang der horizontalen Achse platziert, und das Überlastungsniveau (CL) und die Überlastungs-Unterniveaus (CSL), die damit verbunden sind, sind entlang der vertikalen Achse positioniert. In diesem Beispiel hat der Knoten N1 ein CL = 0 und CL = 0. Knoten N2 hat ein CL = 1 und CSL = 2, Knoten N3 hat ein CL = 0 und CSL = 1, Knoten N4 hat ein CL = 3 und CL = 0, Knoten N5 hat ein CL = 3 und CSL = 4, Knoten N6 hat ein CL = 4 und CL = 0 und Knoten N7 hat ein CL = 0 und CSL = 3. Eine Anzahl von Teilmengen wird erzeugt. Eine Teilmenge A umfasst N1, N3 und N7, die den Knoten mit einem CL gleich Null entspricht. Eine Teilmenge B umfasst N1, N2, N3 und N7, die den Knoten mit einem CL kleiner oder gleich Eins entspricht. Die Teilmengen C, D und E sind in einer ähnlichen Art und Weise aufgebaut.
-
Wenn eine Last erhalten wird, die zu einem Prioritätsniveau von 3 gehört, kann zum Beispiel die Teilmenge D als die erste Teilmenge benutzt werden. In dieser Teilmenge sind alle Knoten außer N6 eingeschlossen. Wenn einer der Knoten N1, N2, N3 oder N7 als ein erster Knoten ausgewählt ist, wird der Knoten als der Zielknoten festgelegt. Wenn N4 oder N5 ausgewählt ist, wird das Überlastungsniveau CSL eine Wahrscheinlichkeit für die Last angegeben, die zugelassen ist, an den Knoten gesendet zu werden. Es ist deshalb in einigen Fällen möglich, dass ein Knoten mit einem Überlastungsniveau von 3 eine Last mit einem Prioritätsniveau von 3 annehmen kann. Wenn N4 oder N5 ausgewählt, aber nicht bestimmt ist, die Last anzunehmen, übernimmt der zweite Schritt.
-
Wie der Fachmann versteht, könnte die Erzeugung der Teilmengen im voraus, wie in 5, durchgeführt werden, oder die Erzeugung könnte bei der Gelegenheit stattfinden, wenn sie benötigt werden. Durch die Erzeugung der Teilmengen im voraus muss eine einfache Auswahl zwischen den vorher erzeugten Teilmengen durchgeführt werden, jedes Mal, wenn eine Teilmenge erzeugt werden soll. Information, z. B. von dem letzten ausgewählten Knoten, kann auch gespeichert werden, was in einigen Fällen nützlich sein kann, wie man in den weiteren Beschreibungen unten sieht. Aber eine Erzeugung der Teilmengen zu jeder Gelegenheit hat den Nachteil, dass man versichert, dass nur die letzte verfügbare Überlastungsniveau-Information garantiert benutzt wird.
-
In einigen Fällen muss die Teilmenge überhaupt nicht erzeugt werden, in einem eindeutigen Sinn. Es ist nur notwendig, mit einer Vorrichtung zu bestimmen, ob ein Knoten das Kriterium, zur Teilmenge zu gehören, erfüllt, oder nicht. Die Information über alle diejenigen Knoten, die zu einer sicheren Teilmenge gehören, muss nicht jedes Mal aus einer Gesamtmenge von Knoten entnommen werden. Aber ”Erzeugen einer sicheren Teilmenge” und ”Festlegen, ob des Kriterium, das zu dieser sicheren Teilmenge gehört, erfüllt ist, oder nicht” sind grundsätzlich gleich.
-
In dem zweiten Schritt ist die Teilmenge eine ”sichere”, in diesem Beispiel z. B. Teilmenge C. Alle Knoten innerhalb der Teilmenge C werden die Last annehmen, ohne die Überlastungsniveaus überprüfen zu müssen. Jeder aus dieser Teilmenge ausgewählte Knoten wird als Zielknoten für die Last festgelegt.
-
Man beachte den Spezialfall, dass N1 eine sichere Wahl nach jeder ersten Teilmenge (auch zu Teilmenge A) ist, da N1 nicht überlastet ist.
-
Es ist offensichtlich, dass andere Teilmengen erzeugt werden können, was ein ähnliches Ergebnis ergeben wird. In einer bevorzugten Ausführungsform werden alle Knoten in der ersten Teilmenge benutzt. In diesem Fall ist die ”Erzeugung” der Teilmenge trivial. In einer anderen Ausführungsform könnte die erste erzeugte Teilmenge die Differenz zwischen den Teilmengen C und D sein, d. h. nur Knoten, die ein CL von genau 3 aufweisen. Aber besonders muss aufgepasst werden, wenn es keine Knoten mit solchen Überlastungsniveaus gibt.
-
Die Auswahl eines Knotens aus einer Teilmenge ist auch von Wichtigkeit. In den meisten Anwendungen ist eine gleichmäßige Auswahlwahrscheinlichkeit vorzuziehen. 6a stell eine Möglichkeit zum Auswählen der Teilmenge B von 5 dar. Die Teilmenge umfasst vier Knoten. Alle Knoten weisen die gleiche Wahrscheinlichkeit, d. h. 0,25 auf. Jedes mal wird eine Auswahl aus dieser Teilmenge durchgeführt, wobei eine zufällige Auswahl gemäß dieser Wahrscheinlichkeiten dann leicht ausgeführt werden kann. Aber es ist offensichtlich, dass eine gewichtete Wahrscheinlichkeit auch benutzt werden kann. Knoten N2 kann zum Beispiel durch eine höhere Wahrscheinlichkeit als der Rest der Knoten gegeben sein, wenn N2 eine höhere Kapazität als der Rest aufweist, oder N2 kostengünstiger im Gebrauch ist.
-
Eine Alternative ist, eine interne Reihenfolge in der Teilmenge zu erzeugen, wenn man einheitliche Wahrscheinlichkeiten benutzt. 6b stellt eine Teilmenge B dar, und hier sind die Knoten in steigender Reihenfolge angeordnet. Ein Zeiger zeigt zu dem letzten ausgewählten Knoten, in diesem Beispiel zu N2. Das nächste Mal wird eine Auswahl aus dieser Teilmenge durchgeführt, wobei der Zeiger eine Stufe bewegt wird, d. h. zu Knoten N3. Wenn der Zeiger das Ende der Liste erreicht, wird er sie wieder vom Anfang an fortsetzen. Mit dieser Alternative muss die Teilmenge B nicht ausdrücklich, wie oben erörtert, erzeugt werden, aber der Zeiger wird am nächsten Knoten aktualisiert, der das Kriterium, zur Teilmenge zu gehören, erfüllt. Aber dies setzt voraus, dass alle Knoten in der selben festen Reihenfolge angeordnet werden könnten.
-
Es gibt mehrere Verfahren, die Belastungsniveaus herkömmlich zu messen. Die vorliegende Erfindung beruht nicht auf einem besonderen dieser Verfahren, und irgendein Überlastungs-Messverfahren, das ungefähr die Art des Überlastungsniveaus und vorzugsweise auch eines Überlastungs-Unterniveaus angibt, ist zur Benutzung möglich. Ein Beispiel würde sein, die Besetzung der Nachrichten in den Übertragungspuffern in dem MGC zu regulierten, so dass der Übertragungspuffer nach einem MG nicht überläuft. Die Regulierung wird durch den MGC durch eine Veränderung des CL-Wertes und/oder CLS-Wertes durchgeführt. Eine andere Möglichkeit würde sein, dass ein MG seine eigene Last durch Senden von CL oder CSL (oder beiden) an die verbunden MGCs reguliert. Die Regulierung wird durch den MG durch Veränderung des CL-Wertes und/oder CSL-Wertes durchgeführt. Eine dritte Möglichkeit, dies durchzuführen ist, beeinflusst durch SCCP, dass ein MG seine eigene Last durch Senden von CL an verbundene MGs reguliert. Die MGCs benutzen einen Zähler, um das CSL zu berechnen. Die Regulierung wird durch den MG durch Verändern des CL-Wertes durchgeführt.
-
Es ist vorzuziehen, wenn die Überlastungsniveaus der verschiedenen verfügbaren Knoten ab und zu aktualisiert werden. Die Aktualisierung könnte fortlaufend erfolgen, in diesem Sinn, dass, wenn sich eine Veränderung in den Überlastungsniveaus ereignet, die Veränderung unverzüglich an die Einheit, die die Lastverteilung steuert, berichtet wird. Alternativ dazu wird die Lastverteilungs-Steuereinheit unverzüglich Überlastungsniveau-Information von den verschiedenen Knoten anfordern. Wenn neue Überlastungsdaten erhalten werden, sollten die Teilmengen erneut beurteilt werden, wenn vorher erzeugte Teilmengen benutzt werden. Knoten, die ihr Überlastungsniveau verändert haben, können dann gelöscht, oder zu verschiedenen vorher erzeugten Teilmengen hinzugefügt werden.
-
Das Prioritätsniveau spielt eine zentrale Rolle in der vorliegenden Erfindung. In mobilen Telefonsystemen kann das System jeder Rufanfrage eine Priorität zuweisen, abhängig von der Art des Rufs. In einem typischen Fall wird einer Anfrage zum Aufbauen eines Rufs eines Teilnehmers innerhalb der mit dem UMTS-System verbundenen Mobilstationen, d. h. ein orientierender Ruf, ein Prioritätsniveau von 1 zugeordnet. Rufeinrichtungen, die durch eine externe Quelle angefragt werden, zum Beispiel durch einen MSC oder einen Knoten in einem anderen Netzwerk, d. h. eingehende Rufe, wird ein Prioritätsniveau von 2 zugeordnet. Diese höhere Priorität kann dadurch motiviert werden, dass ein eingehender Ruf schon Ressourcen in den verbundenen Netzwerken belegt, und diese schon belegten Ressourcen sollten dafür zugelassen werden, um nach Möglichkeit für eine nützliche Informationsübertragung benutzt zu werden. Ein eingehender Ruf hat schon verbrauchte Ressourcen, z. B. Prozessor-Kapazität, und wenn ein solcher Ruf zurückgewiesen wird, sind mehrere Ressourcen im Netzwerk ungenutzt, als wenn ein entstehender Ruf, der bis dahin weniger Kapazität verbraucht hat, zurückgewiesen wird. Sicheren Rufeinrichtungen kann auch ein Prioritätsniveau von 3 und höher zugewiesen werden, abhängig von der Art des Rufs. Zum Beispiel kann ein von einem Teilnehmer verursachter Ruf, der eine Notrufnummer gewählt hat, automatisch eine höhere Priorität gegeben werden. Solche Prioritäten werden normalerweise vom System festgelegt. Wenn ein Knoten überlastet wird, ist die erste Handlung, entstehende Rufe zurückzuweisen. Der nächste Schritt ist, eingehende Rufe zurückzuweisen, und der weitere nächste Schritt ist, auch Notfallrufe zurückzuweisen.
-
Die Erfindung nutzt die gesamte Überlastungssituation des Systems zum Verteilen von Rufen zwischen den Knoten aus. Die Oszillationen werden vermindert, und der gesamte Durchsatz wird vergrößert. Wenn keine Knoten überlastet sind, wird die Last gleich verteilt. Wenn die Intensität und Mischung (bezüglich des Prioritätsniveaus) der neuen Lasten stabil ist, oder wenn sich das Überlastungsniveau oder ein Überlastungs-Unterniveau eines Knotens verändert, dann wird die Last zu anderen Knoten mit einem höheren oder gleichen Überlastungsniveau überhaupt nicht beeinflusst. Wenn die Intensität und Mischung von neuen Belastungen stabil ist, dann ist die Last zu einem Knoten eine lineare Funktion des Überlastungs-Unterniveaus für diesen Knoten (mit anderen Bedingungen konstant). Diese letzteren Eigenschaften sind für die bevorzugten Ausführungsformen gültig, wie oben beschrieben.
-
Obwohl die beschriebenen Beispiele auf Telekommunikationssysteme gerichtet sind, ist die vorliegende Erfindung auch in anderen Nachrichtenverteilungssystemen, wie allgemeinen Datenkommunikationssystemen, anwendbar.
-
Es ist dem Fachmann verständlich, dass verschiedene Modifikationen und Veränderungen der Erfindung gemacht werden können, ohne von dem Geltungsbereich davon abzuweichen, der durch die anhängigen Ansprüche definiert wird.