-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft drahtlose Kommunikation und insbesondere
das effiziente Management von Funkverbindungsressourcen in einem drahtlosen
Kommunikationssystem.
-
Allgemeiner
Stand der Technik
-
CDMA-basierte
drahtlose Kommunikationssysteme wurden als System der zweiten Generation (2G)
auf der Grundlage digitaler Technologien im Vergleich zu den Systemen
der ersten Generation eingeführt,
die analoge Übertragungstechnik
benutzten. 2G-Systeme führten
auch die Unterstützung
von Datenübertragung
mit niedriger Geschwindigkeit ein, zusätzlich zu ihrer Unterstützung von
Voice Call. Eine der Triebkräfte
hinter dem Vorstoß zu
Systemen der dritten Generation (3G) ist die Hochgeschwindigkeitsdatenübertragung.
Ein 3G-CDMA2000-System unterstützt
die Datenübertragungen
mit Datenraten von 19,2 kbps, 38,4 kbps, 76,8 kbps und 153,6 kbps (und
sogar höher),
was als 2X, 4X, 8x bzw. 16X bezeichnet wird, um die Übertragung
von Bildern, digitalen Dateien, Video usw. zu ermöglichen.
Diese Hochgeschwindigkeitsdatenkanäle, die zwischen der Basisstation
und dem mobilen Endgerät
eingerichtet sind, können
Daten in beide Richtungen übertragen. Daten,
die von der Basisstation (BS) zum mobilen Endgerät gesendet werden, werden als
in „Vorwärts"-Richtung gesendet
bezeichnet, während
Daten vom mobilen Endgerät
zur Basisstation als in „Rückwärts"-Richtung gesendet
bezeichnet werden. Die drahtlosen Verbindungen oder Kanäle, die
zum Übermitteln
der schnelleren Daten zwischen der Basisstation und den mobilen
Endgeräten
benutzt werden, bestehen nicht permanent, sondern müssen aufgebaut
werden, wenn die Daten gesendet werden sollen. Hochgeschwindigkeitsdatenübertragung
zwischen der Basisstation und dem mobilen Endgerät ist paketartiger Natur. Typischerweise werden
die Daten nicht in einem konstanten Datenstrom gesendet, sondern
werden stattdessen in einer Reihe von Datenpaketen (Bursts) gesendet,
bis die Übermittlung der
Datei, des Bildes, der Webseite usw. vollständig ist. Ein Grund für die Verwendung
dieses Betriebsmodus liegt darin, dass Funkressourcen begrenzt sind
und nicht die gleichzeitige Bearbeitung mehrerer mobiler Endgeräte unterstützen kann,
an denen jeweils gerade Datenübertragungssitzungen
stattfinden. Mit anderen Worten würde es die Verwendung permanenter,
fest zugewiesener Kanäle,
die diese Hochgeschwindigkeitsraten nutzen, einer Basisstation wegen
der Funkressourcenbegrenzung nicht ermöglichen, mehrere Mobilstationen
zu bearbeiten. Daher muss eine Form der Ressourcenteilung angewendet
werden, um mehrere mobile Endgeräte
zu bearbeiten.
-
In
einem drahtlosen CDMA2000-System werden die Hochgeschwindigkeitsdatenkanäle Ergänzungskanäle EK (SCHs-Supplementary Channels)
genannt. Diese Ergänzungskanäle existieren sowohl
für die
Vorwärts-
als auch für
die Rückwärtsrichtung,
der V-K bzw. der R-K. Wenn ein Burst für die Versendung zu einem mobilen
Endgerät
fertig ist, weist die Basisstation auf einem V-K eine gewisse Zeit
zu und informiert das mobile Endgerät, wann der Burst starten wird.
Diese Synchronisierung mit dem mobilen Endgerät erfolgt über eine erweiterte Ergänzungskanalzuweisungsnachricht
(ESCAM-Extended Supplemental Channel Assignment Message), die von
der Basisstation auf einem Steuerungskanal übertragen wird. Das Format
der ESCAM ist im IS-2000-Standard definiert, der von Konstrukteuren sowohl
von Stationen als auch von mobilen Endgeräten befolgt wird.
-
Das
Einteilen von Datenburstaktivitäten
in einem drahtlosen CDMA2000-System ist komplex, wenn man bedenkt,
dass mehrere mobile Endgeräte gleichzeitig
Bursts von einer Basisstation anfordern können. Die Komplexität ergibt
sich aus der Tatsache, dass die drahtlosen Hoch geschwindigkeitskanäle gemeinsam
genutzt werden müssen
und nicht jeder Sitzung eines mobilen Endgerätes fest zugewiesen werden
können,
wie oben festgestellt. Außerdem ist
ein Hochgeschwindigkeitsdatenkanal keine physische Wesenheit, sondern
vielmehr eine Sammlung unabhängiger
Ressourcen, jede mit einer Gruppe von Einschränkungen, die mit der Zeit variieren
können
und auch zwischen Konfigurierungen von Basisstationen variieren
können.
Die Grundbausteine, die zum Übertragen
von Daten mit hohen Geschwindigkeiten benötigt werden, sind: (1) eine
zusammenhängende
Anzahl von Walsh-Codes; (2) zusammenhängende Kanalfragmente, um den
Ergänzungskanal anzutreiben
(d.h. eine gewisse zusammenhängende Grundfläche auf
einem CDMA2000-ASIC [Application Specific Integrated Circuit, Anwendungsspezifischer
Intergrierter Schaltkreis]); (3) eine gewisse Form des Rücktransports
zwischen der Basisstation und der MVS (um die Hochgeschwindigkeitsdatenpakete
zwischen der Mobilen Vermittlungsstelle MVS (MSC-Mobile Switching
Center) und der Basisstation oder umgekehrt zu liefern); und (4)
eine gewisse Menge von RF-Leistung, die notwendig ist, um den Ergänzungskanal
anzutreiben, und die je nach dem Standort des mobilen Endgerätes in der
Stärke
variieren kann. Alle diese Elemente müssen genau dann verfügbar sein,
wenn die BS den Burst zu einem bestimmten mobilen Endgerät überträgt.
-
Zu
dieser Komplexität
kommt die Komplexität
der Einteilung, die notwendig ist, um bei der gleichzeitigen Versorgung
mehrerer mobiler Endgeräte
mit einer endlichen Gruppe von Ressourcen Fairness zu erzielen.
Die aktuelle Verfahrenstechnik teilt die Ressourcen in immer kleinere
Pools auf und verteilt dann diese kleinen Pools auf die mehreren mobilen
Endgeräte,
die Dienste anfordern. Das Endergebnis ist, dass ein mobiles Endgerät einen
Burst mit niedrigerer Geschwindigkeit (bis zu 19,2 kbps gering)
empfängt,
aber viele mobile Endgeräte
gleichzeitig Bursts bekommen. Gegenwärtig erfordert dies einen hohen Aufwand
an Verarbeitungsleistung, wenn man bedenkt, dass dieses Schema viele
kleinere Kanäle
mit geringerer Übertragungsrate
erzeugt. Eine neue Burstanfrage, die in einem bereits belasteten
System eintrifft, erfordert, dass die Software der Basisstation
eine Vielzahl vorhandener Bursts mit geringer Übertragungsrate überprüft, um zu
bestimmen, welche Ressourcen für
den neuen Burst verfügbar
sind. Typischerweise wird in einem belasteten System einer neuen
Burstanfrage eine geringe Burstdatenrate (19,2 kbps) zugeteilt,
und es ist ein großer
Aufwand an Verarbeitungsleistung notwendig, nur um die Ressourcen
für diesen
langsamen Burts aufzufinden. Auch bewegen sich diese Ressourcen
mit jeder neuen Burstanfrage oder Burstfortführung. Daher müssen, wenn
eine neue Burstanfrage empfangen wird, eine neue Gruppe Walsh-Codes, Kanalfragmente
usw. reserviert werden.
-
Wie
oben festgestellt, behandelt die Verfahrensweise der Zuweisung von
Ressourcen nach bisherigem Stand der Technik die Begrenztheit der
Ressourcenaufteilung, indem sie die verfügbaren Ressourcen in immer
kleinere Stücke
teilt. Da die Anzahl der anfragenden mobilen Endgeräte steigt,
werden die Ressourcen in die kleinstmöglichen Kanäle partitioniert, die nur die
2X-Rate von 19,2 kbps liefern können.
Viele dieser 2X-Kanäle
werden dann parallel bearbeitet. Wenn eine neue Burstanfrage von
einem bereits schwer belasteten System empfangen wird, wird sie
entweder abgelehnt oder ihr wird zu einem späteren Zeitpunkt ein 2X-Kanal
zugewiesen. Außerdem
ist viel Verarbeitungsaufwand nötig,
um die 2X-Ressourcen zu finden, die in absehbarer Zeit in der Zukunft
(der Burstaufbauzeit) verfügbar
sein werden, da es so viele kleine Partitionen von Ressourcen gibt,
die auf Verfügbarkeit
geprüft
werden. Zusätzlich werden
diese Ressourcen auf ihre zukünftige
Verfügbarkeit
geprüft,
da der Burst erst zum Start eingeteilt wird, nachdem die Burstaufbauzeit
abgelaufen ist.
-
Der
Stand der Technik ist auch unvorteilhaft anfällig für das Hinterlassen von Lücken in
den verfügbaren
Ressourcen. Dies ergibt sich aus der Beschaffenheit der Ressourcenpartitionierung
und aus der Tatsache, dass es für
bestimmte miteinander zusammenhängende
Ressourcen (z.B. die Walsh-Codes) Beschränkungen gibt. Dies ist als
Funkkanalfragmentierung bekannt. Da das Teilungssystem die Ressourcen
aufbricht, kann es die Ressourcen nicht immer jederzeit wieder zusammenfügen. Das
Vereinigen nicht zusammenhängender
Ressourcen (z.B. Walsh-Codes,
Kanalfragmente) in einzelne homogene zusammenhängende Ressourcen ist sehr
komplex und verarbeitungsintensiv. Beispielsweise gibt es Zeiten,
in denen zwei 2X-Kanä1e
getrennt verfügbar
sind, die genutzt werden könnten,
um einen 4X-Burst zu erzeugen, wenn sie zusammenhängend wären.
-
US-Patentanmeldung
US2001/0021180 A1, veröffentlicht
am 13. September 2001 offenbart ein Verfahren zum Zuweisen von zu übertragenden
Paketdaten zu einem Funkdatenkanal eines Basisstationssystems als
Reaktion auf eine Anfrage zur Übertragung
von Paketdatenverkehr für
mehrer mobile Endgeräte
in einem mobilen Kommunikationssystem. Das Verfahren umfasst das
Sammeln der Anfragen zur Übertragung
von Paketdatenverkehr des Funkpaketdatenkanals für die mobilen Endgeräte; das
Auswählen
mindestens eines der mobilen Endgeräte aus den gesammelten Anfragen
zur Übertragung
von Paketdatenverkehr; das Übertragen
einer Kanalzuweisungsnachricht zu dem ausgewählten mobilen Endgerät, die Informationen über eine
Datenrate, Datenübertragungszeiten
des Funkpaketdatenkanals und Startpunkte der Datenübertragungszeiten
für das
ausgewählte
mobile Endgerät
enthält; und
das Übertragen
der Paketdaten zum ausgewählten
Endgerät
zur Startzeit der Datenübertragungszeiten
mit der Datenrate.
-
Kurzdarstellung der Erfindung
-
Das
Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung
sind in den unabhängigen
Ansprüchen
festgehalten, auf die der Leser hiermit verwiesen wird. Bevorzugte
Merkmale sind in den abhängigen
Ansprüchen
dargestellt.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung werden auf dem Vorwärts-Ergänzungskanal (V-EK) in einer
Basisstation eines CDMA2000-Systems bei der Systeminitialisierung mehrere
permanente virtuelle Pipelines verschiedener Breite bereitgestellt.
Eine Gruppe von Ressourcen (z.B. zusammenhängende Walsh-Codes, zusammenhängende ASIC-Grundflächen usw.)
wird zugeteilt und gruppiert, um schnelle Datenübertragungen in der Vorwärtsrichtung
auf dem V-EK von der Basisstation abzuwickeln. Je nach der Konfiguration
der Basisstation sind diese bereitgestellten virtuellen Pipelines „breit" genug, um Datenraten
abzuwickeln, die beispielsweise zwischen der maximalen, gegenwärtig verwendeten
Datenrate 16X (153,5 kbps) und der Datenrate 2X (19,2 kbps) liegen.
Es werden allgemein auch engere virtuelle Pipelines bereitgestellt,
die beispielsweise 8X oder 4X breit sind.
-
Sind
die permanenten virtuellen Pipelines verschiedener Breite eingerichtet,
werden Datenbursts, die vom Netzwerk ankommen und ein mobiles Endgerät im Versorgungsbereich
der Basisstation zum Ziel haben, im Reigenverfahren in Zeitfenster auf
mindestens einer der virtuellen Pipelines eingeteilt. Insbesondere
wird ein Burst, je nach der Länge des
Bursts, in Burstsegmente einer Zeitfensterdauer unterteilt und in
einem Zeitmultiplex-Verfahren
mit Segmenten anderer Bursts, die andere mobile Endgeräte im Versorgungsbereich
der Basisstation zum Ziel haben, verschachtelt. Die Menge der in
einem gegebenen Zeitfenster/Burstsegment übertragenen Daten hängt von
der konkreten virtuellen Pipeline ab, auf der das konkrete Burstsegment
zur Übertragung eingeteilt
ist. Gibt es weniger aktive Bursts als virtuelle Pipe lines, so werden
die Burstsegmente nur auf den breitesten Pipelines eingeteilt. Wenn
jedoch die Anzahl aktiver Bursts die Anzahl der bereitgestellten Pipelines übersteigt,
werden die Burstsegmente zwischen den Pipelines mit unterschiedlicher
Breite im Reigenverfahren aufgeteilt, wobei mindestens ein Burstsegment
jedes aktiven Bursts in ein Zeitfenster auf der breitesten Pipeline
eingeteilt wird. Die anderen Burstsegmente eines Bursts werden dann
auf alle Pipelines aufgeteilt, sodass sie sich durch die Pipelines
unterschiedlicher Breite ziehen, um allen Bursts Möglichkeiten
auf den breiteren Pipelines einzuräumen.
-
Zu
jeder bereitgestellten virtuellen Pipeline gehört eine als Software ausgeführte Burstsegment-Steuerungsstruktur
verknüpft.
Diese Steuerungsstruktur umfasst eine Rahmenkopfzeilen-Pointerliste
und mehrere Burstsegment-Informationsblöcke. Jeder Informationsblock
ist mit Informationen zu einem gekennzeichneten Burstsegment besetzt,
das für
die Übertragung
in einem bestimmten zukünftigen Zeitfenster
auf der dazugehörigen
virtuellen Pipeline eingeteilt ist, und ist mit einem bestimmten
Rahmen auf den Rahmenkopfzeilen-Pointerlisten verknüpft. Während sich
ein Pointer auf gegenwärtige
Rahmen mit einer festen Rahmenrate von Rahmenkopfzeilenpointer zu
Rahmenkopfzeilenpointer auf der Rahmenkopfzeilen-Pointerliste bewegt,
wird bestimmt, ob der Pointer auf gegenwärtige Rahmenkopfzeilen auf
einen Informationsblock eines Burstsegments zeigt, das dann zur Übertragung
auf der virtuellen Pipeline eingeteilt wird. Wenn dem so ist, wird
das Burstsegment, das in dem Burstsegment-Informationsblock, auf
den gezeigt wird, gekennzeichnet ist, übertragen. Nachdem ein Burstsegment übertragen wurde,
wird sein dazugehöriger
Burstsegment-Informationsblock gelöscht. Da der Pointer auf aktuelle Rahmen
sich Rahmen für
Rahmen zum nächsten Rahmenkopfzeilenpointer
bewegt, bewegt sich ein Pointer auf zukünftige Rahmen für Rahmen
zu einem Rahmenkopfzeilenpointer, den der Pointer auf aktuelle Rahmen
für eine
vorbestimmte Anzahl von Rahmen nicht erreicht. Wenn der Pointer
auf zukünftige Rahmen
auf einen Rahmenkopfzeilenpointer zeigt, der wiederum einen Burstsegment-Informationsblock für ein Burstsegment
zeigt, das übertragen
wird, wenn der Pointer auf aktuelle Rahmen diesen Rahmen erreicht,
wird auf einem Steuerungskanal eine ESCAM übermittelt, um das empfangende
mobile Endgerät
auf den Burst vorzubereiten, den es in Kürze über die virtuelle Pipeline
empfangen wird, wenn der Pointer auf aktuelle Rahmen in Kürze diesen Rahmenkopfzeilenpointer
erreicht.
-
Wenn
die Basisstation eine Burstanfrage aus dem Netzwerk erhält, wird
das erste Burstsegment für
die breiteste virtuelle Pipeline für eine festgelegten Zeit in
der Zukunft, nachdem mindestens eines aller aktuell eingeteilten
Burstsegmente übertragen wurde,
eingeteilt. Ein Burstsegment-Informationsblock wird dann mit dem
Rahmenkopfzeilenpointer dieses festgelegten zukünftigen Zeitpunkts besetzt und
verknüpft,
während
etwaige andere Burstsegmente, die bereits eingeteilt sind, verschoben
werden, um das neue Burstsegment unterzubringen. In ähnlicher
Weise werden andere Burstsegmente auf den anderen bereitgestellten
virtuellen Pipelines für bestimmte
zukünftige
Zeitpunkte eingeteilt.
-
Vorteilhaft
werden die Ressourcen des schnellen Datenkanals effizient gemanagt,
indem die schnellen Datenbursts solcherart eingeteilt werden, dass
Fairness bei der Nutzung der breiteren, schnelleren Pipelines für alle mobilen
Endgeräte,
die Bursts anfordern, erzielt wird. Außerdem gibt es zu jeder Zeit
nur so viele Burstsegmente, die gerade zu mobilen Endgeräten übertragen
werden, wie es virtuelle Pipelines gibt, was einen Gegensatz zum
Stand der Technik bildet, wo die Ressourcen in immer kleinere Teile
partititioniert werden, wodurch eine sehr große Anzahl langsamer Bursts,
die gleichzeitig übertragen werden,
erzeugt wird. Die Ausführungsform
der vorliegenden Erfindung dagegen führt zu einem System, das eine
kleinere Anzahl breiterer Bursts verwendet und Fairness erreicht,
indem es Zeitmultiplextechniken auf den breiteren, schnelleren Pipelines
benutzt, statt gleichzeitig eine größere Anzahl engerer, langsamerer
Pipelines zu betreiben.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm, das ein drahtloses Kommunikationssystem zeigt,
in dem eine Ausführungsform
der vorliegenden Erfindung eingesetzt ist;
-
2 zeigt
beispielhaft eine permanente virtuelle Pipeline, die von der Basisstation
in dem Kommunikationssystem in 1 bereitgestellt
wird;
-
3 zeigt
die Übertragung
eines einzelnen Bursts auf einer virtuellen Pipeline;
-
4 zeigt
die Übertragung
zweier Bursts auf einer einzigen virtuellen Pipeline;
-
5 zeigt
eine Burstsegment-Steuerungsstruktur, die Zeitfenster auf einer
virtuellen Pipeline einteilt und managt;
-
6 ist
ein Flussdiagramm, das den Betrieb eines Datenbursttreibers für jede virtuelle
Pipeline, die von der Basisstation bereitgestellt wird, ausführlich darstellt;
-
7 zeigt
drei virtuelle Pipelines mit verschiedenen Datenraten, die mehrere
gleichzeitige Bursts verarbeiten;
-
8 zeigt,
wie neue Bursts auf einer virtuellen Pipeline eingeteilt werden;
-
9 ist
ein Flussdiagramm, das zeigt, wie ein Burstplaner Burstsegmente
auf einer virtuellen Pipeline einteilt; und
-
10 ein
hochgradiges Blockdiagramm einer Basisstation gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
Detaillierte
Beschreibung
-
Bei
einer Ausführungsform
der vorliegenden Erfindung handelt es sich um Software, die an jeder Basisstation
in einem drahtlosen CDMA2000-Kommunikationssystem ausgeführt wird.
Mit Bezug auf 1 sind die Basisstationen 101 und 102 an
die MVS 103 innerhalb eines drahtlosen Kommunikationssystems 100 angeschlossen
dargestellt. Ein mobiles Endgerät 104 ist
in Kommunikation in Vorwärtsrichtung
mit beiden Basisstationen 101 und 102 auf primären und
sekundären
Vorwärts-Basiskanälen 105 bzw. 106 dargestellt.
Während
es mehrere Basiskanäle
geben kann, gibt es nur einen Vorwärts-Ergänzungskanal 107, der
für das
mobile Endgerät 104 und
die anderen mobilen Endgeräte 109, 110, 111, die
mit der Basisstation 101 kommunizieren, reserviert ist,
um Hochgeschwindigkeitsdaten von dieser einzelnen Basisstation 101 zu
empfangen. Der Basiskanal ist dem Signaldatenverkehr vorbehalten
und kann auch Datenpakete transportieren, jedoch mit geringeren
Raten als der Ergänzungskanal.
Die beschriebene Ausführungsform
arbeitet nur auf dem Vorwärts-Ergänzungskanal.
Während
jede Basisstation in dem Kommunikationssystem die zu beschreibenden
Einteilungsfunktionen ausführt,
werden durch eine einzige Basisstation 101 auf einem einzigen
Zweig Hochgeschwindigkeitsdaten über
den Vorwärts-Ergänzungskanal 107 zu
den mobilen Endgeräten 104, 109, 110, 111 übertragen.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung, werden an einer Basisstation virtuelle
Pipelines für den
Transport von Datenbursts oder Burstsegmenten zu den mobilen Endgeräten 104, 109, 110, 111 innerhalb
des Versorgungsbereichs dieser Basisstation bereitgestellt. 2 illustriert
das Konzept einer virtuellen 16X-Pipeline 201 und
einer virtuellen 8X-Pipeline 202. Eine virtuelle Pipeline
besteht aus einer Gruppe von Ressourcen, die intakt bleiben, wenn
sie einmal zugewiesen sind. Bei der virtuellen 16X-Pipeline 201 umfassen
die zugewiesenen Ressourcen: (1) 16X-wertige zusammenhängende Walsh-Codes;
(2) 16X-wertige zusammenhängende
Kanalfragmente auf einem CDMA2000-ASIC; (3) 16X-wertige Kapazität auf einem gewissen Rücktransport
zwischen der Basisstation und der Mobilen Vermittlungsstelle, bei
der es sich typischerweise um einen Abschnitt einer T1-Leitung handelt;
und (4) ein gewisser Anteil an verfügbarer RF-Leistung, die variieren
kann. Der virtuellen 8X-Pipeline 202 ist von der Basisstation
die Hälfte dieser
Ressourcen im Vergleich zur 16X-Pipeline 201 zugewiesen
(mit Ausnahme der RF-Leistung, die variieren kann), und sie kann
genau die halbe Datenrate verarbeiten. Wie in 2 dargestellt,
sind die virtuellen Pipelines 201 und 202 im Zeitmultiplexverfahren
in Zeitfenster unterteilt, die benutzt werden, um Burstsegmente
von schnellen Datenbursts zu den mobilen Endgeräten 104, 109, 110 und 111 zu
tragen, die zum Empfang solcher Bursts eingeteilt sind. Wie oben
erläutert,
sind die Ressourcen, die beispielsweise diese virtuellen Pipelines 201 und 202 bilden, ihrer
jeweiligen Pipeline permanent zugewiesen und werden niemals neu
zugewiesen, bis sie außer
Betrieb genommen werden. Die Pipeline oder Pipelines, die beispielsweise
an der Basisstation 101 bereitgestellt sind, sind daher
immer verfügbar,
und den Burstsegmenten für
die mobilen Endgeräte 104, 109, 110, 111 werden
Zeitfenster auf einer oder mehreren dieser Pipelines zugewiesen.
-
Sind
die virtuellen Pipelines bereitgestellt, wird eine Datenburstanfrage
nach Zeiteinheiten in Burstsegmente zerschnitten und potentiell
mehreren Pipelines zugewie sen. 3 zeigt
eine einfachste Ausführungsform
der vorliegenden Erfindung, in der ein einziger Burst auf einer
einzigen virtuellen Pipeline 301 übertragen wird. In chronologischer
Reihenfolge empfängt
die Basisstation 101 eine Anfrage zum Weiterleiten eines
Bursts von der MVS 103, gewöhnlich als Reaktion auf eine
frühere
Anforderung von Daten von Seiten beispielsweise des mobilen Endgerätes 104.
Es gibt eine gewisse Verzögerung im
Zusammenhang mit den Steuerungssignalen zum Burstaufbau, die tbaz (die Burstaufbauzeit für einen neuen
Burst) genannt wird. Es gibt eine weitere Verzögerung, in 3 angegeben,
die die Zeit darstellt, die zum Senden der ESCAM an das mobile Endgerät benötigt wird.
Wie an früherer
Stelle festgehalten, ist die ESCAM eine auf einem Steuerungskanal
versendete Signalnachricht, die dem mobilen Endgerät Informationen
liefert, die es benötigt,
um in der Lage zu sein, in den schnellen Datenburst, der auf einem
bestimmten V-EK empfangen wird, hineinzuhören. Jedes mobile Endgerät, das nach
dem IS-2000-Standard arbeitet, ist in der Lage, die von der Basisstation empfangene
ESCAM zu decodieren und auf sie zu reagieren. Die ESCAM teilt dem
mobilen Endgerät mit,
wann es mit dem Zuhören
beginnen soll, was in 3 bei t16,1 liegt.
Zu diesem Zeitpunkt sendet die Basisstation 101 das erste
Burstsegment A1 auf dem V-EK 107 auf
der virtuellen 16X-Pipeline 202 beispielsweise
an das mobile Endgerät 104.
Zu einem späteren
Zeitpunkt entdeckt die Basisstation, dass sich ein weiteres Burstsegment
nähert
und löst
eine weitere ESCAM an das Endgerät 104 aus,
dieses Mal jedoch für
eine „Burstfortführung". Dies geschieht
zu einem Zeitpunkt ΔtE vor t16,2. Die
Einzelheiten dazu, wie dies ausgelöst wird, sind unten beschrieben.
Die ESCAM teilt dem mobilen Endgerät 101 mit, dass sich
eine Fortführung
des aktuellen Bursts nähert,
den Zeitpunkt, zu dem sie beginnt, und die Funkressourcen, denen
es zuhören
sollte. Am Zeitpunkt t16,2 beginnt die Basisstation 101 mit
der Übertragung
des Burstsegments A2. Diese Abfolge wiederholt
sich, bis der gesamte schnelle Burst übertragen wurde. Bei dieser
einfachen Ausführungsform wird
der gesamte Burst mit Hilfe einer einzigen virtuellen 16X-Pipeline übertragen,
was auch impliziert, dass er mit Hilfe derselben Gruppe von Ressourcen übertragen
wird. Die Software der Basisstation 101 muss keine Verarbeitungsleistung
aufwenden, um diese Ressourcen neu zuzuweisen, sondern muss einfach
bestimmen, wie der Burst in Segmente partitioniert werden soll und
wann die Burstsegmentfortführungen über ESCAMs
ausgegeben werden sollen.
-
4 zeigt
eine Ausführungsform
der Erfindung, wenn eine einzige virtuelle Pipeline mehrere Bursts
bearbeitet, die an mehrere mobile Endgeräte gerichtet sind. 4 zeigt
den Fall, in dem zwei gleichzeitige Burstanfragen von einer einzigen
virtuellen Pipeline 401 bearbeitet werden. In der Praxis werden
die Konfigurierungen der Basisstationen mehrere virtuelle Pipelines
mit unterschiedlicher Kapazität
ermöglichen.
Im Szenario von 4 fordern beispielsweise zwei
verschiedene mobile Endgeräte 104 und 109 gleichzeitig
je einen Burst an. Burst A kommt vor Burst B an der Basisstation 101 an.
Es gibt eine endliche Burstaufbau-Zeit tbazA,
die den Übertragungsstart
von Burst A verzögert.
Burst A wird zuerst eingeteilt, die ESCAM wird versendet, und es
wird von Basisstation 101 eine Startzeit t16,1 gewählt. Basisstation 101 beginnt
bei t16,1, das Burstsegment A1 auf
der virtuellen 16x-Pipeline zum mobilen Endgerät 104 zu übertragen.
An diesem Punkt ist auch die Burstaufbauzeit für B abgeschlossen, aber das
erste Burstsegment von Burst B kann nicht übertragen werden, da die virtuelle
Pipeline 401 gegenwärtig
das Burstsegment A1 bearbeitet. Basisstation 101 löst zur richtigen
Zeit aus und sendet die ESCAM zum mobilen Endgerät 109, an das der
Burst B gerichtet ist, um die Burststartzeit und die Radioressourcen
mit ihm zu synchronisieren. Bei t16,2 überträgt Basisstation 101 Burstsegment
B1 zum mobilen Endgerät 109. Zu einer gewissen
Zeit vor t16,3 teilt die Basisstation 101 dem mobilen
Endgerät 104 mit,
sich für den
Empfang eines weiteren Segments von Burst A bereit zu machen. Diese
Form des Zeitmultiplexings der virtuellen 16X-Pipeline 401 ermöglicht es,
dass diese Ressource von den beiden mobilen Endgeräten 104 und 109,
an die Bursts gerichtet sind, gemeinsam genutzt wird. Da die Basisstation 101 die Ressourcen
nicht in Hälften
unterteilen muss, muss sie keine weitere Verarbeitung durchführen, um
diese Ressourcen neu zuzuweisen. Während solche Verarbeitung und
Neuzuweisung bei nur zwei gleichzeitigen Bursts nicht viel Verarbeitungsleistung
zu binden scheint, wäre
die anderenfalls benötigte
Verarbeitungsleistung beträchtlich,
wenn zehn oder mehr gleichzeitige Bursts vorliegen.
-
Mit
Bezug auf 5 dient eine Burstsegment-Steuerungsstruktur 500 zum
Einteilen und Managen von Zeitfenstern auf jeder virtuellen Pipeline, wobei
jeder virtuellen Pipeline in dem System ihre eigene Struktur 500 zugewiesen
ist. Solch eine Struktur 500 ist vollständig als Software ausgeführt. Die Struktur
besteht aus zwei Arten von Elementen: einer Rahmenkopfzeilen-Pointerliste 501 und
einer Sammlung von Burstsegment-Informationsblöcken, beispielsweise
Blöcke 502, 503, 504, 505, 506 und 507. Jeder
Burstsegment-Informationsblock enthält alle Informationen, die
notwendig sind, um ein konkretes Burstsegment richtig auf der virtuellen
Pipeline, zu der die Burstsegment-Steuerungsstruktur 500 gehört, in einem
eingeteilten Zeitfenster anzuordnen. Diese Information umfasst beispielsweise
eine Burst-ID, eine Burstsegment-Startzeit, eine Burstsegmentzeit,
einen Burstinformationspointer auf einen anderen Datenblock und,
falls nötig,
einen Pointer zum nächsten
Geschwisterblock.
-
Die
Rahmenkopfzeilen-Pointerliste 501 besteht aus mehreren
Rahmenpointern 508, die entweder auf einen bestimmten Burstsegment-Informationsblock
zeigen oder NULL-Pointer sind, wenn diesem Rahmen kein Informati onsblock
zugewiesen ist. Die Rahmenkopfzeilen-Pointerliste 501 enthält einen Rahmenkopfzeilenpointer
pro Rahmen, der ein definierter Zeitraum, beispielsweise 20 ms ist.
Diese Rahmenkopfzeilenpointer werden verwendet, um die in der Struktur
in den Burstsegment-Informationsblöcken enthaltenen Informationen
zu verteilen, sodass jedes Burstsegment zu einer genauen Zeit auf
der virtuellen Pipeline angeordnet wird, die zu dieser konkreten
Burstsegment-Steuerungsstruktur gehört, in Rahmeninkrementen von
20 ms beispielsweise. Sie enthalten auch Informationen, die verwendet
werden, um ordnungsgemäß eine ESCAM
zu einem Zeitpunkt an das mobile Zielendgerät zu senden, der ausreichend
weit vor dem Zeitpunkt liegt, zu dem ein Burstsegment an das mobile
Endgerät
gesendet werden wird. Je nach der Länge eines Bursts, der zu einem
mobilen Zielendgerät übertragen
werden soll, kann eine Burstanfrage vom Netzwerk zu mehreren Burstsegmenten
führen,
wodurch mehrere Burstsegment-Informationsblöcke erzeugt werden. Wie beschrieben
werden wird, werden diese Burstsegmente auf eine oder mehrere bereitgestellte
virtuelle Pipelines eingeteilt, und zwar solcherart, dass verschiedene
Burstsegmente eines konkreten Bursts mit großer Wahrscheinlichkeit auf
verschiedenen virtuellen Pipelines übertragen werden.
-
Je
nach der Einteilung der Burstsegmente auf jede virtuelle Pipeline
enthält
die Burstsegment-Steuerungsstruktur 500 für jede dieser
virtuellen Pipelines in einem Burstsegment-Informationsblock die
Informationen, die zum Übertragen
eines Burstsegments zur eingeteilten Zeit notwendig sind.
-
Die
Rahmenkopfzeilenpointer 508 werden verwendet, um die in
den Burstsegment-Informationsblöcken
enthaltenen Informationen so zu verteilen, dass die Informationen
in die richtige zeitliche Reihenfolge gebracht werden. Die Software
durchsucht dann nur bestimmte Abschnitte der in der gesamten Struktur
enthaltenen Informationen, insbesondere nur die Abschnitte, die
in dem interessie renden Rahmen für
die gegebene Zeit liegen. Die Anzahl der in der Liste enthaltenen
Rahmenkopfzeilenpointer ist variabel und hängt sowohl von der Rahmengröße ab, die
für die
Verwendung in dem System gewählt
wurde, als auch von einer Fenstergröße, wobei die die Fenstergröße die Zeit
ist, die zum Durchlaufen jedes Rahmenpointers in der Rahmenkopfzeilen-Pointerliste
nötig ist.
Eine Fenstergröße von einer Sekunde
und eine Rahmengröße von 20
ms führen zu
einer Rahmenrate von 50 Rahmen pro Sekunde oder zu einem System,
das 50 Rahmenkopfzeilenpointer 508 pro virtueller Pipeline
aufweist. Da die Rahmenkopfzeilen-Pointerliste ein Zeitfenster mit endlicher
Größe darstellt,
wie etwa die eben beschriebene beispielhafte eine Sekunde, werden
die Burstsegment-Informationsblöcke,
die für
die Zukunft jenseits dieses Fensters von einer Sekunde eingeteilt sind,
in der Burstsegment-Steuerungsstruktur „in die nächste Runde übertragen". Wenn beispielsweise bei
dem Fenster von einer Sekunde und den Rahmen von 20 ms ein Burstsegment
für den
Start bei 2,02 Sekunden in der Zukunft eingeteilt ist, wird der
Burstsegment-Informationsblock in den allernächsten Rahmen, bezogen auf
den aktuellen Rahmen, eingesetzt, wird jedoch nicht eher als zwei
Runden im Voraus in der Zukunft eingeteilt.
-
Im
Ergebnis der in Runden verlaufenden Natur der Konstruktion können mehrere
Burstsegment-Informationsblöcke
zu demselben Rahmen gehören,
werden jedoch nicht zur Übertragung
bis zu Zeitpunkten eingeteilt, die eine Sekunde vor einem vorherigen
dazugehörigen
Informationsblock liegen, der mit demselben Rahmenkopfzeilenpointer
verbunden ist. Beispielsweise sind die Burstsegment-Informationsblöcke 503, 504 und 505,
die beispielhaft Burstsegmentinformationen für die Burstsegmente A1, D5 bzw. A3 von Burst A und D enthalten, alle mit demselben
Rahmenkopfzeilenpointer 509 verbunden. Wie in ihren Burstsegment-Informationsblöcken 503, 504 und 505 festgehalten,
liegen die Startzeiten der Burstsegmente A1,
D5 und A3 exakt
eine Sekunde voneinan der entfernt bei beispielhaften Startzeiten von
180 ms, 1180 ms bzw. 2180 ms. Wie dargestellt, ist der Burstsegment-
Informationsblock 505 mit seinem Vorgängergeschwisterblock 504 verbunden,
der wiederum mit seinem Vorgängergeschwisterblock 503 verbunden
ist, da sie alle in demselben Rahmenkopfzeilenpointer 509 angeordnet
sind.
-
Da
jedes nächste
Zeitsteuerungsereignis von einer Zeitsteuerung 515 generiert
wird, wird ein aktueller Rahmenpointer 510, der auf den
aktuell bearbeiteten Rahmen zeigt, zum nächsten Rahmenkopfzeilenpointer
in der Liste 501 bewegt. Diese Zeitsteuerungsereignisse
erfolgen mit der Rahmenrate von 50 Rahmen pro Sekunde bzw. in Intervallen
von 20 ms. Wenn der aktuelle Rahmenpointer 510 den letzten
Rahmenkopfzeilenpointer auf der Rahmenkopfzeilen-Pointerliste erreicht,
springt er zurück
zum Anfang der Liste. Während
der aktuelle Rahmenpointer 510 in der Rahmenkopfzeilen-Pointerliste
von Rahmen zu Rahmen rückt,
prüft die
Software alle Burstsegment-Informationsblöcke, die mit dem angezeigten
aktuellen Rahmen verbunden sind und benutzt die Information zur
Startzeit jedes dieser Blöcke,
um zu entscheiden, ob sie diesen Block verarbeitet, wenn er aktuell
eingeteilt ist, oder ob sie den Block nicht verarbeitet, wenn die
Startzeit des Blocks anzeigt, dass dies ein zukünftiger Block ist, der mit dem
aktuellen Rahmen verbunden ist. Wenn es sich um einen zukünftigen
Block handelt, ist seine Startzeit größer als die Fenstergröße, und
das Burstsegment wird nicht während
des aktuellen Durchlaufs der Rahmenkopfzeilenpointer verarbeitet.
Vielmehr wird das Burstsegment, wenn es sich um einen zukünftigen
Block handelt, verarbeitet, wenn der aktuelle Rahmenpointer das
Fenster erneut durchläuft,
beispielsweise eine oder zwei Sekunden später. Wenn es sich um einen
zukünftigen
Block handelt, wird dann die Fenstergröße von seiner eingeteilten
Startzeit subtrahiert, sodass er bei einem nachfolgenden Durchlauf
durch die Rahmenkopfzeilen- Pointerliste verarbeitet
werden kann. Wenn beispielsweise der aktuelle Rahmenpointer 510 auf
die Rahmenkopfzeile 509 zeigt, die auf die Informationsblöcke 503, 504 und 505 zeigt,
wird der Informationsblock 503 bearbeitet, da seine Startzeit 180 ms
beträgt.
Dann wird eine Sekunde von der Startzeit von 1180 ms in Informationsblock 504 und
von der Startzeit von 2180 ms in Informationsblock 505 abgezogen.
Somit wird die Startzeit des Informationsblocks 504 auf
180 ms und die Startzeit von Block 505 auf 1180 ms geändert. Bei dem
nächsten
Durchlauf des Fensters eine Sekunde später wird der Informationsblock 504 bearbeitet,
da seine Startzeit nun 180 ms beträgt, und die Startzeit des Informationsblocks 505 wird
von 1180 ms auf 180 ms geändert,
sodass er in der nächsten
Durchlauf runde verarbeitet wird.
-
Wenn
ein Burstsegment zur Übertragung
zu dem mobilen Endgerät,
an das es gerichtet ist, auf einer virtuellen Pipeline angeordnet
wird, wird sein jeweiliger Burstsegment-Informationsblock aus der Steuerungsstruktur
gelöscht.
So wird, wenn die Informationsblöcke
für einen
gegebenen Rahmen geprüft werden,
ein abgelaufener Burstsegment-Informationsblock gelöscht, und
der Rahmenkopfzeilenpointer wird mit dem nachfolgenden Geschwisterblock
des gelöschten
Blocks neu verbunden.
-
Selbst
unter hoher Burstbelastung sind viele NULL-Rahmenpointer in der Rahmenkopfzeilen-Pointerliste 501 wahrscheinlich.
Wie erläutert, zeigt
ein NULL-Pointer an, dass es keine Veränderung in der Burst-Aktivität an diesem
Frame-Zeitabstand gibt und daher zu dieser Rahmenzeit keine Änderung
im Betrieb der virtuellen Pipeline vorgenommen werden muss. Bei
dem beispielhaften System, das 50 Rahmen pro Fenster verwendet,
sind selbst, wenn 20 Burstsegmente für die dazugehörige virtuelle
Pipeline eingeteilt sind, mindestens 30 Rahmenkopfzeilen NULL, da
viele Burstsegmente in denselben Rahmen eingebunden können.
-
Während der
Pointer auf aktuelle Rahmen 510 auf einen aktuellen Rahmen
zeigt, der mit einem Burstsegment-Informationsblock verbunden sein kann
oder nicht, der eine Änderung
der Burstaktivität auf
der virtuellen Pipeline hervorrufen wird, zeigt ein Pointer auf
zukünftige
Rahmen 511 gleichzeitig auf einen anderen Rahmen in der
Rahmenkopfzeilen-Pointerliste, die der Pointer auf aktuelle Rahmen 510 nicht
vor einem gewissen Zeitpunkt in der Zukunft erreichen wird. Dieser
zukünftige
Zeitpunkt ist gleich dem Rahmen-Abstand zwischen dem Pointer auf
aktuelle Rahmen und dem Pointer auf zukünftige Rahmen. Während die
Zeitsteuerung 515 ein Zeitsteuerungsereignis generiert,
der den Pointer auf aktuelle Rahmen 510 zum nächsten Rahmenkopfzeilenpointer
rückt,
wird der Pointer auf zukünftige
Rahmen 511 parallel zu seinem nächsten nachfolgenden Rahmenkopfzeilenpointer
bewegt. Dieser Pointer auf zukünftige
Rahmen 511 wird benutzt, um die Übertragung einer ESCAM ordnungsgemäß einzuteilen,
die bei dem mobilen Endgerät
zu einer bestimmten Zeit eingehen muss, bevor das mobile Endgerät auf den Empfang
des eigentlichen Burstsegments von der Basisstation vorbereitet
ist. Diese oben beschriebene bestimmte Zeit ist in 3 als ΔtE dargestellt. Bei einem beispielhaften System,
in dem ΔtE 120 ms beträgt und mit einer Rahmengröße von 20
ms, beträgt der
Rahmenabstand des Pointers auf zukünftige Rahmen 511 von
dem Pointer auf aktuelle Rahmen 510 sechs Rahmen. Somit
schreitet der Pointer auf zukünftige
Rahmen 511, während
der Pointer auf aktuelle Rahmen 510 in der Rahmenkopfzeilen-Pointerliste
Rahmen für
Rahmen abschreitet, parallel dazu Rahmen für Rahmen sechs Rahmen im Voraus
ab. Wenn der Pointer auf zukünftige
Rahmen 511 auf einen Pointer zeigt, der zu einem Burstsegment-Informationsblock
gehört,
dessen Startzeit geringer ist als die Fensterzeit, wird eine ESCAM
für dieses
Burstsegment erzeugt. Diese ESCAM wird somit sechs Rahmen, oder
120 ms, vor dem Zeitpunkt zum mobilen Endgerät gesendet, zu dem der Pointer
auf aktuelle Rahmen 510 letzten Endes diesen Rahmenkopfzeilenpointer
erreicht und dieses Burstsegment auf der virtuellen Pipeline übertragen
wird.
-
6 ist
ein Flussdiagramm, das den Betrieb des Datenbursttreibers für jede virtuelle
Pipeline, die von der Basisstation aufgebaut wird, beschreibt. Der
zu jeder virtuellen Pipeline gehörende Datenbursttreiber
ist zeitlich synchronisiert und wird bei jedem Rahmen (d.h. alle
20 ms) aktiv. Der Datenbursttreiber ist dafür verantwortlich, mit präzisen zeitlichen
Beschränkungen
nach den Informationen, die in der oben beschriebenen Burstsegment-Steuerungsstruktur
der virtuellen Pipelines vorhanden ist, zu handeln und die Burstsegment-Informationsblöcke zu entfernen,
wenn ein Burstsegment abgeschlossen ist. In Schritt 601 werden
in Reaktion auf ein Zeitsteuerungsereignis, das von der Zeitsteuerung
generiert wird, der Pointer auf aktuelle Rahmen und der Pointer
auf zukünftige
Rahmen zu ihren jeweiligen nächsten
nachfolgenden Rahmen in der Rahmenkopfzeilen-Pointerliste inkrementiert.
Bei der beschriebenen Ausführungsform
tritt solch ein Zeitsteuerungsereignis alle 20 ms ein. In Schritt 602 wird der
neue aktuelle Rahmenkopfzeilenpointer durchsucht. In Schritt 603 wird
bestimmt, ob dieser aktuelle Rahmenkopfzeilenpointer NULL ist. Ist
er NULL, so ist bei diesem aktuellen Rahmen keine Burstverarbeitung
notwendig (Schritt 604), und die Verarbeitung wird mit
dem Pointer auf zukünftige
Rahmen fortgesetzt, wie beschrieben werden wird. Ist der Pointer auf
aktuelle Rahmen nicht NULL, dann wird in Schritt 605 die
Liste von Burstsegment-Informationsblöcken, die zu diesem aktuellen
Rahmen gehört,
navigiert. In Schritt 606 wird ein Burstsegment auf der
virtuellen Pipeline versendet, wenn ein Burstsegment-Informationsblock,
der zu diesem Rahmen gehört,
eine Startzeit aufweist, die kleiner ist als die Fenstergröße (d.h.
eine Sekunde). In Schritt 607 wird der alte Burstsegment-Informationsblock,
der mit dem aktuellen Rahmen verbunden ist, gelöscht, und in Schritt 608 wird
die Fenstergröße von der
Startzeit jedes Geschwisterblocks des gerade verarbeiteten Burstsegmentblocks
subtrahiert. Ist das zu dem aktuellen Rahmen gehörende Burstsegment verarbeitet, wird
ein Burstsegment-Informationsblock verarbeitet, der zu einem Rahmen
gehört,
auf den der Pointer auf zukünftige
Rahmen zeigt. So wird in Schritt 609 der Pointer auf zukünftige Rahmenkopfzeilen
durchsucht. In Schritt 610 wird bestimmt, ob dieser Pointer auf
zukünftige
Rahmenkopfzeilen NULL ist. Ist er NULL, so ist die Bearbeitung für den Rahmen
abgeschlossen (Schritt 611). Ist er nicht NULL, wird in Schritt 612 die
Liste der Burstsegment-Informationsblöcke, die zu diesem Rahmenkopfzeilenpointer
gehört,
navigiert. In Schritt 613 wird eine ESCAM gesendet, wenn
die Startzeit eines dieser Burstsegment-Informationsblöcke kleiner
als die Fenstergröße ist.
An diesem Punkt, in Schritt 611, ist die Bearbeitung für diesen
Rahmen abgeschlossen.
-
In
einem voll belasteten System müssen
typischerweise mehr Bursts gleichzeitig bearbeitet werden, als virtuelle
Pipelines vorhanden sind. Diese Bursts werden so auf die mehreren
virtuellen Pipelines eingeteilt, dass das erste Burstsegment eines Bursts
auf der breitesten virtuellen Pipeline angeordnet wird. Demzufolge
werden in einem stark belasteten System jedem Burst auf faire Weise
einige Ressourcen auf der breitesten, schnellsten Pipeline zugewiesen. 7 zeigt
eine virtuelle 16X-Pipeline 701,
eine virtuelle 8X-Pipeline 702 und eine virtuelle 4X-Pipeline 703,
die zusammen fünf
gleichzeitige Bursts mit den Bezeichnungen A, B, C, D und E bearbeiten.
Jeder dieser Bursts ist in Burstsegmente unterteilt, von denen jedes
in der Figur mit einer Unterbezeichnung gekennzeichnet ist. Burst
A1 ist als in der virtuellen 16X-Pipeline 701 startend
dargestellt, gefolgt von den Burstsegmenten B1,
C1, D1 und E1. Nachdem diese Burstsegmente mit Hilfe
der Burstsegment-Steuer ungsstruktur dieser Pipeline auf die virtuelle
Pipeline 701 eingeteilt sind, werden andere Burstsegmente
mit Hilfe der jeweiligen Burstsegment-Steuerungsstrukturen jeder
Pipeline auf die virtuellen Pipelines 702 und 703 eingeteilt.
So ist, wie ersichtlich ist, das Burstsegment A2 für die Übertragung
auf der virtuellen 8X-Pipeline 702 zu einem Zeitpunkt eingeteilt,
nachdem das Burstsegment A1 die Übertragung
abgeschlossen hat, da das mobile Endgerät, an das der Burst A gerichtet
ist, nur zum Empfang eines Burstsegments auf einmal fähig ist. Bevor
Burst A1 auf der 16X-Pipeline 701 beendet
ist, verarbeitet die Burstsegment-Steuerungsstruktur für die 8X-Pipeline 702 einen
Burstsegment-Informationsblock, der das System auffordert, eine
ESCAM an das mobile Endgerät
zu senden, das derzeit das Burstsegment A1 empfängt. Diese
ESCAM teilt diesem mobilen Endgerät mit, dass das Burstsegment A2 zu einem späteren Zeitpunkt mit einer anderen Datenrate
und mit einer neuen Gruppe von Funkressourcen starten wird, als
sie für
den Empfang des Burstsegments A1 verwendet
wurden.
-
Durch
die Zuweisung von Ressourcen auf der breitesten, schnellsten Pipeline,
um mindestens das erste Burstsegment jedes Bursts unterzubringen, sind
die mehreren aktuell aktiven Bursts in der Lage, sich die breiteren,
schnelleren Ressourcen fair zu teilen. Wie aus 7 ersichtlich
ist, kursiert dann die Burstlieferung in den anderen langsameren,
verfügbaren
virtuellen Pipelines in einem Reigenverfahren, wobei die verschiedenen
Burstsegmente eines Bursts mit verschiedenen Datenraten übertragen werden,
wenn das System stark belastet ist, aber dennoch die Fähigkeit
besteht, die Burstsegmente mit höheren
Datenraten zu übertragen,
wenn das System gering belastet ist.
-
Vorteilhaft
besitzt das System genug Informationen, um Lücken in den Zeitfenstern zu
füllen oder
Burstsegmente für
einen gegebenen Burst zusammenzulegen. Beispielsweise ist ersichtlich,
dass Burst C, der nur aus den Segmenten C1 und
C2 besteht, mit dem Versenden von Burst
C2 auf der virtuellen 8X-Pipeline 702 zum
gleichen Zeitpunkt abgeschlossen ist, zu dem Burstsegment B3 auf der virtuellen 4X-Pipeline 703 versendet
wird. Mit Abschluss des Bursts C gibt es kein Burstsegment C3, das dem Burstsegment B3 im
nächsten
Zeitfenster auf der virtuellen Pipeline 703 folgen könnte, was
sonst zu einer Lücke
in diesem nächsten
Zeitfenster führen
würde.
Der Planer ist jedoch in der Lage, dies im Voraus zu berechnen und
auf der virtuellen 4X-Pipeline 703 ein Doppelsegment von
Burst B (d.h. Burstsegment B4 auf Burstsegment
B3 folgend) einzuteilen, um diese Pipeline
voll auszunutzen. Diese Einteilungsentscheidungen können im
Vorhinein getroffen werden, da der Planer durch das Navigieren der
Burstsegment-Steuerungsstrukturen Zugriff auf alle Burstsegmentinformationen
hat.
-
Mit
Bezug auf 8 sind Bursts im Reigenverfahren
auf der breitesten virtuellen Pipeline eingeteilt, was in der Figur
mit einem „Pizza"-Arbiter 801 dargestellt
ist. Der Pizzaarbiter 801 enthält vier aktive Bursts A, B,
C und D, die Burstsegment für
Burstsegment auf die virtuelle 16X-Pipeline 802 eingeteilt sind.
Zu Illustrationszwecken handelt sich bei dem aktiven Burstsegment
auf der virtuellen Pipeline 802 um Burst C1.
Es ist dargestellt, dass die Übertragung der
Burstsegmente A1 und B1 der Übertragung
von Burstsegment C1 vorausgegangen ist.
Auch sind die Burstsegmente D1, A4, B4, C4,
D4, A7 und B7 in zukünftige
Fenster eingeteilt. Dazwischen liegende Burstsegmente werden auf
anderen virtuellen Pipelines übertragen,
die nicht dargestellt sind. Während
das aktuelle Burstsegment C1 übertragen
wird, erhält
die Basisstation eine neue Burstanfrage für Burst E. Die Planungssoftware
teilt das erste Segment E1 dieses neuen
Bursts für
die breiteste Pipeline, die 16X-Pipeline, ein. Der Pizzaarbiter 801 wird
verwendet, um ein Zeitfenster zu wählen, in das das Burstsegment
E1 eingeteilt wird. Insbesondere wird ein „Stück" für Burst
E in den Arbiter eingefügt,
weit genug von dem aktuellen Burstsegment entfernt, ohne in die
nächste Runde
zu geraten. Da gegenwärtig
ein Segment von Burst C übertragen
wird und Burstsegmente von Bursts D, A und B als nachfolgend eingeteilt
sind, ist das entfernteste Fenster nach einem Burstsegment von Burst
B, direkt vor einem weiteren Burstsegment von Burst C. Der Arbiter 803 zeigt,
dass ein Burstsegment von Burst E an dieser Position eingefügt ist.
Der Planer durchsucht dann die Burstsegment-Steuerungsstruktur für diese
virtuelle 16X-Pipeline und bestimmt eine Startzeit für das Burstsegment
E1. Ihm wird das Fenster zugewiesen, das
vorher für
Burstsegment C4 reserviert war und erhält somit
seine Startzeit, wie auf der modifizierten virtuellen 16X-Pipeline 804 dargestellt.
Die Startzeiten aller Burstsegmente, deren Start nach dem Burstsegment C4 eingeteilt war, werden somit um eine Zeit
verschoben, die gleich der Dauer des eingeschobenen Burstsegmentes
E1 ist. Auch werden die Burstsegmente, die
bereits auf den anderen langsameren Pipelines mit einer Startzeit
nach der des Burstsegmentes E1 eingeteilt
waren, ebenfalls verschoben. Wenn beispielsweise Burstsegment C5 bereits auf einer langsameren Pipeline
zu einem Zeitpunkt eingeteilt war, der auf Burstsegment C4 folgt, muss seine Startzeit auf dieser
Pipeline so verschoben werden, dass sie wieder auf das Ende des
zeitverschobenen Burstsegmentes C4 auf der
virtuellen 16X-Pipeline 804 folgt. Dies ist notwendig,
da, wie oben erläutert, Burstsegmente
zu demselben mobilen Endgerät
auf keiner der Pipelines im Hinblick auf die Zeitfenster überlappen
können
und zeitlich getrennt werden müssen,
da das mobile Endgerät
nur von einer virtuellen Pipeline auf einmal empfangen kann.
-
Es
wird nur ein einziger Reigen-Pizzaarbiter benötigt, unabhängig von der Anzahl der virtuellen Pipelines.
Der Arbiter wird nur für
die breiteste, schnellste Pipeline benötigt, für die das erste Burstsegment
jedes neuen Bursts eingeteilt wird. Das nächste Burstsegment des neuen
Bursts wird dann auf der nächstschnelleren
Pipe line angeordnet und in ein Zeitfenster eingeteilt, das auf den
Abschluss des ersten schnellsten Zeitfensters folgt. Dies setzt
sich kaskadenartig auf die verfügbaren
Pipelines fort, bis das nächste
Burstsegment, falls nötig,
zurück
auf die schnellste Pipeline gesetzt wird.
-
9 ist
ein hochgradiges Flussdiagramm des Burstplaners, der Anfrage zu
Vorwärts-Bursts aus
dem Netzwerk weiterverarbeitet. In Schritt 901 empfängt die
Basisstation vom Netzwerk eine Anfrage zu einem Vorwärts-Burst. Der Burst
ist an ein bestimmtes mobiles Endgerät im Versorgungsbereich der
Basisstation gerichtet. In Schritt 902 wird die gegenwärtige Last
aktiver Bursts mit einem Grenzwert verglichen. Wenn in Schritt 903 die
gegenwärtige Last
aktiver Bursts größer ist
als ein Grenzwert, wird der Burst abgelehnt und eine Wartezeit an
das Netzwerk zurückgeschickt,
die angibt, wann die Burstanfrage neu versucht werden sollte. Ist
die Last aktiver Bursts geringer als ein Grenzwert, dann wird in Schritt 904 der
Leistungsbedarf auf der Grundlage der Leistungsinformation des BK
berechnet. In Schritt 905 können auf der Grundlage des
Leistungsbedarfs einem stark leistungsverbrauchenden Burst, der
an ein mobiles Endgerät
gesendet werden soll, das sich weit von der Basisstation entfernt
befindet, Auflagen für
die Pipelinenutzung erteilt werden, um einen solchen Burst auf die
langsameren virtuellen Pipelines zu beschränken. In Schritt 906 wird
der Burst in Segmente partitioniert. In Schritt 907 wird
die frühestmögliche Startzeit
für das
erste Burstsegment auf der breitesten, schnellsten virtuellen Pipeline
im System auf der Grundlage der Einteilung nach dem Reigenverfahren
berechnet. In Schritt 908 wird das erste Burstsegment durch
Zuweisung und Besetzung eines Burstsegment-Informationsblocks auf
der breitesten virtuellen Pipeline eingeteilt. Die verbleibenden
Burstsegmente werden dann je nach Bedarf auf allen virtuellen Pipelines
im Reigenverfahren eingeteilt. In Schritt 909 werden die
vorhandenen Burstsegment-Informationsblöcke nach Bedarf verschoben.
-
Wenn
also, wie oben beschrieben, ein Planer einige der Burstsegmente
verschieben muss, denen bereits eine Startzeit auf der breitesten
Pipeline gegeben wurde, so tut er das und modifiziert, wenn nötig, Burstsegment-Informationsblöcke, sofern
nicht bereits eine ESCAM für
ein solches Burstsegment versendet wurde. Die Verschiebung von Burstsegmenten
führt mit
hoher Wahrscheinlichkeit dazu, dass Burstsegment-Informationsblöcke zu neuen Rahmen
in der Steuerungsstruktur bewegt werden, da sich die Verschiebung
auf alle Burstsegmente auswirkt, die für die Zeit nach dem Einschiebungspunkt
des neuen Burstsegments eingeteilt sind. Dementsprechend navigiert
die Software die Steuerblöcke
und aktualisiert alle betroffenen Burstsegment-Informationsblöcke. Wie oben beschrieben, setzt
sich dies kaskadenartig in den anderen Steuerungsstrukturen derjenigen
virtuellen Pipelines fort, auf denen Burstsegmente für dieselben
betroffenen Bursts eingeteilt sind. An diesem Punkt, in Schritt 910,
wenn alle Verschiebungen durchgeführt wurden, hat der Burstplaner
die Burstsegment-Informationsblöcke
der vorhandenen Burstsegmente nach Bedarf aktualisiert und somit
die Verarbeitung für
die neue Burstanfrage abgeschlossen. Die Information in der Burstsegment-Steuerungsstruktur
für jede
virtuelle Pipeline ist somit aktuell und enthält die jüngste Burstanfrage zusammen
mit den aktualisierten Informationen für die vorher vorhandenen Burstsegmente.
Der Planer wartet dann auf die nächste
neue Burstanfrage.
-
Mit
Bezug auf das Blockdiagramm einer Basisstation 1001 in 10 ist
die Interaktion zwischen den verschiedenen, vorhergehend beschriebenen Software-
und Hardware-Komponenten
dargestellt. Als Reaktion auf Burstanfragen, die über einen
Steuerungskanal 1003 von der MVS (nicht dargestellt) empfangen
werden, unterteilt der Burstplaner 1002 jeden empfangenen
Burst in Burstsegmente, je nach der in der Burstanfrage angegebenen
Burstlänge. Der
Burstplaner 1002 teilt dann jedes Burstsegment auf eine
der virtuellen Pipelines ein, die vorher an der Basisstation bereitgestellt
wurden. Allein zu Illustrationszwecken sind eine virtuelle 16X-Pipeline, eine virtuelle
8X-Pipeline, eine virtuelle 4X-Pipeline und eine virtuelle 2X-Pipeline
als an der Basisstation 1001 bereitgestellt abgebildet,
was als die Ressourcen 1004, 1005, 1006 und 1007 auf
dem CDMA2000-ASIC 1008 der Basisstation dargestellt ist.
Für jedes
Burstsegment besetzt der Burstplaner 1002 einen Burstsegment-Informationsblock
innerhalb der bestimmten Burstsegment-Steuerungsstruktur 1009,
die zu der virtuellen Pipeline gehört, auf der dieses Burstsegment
eingeteilt ist. Bei diesem Beispiel gibt es daher vier Burstsegment-Steuerungsstrukturen 1009, von
denen jeweils eine zu jeder der breitgestellten virtuellen Pipelines
gehört
(nur zwei solcher Strukturen sind in der Figur dargestellt). Wie
vorhergehend beschrieben, wird jeder Burstsegment-Informationsblock
mit Informationen zu dem dazugehörigen Burstsegment
besetzt und je nach dem eingeteilten Übertragungszeitpunkt dieses
Burstsegments mit einem bestimmten Rahmen auf der Rahmenkopfzeilen-Pointerliste
innerhalb der Burstsegment-Steuerungsstruktur verbunden. Als Reaktion
auf Zeitsteuerungsereignisse, die von einer Uhr 1011 mit
der beispielhaften Rate von 20 ms erzeugt werden, liest der Burstdatentreiber 1010 die
Burstsegment-Informationsblöcke in jeder
Burstsegment-Steuerungsstruktur 1009. Wenn er auf einen
Informationsblock eines „lebendigen" Burstsegments trifft, überträgt er das
dazugehörige
Burstsegment, das über
den schnellen Datenkanal 1012 auf dem ASIC 1008 eingetroffen
ist. Dieses Burstsegment wird zu seinem eingeteilten Zeitpunkt zu
seinem avisierten mobilen Endgerät übertragen, über den
V-EK 1013 auf der bestimmten virtuellen Pipeline 1004-r,
auf die es eingeteilt wurde. Nachdem der Burstdatentreiber 1010 einen
Informationsblock eines lebendigen Burstsegments in einer Burstsegment-Steuerungsstruktur 1009 verarbeitet hat,
löscht
er diesen nun toten Block und passt die eingeteilten Burstsegment-Startzeiten
der Informationsblöcke
von Geschwister-Burstsegmenten an. Wie vorhergehend beschrieben,
ermöglicht
dies, einen Informationsblock eines Geschwister-Burstsegments in
einem nachfolgenden Durchlauf durch die Rahmenkopfzeilen-Pointerliste
der Burstsegment-Steuerungsstruktur zu verarbeiten. Außerdem sendet
der Burstdatentreiber 1010, wenn er auf ein Burstsegment
trifft, das für
die Übertragung
zu einem vorbestimmten Zeitpunkt in der Zukunft eingeteilt ist,
eine ESCAM zu dem mobilen Endgerät,
an das dieses zukünftige
Burstsegment gerichtet ist, um dieses mobile Endgerät auf den
Empfang dieses Burstsegments vorzubereiten.
-
Obschon
im Zusammenhang mit einem CDMA2000-System beschrieben, könnte die
vorliegende Erfindung in jeder anderen Art eines drahtlosen Codemultiplex-Mehrfachzugriff-Kommunikationssystems
verwendet werden, in dem Daten in Bursts zu den mobilen Endgeräten übertragen
werden.
-
Während die
konkrete Erfindung mit Bezug auf Ausführungsbeispiele beschrieben
wurde, soll diese Beschreibung nicht in einem einschränkenden Sinne
aufgefasst werden. Es versteht sich, dass, obschon die vorliegende
Erfindung beschrieben wurde, dem Durchschnittsfachmann nach Verweis
auf die vorliegende Beschreibung verschiedene Modifikationen der
Ausführungsbeispiele
sowie zusätzliche Ausführungsformen
der Erfindung, wie sie in den beigefügten Ansprüchen dargelegt ist, offensichtlich sein
werden.
-
Dementsprechend
können
das Verfahren, das System und Teile davon und Teile des beschriebenen
Verfahrens und Systems an verschiedenen Standorten wie etwa der
drahtlosen Einheit, der Basisstation, einem Basisstations-Controller und/oder einer
Mobilen Vermittlungsstelle realisiert sein. Außerdem können die Prozessorschaltkreise,
die zur Realisierung und Verwendung des be schriebenen Systems nötig ist,
mit dem Nutzen der vorliegenden Erfindung in anwendungsspezifischen
integrierten Schaltkreisen, Software-betriebenen Prozessorschaltkreisen,
Firmware, programmierbaren Geräten,
Hardware, diskreten Bauelementen oder Arrangements der oben genannten
Komponenten implementiert sein, wie der Durchschnittsfachmann verstehen
wird. Der Fachmann wird ohne weiteres erkennen, dass diese und verschiedene
andere Modifikationen, Arrangements und Verfahren an der vorliegenden
Erfindung vorgenommen werden können,
ohne den hier beschriebenen und dargestellten Anwendungsbeispielen
strikt zu folgen. Es wird daher vorgesehen, dass die beigefügten Ansprüche den
Geltungsbereich der Erfindung definieren.