-
HINTERGRUND DER ERFINDUNG
-
Erfindungsgebiet
-
Die
vorliegende Erfindung betrifft allgemein eine Paketkommunikation
und insbesondere ein Verfahren und eine Vorrichtung für die Ablaufsteuerung von
Paketen für
die Übertragung
in Abwärtsrichtung von
einer Basisstation einer Funkzone auf mobile Endgeräte.
-
Beschreibung des Standes der
Technik
-
Es
ist eine Anzahl von Paketablaufsteuerungstechniken bekannt. Eine
der bekannten Techniken ist das Rundumsuchsystem, das derzeit durch das
High Speed Downlink Speed Access System (HSDPA) des 3rd Generation
Partnership Project (3GPP) untersucht wird und als "Physical Layer Aspects
for High Speed Downlink Packet Access", 3GPP TR25.848.2001 bekannt ist. In
diesem System werden die Abwärtspakete
in einer Rundumweise von einer Basisstation gleichmäßig auf
mobile Endgeräte übertragen.
Da bei der Zuweisung von Zeitschlitzen die Fairness sichergestellt
ist, werden gerechte Datendurchsätze
realisiert. Eine andere Technik ist als das Max-C/I-System ("Physical Layer Aspects
for High Speed Downlink Packet Access", 3GPP TR25.848.2001) bekannt, das derzeit
ebenfalls durch 3GPP untersucht wird, das Träger-zu-Interferenz-Verhältnisse
von drahtlosen Übertragungsstrecken
verwendet und Abwärtspakete
in absteigender Reihenfolge ihrer C/I-Verhältnisse überträgt. Diese bekannten Techniken
sind jedoch bezüglich
der Gerechtigkeit und des Durchsatzes immer noch nicht zufrie denstellend.
Zusätzlich
wird in beiden dieser bekannten Techniken nicht die Qualität des Services in
Betracht gezogen.
-
Gemäß einer
anderen Technik, genannt "CBQ
mit CSDPS", wie
in dem Aufsatz "Controlled Multimedia
Wireless Link Sharing via Enhanced Class-Based Queuing with Channel-State-Dependent
Packet Scheduling",
Fragouli et al., INFOCOM '98,
erörtert,
werden Pakete mit garantierten Datenraten gemäß unterschiedlichen Diensten übertragen, und
den mobilen Endgeräten
werden gleichmäßig Restbandbreiten
zugewiesen. Die Qualität
der drahtlosen Übertragungsstrecken
wird für
die Abwärtsübertragung
ebenfalls berücksichtig.
Die Paketübertragung
wird jedoch insoweit fortgesetzt, als die drahtlose Übertragungsstrecke
einen vorbestimmten Qualitätspegel
erfüllt.
Als Ergebnis besteht die Tendenz, dass die Datenraten aller Abwärtspaketübertragungen
eines gesamten Zellenstandorts auf einen niedrigen Pegel sinken.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
und eine Vorrichtung für eine
bezüglich
Fairness und Durchsatz und zusätzlich
bezüglich
der Qualität
des Dienstes verbesserte Paketablaufsteuerung zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und durch einen
Paketwiederholer gemäß Anspruch
5 gelöst;
die abhängigen
Ansprüche
beziehen sich auf Weiterentwicklungen der Erfindung.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird im Einzelnen anhand der folgenden Zeichnungen
beschrieben, in welchen zeigt:
-
1 ein
Blockschaltbild eines Abwärtswiederholers
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung;
-
2 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 1 gemäß einem
ersten Betriebsmodus der ersten Ausführungsform;
-
3 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 1 gemäß einem
zweiten Betriebsmodus der ersten Ausführungsform;
-
4 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 1 gemäß einem
dritten Betriebmodus der ersten Ausführungsform;
-
5 ein
Flussdiagramm der Funktionsweise der Bandbreite-Zuweisungseinheit
gemäß 1;
-
6 ein
Blockschaltbild eines Abwärtwiederholers
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung;
-
7 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 6 gemäß einem
ersten Betriebsmodus der zweiten Ausführungsform;
-
8 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 6 gemäß einem
zweiten Betriebsmodus der zweiten Ausführungsform;
-
9 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 6 gemäß einem
dritten Betriebsmodus der zweiten Ausführungsform; und
-
10 ein
Flussdiagramm der Funktionsweise der Paketablaufsteuerung gemäß 6 gemäß einem
vierten Betriebsmodus der zweiten Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG
-
Mit
Bezug auf 1 ist hier ein Abwärtswiederholer
einer drahtlosen Basisstation eines Mobilkommunikationsnetzwerks
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung gezeigt. Wie allgemein auf dem Gebiet
der Mobilkommunikationen bekannt, ist die Basisstation, die an einem
Zellenstandort liegt, eine einer Anzahl von Basisstationen, die
mit einem paketgeschalteten Netzwerk verbunden sind. Die Basisstation
errichtet drahtlose Übertragungsstrecken
zu mobilen Endgeräten,
die innerhalb dieses Zellenstandortbereichs liegen, für die Aufwärts- und
Abwärtsübertragung
von Paketen.
-
Der
Abwärtswiederholer
empfängt
von dem Paketnetzwerk Abwärtspakete
eines entfernten Endgeräts über einen
Paketsortierer 10 und führt
eine Ablaufsteuerung ihrer Zeitabstimmung für die Übertragung auf ein mobiles
Hausendgerät über eine drahtlose
Schnittstelle 15 durch. Der Abwärtswiederholer hat einen Aufwärts-Datenanalysator 16.
-
Durch
die drahtlose Schnittstelle 15 werden Aufwärtspakete
des mobilen Hausendgeräts
empfangen und auf das Paketnetzwerk übertragen. Der Aufwärtsdatenanalysator 15 empfängt diese
Aufwärtspakete
und analysiert ihre Inhalte, um ihre Mobiladressen, Serviceklassen,
Datenraten, QoS-(quality of service)-Flags, Anforderung-Flags (Bytegröße oder
Bandbreite), Rückübertragungs-Flags,
Mobilitätsverwaltungs-Flags
und Träger-zu-Interferenz-Werte
zu bestimmen. Bei der vorliegenden Erfindung wird das Träger-zu-Interferenz-Verhältnis als ein
Maß für die Qualität einer
drahtlosen Übertragungsstrecke
(entweder abwärts
oder aufwärts)
zwischen der Basisstation und einem mobilen Endgerät verwendet.
Anzumerken ist, dass das QoS-Flag einer Schlange anzeigt, ob der
QoS-Parameter der Schlange
genügend
ist oder nicht. Der Aufwärts-Datenanalysator 16 setzt
die analysierten Inhalte in einen entsprechenden Eingang (Zeile)
eines Flow-Datenspeichers 17.
-
Der
Flow-Datenspeicher 17 ist in eine Anzahl von Einträgen jeweils
entsprechend der Puffer 12 oder Schlangen, die durch die
Schlangenidentifikationen (ID) identifiziert sind, unterteilt. Wenn
zwischen Heim-Endgeräten
und entfernten Endgeräten
unter Verwendung einer Anzahl von unterschiedlichen Serviceklassen
eine Session beginnt, wird in dem Flow-Datenspeicher 17 für die Session
eine entsprechende Anzahl von Einträgen erzeugt. Es wird ein typisches
Beispiel von Daten für
zwei mobile Heim-Endgeräte
illustriert.
-
Wenn
der Paketsortierer 10 ein Abwärtspaket vom Netzwerk empfängt, liest
er eine mobile Zieladresse und eine Serviceklasse aus dessen Kopf und
fährt fort,
eine Schlangen-ID aus dem Flow-Datenspeicher 17 entsprechend
der mobilen Zieladresse und der Serviceklasse des Abwärtspakets
auszulesen. Der Paketsortierer 10 identifiziert somit eine Schlange
für das
empfangene Paket und instruiert einen Schlangenverwalter 11,
eine Verbindung zu einer der identifizierten Schlangen 12 zu
errichten. Das empfangene Abwärtspaket
wird somit in der entsprechenden Schlange platziert, wartet auf
die Übertragung
auf das mobile Heim-Endgerät.
-
Die
Ausgänge
der Schlangen 12 sind mit der Paketablaufsteuerung 13 verbunden.
Da jede Schlange ein Prioritätssteuerungs-(FIFO)-Speicher ist,
werden die empfangenen Abwärtspakete
auf der Basis einer Prioritätssteuerung
zur Paketablaufsteuerung 13 weitergeleitet. Die Paketablaufsteuerung 13 der
ersten Ausführungsform
der vorliegenden Erfindung liest Daten aus dem Flow-Datenspeicher 17 in einer
Anzahl von Weisen gemäß den Flussdiagrammen
der 2, 3 und 4 und bestimmt
die Prioritäten
der Schlagen 12 und leitet ein Paket von der Schlange mit
der höchsten
Priorität
auf die drahtlose Übertragungsstrecke
weiter. Ein Rückübertragungsspeicher 14 ist
mit der Paketablaufsteuerung 13 als ein temporärer Speicher
für Kopien
der übertragenen
Abwärtspakete
verbunden.
-
Wenn
von einer gegebenen Schlange ein Abwärtspaket auf ein mobiles Endgerät geschickt wird,
antwortet letzteres mit einem Bestätigungspaket, um den erfolgreichen
Empfang des Abwärtspakets
zu signalisieren. In Antwort auf ein Bestätigungspaket setzt der Aufwärts-Datenanalysator 16 in
dem Rückübertragungs-Flag
eines Eintrags des Flow-Datenspeichers in Übereinstimmung mit der gegebenen Schlange
eine "0". Wenn ein Bestätigungspaket
nicht innerhalb eines vorbestimmten Zeitintervalls auf die Übertragung
eines Abwärtspaket
folgend zurückkehrt,
setzt der Aufwärtsdatenanalysator
in dem Rückübertragungs-Flag
eine "1".
-
In
der 2 verwendet die Paketablaufsteuerung einen Schlangenzykluszähler, um
die Zeitabstimmung zu erfassen, wenn eine Paketübertragung einmal für jede der
Schlangen 12 durchgeführt
worden ist, um alle Schlangen für
einen nachfolgenden Zyklus von N-Paketübertragungen zu priorisieren, wobei
N gleich der Anzahl der Schlagen 12 ist. Die Operation
der Paketablaufsteuerung 13 beginnt im Entscheidungsschritt 101,
in dem überprüft wird,
ob der Zählwert
(C) des Schlangenzykluszählers
gleich N ist. Wenn die Entscheidung im Schritt 101 positiv ist,
geht die Paketablaufsteuerung 13 weiter zum Schritt 102,
um die C/I-Verhältnisse
aller Schlangen aus dem Flow-Datenspeicher auszulesen, und ordnet
die Schlangen 12 in absteigender Reihenfolge ihrer Träger-zu-Interferenz-Verhältnisse
neu an. Somit ist die Schlange mit dem höchsten Wert des C/I-Verhältnisses
an der Spitze aller Schlangen positioniert. Zusätzlich werden die neu geordneten
Schlangen jeweils mit Zählwerten
markiert, um ihren Rang anzuzeigen. Auf diese Weise ist die Schlange
an der obersten Position mit einem Zählwert markiert, der den höchsten Rang
anzeigt.
-
Im
Schritt 103 weist die Paketablaufsteuerung den neu geordneten
Schlangen gemäß ihren C/I-Verhältnissen
jeweilige Datenraten zu, so dass der an der Spitze rangierenden
Schlange eine Datenrate zugewiesen wird, die die höchste von
allen zugewiesenen Datenraten ist. In einem spezifischen Aspekt
werden unterschiedliche C/I-Verhältnisse
mit vorbestimmten Werten zu entsprechenden Gewichtungsfaktoren im
Voraus im Speicher abgebildet. Um einer Schlange, die ein anderes
gegebenes C/I-Verhältnis
als den höchsten
Wert hat, eine Datenrate zuzuweisen, wird für die Schlange entsprechend
dem gegebenen C/I-Verhältnis
ein Gewichtungsfaktor bestimmt, und die höchste Datenrate der Schlangen wird
durch den Gewichtungsfaktor gewichtet. Die gewichtete Datenrate
wird dann der Schlange zugewiesen.
-
Der
Schlangenzykluszähler
wird dann im Schritt 104 auf Null rückgesetzt, und der Ablauf geht weiter
zum Schritt 105, um die Paketübertragung zu beginnen.
-
Im
Schritt 105 extrahiert die Paketablaufsteuerung aus einer
mit dem Zählwert
(C) des Schlangenzykluszählers
markierten Schlange ein Paket und überträgt dieses auf das mobile Ziel-Endgerät des Pakets
mit der zugewiesenen Datenrate der Schlage. Im Schritt 106 erhöht die Paketablaufsteuerung
den Schlangenzykluszähler
um Eins und führt
eine Paketrückübertragungs-Subroutine
durch.
-
In
der Paketrückübertragungs-Subroutine speichert
die Paketablaufsteuerung im Schritt 107 eine Kopie des übertragenen
Pakets in dem Rückübertragungsspeicher 14 und
geht weiter zum Entscheidungsschritt 108, um zu überprüfen, ob
das Rückübertragungs-Flag
der Schlange in dem Flow-Datenspeicher 17 auf Null rückgesetzt
ist. Wenn das mobile Ziel-Endgerät
erfolgreich das Paket empfangen hat, muss der Aufwärts-Datenanalysator 16 ein
Bestätigungspaket
von dem mobilen Endgerät innerhalb
eines vorbestimmten Zeitintervalls empfangen haben und setzt das
Rückübertragungs-Flag
auf "0" zurück. Andernfalls
hat der Aufwärts-Datenanalysator
in dem Rückübertragungs-Flag
der Schlange eine "1" gesetzt. Wenn die
Paketablaufsteuerung bestimmt, dass das Rückübertragungs-Flag der Schlange
auf "0" gesetzt worden ist,
geht der Ablauf vom Entscheidungsschritt 108 zum Schritt 109,
um die Kopie des Pakets aus dem Rückübertragungsspeicher 14 zu
verwerfen. Wenn die Entscheidung im Schritt 108 negativ
ist, geht die Paketablaufsteuerung weiter zum Schritt 110 und
liest die Kopie des Pakets aus dem Rückübertragungsspeicher 14 und überträgt diese
auf das mobile Ziel-Endgerät
und geht weiter zum Schritt 109, um die Kopie des Pakets zu
verwerfen.
-
Im
Schritt 111 aktualisiert die Paketablaufsteuerung die Datenraten
des Flow-Datenspeichers 17, die im Schritt 102 zugewiesen
worden sind. Der Ablauf geht weiter zum Schritt 112, um
zu bestimmen, ob alle Schlangen leer sind. Wenn alle Schlangen nicht
leer sind, kehrt die Paketablaufsteuerung zum Schritt 101 zurück, um den
Ablauf zu wiederholen. Wenn alle Schlangen leer sind, wird die Routine beendet.
-
In 3 verwendet
die Paketablaufsteuerung die Übergabeereignisse,
die innerhalb eines vorbestimmten vergangenen Zeitintervalls infolge
der Bewegung der mobilen Endgeräte
in den Funkzonenbereich der Basisstation von benachbarten Bereichen
aufgetreten sind, als einen Entscheidungszeitpunkt, um den Schlangen 12 Prioritäten zuzuweisen. Zu
diesem Zweck können
Cache-Speicher für
die entsprechenden Einträge
(Schlangen) des Flow-Datenspeichers vorgesehen sein, um autonom
den Zeitablauf von jeder der neuen Schlangen aufrechtzuerhalten,
die in dem Flow-Datenspeicher 17 in Antwort auf das Auftreten
einer Übergabe
erzeugt worden sind, wenn ein mobiles Endgerät in den Funkzonenbereich der
Basisstation eingetreten ist.
-
Die
Operation der Paketablaufsteuerung beginnt im Schritt 201,
um in den Cache-Speichern nach Schlangen zu suchen, die innerhalb
des vergangenen 5-Sekunden-Zeitintervalls eine Übergabe erfahren haben. Wenn
solche Schlangen detektiert werden (Schritt 202), werden
ihre C/I-Verhältnisse aus
dem Speicher 17 ausgelesen, und die detektierten Schlangen
werden in einer absteigenden Reihenfolge ihrer C/I-Verhältnisse
neu geordnet, so dass die Schlange mit dem höchsten C/I-Verhältnis an
der Spitze der neu geordneten Schlangen positioniert ist (Schritt 203).
Dann wird ein Paket von der Schlange an der obersten Position mit
der Datenrate der Schlagen, die in dem entsprechenden Eintrag des Flow-Datenspeichers 17 spezifiziert
ist, übertragen (Schritt 204).
-
Wenn
in dem Flow-Datenspeicher innerhalb des vergangenen 5-Sekunden-Intervalls
keine Schlange erzeugt worden ist, ist die Entscheidung im Schritt 202 negativ
und der Ablauf geht weiter zum Schritt 205, um irgendeine
der Schlangen zu wählen, und
es wird ein Paket aus der gewählten
Schlange mit der Datenrate der Schlange, die in dem Flow-Datenspeicher
spezifiziert ist, übertragen
(Schritt 206).
-
Dann
wird eine Paketrückübertragungs-Subroutine 207 durchgeführt. Im
Schritt 208 führt
die Paketablaufsteuerung 213 an allen Schlangen bezüglich ihrer
Datenraten eine Neuberechnung durch, indem deren Serviceklassen
und andere Faktoren hereingenommen werden, und aktualisiert den
Flow-Datenspeicher 17. Der Ablauf geht weiter zum Schritt 209,
um zu bestimmen, ob alle Schlangen leer sind. Wenn alle Schlangen
nicht leer sind, kehrt die Paketablaufsteuerung zum Schritt 201 zurück, um den
Ablauf zu wiederholen. Wenn alle Schlangen leer sind, wird die Routine
beendet.
-
In
der 4 belegt der Abwärtswiederholer eine der Schlangen 12 als
eine Mobilitätsverwaltungsschlange,
die als ein Speicherbereich der Mobilitätsverwaltungspakete verwendet
wird, und verwendet die anderen Schlagen als Datenschlangen als Speicherbereiche
von Benutzerpaketen. Wenn der Kopf eines Abwärtspakets vom Paketnetzwerk
anzeigt, dass die Quelle des Pakets eine Standortdatei ist, instruiert
der Paketsortierer 10 den Schlangenverwalter 11,
um das Paket in der Mobilitätsverwaltungsschlange
zu speichern. Die Operation der Paketablaufsteuerung 13 beginnt
mit dem Entscheidungsschritt 301, um zu überprüfen, ob
ein Paket in der Mobilitätsverwaltungsschlange
gespeichert ist. Wenn dies der Fall ist, geht der Ablauf weiter
zum Schritt 302, um ein Paket aus der Mobilitätsverwaltungsschlange
zu übertragen.
Wenn in der Mobilitätsverwaltungsschlange
kein Paket gespeichert ist, geht der Ablauf vom Schritt 301 zum
Schritt 303, um die Datenschlangen in absteigender Reihenfolge
ihrer C/I-Verhältnisse
neu zu ordnen, so dass die Schlange mit dem höchsten Wert des C/I-Verhältnisses
an der Spitze der Schlangen positioniert ist. Im Schritt 304 wird
ein Paket aus der Datenschlange an der obersten Position mit einer
Datenrate der Schlange übertragen,
die in dem Flow-Datenspeicher 17 spezifiziert ist.
-
Nachdem
die Paketrückübertragungs-Subroutine 305 auf
die Durchführung
des Schritts 302 oder 304 folgend durchgeführt worden
ist, geht die Paketablaufsteuerung 13 weiter zum Schritt 306,
um zu überprüfen, ob
alle Schlangen leer sind. Wenn alle Schlangen nicht leer sind, geht
der Ablauf zurück zum
Schritt 301, um den Vorgang zu wiederholen. Ansonsten wird
die Routine beendet.
-
Der
Abwärtswiederholer
der ersten Ausführungsform
hat ferner eine Bandbreite-Zuweisungseinheit 18, die mit
der drahtlosen Schnittstelle 15 verbunden ist, um ein Bandbreite-Zuweisungspaket
auf ein mobiles Endgerät
unter Verwendung des Flow-Datenspeichers 17 gemäß dem Flussdiagramm der 5 zu übertragen.
Bei dieser Ausführungsform
wird das Anfrage-Flag des Flow-Datenspeichers 17 dazu verwendet,
anzuzeigen, ob die angefragte Bandbreite erfüllt (Anfrage-Flag = "0") oder nicht erfüllt ist (Anfrage-Flag = "1").
-
In
der 5 beginnt die Bandbreite-Zuweisungseinheit 18 ihre
Operation im Schritt 401, indem sie im Flow-Datenspeicher 17 nach
Schlangen sucht, deren QoS-Wert nicht erfüllt ist. Wenn solche Schlangen
mit nicht erfülltem
QoS gefunden werden (Schritt 402), geht der Vorgang weiter
zum Schritt 403, um eine Schlange aus den Schlangen mit
nicht erfülltem QoS
zu wählen.
Im Schritt 404 weist die Zuweisungseinheit 18 der
gewählten
Schlange eine zusätzliche Bandbreite
zu und sendet ein Paket an das mobile Ziel-Endgerät, um die
zugewiesene zusätzliche Bandbreite
(Bytes) mitzuteilen. Wenn in dem Flow-Datenspeicher keine Schlangen
mit nicht erfülltem
QoS gefunden werden, sind alle Schlangen Schlangen mit erfülltem QoS,
und der Ablauf geht vom Schritt 402 zum Schritt 405,
um die QoS-erfüllten
Schlangen in absteigender Reihenfolge ihrer C/I-Verhältnisse
neu zu ordnen, so dass die Schlange mit dem höchsten Wert des C/I-Verhältnisses
an der Spitze der Schlangen positioniert ist. Im Schritt 406 weist
die Zuweisungseinheit 18 der Schlange an der obersten Position
eine zusätzliche
Bandbreite zu. Auf die Durchführung
der Schritte 404 und 406 folgend geht der Ablauf
weiter zum Schritt 407, um das angefragte Byte-Größen-Feld
der zugewiesenen Schlange des Flow-Datenspeichers mit der zusätzlich zugewiesenen
Bandbreite zu aktualisieren.
-
Im
Entscheidungsschritt 408 überprüft die Zuweisungseinheit 18,
ob alle Daten über
die aktualisierte Bandbreite zu übertragen
sind. Wenn die Entscheidung affirmativ ist, geht der Ablauf zum
Schritt 409 weiter, um das Anfrage-Flag auf "0" zu aktualisieren. Ansonsten wird das
angefragte Byte-Größen-Feld
durch Vermindern dessen Bandbreite auf das übertragbare Niveau aktualisiert
(Schritt 410).
-
Im
Schritt 411 sucht die Zuweisungseinheit 18 im
Flow-Datenspeicher 17 nach einer Schlange, deren Anfrage-Flag
auf "1" gesetzt ist. Wenn
eine solche Schlange gefunden ist (Schritt 412), ist die vom
Nutzer angefragte Bandbreite nicht erfüllt, und der Ablauf kehrt zum
Schritt 401 zurück,
um den Vorgang zu wiederholen. Ansonsten wird die Routine beendet.
-
In
der 6 ist ein Abwärtswiederholer
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung gezeigt, in der Elemente, die in ihrer Signifikanz
denen der 1 entsprechen, mit den gleichen
Bezugsziffern wie in der 1 verwendet bezeichnet sind
und deren Beschreibung weggelassen ist. Der Abwärtswiederholer der 6 unterscheidet
sich im Wesentlichen von der ersten Ausführungsform dadurch, dass die
Schlangen in eine QoS-erfüllt-Gruppe
der Schlangen 20 und eine QoS-nicht-erfüllt-Gruppe der Schlangen 21 unterteilt sind.
In Antwort auf den Empfang eines Abwärtspakets vom Paketnetzwerk überprüft der Paketsortierer 10 seinen
QoS-Parameter in dem Flow-Datenspeicher 17 und bestimmt,
ob der QoS des Pakets erfüllt ist
oder nicht. Wenn der Flow-Datenspeicher 17 anzeigt, dass
der QoS für
das Paket erfüllt
ist, instruiert der Paketsortierer 10 den Schlangenverwalter 11 das Paket
in einer entsprechenden einen der Schlangen 20 mit erfüllten QoS
zu speichern. Ansonsten wird das Paket in einer entsprechenden einen
Schlange 21 mit nicht erfüllten QoS gespeichert.
-
Die
Paketablaufsteuerung 13 der zweiten Ausführungsform
funktioniert in einer Anzahl von Arten, um den Schlangen 21 mit
nicht erfülltem
QoS gegenüber
den Schlangen 20 mit erfülltem QoS gemäß den Flussdiagrammen
der 7, 8, 9 und 10 eine
höhere
Priorität
zuzuweisen.
-
In
der 7 beginnt die Operation der Paketablaufsteuerung
der 6 mit dem Schritt 501, um im Flow-Datenspeicher 17 nach
einer Schlange 20 mit nicht erfülltem QoS zu suchen. Wenn wenigstens eine
Schlange mit nicht erfülltem
QoS im Flow-Datenspeicher gefunden wird (Schritt 502),
geht der Ablauf weiter zum Schritt 503, um eine Schlange
mit nicht erfülltem
QoS zu wählen,
wenn mehr als eine Schlange mit nicht erfülltem QoS existiert, und von der
gewählten
Schlange wird mit einer Datenrate der Schlange, die in dem Flow-Datenspeicher
spezifiziert ist, ein Paket übertragen
(Schritt 504). Wenn nur eine Schlange 21 mit nicht
erfülltem
QoS erfasst worden ist, wird offensichtlich im Schritt 504 ein
Paket von dieser Schlange gesendet.
-
Wenn
es keine Schlange 21 mit nicht erfülltem QoS gibt, in der Pakete
zum Übertragen
warten, geht der Ablauf vom Schritt 502 weiter zum Schritt 505,
um die Schlangen 20 mit erfülltem QoS in absteigender Reihenfolge
ihrer C/I-Verhältnisse
neu zu ordnen, so dass die Schlange mit dem höchsten C/I-Verhältnis an
der Spitze der Schlangen 20 mit erfülltem QoS positioniert ist.
Im Schritt 506 wird von der Schlange 20 mit erfülltem QoS
an der vordersten Position ein Paket mit einer Datenrate übertragen, die
in dem Flow-Datenspeicher spezifiziert ist.
-
Dann
folgt eine Paketrückübertragungs-Subroutine 507.
Im Schritt 508 führt
die Paketablaufsteuerung eine Neuberechnung aller Schlangen bezüglich ihrer
Datenraten durch, indem ihre Serviceklassen und andere Faktoren
hereingenommen werden, evaluiert die QoS-Parameter aller Schlangen
neu, inwieweit ihre QoS-Werte erfüllt sind oder nicht und aktualisiert
die QoS-Flags des Flow-Datenspeichers 17, um Schlangen
zwischen der Gruppe mit erfülltem QoS
und der Gruppe mit nicht erfülltem
QoS zu verschieben. Im Schritt 509 wird die Leere aller
Schlangen überprüft, um zum
Schritt 501 zurückzukehren, um
den Ablauf zu wiederholen, wenn alle Schlangen nicht leer sind und
um die Routine zu beenden, wenn alle Schlangen leer sind.
-
In
der 8 weist die Paketablaufsteuerung den Schlangen 21 mit
nicht erfülltem
QoS gegenüber den
Schlangen 20 mit erfülltem
QoS ähnlich
wie in der 7, die höchste Priorität zu und
weist die nächsthöchste Priorität Kopien
von Paketen der Schlangen 20 mit erfülltem QoS zu, die in dem Rückübertragungsspeicher 14 gespeichert
sind.
-
Bei
dieser Variation der vorliegenden Erfindung beginnt die Operation
der Paketablaufsteuerung mit dem Schritt 601, um im Flow-Datenspeicher 17 nach
einer Schlange 20 mit nicht erfülltem QoS zu suchen. Wenn wenigstens
eine Schlange mit nicht erfülltem
QoS im Flow-Datenspeicher gefunden wird (Schritt 602),
geht der Ablauf weiter zum Schritt 603, um eine Schlange
mit nicht erfülltem
QoS zu wählen, wenn
mehr als eine Schlange mit nicht erfülltem QoS existiert und um
von der gewählten
Schlange ein Paket mit einer Datenrate, die in dem Flow-Datenspeicher
spezifiziert ist, zu übertragen
(Schritt 604). Wenn nur eine Schlange 21 mit nicht
erfülltem
QoS erfasst worden ist, wird von dieser Schlange ein Paket gesandt.
Die Paketablaufsteuerung 13 geht vom Schritt 604 zum
Schritt 605 weiter, um die Paketrückübertragungs-Subroutine 605 durchzuführen, und geht
weiter zum Schritt 614, um die Neuberechnung aller Schlangen
bezüglich
ihrer Datenraten durch Hineinnehmen ihrer Serviceklassen und anderer
Faktoren durchzuführen,
und aktualisiert den Flow-Datenspeicher 17. Der Ablauf
geht weiter zum Schritt 615, um zu bestimmen, ob alle Schlangen
leer sind. Wenn alle Schlangen nicht leer sind, kehrt die Paketablaufsteuerung
zum Schritt 601 zurück,
um den Vorgang zu wiederholen. Wenn alle Schlangen leer sind, wird die
Routine beendet.
-
Wenn
es keine Schlange 21 mit nicht erfülltem QoS gibt, in der Pakete
auf die Übertragung
warten, geht der Ablauf vom Schritt 602 zum nächsten Entscheidungsschritt 606 weiter,
um in dem Flow-Datenspeicher nach Einträgen von Schlangen 20 mit
erfülltem
QoS zu suchen, in denen ihr Rückübertragungs-Flag
auf "1" gesetzt ist.
-
Wenn
in dem Rückübertragungsspeicher 14 wenigstens
eine Kopie eines Pakets der Schlangen mit erfülltem QoS gespeichert ist,
ist die Entscheidung im Schritt 606 affirmativ, und der
Ablauf geht weiter zum Schritt 607, um die mobilen Endgeräte, deren
Rückübertragungs-Flag
auf "1" gesetzt ist, im Flow-Datenspeicher
gemäß ihren
C/I-Verhältnissen neu
zu ordnen, so dass das mobile Endgerät mit dem höchsten C/I-Verhältnis
an der Spitze aller mobilen Endgeräte positioniert ist. Im Schritt 608 werden
Pakete vom Rückübertragungsspeicher 14 auf
das mobile Endgerät
mit dem höchsten
C/I-Verhältnis
mit den Datenraten dieses mobilen Endgeräts, die in dem Flow-Datenspeicher 17 spezifiziert
sind, übertragen.
Die Paketablaufsteuerung 13 geht vom Schritt 608 zum
Schritt 612 weiter und überprüft das Rückübertragungs-Flag
des Eintrags des Flow-Datenspeichers entsprechend dem übertragenen
Paket, um zu sehen, ob dieses auf "0" umgeschaltet
hat. Wenn dies der Fall ist, wird die Kopie des Pakets aus dem Rückübertragungsspeicher 14 verworfen (Schritt 613),
und der Ablauf geht weiter zum Schritt 614. Ansonsten geht
der Ablauf vom Schritt 612 weiter zum Schritt 614 und
belässt
das nicht bestätigte Paket
in dem Rückübertragungsspeicher 14.
-
Wenn
in dem Rückübertragungsspeicher 14 kein
Paket der Schlange mit erfülltem
QoS gespeichert ist, ist die Entscheidung im Schritt 606 negativ, und
der Ablauf geht vom Schritt 609 weiter, um die Schlangen 20 mit
erfülltem
QoS in absteigender Reihenfolge ihrer C/I-Verhältnisse neu zu ordnen, so dass
die Schlange mit dem höchsten
C/I-Verhältnis an
der Spitze aller Schlangen mit erfülltem QoS positioniert ist.
Im Schritt 610 wird von der Schlange mit erfülltem QoS
an der vordersten Position ein Paket mit einer Datenrate, die in
dem Flow-Datenspeicher spezifiziert ist, übertragen, und der Ablauf geht
weiter zum Schritt 611, um eine Kopie des Pakets in dem Rückübertragungsspeicher 14 zu
speichern. Die Paketablaufsteuerung 13 geht vom Schritt 611 zum Schritt 612 weiter
und überprüft das Rückübertragungs-Flag
des Eintrags des Flow-Datenspeichers entsprechend
dem übertragenen
Paket, um zu sehen, ob dieses auf "0" umgeschaltet
hat. Wenn dies der Fall ist, wird die Kopie des Pakets aus dem Rückübertragungsspeicher 14 verworfen
(Schritt 613), und der Ablauf geht weiter zum Schritt 614 für die Neuberechnungen
und die Aktualisierung des Flow-Datenspeichers. Wenn das übertragene
Paket durch das Ziel nicht bestätigt
worden ist, wird das Rückübertragungs-Flag
auf "1" gesetzt, und der
Ablauf geht vom Schritt 612 zum Schritt 614 weiter
und belässt
das nicht bestätigte
Paket in dem Rückübertragungsspeicher 14.
-
Wenn
die Routine der 8 wiederholt durchgeführt wird,
werden Kopien der nicht bestätigten
Abwärtspakete
in dem Rückübertragungsspeicher 14 gespeichert
und erhalten eine höhere
Priorität
als die Pakete der Schlangen 20 mit erfülltem QoS für die Rückübertragung.
-
In
der 9 weist die Paketablaufsteuerung den Schlangen 21 mit
nicht erfülltem
QoS gegenüber den
Schlangen 20 mit erfülltem
QoS ähnlich
wie in den 7 und 8 die höchste Priorität zu und
verwendet dann einen Schlangenzykluszähler, um die Zeitabstimmung
zu erfassen, zu der eine Paketübertragung
einmal für
jede der Schlangen 20 mit erfülltem QoS durchgeführt worden
ist, und verleiht allen Schlangen mit erfülltem QoS für einen nachfolgenden Zyklus
von N Paketübertragungen
Priorität,
wobei N gleich der Anzahl der Schlangen 20 mit erfülltem QoS
ist.
-
In
dieser Variante beginnt die Operation der Paketablaufsteuerung mit
dem Schritt 701, um im Flow-Datenspeicher 17 nach
einer Schlange 20 mit nicht erfülltem QoS zu suchen. Wenn in
dem Flow-Datenspeicher wenigstens eine Schlange mit nicht erfülltem QoS
gefunden ist (Schritt 702), geht der Ablauf weiter zum
Schritt 703, um eine Schlange mit nicht erfülltem QoS
zu wählen,
wenn mehr als eine Schlange mit nicht erfülltem QoS existiert, und von
der gewählten
Schlange wird mit einer Datenrate, die in dem Flow-Datenspeicher
spezifiziert ist, ein Paket übertragen
(Schritt 704). Wen nur eine Schlange 21 mit nicht
erfülltem
QoS erfasst worden ist, wird von dieser Schlange ein Paket gesandt.
Die Paketablaufsteuerung 13 geht vom Schritt 704 weiter
zu der Paketrückübertragungs-Subroutine 705,
in der ein Paket mit einer Datenrate der Schlange, die in dem Flow-Datenspeicher 17 spezifiziert
ist, übertragen wird.
Im Schritt 706 führt
die Paketablaufsteuerung eine Neuberechnung an allen Schlangen bezüglich ihrer
Datenraten durch Hereinnehmen ihrer Serviceklassen und anderer Faktoren
durch und aktualisiert den Flow-Datenspeicher 17. Der Ablauf
geht zum Schritt 715 weiter, um zu bestimmen, ob alle Schlangen
leer sind. Wenn alle Schlangen nicht leer sind, kehrt die Paketablaufsteuerung
zum Schritt 701 zurück,
um den Vorgang zu wiederholen. Wenn alle Schlangen leer sind, wird
die Routine beendet.
-
Wenn
keine Schlange mit nicht erfülltem QoS
vorhanden ist, ist, die Entscheidung im Schritt 702 negativ,
und der Ablauf geht zum Schritt 707 weiter, um zu überprüfen, ob
der Zählwert
(C) des Schlangenzykluszählers
gleich N ist. Wenn die Entscheidung im Schritt 707 affirmativ
ist, geht die Paketablaufsteuerung 13 zum Schritt 708 weiter,
um die Schlangen mit erfülltem
QoS in absteigender Reihenfolge ihrer C/I-Verhältnisse neu zu ordnen. Somit
ist die Schlange mit dem höchsten
Wert des C/I-Verhältnisses
an der Spitze aller Schlangen 20 mit erfülltem QoS
positioniert. Zusätzlich
werden die neu geordneten Schlangen mit Marken eingestuft, die ihren
Rang gemäß ihren
Qualitäten
der drahtlosen Übertragungsstrecken
anzeigen. Im Schritt 709 weist die Paketablaufsteuerung
den neu geordneten Schlangen mit erfülltem QoS jeweilige Datenraten
gemäß den Rängen zu,
so dass der an der Spitze rangierenden Schlange eine Datenrate zugewiesen
ist, die die höchste
aller zugewiesenen Datenraten ist. Gemäß einem spezifischen Aspekt
werden unterschiedliche C/I-Verhältnisse
mit vorbestimmten Werten entsprechend Gewichtungsfaktoren im Voraus
im Speicher abgebildet. Um einer Schlange mit erfülltem QoS,
die ein anderes C/I-Verhältnis
als den höchsten
Wert hat, eine Datenrate zuzuweisen, wird für die Schlange entsprechend
dem C/I-Verhältnis
ein Ge wichtungsfaktor bestimmt, und die höchste Datenrate der Schlangen
wird durch den Gewichtungsfaktor gewichtet. Die gewichtete Datenrate
wird dann dieser Schlange mit erfülltem QoS zugewiesen. Der Schlangezykluszähler wird
dann im Schritt 710 auf Null rückgesetzt, und der Ablauf geht
weiter zum Schritt 711, um eine Paketübertragung zu beginnen.
-
Im
Schritt 711 überträgt die Paketablaufsteuerung
von der Schlange mit zufriedenstellendem QoS an der Spitzenposition
ein Paket auf das Ziel des Pakets mit der der Schlange zugewiesenen
Datenrate. Im Schritt 712 erhöht die Paketablaufsteuerung
den Schlangenzykluszähler
um Eins und führt die
Paketrückübertragungs-Subroutine 713 mit
der zugewiesenen Datenrate durch.
-
Im
Schritt 714 evaluiert die Paketablaufsteuerung die QoS-Parameter
aller Schlangen mit den zugewiesenen Datenraten neu, um die QoS-Flags
zu aktualisieren, aktualisiert die QoS-Flags, verschiebt die Pakete
zwischen der Schlange mit erfülltem
QoS und der Schlange mit nicht erfülltem QoS in Übereinstimmung
mit den aktualisierten QoS-Flags und aktualisiert den Flow-Datenspeicher
gemäß der Evaluierung.
Im Schritt 715 wird die Leere aller Schlangen überprüft, um zum
Schritt 701 zurückzukehren,
um den Ablauf zu wiederholen, wenn alle Schlangen nicht leer sind,
und beendet die Routine, wenn alle Schlangen leer sind.
-
In
der 10 verleiht die Paketablaufsteuerung den Schlangen 21 mit
nicht erfülltem
QoS gegenüber
den Schlangen 20 mit erfülltem QoS ähnlich wie in den 7, 8 und 9 die
höchste
Priorität
und verwendet dann eine Anzahl von Cache-Speichern zum Zählen des
Zeitablaufs vom Zeitpunkt, zu dem ein Paket von jeder der Schlangen
mit erfülltem
QoS übertragen
worden ist, um diejenigen Schlangen mit erfülltem QoS als Schlangen mit
höherer
Priorität
zu erfassen, deren letzte Übertragung
in einem vergangenen, vorbestimmten Zeitintervall aufgetreten ist.
-
Bei
dieser Variation beginnt die Operation der Paketablaufsteuerung
mit dem Schritt 801, um im Flow-Datenspeicher 17 nach
einer Schlange 20 mit nicht erfülltem QoS zu suchen. Wenn in
dem Flow-Datenspeicher wenigstens eine Schlange mit nicht erfülltem QoS
gefunden worden ist (Schritt 802), geht der Ablauf weiter
zum Schritt 803, um eine Schlange mit nicht erfülltem QoS
zu wählen,
wenn mehr als eine Schlange mit nicht erfülltem QoS existiert, und von
der gewählten
Schlange wird ein Paket mit einer Datenrate, die in dem Flow-Datenspeicher spezifiziert
ist, übertragen
(Schritt 804). Wenn nur eine Schlange 21 mit nicht
erfülltem
QoS erfasst ist, wird von dieser Schlange ein Paket gesandt. Nach der
Durchführung
des Schritts 804 wird eine Paketrückübertragungs-Subroutine 805 an
einer Kopie des Pakets, das gerade von der Schlange mit nicht erfülltem QoS übertragen
worden ist, durchgeführt.
Die Paketablaufsteuerung 13 geht von der Paketrückübertragungs-Subroutine 805 zum
Schritt 806 weiter, um an allen Schlangen bezüglich ihrer
Datenraten eine Neuberechnung durchzuführen, und evaluiert ihre QoS-Werte
neu und verschiebt Pakete zwischen Schlangen mit erfülltem QoS
und Schlangen mit nicht erfülltem
QoS und aktualisiert den Flow-Datenspeicher 17 entsprechend
und führt
einen Leeretest für alle
Schlangen durch (Schritt 807), um zum Schritt 801 zurückzukehren,
wenn nicht alle leer sind, oder um die Routine ansonsten zu beenden.
-
Wenn
keine Schlange mit nicht erfülltem QoS
vorhanden ist, geht der Ablauf vom Schritt 802 zum Schritt 808 weiter,
um in allen Schlangen mit erfülltem
QoS, deren Cache-Speicher abgelaufen ist, eine Suche durchzuführen. Wenn
wenigstens eine Schlange mit erfülltem
QoS vorhanden ist, deren letzte Paketübertragung aufgetreten ist,
bevor ein vorbestimmtes Zeitintervall abgelaufen ist, ist der Cache-Speicher
der Schlange bereits abgelaufen, und die Entscheidung im Schritt 809 ist
affirmativ. In diesem Fall geht der Ablauf weiter zum Schritt 810,
um die Schlangen mit erfülltem
QoS mit abgelaufenem Cache in absteigender Reihenfolge ihrer C/I-Verhältnisse
neu zu ordnen, so dass die Schlange mit erfülltem QoS mit abgelaufenem
Cache mit dem höchsten C/I-Verhältnis an
der Spitze aller Schlangen mit erfülltem QoS, deren Cache abgelaufen
ist, positioniert ist. Im Schritt 811 wird von der Schlange
an der Spitzenposition ein Paket mit einer Datenrate, die in dem Flow-Datenspeicher
spezifiziert ist, übertragen.
-
Wenn
die letzten Paketübertragungen
aller Schlangen mit erfülltem
QoS innerhalb des vorbestimmten Zeitintervalls aufgetreten sind,
sind alle Cache-Speicher nicht abgelaufen, und die Entscheidung
im Schritt 809 ist negativ. In diesem Fall geht der Ablauf
weiter zum Schritt 812, um die Schlangen mit erfülltem QoS
mit nicht abgelaufenem Cache in absteigender Reihenfolge ihrer C/I-Verhältnisse
neu zu ordnen, so dass eine Schlange mit erfülltem QoS mit nicht abgelaufenem
Cache mit dem höchsten C/I-Verhältnis an
der Spitze aller Schlangen mit erfülltem QoS mit nicht abgelaufenem
Cache positioniert ist. Im Schritt 813 wird von der Schlange
an der Spitzenposition ein Paket mit einer Datenrate, die in dem Flow-Datenspeicher
spezifiziert ist, übertragen.
-
Nach
der Durchführung
jedes der Schritte 811 und 813 wird eine Paketrückübertragungs-Subroutine 814 an
einer Kopie des Pakets, das von der Schlange im Schritt 811 oder 813 übertragen
worden ist, durchgeführt.
Im Schritt 815 wird der Cache-Speicher der Schlange des
Schritts 811 oder 813 gestartet, und der Ablauf
geht weiter zum Neuberechnungs- und Aktualisierungsschritt 806.