DE60033149T2 - Gewährung einer verbindung in einem kommunikationsnetz - Google Patents

Gewährung einer verbindung in einem kommunikationsnetz Download PDF

Info

Publication number
DE60033149T2
DE60033149T2 DE60033149T DE60033149T DE60033149T2 DE 60033149 T2 DE60033149 T2 DE 60033149T2 DE 60033149 T DE60033149 T DE 60033149T DE 60033149 T DE60033149 T DE 60033149T DE 60033149 T2 DE60033149 T2 DE 60033149T2
Authority
DE
Germany
Prior art keywords
results
cache
traffic
connection
data
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 - Fee Related
Application number
DE60033149T
Other languages
English (en)
Other versions
DE60033149D1 (de
Inventor
Matti Kinnunen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from FI991309A external-priority patent/FI991309A/fi
Application filed by Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of DE60033149D1 publication Critical patent/DE60033149D1/de
Publication of DE60033149T2 publication Critical patent/DE60033149T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/788Autonomous allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf eine Verbindungszulassungssteuerung (CAC) in Kommunikationsnetzwerken, speziell in ATM-basierten Breitbandnetzwerken.
  • Hintergrund der Erfindung
  • ATM (asynchrones Übertragungsverfahren; "Asynchronous Transfer Mode") ist eine bekannte verbindungsorientierte Paketvermittlungstechnologie, die durch die Internationale Organisation für Telekommunikationsstandardisierung ITU-T als die Zielübertragungsverfahrenslösung zum Implementieren eines Breitband-Multimedianetzwerks (B-ISDN) ausgewählt wurde. In diesen Netzwerken sind viele Verkehrsquellen diskontinuierlich, wobei die zu manchen Momenten benötigte Übertragungskapazität hoch ist, und die in einem anderen Moment benötigte Kapazität gering ist. Diskontinuitäten können als ein Phänomen beschrieben werden, wobei ein Satz von Zellen (eine Häufung) in kurzen Intervallen ankommt, und der folgende Satz (Häufung) nach einer relativ langen Zeit ankommt. Weil verschiedene Verbindungen verschiedene Kapazitäten benötigen, und die Anforderungen schnell variieren, wird ein statisches Multiplexen in einem ATM-basierten Netzwerk verwendet. Die statischen Charakteristiken von diskontinuierlichen Verkehrsquellen werden bei einem statischen Multiplexen verwendet: wenn ein großer Satz von Verkehrsquellen kombiniert wird, wobei sich der kombinierte Verkehr stabiler verhält als die individuellen Quellen, und obwohl die Übertragungsgeschwindigkeit einer individuellen Verkehrsquelle variiert, ist die kombinierte Übertragungsgeschwindigkeit von gegenseitig unabhängigen individuellen Verkehrsquellen nahezu konstant. Durch Verwenden von statistischen Multiplexen wird es ermöglicht, mehr Verbindungen mit den gleichen Ressourcen zu versorgen, d.h. die Anwendungsgeschwindigkeit des Netzwerkes kann erhöht werden.
  • Trotz statistischem Multiplexen treten immer noch Verstopfungen und Überlastungen in dem Netzwerk auf Grund von sowohl unvorhersagbarer statistischer Variationen des Verkehrs als auch Fehlersituationen, die in dem Netzwerk auftreten, auf. Da es unmöglich ist, die bereitzustellenden Dienste, das durch die Dienste überbrachte Verkehrsvolumen und die exakten Charakteristiken der Verkehrsquellen mit ausreichender Genauigkeit zu kennen, ist das Auftreten von Überlastungen in einem Netzwerk unvermeidbar. Der Zweck einer Verkehrs- und Überlastungssteuerung soll das Netzwerk und dem Nutzer schützen, so dass die gewünschte Qualität eines Dienstes erreicht werden kann.
  • Eine Verkehrssteuerung zielt darauf ab, das Auftreten von Überlastungssituationen vorzubeugen, während eine Überlastungssteuerung auf in dem Netzwerk erfasste Überlastungssituationen reagiert. Von dem Standpunkt der Dienstqualität (QoS) sind die Verkehrssteuerfunktionen, die versuchen, Überlastungssituationen im Vorfeld zu vermeiden am wichtigsten, wobei das wichtigste Vermeidungs-Verkehrsverfahren davon die Verbindungszulassungssteuerung (CAC: "Connection Admission Control") ist. CAC wird als der Satz von Maßnahmen definiert, die durch das Netzwerk während der Anruf-(virtuelle Verbindung)-Aufbauphase, oder während der erneuten Anruf-Übertragungsphase ergriffen werden, um zu bestimmen, ob eine Verbindungsanfrage akzeptiert werden kann oder zurückgewiesen wird. Eine CAC akzeptiert eine Verbindung nur, wenn ausreichende Ressourcen in jeder nachfolgenden Verbindung in dem Kreis verfügbar sind, und wenn die neue Verbindung die Qualität der Dienste von existierenden Verbindungen nicht nachteilig beeinflusst.
  • Es sind verschiedene unterschiedliche Verfahren zum Implementieren von einer CAC bekannt. Diese Verfahren basieren entweder auf Verkehrsparameter, die durch den Nutzer festgelegt werden, oder auf in dem Netzwerkelement stattfindende Verkehrsmessungen. Es ist möglich, die Dienstqualität oder die Kapazitätsanforderung, die erwartet werden kann, gemäß Verkehrsparametern abzuschätzen, entweder mit der Hilfe von zuvor berechneten Tabellen, wie bei als "indirekt" bezeichnete Verfahren, oder durch Berechnen in Echtzeit, basierend auf in der Verbindungsanfrage bereitgestellten Verkehrsparametern, als "direkte" Verfahren bezeichnet.
  • Die durch das ATM-Forum definierten Verkehrsparameter die die inhärenten Charakteristiken einer Verkehrsquelle beschreiben, die eine Verbindung anfragt, sind: eine Spitzenzellrate (PCR), eine aufrechtzuerhaltende Zellrate (SCR), eine maximale Diskontinuitätsgröße (MBS) und eine minimale Zellrate (MCR).
  • Verschiedene Voraussetzungen, von denen zumindest die, sich voneinander unterscheiden, müssen für den CAC- Algorithmus, der die Akzeptanz einer Verbindungsanfrage bestimmt, eingestellt werden. Ein CAC-Algorithmus sollte z.B. so allgemein wie möglich im Sinne seiner Anwendbarkeit zum Verwalten von Verkehrsquellen einer breiten Anzahl von verschiedenen Typen sein. Der Algorithmus muss ebenso einfach genug sein, um z.B. in Echtzeit angewendet werden zu können, so dass er keinen Flaschenhals darstellt, der die Verarbeitungskapazität der Vermittlung darstellt, der die Anrufverarbeitungskapazität einschränkt. Andererseits sollte der Algorithmus sehr effizient sein, um die Netzwerkressourcen optimal zu nutzen, und eine gleiche Behandlung von Verbindungen von verschiedenen Typen zu garantieren.
  • Hochentwickelte und effiziente CAC-Algorytmen tendieren dazu, sehr rechenintensiv zu sein. Es ist wünschenswert, dass der CAC-Algorithmus im Voraus das Ausmaß der von den Verbindungen benötigten Ressourcen berechnet. Die CAC würde dann dazu fähig sein, schneller zu entscheiden, ob eine neue Verbindung akzeptiert werden kann oder nicht. Jedoch ist es unmöglich, im Vorfeld die Verkehrssituation zu der Ankunftszeit einer neuen Verbindungsanfrage zu wissen. Mit anderen Worten ist es unmöglich, im Vorfeld die existierenden Verbindungen und deren Typen, Verkehrsparameter und die Qualität von Dienstvoraussetzungen zu wissen. Daher kann die CAC nicht im Vorfeld oder offline die von den zu dem Zeitpunkt einer neuen Verbindungsanfrage existierenden Verbindungen benötigen Ressourcen berechnen.
  • Wie vorstehend angedeutet, wird das Kapazitätserfordernis von einer zuvor berechneten Tabelle auf Basis der in der Verbindungsanfrage enthaltenden Verkehrsparameter ausgesucht, wenn indirekte Verfahren verwendet werden.
  • Das von der Tabelle erhaltene Ergebnis wird anschließend an das Kapazitätserfordernis von existierenden Verbindungen hinzugefügt um zu bestimmten, ob die Verbindungsanfrage akzeptiert werden kann. Daher ist die Idee, die hinter diesem Verfahren steht, die Echtzeitberechnung, die bei der Entscheidungsfindung benötigt wird, zu minimieren.
  • Ein Verfahren dieser Art ist in Dokument WO 9841052 A1 offenbart.
  • Der Nachteil dieser Verfahren ist, dass die in dem Netzwerk verwendeten Verkehrsparameter und die für jeden Parameter möglichen Werte im Vorfeld bekannt sein müssen, wenn die Tabellen gebildet werden. Deshalb können diese Verfahren nicht flexibel an die verschiedenartig konstant veränderlichen Netzwerkumgebungen angepasst werden. Dieser Nachteil wird bei zukünftigen Netzwerken verschärft, wenn neue Anwendungen und neue Endgeräte-Ausstattungen vermutlich Verkehr mit unvorhersehbaren Charakteristiken erzeugen.
  • Zusammenfassung der Erfindung
  • Der Gegenstand der Erfindung ist, die vorstehend erwähnten Nachteile zu beseitigen und ein Verfahren zu schaffen, das eine schnelle Verbindungserlaubnis ohne der Notwendigkeit, Tabellen in den Netzwerkelementen zu aktualisieren, wenn neue Anwendungen oder neue Endgeräte in dem Netzwerk eingeführt werden, ermöglicht.
  • Dieses Ziel kann durch Verwenden der in den unabhängigen Patentsprüchen definierten Lösung erreicht werden.
  • Die grundlegende Idee dieser Erfindung ist, das vorstehend genannte direkte Verfahren, d.h. Echtzeitberechnung mit Zwischenspeichern einer bestimmten Anzahl von vorhergehenden Verbindungsanfragen und deren Resultate, und Verwenden der zwischengespeicherten Informationen, wenn eine erneute Verbindungsanfrage gleich einer der vorhergehenden angekommenen Anfragen ist, zu kombinieren. Daher ist die Idee, die Ergebnisse von diesen Berechnungen zwischenzuspeichern, die wahrscheinlich erneut gemacht werden, und die ohne Kenntnis der gegenwärtig existierenden Verbindungen berechnet werden können. Auf diese Weise kann eine CAC-Entscheidungsfindung signifikant beschleunigt werden. Jedes Mal, wenn eine CAC eine neue Verbindungsanfrage empfängt, prüft diese in ihrem Zwischenspeicher, ob eine ähnliche Verbindungsanfrage in jüngerer Vergangenheit aufgetreten ist, wenn dies der Fall ist, verwendet die CAC die zwischengespeicherten Ergebnisse, und wenn nicht, verwendet die CAC die entsprechenden Algorithmen, die Ergebnisse zu berechnen.
  • Mit Hilfe der Lösung gemäß der Erfindung kann eine CAC-Entscheidungsfindung ohne der Notwendigkeit, die Verkehrsparameter im Vorfeld zu wissen, oder extra Messungen durchzuführen, wenn sich die Netzwerkumgebung ändert, beschleunigt werden.
  • Innerhalb eines einzelnen Netzwerkelements, das verschiedene Untereinheiten beinhaltet, ist es oftmals vorzuziehen, die CAC so zu implementieren, dass die Entscheidung, ob eine Verbindungsanfrage akzeptiert werden kann, separat für jede Untereinheit getroffen wird. Daher kann jede Untereinheit mit einem eigenen CAC-Vorgang ausgestattet sein, um über die Akzeptanz für den betroffenen Teil der Untereinheit zu entscheiden, wobei die Verbindungsanfrage verschiedene CAC-Vorgänge (d.h. verschiedene Untereinheiten) durchlaufen muss, bevor das gesamte Netzwerkelement diese akzeptieren kann. Bei einem bevorzugten Ausführungsbeispiel der Erfindung, das für diese Art einer Implementierung gedacht ist, sendet eine CAC-Prozesseinheit gemeinsam mit den Eingabedaten, ein Markierungszeichen das angibt, ob der Vorgang zwischengespeicherte Resultate gefunden hat, und einen Bezeichner, der die in dem Zwischenspeicher gespeicherten Resultate bezeichnet, an die nächste CAC-Prozesseinheit. Auf diese Weise muss nur die erste von den verschiedenen CAC-Einheiten nach Resultaten in dem Zwischenspeicher suchen. Dies beschleunigt eine CAC für das gesamte Netzwerk, und die Rechenintensität weniger anspruchsvoll.
  • Kurze Beschreibung der Zeichnungen
  • Im Folgenden werden die Erfindung und ihre bevorzugten Ausführungsbeispiele in näherem Detail mit Bezug auf in den anhängenden Zeichnungen gezeigten Beispielen beschrieben, worin gilt:
  • 1 ist ein Blockdiagramm einer Netzwerkumgebung, in dem das Verfahren angewendet werden kann,
  • 2 veranschaulicht die Funktionsblöcke, die das Verfahren gemäß der Erfindung in einer Vermittlung ausführen,
  • 3 veranschaulicht das grundlegende Ausführungsbeispiel der zum Zwischenspeichern verwendeten Datenstruktur,
  • 4 veranschaulicht ein weiteres Ausführungsbeispiel der in 3 gezeigten Datenstruktur,
  • 5 veranschaulicht eine Vermittlung, bei der eine Verbindungserlaubnissteuerung über verschiedene aufeinander folgende CAC-Prozesse durchgeführt wird, und
  • 6 veranschaulicht die Funktion von aufeinanderfolgenden CAC-Prozessen.
  • Detaillierte Beschreibung der Erfindung
  • Das ATM-Forum hat fünf verschiedene Dienstklassen spezifiziert, die sich auf Verkehrscharakteristiken und die Qualität von Dienstanforderungen im Netzwerkverhalten beziehen.
  • Diese Dienstklassen sind: eine konstante Bitrate (CBR), eine echtzeitvariable Bitrate (rt-VBR), eine nichtechtzeitvariable Bitrate (nrt-VBR), eine verfügbare Bitrate (ABR) und nicht spezifizierte Bitraten (UBR). Jede Klasse stellt Verbindungen da, die homogene Verkehrsmustercharakteristiken und QoS-Anforderungen aufweisen. Die vorstehend angemerkten Verkehrsparameter werden zusammen mit den sogenannten QoS-Parametern verwendet, die Dienstklassen zu definieren. Die QoS-Parameter sind: Zellverzögerungsvariation (CDV), maximale Zellübertragungsverzögerung (Max CTD) und Zellenverlustverhältnis (CLR).
  • 1 veranschaulicht ein Beispiel der Netzwerkumgebung, in der die gegenwärtige Erfindung implementiert werden kann. Das Netzwerk weist eine Vielzahl von zwischengeschalteten (ATM) Vermittlungen auf, die CAC-Einheiten (1) besitzen, die die vorstehend beschriebene CAC-Prozedur implementieren. Daher ermöglichen die CAC-Einheiten, dass von einem der Verkehrsquellen (TE1 bis TE5) empfangene Verbindungsanfragen nur akzeptiert werden, wenn ausreichende Ressourcen verfügbar sind, um die Verbindung mit ihrer erforderten QoS aufzubauen, ohne die QoS von existierenden Verbindungen herabzusetzen. Wenn eine Verbindungsanfrage in einem Zugangsknoten des Netzwerkes ankommt, bestimmt der Knoten die Parameter, die die Verbindungen beschreiben, oder die Quelle, und gibt diese als eine Eingabe an die CAC-Einheit weiter. Eine von einer Verkehrsquelle empfangene Verbindungsanfrage umfasst üblicherweise mindestens die benötigte Dienstklasse und die Verkehrsparameter, die die Quelle beschreiben, die in Verbindung mit dem Endgerät TE3 in 1 gezeigt wird. Daher wird mindestens ein Teil der von der CAC-Einheit benötigten Eingabeinformationen in der Regel mit der Verbindungsanfrage empfangen. Ein Teil der Informationen kann in dem Netzwerkelement vorgespeichert oder berechnet werden, und ein Teil kann von außerhalb der Verkehrsquelle empfangen werden, z.B. von der Netzwerkverwaltung.
  • 2 ist ein Blockdiagramm der CAC-Einheit gemäß der gegenwärtigen Erfindung, das den Betrieb der Einheit veranschaulicht. Verschiedene Schritte des Betriebes sind mit eingekreisten Zahlen 1 bis 8 markiert. Die CAC-Einheit umfasst einen Hauptprogrammblock MB, der die Eingabeinformationen (wie etwa die benötigte Dienstklasse und die die Quelle beschreibenden Verkehrsparameter) empfängt und entscheidet, ob die Anfrage akzeptiert oder zurückgewiesen wird. Daher gibt der Hauptprogrammblock eine "JA-" oder "NEIN-" Antwort als Reaktion auf die ihm zugeführten Eingabeinformationen zurück.
  • Die CAC-Einheit umfasst weiterhin einen Zwischenspeicherblock CB zum zwischenspeichern vorhergehender Anfragen und deren berechneter Ergebnisse, sowie einen Rechenblock CAB zum Durchführen einer Echtzeitberechnung, wenn zwischengespeicherte Ergebnisse nicht verfügbar sind. Wenn eine Verbindungsanfrage ankommt (Schritt 1), empfängt der Hauptprogrammblock seine Eingabeinformationen und gibt diese an den Zwischenspeicherblock weiter (Schritt 2). Auf Basis dieser Eingabeinformationen sucht der Zwischenspeicherblock die Ergebnisse (wie etwa die virtuelle Bandbreite) aus seinem Speicher. Wenn der Zwischenspeicherblock die Ergebnisse findet, gibt er (Schritt 3) die Informationen an den Hauptprogrammblock, der auf Basis der Ergebnisse und den existierenden Verbindungen die Entscheidung trifft. Wenn z.B. das Ergebnis ist, dass die virtuelle Bandbreite durch die angefragte Verbindung benötigt wird, fügt der Hauptprogrammblock diese an die virtuellen Bandbreiten von existierenden Verbindungen hinzu, um eine Schätzung der gesamten benötigten Bandbreite zu bilden, wenn die neue Verbindung zugelassen wird. Anschließend lässt der Hauptprogrammblock die Verbindungsanfrage zu, wenn die Gesamtbandbreite kleiner als die Kapazität der Übertragungsverbindung (oder dem virtuellen Pfad) ist, andererseits wird die Anfrage zurückgewiesen (Schritt 8).
  • Auf diese Weise kann die Anfrage nur durch den Hauptprogrammblock und dem Zwischenspeicherblock verarbeitet werden. Wenn jedoch der Zwischenspeicherblock keine Ergebnisse in seinem Speicher findet, gibt er die Verkehrsparameter an den Rechnungsblock weiter (Schritt 4), der die Ergebnisse unter Verwenden der Parameter als die Eingabeinformationen berechnet, und diese Ergebnisse dem Zwischenspeicherblock zuführt (Schritt 5). Anschließend speichert der Zwischenspeicherblock die Ergebnisse zusammen mit den zugehörigen Eingabeinformationen in seinem Speicher (Schritt 6), so dass, wenn eine ähnliche Verbindungsanfrage in naher Zukunft ankommt, er das Ergebnis in seinem Speicher finden kann. Nachdem die Informationen gespeichert sind, gibt der Zwischenspeicherblock die Ergebnisse an den Hauptprogrammblock weiter (Schritt 7), der anschließend die Entscheidung auf die vorstehend beschriebene Weise trifft, und die Anfrage akzeptiert oder zurückweist (Schritt 8).
  • Wie vorstehend erörtert, empfängt der Hauptprogrammblock, wenn eine neue Verbindungsanfrage von dem Netzwerk ankommt, Parameter, die die Verbindung oder die Quelle, wie etwa die Dienstklasse und die Werte der dieser Klasse zugehörigen Verkehrsparameter, beschreiben. Der Zwischenspeicherblock CB umfasst eine in 3 dargestellte Datenstruktur. In dieser Datenstruktur gibt es zum einen eine Dienstklassentabelle oder Zeiger-SC, die ein Element für jede in dem Netzwerk verwendete Dienstklasse umfasst. Jedes Element enthält einen Zeiger, der auf ein klassenspezifisches Zwischenspeicher-Datenfeld zeigt. In diesem Beispiel ist die Anzahl von Klassen Li (i = 1...n) n, wonach ebenfalls n Zwischenspeicherdatenbereiche CAi existieren. Jeder klassenspezifische Zwischenspeicherdatenbereich enthält eine bestimmte Anzahl von Elementen, wobei jedes Element einen Zeiger enthält, der auf eine verbundene Liste LL zeigt. Typischerweise ist die Länge jedes Zwischenspeicherdatenbereiches zwischen 10 und 20, d.h. 10 < Ci ≤ 20. Die Länge von zwei oder mehr Zwischenspeicherdatenbereichen kann gleich sein, z.B. können alle Zwischenspeicherdatenbereiche 20 Elemente umfassen.
  • Jedes Element eines individuellen Zwischenspeicherdatenbereiches zeigt auf seine eigene verbundene Liste LL, d.h. es gibt eine zugeordnete verbundene Liste für jedes Zwischenspeicherdatenbereichelement. Jede verbundene Liste enthält eine bestimmte Anzahl von Dateneinheiten DU, wobei jede davon mit Ausnahme der letzten einem der Verkehrsparameter in dieser Klasse entspricht. In dem Beispiel von 3 entsprechen die ersten Dateneinheiten in jeder verbundenen Liste einer Spitzenzellrate (PCR), die zweiten Dateneinheiten einer aufrechtzuerhaltenden Zellrate (SCR), etc. Die Anzahl von Dateneinheiten in einer individuellen Liste hängt von den fraglichen Verkehrsklassen ab. In dem Beispiel von 3 umfassen die verbundenen Listen der ersten Dienstklasse m1 Parameter, die verbundenen Listen der zweiten Dienstklasse m2 Parameter, etc, und die verbundenen Listen der n-ten Dienstklasse mn Parameter. Jede Dateneinheit, mit Ausnahme der letzten, enthält zwei Elemente, so dass das erste Element einen Wert für den bestimmten Verkehrsparameter enthält, und das zweite Element einen Zeiger auf das nächste Element in der Liste enthält.
  • Die letzte Dateneinheit in jeder verbundenen Liste umfasst die Ergebnisse für die bestimmte Kombination von Parameterwerten in dieser verbundenen Liste. Mit anderen Worten umfasst die letzte Dateneinheit die von dem Rechnungsblock erhaltenen Ergebnisse, wenn die Verkehrsparameter in dieser Liste als Eingabedaten für die Berechnung verwendet werden. In dem Beispiel von 3 umfassen die Ergebnisse eine bestimmte Anzahl von Werten Ri in jeder Klasse. Die Ergebnisse können einen Wert für eine oder mehrere Quantitäten umfassen, wie etwa eine Bandbreite, eine Verzögerung, Zwischenspeicher-Speichererforderniss, etc.
  • Bei der Aufbauphase des Netzwerkelements kann die Datenstruktur von 3 leer sein. Wenn die erste Verbindungsanfrage ankommt, führt der Hauptblock die Dienstklasseninformationen und die Verkehrsparameter dem Zwischenspeicherblock zu. Da der Zwischenspeicherblock die Ergebnisse aus seiner Datenstruktur (Speicher) nicht finden kann, ruft er eine klassenspezifische Subroutine CALC_Li in dem Rechenblock auf, und gibt die Verkehrsparameter der Anfrage der Subroutine ein. Die Subroutine gibt die Ergebnisse an den Zwischenspeicherblock zurück, die anschließend die Parameterwerte und die Ergebnisse in eine der leeren Listen, die zu dieser Dienstklasse gehören, speichert. Der Zwischenspeicherblock sendet anschließend die Ergebnisse an den Hauptprogrammblock, der die Resultate verwendet, die Entscheidung zu berechnen. Auf diese Weise wird die Datenstruktur nach einer bestimmten Anzahl von Anfragen, die für jede Dienstklasse angekommen sind, aufgefüllt.
  • Alternativ kann die Datenstruktur mit den am meisten verbreiteten Werten von Verkehrsparametern und deren vorgerechneten Ergebnissen vor Inbetriebnahme des Netzwerkelementes aufgefüllt werden.
  • Daher ist die Datenstruktur von 3 in dem normalen Betriebszustand der CAC-Einheit mit Parameterwerten und Ergebnissen gefüllt. Wenn eine Verbindungsanfrage ankommt, startet die Suche in dem Zwischenspeicherblock durch Prüfen der Dienstklasse der Verbindungsanfrage. Darauf basierend wird das Element von Datenfeld SC, das dieser bestimmten Datenklasse entspricht, gelesen. Der Zeiger in diesem Element zeigt auf eines der Zwischenspeicherdatenfelder, das anschließend für einen ähnlichen Parametersatz durchsucht wird. Bei dem ersten Mal kann das Durchsuchen des klassenspezifischen Zwischenspeicherdatenbereichs z.B. bei dem ersten Element des Datenbereiches beginnen. Das nächste Mal kann das Durchsuchen bei dem zweiten Element beginnen, etc. Dennoch fährt die Suche von dem Element des Zwischenspeicherdatenbereiches zu der verbundenen Liste fort, die von diesem Element adressiert wird, und anschließend die Liste entlang, solange die Werte von den Verkehrsparametern in der Liste mit den Werten der entsprechenden Verkehrsparameter in der Verbindungsanfrage übereinstimmen. Wenn der Parameterwert in der Liste sich von dem Wert des entsprechenden Verkehrsparameters in der Anfrage unterscheidet, springt die Suche zu dem nächsten Element in dem Zwischenspeicherdatenbereich, und beginnt damit, die Liste, die mit diesem Element verbunden ist, zu durchlaufen. Letztlich werden entweder die Ergebnisse am Ende der Liste mit einem ausreichend ähnlichen Parametersatz gefunden, oder alle Listen wurden ohne einen Treffer durchsucht. In dem letzen Fall berechnet der Rechenblock die Ergebnisse für den Hauptprogrammblock.
  • Die Suche in der Datenstruktur kann wie vorstehend beschrieben horizontal durchgeführt werden, d.h. eine Liste wird geprüft, bis entweder ein Parameter in der Liste und der entsprechende Parameter in der Anfrage sich unterscheiden, oder das Ende der Liste erreicht wird. Eine weitere Alternative ist, vertikal vorzugehen, so dass die ersten Dateneinheiten der Listen in dieser bestimmten Klasse zuerst untersucht werden, dann die zweiten Dateneinheiten in dieser Liste, in der der Wert des ersten Parameters mit dem des Parameters in der Anfrage übereinstimmt, etc.
  • Wenn die Datenstruktur voll ist, wird sie auf FIFO-Basis aktualisiert, d.h. wenn die gegenwärtigen Ergebnisse und Parameter in der Liste gespeichert werden, die von dem Zwischenspeicherdatenelement i adressiert wird, werden das nächste Mal die Ergebnisse und Parameter in der Liste gespeichert, die von Element i + 1 adressiert wird etc. Auf diese Weise wird der gesamte Inhalt jeder Klasse innerhalb einer bestimmten Periode aktualisiert. Eine weitere Alternative ist zu überwachen, wie häufig jeder listenspezifische Resultatsatz verwendet wird, und diese Sätze, die am wenigsten häufig verwendet werden, zu ersetzen.
  • 4 veranschaulicht ein weiteres Ausführungsbeispiel der Datenstruktur in dem Zwischenspeicherblock. Dieses Ausführungsbeispiel basiert auf der Beobachtung, dass ein bestimmter Verkehrsparameter eine begrenzte Anzahl (N) von möglichen Werten pro Klasse besitzen kann, wobei dieser Parameter aus der Liste entnommen werden kann, und ein separates Parameterdatenfeld kann für diesen Parameter gebildet werden. Die Zellenverlustrate (CLR) ist z.B. ein Parameter, der höchstens 20 verschiedene Werte in einer einzigen Dienstklasse besitzt. Hierfür kann die Struktur ein separates Datenfeld CLR Ai (i = 1...n) für jede der Verkehrsklassen besitzen (zwei davon sind in der Figur gezeigt). Die Anzahl Ni von Elementen in einem individuellen Datenfeld entspricht der Anzahl von verschiedenen Werten einer Zellenverlustrate in dieser Klasse.
  • In diesem Fall wird die Zellverlustrate, die in der Verbindungsanfrage enthalten ist, ohne jeden Vergleich gelesen, und die Suche springt zu dem Element, das der fraglichen Dienstklasse und der Zellenverlustrate in der Anfrage entspricht. Wenn z.B. die Dienstklasse L2 ist, und die Zellenrate 10–6 ist, springt die Suche direkt zu dem sechsten Element (das in diesem Beispiel angenommen wird, dem Wert 10–6 zu entsprechen) in dem Datenfeld der Klasse L2 (wie in der Figur gezeigt wird). Jedes Element in dem Datenfeld umfasst einen Zeiger, der den Anfang der verbundenen Listen bildet. Die Listen sind ähnlich denen in dem ersten Ausführungsbeispiel, außer dass jede Liste eine Dateneinheit weniger umfasst, weil die Dateneinheiten, die der Zellenverlustrate entsprechen, von diesen Listen entfernt wurden.
  • In dem Ausführungsbeispiel von 4 wird ein Vergleich pro geprüfter Liste eingespart, als im Vergleich mit dem Ausführungsbeispiel von 3. Jedoch ist der Nachteil des Ausführungsbeispiels von 4, dass die Anzahl von Listen N-Fach ist, da separate Listen für jede der Zellenverlustraten-Werte existieren müssen. Folglich beträgt das Speicherplatzerfordernis das N-Fache als im Vergleich mit dem Ausführungsbeispiel von 3 (die Anzahl von verschiedenen Zellenverlustraten-Werte kann in verschiedenen Klassen variieren, wobei das Speicherplatzerfordernis nicht exakt das N-Fache beträgt).
  • In der vorstehenden Beschreibung wurde angenommen, dass eine CAC-Einheit oder ein CAC-Prozess die Verbindungserlaubnis innerhalb der Vermittlung erledigt. Es ist jedoch ebenso möglich, die Verbindungserlaubnissteuerung als eine/n "mehrstufige/n"-Einheit oder -Prozess gemäß der Architektur der Vermittlung zu implementieren, so dass es eine CAC-Einheit/-Prozess für jede "Stufe" oder Untereinheit der Vermittlung gibt. 5 veranschaulicht dies, indem eine gewöhnliche Vermittlungsarchitektur gezeigt wird. Teilnehmer werden mit dem Vermittlungsnetzwerk SN oder mit einem Multiplexer MUX über eine Teilnehmerleitungseinheit SLU verbunden. Multiplexer werden zum lokalen Zusammenführen von Teilnehmerverkehr innerhalb der Vermittlung verwendet. Die Vermittlung mit anderen Vermittlungen werden über Fernmodule TM verbunden. Innerhalb der Vermittlung kann die gesamte Verbindungserlaubnis anstatt einem CAC-Prozess mit Hilfe von vorstehend beschriebenen verschiedenen aufeinander folgenden CAC-Prozesseinheiten implementiert werden, so dass jede Einheit die Verbindungserlaubnissteuerung in einer bestimmten Stufe oder Untereinheit der Vermittlung erledigt. Folglich kann in einer Vermittlung gemäß 5 die gesamte Verbindungserlaubnissteuerung z.B. so implementiert werden, dass die erste CAC-Prozesseinheit (1A) eine Verbindungserlaubnissteuerung in den Teilnehmerleitungseinheiten SLU behandelt, die zweite CAC-Einheit (1B) eine Verbindungserlaubnis in den/dem Multiplexer/n behandelt, und die dritte CAC-Einheit (1C) eine Verbindungserlaubnissteuerung in den Fernmodulen behandelt. Daher kann eine Verbindungsanfrage in Abhängigkeit auf die Implementierung verschiedene CAC-Prozesse innerhalb einer Vermittlung durchlaufen müssen. Die Anfrage wird akzeptiert, wenn jeder CAC-Prozess diese akzeptiert hat, ansonsten wird sie zurückgewiesen.
  • Wenn die vorstehend beschriebene Verbindungserlaubnissteuerung auf eine direkte Weise in einer "mehrstufigen" CAC-Implementierung verwendet wird, muss jeder CAC-Prozess eine Zwischenspeichersuche durchführen, um zu überprüfen, ob er zuvor ähnliche Anfragen bedient hat. Dieser rechenintensiv aufwendige Prozess wird in einem bevorzugten Ausführungsbeispiel der Erfindung vermieden, das nachstehend erörtert wird.
  • Der Einfachheit halber wird angenommen, dass das Netzwerkelement zwei CRC-Einheiten umfasst, so dass eine Verbindungsanfrage zwei nachfolgende CAC-Prozesse A und B, innerhalb des Netzwerkelementes durchlaufen muss, bevor sie akzeptiert werden kann. 6 veranschaulicht die Funktion dieser beiden Einheiten/Prozesse. Verschiedene Schritte des Betriebes sind mit umkreisten Nummern versehen, so dass die Nummern 1 bis 6 die Schritte veranschaulichen, die mit einer Verbindungsanfrage verbunden sind, die zum ersten Mal ankommt, und die Nummern 10 bis 15 die Schritte veranschaulichen, die zu einer späteren Verbindungsanfrage gehören, für die die Ergebnisse bereits in dem Zwischenspeicher gefunden werden können. Wie man in der Figur sehen kann, besitzt jeder Prozess einen eigenen Zwischenspeicher, der gleich den vorstehend beschriebenen Zwischenspeichern ist.
  • (In der Figur wurden die verbundenen Listen gekürzt, damit zwei aufeinanderfolgende Zwischenspeicher auf das Papier passen. Der Einfachheit halber wird weiterhin in der Figur angenommen, dass jeder Prozess den vorstehend beschriebenen Hauptprogrammblock MB und den Rechenblock CAB umfasst).
  • Wenn eine Verbindungsanfrage bei Prozess A zum ersten Mal ankommt (Schritt 1), berechnet Prozess A die Ergebnisse, und führt die Ergebnisse wie vorstehend beschrieben seinem Zwischenspeicherblock zu (Schritt 2). In diesem Ausführungsbeispiel speichert jedoch Prozess A zusammen mit den Ergebnissen einen Index, der die fraglichen verbundenen Listen angibt (d.h. die verbundenen Listen, in denen die Ergebnisse gespeichert sind). In dem Beispiel von 6 entspricht die erste verbundene Liste dem Indexwert 1, die zweite verbundene Liste den Indexwert 2, etc, und die letzte verbundene Liste entspricht dem Indexwert Ii, der gleich der Gesamtanzahl von Elementen in all den Zwischenspeicherdatenfeldern ist. Daher speichert Prozess A ein Register (i, A1...Ak1) in der letzten Dateneinheit von einer der verbundenen Listen, wobei i der Index ist, der die verbundene Liste angibt, wo das Register gespeichert ist, und A1,...Ak1 die von dem Rechenblock erhaltenen Ergebnisse sind. In diesem Fall entspricht i eins, da dies die erste von A empfangene Verbindungsanfrage ist. Wenn Prozess A anschließend die Verbindungsanfrage akzeptiert, gibt er die Anfrage an Prozess B weiter (d.h. an die CAC-Einheit 1B), indem eine Nachricht RM1 an Prozess B gesendet wird (Schritt 3). Diese Nachricht umfasst ein Feld F1, das den Index enthält, den Prozess A verwendet, wenn diese Anfrage verarbeitet wird, und ein Feld F2 enthält, das ein Markierungszeichen enthält, das angibt, ob Prozess A die Ergebnisse in seinem Zwischenspeicher gefunden hat. In diesem Fall enthält das Feld F2 einen Wert F (unwahr), da Prozess A diese Ergebnisse berechnen musste. Die Nachricht umfasst ebenso andere Daten, wie etwa die Dienstklasse und Verkehrsparameter (d.h. die von einer CAC-Einheit benötigten Eingabeinformationen, die in Verbindung mit 2 behandelt wurden).
  • Wenn Prozess B (CRC-Einheit 1B) die Nachricht RM1 empfängt, aktualisiert er seinen Zwischenspeicher auf die gleiche Weise wie Prozess A (Schritt 4). Die berechneten Ergebnisse (B1,...Bk1) werden zusammen mit dem empfangenen Index in der verbundenen Liste, die dem Index entspricht, gespeichert (d.h. in diesem Fall in der ersten verbundenen List). Prozess B speichert weiterhin einen Zeiger auf das gespeicherte Register von Ergebnissen (1, B1,...Bk1) in Tabelle T1. Diese Tabelle wurde zuvor gebildet, bevor das Netzwerkelement in Betrieb genommen wurde, um in Verbindung mit Prozess B zu stehen, und ist leer, bevor die erste Verbindungsanfrage ankommt. Die Tabelle enthält eine Zelle (CL) für jede verbundene Liste, und wird durch die Indizes bezeichnet, die Prozess B von Prozess A empfängt. Wenn die Tabelle voll ist, enthält jede Zelle einen Zeiger auf das Register von Ergebnissen in dem Zwischenspeicher von Prozess B. Daher wird der Zeiger PO1 auf das Register von Ergebnissen (1, B1,...Bk1) in der dem Indexwert 1 entsprechenden Zelle gespeichert, da der von Prozess A empfangene Index in diesem Fall eins war (Schritt 5). Anschließend akzeptiert oder weist er die Verbindungsanfrage zurück (Schritt 6). Da der Zeiger auf das Register von Ergebnissen zeigt, ist der Wert des Zeigerwortes der gleiche wie der Wert des Zeigerwortes in der vorletzten Dateneinheit der verbundenen Liste, wo das Register von Ergebnissen gespeichert wurde.
  • Wenn eine ähnliche Anfrage nochmals ankommt (Schritt 10), findet Prozess A die Ergebnisse in seinem Zwischenspeicher (Schritt 11). Anschließend sendet er eine Nachricht (RM2) an Prozess B (Schritt 12), wobei die Nachricht in Feld F1 den Wert des in dem Zwischenspeicher gefundenen Index und einen Wert T (wahr) im Feld F2 umfasst, wobei Letzterer nun Prozess B angibt, dass Prozess A die Ergebnisse in seinen Zwischenspeicher gefunden hat. Wenn Prozess B diesen Wert in Feld F2 empfängt, weiß er, dass er die Ergebnisse direkt mit Hilfe des Zeigers, der dem in Feld F1 der Nachricht empfangenen Index entspricht, erhalten wird. Hierfür liest er zuerst den dem Indexwert 1 entsprechenden Zeiger (Schritt 13), und anschließend die Ergebnisse aus dem Speicherbereich, der durch diesen Zeiger angegeben wird (Schritt 14). Danach akzeptiert oder weist Prozess B die Verbindungsanfrage zurück (Schritt 15).
  • Wenn die Zwischenspeicher voll sind, und Prozess A einen Eintrag in seinen Zwischenspeicher überschreibt, verwendet er den Index, der der fraglichen verbundenen Liste entspricht, und gibt diesen Index zusammen mit dem Wert F in Feld F2 an Prozess B weiter. Anschließend weiß Prozess B, dass er die Ergebnisse berechnen, das Register von Ergebnissen an dem Ende der verbundenen Liste, die dem empfangenen Indexwert entspricht, speichern, und einen Zeiger in diese Zelle von Tabelle T1, die dem empfangenen Indexwert entspricht, muss.
  • Wie aus dem Vorstehenden hervorgeht, sind zwei neue Felder in den Nachrichten von A zu B (d.h. in den Eingabeinformationen) benötigt, als im Vergleich zu dem einzelnen Prozesssystem: das den Index angebende Feld und das Markierungszeichen, das angibt, ob Prozess B ein direktes Zeigen verwenden kann (d.h. den dem empfangenen Indexwert entsprechenden Zeiger lesen, und den durch diesen Zeiger adressierten Ergebnissatz zu verwenden).
  • Wenn mehr als zwei CAC-Prozesse innerhalb des Netzwerkelements vorhanden sind, muss jeder Prozess eine separate Tabelle für jeden solchen Prozess bereitstellen, von dem er Verbindungsanfragen empfängt. Zum Beispiel besitzt in dem Ausführungsbeispiel von 5 Prozess C eine separate Tabelle für Prozess B. Die letzten CAC-Prozesse in der Kette müssen nicht notwendigerweise den empfangenen Index mit den Ergebnissen speichern, da er den Index nicht an irgendeinen anderen CAC-Prozess weitergeben muss.
  • Anstelle eines Zeigers, der auf die Ergebnisse zeigt, kann die Tabelle (n) T1 ebenso die berechneten Ergebnisse enthalten. Jedoch beträgt die Länge eines Zeigers nur ein Wort, wohingegen die Ergebnisse viel mehr Speicherplatz benötigen. Was den Speicherplatz angeht ist es daher vorteilhaft, Zeiger in der/den Tabelle (n) zu speichern.
  • Durch Verwenden einer vorstehend beschriebenen "mehrstufigen" Implementierung muss nur der erste von den verschiedenen CAC-Prozessen/Einheiten die Zwischenspeichersuche durchführen. Dies beschleunigt die Verbindungserlaubnissteuerung des Netzwerkselements, und macht die Rechenintensität weniger aufwendig.
  • Obwohl die Erfindung hier in Verbindung mit den in den angefügten Figuren gezeigten Beispielen beschrieben wurde, ist klar, dass die Erfindung nicht auf diese Beispiele beschränkt ist, da sie auf verschiedene Weisen innerhalb der durch die Beschränkungen der angefügten Patentansprüche definierten verschiedenen Wege variiert werden kann. Im Folgenden werden kurz einige mögliche Variationen beschrieben.
  • Wie vorstehend erwähnt umfasst der Ergebnissatz, der in dem Rechenblock berechnet wurde und in dem Zwischenspeicher gespeichert wurde, einen oder mehrere Werte, die auf verschiedene Weisen das Kapazitätsbedürfnis der Verkehrsquelle angeben, die die Verbindungsanfrage gesendet hat. Daher ist die Anzahl von Werten, die sich aus der Berechnung ergeben, nicht entscheidend, sondern vielmehr, dass die Parameter, die in den Rechenblock eingegeben wurden, und die/der Wert (e), die aus der Berechnung resultieren, in dem Zwischenspeicher gespeichert werden. Weder ist es entscheidend, was diese Parameter sind. Vielmehr können die Parameter auf verschiedene Wege bestimmt werden: alle Parameter können einfach von der Verbindungsanfrage extrahiert werden, z.B. kann ein oder mehr der Parameter in dem Netzwerkelement als Antwort auf das Empfangen der Anfrage berechnet werden.
  • Wenn ein Parameterwert in der verbundenen Liste mit dem Wert des entsprechenden fraglichen Parameters verglichen wird, ist normalerweise eine exakte Übereinstimmung erforderlich, um in dieser Liste fortzufahren. Jedoch ist ebenso möglich, dass es immer eine Übereinstimmung gibt, wenn die Differenz zwischen den Werten kleiner als ein vorbestimmter Grenzwert ist. Diese Interpretation eines "Übereinstimmens" kann ebenso von dem Parametertyp abhängen.
  • Bei einer "mehrstufigen" Implementierung ist es ebenso möglich, die Funktionen von aufeinanderfolgenden CAC-Prozessen zu kombinieren, so dass einige Funktionen der CAC-Einheit über einen Funktionsblock realisiert werden, der für mehrere CAC-Prozesse gemeinsam bereitsteht. Wie vorstehend erläutert besitzt jede Einheit einen eigenen Zwischenspeicher. Jedoch können andere Teile der CAC-Einheiten zentralisiert implementiert werden, speziell deswegen, weil die CAC-Prozesse aufeinanderfolgend arbeiten. Daher können die Funktionen des Hauptprogrammblocks und des Rechenblocks durch einen einzelnen Hauptprogrammblock oder einen einzelnen Rechenblock implementiert werden, die gemeinsam für verschiedene oder alle CAC-Prozesse dienen. In diesen Fällen schätzt ein zentralisierter Hauptprogrammblock ein Gesamtkapazitätserfordernis ab, und trifft die Entscheidung für mehrere oder alle CAC-Prozesse, und ein zentralisierter Rechenblock berechnet die Ergebnisse für mehrere oder alle CAC-Prozesse.

Claims (19)

  1. Verfahren zum Durchführen einer Verbindungsgewährungssteuerung in einem Kommunikationsnetzwerk, mit den Schritten: – Empfangen von Verbindungsanforderungen von Verkehrsquellen, – Bestimmen eines anforderungsspezifischen Eingabedatensatzes als Antwort auf eine von einer Verkehrsquelle empfangenen Verbindungsanforderung, – Berechnen eines Satzes von Ergebnissen mit Hilfe des Eingabedatensatzes, wobei der Satz von Ergebnissen ein Kapazitätserfordernis der Verkehrsquelle angibt, – Schätzen eines Gesamtkapazitätserfordernisses auf Basis des Satzes von Ergebnissen und dem Kapazitätserfordernis von bestehenden Verbindungen, und – Entscheiden über die Akzeptanz der Verbindungsanforderung auf Basis des geschätzten Gesamtkapazitätserfordernisses, gekennzeichnet durch die weiteren Schritte: – Speichern des Eingabedatensatzes und des entsprechenden Satzes von Ergebnissen in einen Cache (CB) als Antwort auf die Berechnung, – Durchsuchen des Caches (CB) nach einem Datensatz, der ähnlich dem anforderungsspezifischen Eingabedatensatz ist, als Antwort auf die Bestimmung, und Verwenden des gespeicherten Satzes von Ergebnissen zum Schätzen des Gesamtkapazitätserfordernisses, wenn ein ähnlicher Datensatz in dem Cache (CB) gefunden wird, wobei das Berechnen des Satzes von Ergebnissen unterlassen wird, wenn der ähnliche Datensatz gefunden wird.
  2. Verfahren gemäß Anspruch 1, wobei die Verbindungsanforderungen zu mehreren Dienstklassen gehören, dadurch gekennzeichnet, dass die Eingabedatensätze durch Bilden eines Cachebereiches für jede Dienstklasse klassenspezifisch gespeichert werden, wobei jeder Cachebereich eine bestimmte Anzahl von Elementen umfasst.
  3. Verfahren gemäß Anspruch 2, dadurch gekennzeichnet, dass ein Zeiger in einem individuellen Element eines Cachebereichs gespeichert wird, wobei der Zeiger auf eine Dateneinheit in einer verknüpften Liste von Dateneinheiten zeigt, wobei in dieser Liste der Satz von Ergebnissen in der letzten Dateneinheit gespeichert ist und der Eingabedatensatz in den anderen Dateneinheiten gespeichert ist.
  4. Verfahren gemäß Anspruch 3, wobei die anforderungsspezifischen Eingabedaten mehrere Verkehrsparameter unterschiedlicher Typen aufweisen, dadurch gekennzeichnet, dass die Werte der Verkehrsparameter in den anderen Dateneinheiten, ein Verkehrsparameter pro Dateneinheit, gespeichert werden, und ein ähnlicher Datensatz gesucht wird, indem bei einem bestimmten Element eines klassenspezifischen Cachebereichs begonnen wird und in der Liste Dateneinheit für Dateneinheit fortgefahren wird, bis entweder ein in der Dateneinheit gespeicherter Verkehrsparameterwert sich von dem Wert des entsprechenden Verkehrsparameters in dem Eingabedatensatz unterscheidet oder der Satz von Ergebnissen erreicht wird.
  5. Verfahren gemäß Anspruch 3, wobei der Eingabedatensatz mehrere Verkehrsparameter verschiedener Typen umfasst, dadurch gekennzeichnet, dass die Werte der Verkehrsparameter in den anderen Dateneinheiten gespeichert werden, der Wert eines Verkehrsparameters in jeder Dateneinheit, und ein ähnlicher Datensatz gesucht wird durch Prüfen von zunächst der ersten Dateneinheit in jeder klassenspezifischen Liste, dann der zweiten Dateneinheiten in jenen Listen, in denen der Wert des ersten Parameters mit dem Wert des entsprechenden Parameters in dem anforderungsspezifischen Eingabedatensatz übereinstimmt, dann der dritten Dateneinheiten in jenen Listen, in denen die Werte des ersten und des zweiten Parameters mit den Werten der entsprechenden Parameter in dem anforderungsspezifischen Eingabedatensatz übereinstimmt, etc.
  6. Verfahren gemäß Anspruch 1, wobei die Verbindungsanforderungen zu verschiedenen Dienstklassen gehören und der anforderungsspezifische Eingabedatensatz mehrere Verkehrsparameter verschiedener Typen umfasst, dadurch gekennzeichnet, dass ein separater Parameterbereich für jede der Dienstklassen gebildet wird, wobei ein individueller klassenspezifischer Parameterbereich Ni Elemente umfasst, wobei Ni die Anzahl von möglichen Werten eines ausgewählten Verkehrsparameters von Dienstklasse i ist, wobei jedes Element auf einen Cachebereich zeigt, der eine bestimmte Anzahl von Elementen umfasst.
  7. Verfahren gemäß Anspruch 6, dadurch gekennzeichnet, dass ein Zeiger in einem individuellen Element eines Cachebereichs gespeichert wird, wobei der Zeiger auf eine Dateneinheit in einer verknüpften Liste von Dateneinheiten zeigt, wobei in dieser Liste der Satz von Ergebnissen in der letzten Dateneinheit gespeichert ist und die Werte von allen anderen Verkehrsparametern, außer dem Wert des ausgewählten Parameters, in den anderen Dateneinheiten mit einem Parameter pro jeder Dateneinheit gespeichert ist.
  8. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die Eingabedatensätze und die entsprechenden in dem Cache gespeicherten Sätze von Ergebnissen auf FIFO-Basis durch Ersetzen des ältesten Paars von Sätzen aktualisiert werden, wenn ein neuer Eingabedatensatz und der entsprechende Satz von Ergebnissen in dem Cache gespeichert werden.
  9. Verfahren gemäß Anspruch 1, gekennzeichnet durch: – Überwachen, wie oft jeder Satz von Ergebnissen in dem Cache gefunden wird, – Auswählen des Eingabedatensatzes und des entsprechenden Satzes von Ergebnissen, die durch einen neuen Eingabedatensatz und einen neuen Satz von Ergebnissen zu ersetzen sind, als Antwort auf das Überwachen.
  10. Verfahren gemäß Anspruch 1, gekennzeichnet durch: – Verwenden mehrerer CAC-Prozesse innerhalb eines Netzwerkelements, die in einer Verkettung arbeiten, so dass, wenn ein Prozess die Verbindungsanforderung für seinen Teil akzeptiert hat, der nächste Prozess in der Kette beginnt, wobei jeder Prozess den Eingabedatensatz und den entsprechenden Satz von Ergebnissen in einen für diesen Prozess bereitgestellten Cache speichert, den gespeicherten Satz von Ergebnissen zum Schätzen der Gesamtkapazität verwendet, wenn ein ähnlicher Datensatz in dem Cache gefunden wird, ein Gesamtkapazitätserfordernis auf Basis des Satzes von Ergebnissen und dem Kapazitätserfordernis von bestehenden Verbindungen schätzt, und für seinen Teil über die Akzeptanz der Verbindungsanforderung auf Basis des geschätzten Gesamtkapazitätserfordernisses entscheidet, und – Akzeptieren der Verbindungsanforderung, wenn alle Prozesse sie akzeptieren.
  11. Verfahren gemäß Anspruch 10, dadurch gekennzeichnet, dass bei zwei aufeinander folgenden CAC-Prozessen in der Kette: – ein Bezeichner für jeden Satz von Ergebnissen bei dem vorhergehenden Prozess gespeichert wird, – der nachfolgende Prozess über den Bezeichner, der sich auf den im vorhergehenden Prozess erhaltenen Satz von Ergebnissen bezieht, informiert wird, und – ein Bitschalter verwendet wird, um dem nachfolgenden Prozess anzugeben, ob der vorhergehende Prozess einen ähnlichen Datensatz in seinem Cache gefunden hat.
  12. Verfahren gemäß Anspruch 11, gekennzeichnet durch: – Berechnen des Satzes von Ergebnissen in dem nachfolgenden Prozess, wenn der Bitschalter angibt, dass der vorhergehende Prozess gescheitert ist, einen ähnlichen Datensatz in seinem Cache zu finden, – Speichern von zumindest dem Eingabedatensatz und dem berechneten Satz von Ergebnissen in dem Cache, und – Speichern eines Zeigers an einem durch den Bezeichner definierten Speicherplatz, wobei der Zeiger auf den Satz von in dem Cache des nachfolgenden Prozesses gespeicherten Satz von Ergebnissen zeigt.
  13. Verfahren gemäß Anspruch 12, dadurch gekennzeichnet, dass der Bezeichner weiterhin in dem Cache des nachfolgenden Prozesses gespeichert wird.
  14. Verfahren gemäß Anspruch 12, gekennzeichnet durch: – Lesen des durch den Bezeichner bezeichneten Zeigers, wenn der vorhergehende Prozess angibt, dass er einen ähnlichen Datensatz in seinem Cache gefunden hat, und – Verwenden des Satzes von Ergebnissen, der von dem Zeiger adressiert wird.
  15. Verbindungsgewährungssteuerungsanordnung für ein Netzwerkelement, das eingerichtet ist, Verbindungsanforderungen von Verkehrsquellen in einem Kommunikationsnetzwerk zu empfangen, mit: – einer Berechnungseinrichtung (CAB) zum Berechnen eines Satzes von Ergebnissen aus einem Eingabedatensatz, der der Berechnungseinrichtung (CAB) geliefert wird, wobei der Satz von Ergebnissen die von einer Verkehrsquelle benötigten Kapazität angibt, – einer Einrichtung zum Bestimmen des Eingabedatensatzes als Antwort auf eine Verbindungsanforderung, – einer Schätzeinrichtung zum Schätzen eines Gesamtkapazitätserfordernisses auf Basis des Satzes von Ergebnissen und dem Kapazitätserfordernis von in dem Netzwerk bestehenden Verbindungen, und – einer Entscheidungseinrichtung zum Entscheiden über die Akzeptanz der Verbindungsanforderung auf Basis des Gesamtkapazitätserfordernisses, dadurch gekennzeichnet, dass die Anordnung weiterhin umfasst: – eine Speichereinrichtung zum Speichern des Eingabedatensatzes und des entsprechenden Satzes von Ergebnissen in einen Cache (CB), wobei die Speichereinrichtung auf die Berechnungseinrichtung (CAB) reagiert, und – eine Sucheinrichtung zum Suchen nach einem Datensatz, der ähnlich dem Eingabedatensatz ist, in der Speichereinrichtung, wobei die Sucheinrichtung eingerichtet ist, den in der Speichereinrichtung gefundenen Satz von Ergebnissen der Schätzeinrichtung zu liefern, wenn ein ähnlicher Eingabedatensatz gefunden wird, und die Berechnungseinrichtung (CAB) zu steuern, einen Satz von Ergebnissen zu berechnen, wenn kein ähnlicher Eingabedatensatz in der Speichereinrichtung gefunden wird.
  16. Verbindungsgewährungssteuerungsanordnung gemäß Anspruch 15, dadurch gekennzeichnet, dass die Speichereinrichtung umfasst: einen Cachebereich (CA1...CAn) für jede in dem Netzwerk verwendete Dienstklasse, wobei jeder Cachebereich eine bestimmte Anzahl von Elementen umfasst, wobei jedes Element leer sein kann, oder einen Zeiger umfassen kann, der auf eine Dateneinheit in einer verknüpften Liste von Dateneinheiten zeigt, wobei jede verknüpfte Liste leer ist oder einen Eingabedatensatz und den entsprechenden Satz von Ergebnissen umfasst.
  17. Verbindungsgewährungssteuerungsanordnung gemäß Anspruch 15, wobei der Eingabedatensatz einen Satz von Verkehrsparametern umfasst, dadurch gekennzeichnet, dass die Speichereinrichtung umfasst: einen separaten Parameterbereich für jede in dem Netzwerk verwendete Dienstklasse, wobei ein individueller Parameterbereich Ni Elemente umfasst, wobei Ni die Anzahl von möglichen Werten eines ausgewählten Verkehrsparameters von Dienstklasse i ist, wobei jedes Element einen Zeiger umfasst, der auf einen Cachebereich zeigt, der eine bestimmte Anzahl von Elementen umfasst, wobei jedes Cachebereichelement leer sein oder einen Zeiger auf eine Dateneinheit in einer verknüpften Liste von Dateneinheiten umfassen kann, wobei jede verknüpfte Liste leer ist oder alle anderen Verkehrsparameter in dem Eingabedatensatz, außer den ausgewählten Verkehrsparameter, und den Satz von Ergebnissen, der den Verkehrsparametern entspricht, umfasst.
  18. Verbindungsgewährungssteuerungsanordnung gemäß Anspruch 15, dadurch gekennzeichnet, dass – die Anordnung mehrere separate Verbindungsgewährungssteuerungseinheiten (1A, 1B, 1C) aufweist, wobei jede Einheit zumindest die Speichereinrichtung umfasst, wobei das Gesamtkapazitätserfordernis für jede Einheit geschätzt wird und eine einheitsspezifische Entscheidung über die Akzeptanz der Verbindungsanforderung getroffen wird, und – die Verbindungsgewährungssteuerungseinheiten betrieblich in Serie verbunden sind, so dass die Verbindungsanforderung zu der nächsten Einheit weitergeleitet wird, wenn die Verbindungsanforderung für die vorhergehende Einheit akzeptiert wurde, wobei die Verbindungsanforderung in dem Netzwerkelement akzeptiert wird, wenn sie für alle Einheiten akzeptiert wurde.
  19. Verbindungsgewährungssteuerungsanordnung gemäß Anspruch 18, dadurch gekennzeichnet, dass jede Verbindungsgewährungssteuerungseinheit weiterhin die Berechnungseinrichtung, die Schätzeinrichtung und die Entscheidungseinrichtung umfasst.
DE60033149T 1999-06-08 2000-04-20 Gewährung einer verbindung in einem kommunikationsnetz Expired - Fee Related DE60033149T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
FI991309A FI991309A (fi) 1999-06-08 1999-06-08 Yhteyden hyväksyntä tietoliikenneverkossa
FI991309 1999-06-08
FI992450 1999-11-15
FI992450A FI19992450A (fi) 1999-06-08 1999-11-15 Yhteyden hyväksyntä tietoliikenneverkossa
PCT/FI2000/000345 WO2000076254A1 (en) 1999-06-08 2000-04-20 Connection admission in a communications network

Publications (2)

Publication Number Publication Date
DE60033149D1 DE60033149D1 (de) 2007-03-15
DE60033149T2 true DE60033149T2 (de) 2007-10-11

Family

ID=26160748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60033149T Expired - Fee Related DE60033149T2 (de) 1999-06-08 2000-04-20 Gewährung einer verbindung in einem kommunikationsnetz

Country Status (5)

Country Link
EP (1) EP1183899B1 (de)
AU (1) AU4299000A (de)
DE (1) DE60033149T2 (de)
FI (1) FI19992450A (de)
WO (1) WO2000076254A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004208671B2 (en) * 2000-01-21 2005-07-14 Nokia Solutions And Networks Gmbh & Co. Kg Method and apparatus for access control for a communications network
GB0226819D0 (en) 2002-11-16 2002-12-24 Marconi Comm Ltd Construction of a path through a packet network
KR100991891B1 (ko) * 2003-10-22 2010-11-04 인터내셔널 비지네스 머신즈 코포레이션 접속 관리 방법 및 시스템과 컴퓨터 판독가능 저장 매체
US8244880B2 (en) 2003-10-22 2012-08-14 International Business Machines Corporation Connection management method, system, and program product

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9513024D0 (en) * 1995-06-27 1995-08-30 Newbridge Networks Corp Connection admission control system (cac) for atm networks
US6292466B1 (en) * 1995-12-13 2001-09-18 International Business Machines Corporation Connection admission control in high-speed packet switched networks
JP3436845B2 (ja) * 1996-06-18 2003-08-18 日本電信電話株式会社 マルチクラスatm呼受付制御方法及び装置
US6046981A (en) * 1997-02-28 2000-04-04 Nec Usa, Inc. Multi-class connection admission control method for Asynchronous Transfer Mode (ATM) switches
FI970998A (fi) * 1997-03-10 1998-11-13 Nokia Telecommunications Oy Yhteyden hyväksymismenettely laajakaistaverkossa
GB9718269D0 (en) * 1997-08-28 1997-11-05 British Telecomm Connection admission control for connection orientated networks
US6169740B1 (en) * 1997-10-30 2001-01-02 Nortel Networks Limited Method of and apparatus for virtual link management

Also Published As

Publication number Publication date
AU4299000A (en) 2000-12-28
EP1183899A1 (de) 2002-03-06
WO2000076254A1 (en) 2000-12-14
FI19992450A (fi) 2000-12-08
DE60033149D1 (de) 2007-03-15
EP1183899B1 (de) 2007-01-24

Similar Documents

Publication Publication Date Title
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
DE69726995T2 (de) Mehrfachsende-Leitweglenkung in mehrstufigen Netzen
DE69533533T2 (de) Kommunikationssystem, Server und Verfahren zur Adressenverwaltung
DE69028879T2 (de) Völlig gemeinsam nutzbares Kommunikationsnetz
DE60021846T2 (de) Leitweglenkungsanordnung
DE69121268T2 (de) Steuerungsvorrichtung zur Lastverteilung auf Anrufbehandlungseinheiten
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE60202136T2 (de) Cache-eintrag-auswahlverfahren und -vorrichtung
DE69737342T2 (de) Internet-NCP(Netzwerksteuerungspunkt) über ATM
DE3785524T2 (de) Adaptive gebührabhängige Verkehrsleitweglenkung und automatisches Netzwerkhandhabungssystem für Fernmeldenetzwerke mit mehreren Diensten.
EP0447841B1 (de) Verfahren zum Einrichten von virtuellen Verbindungen in nach einem asynchronen Transfermodus arbeitenden Vermittlungseinrichtungen
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
DE60035836T2 (de) Dynamische Burst-Zusammenstellung basiert auf voll/teilweis gemeinsame Mehrfachübertragungsentitäten
DE60033149T2 (de) Gewährung einer verbindung in einem kommunikationsnetz
EP0523276B1 (de) Verfahren und Schaltungsanordnung zum Einrichten von virtuellen Verbindungen über ein ATM-Verbindungsleitungsbündel
DE69626679T2 (de) Vermittlungseinrichtung
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher
EP0711055B1 (de) Verfahren und Vorrichtung zur Messung charakteristischer Grössen eines Stroms von Datenpaketen fester Länge in einem digitalen Übertragungssystem
DE4308512A1 (de) Verfahren zum Routing von Verbindungen in einem Kommunikationsnetz
EP0927476A1 (de) Verfahren, durch welches sätzen von verschiedene parameter repräsentierenden werten adressen zuweisbar sind
EP1050172B1 (de) Verfahren und ermittlungseinrichtung zum ermitteln eines verbindungspfads in einem kommunikationsnetz
EP1119950B1 (de) Verfahren zum verbindungsaufbau für ein kommunikationsnetz
DE19810559C2 (de) Vermittlungseinrichtung
DE19907924C2 (de) Verfahren zum Ermitteln eines Verbindungsweges in einem Kommunikationsnetz zwischen zwei benachbarten Netzknoten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee