-
GEBIET DER ERFINDUNG:
-
Diese
Erfindung betrifft Datenserver zum Einsatz in Netzwerken, in denen
Medien in Paketform übertragen
werden. Insbesondere betrifft die vorliegende Erfindung Datenserver,
die als ein Medienserver konfiguriert sind, bei dem eine Gestellanordnung, die
eine Vielzahl von Medienprozessorkarten, und eine Vielzahl von Medienbussen
auf der Rückwand umfaßt, bereitgestellt
wird. Die vorliegende Erfindung sorgt insbesondere für eine Entscheidung
darüber, auf
welche Weise die Steuerung von Paketen aus Daten von verschiedenen
Karten innerhalb des Datenservers gesteuert werden soll. Der Datenserver kann
jedoch als ein Medienserver oder als ein Medien-Gateway arbeiten,
insbesondere in Telefonie-Netzwerken, Videokonferenz-Netzwerken
und dergleichen.
-
HINTERGRUND DER ERFINDUNG
-
Datenserver
finden sich in vielen Situationen für viele Zwecke. Jedoch ist
die vorliegende Erfindung insbesondere auf den Einsatz von Datenservern
in Mediennetzwerken gerichtet, in denen die Mediendaten in Paketform übertragen
werden. Solche Verwendungen können
insbesondere in die Zweckbestimmung von Medien-Gateways und Medienservern
für Mediennetzwerke,
so wie Telefonie-Netzwerke fallen.
-
Tatsächlich ist
es insbesondere die Umgebung von Telefonie-Netzwerken, in der die
vorliegende Erfindung ihren besonderen Nutzen findet. Telefonie-Netzwerke
transportieren insbesondere Sprachdaten, die in ein digitales Format
codiert worden sind. Obwohl jedoch das menschliche Ohr in einem
gewissen Ausmaß nachsichtig
sein kann, wird es keine wesentlichen Unterbrechungen oder Verzögerungen
in dem Lauf der gesprochenen Nachrichten tolerieren. Mit anderen
Worten, anders als Datennetzwerke, in denen Verzögerungen oder Unterbrechungen
bei der Lieferung von Daten in Paketform toleriert werden können, wenigstens
in einem gewissen Ausmaß, muß die Übertragung
und Verarbeitung von Sprachnachrichten und auch Videonachrichten
und dergleichen im wesentlichen in Echtzeit stattfinden. Somit müs sen Datenserver,
so wie Gateways und Medienserver, in einer solchen Weise aufgebaut
sein, daß sie
in der Lage sind, mit einem hohen Durchsatz und Genauigkeit der
Datenverwaltung und -verarbeitung zu arbeiten.
-
Die
folgende Diskussion ist insbesondere auf Medienserver gerichtet,
es wird jedoch verstanden werden, daß die Diskussion ebenso auf
Gateways und dergleichen anwendbar ist, wie es denen, die auf dem
Gebiet bewandert sind, offensichtlich sein wird.
-
Medienserver
werden in Telefonie-Netzwerken eingesetzt und führen eine Vielzahl grundlegender
und verbesserter Dienste aus, die Konferenz, interaktive Sprachantwort,
Transcodieren, Ankündigungen
und andere erweiterte Sprachdienste umfassen. Sie können auch
in Netzwerken verwendet werden, die Videokonferenzdienste zur Verfügung stellen,
ebenso wie bei typischen Datenaustauschdiensten der Art, die über das
Internet geschieht, über
virtuelle private Netzwerke, innerhalb von Fernbereichsnetzwerken
und Nahbereichsnetzwerken und dergleichen. In jedem Fall liegen
die Daten jeglicher Art, sei sie Sprache, Video oder numerische
oder Textdaten, in Paketform vor – das heißt, die Daten werden in Paketen
verschickt.
-
Medienserver
sind direkt mit einem Paketnetzwerk verbunden und können daher
an vielen Orten bei Serviceprovidern im Einsatz gefunden werden,
einschließlich
denen, die drahtlose, Kabelmodem-, xDSL, Faser- und Kupferzugangstechnologien zur
Verfügung
zu stellen; vorausgesetzt jedoch, daß das Kernnetzwerk, innerhalb
dem der vorliegende Server gefunden werden kann, eines ist, das
auf Pakettechnologien basiert, so wie IP und ATM.
-
Medienserver
führen
Echtzeitverarbeitung von Medienströmen durch, die aus solchen
Geräten wie
Personalcomputern, IP-Telefonen, Mobiltelefonen und herkömmlichen
Telefonen über
einen geeigneten Medien-Gateway herrühren können. Typische Funktionen,
die von Medienservern durchgeführt werden
können,
umfassen das Decodieren und Sammeln von DTMF-Tönen,
sie können
komplexe Audioankündigungen
spielen, sie können
mehrere Audiosignale überbrücken, sie
können
zwischen unterschiedlichen Codier-Decodier-Typen und Bitraten transcodieren,
sie können
Audiosignale für
die automatische Spielesteuerung in ihrem Pegel verschieben und
Text in Sprache oder Sprache in Text umwandeln. Medienserver können auch
Sprachbefehle erkennen, Videosignale überbrücken und Faxströme decodieren/codieren.
-
Typischerweise
sind Medienserver ein Teil einer verbesserten Diensteinfrastruktur
in einer Softswitcharchitektur. Die Medienserver werden als Sklaven
für die
Dienstelogik arbeiten, die in einem Anwendungsserver oder in einem
Softswitch vorliegt, und Hardware des Standes der Technik zur Verfügung stellen,
die aufgerüstet
werden kann und die fast unbeschränkte Skalierbarkeit zeigt,
ohne Berücksichtigung
der Dienstelogik, die in einem Anwendungsserver oder einem Softswitch
verwendet werden kann, und ohne Berücksichtigung dessen, ob ein Medien-Gateway
vorliegt oder nicht, so wie der, der für andere als VoIP-Telefonie
erforderlich ist.
-
Die
EP-A-0 727 750 offenbart
einen Datenserver zum Herausziehen von mehreren Strömen kontinuierlicher
Daten aus einem Speicher. In diesem Patent bewegen sich die Daten
nur in eine Richtung, von dem Speicher zu den Kommunikationssteuervorrichtungen.
Es erlaubt nicht die Kommunikation zwischen den Steuervorrichtungen.
-
Die
WO-A-97/31460 offenbart
eine Entscheidungsvorrichtung, die einen Crossbar-Switch verwendet.
Jeder Port kann nur ein einzelnes Paket empfangen oder senden. Die
Vorrichtung kann keine Ports handhaben, die es erlauben, daß mehrere
Pakete gleichzeitig gesendet werden.
-
Bei
dieser Erfindung besteht der besondere Zweck darin, eine Entscheidungstechnik
auf eine Rückwand
eines Kartengestells in einem Medienserver zur Verfügung zu
stellen, um so für
die Kommunikation zwischen den Karten zu sorgen. Dadurch stellt die
vorliegende Erfindung eine Entscheidungstechnik zur Verfügung, die
in effizienter Weise den Verkehr entlang den Medienbussen innerhalb
der Rückwand eines
Kartengestells in dem Medienserver verwalten wird.
-
Kurz
gesagt stellt die vorliegende Erfindung einen Datenserver zur Verfügung, bei
dem eine Medienprozessorkarte das Recht fordern wird, ein Paket aus
Daten auf dem Medienbus zu senden. Ein Busarbiter, der auf der Buscontrollerkarte
auf dem Kartengestell zu finden ist, wird zwischen den verschiedenen
Medienprozessorkarten schlichten, die Pakete aus Daten senden möchten, und
jeder Medienprozessorkarte einen bestimmten Bus zuweisen, auf dem
sie mit einem anderen Bus oder anderen Bussen kommunizieren wird.
-
Indem
er so vorgeht, wird der Busarbiter Anforderungen, Pakete aus Daten
zu senden, sichten, wobei bestimmte Kriterien eingehalten werden.
Jedoch wird jede Entscheidung auf einer Basis pro Paket getroffen.
Somit wird ein Flußsteuermechanismus zur
Verfügung
gestellt, der die Lieferung von Paketen aus Daten an ihre gedachten
Ziele sicherstellt; und somit werden eine Durchsatzzeit und ein
Risiko von Blockierungen verbessert.
-
ZUSAMMENFASSUNG DER ERFINDUNG:
-
Zu
diesem Zweck stellt die vorliegende Erfindung einen Datenserver
zum Einsatz in Netzwerken zur Verfügung, in denen Daten in Paketform übertragen
werden und bei denen solche Medien beispielsweise Audiodaten in
Paketform, Videodaten in Paketform, Steuerdaten in Paketform, Informationen
in Paketform und Kombinationen aus diesen sein können.
-
Der
Datenserver weist wenigstens ein Kartengestell auf, das wenigstens
eine Karte mit Buscontrollerfunktion, eine Vielzahl Medienprozessorkarten
und eine Rückwand
aufweist.
-
Die
Rückwand
umfaßt
eine Medienbusgruppe mit einer Vielzahl von Medienbussen in dieser.
-
Jeder
aus der Vielzahl der Medienbusse ist dazu ausgelegt, Mediendaten
in Paketform zwischen den Karten zu transportieren, die in dem Kartengestell
eingerichtet sind.
-
Jeder
Medienprozessorkarte auf dem Gestell ist eine bestimmte Kennung
zugewiesen.
-
Es
gibt wenigstens einen bidirektionalen Port auf jeder Medienprozessorkarte,
von dem und zu dem Pakete aus Mediendaten gesendet werden können.
-
Jeder
der bidirektionalen Ports auf jeder Medienprozessorkarte hat seine
eigene Kennung auf seiner jeweiligen Karte.
-
Wenn
irgendein bidirektionaler Port auf irgendeiner Medienprozessorkarte
wünscht,
das Paket aus Mediendaten an einen anderen bidirektionalen Port
auf irgendeiner Medienprozessorkarte zu senden, gibt er eine Anforderung
aus, das Paket aus Daten zu senden.
-
Die
Anforderung, das Paket aus Mediendaten zu senden, umfaßt die Kennung
der beabsichtigten empfangenden Karte und die Kennung des empfangenden
bidirektionalen Ports auf der beabsichtigten empfangenden Karte.
-
Jeder
bidirektionale Port auf jeder Medienprozessorkarte gibt Flußsteuerinformation
aus, ob der bidirektionale Port Pakete aus Mediendaten, die an ihn
zu irgendeinem Zeitpunkt gesendet werden sollen, akzeptieren kann
oder nicht.
-
Auch
wird jede Medienprozessorkarte Flußsteuerinformation für jeden
Bus in der Medienbusgruppe ausgeben, ob die Karte Pakete aus Mediendaten
akzeptieren kann oder nicht, die über einen jeweiligen Bus zu
irgendeinem Zeitpunkt an sie geschickt werden sollen.
-
Gemäß einem
besonderen Merkmal der vorliegenden Erfindung ist ein Busarbiter
auf der wenigstens ersten Karte, die die Bussteuerfunktion hat,
zu finden. Der Zweck des Busarbiter ist es, den Flußsteuerstatus
jeder Ausgabeposition jeder jeweiligen Medienprozessorkarte zu prüfen und
auch den Flußsteuerstatus
jedes bidirektionalen Ports auf jeder jeweiligen Medienprozessorkarte
zu prüfen.
Weiter wird der Busarbiter den Flußsteuerstatus jedes Busses
in der Medienbusgruppe prüfen,
und er wird Anforderungen bearbeiten, Pakete aus Mediendaten von
jeder Medienprozessorkarte zu senden. Der Busarbiter wird Anforderungen,
Pakete aus Mediendaten zu senden, nur für die Pakete aus Mediendaten freigeben,
die an Zieladressen gesendet werden sollen, die nicht flußgesteuert
sind, wobei die Freigaben nur für
Sendungen über
Busse gegeben werden, die nicht flußgesteuert sind.
-
Alle
Ports und alle Karten, die ihre Bewilligungen empfangen haben, Pakete
aus Mediendaten zu senden, werden ihre festgelegten Pakete aus Mediendaten
auf die jeweiligen bewilligten Busse bringen, wobei sie zum gleichen
Zeitpunkt beginnen.
-
Typischerweise
trägt jede
Medienprozessorkarte eine Vielzahl bidirektionaler Ports, von denen und
an die Pakete aus Mediendaten gesendet werden können. Jeder aus der Vielzahl
der bidirektionalen Ports hat seine eigene jeweilige Kennung.
-
Auch
hat typischerweise unter solchen Umständen, wie sie soeben zuvor
beschrieben worden sind, jeder bidirektionale Port auf jeder Medienprozessorkarte
ein Dringlichkeits-Flag, das er setzen kann, wenn es nötig ist.
Wenn irgendein Paket aus Mediendaten von irgendeinem bidi rektionalen
Port auf irgendeiner Medienkarte verschickt werden soll und das
Paket aus Mediendaten eine hohe Priorität hat, dann wird jeder jeweilige
bidirektionale Port auf jeder jeweiligen Karte mit einem solchen
Paket aus Mediendaten hoher Priorität, das verschickt werden soll,
sein Dringlichkeits-Flag setzen – das heißt, das Dringlichkeits-Flag
wird angehoben.
-
Typischerweise
ist die erste Karte in dem Gestell eine Gestell-Controllerkarte,
und in ihr ist die Buscontrollerfunktion eingeschlossen. Es ist
natürlich
möglich,
daß auch
eine getrennte Buscontrollerkarte in dem Gestell zu finden ist.
Jedenfalls wird bei jedweder Konfiguration eines Datenservers gemäß der vorliegenden
Erfindung jeder Bus in der Medienbusgruppe seine eigene jeweilige
Kennung haben.
-
Die
Anforderungen, Pakete aus Mediendaten zu senden, welche von dem
Busarbiter verarbeitet werden, können
in einer solchen Weise verarbeitet werden, daß diejenigen Anforderungen,
die eine hohe Priorität
haben, vor jeglichen anderen Anforderungen mit einer niedrigeren
Priorität
verarbeitet werden.
-
Typischerweise
wird der Busarbiter die Reihenfolge festlegen, in der die Anforderungen,
Pakete aus Mediendaten zu senden, verarbeitet werden sollen, entsprechend
einem vorbestimmten Algorithmus, der in dem Busarbiter zu finden
ist.
-
Der
Algorithmus in dem Busarbiter kann derart sein, daß, wenn
Anforderungen, Pakete aus Mediendaten zu senden, von dem Busarbiter
entsprechend dem vorbestimmten Algorithmus verarbeitet werden sollen,
solche Anforderungen, die eine höhere
Priorität
haben, vor den Anforderungen mit einer niedrigeren Priorität verarbeitet
werden.
-
Darüber hinaus
kann der Algorithmus derart sein, daß Anforderungen von Medienprozessorkarten
mit mehr Paketen aus Mediendaten, die zu irgendeinem Zeitpunkt gesendet
werden sollen, vor Anforderungen von Medienprozessorkarten verarbeitet
werden, die weniger Pakete aus Mediendaten haben, die zu dem Zeitpunkt
gesendet werden sollen.
-
Noch
weiter, wenn irgendwelche Anforderungen, Pakete aus Mediendaten
zu senden, nicht bewilligt werden, dann wird diesen Anforderungen
von dem Busarbiter für
den nächsten
Zeitpunkt, an dem die Anforderung, Pakete aus Mediendaten zu senden,
verarbeitet werden soll, eine höhere
Priorität
gegeben werden.
-
Der
Busarbiter kann dazu ausgelegt sein, die Priorität der bidirektionalen Ports
und Medienprozessorkarten entsprechend dem vorbestimmten Algorithmus
in einer solchen Weise auszugleichen, daß kein Port und keine Karte
einen unfairen Vorteil gegenüber
irgendeinem anderen Port bzw. einer anderen Karte hat, was die Anforderungen
betrifft, Pakete aus Mediendaten zu senden, die von den Ports und den
Karten verschickt werden.
-
Wie
hierin angemerkt, kann ein Datenserver gemäß der vorliegenden Erfindung
als ein Medienserver zur Verwendung in Netzwerken konfiguriert werden,
bei denen Sprachdaten in Paketform durch das Netzwerk gesendet werden.
-
Jedoch
kann ein Datenserver gemäß der vorliegenden
Erfindung auch als ein Medien-Gateway,
zur Verwendung in Netzwerken, in denen Sprachdaten in Paketform
durch das Netzwerk gesendet werden, ausgestaltet sein.
-
Jeder
bidirektionale Port auf jeder Medienprozessorkarte irgendeines Datenservers
gemäß der vorliegenden
Erfindung hat wenigstens einen Empfangspuffer, der ihm zugewiesen
ist.
-
Die
Flußsteuerinformation,
die von jedem bidirektionalen Port auf jeder Medienprozessorkarte ausgegeben
wird, erfolgt typischerweise und ganz einfach durch Setzen eines
Flußsteuer-Flags für jeden
der bidirektionalen Ports auf der Karte.
-
Auch
erfolgt die Flußsteuerinformation
für jeden
Bus in der Medienbusgruppe typischerweise und einfach mittels eines
Flußsteuer-Flags
für jeden
jeweiligen Bus.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN:
-
Die
neuen Merkmale, für
die geglaubt wird, daß sie
für die
vorliegende Erfindung kennzeichnend sind, was ihre Struktur, Organisation
Verwendung und Betriebsweise betrifft, zusammen mit weiteren Aufgaben
und Vorteilen, werden besser aus den folgenden Zeichnungen verstanden
werden, in denen eine gegenwärtig
bevorzugte Ausführungsform
der Erfindung nun beispielhaft veranschaulicht werden wird. Es wird
jedoch ausdrücklich
verstanden, daß die
Zeichnungen lediglich dem Zwecke der Veranschaulichung und der Beschreibung
dienen und nicht als eine Definition der Grenzen der Erfindung beabsichtigt
sind. Ausführungsformen
der Erfindung werden nun beispielhaft im Zusammenhang mit den beigefügten Zeichnungen
beschrieben, wobei:
-
1 ein
schematisches Blockschaubild eines Kartengestells eines Datenservers
gemäß der vorliegenden
Erfindung ist, das eine Vielzahl von Karten auf dem Kartengestell
und Busse auf der Rückwand
des Kartengestellt zeigt;
-
2 graphisch
die Art und Weise veranschaulicht, in der Anforderungsnischen für Anforderungen,
Pakete aus Mediendaten zu senden, eingerichtet werden;
-
3 der 2 ähnlich ist,
wobei dringende Anforderungen, Pakete aus Mediendaten zu senden, hinzugefügt worden
sind;
-
4 die
Anordnung nicht dringender Anforderungen in Anforderungsnischen
zeigt;
-
5 die
Art und Weise veranschaulicht, in der die Suchreihenfolge unter
den Karten, die Anforderungen stellen, von dem Busarbiter vorgenommen wird;
-
6 die
Anforderungsnischen veranschaulicht, nachdem alle bewilligten und
in der Zeit abgelaufenen Anforderungen entfernt worden sind;
-
7 die
Art und Weise zeigt, in der die Priorität für verbleibende Anforderungen
entsprechend ihrer Priorität
nach oben verschoben werden wird; und
-
8 neue
Anforderungen zeigt, die in die Anforderungsnischen hinzugefügt worden
sind, nachdem Anforderungen, wie in 7 gezeigt,
verschoben worden sind.
-
GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN:
-
Die
neuen Merkmale, bei denen vermutet wird, daß sie für die vorliegende Erfindung
kennzeichnend sind, was ihre Struktur, Organisation, Verwendung
und Betriebsweise betrifft, zusammen mit weiteren Aufgaben und Vorteilen,
werden besser aus der folgenden Diskussion verstanden.
-
Es
ist hierin angemerkt worden, daß Datenserver
gemäß der vorliegenden
Erfindung typischerweise als Medienserver oder als Medien-Gateways konfiguriert
werden können,
zum Einsatz in Netzwerken, in denen Sprachdaten in Paketform durch
das Netzwerk gesendet werden. Natürlich kann allgemeiner gesprochen
ein Datenserver gemäß der vorliegenden
Erfindung in irgendeinem Netzwerk verwendet werden, in dem Medien
in Paketform gesendet werden und in dem die Medien typischerweise
Audiodaten in Paketform, Videodaten in Paketform, Steuerdaten in
Paketform, Informationsdaten in Paketform und Kombinationen aus
diesen sind.
-
Jedoch
ist die folgende Diskussion insbesondere auf einen Datenserver gerichtet,
der, was seine Konfiguration betrifft, so aufgebaut ist, daß er als
ein Medienserver arbeitet.
-
Zunächst der 1 zugewandt
ist bei 10 ein typisches Blockschema eines Kartengestells
für einen
Datenserver gezeigt, der gemäß der vorliegenden
Erfindung aufgebaut ist. Das Kartengestell hat eine Vielzahl von
Schächten,
in die verschiedene Karten eingesteckt werden; und es gibt eine
Schnittstelle 12 zwischen dem Schachtbereich 14 des
Kartengestells und der Rückwand 16.
-
Unter
den Karten, die in die Kartenschächte auf
dem Kartengestellt eingesteckt sind, gibt es eine Gestell-Controllerkarte 18 und
eine Vielzahl von Medienprozessorkarten 20, 22.
Es wird bemerkt werden, daß die
Medienprozessorkarte 20 als Karte Nummer 1 bezeichnet ist
und daß die
Medienprozessorkarte 22 als die Medienprozessorkarte Nummer
N bezeichnet ist.
-
Unter
manchen Umständen
kann es auch eine Buscontrollerkarte 24 gegeben, die in
dem Kartengestell vorliegt; obwohl typischerweise die Funktionen
der Buscontrollerkarte und insbesondere und jedenfalls gemäß der vorliegenden
Erfindung die Funktionen eines Busarbiters, wie hiernach diskutiert,
auf der Gestell-Controllerkarte 18 zu finden sind.
-
Es
gibt typischerweise wenigstens drei Medienprozessorkarten 20, 22 und üblicherweise
bis zu zehn oder zwölf
Medienprozessorkarten 20, 22.
-
Innerhalb
der Rückwand 16 gibt
es eine Vielzahl Medienbusse, die gemeinsam bei 28 gezeigt sind.
Jeder der Medienbusse ist mittels eines Medienbusverbinders 30 mit
der jeweiligen Karte 18, 20, 22, 24 verbunden.
-
Es
kann auch irgendwelche anderen „Haushälter"-Busse innerhalb der Rückwand 16 geben, einschließlich eines
Taktbusses 32 und eines Medien-Fragem-Busses 34,
die mit jeder der Karten 18, 20, 22 durch
Busverbinder 36 bzw. 38 verbunden sind.
-
Typischerweise
weist der Medienbus 28 bis zu 18 getrennte Busse auf, die
jeder 8 Bit breit sind. Bei einem typischen Medienserver gemäß der vorliegenden
Erfindung arbeitet jeder der Busse bei 45 MHz.
-
Natürlich wird
jeder 8 Bit breite Bus Daten handhaben, die zwischen Karten laufen.
Ein einzelnes Paket aus Mediendaten kann über irgendeinen der Busse gesendet
werden; und so viele Pakete aus Mediendaten, wie Busse verfügbar sind,
können gleichzeitig
zu derselben Karte geschickt werden, ein Paket aus Mediendaten auf
jedem Medienbus.
-
Es
gibt einen aktiven Busarbiter für
jedes Gestell, der innerhalb der Gestell-Controllerkarte 18 zu finden
ist. Der Busarbiter dient einer Anzahl von Verwendungszwecken, unter
ihnen, die Sendeanforderungen von allen Karten zu lesen und Rückwandbusse 28 für die Paketsendung
zu bewilligen.
-
Es
ist oben angemerkt worden, daß Frame-Information
an die Karten auf dem Gestell entlang dem Bus 34 geschickt
wird. Während
jedes Frames wird jede der Medienprozessorkarten 20, 22 Information
herausschicken, die angibt, auf welchem der Medienbusse 28 und
auf welchem seiner bidirektionalen Port die bestimmte Karte ein
Paket aus Daten empfangen kann.
-
Wie
angemerkt, gibt es wenigstens einen bidirektionalen Port auf jeder
Karte; und typischerweise kann es so viele wie 8 bidirektionale
Ports auf jeder Karte geben. Pakete aus Mediendaten können zu und
von jedem bidirektionalen Port gesendet werden; und jeder bidirektionale
Port hat wenigstens einen und typischerweise so viel wie sechs Empfangspuffer,
die ihm zugewiesen sind. Der Zweck der Empfangspuffer ist es, zeitweilig
Pakete aus Daten zu halten, bevor die Daten an jedem bidirektionalen
Port verarbeitet werden können.
-
Jeder
bidirektionale Port wird Flußsteuerinformation
an die lokale Karte senden, auf der er sich befindet. Die Flußsteuerinformation,
die von jedem bidirektionalen Port auf jeder Medienprozessorkarte ausgegeben
wird, wird Information enthalten, ob der einzelne bidirektionale Port
irgendwelche verfügbaren
Puffer hat, in denen neue Pakete aus Daten empfangen werden können.
-
Darüber hinaus
hat jede Karte eine Anzahl Empfangspuffer – typischerweise zwei Empfangspuffer – für jeden
Medienbus auf der Medienbusgruppe 28. Diese Empfangspuffer
haben eine allgemeine Natur und können Datenpakete für jeden
der bidirektionalen Ports auf der jeweiligen Karte empfangen. Wenn
der bidirektionale Zielport nicht in der Lage ist, Datenpakete zu
akzeptieren und beide Puffer für
einen bestimmten Medienbus voll sind, dann wird die Karte ihr Flußsteuer-Flag
für den
Medienbus heben, was den Busarbiter wissen läßt, daß er keinen weiteren Pakete
aus Daten auf dem bestimmten Medienbus akzeptieren kann.
-
Wenn
jedoch ein Datenpaket an dem bidirektionalen Zielport überführt wird
und der Empfangspuffer dadurch geleert wird, dann wird die Karte
ihr Flußsteuer-Flag
senken, was dem Busarbiter mitteilt, daß sie nun in der Lage ist,
Daten von dem bestimmten Medienbus zu akzeptieren.
-
Natürlich hat
jeder der bidirektionalen Ports auf jeder Medienprozessorkarte seine
eigene Portnummer auf seiner jeweiligen Karte.
-
Eine
grundlegende Beschreibung dessen, was geschieht, wenn ein bidirektionaler
Port auf irgendeiner Medienprozessorkarte 20, 22 es
wünscht, ein
Paket aus Mediendaten an einen anderen bidirektionalen Port auf
der Karte oder einer anderen Karte 20, 22 über den
Medienbus 28 zu schicken, folgt nun:
Zunächst, damit
ein Mediendatenpaket über
einen Medienbus 28 verschickt wird, wird ein bidirektionaler Port
auf der Karte 20, 22, der wünscht, das Paket aus Mediendaten
zu verschicken, eine Anforderung an seine lokale Karte richten,
das Paket aus Mediendaten zu senden.
-
Die
Anforderung, Daten zu senden, wird die Zielkartennummer und die
Nummer des bidirektionalen Zielports enthalten. Sie kann auch ein
Dringlichkeits-Flag enthalten, wodurch die Anforderung, Daten zu
senden, als dringend markiert wird. Dringlichkeits-Flags werden
verwendet, um Daten zu markieren, die hohe Priorität haben;
und falls möglich,
sollten derartige Daten vor anderen nicht dringenden Daten gesendet
werden.
-
Typischerweise
werden Dringlichkeits-Flags auf Pakete gebracht, die Steuerdaten
enthalten, oder jedenfalls wird solchen Paketen eine höhere Priorität gegeben
als Paketen, die Mediendaten enthalten.
-
Bezug
wird nun auf die 2 bis 8 genommen,
die dabei unterstützen,
die Art und Weise zu verstehen, in der Sendeanforderungen vorgenommen,
Prioritäten
zugewiesen und behandelt, Prioritäten verschoben werden können und
so weiter.
-
Zunächst wird
in 2 bemerkt, daß es
eine Vielzahl von Anforderungsnischen 50 geben kann; und
die ersten Schlitze (52) haben die höchste Priorität – gezeigt
am linke Ende in 2 – wobei der letzte Schlitz
(54) – gezeigt
an dem rechten Ende – die
niedrigste Priorität
hat.
-
Jede
Karte bringt ihre Anforderungen in ihre eigenen Anforderungsnischen,
die in der Weise angeordnet sind, wie sie in 2 gezeigt
ist.
-
Die
Karte wird zunächst
prüfen,
um zu sehen, ob irgendwelche Anforderungen ein Dringlichkeits-Flag
haben, das gesetzt worden ist. Sie wird dann die dringenden Anforderungen
in die Anforderungsnischen mit höchster
Priorität
bringen, wie in 3 zu sehen ist. Um die Priorität aller
bidirektionaler Ports auf der Karte auszugleichen, wird die Karte ein
Maximum von einer dringenden Anforderung pro bidirektionalem Port
akzeptieren, bevor sie prüft,
um zu sehen, ob irgendwelche der anderen der bidirektionalen Karten
irgendwelche dringenden Anforderungen haben.
-
Typischerweise
wird die Karte auch nach dem Rotationsprinzip festlegen, welche
bidirektionalen Ports sie während
jedes Sendezyklus zuerst abfragen wird, um festzustellen, ob der
Port eine dringende Anforderung hat. Wenn zum Beispiel eine Karte
fünf bidirektionale
Ports hat, wird die Karte den ersten Port abfragen, dann den zweiten,
dann den dritten, vierten und fünften,
bevor sie zu dem ersten Port zurückkehrt,
um zu sehen, ob er eine zweite dringende Anforderung hat. In dem
folgenden Sendezyklus jedoch wird die Karte mit dem zweiten Port
beginnen, dann den dritten, vierten, fünften und dann den ersten Port.
Sie rotiert weiter in der Reihenfolge, in der sie ihre Ports abfragen
wird, so daß die
Priorität
jedes der Ports ausgeglichen wird.
-
Wie
in 3 zu sehen ist, sind drei dringende Anforderungen
ausgesprochen worden, gezeigt bei Ua, Ub bzw. Uc.
-
Nun,
wie in 4 zu sehen ist, wird die Karte dann alle ihre
nicht dringenden Anforderungen in die Anforderungsnischen bringen,
in der Reihenfolge, in der die Anforderungen von der Karte empfangen
worden sind. Wiederum wird, um die Priorität aller bidirektionaler Ports
auf der Karte auszugleichen, wird die Karte ein Maximum einer nicht
dringenden Anforderung pro bidirektionalem Port akzeptieren, bevor sie
prüft,
um zu sehen, ob irgendwelche anderen bidirektionalen Ports irgendwelche
nicht dringenden Anforderungen haben.
-
Darüber hinaus
wird die Karte auch wie zuvor für
jeden Sendezyklus nach dem Rotationsprinzip festlegen, welche bidirektionale
Ports sie zuerst fragen wird, um festzustellen, ob irgendeine nicht
dringende Anforderung vorliegt.
-
4 zeigt
eine Anzahl nicht dringender Anforderungen, denen von der Karte
die Anforderungsnischen niedrigster Priorität zugewiesen worden sind, wie
bei Nd, Ne, Nf, Ng bzw. Nh zu sehen ist.
-
Nachdem
die Anforderungsnischen auf die Art gefüllt worden sind, wie es in 4 gezeigt
ist, wird die Karte dann ihre Lise der Anforderungsnischen, zusammen
mit ihrer Flußsteuerinformation, an
den Busarbiter senden.
-
Der
Busarbiter, der sich auf der Buscontrollerkarte 24 befindet,
wird die Sendeanforderung und die Flußsteuerinformation ebenso von
all den anderen Karten auf dem Gestell empfangen. Die Buscontrollerkarte 24 wird
dann ihre interne Busarbiterlogik – typischerweise einen vorbestimmten
Algorithmus – verwenden,
um zu bestimmen, welche Karten auf welchem Bus zu der Zeit senden
können.
-
Wenn
der Busarbiter einmal alle Anforderungen von allen Karten empfangen
hat, wird der Busarbiter dann beginnen, die Anforderungsnischen
nach Anforderungen zum Verarbeiten zu durchsuchen. Er wird beginnen,
indem die höchste
Anforderungsnische von Karte #1 durchsucht wird, gefolgt von der höchsten Anforderungsnische
von Karte #2 und so weiter bis zu der höchsten Anforderungsnische auf Karte
#n. Dies ist in 5 gezeigt, in der ein erster, zweiter,
dritter bis zu einem N-2ten, N-1ten und N-ten Suchdurchlauf gezeigt
sind.
-
Wenn
der Busarbiter Anforderungen findet, wird er dann fortschreiten,
diese Anforderung zu verarbeiten. Wenn er jedoch keine Anforderung
findet, dann wird er beginnen, die Anforderungsnische zweithöchster Priorität von Karte
#1 zu prüfen,
gefolgt von der Anforderungsnische zweithöchster Priorität von Karte
#2 und so weiter. Der Busarbiter wird seine Suche fortführen, bis
alle Anforderungen verarbeitet worden sind.
-
In
dem folgenden Sendezyklus wird der Busarbiter beginnen, indem er
zunächst
die Sendeanforderungen der Karte #2 prüft, dann gefolgt von denen der
Karte #3 und so weiter bis Karte #N und schließlich der Karte #1. Er wird
weiter rotieren, welche Karte die erste Karte sein wird, die er
während
jedes Sendezyklus durchsuchen wird, so daß die Priorität aller
Karten in dem Gestell ausgeglichen wird.
-
Nachdem
er die Sendeanforderungen und ihre Prioritäten festgestellt hat, wird
der Busarbiter dann die Flußsteuerung
für die
bidirektionalen Zielports auf jeder bestimmten Medienprozessorkarte 20, 22,
an die jedwede Datenpakete geschickt werden sollen, prüfen. Das
heißt,
er wird den beabsichtigten Port auf der beabsichtigten Karte für jedes
Paket aus Mediendaten prüfen,
für das
eine Sendeanforderung gestellt worden ist.
-
Zunächst wird
der Busarbiter prüfen,
um sicherzustellen, daß der
angefragte Zielport nicht flußgesteuert
ist. Wenn der Zielport nicht flußgesteuert ist, dann wird der
Busarbiter die Busse, auf denen die Zielkarte in der Lage ist, Pakete
zu akzeptieren, mit Bussen, die nicht bereits bewilligt worden sind, und/oder
mit Bussen, die nicht außer
Dienst sind, vergleichen. Wenn der Arbiter einen passenden Bus findet,
wird er dann den Bus für
die Anforderung bewilligen.
-
Indem
die Flußsteuerung
von Zielport und -karte geprüft
wird, garantiert der Busarbiter, daß das Medienpaket an dem beabsichtigten
Port und der Karte empfangen werden kann.
-
Wenn
jedoch der Busarbiter keinen freien Medienbus finden kann oder wenn
der Zielport flußgesteuert
ist, dann wird die Sendeanforderung entsorgt werden. Wenn dies der
Fall ist, dann wird der Port auf der Medienprozessorkarte 20, 22,
der ein Paket aus Mediendaten schicken wollte, dieselbe Anforderung
in dem nächsten
Frame stellen.
-
Wenn
der Busarbiter die Verarbeitung aller Anforderungen beendet hat,
dann wird er die Bewilligungen an die anfragenden Karten ausgeben.
-
Dann,
wenn irgendeine anfragende Karte sieht, daß irgendeine ihrer Anforderungen,
die sie gestellt hat, bewilligt worden ist, wird die Karte die bewilligten
Anforderungen aus den Anforderungsnischen auf ihrer eigenen Anforderungsnischenanordnung
herausnehmen und die Pakete, die mit der Anforderung verknüpft sind,
werden über
den Bus gesendet, der bewilligt worden ist, während des folgenden Sende-Frames
gesendet. Wenn irgendeine der Medienprozessorkarten 20, 22 eine
Bewilligung für einen
ihrer anfragenden bidirektionalen Ports sieht, wird sie dann den
Port aktivieren, um ihr Paket aus Mediendaten auf dem korrekten
Bus auszugeben, der dem Paket der Mediendaten zugewiesen worden ist,
während
des nächsten
Frames auszugeben.
-
Wenn
jedoch eine Anforderung nach einer bestimmten Anzahl von Rückwand-Sendezyklen nicht
bewilligt worden ist, wird die Karte die Anforderung aus ihrer Anforderungsnische
entfernen und das Paket wird betrachtet werden, als hätte es „die Zeit überzogen".
-
6 veranschaulicht,
daß drei
Anforderungen – Uc,
Nd und Nh – für eine bestimmte
Karte verbleiben, nachdem alle bewilligten Anforderungen und zeitlichen überzogenen
Anforderungen aus den Anforderungsnischen entfernt worden sind.
-
Dann,
wenn eine Bewilligung einer Anforderung auf dem vorangegangenen
Sende-Frame nicht ausgegeben worden ist, wie in 6 zu
sehen, und die Anforderung zeitlich nicht überzogen hat, wird die Karte
die Anforderung in die nächst
höhere
Anforderungsnische verschieben, wenn dies möglich ist. Dringende Anforderungen
werden verschoben werden, bis sie in der höchstmöglichen Anforderungsnische
sind. Dies ist in 7 gezeigt, in der die dringende
Anforderung Uc in der Anforderungsnische 52 höchster Priorität verschoben
worden ist; und jede der nicht dringenden Anforderungen Nd und Nh
ist eine Anforderungsnische höher
verschoben worden.
-
Dann
wird die Karte prüfen,
um zu sehen, ob irgendwelche neuen Anforderungen von irgendeinem ihrer
bidirektionalen Ports gestellt worden sind und wird sie in die Anforderungsnische
bringen. Wieder wird sie jedwede neuen dringenden Anforderungen in
die Nischen hoher Priorität
bringen; jedoch wird gesehen werden, daß die neuen dringenden Anforderungen
Ud und Ue in niedrigere Anforderungsnischen gebracht werden, als
die verbleibende dringende Anforderung Uc. Natürlich werden diese Anforderungen
in höhere
Nischen gebracht, als irgendwelche gewöhnlichen Anforderungen.
-
Die
nicht dringenden Anforderungen werden dann in Anforderungsnischen
gebracht, sie werden jedoch einer niedrigeren Priorität zugeordnet
als die älteren
nicht dringenden Anforderungen. Somit kann es nötig werden, die älteren nicht
dringenden Anforderungen zu verschieben, um die neuen nicht dringenden
Anforderungen in die Anforderungsnischen einzupassen; und es wird
gesehen werden, daß die nicht
dringende Anforderung Nh um zwei weitere Nischen nach links (höher) verschoben
worden ist, als ihr zuvor zugewiesen worden ist.
-
Somit
hat die Rückwand
geschlichtet und Pakete mit hoher Priorität oder dringende Pakete dürfen vor
nicht dringenden Paketen gesendet werden.
-
Das
System der vorliegenden Erfindung, wie es oben beschrieben worden
ist, und wie es durch einen vorbestimmten Algorithmus bewirkt wird,
der in dem Busarbiter zu finden ist, ermöglicht es, daß die Karte,
die die größte Anzahl
von Paketen hat, die gesendet werden sollen, eine höhere Priorität hat als eine
Karte, die weniger Daten zu verschicken hat. Dies vermeidet jedwede
möglichen
Engpässe.
-
Gleichzeitig
wird der Busarbiter weiter die Priorität der Anforderungen erhöhen, die
nicht bewilligt worden sind, so daß eine Karte, die wenig Daten zu
verschicken hat, nicht vollständig
durch eine Karte blockiert wird, die eine beträchtliche Menge an Daten, die
verschickt werden sollen, hat.
-
Noch
weiter gleicht der Busarbiter die Priorität der Karten innerhalb des
Gestells und der bidirektionalen Ports innerhalb der Karte aus,
alles auf die Art und Weise, wie es oben angemerkt ist.
-
Wenn
natürlich
irgendeine der Medienprozessorkarten 20, 22 ein
Paket aus Mediendaten auf irgendeinen Medienbus 28 sieht,
der die Karte als die Zielkarte festlegt, dann wird die Medienprozessorkarte
das Paket der Mediendaten in seinen Puffer für den Bus bringen, auf dem
das Paket gesendet werden soll.
-
Wenn
jedoch die Medienprozessorkarten 20, 22 ihre(n)
Empfangspuffer nicht vor dem nächsten Frame
leeren können,
dann werden sie ihr Flußsteuer-Flag
für den
bestimmten Medienbus heben, in der Ausgabeposition der Karte, während des
laufenden Frames. Diese Aktion informiert die Master-Buscontrollerkarte 24,
daß sie
kein weiteres Paket aus Mediendaten an die Karte auf dem Bus schicken
sollte, bis zu dem Zeitpunkt, zu dem der Empfangspuffer geleert
worden ist und das Flußsteuer-Flag
für den Bus
gesenkt worden ist.
-
Andererseits
wird irgendeine Sendeanforderung, die innerhalb einer bestimmten
Zeitdauer – typischerweise
32 Frames – nicht
bewilligt wird unterbrochen, und das Paket der Daten wird verloren
sein. Das beugt dem vor, daß eine
Anforderung, an eine Karte zu senden, die ausgefallen ist, dauerhaft
verhindert, daß der
anfragende Port an andere Karten sendet, die noch aktiv sind.
-
Es
ist ein Datenserver mit einem Kartengestell beschrieben worden,
das eine Rückwand
hat, auf der eine Vielzahl Medienbusse angeordnet ist. Busschlichtungstechniken
sind insbesondere beschrieben worden, so daß der Datenaustausch unter den
Medienprozessorkarten in dem Kartengestell, wobei der Datenaustausch
mittels Paketen aus Mediendaten geschieht, sicher geschieht. Ein
Paket aus Mediendaten kann von einer Karte zu einer anderen geschickt
werden oder sie kann von einer Karte zu einer Vielzahl Karten geschickt
werden; und das Busschlichtungsverfahren, das beschrieben worden
ist, wird solche Paketsenden und Rundsendungen von Mediendaten erlauben.
-
Es
wird natürlich
verstanden werden, daß,
da es eine Vielzahl Medienbusse 28 gibt, und es Mechanismen
gibt, um festzustellen, ob irgendeine Karte oder ein Medienbus ausgefallen
ist, es dann Redundanz gibt, ohne die Notwendigkeit, das Gestell
oder Busstrukturen zu duplizieren.