DE60026815T2 - Adaptive Aufrechterhaltung der Dienstqualität (QoS) in einem verteilten PBX Netz - Google Patents

Adaptive Aufrechterhaltung der Dienstqualität (QoS) in einem verteilten PBX Netz Download PDF

Info

Publication number
DE60026815T2
DE60026815T2 DE60026815T DE60026815T DE60026815T2 DE 60026815 T2 DE60026815 T2 DE 60026815T2 DE 60026815 T DE60026815 T DE 60026815T DE 60026815 T DE60026815 T DE 60026815T DE 60026815 T2 DE60026815 T2 DE 60026815T2
Authority
DE
Germany
Prior art keywords
network
channels
packet
channel
card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60026815T
Other languages
English (en)
Other versions
DE60026815D1 (de
Inventor
Andre M Belleville Cyr
Zlatan Belleville Dedic
Ayman Nepean Bedair
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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 US09/475,269 external-priority patent/US7990882B1/en
Application filed by Nortel Networks Ltd filed Critical Nortel Networks Ltd
Application granted granted Critical
Publication of DE60026815D1 publication Critical patent/DE60026815D1/de
Publication of DE60026815T2 publication Critical patent/DE60026815T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0025Provisions for signalling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements
    • H04L65/1056Multi-site
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2227Quality of service monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/009Arrangements for interconnection between switching centres in systems involving PBX or KTS networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/58Arrangements providing connection between main exchange and sub-exchange or satellite
    • H04Q3/62Arrangements providing connection between main exchange and sub-exchange or satellite for connecting to private branch exchanges
    • H04Q3/625Arrangements in the private branch exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13166Fault prevention
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1322PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13332Broadband, CATV, dynamic bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13384Inter-PBX traffic, PBX networks, e.g. corporate networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13389LAN, internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Radio Relay Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf einen Anpassungsmechanismus, der zur Überwachung, Aufrechterhaltung und Kontrolle der Qualität der Sprachgüte von Kommunikationen zwischen Endsystemen in einer verteilten PBX- (privaten Nebenstellen-) Topologie verwendet werden kann, wodurch sich eine verbesserte Dienstgüte (QoS) für das Netzwerk ergibt.
  • Wie dies in 1 gezeigt ist, würde eine Kommunikationssystem 100 für eine Einrichtung, wie z.B. eine Firma, ein Büro oder einen Privatbereich, ein Sprach-Netzwerk 110, wie z.B. eine private Nebenstellenanlage (PBX) oder eine Gruppe von PBX's, die miteinander oder mit einem Fernsprechamt verbunden sind und kommunizieren, und ein Daten-Netzwerk 120 einschließen, wie z.B. Computer 125, die miteinander über ein Intranet und mit dem Internet verbunden sind. Die PBX 110 ist ein Netzwerk, das es ermöglicht, dass viele Sprachegeräte 115 eine kleinere Anzahl von nach außen abgehenden Leitungen (beispielsweise Fernleitungen) zum Durchführen externer Sprachanrufe gemeinsam nutzen. Die interne Verdrahtung in der PBX 110 ermöglicht es Benutzern innerhalb der Einrichtung, miteinander in Kontakt zu treten, ohne Informationen aus der Einrichtung heraus zu senden.
  • Wie dies in 2 gezeigt ist, kann eine Einrichtung es wünschen, Sprache-Geräte 110 und Computer 125 auf einem einzigen Netzwerk 200 zur internen und externen Kommunikation mit dem Internet zu verbinden. Mit anderen Worten würden das Sprach-Netzwerk 110 und das Daten-Netzwerk 120 zu einem einzigen Netzwerk 200 vereinigt. Typischerweise digitalisiert das Netzwerk 200 die Daten von den Sprache-Geräten beispielsweise in das G.711-Format und sendet vollständig digitale Daten unter Einschluss des Fernsprechverkehrs über das Netzwerk 200. Dies heißt mit anderen Worten, dass das Netzwerk 200 die gleiche Art der Übertragung zwischen Computern 125 verwenden würde und eine zusätzliche Verarbeitung zur Aussendung von Daten von den Sprache-Geräten hinzufügen würde.
  • 3 zeigt ein typisches Sprach- und Daten-Netzwerk 200. 3 schließt ein Daten-Netzwerk, wie z.B. eine auf einem lokalen Netzwerk (LAN) beruhende Sprachvermittlung (PBX) zur Übertragung von Sprache-Daten über eine Datenverbindungsstrecke 310 unter Verwendung des Internetprotokolls (IP) ein. Sprache-Geräte, wie z. B. interne Telefone und externe Leitungen, sind mit einer jeweiligen Leitungskarte 320 oder Fernleitungskarte 330, die in einem entfernt angeordneten oder Erweiterungs-Gerätegestell 340 angeordnet ist, das eine entfernt angeordnete CPU 350 oder eine Gerätegestell-Steuerung einschließt, über eine jeweilige Leitung oder einen Kanal verbunden. Die Karten 320 und 330 werden selektiv in eine Vielzahl von Steckplätzen 355 in dem Erweiterungs-Gerätegestell 340 geladen. Obwohl ein einziges Erweiterungs-Gerätegestell 340 in 3 gezeigt ist, könnte die PBX mehrere Erweiterungs-Gerätegestelle 340 einschließen. Eine Datenverbindungsstrecke 310 verbindet das Erweiterungs-Gerätegestell 340 mit einer Vermittlungs-Matrix 360. Die Vermittlungs-Matrix 360 lenkt Informationen von Sprache-Geräten zu anderen Sprache-Geräten, intern über die Leitungskarten 320 und extern über Fernleitungskarten 330. Ein auf einer Master-CPU 390 ablaufender Prozess konfiguriert den derzeitigen Zustand der Vermittlungs-Matrix 360 über deren Rückwandebene 380. Alternativ könnte die Master-CPU 390 an einer von der Vermittlungs-Matrix 360 entfernten Stelle angeordnet sein, und der auf der Master-CPU 390 ablaufende Prozess kann die Vermittlungs-Matrix 360 über die Datenverbindungsstrecke 310 konfigurieren. Obwohl jede der Karten so gezeigt ist, als ob sie in das Erweiterungs-Gerätegestell 340 geladen ist, das sich in einer Entfernung von der Vermittlungs-Matrix 360 befindet, könnten andere gerätemäßige Ausgestaltungen einige Karten an der gleichen Stelle oder in dem gleichen mechanischen Gerätegestell wie die Master-CPU 390 einschließen. Ein Computer 125 kann ebenfalls mit der Datenverbindungsstrecke 310 verbunden sein.
  • Die Master-CPU 390 und die entfernt angeordnete CPU 350 bewirken, dass Pakete mit definierter Größe für die Übertragung über die Datenverbindungsstrecke 310 geschaffen werden. Diese Pakete schließen Information ein, die zum Lenken des Paketes zu einem Ziel sowie die Sprache- oder Daten-Information einschließen. 4 zeigt ein Format eines typischen Pakets 400 unter Verwendung einer Ethernet-Datenverbindungsstrecke 310. Das Paket 400 kann beispielsweise sechs Bytes einer Zieladresse 410, sechs Bytes einer Quellenadresse 420, zwei Bytes einer Anzeige des Ethernet-Typs 430, eine Anzahl von Bytes eines Datenpaketes 440, das Daten von mehreren Sprache-Geräten enthält, und vier Bytes an Rahmen-Prüffolgen- (FCS-) Daten 450 einschließen. Das Datenpaket 440 schließt Kopffeld-Information für das Übertragungsprotokoll, wie z.B. 20 Bytes an IP-Kopffeld-Information 441 und 4 bis 20 Bytes an UDP/TCP-Kopffeld-Information 442 sowie Daten 443 für N-Kanäle ein. Typischerweise sendet die PBX 8000 Pakete pro Sekunde, die Sprachdaten einschließen.
  • Unter erneuter Bezugnahme auf 3 liefert zur Einleitung eines Anrufs an ein Ziel-Sprache-Gerät ein Quellen-Sprache-Gerät Signale an eine Quellenkarte (beispielsweise die Leitungskarte 320 oder die Fernleitungskarte 330) zum Senden einer Mitteilung an die Vermittlungs-Matrix 360. Die Vermittlungs-Matrix 360 stellt die Vermittlungsstruktur des Netzwerkes so ein, dass eine Verbindung zwischen den Quellen- und Ziel-Sprache-Geräten hergestellt wird. Wenn ein Anruf von einem Gerät an dem entfernt angeordneten Gerätegestell 340 dadurch eingeleitet wird, dass das Gerät in den Aushängezustand übergeht, so wird eine Mitteilung von dem Quellengerät an dem entfernt angeordneten Gerätegestell 340 an einen Anruf-Server-Prozess gesandt, der auf der Master-CPU 390 abläuft, um anzuzeigen, dass sich das Gerät im Aushängezustand befindet. Der Anruf-Server-Prozess konfiguriert die Vermittlungs-Matrix 360 derart, dass das Quellengerät an dem entfernt angeordneten Gerätegestell 340 mit einem Kanal verbunden wird, der einen Wählton an das neu aktiv gewordene Gerät liefert. Wenn das Wählen an dem Quellengerät an dem entfernt angeordneten Gerätegestell 340 beginnt, was ein gewünschtes Ziel anzeigt, mit dem Kontakt aufgenommen werden soll, so wird eine weitere Mitteilung, die das angewählte Ziel identifiziert, an den Anruf-Server-Prozess gesandt, der auf der Master-CPU abläuft, die ihrerseits beginnt, die gewählte Nummer auszuwerten, um festzustellen, ob sie gültig ist. Wenn der Anruf-Server-Prozess feststellt, dass die Nummer gültig ist, beginnt er dann die Suche nach dem angeforderten Zielgerät. Wenn das Zielgerät gefunden wurde, weist der Anruf-Server-Prozess die Vermittlungs-Matrix 360 an, eine Verbindung zwischen den Quellen- und Zielgeräten über die Vermittlungs-Matrix 360 herzustellen, wodurch ein Zweiweg-Sprachpfad aufgebaut wird.
  • 5 zeigt eine typische Vermittlungs-Matrix 360 zur Analyse und zur Erzeugung eines Paketes. Ein Multiplexer/Demultiplexer 500 empfängt und sendet IP-Pakete über die Datenverbindungsstrecke 310. Wenn er IP-Pakete empfängt, nimmt der Multiplexer/Demultiplexer 500 die sequenziell geordneten Kanäle und bringt sie in eine parallele Ordnung und sendet diese Information an die Vermittlung 510. Umgekehrt nimmt bei der Aussendung von IP-Paketen der Multiplexer/Demultiplexer 500 die parallel geordneten Kanäle von der Vermittlung 510 und bringt sie in eine sequenzielle Ordnung, damit sie in ein IP-Paket eingefügt werden. Der Multiplexer/Demultiplexer 500 gibt als Ausgang parallele Daten an eine Vermittlung 510 ab oder er erzeugt ein IP-Paket. Eine Tabelle in der Vermittlung 510 bestimmt die Kanalpositionen in einem IP-Paket. Selbstverständlich hat in einer nicht blockierenden Betriebsart jedes Sprache-Gerät in dem Netzwerk einen Kanal zur Zuordnung durch die Vermittlungs-Matrix verfügbar.
  • 6 zeigt eine Tabelle gemäß einem typischen System zur Erzeugung und Analyse eines Paketes. Die Tabelle 600 liefert einen Positions-Index, der zeigt, wo die Daten für jeden Kanal von beispielsweise einem Netzwerk in einem Paket zu finden sind. Obwohl die Paket-Positionen in Gruppen von acht in 6 gezeigt sind, dient dies lediglich zu Erläuterungszwecken. Wie dies in 6 gezeigt ist, wird angenommen, dass alle N-Kanäle des Netzwerkes Information übertragen, unabhängig davon, ob der Kanal aktiv ist (sich im Aushängezustand befindet), oder selbst wenn ein Sprache- oder Datengerät mit dem Netzwerk überhaupt verbunden ist.
  • Weil eine Anzahl von Kanälen typischerweise unbenutzt sind schließen unter Verwendung der Tabelle 600 erzeugte Pakete überflüssige Information für die nicht verwendeten Kanäle ein, das heißt vollständig Null-Werte. Das heißt mit anderen Worten, dass die Größe zugeteilter Kanäle innerhalb des IP-Paketes vollständig aus Null-Werten besteht. Dies vergeudet die beschränkte Bandbreite des Netzwerkes nach 5. Bandbreite ist die Menge an Verkehr in Bits pro Sekunden, die über ein Netzwerk übertragen werden kann. Die Größe der Pakete, und die Rate, mit der das Netzwerk die Pakete sendet, bestimmt die für die Anwendung benötigte Bandbreite. Weil jeder Sprachkanal typischerweise 64 Kilobit/Sekunde in einem nicht komprimierten Format verbraucht, würde, wenn das Netzwerk 200 eine PBX mit 1000 Kanälen enthalten würde, das Netzwerk 200 zumindest 64 Megabit/Sekunde an Bandbreite zur Übertragung des Sprachverkehrs benötigen. Dies ist erheblich, weil die Datenverbindungsstrecke 310 typischerweise eine Bandbreite von 100 Mbit/Sekunde aufweist und somit der Sprachverkehr nahezu zwei Drittel der verfügbaren Bandbreite verbrauchen würde.
  • Wenn eine derartig große Menge an Bandbreite dem Sprachverkehr zugeteilt ist, muss das Netzwerk einen großen Teil seiner Zeit mit der Verarbeitung der Pakete vergeuden, die sehr wenig Information ergeben könnten, wenn viele Kanäle inaktiv sind. Einige Daten-Netzwerke enthalten andere Systeme als die, die Sprachinformation übertragen. Diese Systeme nutzen die verfügbare Bandbreite des Netzwerkes mit, so dass, wenn zuviel Bandbreite dem Sprachverkehr zugeordnet ist, dies in negativer Weise das Gesamt-Netzwerk beeinflusst. Beispielsweise führt die Zuteilung derartig großer Mengen an Bandbreite zu Sprachverkehr zu einer Netzwerk-Überlastung, was zu unerwünschten Konsequenzen führt, wie z.B. zu einer verzögerten Übertragung, einer erneuten Übertragung und tatsächlich einem vollständigen Verlust von Paketen.
  • Um die Menge an Bandbreite zu verringern, die dem Sprachverkehr zugeteilt ist, könnte die Einfügung und Entfernung von Karten festgestellt werden, die Sprachkanal-Leitungen verbinden. Bei dieser Lösung werden jedoch alle Kanäle auf eingesteckten Karten über das Netzwerk hinweg übertragen, unabhängig davon, ob die Kanäle aktiv sind oder nicht, was immer noch eine wenig effiziente Nutzung der Bandbreite darstellt. Zusätzlich ergibt diese Lösung keine Bandbreiten-Optimierung, wenn das Netzwerk vollständig geladen ist, das heißt wenn die maximale Anzahl von Karten eingesteckt wurde.
  • Um die Menge an Bandbreite zu verringern, die dem Sprachverkehr zugeteilt ist, könnten lediglich diejenigen Kanäle, die aktiv sind, in eine sich ändernde Tabelle eingefügt werden, und Pakete würden lediglich Informationen bezüglich der aktiven Kanäle übertragen. Eine derartige Tabelle muss auf einer Echtzeit-Basis aktualisiert werden, um zu definieren, welche Anrufe oder Verbindungen aktiv sind, sowie deren Positions-Index, was eine zusätzliche CPU-Zeit oder eine schnellere CPU notwendig macht, um die Auswirkung der Echtzeit-Verarbeitung zu verringern. Zusätzlich müssen weitere Synchronisations-Mitteilungen jedesmal dann ausgesandt und bestätigt werden, wenn ein Anruf durchgeführt oder beendet wird, um die Tabellen an der Quelle und dem Ziel synchron zu halten. Diese Synchronisations-Mitteilungen verbrauchen einen Teil der eingesparten Bandbreite.
  • Daher besteht eine Notwendigkeit zur wirkungsvollen Verringerung der Menge an Bandbreite, die zur Übertragung von Sprachdaten in einem Netzwerk benötigt wird, wobei eine minimale Menge an zusätzlicher Hardware und Verarbeitung verwendet werden soll, und es besteht weiterhin eine Notwendigkeit, dies unabhängig von der Anzahl der aktiven Sprache-Geräte auszuführen, die mit dem Netzwerk verbunden sind.
  • Ein Beispiel eines Systems und Verfahren zur Einsparung von Bandbreite unter Verwendung einer Karten-Detektion ist in der anhängigen US-Patentanmeldung 09/474,779 beschrieben. Ein Beispiel eines Systems und Verfahren zur Einsparung von Bandbreite unter Verwendung einer sich ändernden Tabelle ist in der anhängigen US-Patentanmeldung 09/474, 778 beschrieben.
  • In letzerer Zeit wurden viele Anstrengungen von der Internet-Gemeinschaft gemacht, um Transportmechanismen zu untersuchen, die in der Lage sind, Dienstgüte- (QoS-) Anforderungen für Datagramm-Netzwerke zu garantieren (wie z.B. Internetprotokoll- (IP-) Netzwerke). Die Ziele schließen Alternativen zum Transport von Sprache-, Video- und Multimedia-Daten über klassische Telefon/ISDN- und ATM-Netzwerke ein. Ein derartiges Verfahren und System ist beispielsweise in dem Dokument WO 92 21188 A (Bell Atlantic Network Services Inc.) vom 26. November 1992 (1992-11-26) sowie in dem Dokument US 5 638 363 A (Gittins C. J.) vom 10. Juni 1997 (1997-06-10) beschrieben. Das grundlegende Problem besteht darin, wie eine Bandbreite, eine Latenz (Verzögerung) und ein Paketverlust, wie er für Sprache und Video erforderlich ist, in einer Datagramm-Netzwerk-Architektur garantiert werden kann.
  • Kommunikations-Verbindungsstrecken zwischen PBX's erfordern eine ziemlich große Bandbreite für den Betrieb auf Daten-Netzwerken. Der Unterhalt dieser Menge an Bandbreite ist aufwändig und führt in vielen Fällen zu einer Beeinträchtigung der Gesamt-Dienstqualität unter allen Anwendungen, die auf dem Netzwerk ablaufen. Bekannte Lösungen des Problems schließen den Versuch der Reservierung von Bandbreite unter Verwendung von Lösungen ein, wie z.B. des Ressourcen-Reservierungsprotokolls (RSVP) oder von Richtlinien-Verwaltungssystemen.
  • Zusätzlich sind Lösungen zum Aufrechterhalten einer Sprachqualität, wie z.B. das Festlegen einer festen Paketverzögerungs-Änderungs- (PDV-) Puffergröße nicht ideal für Internetprotokoll- (IP-) Netzwerke geeignet, in denen Mitteilungen in einer burstartigen anstelle einer gleichförmigen Weise fließen. Wenn die Puffergröße zu klein ist, so tritt ein Überlauf der zuletzt ankommenden Daten auf, und die vorhergehenden Daten gehen verloren. Wenn der Puffer zu groß ist, gibt es Lücken, was zu Unterbrechungen zwischen Mitteilungspaketen führt. Bemühungen, die Puffergröße unter periodischen Intervallen einzustellen, sind aufgrund der Redundanz des Verkehrsflusses ein mühsamer Prozess und beruhen üblicherweise auf Versuchen und Fehlererkennung.
  • Bisher war das Haupthindernis für eine gerätemäßige Ausgestaltung eines anpassbaren QoS-Überwachungsmechanismus vom Anwendungs-Gesichtspunkt her die Art und Weise, wie Messungen gewonnen werden. Verschiedene auf Algorithmen beruhende Lösungen wurden vorgeschlagen, unter Einschluss der Verwendung des Internet-Kontrollmitteilungs-Protokolls (ICMP). Es hat sich jedoch gezeigt, dass dies nicht sehr genaue Messungen erzeugt, eine Echtzeit-Auswirkung auf die Betriebsleistung des Systems hat und einen zusätzlichen Verkehr zu dem Netzwerk hinzufügt. Der zusätzliche Verkehrs-Zusatzaufwand ist direkt proportional zu dem Genauigkeitsgrad, der für die Messungen angestrebt wird.
  • Weiterhin unterstützen viele Echtzeit-Betriebssysteme (RTOS) nicht mehrfache Anwendungen, die rohe Sockets (wie sie hauptsächlich für ICMP verwendet werden) unterstützen. Dies führt üblicherweise zu Störungen zwischen Anwendungen, die versuchen, die Sockets zu verwenden.
  • Auch ist die Verwendung des Übertragungs-Kontroll-Protokolls (TCP) oder des Benutzer-Datagramm-Protokolls (UDP) nicht in allen Fällen akzeptabel, weil diese Protokolle Zusatzdaten zu beiden Endsystemen hinzufügen, was durch die Notwendigkeit dargestellt ist, zumindest einen Prozess auf jeder End-Maschine zu erzeugen, um die Funktionalität des ICMP zu simulieren. Weiterhin ergibt sich eine zusätzliche Verarbeitungszeit, weil rohe Sockets direkt mit der Netzwerkschicht in Wechselwirkung treten, und andere Arten von Sockets mit den oberen Schichten der IP-Stapel in Wechselwirkung treten. Dies führt andererseits zu einer Ungenauigkeit bei der Sende- und Ankunftszeit von Mitteilungen. Weiterhin wird, wie im Fall von ICMP, Verkehr zu dem Netzwerk hinzugefügt.
  • Systeme und Verfahren gemäß der vorliegenden Erfindung fügen eine Intelligenz zu Systemen, wie z.B. mit einem Daten-Netzwerk verbundenen PBX's hinzu, um auf Änderungen von Netzwerk-Bedingungen zu reagieren, was es ermöglicht, dass sich Kommunikations-Verbindungsstrecken sehr schnell an diese Bedingungen anpassen, ohne dass ein manueller Eingriff erforderlich ist, wobei gleichzeitig die Auswirkung derartiger Systeme auf das Netzwerk verringert wird, so dass die Gesamt-Systembetriebsleistung verbessert wird.
  • Es werden Verfahren und Systeme gemäß der vorliegenden Erfindung zur Überwachung der Qualität von Daten-Netzwerken und zur dynamischen Anpassung des Verhaltens der Daten-Netzwerke entsprechend den Bedingungen des Netzwerkes bereitgestellt, um die QoS aufrechtzuerhalten.
  • Die vorliegende Erfindung ergibt ein Verfahren und eine Vorrichtung, wie sie in den Ansprüchen 1 und 2 definiert sind.
  • Ausführungsformen der Erfindung werden nunmehr unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 ein bekanntes Kommunikationssystem zeigt, das getrennte Sprache- und Daten-Netzwerke einschließt;
  • 2 ein Diagramm höherer Ebene eines Systems zeigt, das ein kombiniertes Sprache- und Daten-Netzwerk aufweist;
  • 3 eine ausführlichere Darstellung des Systems nach 2 zeigt;
  • 4 die Inhalte einer Mitteilung zeigt, die in dem Netzwerk nach 2 ausgesandt wird;
  • 5 eine Vermittlungs-Matrix des Netzwerkes nach 2 zeigt;
  • 6 eine Tabelle zur Bestimmung von Kanalpositionen in einem IP-Paket ist, das in dem Netzwerk nach 2 ausgesandt wird;
  • 7 eine Darstellung höherer Ebene eines Systems zeigt, das ein kombiniertes Sprach- und Daten-Netzwerk gemäß der vorliegenden Erfindung aufweist;
  • 8 eine ausführlichere Darstellung des Systems nach 7 zeigt;
  • 9 eine Vermittlungs-Matrix des Netzwerkes nach 7 zeigt;
  • 10 ein Ablaufdiagramm von Schritten in dem Prozess zur Aussendung einer Mitteilung gemäß der vorliegenden Erfindung ist;
  • 10a-10c Ablaufdiagramme sind, die die Schritte einer Ausführungsform der Kanalzuteilung und der Aufhebung der Zuteilung zeigen;
  • 11a-11d die Inhalte einer Mitteilung zeigen, die in dem Netzwerk auf der Grundlage einer aktiven Kommunikations-Detektion ausgesandt wird;
  • 12a-12c die Inhalte einer Mitteilung zeigen, die auf der Grundlage von Kanalgruppen unter Verwendung einer aktiven Kommunikations-Detektion gesandt wird;
  • 13 die Inhalte einer Gruppe nach den 12a-12c zeigt;
  • 14a-14b die Inhalte einer Mitteilung zeigen, die in dem Netzwerk ausgesandt wird, wenn die Zuteilung von Gruppen auf der Grundlage einer aktiven Kommunikations-Detektion aufgehoben wird;
  • 15 die Inhalte einer Mitteilung zeigt, die über das Netzwerk auf der Grundlage einer aktiven Kanal-Neuanordnung zur Aufhebung der Zuteilung von Kanalgruppen ausgesandt wird;
  • 16 ein Ablaufdiagramm von Schritten des Prozesses zur Aussendung einer Mitteilung gemäß der vorliegenden Erfindung ist;
  • 17 eine Tabelle ist, die zur Ausbildung von Kanalpositionen in einem IP-Paket verwendet wird, das in dem Netzwerk nach 7 ausgesandt wird;
  • 18 die Aussendung eines IP-Paketes von einem entfernt angeordneten Gerätegestell zu einem Master-Gerätegestell in Übereinstimmung mit dem System nach 7 zeigt; und
  • 19 die Aussendung eines IP-Paketes von einem Master-Gerätegestell zu einem entfernt angeordneten Gerätegestell in Übereinstimmung mit dem System nach 7 zeigt;
  • 20 ein PBX-Telefonsystem zeigt, das aus Haupt- und Erweiterungs-PBX-Gerätegestellen besteht, die über ein Daten-Netzwerk verbunden sind;
  • 21 die Aussendung von Sprache-Paketen in einem Haupt- oder Erweiterungs-Gerätegestell zeigt;
  • 22 den Empfang von Sprache-Paketen in einem Haupt- oder Erweiterungs-Gerätegestell zeigt;
  • 23a die Betriebsweise eines Paketverlust-Zählers zeigt;
  • 23b die Betriebsweise eines Paketverlust-Zählers weiter erläutert;
  • 24 ein Diagramm ist, das die Betriebsweise einer Paket-Umlaufzeit-Berechnung zeigt;
  • 25a-25b die Betriebsweise einer Bandbreiten-Optimierung unter Verwendung einer Ausscheidung von Leerlaufkarten zeigen;
  • 26a, 26b und 26c die Betriebsweise einer Bandbreiten-Optimierung unter Verwendung einer Prioritäts-basierten Karten-Ausscheidung zeigen;
  • 27 ein Ablaufdiagramm, das die Betriebsweise eines Paketverlust-Zählers und der System-Reaktion zeigt;
  • 28 ein Ablaufdiagramm ist, das die Betriebsweise einer Paketverzögerungs-Variations-Messung und der Systemreaktion zeigt; und
  • 29 ein Ablaufdiagramm ist, das die gerätemäßige Realisierung der Bandbreiten-Optimierung zeigt.
  • Es wird nunmehr im Einzelnen auf die Konstruktion und Betriebsweise einer gerätemäßigen Ausgestaltung der vorliegenden Erfindung Bezug genommen, die in den beigefügten Zeichnungen gezeigt ist. Die vorliegende Erfindung ist nicht auf diese gerätemäßige Ausgestaltung beschränkt, sondern kann in anderen Ausgestaltungen verwirklicht werden.
  • A. Überblick
  • Systeme und Verfahren gemäß der Erfindung ergeben einen Anpassungsmechanismus, der zur Überwachung, Aufrechterhaltung und Kontrolle der Qualität von Sprachgüte-Kommunikationen zwischen Endsystemen in einer verteilten Nebenstellen-Vermittlungs- (PBX-) Topologie verwendet werden kann. Grundlegend wird ankommende Information von einem Daten-Netzwerk dazu verwendet, das Verhalten eines Systems zu ändern und die Aussendungen des Systems an das Netzwerk abzugleichen. Eine derartige Kommunikations-Verbindungsstrecke ist in der Lage, sich sehr schnell an ändernde Bedingungen in dem Netzwerk ohne manuelle Intervention anzupassen, wodurch sehr schnell die Gesamtsystem-Betriebsleistung verbessert wird.
  • Wie dies in 1 gezeigt ist, würde ein Kommunikationssystem 100 für eine Einrichtung, wie z.B. eine Firma, ein Büro oder einen Privatbereich, ein Sprach-Netzwerk 110, wie z.B. eine private Nebenstellenanlage (PBX) oder eine Gruppe von PBX's, die miteinander oder mit einem Fernsprechamt verbunden sind, und ein Daten-Netzwerk 120 einschließen, wie z.B. Computer 125, die miteinander über ein Intranet und mit dem Internet verbunden sind. Die PBX 110 ist ein Netzwerk, das es ermöglicht, dass viele Sprache-Geräte 115 eine geringere Anzahl von abgehenden Leitungen (beispielsweise Fernleitungen) gemeinsam nutzen, um externe Sprachanrufe durchzuführen. Die interne Verdrahtung in einer PBX 110 ermöglicht es Benutzern innerhalb der Einheit, miteinander in Kontakt zu treten, ohne Informationen aus der Einrichtung heraus zu senden.
  • Wie dies in 2 gezeigt ist, kann es eine Einrichtung oder Einheit wünschen, Sprache-Geräte 115 und Computer 125 auf einem einzigen Netzwerk 200 zur internen und externen Kommunikation mit dem Internet zu verbinden. Mit anderen Worten würde das Sprach-Netzwerk 110 und das Daten-Netzwerk 120 zu einem einzigen Netzwerk 200 vereinigt. Typischerweise digitalisiert das Netzwerk 200 die Daten von den Sprache-Geräten in beispielsweise das G.711-Format und sendet vollständig digitale Daten unter Einschluss von Sprachverkehr über das Netzwerk 200. Mit anderen Worte heißt dies, dass das Netzwerk 200 die gleiche Art der Übertragung zwischen Computern 125 verwenden würde und eine zusätzliche Verarbeitung zur Aussendung von Daten von den Sprache-Geräten hinzufügen würde.
  • 3 zeigt ein typisches Sprache- und Daten-Netzwerk 200. 3 schließt ein Daten-Netzwerk, wie z.B. eine auf einem lokalen Netzwerk (LAN) beruhende Sprachvermittlung (PBX) für die Übertragung von Sprache-Daten über eine Datenverbindungsstrecke 310 unter Verwendung des Internetprotokolls (IP) ein. Sprache-Geräte, wie z.B. interne Telefone und externe Leitungen, sind mit einer jeweiligen Leitungskarte 320 oder Fernleitungskarte 330 verbunden, die in einem entfernt angeordneten oder Erweiterungs-Gerätegestell 340 angeordnet ist, das eine entfernt angeordnete CPU 350 oder Gerätegestell-Steuerung einschließt, über eine jeweilige Leitung oder einen Kanal. Die Karten 320 und 330 werden selektiv in einen einer Vielzahl von Steckplätzen 355 in dem Erweiterungs-Gerätegestell 340 eingesteckt. Obwohl ein einzelnes Erweiterungs-Gerätegestell 340 in 3 gezeigt ist, könnte die PBX mehrere Erweiterungs-Gerätegestelle 340 einschließen. Die Datenverbindungsstrecke 310 verbindet das Erweiterungs-Gerätegestell 340 mit einer Vermittlungs-Matrix 360. Die Vermittlungs-Matrix 360 lenkt Informationen von Sprache-Geräten zu anderen Sprache-Geräten intern über Leitungskarten 320 und extern über Fernleitungskarten 330. Ein auf einer Master-CPU 390 ablaufender Prozess konfiguriert den derzeitigen Zustand der Vermittlungs-Matrix 360 über deren Rückwandebene 380. Alternativ könnte die Master-CPU 390 entfernt von der Vermittlungs-Matrix 360 angeordnet sein, und der auf der Master-CPU 390 ablaufende Prozess kann die Vermittlungs-Matrix 360 über die Datenverbindungsstrecke 310 konfigurieren. Obwohl jede der Karten so gezeigt ist, als ob sie in ein Erweiterungs-Gerätegestell 340 eingesteckt ist, das sich an einer von der Vermittlungs-Matrix 360 entfernten Stelle befindet, könnten andere gerätemäßige Ausgestaltungen einige Karten an der gleichen Stelle oder in dem gleichen mechanischen Gerätegestell einschließen, wie die Master-CPU 330. Ein Computer 125 kann ebenfalls mit der Datenverbindungsstrecke 310 verbunden sein.
  • Die Master-CPU 390 und die entfernt angeordnete CPU 350 bewirken, dass Pakete mit definierter Größe für die Übertragung über die Datenverbindungsstrecke 310 erzeugt werden. Diese Pakete schließen Informationen, die zur Lenkung des Paketes zu einem Ziel verwendet werden, und die Sprache- oder Daten-Information ein. 4 zeigt ein Format eines typischen Paketes 400 unter Verwendung einer Ethernet-Datenverbindungsstrecke 310. Das Paket 400 kann beispielsweise sechs Bytes einer Zieladresse 410, sechs Bytes einer Quellenadresse 420, zwei Bytes einer Anzeige des Ethernet-Typs 430, eine Anzahl von Bytes eines Datenpaketes 440, das Daten von mehreren Sprache-Geräten enthält, und vier Bytes an Rahmenprüffolgen- (FCS-) Daten 450 einschließen. Das Datenpaket 440 schließt Kopffeld-Information für das Übertragungsprotokoll, beispielsweise 20 Bytes an IP-Kopffeld-Information 441 und 4 bis 20 Bytes einer UDP/TCP-Kopffeld-Information 442 und Daten 443 für N-Kanäle ein. Typischerweise sendet die PBX 8000 Pakete pro Sekunden, die Sprachdaten einschließen.
  • Unter erneuter Bezugnahme auf 3 liefert zur Einleitung eines Anrufs an ein Ziel-Sprache-Gerät ein Quellen-Sprache-Gerät Signale an eine Quellenkarte (beispielsweise die Leitungskarte 320 oder die Fernleitungskarte 330) zum Senden einer Mitteilung an die Vermittlungs-Matrix 360. Die Vermittlungs-Matrix 360 stellt die Vermittlungsstruktur des Netzwerkes so ein, dass eine Verbindung zwischen den Quellen- und Ziel-Sprache-Geräten hergestellt wird. Wenn ein Anruf von einem Gerät an dem entfernt angeordneten Gerätegestell 340 dadurch eingeleitet wird, dass das Gerät in den Aushängezustand übergeht, so wird eine Mitteilung von dem Quellengerät an dem entfernt angeordneten Gerätegestell 340 an einen Anruf-Server-Prozess gesandt, der auf der Master-CPU 390 abläuft, was anzeigt. dass das sich Gerät im Aushängezustand befindet. Der Anruf-Server-Prozess konfiguriert die Vermittlungs-Matrix 360 derart, dass das Quellengerät an dem entfernt angeordneten Gerätegestell 340 mit einem Kanal verbunden wird, der einen Wählton an das neu aktiv gewordene Gerät liefert. Wenn das Wählen an dem Quellengerät an dem entfernt angeordneten Gerätegestell 340 beginnt, was ein gewünschtes Ziel anzeigt, mit dem Kontakt aufgenommen werden soll, so wird eine weitere Mitteilung, die das angewählte Ziel identifiziert, an den Anruf-Server-Prozess gesandt, der auf der Master-CPU abläuft, die ihrerseits beginnt, die gewählte Nummer auszuwerten, um festzustellen, ob sie gültig ist. Wenn der Anruf-Server-Prozess feststellt, dass die Nummer gültig ist, beginnt er dann die Suche nach dem angeforderten Zielgerät. Wenn das Zielgerät gefunden wurde, weist der Anruf-Server-Prozess die Vermittlungs-Matrix 360 an, eine Verbindung zwischen den Quellen- und Zielgeräten über die Vermittlungs-Matrix 360 herzustellen, wodurch ein Zweiweg-Sprachpfad aufgebaut wird.
  • 5 zeigt eine typische Vermittlungs-Matrix 360 zur Analyse und zur Erzeugung eines Paketes. Ein Multiplexer/Demultiplexer 500 empfängt und sendet IP-Pakete über die Datenverbindungsstrecke 310. Wenn er IP-Pakete empfängt, nimmt der Multiplexer/Demultiplexer 500 die sequenziell geordneten Kanäle und bringt sie in eine parallele Ordnung und sendet diese Information an die Vermittlung 510. Umgekehrt nimmt bei der Aussendung von IP-Paketen der Multiplexer/Demultiplexer 500 die parallel geordneten Kanäle von der Vermittlung 510 und bringt sie in eine sequenzielle Ordnung, damit sie in ein IP-Paket eingefügt werden. Der Multiplexer/Demultiplexer 500 gibt parallele Daten an eine Vermittlung 510 ab oder er erzeugt ein IP-Paket. Eine Tabelle in der Vermittlung 510 bestimmt die Kanalpositionen in einem IP-Paket. Selbstverständlich hat in einer nicht blockierenden Betriebsart jedes Sprachegerät in dem Netzwerk einen Kanal zur Zuordnung durch die Vermittlungs-Matrix verfügbar.
  • 7 zeigt ein Diagramm hoher Ebene eines Netzwerkes 700 gemäß der vorliegenden Erfindung. Das Netzwerk 700 schließt ein System zum Senden von Sprachdaten über ein Daten-Netzwerk, beispielsweise eine LAN-basierte Sprachvermittlung (PBX) über eine Datenverbindungsstrecke 710 unter Verwendung des Internetprotokolls (IP) ein. Andere Daten-Netzwerke könnten ebenfalls verwendet werden. Sprache-Geräte, wie z.B. interne Telefone und externe Leitungen, sind über eine jeweilige Leitungskarte 720 oder eine Fernleitungskarte 730, die in einem Erweiterungs-Gerätegestell 740 unter Einschluss einer entfernt angeordneten CPU 750 über eine jeweilige Leitung oder einen Kanal verbunden. Die Karten 720 und 730 werden selektiv in einen einer Vielzahl von Steckplätzen 755 in dem Gerät geladen. Obwohl ein einzelnes Erweiterungs-Gerätegestell 740 in 7 gezeigt ist, könnte die PBX mehrere Erweiterungs-Gerätegestelle einschließen.
  • Die Datenverbindungsstrecke 710 verbindet das Erweiterungs-Gerätegestell 740 mit einer Vermittlungs-Matrix 760. Die Datenverbindungsstrecke 710 könnte eine einzelne Leitung oder ein Mehr-Hop-Netzwerk sein. Die Vermittlungs-Matrix 760 lenkt Informationen von den Sprache-Geräten an andere Sprache-Geräte, intern über die Leitungskarten 720 und extern über die Fernleitungskarten 730.
  • Ein auf einer Master-CPU 790 ablaufender Prozess konfiguriert den derzeitigen Zustand der Vermittlungs-Matrix 760 über deren Rückwandebene 780. Alternativ könnte sich die Master-CPU 790 an einer von der Vermittlungs-Matrix 760 entfernten Stelle befinden, und der auf der Master-CPU 790 ablaufende Prozess kann die Vermittlungs-Matrix 760 über die Datenverbindungsstrecke 710 konfigurieren. Obwohl jede der Karten so gezeigt ist, als ob sie in ein Erweiterungs-Gerätegestell 740 geladen ist, das sich an einer von der Vermittlungs-Matrix 760 entfernten Stelle befindet, könnte eine andere gerätemäßige Ausgestaltung einige Karten in dem gleichen Gerätegestell einschließen, wie die Master-CPU 790. Ein oder mehrere Computer 795 können ebenfalls mit der Datenverbindungsstrecke 710 verbunden sein.
  • Die entfernt angeordnete CPU 750, die Vermittlungs-Matrix 760 und die Master-CPU 790 könnten eine Anzahl von Maschinen, eine getrennte Maschine oder ein Teil einer Maschine sein. Wie dies beispielsweise in 8 gezeigt ist, könnten sich jede der entfernt angeordneten CPU 750, Vermittlungs-Matrix 760 und Master-CPU 790 in Gerätegestellen befinden, die über die Datenverbindungsstrecke 710 kommunizieren. Beispielsweise schließt jedes der Gerätegestelle 800, 840 und 880 einen Speicher 801, 841 und 881, einen Sekundär-Speicher 802, 842 und 882, eine zentrale Verarbeitungseinheit (CPU) 790, 843 und 883; ein Eingabegerät 804, 844 und 884; eine Video-Anzeige 805, 845 und 885, und Steckplätze 806, 846 und 886 ein. Der Fachmann wird erkennen, dass die Gerätegestelle 800, 840 und 880 zusätzliche oder unterschiedliche Komponenten enthalten können, und dass jedes Gerätegestell die gleiche Hardware wie andere Gerätegestelle oder eine unterschiedliche Hardware einschließen könnte. Jeder der Speicher 801, 841 und 881 schließt ein Betriebssystem 807, 847 und 887, einen TCP/IP-Protokollstapel 808, 848 888, ein Karten- oder aktives Kommunikations-Detektionsprogramm 809, 849 und 889; ein Tabellen-Verwaltungsprogramm 810, 850 und 890 und ein Kommunikationsprogramm 811, 851 und 891 ein.
  • Ein Satz von Karten wird in die Steckplätze 806, 846 und 886 geladen. Typischerweise würden die Gerätegestelle 800, 840 und 880 zumindest 10 Steckplätze einschließen. Jedes der Gerätegestelle schließt weiterhin eine Vermittlungs-Matrix ein. In einer Master-/Slave-Konfiguration schließt eines der Gerätegestelle (das „Master-Gerätegestell"), beispielsweise das Gerätegestell 800, die Master-CPU 790 und die Vermittlungs-Matrix 760 ein. Andere Gerätegestelle 840 und 880 schließen die entfernt angeordneten CPU's 843 und 883 und die Vermittlungs-Matrizen 855 und 895 ein und werden als die entfernt angeordneten oder Erweiterungs-Gerätegestelle bezeichnet. In einer zentralisierten Master-/Slave-Konfiguration stellt lediglich die Vermittlungs-Matrix des Master-Gerätegestells die Zweiweg-Sprachpfad-Verbindungen her und schließt diese ab, und sie wird daher als die Master-Vermittlungs-Matrix bezeichnet. In anderen Konfigurationen könnten die Vermittlungs-Matrizen der entfernt angeordneten Gerätegestelle ebenfalls Zweiweg-Sprachpfad-Verbindungen mit beispielsweise anderen Sprache-Geräten herstellen und abschließen, die mit dem gleichen entfernt angeordneten Gerätegestell verbunden sind. In diesem Fall könnte das Master-Gerätegestell die entfernt angeordneten Gerätegestelle überwachen.
  • Wie dies in 9 gezeigt ist, schließt jede der Vermittlungs-Matrizen 760, 855, 895 einen Multiplexer/Demultiplexer 900 und ein Register 910 ein. Obwohl das Register 910 als von dem Multiplexer/Demultiplexer 900 getrennt gezeigt ist, könnten der Multiplexer/Demultiplexer 900 und das Register 910 in einem einzigen Gerät kombiniert sein. Der Multiplexer/Demultiplexer 900 formatiert und empfängt Pakete, die über die Datenverbindungsstrecke 710 gesandt werden, und gibt parallele Daten an eine Vermittlung 920 oder ein IP-Paket an die Datenverbindungsstrecke 710 ab, wobei beispielsweise eine anwenderprogrammierbare logische Anordnung verwendet wird. Das Register 910 speichert einen Wert, der die maximale Kanalzahl in dem Paket anzeigt. Dieses Paket wird dazu verwendet, die Paketlänge einzustellen. Wenn ein Paket empfangen wird, legt die Vermittlung 920 die parallelen Daten von dem Demultiplexer 900 auf den passenden Kanal in dem Gerätegestell auf der Grundlage der Einstellinformation von dem Treiber 930. Wenn ein Paket gesendet werden soll, legt die Vermittlung 920 die Daten für jeden detektierten aktiven Kanal auf einen Eingang des Multiplexers 900 auf der Grundlage der Einstellinformation von dem Treiber 930, so dass ein Paket gebildet werden kann.
  • Wie dies weiter unten erläutert wird, enthält das Register 910 einen Wert auf der Grundlage der Karten, die in einem bestimmten Gerätegestell zu einer bestimmten Zeit detektiert oder festgestellt werden. PBX-Anwendungen sind in der Lage, eine Anzahl von Sprachkanälen auf einer periodischen Basis auszusenden. Beispielsweise können 320 Kanäle alle 125 Mikrosekunden pro Verbindungsstrecke ausgesandt werden, was zu einer Bandbreite von 30 Mbps (Sprache + Signalisierung, ein Byte pro Kanal) führt. Weil Sprachpakete den größten Anteil dieser Bandbreite belegen, leitet ein System gemäß der Erfindung bestimmte Messungen als eine Anzeige des Netzwerk-Verhaltens ab und passt das System dynamisch an, um sicherzustellen, dass eine bestimmte Dienstgüte zu allen Zeiten aufrechterhalten wird.
  • Neuere Entwicklungen, die von Nortel Networks eingeführt wurden, haben dazu geführt, was die Fähigkeiten von PBX's dadurch erweitert wurden, dass sie verteilte PBX-Kommunikationsfähigkeiten über Daten-Netzwerke bereitstellen.
  • Das Option 11C-System, das von der Firma Nortel Networks hergestellt wird, ist eine Version des Meridian-1-Systems, das ein integriertes privates Nebenstellen-Vermittlungs-Telefonsystem bildet, das die Fähigkeit hat, integrierte Sprach- und Daten-Kommunikationen auf einem Einzelplatz-System abzuwickeln oder direkt mit einer Anzahl von anderen Option 11C-Systemen vernetzt zu werden. Option 11C/Meridian-1-Systeme werden als Beispiele von Systemen erwähnt, bei denen die Prinzipien der Erfindung in vorteilhafter Weise verwendet werden können.
  • Es ist jedoch aus der vorliegenden Beschreibung zu erkennen, dass die Erfindung auch in vorteilhafter Weise in einer Vielzahl von anderen Arten von Systemen und Netzwerken verwendet werden kann.
  • B. Architektur
  • 10 zeigt ein Ablaufdiagramm der Schritte des Betriebs des Netzwerkes 700 unter Einschluss der Gerätegestelle nach 8 gemäß den Prinzipien der vorliegenden Erfindung.
  • Zu Anfang ruft das Tabellen-Verwaltungsprogramm 810 in dem Master-Gerätegestell 800 das Karten-Detektionsprogramm 809 auf (Schritt 1000). Beim Hochfahren fragt das Karten-Detektionsprogramm 809 die Steckplätze in dem Gerätegestell 800 ab, um festzustellen, ob eine Leitungs- oder Fernleitungskarte in einen jeweiligen Steckplatz geladen ist. Bei manchen gerätemäßigen Ausgestaltungen würde das Master-Gerätegestell so konfiguriert sein, dass es keine Karten enthält, und diese Abfrage würde fortgelassen. Für die Steckplätze der anderen Gerätegestelle liefert das Karten-Detektionsprogramm 809 Befehle an die Erweiterungs-Gerätegestelle, um die anderen Karten-Detektionsprogramme 849 und 889 ablaufen zu lassen, um auf diese Weise festzustellen, ob eine Leitungs- oder Fernleitungskarte in ihre jeweiligen Steckplätze geladen ist, und um die Ergebnisse der Detektion an das Master-Gerätegestell 800 zu berichten. Bei anderen gerätemäßigen Ausgestaltungen könnten die Karten-Detektionsprogramme 849 und 889 Karten auf ihren jeweiligen entfernt angeordneten Gerätegestellen ohne vorhergehende Befehle von dem Master-Gerätegestell 800 ermitteln und die Ergebnisse der Detektion an das Master-Gerätegestell 800 berichten.
  • Auf der Grundlage der erfassten Karten erzeugt das Tabellen-Verwaltungsprogramm 810 eine Tabelle, die den Paket-Positionsindex für jeden Kanal definiert (das heißt identifiziert, wo die Information für eine Leitung in einem Paket angeordnet wird), für jedes Gerätegestell (Schritt 1010). Beispielsweise wird Kanälen für jede Karte, die in den entfernt angeordneten Gerätegestellen vorhanden ist, eine Position in dem Datenpaket zugeordnet. In einer typischen PBX-Installation hat eine Karte ein Maximum von 32 Einheiten. Typischerweise ist ein Sprache-Gerät mit jeder Einheit auf einer vorgegebenen Karte verbunden. Andere Installationen würden mehr oder weniger Einheiten pro Karte für jede jeweilige Karte einschließen.
  • Es steht eine Anzahl von Optionen zum Aufbau einer Tabelle zur Verfügung. Beispielsweise könnte das Tabellen-Verwaltungsprogramm 810 einfach die Paketpositionen 1-32 für die erste erfasste Karte, die Paketpositionen 33-64 für die nächste Karte usw. zuweisen. Alternativ könnte das Karten-Detektionsprogramm 809 die Charakteristiken der Karte erfassen, wie z.B. die Anzahl von Kanälen, die eine Karte unterstützt, oder den Typ der Karte (digital, analog usw.), und das Tabellen-Verwaltungsprogramm 810 würde lediglich soviele Paketpositionen für eine Karte zuordnen, wie die Karte unterstützen kann, oder Paketpositionen auf der Grundlage des Typs der Karte. Weiterhin würden, wenn der Steckplatz 3 eine Karte enthalten würde, die Paketpositionen 1-96 für die Karten 1-3 zugeteilt werden, unabhängig davon, ob die Schlitze 1 und 2 Karten enthalten würden. In gleicher Weise könnte das Tabellen-Verwaltungsprogramm 810 Paketpositionen für Kanäle auf der Grundlage des am niedrigsten numerierten Steckplatzes und des am höchsten numerierten Steckplatzes zuordnen, der eine Karte enthält, beispielsweise wenn eine Karte in den Steckplätzen 2 und 5 erfasst wird, so könnten die Paketpositionen 1-128 den Kanälen der Steckplätze 2-5 zugeordnet werden, unabhängig davon, ob die Steckplätze 3 und 4 Karten enthalten würden. Diese Optionen könnten auch kombiniert werden. Auf der Grundlage der erfassten Information berechnet das Tabellen-Verwaltungsprogramm 810 weiterhin die maximale Anzahl von Kanälen, die in einem Paket für jede Tabelle ausgesandt werden.
  • 17 zeigt eine Karten-Detektionstabelle 1100 gemäß der vorliegenden Erfindung, wenn das Karten-Detektionsprogramm 809 die Anzahl der Kanäle erfasst, die eine Karte unterstützt. In 17 schließt ein Gerätegestell fünf Steckplätze ein, und das Karten-Detektionsprogramm 809 erfasst drei Karten, die sich in den Steckplätzen 1, 3 bzw. 4 befinden. Das Karten-Detektionsprogramm 809 stellt fest, dass die Karte im Steckplatz 1 (Karte 1) eine 8-Kanal-Karte ist, und dass die Karten in den Steckplätzen 3 und 4 (Karten 3 und 4) jeweils 4-Kanal-Karten sind.
  • Um die Tabelle 1100 für dieses Gerätegestell zu belegen, ordnet, weil die Karte 1 eine 8-Kanal-Karte ist, das Tabellen-Verwaltungsprogramm die Paketpositionen 1-8 den ersten acht Kanälen der Karte 1 zu und zeigt einen Null-Wert für die 24 verbleibenden Kanäle an, was bedeutet, dass die Karte erfasst wurde, dass der Kanal jedoch nicht verwendet wird und der Kanal nicht gesendet wird. In ähnlicher Weise werden den Kanälen 1-4 der Karte 3 und den Kanälen 1-4 der Karte 4 die Paketpositionen 9-16 zugeordnet, und die verbleibenden 28 Kanäle werden auf einen Wert von Null gesetzt. Ein vorgegebener Wert, wie z.B. –1, wird allen 32 Kanälen zugeordnet, wenn eine Karte in einem bestimmten Steckplatz nicht festgestellt wird (beispielsweise Karten 2 und 5), und die Kanäle für den Schlitz werden nicht gesendet. Der derzeit in dem Register 910 gespeicherte Wert, falls vorhanden, wird auf 16 aktiviert, was die maximale Kanalzahl auf der Grundlage der zu dieser Zeit erfassten Karten ist. Selbstverständlich stellt 17 lediglich ein Beispiel einer Möglichkeit zur Belegung einer Tabelle dar. Unter manchen Umständen können die Kanäle in einer Karte in einer nicht sequenziellen, sich wiederholenden Weise angeordnet sein (beispielsweise können die Kanäle der Karte als 1, 9, 17, 25, 2, 10, 18, 26, 3 ...) angeordnet sein.
  • Sobald das Tabellen-Verwaltungsprogramm 810 eine Tabelle für jedes entfernt angeordnete Gerätegestell in dem Netzwerk belegt hat, werden die Gerätegestelle synchronisiert, so dass das Master-Gerätegestell und jedes entfernt angeordnete Gerätegestell Pakete in Übereinstimmung mit den jeweiligen Tabellen erzeugen und analysieren können (Schritt 1020). Bei einer gerätemäßigen Ausgestaltung sendet das Tabellen-Verwaltungsprogramm des Master-Gerätegestells alle Tabellen an Tabellen-Verwaltungsprogramme der anderen Gerätegestelle und synchronisiert auf diese Weise die Gerätegestelle, oder es liefert Befehle an andere Gerätegestelle zur unabhängigen Erzeugung ihrer eigenen Tabelle. Weil das wiederholte Senden großer Tabellen die Systemressourcen beanspruchen könnte, und das Hochlaufen des Netzwerkes 700 verzögern könnte, könnte das Master-Gerätegestell 800 jedem der anderen Gerätegestelle den Positions-Index für den ersten Kanal jeder Karte in den jeweiligen anderen Gerätegestellen oder für die erste Karte in den jeweiligen anderen Gerätegestellen senden. Die anderen Gerätegestelle würden dann die Positions-Indizes der anderen Kanäle und die maximale Anzahl von Kanälen berechnen. Beispielsweise könnte zur Information eines Gerätegestells über die Struktur der Tabelle 1100 das Gerätegestell 800 eine Mitteilung an das Gerätegestell senden, dass die Karte 1 einen Positions-Index beginnend bei 1 hat, dass die Karte 3 einen Positions-Index beginnend bei 9 hat, und dass die Karte 4 einen Positions-Index beginnend bei 13 hat. Die Mitteilung könnte verschiedene Formen annehmen, wie z.B. einen Teil einer Sprach-Mitteilung, einen Teil einer Verbindungsaufbau-Mitteilung, einen Teil eines Verbindungs-Status oder einer „Herzschlag"-Mitteilung oder einer dedizierten Mitteilung. In anderen gerätemäßigen Ausgestaltungen könnte jedes der Tabellen-Verwaltungsprogramme der entfernt angeordneten Gerätegestelle seine eigene Tabelle berechnen und das Master-Gerätegestell über das Format seiner jeweiligen Tabelle informieren. Dies würde die Verarbeitungslast des Master-Gerätegestells verringern. Selbstverständlich könnte die Karten-Statusinformation an das Master-Gerätegestell für jedes entfernt angeordnete Gerätegestell gesandt werden, so dass das Master-Gerätegestell die Karten-Statusinformation speichern und unabhängig die Tabellen erzeugen oder aktualisieren kann, wie dies weiter oben erwähnt wurde.
  • Nachdem die Gerätegestelle synchronisiert wurden, ist das Netzwerk bereit, Sprachdaten zu verarbeiten, und das Tabellen-Verwaltungsprogramm liefert Befehle an das Kommunikationsprogramm, mit der Verarbeitung von Spracheanrufen zu beginnen (Schritt 130). Verschiedene Verfahren stehen zur Verarbeitung von Sprachanrufen zur Verfügung. Wenn beispielsweise ein Sprachegerät eine Kommunikation anfordert, so sendet das das Sprache-Gerät einschließende Gerätegestell eine Anforderung an das Master-Gerätegestell, unter Einschluss einer Anzeige eines Ziel-Sprache-Gerätes. Zur Erleichterung der Erläuterung sei angenommen, dass diese Anforderung mit einer einzigen Mitteilung gemacht wird, obwohl verschiedene Mitteilungen zur Initialisierung der Verbindungsstrecke zwischen den Quellen- und Ziel-Sprachegeräten ausgesandt werden könnten, wie z.B. die, die in einer Signalisierungsanforderung oder Signalisierungs-Mitteilungen verwendet werden. Diese Signalisierungs-Mitteilungen zeigen an, dass ein Sprache-Gerät in den Aushängezustand übergegangen ist, und dass das Wählen eingeleitet wurde. Zu Anfang ist die Tabelle in dem Master-Gerätegestell 800 leer, sie beginnt sich jedoch zu füllen, wenn neue Anrufe auf dem Netzwerk angefordert werden. Bei Empfang der Anzeige des Ziels bestimmt das Master-Gerätegestell 800, ob der Anruf ein neuer Anruf ist, der die Zuordnung eines neuen Kanals erfordert, das heißt eine Umkonfiguration der Vermittlungs-Matrix 760 (Schritt 1020).
  • 1. Kanal-Zuteilung und Aufhebung der Zuteilung
  • Wenn der Anruf ein neuer Anruf ist, sucht das Master-Gerätegestell nach dem ersten verfügbaren Kanal und stellt die Vermittlungs-Matrix 760 so ein, dass die Hardware in dem Master-Gerätegestell auf die Quellen- und Zielgeräte hört und die Sprachkommunikation zwischen den Quellen- und Zielgeräten vermittelt (Schritt 1030). Im Einzelnen lädt die Vermittlungs-Matrix 760 die Tabellen, die den Quellen- und Ziel-Gerätegestellen entsprechen, so dass Pakete auf der Grundlage der erfassten Karten erzeugt werden.
  • Gleichzeitig mit der Verarbeitung von Sprachanrufen stellt beispielsweise das Tabellen-Verwaltungsprogramm fest, ob sich der Kartenstatus geändert hat, beispielsweise durch die Entfernung einer Karte oder die Hinzufügung einer neuen Karte (Schritt 1040), und zwar entweder kontinuierlich oder auf der Grundlage einer Ereignis-Benachrichtigung oder unter vorgegebenen Intervallen. Die „Entfernung" einer Karte schließt die körperliche Entfernung und/oder die betriebsmäßige Entfernung ein, beispielsweise wenn eine Karte aufgrund einer Fehlfunktion abgeschaltet wird. Das Karten-Detektionsprogramm 809 stellt in einer Anzahl von Arten fest, ob sich der Kartenstatus geändert hat. Beispielsweise könnte jedesmal dann, wenn eine Karte hinzugefügt oder entfernt wird, ein Erweiterungs-Gerätegestell, das der Karte zugeordnet ist, eine Mitteilung an das Karten-Detektionsprogramm 809 senden. Alternativ könnte ein Installateur manuell das Karten-Detektionsprogramm 809 unter Verwendung eines Eingabegerätes benachrichtigen. In diesen Schemas könnte das Karten-Detektionsprogramm 809 den höchsten Steckplatz feststellen, auf dem sich eine Karte in einem vorgegebenen Gerätegestell befindet, und lediglich nach hinzugefügten Karten jenseits dieses Punktes schauen, wodurch ein Kompromiss zwischen einer Bandbreiten-Optimierung und einer einfachen Verarbeitung getroffen wird. Wenn sich der Kartenstatus für ein bestimmtes Gerätegestell oder Gerätegestelle ändert, so gleicht das Tabellen-Verwaltungsprogramm des Master- oder des entfernt angeordneten Gerätegestells die Tabelle entsprechend der festgestellten Änderung des Kartenstatus ab (Schritt 1050).
  • Es stehen verschiedene Optionen zum Abgleich der Tabellen zur Verfügung. Der Abgleich könnte in der Reihenfolge des Ankommens erfolgen. Statt dessen kann die Entfernung von Karten als erstes behandelt werden, um verfügbare Positionen für neue Karten freizumachen. Die der entfernten Karte entsprechenden Positionen sollten durch Verschieben der Paketpositions-Indizes der Karten, die auf die entfernte Karte folgen, in die Paketpositions-Indizes der entfernten Karte gefüllt werden. Statt dessen könnten auch die Paketpositions-Indizes der letzten festgestellten Karte, unter Einschluss einer neu hinzugefügten Karte den Paket-Positions-Indizes der entfernten Karte zugeordnet werden, unter der Annahme, dass die neu hinzugefügte Karte und die entfernte Karte ähnliche Charakteristiken haben.
  • Wenn Karten hinzugefügt werden, ordnet eine Option auf der Grundlage des ersten Ankommens Paketpositionen nachfolgend zu der letzten erfassten Karte der neuen Karte zu. Dies könnte zu einer logischen Zuordnung von Paketpositionen führen, die von der physikalischen Konfiguration der Steckplätze verschieden ist. Wenn beispielsweise Karten in den Steckplätzen 1 und 3 beim Hochlaufen erfasst werden, und eine Karte im Betrieb zu dem Steckplatz 2 hinzugefügt wird, so könnte eine Tabelle gemäß der vorliegenden Erfindung die Paketpositionen 1-64 den Karten 1 und 3 zuordnen, und die Paketpositionen 65-96 der Karte 2. Alternativ könnte das Tabellen-Verwaltungsprogramm die Paketpositionen von Grund auf zuordnen, das heißt nachfolgend beispielsweise die Paketpositionen 1-96 den Karten 1, 2 und 3 zuordnen. Die zum Aufbau von Tabellen während des Hochlaufens verwendete Option kann auch dann verwendet werden, wenn die Tabellen abgeglichen werden oder eine andere Option könnte verwendet werden. Die Entscheidung, welche Tabellen-Option zu verwenden ist, könnte auf einem festgestellten Systemparameter beruhen, wie z.B. der Dienstgüte des Netzwerkes oder einer derzeitigen Belastung einer CPU.
  • Nachdem die Tabelle oder die Tabellen abgeglichen wurden, werden die Tabellen der entfernt angeordneten und der Master-Gerätegestelle in einer Weise ähnlich zum Schritt 120 synchronisiert (Schritt 1060), und das Tabellen-Verwaltungsprogramm 810 wartet weiterhin darauf, dass sich der Kartenstatus erneut ändert (Schritt 1040). Weil das System im Wesentlichen in Echtzeit arbeiten kann, würde das Senden von Sprache-Mitteilungen auf der Grundlage des neuen Tabellenformates verhindert, bis die Tabellen des speziellen entfernt angeordneten Gerätegestells und des Master-Gerätegestells unter Verwendung eines Quittungsaustauschs synchronisiert sind. Typischerweise ist dieser Quittungsaustausch nicht erforderlich, und die Sprache-Mitteilungen könnten ausgesandt und gepuffert werden oder sogar verlorengehen, weil die Synchronisation eine kurze Zeit erfordern würde, wie z.B. weniger als einige Sekunden.
  • Als ein Beispiel zeigt 18 die Formung eines Paketes gemäß der Architektur der 7-9 für Pakete, die zwischen dem Gerätegestell 840 und dem Master-Gerätegestell 800 ausgesandt werden. Es sei beispielsweise angenommen, dass die Einheit 3 des Steckplatzes 1 in dem Gerätegestell 840 mit der Einheit 3 des Steckplatzes 3 im Gerätegestell 840 kommunizieren möchte, und dass das Master-Gerätegestell die einzige Vermittlungs-Matrix enthält, die Anrufe zu Sprachegeräten lenkt. Es sei weiterhin angenommen, dass der Steckplatz 2 des Gerätegestells 840 leer ist.
  • Zur Initialisierung einer Kommunikationssitzung konfiguriert das Anruf-Verarbeitungsprogramm in dem Master-Gerätegestell 800 die Vermittlungs-Matrix 760 derart, dass die Einheit 3 des Steckplatzes 1 in dem Erweiterungs-Gerätegestell 840 mit der Einheit 3 des Steckplatzes 3 in dem Erweiterungs-Gerätegestell 840 verbunden wird, und zwar entsprechend der Tabelle für das Erweiterungs-Gerätegestell. Ein Beispiel einer Tabelle für das Gerätegestell 840 gemäß der vorliegenden Erfindung könnte die Einheit 3 des Steckplatzes 1 in die Paketposition 3 und die Einheit 3 für den Steckplatz 3 in die Paketposition 35 bringen (das heißt als ob Steckplatz 3 Steckplatz 2 sein würde). Nachdem das Master-Gerätegestell 860 die Vermittlungs-Matrix 760 eingestellt hat, senden die Einheiten in dem Gerätegestell 840 Sprache-Information.
  • Wie dies in 18 gezeigt ist, „horcht" das Kommunikationsprogramm in dem Gerätegestell 840 auf die Einheit 3 des Steckplatzes 1 und die Einheit 3 des Steckplatzes 3 und legt Informationen von diesen Einheiten beispielsweise auf die Ausgabepositionen 3 bzw. 35 der Vermittlungs-Matrix 844 auf der Grundlage der Tabelle für das Gerätegestell 840. Der Multiplexer 900 fragt dann die Vermittlungs-Matrix ab, um die Information von den Einheiten in die passenden Paketpositionen 3 und 35 zu bringen. Weil der Multiplexer 900 die maximale Kanal-Anzahl kennt, zeigt der Multiplexer 900 an, dass das Paket vollständig ist, wenn er die maximale Kanalzahl verarbeitet hat. Die Datenverbindungsstrecke 710 überträgt dann das Paket an das Master-Gerätegestell 800, wo das Paket demultiplexiert und an die Vermittlungs-Matrix 760 gesandt wird. Die Vermittlungs-Matrix 760 ist so konfiguriert, dass sie Information von der Paketposition 3 an die Paketposition 35 sendet, und umgekehrt.
  • Wie dies in 19 gezeigt ist, erzeugt das Master-Gerätegestell 800 dann ein IP-Paket, das an das Gerätegestell 840 zu senden ist. Der Multiplexer 900 des Master-Gerätegestells fragt dann die Vermittlungs-Matrix 760 ab, um die Information von der Paketposition 3 in die Paketposition 35 und von der Paketposition 35 in die Paketposition 3 zu bringen. Weil der Multiplexer 900 die maximale Kanalzahl kennt, zeigt der Multiplexer 900 an, dass das Paket vollständig ist, wenn die maximale Kanalzahl verarbeitet wurde. Die Datenverbindungsstrecke 710 überträgt das Paket dann an das Gerätegestell 840, an dem das Paket demultiplexiert und zu der passenden Spracheeinheit gesandt wird. Daher kann Sprache-Information zwischen den Quellen- und Ziel-Sprache-Geräten übertragen werden.
  • C. Schluss
  • Karten-Detektionssysteme ermöglichen es Systemen und Verfahren gemäß der vorliegenden Erfindung, die Menge an Bandbreite zu verringern, die zur Übertragung von Sprachdaten in einem Netzwerk erforderlich ist, indem die Größe (Länge) des Paketes verringert wird. Weil der Kartenstatus nur selten geändert wird, verwenden diese Systeme und Verfahren eine minimale Menge an zusätzlicher Hardware und Verarbeitung.
  • Im Einzelnen lädt das aktive Kommunikationsprogramm 809 die den Quellen- und Ziel-Gerätegestellen entsprechenden Tabellen derart, dass Pakete auf der Grundlage der aktiven (bewegten) Kanäle erzeugt werden. Dies macht die Größe des Paketes dadurch zu einem Minimum, dass es lediglich diejenigen Kanäle enthält, die aktiv sind. Diese Verringerung der Größe verringert andererseits die zum Senden des Paketes erforderliche Bandbreite. Bei einer gerätemäßigen Ausgestaltung sucht das Master-Gerätegestell nach dem ersten verfügbaren Kanal, wenn eine neue Anruf-Anforderung gemacht wird, doch sind die Suchtechniken nicht nur auf das Suchen des ersten verfügbaren Kanals beschränkt. Typischerweise wird, wenn ein vorher aktiver Kanal inaktiv geworden ist, das aktive Kommunikations-Detektionsprogramm 809 (wobei „Kommunikation" irgendein Kommunikationsgerät einschließt) diesen Kanal dem neuen Anruf zuordnen.
  • Nach dem Empfang einer neuen Anruf-Anforderung und nach einer Suche nach einem verfügbaren Kanal ordnet das aktive Kommunikations-Detektionsprogramm 809 einen Kanal dem einen neuen Anruf anfordernden Sprache-Gerät zu (Schritt 1040). Wenn, wie dies weiter oben erwähnt wurde, das aktive Kommunikations-Detektionsprogramm 809 während seiner Suche einen neu inaktiv gewordenen Kanal lokalisiert, so wird es diesen Kanal dem neuen Anruf zuordnen. Wenn jedoch keine kurz vorher inaktiv gewordenen (Leerlauf-) Kanäle gefunden werden, so wird der neue Anruf einem neuen inaktiven Kanal an dem Ende der Tabelle zugeordnet.
  • Bei einer gerätemäßigen Ausgestaltung werden, wenn keine neuen Anruf-Anforderungen gemacht werden und es keine vorhandenen Anrufer auf dem Netzwerk gibt, das heißt keine aktiven Kanäle, überhaupt keine Kanäle übertragen. Wenn jedoch eine neue Anruf-Anforderung gemacht wird, und nach dem Suchen nach dem ersten verfügbaren Kanal das aktive Kommunikations-Detektionsprogramm 809 keinen inaktiven Kanal findet, der dem neuen Anruf zuzuordnen ist, so teilt sie dem Anruf einen neuen Kanal zu und ordnet diesen dem Anruf zu. Wie dies in 11a gezeigt ist, wird ein neuer Anruf dem Kanal 1 in dem Datensegment 1111 des Paketes 1110 zugeordnet. Wenn eine weitere Anruf-Anforderung gemacht wird, bevor der Kanal 1 inaktiv wird, so wird dem neuen Anruf der Kanal 2 in dem Datensegment 1121 des Paketes 1120 zugeordnet, wie dies in 11b gezeigt ist. Dieser Prozess wird fortgesetzt, bis die maximale Anzahl der Kanäle auf dem Netzwerk aktiv ist, und, wie dies in 11 gezeigt ist, werden alle in das Datensegment 1131 des Paketes 1130 eingefügt. Es sei bemerkt, dass sich die Größe der Pakete 1110 bis 1140 in Abhängigkeit von der Anzahl der aktiven Kanäle auf dem Netzwerk ändert. Wenn Kanäle hinzugefügt werden, so steigt die Paketgröße an, und wenn Kanäle entfernt werden, so verringert sich die Paketgröße. Wie dies weiter oben erwähnt wurde, ändert diese Änderung der Größe die Menge an Bandbreite, die zur Übertragung der Pakete über das Netzwerk hinweg erforderlich ist.
  • Bei anderen Ausführungsformen teilt das aktive Kommunikations-Detektionsprogramm 809 anfänglich eine Gruppe von Kanälen zu. Wie dies in 12a gezeigt ist, ist diese Gruppe in dem Datensegment 1211 des Paketes 1210 enthalten. Die Gruppe könnte aus einem einzigen Kanal oder der maximalen Anzahl von Kanälen oder irgendeiner Anzahl zwischen diesen Werten bestehen. Zusätzlich könnte die Gruppe von Kanälen irgendeine Variation der Kanäle sein, die sich auch in einem Gerätegestell eingesteckten Karten befinden, das heißt wenn der vierte Kanal auf der zweiten Karte in einem Gerätegestell aktiv wird, so könnte die Gruppe aus allen Kanälen auf der ersten Karte und allen Kanälen bis zum Kanal 4 auf der zweiten Karte bestehen.
  • Die Kanäle innerhalb der zugeteilten Gruppe sind anfänglich inaktiv. Wenn neue Anruf-Anforderungen empfangen werden, ordnet das aktive Kommunikations-Detektionsprogramm die Anrufe den Kanälen innerhalb der Gruppe zu. Wenn alle Kanäle innerhalb der Gruppe zugeordnet sind, wird eine neue Gruppe von Kanälen bei Empfang der nächsten Anruf-Anforderung zugeordnet. Die neue Gruppe ist in dem Datensegment 1221 des Paketes 1220 enthalten, wie dies in 12b gezeigt ist. Dieser Prozess wird fortgesetzt, bis alle Gruppen, die allen verfügbaren Gruppen entsprechen, zugeordnet sind. Wenn dies erfolgt ist, werden alle Gruppen in das Datensegment 1231 eines Paketes 1230 eingefügt.
  • Bei einer Ausführungsform der Erfindung besteht die Gruppe aus 16 Kanälen, wie dies in 13 gezeigt ist. Anfänglich wird eine erste Gruppe von 16 inaktiven Kanälen zugeteilt. Wenn die Anzahl der aktiven Kanäle innerhalb der Gruppe eine Zahl erreicht, die gleich der maximalen Anzahl von zugeteilten Kanälen abzüglich 5 ist, so wird eine neue Gruppe zugeteilt. Dieser Prozess setzt sich fort, bis alle Gruppen zugeteilt wurden.
  • Nachdem dem Anruf ein Kanal zugeordnet wurde, bestimmt das aktive Kommunikations-Detektionsprogramm 809 dann, ob die maximale Anzahl von zu übertragenden Kanälen angestiegen ist (Schritt 1050). Wie dies weiter oben angegeben wurde, wird, wenn ein kürzlich inaktiv gewordener Kanal während der Suche nach einem Kanal gefunden wird, der neue Anruf diesem Kanal zugeordnet. Wenn dies der Fall ist, so steigt die maximale Anzahl der zu übertragenden Kanäle nicht an. Im Gegensatz hierzu ordnet, wenn kein neu inaktiv gewordener Kanal während dieser Suche gefunden wird, das aktive Kommunikations-Detektionsprogramm 809 der neuen Anruf-Anforderung einen neuen Kanal zu. Wenn dies erfolgt, so vergrößert das aktive Kommunikations-Detektionsprogramm 809 die maximale Anzahl von zu übertragenden Kanälen und informiert den Multiplexer 900, damit dieser die neue maximale Anzahl von Kanälen einstellt (Schritt 1060).
  • Das aktive Kommunikations-Detektionsprogramm 809 lädt dann die Tabellen, die den Quellen- und Ziel-Gerätegestellen entsprechen, so dass Pakete auf der Grundlage der aktiven Kanäle erzeugt und ausgesandt werden (Schritt 1070).
  • Wie dies weiter oben erläutert wurde, schließt das aktive Kommunikations-Detektionsprogramm 809 aktive Kanäle in Mitteilungen ein, die über das Netzwerk hinweg ausgesandt werden. Zusätzlich hierzu beendet das Kanal-Detektionsprogramm 809 die Übertragung eines Kanals, sobald dieser inaktiv geworden ist, auf der Grundlage einer Signalisierung von einem Quellen- zu einem Zielgerät, das die Anrufbeendigung anfordert. Wenn das aktive Kommunikations-Detektionsprogramm 809 feststellt, dass es keine neuen Anruf-Anforderungen im Schritt 1020 gibt, so bestimmt es dann, ob irgendwelche früher aktiven Anrufe inaktiv geworden sind (Schritt 1080). Wenn dies der Fall ist, so wird das aktive Kommunikations-Detektionsprogramm 809 die Zuordnung des inaktiven Kanals aufheben, so dass dieser nicht mehr länger in dem Sprache-Paket enthalten ist (Schritt 1090).
  • Unter Bezugnahme auf die 11c und 11d ist zu erkennen, dass wenn beispielsweise die maximale Anzahl von Kanälen aktiv sein würden, alle in dem Datensegment 1131 eines Paketes 1130 enthalten sein würden. Unter der Annahme, dass die maximale Anzahl von Kanälen größer als vier ist, sei angenommen, dass alle Kanäle mit Ausnahme der ersten vier Kanäle inaktiv werden. Diese verbleibenden aktiven Kanäle werden in das Datensegment 1121 eines Paketes 1130 eingefügt, während die anderen nicht zugeordnet sind. Es sei jedoch bemerkt, dass in diesem Beispiel alle Kanäle mit Ausnahme der ersten vier inaktiv wurden, und dass entsprechend diese vier übertragen werden. Somit können über das Netzwerk während einer Aussendung übertragene Pakete eine unterschiedliche Größe während einer anderen Aussendung haben, und zwar auf der Grundlage der Anruf-Aktivität.
  • Dieses Konzept gilt auch für Gruppen von Kanälen, die zugeteilt wurden. Es sei beispielsweise angenommen, dass drei Gruppen von 16 Kanälen zugeteilt wurden, und dass alle Kanäle aktiv sind. Wenn eine bestimmte Anzahl inaktiv wird, so hebt das aktive Kommunikations-Detektionsprogramm die Zuteilung einer Gruppe auf. Wenn bei einer Ausführungsform die Anzahl der aktiven Kanäle unter eine Anzahl fällt, die gleich der Gesamtzahl der zugeteilten Kanäle abzüglich 21 ist, so wird die Zuteilung der Gruppe aufgehoben. Es sei bemerkt, dass bei dieser Ausführungsform dies bedingt, dass eine Gruppe von 16 Kanälen immer zugeteilt ist. Dies ist in den 14a und 14b gezeigt. 14a zeigt drei Gruppen von 16 Kanälen, die mit allen Kanälen im aktiven Zustand zugeteilt sind, worauf die Kanäle 27-48 inaktiv werden. Weil die verbleibende Anzahl von aktiven Kanälen, 26, kleiner als 27 ist, was die Gesamtzahl von zugeteilten Kanälen, 48, abzüglich 21, darstellt, wird die Zuteilung der dritten Gruppe aufgehoben. Das resultierende Paket 1420, das mit den verbleibenden zwei Gruppen in der Datenposition 1421 auszusenden ist, ist in 14b gezeigt.
  • Wenn die Zuordnung eines vorher aktiven Kanals aufgehoben wird, so wird die maximale Anzahl der übertragenen Kanäle verringert, und das aktive Kommunikations-Detektionsprogramm 809 informiert den Multiplexer 900, damit dieser die neue maximale Anzahl von Kanälen durch Setzen des Registers 910 einstellt (Schritt 1060). Der Prozess zum Senden eines Paketes wird dann wiederholt.
  • Wie dies weiter oben kurz angegeben wurde, führt die vorliegende Erfindung die Zuordnung und die Aufhebung der Zuordnung aus, wenn sie aktiv bzw. inaktiv werden. Die 10a-10c zeigen die Schritte der Zuordnung und der Aufhebung der Zuordnung von Kanälen. 10a zeigt den Kanal-Zuordnungsprozess. Zunächst wird eine Signalisierungs-Mitteilung empfangen, die anzeigt, dass ein Sprache-Gerät in den Aushängezustand übergegangen ist (Schritt 2000). Diese Mitteilung enthält die IP-Port-Nummer, die mit der Datenverbindungsstrecke 710 für das Sprache-Gerät verbunden ist. Die Steckplatz-Nummer für das Sprache-Gerät wird dann auf der Grundlage der Position des Sprache-Gerätes bestimmt (Schritt 2010), das heißt auf der Grundlage, mit welchem Erweiterungs-Gerätegestell das Sprache-Gerät verbunden ist. Wenn die Einheit keinen ihr zugeordneten Kanal hat (Schritt 2020), so wird eine Suche nach dem ersten verfügbaren Kanal ausgeführt (Schritt 2030). Sobald der Kanal gefunden wurde, wird er dem anfordernden Sprache-Gerät zugeordnet und als „aktiv" markiert (Schritt 2040). Wenn dies dazu führt, dass sich die maximale Anzahl von in einem Paket enthaltenen Kanälen ändert (Schritt 2050), so wird die maximale Anzahl von Kanälen auf diesen neuen Wert zurückgesetzt (Schritt 2060). Eine Daten-Mitteilung wird dann an das andere Gerätegestell gesandt, die die physikalische Verbindungsinformation des Sprache-Gerätes anzeigt, wie z.B. dessen Einheits- und Steckplatz-Nummer, sowie die Kanal-Nummer (Schritt 2070). Diese Mitteilung könnte verschiedene Formen annehmen und zum Beispiel einen Teil der Verbindungsstatus- oder „Herzschlag"-Mitteilung oder eine ausschließlich zugeordnete Mitteilung bilden. Die Vermittlungs-Matrix 760 wird dann entsprechend dem neuen Kanal, der dem Sprache-Gerät zugeordnet ist, umkonfiguriert (Schritt 2080).
  • Die Aufhebung der Kanalzuordnung, die in 10b gezeigt ist, arbeitet in einer ähnlichen Weise. Eine Signalisierungs-Mitteilung wird empfangen, die die Kanal- und Steckplatz-Nummer des Sprache-Gerätes anzeigt, das inaktiv geworden ist (Schritt 3000). Eine Suche für die Einheits-Nummer wird dann ausgeführt (Schritt 3010). Wenn dem Sprache-Gerät ein Kanal zugeordnet war, so wird die Zuordnung des Kanals aufgehoben und der Kanal als inaktiv markiert (Schritt 3030). Wenn dies die maximale Anzahl von Kanälen ändert, die in ausgesandten Paketen enthalten sind (Schritt 3040), so wird die maximale Anzahl von Kanälen auf dem neuen Wert zurückgesetzt (Schritt 3050). Eine Mitteilung wird an das andere Gerätegestell gesandt, die anzeigt, dass die Zuteilung eines Kanals aufgehoben wurde (Schritt 3060). Diese Mitteilung könnte verschiedene Formen annehmen, sie könnte beispielsweise ein Teil einer Sprache-Mitteilung, ein Teil einer Anrufaufbau-Mitteilung, ein Teil einer Verbindungsstatus- oder „Herzschlag"-Mitteilung oder eine ausschließlich für diesen Zweck bestimmte Mitteilung sein.
  • 10c ist eine Endlosschleife, die auf Signalisierungs-Mitteilungen wartet, die in den vorstehenden Erläuterungen erwähnt wurden. Sie horcht auf Daten-Mitteilungen von den Schritten 2070 und 3060 nach den 10a bzw. 10b.
  • Wenn eine Mitteilung empfangen wird (Schritt 4010), so bestimmt sie, ob ein Kanal zugeordnet oder eine Zuordnung aufgehoben werden muss (Schritt 4020). Wenn ein Kanal zugeordnet werden muss, wird er zugeordnet (Schritt 4040), wenn jedoch die Zuordnung eines Kanals aufgehoben werden muss, so wird diese Zuteilung aufgehoben (Schritt 4030). Wenn sich die maximale Anzahl von Kanälen, die in einem auszusendenden Paket enthalten sind, ändert (Schritt 4050), so wird die maximale Anzahl von Kanälen zurückgesetzt (Schritt 4060).
  • Typischerweise laufen die Prozesse für die Kanalzuteilung und Aufhebung der Kanalzuteilung nach den 10a und 10b auf dem Haupt-Gerätegestell ab, und der Prozess nach 10c läuft auf dem Erweiterungs-Gerätegestell ab. Wenn die Prozesse nach den 10a und 10b jedoch auf das Haupt- und Erweiterungs-Gerätegestell aufgeteilt sind, so muss sich der Prozess nach 10c auf jedem Gerätegestell befinden. Dies ergibt sich daraus, dass wenn das Haupt-Gerätegestell nur den Prozess nach 10a (Kanalzuordnung) ausführen würde, es keine Möglichkeit haben würde, zu wissen, wann die Zuordnung von Kanälen aufgehoben wird, weil die Aufhebung der Zuordnung von Kanälen in dem Erweiterungs-Gerätegestell erfolgt, und umgekehrt. Es sei bemerkt, dass diese drei Prozesse in irgendeiner Kombination auf die Haupt- und Erweiterungs-Gerätegestelle aufgeteilt werden können, unter der Voraussetzung, dass wenn sich die Prozesse nach den 10a und 10b auf getrennten Gerätegestellen befinden, der Prozess nach 10c auf allen Gerätegestellen ablaufen muss.
  • 2. Aktive Kanal-Umordnung
  • Um die Größe der über das Netzwerk übertragenen IP-Pakete weiter zu verringern, wodurch die zur Übertragung dieser Pakete erforderliche Bandbreite verringert wird, führt die vorliegende Erfindung weiterhin eine Umordnung der verbleibenden aktiven Kanäle aus, nachdem vorher aktive Kanäle innerhalb eines Paketes inaktiv wurden. Unter erneuter Bezugnahme auf die 11c und 11d sei angenommen, dass alle Kanäle des Paketes 1130 nach 11c mit Ausnahme des Paketes 4 inaktiv wurden. Unabhängig von den Kanalpositionen der vier verbleibenden Kanäle des Paketes 1130 nach 11c hebt die Master-Vermittlungs-Matrix die Zuordnung der inaktiven Kanäle auf und ordnet die verbleibenden vier aktiven Kanäle um, um die Größe des auszusendenden Paketes zu einem Minimum zu machen. Somit nimmt das neue Paket die Form des Paketes 1140 nach 11d an. Daher führt nach der Feststellung und der Aufhebung der Zuordnung von Kanälen, die inaktiv geworden sind, das aktive Kommunikations-Detektionsprogramm eine Umordnung der verbleibenden aktiven Kanäle durch, um die Größe des Paketes zu einem Minimum zu machen. Die Kanäle könnten dadurch umgeordnet werden, dass die verbleibenden aktiven Kanäle verschoben werden, oder dass der letzte aktive Kanal in dem Paket der neu inaktiven Position neu zugeteilt wird. Wenn beispielsweise die Kanäle 1-20 aktiv sein würden, und der Kanal 2 inaktiv wird, so würden die Kanäle 3-20 um eine Kanalposition nach rechts verschoben, oder der Kanal 20 könnte neu der Kanalposition 2 zugeordnet werden.
  • Die aktive Kanalumordnung gilt auch für Kanalgruppen, wie dies in 15 gezeigt ist. Wenn beispielsweise nach der Zuteilung von drei Gruppen Kanäle in einer zufälligen Weise inaktiv werden, so führt das aktive Kommunikations-Detektionsprogramm 809 eine Umordnung der verbleibenden aktiven Kanäle derart aus, dass die Anzahl der zugeteilten Kanalgruppen auf einem Minimum gehalten wird. In diesem Beispiel wird die Zuteilung der Gruppe 3 nach der Umordnung aufgehoben.
  • 3. Paketbildung und Aussendung
  • Die 18 und 19 zeigen ein Beispiel der Formung und Aussendung von Paketen gemäß der Architektur nach den 7-9 und der vorliegenden Erfindung für Pakete, die zwischen dem Gerätegestell 840 und dem Master-Gerätegestell 800 ausgesandt werden. Es sei bemerkt, dass in diesem Beispiel die Sprache-Geräte sich auf dem gleichen Gerätegestell 840 befinden, doch könnten die Sprache-Geräte auf getrennten Gerätegestellen liegen. Wie dies in 18 gezeigt ist, sendet, wenn der Kanal 10 des Gerätegestells 840 mit dem Kanal 5 des Gerätegestells 840 kommunizieren möchte, unter der Annahme, dass der Kanal 5 des Gerätegestells 840 inaktiv ist, das Gerätegestell 840 eine Anforderung an das Master-Gerätegestell 800 für eine Zuordnung eines Kanals für das mit dem Kanal 10 verbundene Gerät.
  • Das Master-Gerätegestell 800 sucht nach einem inaktiven Kanal und teilt in diesem Beispiel den Kanal 4 auf dem IP-Paket zu. Das Master-Gerätegestell 800 sendet dann diese Mitteilung an das Gerätegestell 840. Während die Nummer von dem mit dem Kanal 10 verbundenen Gerät gewählt wird, was anzeigt, dass dieses Gerät eine Verbindung mit dem Kanal 5 herstellen möchte, bestimmt das Master-Gerätegestell, ob das Ziel gültig ist. Wie dies in 19 gezeigt ist, sucht, sobald das Master-Gerätegestell 800 feststellt, dass das Ziel gültig ist, es dann nach dem ersten verfügbaren Kanal und ordnet einen Kanal für das Zielgerät zu und stellt weiterhin die neue maximale Kanalzahl ein, wenn eine neue maximale Anzahl zu setzen ist. In diesem Beispiel ist der Kanal für das Zielgerät – Kanal 5, dem Kanal max zugeordnet. Das Master-Gerätegestell 800 sendet dann eine Mitteilung an das Gerätegestell 840 mit dieser Information.
  • Der Zweiweg-Sprachpfad wird dann zwischen den zwei Geräten durch das Master-Gerätegestell 800 aufgebaut. Die in der Paketposition 4 empfangene Information wird von dem Master-Gerätegestell 800 zu der Paketposition max gelenkt. Umgekehrt wird die Information, die von der Paketposition max empfangen wird, von dem Master-Gerätegestell 800 an die Paketposition 4 gelenkt, so dass die mit den Kanälen 10 und 5 verbundenen Geräte miteinander kommunizieren können.
  • Es wird nunmehr auf die 20 Bezug genommen, in der zu erkennen ist, dass ein Ziel der vorstehenden Entwicklung darin besteht, eine Kommunikation (unter Einschluss von Sprache) zwischen zwei oder mehr PBX's über ein Daten-Netzwerk, wie z.B. ein IP LAN 10 bereitstellen zu können. In einer Konfiguration wirkt eine PBX 12 als ein Master (der auch als Haupt-Gerätegestell bezeichnet wird) und enthält eine Master-CPU und eine Master-Vermittlungs-Matrix, und die andere PBX's 14 werden nachgeführt (und werden auch als Erweiterungs-Gerätegestelle bezeichnet).
  • Die Kommunikation zwischen den PBX-Gerätegestellen umfasst Gruppen von Sprache- und anderen Paketen. Die Sprache-Pakete werden periodisch ausgesandt, und sie werden vollständig durch Software, Hardware, oder beides, kontrolliert (das heißt die Bildung und Aussendung), und sie können beispielsweise UDP-Pakete sein.
  • Die andere Paketgruppe schließt die Signalisierung, gemeinsam multiplexierte Ausrüstungs- (CE-Mux), Herzschlag- und CardLan-Mitteilungen, ein. Diese Mitteilungen können TCP-Pakete umfassen, die Software-gesteuert sind.
  • Jedes PBX-Gerätegestell wird typischerweise eine Vermittlungseinrichtung einschließen, ein Hardwaregerät, das die Pulscodemodulation (PCM) liefert, Sprache und Daten für das gesamte PBX-System liefert. Bei einer gerätemäßigen Ausgestaltung eines derartigen Gerätes hat dieses eine identische Anzahl von Kanälen auf jeder Seite. Eine Seite führt die örtliche Vermittlung für dieses bestimmte Gerätegestell (Sprache-Geräte, die mit diesem Gerätegestell verbunden sind) aus. Die andere Seite ist ausschließlich zur Durchführung der Vermittlung von Sprache-Geräten bestimmt, die sich außerhalb des Gerätegestells befinden (nicht direkt mit dem Gerätegestell verbunden).
  • Die PBX kann weiterhin mit Hardware-Schaltungen ausgerüstet sein, die mehrere anwendungsprogrammierbare integrierte Gallium-Arsenid-Schaltungen (FPGA) einschließen, die eine bestimmte Funktionalität für IP-Verbindungsstrecken liefern. Typischerweise schließt dies die Formatierung der PCM-Abtastproben aus den UDP-Paketen der Vermittlungs-Matrix und umgekehrt; die Überwachung der Verbindungsstrecken-Betriebsleistung; und die Steuerung des Paket-Verzögerungs-Puffers ein. Die Leiterplatte kann weiterhin verschiedene FIFO-RAM's zum Puffern von ankommenden Mitteilungen und Zwei-Port-RAM's zur Paket-Verzögerungsänderungs-Pufferung von ankommenden PCM-Daten einschließen.
  • Ein Sprache-Paket schließt eine Folge von PCM-Abtastproben ein, die von dem IVD-Bus erfasst und in ein UDP/IP-Paket gepackt wurden. Typischerweise sind Sprache-Pakete darauf beschränkt, dass sie eine Medien-Zugangs-Kontroll- (MAC-) UDP/IP-Zieladresse für alle Abtastproben haben. Die FPGA speichert ein Kopffeld, das allen abgehenden Sprache-Paketen vorangeht. Die Sprach-Kopffeld-Information wird in den PCM-Kopffeld-RAM vor der Freigabe der Sprachübertragung geschrieben. Die Übertragung des Sprache-Paketes wird durch Setzen des Sprache-Gerät-Freigabebits in einem Befehlsregister freigegeben. Pakete werden alle 125 Mikrosekunden ausgesandt und enthalten bis zu 320 PCM-Abtastproben. 21 zeigt die Verbindungen für die Übertragung von Sprache-Paketen. Das PBX-Gerätegestell 20, das entweder ein Haupt- oder Erweiterungs-Gerätegestell sein kann, ist typischerweise in der Lage, bis zu 320 Sprachkanäle aufzunehmen. (Die maximale Anzahl von Kanälen kann von dem Benutzer oder durch die Software so konfiguriert werden, dass sie eine kleinere oder größere Anzahl von Kanälen einschließt). Eine Tochter-Leiterplatte 22, die ein FPGA-IC beinhaltet, ist mit dem Gerätegestell 20 verbunden. Jedes ausgesandte Paket 24 enthält typischerweise eine maximale Anzahl von 320 PCM-Abtastproben. Das ausgesandte Paket 26 wird über den IP-Port 28 an das Netzwerk weitergeleitet.
  • In ähnlicher Weise beinhaltet das PBX-Gerätegestell 30, das in 22 gezeigt ist und entweder ein Haupt- oder Erweiterungs-Gerätegestell sein kann, einen IP-Port 38, der ankommende Pakete 36 empfängt. Typischerweise ist eine FPGA, die in der Leiterplatte 32 enthalten ist, in der Lage, Pakete zu empfangen, die beispielsweise bis zu 320 PCM-Abtastproben/Kanäle enthalten. Das empfangene und mit den Abtastproben belegte Paket 34 wird von dem FPGA-IC so verarbeitet, dass jedes Byte des Sprache-Rahmens auf eindeutige Kanäle umgesetzt wird, einer für jedes der Bytes, die als Kanäle 1, 2, ... 320 in dem Gerätegestell 30 gezeigt sind.
  • D. Betriebsleistungs-Messungen
  • Gemäß einem Merkmal der Erfindung in Daten-Netzwerken wird die Dienstgüte durch Auswerten von zumindest drei Parametern bestimmt: Latenz, Paketverlust-Rate und Bandbreiten-Verfügbarkeit. Obwohl lediglich drei Faktoren hier ausdrücklich aufgeführt sind, wird der Fachmann erkennen, dass irgendein anderer Parameter, der für die Netzwerk-Betriebsleistung von Bedeutung ist, in die Ermittlung einfließen kann.
  • Die Latenz ist eine Messung der Zeit, die erforderlich ist, damit ein vorgegebenes Paket zwischen zwei Punkten in dem Netzwerk hindurchläuft. Faktoren, die die Latenz in einem Netzwerk beeinflussen können, schließen beispielsweise den Typ und die Anzahl der Vermittlungen, den Typ und die Anzahl der Router, die erneute Aussendung, die durchlaufene Entfernung, die Netzwerk-Überlastung und die Verbindungsstrecken-Bandbreite ein. Die Paketverlust-Rate bezieht sich auf die Anzahl der Pakete, die von dem Netzwerk als Folge eines Fehlens von Netzwerk-Ressourcen verworfen werden. Einer der Faktoren, der die Paketverlust-Rate beeinflussen kann, ist der von dem Router verwendete Mechanismus zum Verwerfen von Paketen, wie z.B. ein zufälliges frühzeitiges Verwerfen. Dies wird als ein Verhältnis oder eine Prozentzahl ausgedrückt, wie dies weiter unten ausführlicher beschrieben wird. Die Bandbreiten-Verfügbarkeit wird sowohl durch die Latenz als auch die Paketverlust-Rate geregelt.
  • Um die Messmethoden für QoS-Systemanforderungen zu verstehen, werden als nächstes die zu messenden Parameter und die Interpretation dieser Messungen beschrieben.
  • Es sei als Beispiel ein System betrachtet, das eine Sprachgüte in einem IP LAN liefern würde, wobei die folgenden Anforderungen erfüllt sein müssen:
  • Netzwerk-Anforderungen:
    • Paketverlust-Rate von weniger als 1 %.
    • Einweg-Laufzeit für ein Paket von 3,75 Millisekunden.
    • 100-Base-T-Vollduplex-LAN-Verbindungsmöglichkeit.
  • System-Anforderungen:
    • Sprache-Pakete: Rate: 8000 Pakete/Sekunde; und Paketbreite: 320 Bytes (1 Kanal pro Byte, unter Verwendung der G.711-Norm).
    • Anrufaufbau- und Anrufbeendigungs-Signalisierungspakete: Rate: 250/s; und Breite: 40 Byte.
    • Gemeinsame Ausrüstungs-MUX- (CE-MUX-) Pakete: Frequenz: 10/s; und Breite: 500 Byte.
  • Unter der Annahme der vorstehenden Parameter würde die erforderliche Bandbreite in Mbps gleich 29,25 Mbps pro Port sein.
  • Diese Größe stellt die Bandbreite dar, die für Einweg-Verkehr erforderlich ist. Es können mehrfache Ports auf dem Haupt-Gerätegestell zugeordnet werden, die jeweils mit einem einzigen Erweiterungs-Gerätegestell kommunizieren, wodurch die verfügbare Kapazität vergrößert wird.
  • Es können verschiedene Möglichkeiten zur Gewinnung von QoS-Parametern von der IP-Netzwerk-Anwendungsschicht verwendet werden. Ein dediziertes Klienten- Server-Modell (TCP oder UDP) kann aufgebaut werden, um Verkehr zu erzeugen. Der Klient sendet ein Paket und wartet auf die Antwort. Der Server lenkt das gleiche Paket bei Empfang zurück, oder er sendet unterschiedliche Pakete. Die Implementierung erfolgt entweder über synchrone oder asynchrone Kommunikations-Betriebsarten. In der synchronen Betriebsart sendet der Klient Pakete, die den System-Zeitstempel sowie einen Zähler in ihren Paket-Nutzdaten enthalten können. In diesem Fall sind die Aussendung und der Empfang voneinander unabhängig. Bei einer asynchronen Implementierung wartet der Klient auf die Antwort, bevor er das nächste Paket aussendet. In diesem Fall kann ein Zeitstempel in den Nutzdaten enthalten sein oder nicht.
  • Eine andere Möglichkeit zur Überwachung der LAN QoS besteht in der Verwendung des Internet-Steuermitteilungs-Protokolls (ICMP). In diesem Fall muss lediglich der Klient die Steuermitteilung und die Zeit der Aussendung kontrollieren (üblicherweise wird der Netzwerk-Serverprozess als Teil des Betriebssystems oder von einem Dritten bereitgestellt, um ein Echo für den Klienten zu liefern). Beide diese Techniken haben irgendwelche Echtzeit-Auswirkungen zusätzlich zu den Verkehrs-Zusatzdaten, die hinzugefügt werden, um die Messungen durchzuführen.
  • Gemäß einem Merkmal der Erfindung werden Hardware-Systeme verwendet, um Messungen unter Verwendung bestimmter Parameter durchzuführen, die den Sprache-Paketen zugeordnet sind, was zu genaueren Messungen führt, wobei gleichzeitig die vorstehenden Nachteile vermieden werden.
  • Paketverlust-Zähler (PLC)
  • Eine Möglichkeit zur Implementierung eines Paketverlust-Zählers kann über ein Hardware-Register erfolgen, wie dies in 23a gezeigt ist. Jedes Sprache-Paket ist (innerhalb seiner Nutzdaten) mit einer Sequenz-Nummer markiert. Das empfangende Ende überwacht die Folge von Paketen, und während jedes Paket empfangen wird, wird, wenn eine Unterbrechung der Sequenz oder Folge der ankommenden Pakete auftritt, der Zähler um eine Zahl weitergeschaltet. Eine Anzahl von Paketen 47a-c, 49a-c, 51a-c, die Datenströme 46, 48, 50 bilden, sind so gezeigt, als ob sie in eine Vielzahl von IP-Ports 41, 43 bzw. 45 eintreten. Wenn ein Paket außerhalb der Folge ankommt (beispielsweise in einer Folge wie {1, 3,} (was den Paketen 47a, 47b, 47c entspricht), so wird der Zähler um 1 weitergeschaltet. Eine Folge, wie z.B. {1, 6, 7} (was den Paketen 49a, 49b, 49c entspricht) führt zu einer Weiterschaltung des Zählers um 1, weil die Paket-Nummern 2, 3, 4 und 5 in dem Datenstrom fehlen. Eine Folge von beispielsweise {1, 3, 2} (was den Paketen 51a, 51b, 51c entspricht) führt dazu, dass der Zähler um 2 weitergeschaltet wird, weil das Paket 2 außerhalb der Folge (nach dem Paket 3) ankommt. Somit ist der Wert an dem Zähler eine Anzeige für das Ausmaß des Paketverlustes.
  • 23b zeigt eine alternative Hardware-Implementierung einer Paketverlust-Zähler-Ausgestaltung, die einen Datenstrom 52 zeigt, der Beispiele von Paketen 53a, 53b und 53c einschließt (die mit #1, #2 ... #7000 bezeichnet sind). Unter Verwendung der Gesamtzahl von Paketen, deren Ankunft pro Sekunde erwartet wird (beispielsweise 8000), als ein Bezugswert, stellt, wenn jedes Paket ankommt (ein Zähler wird bis zum Ende der Zeitperiode (Sekunde) weitergeschaltet, was hier als 7000 gezeigt ist) der Rest von 1000, der die Pakete umfasst, die an dem Port nicht innerhalb des vorgegebenen Zeitrahmens angekommen sind, die Anzahl von verloren gegangenen Paketen dar. Diese Messung kann unter kurzen Intervallen (beispielsweise jede Sekunde) erfolgen. Der Zähler wird dann auf die Bezugszahl (beispielsweise 8000) zurückgesetzt. In 23b, die die Bewegung der Pakete als eine Funktion der Zeit zeigt, enthält der Paketverlust-Zähler den Inhalt 1000 nach der ersten Sekunde.
  • Wenn das System feststellt, dass der Paketverlust wiederholt über eine Anzahl von Zeitintervallen weitergeschaltet wird (wie bei der erstgenannten Implementation) oder über mehr als 0 (wie bei der zweiten Implementation) besteht die Folgerung daraus, dass das Netzwerk überlastet ist. Als Ergebnis werden eine oder mehrere Bandbreiten-Optimierungstechniken gemäß bestimmter erfindungsgemäßer Merkmale realisiert, um die Größe des Sprache-Paketes zu verringern. Eine alternative Implementierung besteht in der Verwendung von Software zur Durchführung einer Paketverlust-Messung von TCP/UDP/ICMP-erzeugtem Verkehr.
  • Latenz
  • Die Latenz ist ebenfalls eine Anzeige dafür, dass das Netzwerk in den Überlastungszustand gelangt ist. Eine Möglichkeit zur Aufzeichnung der Umlaufzeit, die Sprache-Pakete benötigen, um ein Netzwerk zu durchlaufen, besteht in der Verwendung eines Hardware-Registers. Gemäß 24 markiert die Quelle 500 das Paket 502 als #1 (Schritt 1), bevor sie es sendet, und sie startet weiterhin einen Zeitgeber 504. Wenn die Zielmaschine 506 das Paket 502 empfängt (Schritt 2), komplementiert sie den Wert, der auf dem nächsten Paket als Paket #2 (508) zurück zur Quelle ausgesandt wird (Schritt 3). Bei der Ankunft des markierten #2-Paketes (Schritt 4) stoppt der Zeitgeber, und die Zeitdifferenz wird in dem Auslöseregister gespeichert. Eine derartige Markierung erfolgt innerhalb der Nutzdaten der jeweiligen Sprache-Pakete.
  • Eine alternative Implementierung besteht in der Verwendung von Software zur Durchführung der Umlaufzeit-Messung unter Verwendung von TCP/UDP/ICMP-erzeugtem Verkehr.
  • Paket/Zellenverzögerungs-Änderungs-Überlauf und -Unterlauf
  • Unterläufe und/oder Überläufe des Speicherpuffers (PDV-Puffer) führen zu einer Änderung in einem oder mehreren Speicherpuffer-Zeigern (Lese/Schreib-Zeiger). Die halbe Pufferspeichergröße wird über den Abstand zwischen den Zeigern geändert. Die Protokollierung dieser Zählung erfolgt durch eine Hardware-Registrierungsaufzeichnung der Anzahl von Unterlauf- und Überlauf-Ereignissen. Diese Zähler können dazu verwendet werden, den Zustand des Netzwerkes zu bestimmen. Ein Unterlauf tritt ein, wenn Pakete langsamer ankommen, als diese das System verarbeiten kann. Andererseits tritt, wenn Sprache-Pakete von dem Netzwerk schneller ankommen, als sie das System verarbeiten kann, ein Überlauf auf, was zum Überschreiben der vorher empfangenen Pakete und entsprechend zu einem Datenverlust führt.
  • Bandbreite
  • Ein Bandbreitenmodul ergibt eine Messung der Bandbreite. Eine Möglichkeit zur Durchführung dieser Messung besteht in der Summierung der Gesamtlänge der angekommenen Pakete pro Sekunde abzüglich der Anzahl von Paketen, die verloren gegangen sind (von dem Paketverlust-Zähler gewonnen). Alle die ausgesandten und empfangenen Pakete sind periodisch. Eine andere Alternative zur Verwendung von TCP/UDP/ICMP zur Aufzeichnung der Umlaufzeit besteht in der Erzeugung von Paketen mit unterschiedlichen Größen und der Aufzeichnung ihrer Umlaufzeit.
  • Unter Verwendung der entsprechend dem vorstehenden gemessenen Parameter ist der Erfindung entsprechende Software in der Lage, das System an das Verhalten des Netzwerkes in Abhängigkeit von den gemessenen Werten anzupassen. Zusätzlich kann dem Benutzer eine Benachrichtigung über das Netzwerk-Verhalten und die Sprachqualität nach einer derartigen Anpassung über eine Endgeräte-Anzeige, einen Drucker oder eine Sprachmitteilung geliefert werden.
  • System-Reaktion
  • Auf der Grundlage der vorstehend beschriebenen Messungen, die von dem Paketverlust-Zähler gewonnen werden, können Paketverzögerungs-Änderungs-, Überlauf- und Unterlauf- und Bandbreiten-Messungen erfolgen. Das System reagiert durch die Vornahme von einer oder zwei Maßnahmen, nämlich Starten einer Bandbreiten-Optimierung und/oder Ändern der PDV-Puffergröße.
  • Bandbreiten-Optimierung
  • Eine Anzahl von Mechanismen kann gemäß der vorliegenden Erfindung verwendet werden, um die Übertragungsbandbreite zu optimieren. Diese Mechanismen schließen Folgendes ein: statische Bandbreiten-Optimierung, adaptive Bandbreiten-Optimierung und kombinierte Betriebsart. Mit der Ausnahme der statischen Bandbreiten-Optimierungsverfahren wird die Bandbreiten-Optimierung durch Umkonfigurieren der Vermittlungs-Matrix durchgeführt, die sich auf dem Haupt-Gerätegestell und dem Erweiterungs-Gerätegestell befindet. Zusätzlich wird eine Tabelle, die die Aktualisierungen der letzten Konfiguration der Vermittlungs-Matrix enthält, in beiden Gerätegestellen geführt. Die Abgabe der Befehle zur Umkonfiguration der Vermittlungs-Matrix kann für das Haupt-Gerätegestell reserviert werden, und die Synchronisation der Tabelle folgt. Die neue maximale Anzahl der Kanäle muss sowohl auf dem Haupt- als auch den Erweiterungs-Gerätegestellen auf der Grundlage der neuen Vermittlungsmatrix-Konfiguration eingestellt werden, was dazu führen kann, dass eine kleinere Anzahl von Kanälen sowohl von den Haupt- als auch Erweiterungs-Gerätegestellen ausgesandt wird. Dies kann durch die Beschaffung eines neuen Wertes über die FPGA erreicht werden.
  • 1. Statische Bandbreiten-Optimierung:
  • Dieses Merkmal beinhaltet, dass der Benutzer einen Wert konfiguriert, der die maximale Anzahl von ausgesandten Kanälen beschränkt (durch Blockieren oder Abschalten mehrerer Sprachekanäle, die einen derartigen Grenzwert übersteigen, wenn die Software Probleme feststellt, wie z.B. einen Paketverlust. Wie dies weiter oben beschrieben wurde, liegt die maximale Anzahl von auszusendenden Kanälen typischerweise in der Größenordnung von 320. Wenn ein Paketverlust-Zähler in mehreren aufeinanderfolgenden Zeitfenstern in seinem Wert vergrößert wird, liefert die Software einen Befehl an die FPGA, diesen Wert zu verringern, wodurch die Anzahl der Sprachekanäle verringert wird, um eine entsprechende Benachrichtigung an den Benutzer geliefert wird, dass die Bandbreite reduziert wurde.
  • 2. Adaptive Bandbreiten-Optimierung:
  • Dieses Merkmal kann über mehrere Techniken gerätemäßig ausgestaltet werden: Ausscheidung von leeren Steckplätzen, Ausscheidung von Leerlauf-Kanälen, Ausscheidung von Leerlauf-Karten und Prioritäts-basierte Ausscheidung von Karten.
  • a. Ausscheidung von leeren Steckplätzen
  • Typischerweise ist jeder Schlitz durch 32 Bytes dargestellt (32 Kanäle auf dem IP-Paket, wobei die Steckplatz-Nummer auf den Platz dieser Kanäle umgesetzt ist, wobei auf die Kanäle des ersten Steckplatzes die Kanäle des zweiten Steckplatzes folgen). Die QoS-Software kann die eingesteckten Karten in dem Erweiterungs-Gerätegestell erkennen. Eine Nachschlagetabelle beseitigt leere Steckplätze und fügt lediglich Kanäle, die tatsächlich eingesteckten Karten entsprechen, in das Sprache-Paket durch Neuausrichtung von Kanälen ein, entweder dadurch, dass sie von dem Ende des Paketes zu dem Platz eines leeren Steckplatzes bewegt werden, oder dass die Kanäle um den Wert der leeren Steckplätze verschoben werden. Als ein Beispiel können, wenn die Karte 1 vorhanden ist, die Karte 2 fehlt und die Karte 3 vorhanden ist, Kanäle, die der Karte 4 zugeordnet sind, in den Platz des Steckplatzes #2 in dem IP-Paket über eine Software-Realisierung umgesetzt werden.
  • b. Ausscheidung von Leerlauf-Kanälen
  • Die Software überwacht aktive (belegte) Kanäle, in denen eine Kommunikation zwischen dem Haupt-Gerätegestell und einem Sprachegerät auf den entfernt angeordneten Gerätegestellen aufgebaut ist, auf der Grundlage der Information, die durch die Signalisierung geliefert wird (weil das Haupt-Gerätegestell die gesamte Vermittlung durchführt. Die Software führt eine Neu-Umsetzung der aktiven Kanäle von dem Ende des Sprache-Paketes zu dem ersten im Leerlauf befindlichen Kanal aus (beispielsweise kann der Kanal Nummer 320 als Nummer 30 neu umgesetzt werden).
  • c. Ausscheidung von Leerlaufkarten
  • Weil die Software die Anzahl von aktiven Kanälen auf einer vorgegebenen Karte überwacht, wird, wenn alle Kanäle für diese Karte im Leerlauf sind, dies so behandelt, als ob dies ein leerer Steckplatz sein würde (das heißt die Karte wird ausgeschieden, wie im Fall der Ausscheidung eines leeren Steckplatzes). Sobald es eine Anforderung für einen Anrufaufbau von (oder für) eine ausgeschiedene Karte gibt, wird diese Karte (vollständig oder teilweise) aktiv, und alle die Kanäle für diese Karte werden auf dem Paket zugeteilt.
  • Es wird nunmehr auf 25a Bezug genommen, in der eine Technik zur Ausscheidung von Leerlaufkarten gemäß einem Merkmal der Erfindung gezeigt ist.
  • Ein Paket 180, das hier so gezeigt ist, als ob es drei Karten, 186, 188, 190, umfasst, schließt weiterhin ein IP-Kopffeld 182 und ein UDP-Kopffeld 184 ein. Jeder Karte sind 32 Kanäle zugeordnet. Bestimmte Kanäle sind aktiv (in der Figur mit „A" bezeichnet) und andere sind inaktiv oder im Leerlauf (als „I" bezeichnet). In dem gezeigten Beispiel sind alle Kanäle der zweiten Karte 188 im Leerlauf. Mit dem in 25b gezeigten Merkmal der Ausscheidung von Leerlaufkarten werden die der zweiten Karte zugeordneten Kanäle ausgeschieden, die der dritten Karte, 190, zugeordneten Kanäle werden als Kanäle gesetzt, die der Karte #2 zugeordnet sind, und das System erkennt, dass das Paket 1800, das die Kopffeld-Information 1820, 1840 enthält, nunmehr zwei Karten 1860 und 1880, enthält, die jeweils einige aktive Kanäle haben. Die Bandbreite wird somit dadurch optimiert, dass die Anzahl von Kanälen, die Karten zugeordnet sind, in dem ausgesandten Paket verringert wird. Dies kann durch Durchsuchen der Vermittlungs-Matrix-Statustabelle, die vorstehend beschrieben wurde, für eine Gruppe von Kanälen erzielt werden, die nebeneinander stehen, wobei ein Start-Index mit dem Index des ersten Kanals auf einer vorgegebenen Karte übereinstimmt.
  • Wenn beispielsweise ein Gerätegestell die Karten 1, 2 und 3 enthält, und jeder Karte 32 Kanäle auf dem IP-Paket zugeordnet sind, so würde die Suche am Kanal 1 beginnen und die nächsten 32 Kanäle betrachten, um zu prüfen, ob alle 32 Kanäle im Leerlauf sind. Wenn dies nicht der Fall ist, wird der gleiche Vorgang beginnend mit dem Kanal 33 wiederholt. Wenn sich eine Übereinstimmung ergibt, das heißt wenn alle 32 Kanäle im Leerlauf sind, werden diese Kanäle aus dem IP-Paket ausgeschieden.
  • Wenn eine Signalisierungs-Mitteilung von einem Sprache-Gerät, das sich auf dem Erweiterungs-Gerätegestell befindet, eine Verbindung oder einen Kanal anfordert, der keine Zuteilung innerhalb des IP-Paketes hat, so sucht das Haupt-Gerätegestell nach einer Karte, die diesem Sprache-Gerät entspricht, das die Verbindung anfordert. Wenn die Karte physikalisch eingesteckt ist, werden alle entsprechenden Kanäle erneut in das IP-Paket eingefügt (es können alle oder eine Teilzahl der Kanäle erneut eingefügt werden).
  • Die Suche ist zeitabhängig, das heißt die Suche kann so konfiguriert werden, dass sie periodisch oder innerhalb von sich ändernden Zeitfenster-Rahmen ausgeführt wird.
  • d. Prioritäts-basierte Karten-Ausscheidung
  • Der Benutzer ordnet eine Priorität zu jeder in einem Gerätegestell vorhandenen Karte zu.
  • Wenn ein Prioritäts-basierter Karten-Ausscheidungs-Prozess beginnt, wird die Karte von dem IP-Paket aufgrund der ihr zugeordneten Priorität ausgeschieden.
  • In 26a ist eine Technik zur Karten-Prioritätszuordnung gemäß einem Merkmal der Erfindung gezeigt.
  • Ein Paket 190, das hier so gezeigt ist, als ob es drei Karten, 196, 198, 200, umfasst, schließt außerdem ein IP-Kopffeld 192 und ein UDP-Kopffeld 194 ein. Jeder Karte sind 32 Kanäle zugeordnet. In diesem Beispiel ist das System so konfiguriert, dass es die höchste Priorität der zweiten Karte 198 zuordnet, und die niedrigste Priorität der ersten Karte 196. Wenn die Netzwerk-Bedingungen derart sind, dass eine Bandbreiten-Optimierung in Kraft gesetzt werden muss, verwirft das System die Karte mit der niedrigsten Priorität. In diesem speziellen Beispiel werden der Karte 196 (die die niedrigste Priorität hat) zugeordnete Kanäle verworfen, und die den Karten 198 und 200 zugeordneten Kanäle werden in ihrer Position verschoben. Wie dies in 19b gezeigt ist, werden der Karte 198 zugeordnete Kanäle dann als die erste Karte, 1960, umgesetzt, und Kanäle, die der dritten Karte zugeordnet sind, werden so umgesetzt, als ob sie der zweiten Karte, 2000, zugeordnet wären.
  • Dieser Prozess kann auf der Grundlage der nächst niedrigeren Priorität der verbleibenden Karten fortgesetzt werden. So könnte beispielsweise dem Kanal, der der dritten Karte 2000 in 26b zugeordnet ist, die niedrigste Priorität zugeordnet sein, und dem Kanal, der der zweiten Karte 1960 zugeordnet ist, die höchste Priorität. 26c zeigt die resultierende Konfiguration nach der Realisierung der Prioritäts-basierten Bandbreiten-Optimierung. Die einer einzigen Karte 1904 (die der Karte 1960 entspricht) zugeordneten Kanäle, 198, verbleiben in dem Paket. Die Anzahl der Karten zugeordneten Kanäle in dem ausgesandten Paket wurde wiederum verringert.
  • Dies kann gerätemäßig dadurch ausgestaltet werden, dass eine Tabelle geführt wird, die die Prioritätszuordnung für jede eingesteckte Karte enthält. Sobald eine Bandbreiten-Verringerung erforderlich ist, wird eine Suche nach der niedrigsten Priorität in der Tabelle ausgeführt, und ein entsprechender, der identifizierten Karte (beispielsweise der Karte mit der niedrigsten Priorität) zugeordneter, Kanal wird aus dem IP-Paket ausgeschieden. Diese Ausscheidung erfolgt durch Umkonfigurieren der Vermittlungs-Matrix und durch Aktualisieren der Tabelle.
  • 3. Kombinierte Betriebsart:
  • Eine Kombination von sowohl der statischen als auch adaptiven Bandbreiten-Optimierungs-Betriebsarten kann ebenfalls ermöglicht werden. In dieser Betriebsart konfiguriert der Benutzer die maximale Anzahl von auszusendenden Kanälen zusammen mit der Ausscheidung von Leerlaufkanälen, der Leerlauf-Ausscheidung, der Prioritäts-basierten Karten-Ausscheidung oder irgendeiner Kombination hiervon.
  • PDV-Puffergröße
  • Der Paketverzögerungs-Änderungs- (PDV-) Puffer wird dazu verwendet, die Pakete für eine bestimmte Zeit zu puffern, in Abhängigkeit von ihrer Fähigkeit, verarbeitet zu werden. Die PDV-Pufferlänge in Millisekunden stellt die Größe der Zeit ein, die die Pakete in dem Puffer „warten" können. Wenn die PDV-Puffergröße zu groß ist, wird die resultierende Verzögerung, bevor das Paket verarbeitet werden kann, ebenfalls groß sein. Wenn andererseits der Puffer klein ist, so besteht eine größere Chance, dass das Paket überschrieben wird, was zu einem Datenverlust führt.
  • Überläufe und/oder Unterläufe sind Anzeigen, dass das Netzwerk beeinträchtigt wurde, was zu einer verringerten Sprachqualität führt. Um die Wirkung einer derartigen Beeinträchtigung zu verringern, kann die Größe des Puffers entweder vergrößert oder verkleinert werden, in Abhängigkeit von dem Ereignis. Software überwacht den Puffer über Überlauf- und Unterlauf-Zähler und stellt den Puffer entsprechend ein. Zusätzlich gibt Software dem Benutzer die Fähigkeit, die Größe des Puffers manuell einzustellen.
  • Start-Betriebsweise
  • Eine Strategie für die System-Start- oder Hochlauf-Betriebsweise würde die Verwendung der QoS-Parameter zur Messung der Bandbreite sein. Die Anzahl der Übertragungskanäle wird schrittweise vergrößert, bis die volle Systemkapazität erreicht ist. Weiterhin wird die PDV-Puffergröße auf einen Vorgabewert gesetzt. Auf der Grundlage der Information, die von dem Unterlauf/Überlauf-Zählern gewonnen wird, kann die Puffergröße entsprechend eingestellt werden.
  • Auf der Grundlage einer anderen Strategie kann das System so hochlaufen, dass es die maximale Anzahl von Kanälen innerhalb des Sprache-Paketes sendet und das auf der Grundlage von Messungen der QoS-Parameter die Anzahl der Kanäle entsprechend verringert wird.
  • Software-Auslegungs-Verfahrensweise
  • Parameter-Messtechniken
  • Die Messungen werden zur Lieferung an den Benutzer auf dessen Anforderung berechnet, um für eine spätere Analyse des Systemverhaltens gespeichert zu werden.
  • Paketverlust-Rate:
  • Unabhängig von der Art der Hardware, die zur gerätemäßigen Ausgestaltung des PLC verwendet wird, werden die folgenden Annahmen gemacht (lediglich als Beispiel, sie sollen in keiner Weise beschränkend sein). Zunächst: bei einem Netzwerk mit geringem Verkehr setzt der Paketverlust-Zähler (PLC) die Anzahl der verloren gegangenen Pakete Eins-zu-Eins um. Zweitens: Dass die Pakete nicht außerhalb der Reihenfolge ankommen (das heißt alle Pakete folgen dem gleichen Pfad von der Quelle zum Ziel). Drittens: 8000 Sprache-Pakete werden pro Sekunde übertragen. Zu einer vorgegebenen Zeit ist die Paketverlust-Rate (PLt) gleich:
    Figure 00450001
    worin Δt das Intervall zwischen der laufenden und der vorhergehenden Messung in Sekunden ist.
  • Unter der Voraussetzung, dass die zweite PLC-Hardware-Realisierung verwendet wird (das heißt Messen der Anzahl der empfangenen Pakete, wie dies in 23b gezeigt ist), wird die Messung jede Sekunde durchgeführt. Entsprechend ist Δt = 1. Wenn die erste PLC-Realisierung verwendet wird, kann entweder ein festes oder ein sich änderndes Zeitfenster verwendet werden, um das Hardware-Register zu lesen, um die Messung zu gewinnen.
  • Eine alternative Möglichkeit zur Gewinnung dieser Messungen besteht in einer Software-Realisierung und unter Verwendung von TCP/UDP/ICMP-erzeugtem Verkehr. Der Paketverlust ρ wird aus dem Verhältnis der Anzahl R der empfangenen Pakete bezüglich der Anzahl T der ausgesandten Pakete berechnet: ρ = R/Tund der prozentuale Anteil ist: PL = [(1 – ρ) × 100]/Δt worin Δt die Zeitfenster-Größe für diese Messung ist, was entweder ein festes oder sich änderndes Fenster sein kann.
  • Die Genauigkeit dieser Messungen hängt von dem Volumen des Verkehrs ab, das über eine Zeitperiode erzeugt wird.
  • Latenz:
  • Es sei lediglich als Beispiel angenommen, dass ankommende und abgehende Pakete dem gleichen Pfad folgen, das heißt, dass die Netzwerk-Latenz in beiden Richtungen gleich ist, so dass zu einer vorgegebenen Zeit t die Einweg-Latenz (Lt), die durch das Netzwerk eingeführt ist, wie folgt ist:
    Figure 00470001
    worin rttt die Umlaufzeit für die Paketübertragung ist. Für eine Hardware-Realisierung der Umlaufzeit-Messung ist die Verarbeitungszeit vernachlässigbar, und wird somit als Null angenommen. Eine alternative Möglichkeit zum Gewinnen dieser Messungen ist eine Software-Realisierung unter Verwendung von TCP/UDP/ICMP-erzeugtem Verkehr. Für eine Software-Realisierung hängt die Genauigkeit dieser Messung von dem Volumen des Verkehrs ab, das über die Zeit erzeugt wird, sowie von der Verarbeitungszeit.
  • Weil Sprach-Pakete periodisch ausgesandt und empfangen werden, kann eine genauere Messung durch Berechnen der Zeitdifferenz zwischen der Ankunft von zwei aufeinanderfolgenden Paketen gewonnen werden.
  • Paketverzögerungs-Änderung:
  • Weil die Strombildung von Sprach-Paketen zeitabhängig ist, kann dieser Parameter zur Überwachung der Sprachqualität verwendet werden.
  • Wenn eine Hardware-Realisierung verwendet wird, ist eine Anzeige der Paketverzögerungs-Änderung irgendeine schrittweise Vergrößerung des Überlaufs und/oder Unterlaufs in dem Paketverzögerungs-Änderungsregister. Die Abfrage dieses Registers kann über entweder ein festes oder sich änderndes Zeitfenster erfolgen.
  • Die Paketverzögerungs-Änderung kann als die Differenz zwischen den mittleren (sich bewegenden/ändernden/zunehmenden Verlaufs-Fenster) Ankunftszeiten und den Ankunftszeiten des letzten Paketes definiert werden. Entsprechend besteht eine alternative Möglichkeit zur Gewinnung dieser Messungen in einer Software-Realisierung, die TCP/UDP/ICMP-erzeugten Verkehr verwendet. Die minimalen, maximalen und mittleren Werte der Paket-Ankunftszeiten werden über eine bestimmte Zeitperiode in einer Datei, einem Speicher oder einem Puffer aufgezeichnet.
  • Bandbreite:
  • Unter der Annahme, dass abgehende Pakete immer dem gleichen Pfad folgen, ist zu einer vorgegebenen Zeit t die Bandbreite BWt wie folgt: BWt = [(Summe der Größe der ausgesandten Pakete) – Größe des Paketverlustes)]/Δt,worin Δt die Dauer des Messintervalls in Sekunden ist.
  • Eine alternative Möglichkeit zur Gewinnung von Bandbreiten-Messungen besteht in der Verwendung von TCP/UDP/ICMP-erzeugtem Verkehr.
  • Zur Vereinfachung und zur weitestgehenden Verringerung von Zusatzverkehr sowie zur Verringerung des Rechen-Zusatzaufwandes auf der CPU werden zwei TCP/UDP/ICMP-Pakete mit unterschiedlichen Größen periodisch ausgesandt. Diese Mitteilungen werden als kleine und große Pakete (in Abhängigkeit von ihren jeweiligen Größen) markiert. Nach dem Empfang beider Echo-Antworten wird die Differenz Δt zwischen den Umlaufzeiten, rtt, der großen und kleinen Pakete wie folgt berechnet: Δt = rttλ – rttS,worin rttλ und rttS die Umlaufzeiten für große bzw. kleine Pakete sind.
  • Ein weiterer zur Berechnung der BW verwendeter Parameter ist die Differenz der Paketlängen: Δλ = Lλ – LS,worin Lλ die Länge des großen Paketes und LS die Länge der kleinen Pakete in Bits ist. Schließlich ist der Durchsatz wie folgt:
  • Figure 00480001
  • Bandbreiten-Wiederherstellung
  • Die Software überwacht die Verfügbarkeit von Bandbreiten, die so gemessen werden, wie dies in dem vorstehenden Abschnitt beschrieben wurde, sowie den PLC für eine Zeitperiode. Sobald eine wiederholte Ablesung des PLC anzeigt, dass keine zusätzlichen Pakete verloren gegangen sind, können Bandbreiten-Optimierungs-Mechanismen dann graduell umgekehrt werden. Die Bandbreite wird dann kontinuierlich überwacht, um festzustellen, ob irgendeine Verschlechterung eingetreten ist. Die schrittweise Vergrößerung erfolgt graduell bis zur maximalen Anzahl von auf dem System verfügbaren Kanälen. Das zur Überwachung des PLC und der Bandbreiten-Messungen verwendete Fenster kann eine feste oder sich ändernde Größe aufweisen.
  • PDV-Puffergrößen-Wiederherstellung
  • Weil Software die PDV-Unterlauf-/Überlauf-Zähler für eine Zeitperiode überwacht, verringert die Software bei einer Feststellung, dass sich keine Änderung in einem der Zähler ergibt, die Größe des Puffers graduell und setzt die Überwachung bei der Weiterschaltung jedes dieser Zähler fort.
  • Benutzer-Schnittstelle
  • Die QoS-Überwachungs-Funktionalität wird als eine Bewertung der Dienstgüte des Daten-Netzwerkes auf der Grundlage vordefinierter Schwellenwerte interpretiert. Bewertungen und Mittelwerte werden auf dem Benutzer-Endgerät angezeigt und werden außerdem beispielsweise in einer eine feste Größe aufweisenden Protokolldatei gespeichert. Zusätzlich ermöglicht die Software die Änderung und Konfiguration verschiedener Parameter, wie z.B. der PDV-Puffergröße, der Maximalzahl von Kanälen und Schwellenwerte.
  • Die Steuerung der QoS-Überwachung kann entweder auf dem Haupt- oder dem Erweiterungs-Gerätegestell durchgeführt werden. Wenn irgendein QoS-Parameter unter einen vorher definierten Schwellenwertpegel absinkt, werden geeignete Warenmitteilungen erzeugt und an den Benutzer auf einer Anzeige, einem Drucker oder über Mitteilungsübermittlungssysteme übertragen, wie z.B. ein Suchrufgerät.
  • Die verwendeten Schwellenwerte sind entweder Vorgabewerte oder vom Benutzer definierte neue Werte.
  • Die angezeigten Parameter schließen Folgendes ein:
    • RTD (Umlauf-Verzögerung).
    • Paketfehler (Verlust).
    • PDV-Puffer-Unterläufe.
    • PDV-Puffer-Überläufe.
  • Beispiele von Bewertungs-Schwellenwerten und den zugehörigen jeweiligen Mitteilungs-Anzeigen sind wie folgt:
  • Umlauf-Zeitverzögerung (RTD)
    Figure 00500001
  • Paketverlust (% an Fehlern)
    Figure 00500002
  • Es ist zu erkennen, dass diese Schwellenwerte lediglich Beispiele sind und angepasst werden können, um die Anforderungen eines Benutzers zu erfüllen. Weil mehrfache Ports auf dem Haupt-Gerätegestell verfügbar sind, kann der Benutzer den Port oder die Ports angeben, die zu überwachen sind. Die Konfiguration jedes Ports kann insgesamt oder unabhängig erfolgen.
  • Ausführliche Architektur
  • Die QoS-Überwachungs-Software-Komponente kann in verschiedener Weise realisiert werden. Eine Lösung beinhaltet die ausschließliche Zuordnung einer einzigen Aufgabe (Prozess) auf dem Haupt-Gerätegestell für die Abfrage der Hardware-Register und zur Durchführung der Aktionen. In diesem Fall ist die Aufgabe für die Überwachung aller auf dem Gerätegestell verfügbaren IP-Ports verantwortlich. Eine zweite Lösung besteht in der Erzeugung einer getrennten Aufgabe pro Port. In jedem Fall führen die Aufgaben eine ähnliche Funktionalität aus. Das Sammeln der QoS-Parameter von dem Erweiterungs-Gerätegestell erfolgt in der gleichen Weise, jedoch mit der Ausnahme, dass diese Parameter an das Haupt-Gerätegestell gesandt werden, um Aktionen durchzuführen und um diese Information für den Benutzer anzuzeigen.
  • Die QoS-Überwachungs-Aufgabe wird auf den Haupt- und Erweiterungs-Gerätegestellen beim Einschalten erzeugt, und sie laufen die gesamte Zeit. Beim Initialisieren der Aufgabe auf dem Haupt-Gerätegestell wird eine Mitteilungs-Warteschlange geschaffen, um Befehle von dem Benutzer anzunehmen, dass die derzeitigen Messstatistiken des Verhaltens des Systems anzuzeigen sind. Beide Aufgaben beginnen dann mit der Abfrage von Hardware-Registern unter Verwendung eines fest vorgegebenen oder sich ändernden Zeitfensters. Die Prozentzahl des Paketverlustes wird berechnet und mit einem vorgegebenen Schwellenwert verglichen. Um die Genauigkeit der Messungen sicherzustellen, wird der Status der Verbindungsstrecke zwischen den zwei Gerätegestellen regelmäßig auf der Grundlage des kleinsten Messfensters geprüft, das von einer Datei gewonnen wird, die auf dem System-Computer gespeichert ist.
  • Um eine Konsistenz aufrechtzuerhalten, werden die Größe des PDV-Puffers, die Messzeit-Fenster und die Schwellenwerte für jeden Port in einer Datenbank-Datei gespeichert. Diese Datei enthält einen Eintrag für jeden Port des Haupt-Gerätegestells und einen Eintrag für jeden Port des Erweiterungs-Gerätegestells.
  • Alle Bandbreiten-Optimierungsmechanismen können auf einem beliebigen Ende des Netzwerkes starten, solange alle diesbezügliche Information zu dem anderen Ende übertragen wird. Der Benutzer hat Flexibilität, auszuwählen, welche Technik verwendet werden sollte.
  • Der Bandbreiten-Mechanismus mit der Ausscheidung leerer Steckplätze beruht auf der Karten-Erkennung. Die Steckplatz-Nummer der eingesteckten Karte in dem Erweiterungs-Gerätegestell wird gewonnen. Eine Matrix mit der Größe 10 wird erzeugt. Deren Index stellt die logische Steckplatz-Nummer dar, und deren Wert stellt die körperlich eingesteckte Steckplatz-Nummer dar (wenn beispielsweise die Karten 1 und 3 eingesteckt sind, so ist die Matrix Steckplatz [1] = 1, Steckplatz [2] = 3, Steckplatz [3] = Null. Auf der Haupt-Gerätegestell-Seite werden im Allgemeinen lediglich die XIVD-Werte aus der Matrix berechnet.
  • Der Bandbreiten-Mechanismus zur Ausscheidung leerer Kanäle beruht auf der Überwachung der Aktivität aller Kanäle. Dies wird durch Erzeugen einer Matrix von 320 erzielt, die die physikalischen Erweiterungskanäle darstellt, und durch Markieren der aktiven Kanäle auf der Grundlage der Information, die von der Signalisierung geliefert wird. Ein Kanal kann lediglich einmal markiert werden. Wenn eine Blockierung eingeführt wird und eine neue Verbindungsanforderung für einen Kanal gemacht wird, der den Blockierungsbereich übersteigt, wird die Matrix nach einem inaktiven Kanal durchsucht, und das entsprechende Matrix-Element wird mit der neuen Kanalzahl markiert. Wenn beispielsweise die maximale Anzahl von Kanälen von dem Benutzer auf 180 eingestellt ist, und wenn der Kanal 200 eine Verbindung anfordert, und das mit 100 indizierte Element nicht markiert ist, so wird der Kanal 200 dem logischen Kanal 100 zugeordnet. Auf der Erweiterungs-Seite ist die NIVD-Einheit der logische Wert für den neu zugeordneten Kanal, und der XIVD ist die tatsächliche Einheit von der Karte. In dem Haupt-Gerätegestell wird die XIVD-Einheit aus der Matrix gewonnen.
  • Die Änderung der Paketgröße für irgendeine der realisierten Optimierungstechniken beinhaltet das Setzen des örtlichen FPGA-Registers auf die maximale Anzahl der zu sendenden Kanäle und die Benachrichtigung der anderen Seite über die neue Bandbreite, so dass diese ihr FPGA-Register setzen kann. Dies erfolgt entweder durch direktes Setzen der FPGA des Erweiterungs-Gerätegestells unter Verwendung des Fern-Aufruf-Prozedur- (RPC-) Protokolls oder durch Senden einer neuen TCP- oder UDP-Mitteilung und durch Implementieren eines Servers auf dem Erweiterungs-Gerätegestells, der auf diese Art von Mitteilungen wartet und die FPGA auf den neuen Wert setzt, oder dadurch, dass diese Mitteilung in andere vorhandene Mitteilungsübertragungssysteme eingefügt wird (beispielsweise Herzschlag, Signalisierung, CardLan).
  • In ähnlicher Weise kann das Einstellen der PDV-Puffergröße entweder unter Verwendung des RPC-Protokolls oder durch Senden des neuen Wertes an die andere Seite in einer Mitteilung erfolgen. Der Unterschied in diesem Fall besteht darin, dass das Einstellen unabhängig erfolgt, das heißt eine Änderung der Puffergröße auf dem Haupt-Gerätegestell muss nicht eine Änderung der Größe an dem Erweiterungs-Gerätegestell erfordern. Eine Software-Implementation, die Merkmale der vorliegenden Erfindung umfasst, kann auf drei Prozesse aufgeteilt werden: Paketverlust-Zähler, Paketverzögerungs-Änderung und Bandbreiten-Optimierung.
  • In 27 ist ein Ablaufdiagramm gezeigt, das einen Prozess zur Messung des Ausmaßes des Paketverlustes als ein Zusatzteil zur Ermöglichung der Bandbreiten-Optimierung zeigt. Ein vollständiges Paketintervall, das zum Füllen des Paketverlust-Zähler-Hardwareregisters, das weiter oben beschrieben wurde, erforderlich ist, wird abgewartet (Schritt 60). Als nächstes wird der Paketverlust-Zähler (PLC) ausgelesen (Schritt 62). Wenn die PLC-Anzeige einen vorgegebenen Schwellenwert übersteigt (ausgedrückt als PLC > Thr1), und wenn die derzeitige PLC-Anzeige verglichen mit der vorhergehenden PLC-Anzeige größer als Null ist (ΔPLC > 0) (Schritt 64), so wird die PLC-Flagge um 1 weitergeschaltet (Schritt 66). Anderenfalls wird der Prozess des Abwartens eines vollständigen Paketintervalls wiederholt (Schritt 60). Nachdem die PLC-Flagge weitergeschaltet wurde (Schritt 66), wird die PLC-Flaggen-Anzeige mit einem zweiten vorgegebenen Schwellenwert verglichen (PLC_Flag > thr2, Schritt 68). Wenn der Wert der Flagge den des Schwellenwertes übersteigt, wird das Netzwerk als überlastet angesehen, und das Programm geht zur Freigabe der Bandbreiten-Optimierung über (Schritt 70). Die Freigabe bewirkt weiterhin, dass die PLC-Flagge auf Null zurückgesetzt wird (Schritt 72), wobei an diesem Punkt das System den Abschluss eines neuen vollständigen Paketintervalls (Schritt 60) abwartet.
  • 28 zeigt ein Ablaufdiagramm zur Messung der Paketverzögerungs-Änderung oder -Variation. Wie dies weiter oben erwähnt wurde, können Pakete, die schneller ankommen, als dies der derzeitigen Systemeinstellung für die Verarbeitung entspricht, zu einem Datenverlust führen. Umgekehrt können Pakete, die zu langsam ankommen, zu Lücken in den Daten führen, was sich als Pausen während Sprachunterhaltungen bemerkbar macht.
  • Ein vollständiges Paketintervall, das zum Füllen des Paketverzögerungs-Änderungs- (PDV-) Hardware-Puffers, der weiter oben beschrieben wurde, wird abgewartet (Schritt 70). Die Anzahl der Ereignisse eines Überlaufs und Unterlaufs in dem PDV-Puffer wird dann gelesen (Schritt 72), und wenn ein Überlauf existiert (OverFlow > 0, Schritt 74), wird der Wert der Überlauf-Variablen weitergeschaltet (Schritt 76). Der PDV_OF-Wert wird dann mit einem vorgegebenen Überlauf-Schwellenwert (PDV_OF > OF_Thr, Schritt 78) verglichen. Wenn der PDV_OF-Wert den von OF_Thr übersteigt, wird die PDV_OF-Variable auf Null zurückgesetzt (Schritt 82).
  • Wenn der PDV-Überlauf-Schwellenwert nicht überschritten wurde (Schritt 78), so wird ein neuer Paketintervall-Zeitschlitz abgewartet (Schritt 70) und die Schritte werden wiederholt.
  • Unter weiterer Bezugnahme auf 28 wird, wenn kein Überlauf festgestellt wird (Schritt 74) die Paket-Unterlauf-Zählung mit Null verglichen (Schritt 84). Wenn die Zählung Null nicht übersteigt, so verzweigt sich das Programm zurück zum Schritt 70, so dass ein neuer Paketintervall-Zeitschlitz abgewartet wird. Wenn andererseits die Unterlauf-Zählung größer als Null ist, so wird die Unterlauf-Variable PDF OF weitergeschaltet (Schritt 86). Der Programmschritt 88 ist ein Logik-Schritt, der die Unterlauf-Variable von dem Schritt 86 mit einem vorgegebenen Unterlauf-Schwellenwert (UF_Thr) vergleicht. Wenn PDV_UF größer als UF_Thr ist, so wird die Puffergröße im Schritt 90 verringert und die PDV_UF-Variable wird im Schritt 92 auf Null zurückgesetzt. Wenn die PDV_UF kleiner als UF_Thr am logischen Schritt 88 ist, verzweigt sich das Programm zurück zum Schritt 70, um das nächste Paketintervall abzuwarten. Bei einem Rücksetzen im Schritt 92 verzweigt sich das Programm ebenfalls zurück zum Schritt 70.
  • 29 zeigt ein Ablaufdiagramm, das die Implementierung der Bandbreiten-Optimierung zeigt. Eine Anzeige von dem Programm, dass die Bandbreiten-Optimierung implementiert werden soll, wie z.B. der Befehl 70 nach 27 zur Freigabe des Bandbreiten-Optimierungs-Programms leitet den Prozess ein.
  • Wenn die adaptive Bandbreiten-Optimierung nicht freigegeben ist, wird eine Entscheidung durchgeführt, ob eine statische Bandbreiten-Optimierung freizugeben ist oder nicht (Schritt 102). Wenn dies nicht der Fall ist wird ein beeinträchtiger Netzwerk-Zustand an den Benutzer berichtet (Schritt 104). Wenn das Signal Static BwOpt aktiviert ist (Schritt 102), so wird die statische Bandbreiten-Optimierung freigegeben (Schritt 108). Wenn die adaptive Bandbreiten-Optimierung freizugeben ist (Schritt 100), so wird das Programm (adaptive BwOpt) freigegeben.
  • Anpassungsmechanismus-Systeme und Verfahren gemäß der vorliegenden Erfindung verringern die Größe der Bandbreite, die zur Übertragung von Sprache-Daten in einem Netzwerk erforderlich ist. Weil die Übertragung auf aktive Kanäle beschränkt ist, wird die Bandbreite in einer effizienten Weise unabhängig von der Anzahl der Karten genutzt, die körperlich in dem Netzwerk vorhanden sind.
  • Es ist zu erkennen, dass die vorliegende Erfindung beispielsweise in einer anderen Architektur als einer zentralisierten Master-/Slave-Konfiguration implementiert werden kann. Es kann mehr als eine PBX vorgesehen sein, wie z.B. in einer verteilten PBX-Umgebung mit mehrfachen Gerätegestellen, die zumindest eine der Funktionen des zentralisierten Master-Gerätegestells ausführen. Reserve-Gerätegestelle könnten ebenfalls vorgesehen sein, um eine Kommunikations-Unterbrechung im Fall eines Ausfalls eines primären Gerätegestells zu verhindern.
  • Zusätzlich könnte das System und Verfahren der vorliegenden Erfindung als Teil eines Meridian-1-Systems implementiert werden, wie es von der Firma Nortel Networks hergestellt wird, und die Option 11C-Gerätegestell einschließen. Weiterhin beruht die vorstehende Beschreibung auf einer Klienten-Server-Architektur.
  • Zusätzlich wird, obwohl die Gesichtspunkte der vorliegenden Erfindung so beschrieben wurden, als ob sie in einem Speicher gespeichert sind, der Fachmann ohne weiteres erkennt, dass diese Gesichtspunkte auch auf anderen Arten Computer lesbaren Medien gespeichert werden können, wie z.B. sekundären Speichergeräten, wie Festplatten, Floppy-Disks oder DC-ROM; einer Trägerschwingung von dem Internet oder anderen Formen von RAM oder ROM.
  • Weiterhin beruht die vorstehende Beschreibung auf einer Klienten-Server-Architektur, doch wird der Fachmann ohne weiteres erkennen, dass eine gleichrangige Architektur gemäß der Erfindung verwendet werden kann. Weiterhin könnte, obwohl die beschriebene Implementierung Hardware und Software einschließt, die Erfindung ausschließlich in Hardware oder ausschließlich in Software implementiert werden.

Claims (12)

  1. Verfahren zur dynamischen Anpassung eines PBX- (privaten Nebenstellen-) Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk, mit den folgenden Schritten: Identifikation eines mit einem über das Netzwerk hinweg transportierten Daten-Paket verbundenen Betriebsleistungs-Parameters, der für die Betriebsleistung des Netzwerkes von Bedeutung ist; Messen des Parameters; und Ermöglichen einer Optimierung der Netzwerk-Bandbreite, wenn der gemessene Parameter einen vorher definierten Schwellenwert durchquert, wobei die Optimierung eines oder mehreres von Folgendem umfasst: statische Bandbreiten-Optimierung, die die Begrenzung der Anzahl der übertragenen Kanäle umfasst; adaptive Bandbreiten-Optimierung, die Folgendes einschließt: a. Ausscheidung von leeren Steckplätzen; b. Ausscheidung von Leerlauf-Kanälen; c. Ausscheidung von Karten im Leerlauf-Betrieb; oder d. Ausscheidung von Karten auf der Grundlage von Priorität; und Steuerung der PDV- (Paketverzögerungs-Variations-) Puffergröße.
  2. Vorrichtung zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk, mit: einem Parameter-Identifikationsmechanismus zur Identifikation eines mit einem über das Netzwerk transportierten Datenpaketes verbundenen Betriebsleistungs-Parameter, der für die Betriebsleistung des Netzwerkes von Bedeutung ist; eine Parameter-Messeinrichtung zur Messung des Parameters; und einer eine Optimierung ermöglichenden Einrichtung zur Optimierung der Bandbreite des Netzwerkes, wenn der gemessene Parameter einen vorher definierten Schwellenwert durchquert, wobei die Optimierung eines oder mehreres von Folgendem umfasst: statische Bandbreiten-Optimierung, die die Begrenzung der Anzahl der übertragenen Kanäle umfasst; adaptive Bandbreiten-Optimierung, die Folgendes einschließt: a. Ausscheidung von leeren Steckplätzen; b. Ausscheidung von Leerlauf-Kanälen; c. Ausscheidung von Karten im Leerlauf-Betrieb; oder d. Ausscheidung von Karten auf der Grundlage von Priorität; und Steuerung der PDV- (Paketverzögerungs-Variations-) Puffergröße.
  3. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 1, bei dem: der Parameter eine Sequenznummer umfasst, die dem Nutzdatenteil des Datenpaketes zugeordnet ist.
  4. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 1, bei dem: der Parameter die Messung der Differenz der Ankunftszeiten von Paketen, die über das Netzwerk und zurück ausgesandt werden, zwischen einem ersten Paket und einem zweiten Paket umfasst.
  5. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk nach Anspruch 1, bei dem: der Parameter eine Messung der Differenz der Ankunftszeiten von über das Netzwerk hinweg und zurück ausgesandten Paketen zwischen dem Mittelwert von Ankunftszeiten einer Gruppe von Paketen und einem zweiten Paket umfasst.
  6. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 3, das weiterhin den Teilschritt des: Speicherns der Sequenznummern von Datenpaketen in einem Register umfasst.
  7. Verfahren zum dynamischen Anpassen eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 6, das weiterhin den Teilschritt der: Speicherung von Sequenznummern, die aufeinanderfolgenden Datenpaketen zugeordnet sind, in dem Register umfasst.
  8. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 7, das weiterhin den Teilschritt der: Überwachung der Folge von gespeicherten Sequenznummern umfasst, die aufeinanderfolgenden Datenpaketen zugeordnet sind.
  9. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 8, das weiterhin den Teilschritt der: Weiterschaltung eines Zählers in dem Register um eine Zählung von eins, wenn die Sequenznummern von aufeinanderfolgenden gespeicherten Datenpaketen in einer sequenziellen Reihenfolge vorliegen; und die Weiterschaltung des Zählers um eine Zählung von mehr als eins umfasst, wenn die Sequenznummern von aufeinanderfolgenden gespeicherten Datenpaketen außerhalb der sequenziellen Reihenfolge liegen.
  10. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 9, das weiterhin den Teilschritt der: Einleitung einer Bandbreitenoptimierung umfasst, wenn die Zählung des Zählers um eine Zählung von mehr als eins vergrößert wird.
  11. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 1, bei dem: die adaptive Optimierung den Schritt der Feststellung umfasst, welche Kanäle physikalisch durch Karten dargestellt sind, die mit einem PBX-Netzwerk-Gerätegestell verbunden sind.
  12. Verfahren zur dynamischen Anpassung eines PBX-Netzwerkes zur Aufrechterhaltung eines Dienstgüte-Grades in dem Netzwerk gemäß Anspruch 11, bei dem: die adaptive Optimierung den Schritt der Feststellung, ob ein Kanal inaktiv ist, und die Umsetzung eines aktiven Kanals auf einen verfügbaren inaktiven Kanal umfasst.
DE60026815T 1999-12-30 2000-12-21 Adaptive Aufrechterhaltung der Dienstqualität (QoS) in einem verteilten PBX Netz Expired - Lifetime DE60026815T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US474779 1995-06-07
US47477999A 1999-12-30 1999-12-30
US47477899A 1999-12-30 1999-12-30
US09/475,269 US7990882B1 (en) 1999-12-30 1999-12-30 Adaptively maintaining quality of service (QoS) in distributed PBX networks
US474778 1999-12-30
US475269 1999-12-30

Publications (2)

Publication Number Publication Date
DE60026815D1 DE60026815D1 (de) 2006-05-11
DE60026815T2 true DE60026815T2 (de) 2006-09-14

Family

ID=27413292

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026815T Expired - Lifetime DE60026815T2 (de) 1999-12-30 2000-12-21 Adaptive Aufrechterhaltung der Dienstqualität (QoS) in einem verteilten PBX Netz

Country Status (4)

Country Link
US (1) US8477602B2 (de)
EP (2) EP1447998A1 (de)
CA (2) CA2329966C (de)
DE (1) DE60026815T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373422B1 (en) * 2000-08-04 2008-05-13 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US20040170164A1 (en) * 2003-02-28 2004-09-02 Leblanc Wilfrid Quality of service (QOS) metric computation in voice over IP systems
PL2742646T3 (pl) * 2011-09-30 2016-05-31 Ericsson Telefon Ab L M Sposób, urządzenie i sieć komunikacyjna do dogłębnej analizy przyczyn
US8953463B2 (en) * 2012-02-29 2015-02-10 Hamilton Sundstrand Corporation Channel interleaved multiplexed databus
US9762468B2 (en) * 2015-03-09 2017-09-12 Landis+Gyr Innovations, Inc. Method for dynamically adjusting packet transmission timing

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4440986A (en) 1979-02-21 1984-04-03 Walter L. Douglas Microprocessor controller for simultaneously controlling a PBX and providing multiple user access for general purpose data processing
US5479407A (en) 1991-05-24 1995-12-26 Ko; Cheng-Hsu Channel utilization method and system for ISDN
WO1992021188A1 (en) * 1991-05-24 1992-11-26 Bell Atlantic Network Services, Inc. Channel utilization method and system for isdn
US5361259A (en) 1993-02-19 1994-11-01 American Telephone And Telegraph Company Wide area network (WAN)-arrangement
JP3187230B2 (ja) 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
US5426694A (en) 1993-10-08 1995-06-20 Excel, Inc. Telecommunication switch having programmable network protocols and communications services
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
DE69518913T2 (de) * 1994-03-09 2001-04-12 British Telecommunications P.L.C., London Bandbreitenverwaltung in einem fernsprechwählnetz
GB9421723D0 (en) * 1994-10-28 1994-12-14 Lucas Ind Plc Control valve
US5699356A (en) 1995-07-17 1997-12-16 Mci Communication System and method for personal communication system dynamic channel allocation
KR0153380B1 (ko) 1995-10-28 1998-11-16 김광호 전자교환기의 음성 안내 장치 및 방법
US6546442B1 (en) * 1995-10-30 2003-04-08 International Business Machines Corporation Communications adapter having analog and digital interfaces for communications with remote systems
JPH09135250A (ja) 1995-11-10 1997-05-20 Toshiba Corp 音声信号伝送方式
KR19990072122A (ko) 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
US5875234A (en) 1996-02-14 1999-02-23 Netphone, Inc. Computer integrated PBX system
US5673253A (en) * 1996-02-29 1997-09-30 Siemens Business Communication Systems Dynamic allocation of telecommunications resources
JPH09261231A (ja) * 1996-03-19 1997-10-03 Fujitsu Ltd 伝送速度制御装置
US6014431A (en) 1996-03-29 2000-01-11 Cisco Technology, Inc. Communication server apparatus having four-wire switching interface and method
US5793976A (en) * 1996-04-01 1998-08-11 Gte Laboratories Incorporated Method and apparatus for performance monitoring in electronic communications networks
US5912894A (en) 1996-06-20 1999-06-15 International Business Machines Corporation Method and system for monitoring traffic to optimize the bandwidth reserved to an audio channel connection in a high speed digital network
US5841780A (en) * 1996-08-29 1998-11-24 Lucent Technologies Inc. ISDN BRI link restoration without loss of calls
US6343086B1 (en) 1996-09-09 2002-01-29 Natural Microsystems Corporation Global packet-switched computer network telephony server
US6304567B1 (en) 1996-11-26 2001-10-16 Lucent Technologies Inc. Methods and apparatus for providing voice communications through a packet network
US5953338A (en) 1996-12-13 1999-09-14 Northern Telecom Limited Dynamic control processes and systems for asynchronous transfer mode networks
GB2325376B (en) 1997-05-14 2001-09-19 Dsc Telecom Lp Allocation of bandwidth to calls in a wireless telecommunications system
EP1021757A1 (de) 1997-07-25 2000-07-26 Starvox, Inc. Verfahren und vorrichtung für integriertes sprach-gateway
US6356545B1 (en) 1997-08-08 2002-03-12 Clarent Corporation Internet telephone system with dynamically varying codec
GB9718269D0 (en) 1997-08-28 1997-11-05 British Telecomm Connection admission control for connection orientated networks
KR100528660B1 (ko) 1997-09-30 2005-11-15 코닌클리케 필립스 일렉트로닉스 엔.브이. 통신 네트워크에서 채널 할당 방법 및 대응 시스템
US6567416B1 (en) 1997-10-14 2003-05-20 Lucent Technologies Inc. Method for access control in a multiple access system for communications networks
US5991312A (en) 1997-11-03 1999-11-23 Carrier Access Corporation Telecommunications multiplexer
US6389005B1 (en) 1997-12-01 2002-05-14 Nortel Networks Limited Automatic backup trunking for voice over the internet
US6563796B1 (en) * 1998-03-18 2003-05-13 Nippon Telegraph And Telephone Corporation Apparatus for quality of service evaluation and traffic measurement
US6385192B1 (en) 1998-03-24 2002-05-07 Siemens Information And Communication Networks, Inc. Method and apparatus for DTMF signaling on compressed voice networks
US6154465A (en) 1998-10-06 2000-11-28 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligenty bridged TDM and packet buses and methods for performing telephony and data functions using the same
AU756958B2 (en) 1998-04-03 2003-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Flexible radio access and resource allocation in a universal mobile telephone system (UMTS)
US6134313A (en) 1998-10-23 2000-10-17 Toshiba America Information Systems, Inc. Software architecture for a computer telephony system
US6452944B1 (en) 1998-11-30 2002-09-17 Alcatel Usa Sourcing, L.P. Asymmetrical digital subscriber line (ADSL) signal traffic and non-ADSL traffic discriminator
US6850764B1 (en) 1998-12-17 2005-02-01 Cisco Technology, Inc. Method and system for allocating bandwidth in a wireless communications network
US6285751B1 (en) 1999-01-07 2001-09-04 Iq Net Solutions, Inc. PBX system having line cards and phone cards which exhibit reciprocal relationships
US6351452B1 (en) 1999-01-19 2002-02-26 Carrier Access Corporation Telecommunication device with centralized processing, redundancy protection, and on-demand insertion of signaling bits
JP3689580B2 (ja) 1999-01-29 2005-08-31 株式会社日立製作所 インタネット電話接続方法、帯域管理装置及びゲートキーパー装置
US6519259B1 (en) 1999-02-18 2003-02-11 Avaya Technology Corp. Methods and apparatus for improved transmission of voice information in packet-based communication systems
US6198725B1 (en) 1999-03-16 2001-03-06 Fujitsu Network Communications, Inc. Network element delay allocation for efficient use of network resources
US6570872B1 (en) 1999-04-06 2003-05-27 Nortel Networks Limited Self-configuring distributed switch
US6263371B1 (en) 1999-06-10 2001-07-17 Cacheflow, Inc. Method and apparatus for seaming of streaming content
US6683887B1 (en) 1999-08-19 2004-01-27 Alcatel Usa Sourcing, L.P. Asymmetrical digital subscriber line (ADSL) downstream high speed cell bus interface protocol
US6614811B1 (en) 1999-10-05 2003-09-02 Carrier Access Corporation Modular multi-service telecommunication access device
US6363065B1 (en) 1999-11-10 2002-03-26 Quintum Technologies, Inc. okApparatus for a voice over IP (voIP) telephony gateway and methods for use therein
US6459708B1 (en) 1999-12-21 2002-10-01 Toledo Communications, Inc. Apparatus and method for providing T1/E1 telecommunications trunks over IP networks
US7990882B1 (en) * 1999-12-30 2011-08-02 Avaya Inc. Adaptively maintaining quality of service (QoS) in distributed PBX networks
US7373422B1 (en) 2000-08-04 2008-05-13 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
JP2002344531A (ja) 2001-05-15 2002-11-29 Hitachi Ltd 通信帯域確保及び解放要求方法
US7236483B2 (en) 2002-06-28 2007-06-26 Samsung Electronics Co., Ltd. Method for controlling bandwidth in a voice over internet protocol system
US7430179B2 (en) 2003-06-28 2008-09-30 Geopacket Corporation Quality determination for packetized information
US7263095B1 (en) 2004-02-12 2007-08-28 Cingular Wireless Ii Llc Method and apparatus for providing quality of service through multiple carrier IP networks
US20060015639A1 (en) 2004-07-13 2006-01-19 Taylor Benjamin F Method for managing inter-zone bandwidth in a two-way messaging network
US8165109B2 (en) 2004-11-10 2012-04-24 Cisco Technology, Inc. Method for managing the quality of encrypted voice over IP to teleagents
US8194640B2 (en) 2004-12-31 2012-06-05 Genband Us Llc Voice over IP (VoIP) network infrastructure components and method
US20060146859A1 (en) 2005-01-04 2006-07-06 Avaya Technology Corp. Alternate routing of media connections within a single communications system across public or private network facilities
US7889636B2 (en) 2005-05-24 2011-02-15 Cisco Technology, Inc. System and method for implementing a mid-call policy in a RSVP environment

Also Published As

Publication number Publication date
EP1115258A3 (de) 2001-10-04
EP1447998A1 (de) 2004-08-18
US8477602B2 (en) 2013-07-02
CA2329966C (en) 2010-07-20
EP1115258B1 (de) 2006-03-22
US20110090796A1 (en) 2011-04-21
EP1115258A2 (de) 2001-07-11
DE60026815D1 (de) 2006-05-11
CA2702999A1 (en) 2001-06-30
CA2329966A1 (en) 2001-06-30

Similar Documents

Publication Publication Date Title
DE69331309T2 (de) Bandbreitenzuordnung, Übertragungsplanung und Vermeidung von Blockierungen in Breitband Asynchroner-Transfer-Modus Netzwerken
DE69131584T2 (de) Burst-Zeitmultiplex-Schnittstelle für eine integrierte Daten-Übertragungsstreckensteuerung
DE60018799T2 (de) Netzwerkvermittlung mit paketfolgesteuerung
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE69417583T2 (de) Dataverbindungsschnittstelle fur paketvermittlungsnetzwerk
DE69131089T2 (de) ATM-Vermittlungseinheit
DE69530641T2 (de) Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung
DE69510536T2 (de) Breitbandvermittlungsnetz
DE69331454T2 (de) Anordnung für Begrenzung des Zitterns in einem auf Priorität basierenden Schaltsystem
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE60022082T2 (de) Synchronisierter transport durch nichtsynchrone netzwerke
DE60038538T2 (de) Vermittlungseinrichtung und Vermittlungsverfahren
EP0885506B1 (de) Verfahren und anordnung zur übertragung eines datenpakets im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE69634062T2 (de) Burst-Vermittlungssystem
DE69611603T2 (de) Digitales kommunikationssystem
DE69431557T2 (de) Dynamische ratenanpassung zur ueberlastregelung in kommunikationsnetzwerken
EP0902600B1 (de) Verfahren zum Einrichten von logischen Verbindungen in einem synchronen digitalen Nachrichtenübertragungsnetz, Netzelement und Managementsystem
WO2003026341A2 (de) Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
US7990882B1 (en) Adaptively maintaining quality of service (QoS) in distributed PBX networks
DE10023037A1 (de) Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld
DE60026815T2 (de) Adaptive Aufrechterhaltung der Dienstqualität (QoS) in einem verteilten PBX Netz
DE60112680T2 (de) Netzwerkerweiterungsmodul
DE19932223A1 (de) Verfahren zum Verwalten veränderlicher Verkehrslasten in einem Telekommunikationsnetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition