-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Kommunikationssysteme.
Die vorliegende Erfindung betrifft insbesondere eine Bitraten-abgetastete
Datenübertragung
wie etwa eine Telefon-, Fax- oder Modemkommunikation unter Verwendung
eines Kabelmodem-/Kabelmodemabschluss-Systems.
-
HINTERGRUND
DER ERFINDUNG
-
Eine
wünschenswerte
Lösung
für Hochgeschwindigkeits-Datenkommunikationen
scheint das Kabelmodem zu sein. Kabelmodems sind in der Lage, Datenraten
von bis zu 56 Mbps zur Verfügung
zu stellen, und sind somit für
Hochgeschwindigkeits-Dateitransfers, einschließlich Anwendungen wie Bitraten-abgetastete Datenübertragungen
zu und von Telefonen, Faxmaschinen oder Modemvorrichtungen, geeignet.
-
In
Limb, J. O. et al.: "A
protocol for efficient transfer of data over hybrid fiber/coax systems", IEEE/ACM transactions
on networking, US, IEEE Inc. New York, Bd. 5, Nr. 6, Dezember 1997
(1997-12-01), S. 872–881, XP000734414
ISSN: 1063-6692, wird ein Verfahren zum Verarbeiten von abgetasteten
Paketen von einem Paketsender für
die Übertragung über ein
Hybrid-Faser/Koax-Übertragungssystem
beschrieben. In einem Betriebsmodus können die Priorität und ein
Stromverkehr, der periodisch eine Bandbreite erfordert, bewältigt werden,
indem Übertragungsschlitze
in der Übertragungsrahmenstruktur
des Übertragungssystems
reserviert werden, mit dem Ergebnis, dass Übertragungszuordnungen an dem
Paketsender eintreffen. Die Pakete werden anschließend, im
Ansprechen auf den Empfang der Zuordnung von Übertragungsrechten an dem Paketsender,
von dem Paketsender an den Paketempfänger übertragen.
-
Bei
der Übertragung
von paketorientierter Stimme unter Verwendung von Kabelmodems besteht
jedoch ein Bedarf, das Abtasten der Stimmpakete mit der Zuordnungsverarbeitung
des Kabelmodemsystems zu synchronisieren. Die vorliegende Erfindung
stellt eine Lösung
für einen
solchen Bedarf zur Verfügung.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Verarbeiten von abgetasteten Stimmpaketen
von einem Stimmpaketsender für
die Übertragung über ein
Bitraten-abgetastetes Datenübertragungssystem,
wie etwa durch ein Kabelmodem über
ein Kabelmodem-Abschlusssystem an einen Stimmpaketempfänger, zur
Verfügung
gestellt. Das Eintreffen von Unsolicited Grants wird im Ansprechen
auf eine Anfrage von dem mit dem Kabelmodem gekoppelten Stimmpaketsender
bestimmt. Das Speichern von abgetasteten Stimmpaketen wird mit dem
Eintreffen von Unsolicited Grants synchronisiert. Bei Empfang eines
Unsolicited Grant werden gegenwärtig
gespeicherte, abgetastete Stimmpakete für die weitere Übertragung
an den Stimmpaketempfänger über das
Kabelmodem-Abschlusssystem an das Kabelmodem übertragen. Die Synchronisierung
umfasst das Bestimmen der benötigten
Zeit zwischen dem Eintreffen von Unsolicited Grants zum Speichern
der abgetasteten Stimmpakete und zum Verarbeiten von gespeicherten
abgetasteten Stimmpaketen, das Abtasten von Stimmpaketen mittels
Takten des Stimmpaketabtastens unter Verwendung eines Taktes, der von
einem Kabelmodemtakt abgeleitet ist, und das zeitliche Planen der
Verarbeitung der gespeicherten Probenstimmpakete, so dass sie beim
Eintreffen einer nächsten
Unsolicited Grant für
die Übertragung
bereit sind. Die Bestimmung der benötigten Zeit beinhaltet das
Zählen
der Zeit zwischen dem Eintreffen von Unsolicited Grants, und beim
Erreichen eines Zählwertes,
der den Zeitabstand zwischen dem Eintreffen von Unsolicited Grants
angibt, das Vorsehen des Übertragens
der gegenwärtig
gespeicherten, abgetasteten Stimmpakete beim nächsten Eintreffen einer Unsolicited
Grant.
-
Ferner
kann der Stimmpaketempfänger
ein Gateway eines öffentlichen
Fernsprechwählnetzes
(Public Switched Telephone Network, PSTN) sein, wobei ein Takt eines
Kabelmodem-Abschlusssystems mit einem Takt des PSTN synchronisiert
ist. Außerdem
kann das Verarbeiten der abgetasteten Stimmpakete für den Zweck
der Stimmkomprimierung erfolgen.
-
Zusätzlich kann
der Stimmpaketsender eine Mehrzahl von Stimmpaketsendern aufweisen,
wobei jeder Stimmpaketsender eine Kanalidentifizierung aufweist.
Eine Multiplex-Übertragung
wird basierend auf der Kanalidentifizierung zur Verfügung gestellt,
so dass bei Empfang eines eintreffenden Unsolicited Grant in Verbindung
mit der Kanalidentifizierung gegenwärtig gespeicherte, abgetastete
Stimmpakete des durch die Kanalidentifizierung identifizierten Stimmpaketsenders
an das Kabelmodem übertragen
werden für
die weitere Übertragung über das
Kabelmodem-Ab schlusssystem an denjenigen Stimmpaketempfänger des
Stimmpaketsenders, der die Kanalidentifizierung aufweist.
-
BESCHREIBUNG
DER ZEICHNUNG
-
Ein
vollständigeres
Verständnis
dieser und weiterer Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
ergibt sich in Verbindung mit der nachfolgenden detaillierten Beschreibung,
den angehängten
Patentansprüchen
und der beigefügten
Zeichnung:
-
1 zeigt
in Form eines vereinfachten Blockdiagramms eine Umgebung, in der
die vorliegende Erfindung arbeitet.
-
2 zeigt
in Form eines vereinfachten Blockdiagramms die Verbindung zwischen
einem beispielhaften Haushalt, der die vorliegende Erfindung gemäß einen
Kabelmodem- und Kabelmodem-Abschlusssystem verwendet.
-
3 zeigt
in Form einer Grafik die Zuweisung von Zeitschlitzen durch das Kabelmodem-Abschlusssystem.
-
4 und 5 zeigen
in Form eines Ablaufdiagramms den Aufbau eines Rahmens.
-
6 und 7 zeigen
in Form eines vereinfachten Blockdiagramms einen Abschnitt des Kabelmodem-Abschlusssystems,
der Anfragen von den Kabelmodems empfängt und im Ansprechen auf die
Anfragen MAPS erzeugt.
-
8 und 9 zeigen
in Form eines Ablaufdiagramms, wie ein Kabelmodem und ein Kabelmodem-Abschlusssystem
bei Paketen zusammenarbeiten, die von dem Kabelmodem an das Kabelmodem-Abschlusssystem übertragen
werden.
-
10 und 11 zeigen
in Form eines Blockdiagramms Aspekte des Taktsynchronisierungssystems
zwischen dem Kabelmodem und dem Kabelmodem-Abschlusssystem.
-
12 zeigt
in Form eines Blockdiagramms eine beispielhafte Taktrückgewinnungsschaltung
eines Kabelmodems in mehr Detail.
-
13 zeigt
in Form einer Tabelle ein Beispiel für grobe und feine Koeffizienten,
die für
mehrere verschiedene Aktualisierungsraten und Bandbreiten geeignet
sind.
-
14 zeigt
in Form einer Grafik einen Taktschlitzversatz zwischen dem Kabelmodemtakt
und dem Kabelmodem-Abschlusssystemtakt.
-
15 zeigt
in Form eines vereinfachten Blockdiagramms Burst-Übertragung
und -Empfang durch das Kabelmodem und das Kabelmodem-Abschlusssystem.
-
16 zeigt
das Kabelmodem-Abschlusssystem in weiterem Detail.
-
17, 18 und 19 zeigen
in Form einer Grafik Beziehungen zwischen Zuordnungen ("Grants") und Abtastproben.
-
20 zeigt
in Form eines vereinfachten Blockdiagramms eine repräsentative
Ausführungsform
der vorliegenden Erfindung.
-
21 zeigt
in Form eines vereinfachten Blockdiagramms den Betrieb einer Kopfstellen-Taktsynchronisierungsschaltung
gemäß der vorliegenden
Erfindung.
-
22 zeigt
in Form eines vereinfachten Blockdiagramms den Betrieb einer Kabelmodem-Taktsynchronisierung
gemäß der vorliegenden
Erfindung.
-
23a, 23b und 23c zeigen in Form einer Grafik die Beziehung
zwischen Signalen, die gemäß der vorliegenden
Erfindung verwendet werden.
-
24a, 24b und 24c zeigen in Form einer Grafik für die Beziehung
zwischen weiteren Signalen, die gemäß der vorliegenden Erfindung
verwendet werden.
-
25, 26 und 27 zeigen
in Form eines vereinfachten Blockdiagramms und einer Grafik die Zuordnungszeit-Berechnungsschaltung
gemäß der vorliegenden
Erfindung.
-
28 zeigt
in Form eines vereinfachten Blockdiagramms die Beziehung zwischen
Zuordnungszeitschaltung, Digitalsignalprozessor und Puffern gemäß der vorliegenden
Erfindung.
-
29a und 29b zeigt
in Form eines Ablaufdiagramms eine betriebsfähige DSP-Systemsoftware-Entscheidungsimplementierung
gemäß der vorliegenden
Erfindung.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Es
wird zuerst eine Beschreibung von Aspekten des Kabelmodems und des
Kabelmodem-Abschlusssystems gemäß der vorliegenden
Erfindung gegeben. Daraufhin erfolgt eine Beschreibung von Aspekten
der Stimmabtastung und Paketsynchronisierung gemäß der vorliegenden Erfindung.
-
Kabelmodems und das Kabelmodem-Abschlusssystem
-
In
einem Kabelmodemsystem befindet sich eine Kopfstelle bzw. ein Kabelmodem-Abschlusssystem (CMTS)
am Ort einer Kabelfirma und arbeitet als ein Modem, das eine große Anzahl
von Teilnehmern bedient. Jeder Teilnehmer besitzt ein Kabelmodem
(CM). Somit erleichtert das CMTS die bidirektionale Kommunikation mit
jedem gewünschten
der Mehrzahl von CMs.
-
Das
CMTS kommuniziert mit der Mehrzahl von CMs über ein Hybrid-Faser/Koax(HFC)
Netz, wobei ein Lichtwellenleiter die Kommunikation mit einer Mehrzahl
von Faserknoten zur Verfügung
stellt, und jeder Faserknoten typischerweise ca. 500 bis 2000 Teilnehmer
bedient, die mit dem Knoten per Koaxialkabel kommunizieren. Das
Hybrid-Faser/Koax-Netz eines CM-Systems wendet eine Punkt-zu-Mehrpunkt-Topologie
an, um die Kommunikation zwischen dem CMTS und der Mehrzahl von
CMs zu erleichtern. Frequenzbereich-Vielfachzugriff (FDMA)/Zeitmultiplex
(TDM) wird verwendet, um die Kommunikation von dem CMTS zu jedem
der CMs, d.h. in der Downstream-Richtung, zu erleichtern. FDMA/Zeitbereich-Vielfachzugriff
(TDMA) wird verwendet, um die Kommunikation von jedem CM zu dem
CMTS, d.h. in der Upstream-Richtung, zu erleichtern.
-
Das
CMTS weist einen Downstream-Modulator zum Erleichtern der Übertragung
von Datenkommunikationen von sich zu den CMs und einen Upstream-Demodulator
zum Erleichtern des Empfangs von Datenkommunikationen von den CMs
an. Der Downstream-Modulator des CMTS verwendet entweder 64 QAM
oder 256 QAM in einem Frequenzband von 54 MHz bis 860 MHz, um eine
Datenrate von bis zu 56 Mbps zur Verfügung zu stellen.
-
Auf ähnliche
Weise weist jedes CM einen Upstream-Modulator zum Erleichtern der Übertragung
von Daten an das CMTS und einen Downstream-Demodulator zum Empfangen
von Daten von dem CMTS auf. Der Upstream-Modulator von jedem CM
verwendet entweder QPSK oder 16 QAM innerhalb der 5 MHz bis 42 MHz-Bandbreite
des Upstream-Demodulators, und der Downstream-Demodulator von jedem
CM verwendet entweder 64 QAM oder 256 QAM in der 54 MHz bis 860
MHz-Bandbreite des
Downstream-Modulators (in Nordamerika).
-
Unter
Bezugnahme auf 1 erleichtert ein Hybrid-Faser-Koax
(HFC)-Netz 1010 die Übertragung
von Daten zwischen einer Kopfstelle 1012, die mindestens
ein CMTS aufweist, und einer Mehrzahl von Haushalten 1014 mit
jeweils einem CM. Solche HFC-Netze werden für gewöhnlich von Kabel-Providern
verwendet, um Teilnehmern einen Internetnetzugang, Kabelfernsehen,
Pay-per-View und dergleichen zur Verfügung zu stellen.
-
Annähernd 500 Haushalte 1014 stehen,
typischerweise über
Koaxialkabel, in elektrischer Kommunikation mit jedem Knoten 1016, 1034 des
HFC-Netzes 1010. Verstärker 1015 erleichtern
die elektrische Verbindung der weiter entfernten Haushalte 1014 mit
den Knoten 1016, 1034, indem sie die elektrischen
Signale so verstärken,
dass auf wünschenswerte
Weise der Rauschabstand solcher Kommunikationen verbessert wird, und
daraufhin die elektrischen Signale über Koaxialleiter 1030, 1031 übertragen.
Die Koaxialleiter 1029 verbinden die Haushalte 1014 elektrisch
mit den Koaxialleitern 1030, 1031, die sich zwischen
den Verstärkern 1015 und
den Knoten 1016, 1034 erstrecken.
-
Jeder
Knoten 1016, 1034 ist elektrisch mit einer Hub 1022, 1024 verbunden,
typischerweise über
einen Lichtwellenleiter 1028, 1032. Die Hubs 1022, 1024 stehen
mit der Kopfstelle 1012 über Lichtwellenleiter 1020, 1026 in
Kommunikation. Jede Hub ist typischerweise in der Lage, die Kommunikation
mit ca. 20.000 Haushalten 1014 zu erleichtern.
-
Der
Lichtwellenleiter 1020, 1026, der sich zwischen
der Kopfstelle 1012 und jeder Hub 1022, 1024 erstreckt,
definiert einen Faserring, der typischerweise in der Lage ist, die
Kommunikation zwischen ca. 100.000 Haushalten 1014 und
der Kopfstelle 1012 zu erleichtern.
-
Die
Kopfstelle 1012 kann Videoserver, Satellitenempfänger, Videomodulatoren,
Telefon-Switches und/oder Internet-Router 1018 sowie das
CMTS aufweisen. Die Kopfstelle 1012 kommuniziert über die Übertragungsleitung 1013,
die eine T1- oder T2-Leitung sein kann, mit dem Internet, anderen
Kopfstellen, und/oder jeglicher/n gewünschten Vorrichtungen oder
jeglichem gewünschten
Netz.
-
Unter
Bezugnahme auf 2 zeigt ein vereinfachtes Blockdiagramm
die Verbindung zwischen der Kopfstelle 1012 und einem beispielhaften
Haushalt 1014, wobei ein CM 1046 über das
HFC-Netz 1010 mit einem CMTS 1042 kommuniziert.
Der in dem Haushalt 1014 angeordnete Personalcomputer 1048 ist über ein Kabel 1011 mit
dem CM 1046 verbunden. Insbesondere in Bezug auf die vorliegende
Erfindung sind Bitraten-abgetastete Datenübertragungsvorrichtungen 1047a und 1047b,
wie etwa Telefone, Faxmaschinen oder Modemeinheiten, mit einem Abtast-
und Paketsynchronisierungs-Untersystem (weiter unten ausführlicher
beschrieben) verbunden, das wiederum über eine Schnittstelle mit
dem CM 1046 verbunden ist. Das CM 1046 kommuniziert über ein
Koaxialkabel 1017 mit dem HFC-Netz 1044, das wiederum über Lichtwellenleiter 1020 mit
dem CMTS 1042 der Kopfstelle 1012 kommuniziert.
-
Ein
Internet-Router 1040 erleichtert die Kommunikation zwischen
der Kopfstelle 1012 und dem Internet oder jeglicher anderen
gewünschten
Vorrichtung oder einem jeglichen anderen gewünschten Netz, und insbesondere
im Hinblick auf die vorliegende Erfindung mit jeglichem Endbenutzersystem,
an das ein Anruf von einem Haushalt 1014 getätigt wird,
wie etwa an einen Anrufempfänger 2002,
der durch das PSTN-Gateway 2004 mit dem Fernsprechwählnetz (PSTN)
verbunden ist.
-
Um
TDMA für
die Upstream-Kommunikation herzustellen, ist es notwendig, Zeitschlitze
zuzuordnen, in denen CMs übertragen
dürfen,
die eine Nachricht zum Senden an das CMTS haben. Die Zuweisung solcher Zeitschlitze
wird hergestellt durch Vorsehen eines Anfragenkonkurrenzbereichs
("request contention
area") in dem Upstream-Datenpfad,
in dem die CMs konkurrieren dürfen,
um eine Nachricht zu platzieren, die zusätzliche Zeit in dem Upstream-Datenpfad
für die Übertragung
ihrer Nachricht anfordert. Das CMTS antwortet auf diese Anfragen,
indem es den CMs, die eine solche Anfrage machen, Zeitschlitze zuordnet,
so dass möglichst viele
der CMs ihre Nachrichten unter Verwendung von TDMA an das CMTS übertragen
können,
und die Übertragungen
ohne unerwünschte
Kollisionen ausgeführt
werden. Mit anderen Worten, das CM fordert einen Bandbreitenbetrag
auf dem Kabelsystem zum Übertragen
von Daten an. Umgekehrt empfängt
das CM eine "Zuordnung" ("grant") eines Bandbreitenbetrags
zum Übertragen
von Daten im Ansprechen auf die Anfrage. Diese Zeitschlitzzuweisung
durch das CMTS ist als eine Zuordnung bekannt, weil das CMTS eine
bestimmte CM-Erlaubnis zum Verwenden einer spezifischen Zeitdauer
im Upstream zuordnet.
-
Wegen
der Verwendung von TDMA verwendet das CMTS an Stelle eines kontinuierlichen
Empfängers einen
Burst-Empfänger,
um Datenpakete von CMs über
Upstream-Kommunikationen zu empfangen. Wie für den Fachmann verständlich sein
dürfte,
kann ein kontinuierlicher Empfänger
nur verwendet werden, wenn im Allgemeinen kontinuierliche Kommunikationen
(im Gegensatz zu einer Burst-Kommunikation wie bei der vorliegenden
Erfindung) durchgeführt
werden, um im Wesentlichen die Taktsynchronisierung zwischen dem
Sender und dem Empfänger
zu bewahren, was für
einen ordnungsgemäßen Empfang
der mitgeteilten Informationen erforderlich ist. Während kontinuierlicher
Kommunikationen ist die Taktrückgewinnung
ein unkomplizierterer Vorgang, da eine Signalerfassung im Allgemeinen
nur bei der Initiierung solcher Kommunikationen stattfindet. Somit
wird eine Erfassung in kontinuierlichen Empfängern im Allgemeinen nur einmal
pro kontinuierliche Übertragung
durchgeführt,
und jede kontinuierliche Übertragung
kann sehr lange sein.
-
Die
für TDMA-Systeme
typischen Burst-Kommunikationen erfordern jedoch eine periodische
und häufige
Neuerfassung des Signals. D.h., während TDMA-Kommunikationen
muss das Signal für
jede separate empfangene Burst-Übertragung
neu erfasst werden.
-
Die
Zuweisung solcher Zeitschlitze wird vorgenommen, indem ein Anfragenkonkurrenzbereich
in dem Upstream-Datenpfad zur Verfügung gestellt wird, in dem
es den CMs erlaubt ist, miteinander zu konkurrieren, um eine Nachricht
zu platzieren, die Zeit in dem Upstream-Datenpfad für die Übertragung
ihrer Nachricht anfordert. Das CMTS antwortet auf diese Anfragen
durch das Zuweisen von Zeitschlitzen zu den CMs, die eine solche
Anfrage machen, so dass möglichst
viele der CMs ihre Nachrichten unter Verwendung von TDMA an das
CMTS übertragen
können,
und dass die Übertragungen
ohne unerwünschte
Kollisionen durchgeführt
werden.
-
Kurz
gesagt wird eine Upstream-Datenübertragung
auf einem Upstream-Kanal durch eine Anfrage eingeleitet, die von
einem CM für
eine Bandbreitenmenge gemacht wird, d.h. eine Mehrzahl von Zeitschlitzen, um
eine Nachricht beinhaltende Daten zu übertragen. Die Größe der Anfrage
umfasst die Nutzlast, d.h. die zu übertragenden Daten, und den
Overhead, wie etwa Präambel
bzw. Dateianfangs-Etikett, FEC-Bits, Schutzband, usw. Nach dem Empfang
der Anfrage an der Kopfstelle ordnet die CMTS dem anfragenden CM
eine Bandbreite zu und überträgt die Größe der Zuordnung
und die spezifischen Zeitschlitze, denen die Daten zugeordnet sind,
für die
Einfügung
in das anfragende CM.
-
Es
ist wichtig zu verstehen, dass in einem CM-System eine Mehrzahl
von solchen CMs vorhanden ist, und dass jedes der CMs periodisch
eine Anfrage für
eine Zeitschlitzzuweisung an das CMTS übertragen kann. Somit empfängt das
CMTS häufig
solche Anfragen und weist Zeitschlitze im Ansprechen auf solche
Anfragen zu. Informationen, die für die zugewiesen Zeitschlitze
repräsentativ
sind, werden kompiliert, um eine MAP zu definieren, und die MAP
wird daraufhin an alle CMs auf einem bestimmten Kanal ausgesendet,
um alle CMs, die ein oder mehr Datenpakete an das CMTS zu übertragen
haben, mit Informationen zu versorgen, wann genau jedes der CMs
autorisiert ist, seine Datenpakete zu übertragen.
-
Unter
Bezugnahme auf 3 ist die Zuweisung von Zeitschlitzen
durch das CMTS und die Erzeugung einer MAP, welche die Zeitschlitzzuweisungen
definiert, ausführlicher
beschrieben. Es sind die Inhalte einer MAP-Protokolldateneinheit
(PDU) 113 gezeigt. Die MAP PDU 113, die auf dem
Downstream-Kanal durch das CMTS 1042 an alle CMs 1046 auf
einem gegebenen Frequenzkanal übertragen
wird, enthält
die Zeitschlitzzuweisungen für
zumindest einige der CMs 1046, die vorausgehend eine Anfrage
zum Übertragen
eines oder mehrerer Datenpakete an das CMTS 1042 gesendet
haben. Wenn die Kanalbandbreite angesichts der Anzahl von solchen
durch das CMTS 1042 empfangenen Anfragen ausreicht, dann
weist das CMTS 1042 für
jedes solche anfragende CM 1046 einen Zeitschlitz zu.
-
Ferner
definiert die MAP PDU 113 zumindest gelegentlich mindestens
einen Anfragenkonkurrenzbereich 112 und enthält im Allgemeinen
auch eine Mehrzahl von CM-Übertragungsgelegenheiten 114 innerhalb des
Upstream-Kanals 117. Es kann auch ein Bewahrungsrahmen
("maintenance frame") 116 von
der MAP PDU 113 inner halb des Upstream-Kanals 117 definiert
werden, wie nachstehend ausführlich
erörtert
wird.
-
Der
Anfragenkonkurrenzbereich 112 umfasst mindestens einen
Zeitbereich, in dem die CMs 1046 ihre Anfragen zum Übertragen
von Datenpaketen an das CMTS 1042 übertragen. Jede der CM-Übertragungsgelegenheiten 114 definiert
einen Zeitschlitz, in dem es einem bestimmten CM 1046 erlaubt
ist, das Datenpaket zu übertragen,
für das
die Anfrage vorausgehend an das CMTS 1042 gesendet wurde.
-
Zusätzlich können ein
oder mehr optionale Übertragungskonkurrenzbereiche
(nicht gezeigt) vorgesehen sein, wobei die CMs 1046 um
die Gelegenheit konkurrieren können,
Daten darin zu übertragen.
Solche Übertragungskonkurrenzbereiche
werden zur Verfügung
gestellt, wenn eine ausreichende Bandbreite übrig geblieben ist, nachdem
die MAP PDU 113 allen CMs 1046, die um eine Zeitschlitzzuweisung
angefragt haben, Übertragungsgelegenheiten 114 zugewiesen
hat. Somit werden Übertragungskonkurrenzbereiche
im Allgemeinen zur Verfügung
gestellt, wenn der Upstream-Datenfluss
vergleichsweise gering ist.
-
Der
Upstream-Kanal 119 ist in eine Mehrzahl von Zeitintervallen 110 aufgeteilt,
von denen jedes optional ferner in eine Mehrzahl von Unterintervallen 115 unterteilt
sein kann. Der Upstream-Kanal 119 ist dadurch so aufgeteilt,
dass die Definition von Zeitschlitzen erleichtert wird, so dass
jedes einer Mehrzahl von CMs 1046 Datenpakete an das CMTS 1042 übertragen
kann, ohne dass diese sich gegenseitig stören, z.B. ohne das Auftreten
von Datenkollisionen aufgrund der gleichzeitigen Übertragung
von Datenpaketen.
-
Somit
erleichtert die Verwendung einer MAP 113 die Definition
von Schlitzen 92. Jeder Schlitz 92 kann für jeden
gewünschten
vorgegebenen Zweck verwendet werden, z.B. als ein Anfragenkonkurrenzbereich 112 oder
eine Übertragungsgelegenheit 114.
Jeder Schlitz 92 gemäß der Definition
durch eine MAP PDU 113 umfasst eine Mehrzahl von Zeitintervallen 110 und
kann zusätzlich
zu dem Intervall (bzw. den Intervallen) 110 ein oder mehr
Unterintervalle 115 aufweisen. Die Anzahl von Intervallen 110 und
Unterintervallen 115, die in einem Schlitz 92 enthalten
sind, hängt
von den Inhalten der MAP PDU 113 ab, welche den Schlitz 92 definiert.
Die Dauer eines jeden Intervalls 110 und Unterintervalls 115 kann
nach Wunsch definiert werden. Optional ist jedes Unterintervall 115 annähernd gleich
einem Medien zugriffssteuerungs (MAC)-Taktintervall. Jede MAP PDU 113 definiert
einen Rahmen, und jeder Rahmen definiert eine Mehrzahl von Schlitzen 92.
-
Der
Beginn jedes Unterintervalls 115 ist zeitlich mit dem Beginn
jedes Intervalls 110 abgeglichen, und jedes Intervall 110 enthält typischerweise
eine ganzzahlige Anzahl von Unterintervallen 115.
-
Typischerweise
enthält
der Anfragenkonkurrenzbereich 112 und jede CM-Übertragungsgelegenheit 114 eine
Mehrzahl von ganzzahligen Zeitintervallen 110. Der Anfragenkonkurrenzbereich 112 und/oder
die CM-Übertragungsgelegenheit 114 können jedoch
alternativ jegliche gewünschte
Kombination von Intervallen 110 und Unterintervallen 115 aufweisen.
Somit kann jeder Anfragenkonkurrenzbereich 112 durch eine
Mehrzahl der CMs 1046 verwendet werden, um nach einer oder
mehr Zeitschlitzzuweisungen anzufragen, welche die Übertragung
von einem oder mehr Datenpaketen während einer Übertragungsgelegenheit 114,
die den CMs 1046 darauf folgend zugewiesen wurde, erleichtern.
-
Jedes
Datenpaket kann nur Daten enthalten, obgleich ein erweitertes Datenpaket
so definiert sein kann, dass es sowohl Daten als auch eine Präambel enthält. Die
Präambel
wird typischerweise durch das CMTS 1042 aus einem erweiterten
Paket entfernt, und die Daten in dem Paket werden dann durch eine
Zentralprozessoreinheit des CMTS 1042 verarbeitet.
-
Die
Dauer des Anfragenkonkurrenzbereiches 112 ist typischerweise
variabel, so dass seine Größe so bemessen
sein kann, um die Anzahl von CMs 1046 aufzunehmen, von
denen erwartet wird, dass sie um Zeitschlitzzuweisungen von dem
CMTS 1042 anfragen. Die Dauer des Anfragenkonkurrenzbereiches 112 kann somit
auf der Grundlage früherer
Erfahrungen durch die Anzahl von Anfragen bestimmt werden, die von
CMs übertragen
werden.
-
Die
durch CM-Übertragungsgelegenheiten 114 definierten
Zeitschlitzzuweisungen 92 können optional zumindest teilweise
auf der Grundlage von Prioritäten
definiert werden, die von dem CMTS 1042 für verschiedene
CMs 1046 erstellt werden. Beispielsweise können Prioritäten für individuelle
CMs 1046 auf der Grundlage einer von den Teilnehmern gemachten
Auswahl erstellt werden, die typischerweise von dem Typ der gewünschten
Dienstleistung abhängt.
Somit kann ein Teilnehmer wäh len,
ob er entweder eine vorrangige (hochprioritäre) Dienstleistung oder eine
reguläre
(niederprioritäre)
Dienstleistung wünscht.
-
Als
Alternative können
Prioritäten
für die
CMs durch das CMTS 1042 auf der Grundlage der Größe und Anzahl
von CM-Übertragungsgelegenheiten 114 erstellt
werden, um die historisch gesehen von den Teilnehmern angefragt
wird. Somit kann ein CM, das typischerweise eine große Anzahl
von Zeitintervallen 110 benötigt, als hochprioritärer Anwender
definiert werden und daher Priorität bei der Zuweisung von Zeitschlitzen
innerhalb einer CM-Übertragungsgelegenheit 114 erhalten,
d.h. auf der Grundlage der Annahme, dass ein solche umfangreiche
Verwendung ein Anzeichen für
den fortgesetzten Bedarf nach einer solchen Priorität darstellt,
z.B. ein Anzeichen dafür
ist, dass der Teilnehmer Kabelfernsehen, Pay-per-View oder dergleichen
verwendet.
-
Als
Alternative kann das CMTS solche Prioritäten auf der Grundlage des Dienstleistungstyps
zuweisen, der für
jedes CM zur Verfügung
gestellt wird. Wenn also beispielsweise Kabelfernsehen oder Pay-per-View
an ein CM geliefert wird, kann die Priorität dieses CM erhöht werden,
um eine ununterbrochene Betrachtung zu gewährleisten.
-
Die
jedem CM 1046 zugeordnete Priorität kann die Größe der ihm
zugewiesenen Zeitschlitze bestimmen wie auch die Reihenfolge, in
der solche Zuweisungen vorgenommen werden. Es ist wahrscheinlicher, dass
die früher
im Zuweisungsprozess vorgenommenen Zuweisungen vollständig erfüllt werden
als die später im
Zuweisungsprozess vorgenommenen Zuweisungen. Tatsächlich kann
es vorkommen, dass später
im Zuweisungsprozess vorgenommene Zuweisungen nicht erfüllt werden,
wenn die Bandbreite des Kanals nicht ausreicht, um die Zuweisung
von Zeitschlitzen für
alle anfragenden CMs 1046 zu erleichtern.
-
Zeitschlitze,
die den Bewahrungsbereich ("maintenance
region") 116 definieren,
werden optional in einer MAP 113 zur Verfügung gestellt.
Solche Bewahrungsbereiche 116 können beispielsweise verwendet
werden, um die Synchronisierung der Takte der CMs mit dem Takt des
CMTS zu erleichtern. Eine solche Synchronisierung ist nötig, um
sicher zu stellen, dass jedes CM 1046 nur innerhalb seiner
zugewiesenen Zeitschlitze überträgt, die
durch die Übertragungsgelegenheit 114 jedes
CM definiert sind.
-
Der
Anfragenkonkurrenzbereich 112, die CM-Übertragungsgelegenheit 114 und
der Bewahrungsbereich 116 beginnen typischerweise beim
Beginn eines Intervalls 110 und enden am Ende eines Intervalls 110. Jeder
Anfragenkonkurrenzbereich 112, jede CM-Übertragungsgelegenheit 114 und
jeder Bewahrungsbereich 116 können jedoch beliebig überall beginnen
und enden. Hierdurch werden Anfragenkonkurrenzbereiche 112, CM-Übertragungsgelegenheiten 114 und
Bewahrungsbereiche 116 mit einer variablen Dauer zur Verfügung gestellt.
Solche Anfragenkonkurrenzbereiche 112, Übertragungsgelegenheiten 114 und
Bewahrungsbereiche 116 mit einer variablen Dauer erleichtern
einen flexiblen Betrieb des CM-Systems und verbessern den Wirkungsgrad
von Datenkommunikationen auf dem CM-System, indem sie dazu tendieren,
die Vergeudung von Kanalkapazität
abzumildern.
-
Die
gegenwärtige
MAP 170 wird im Downstream-Kanal 111 nach der Übertragung
einer vorherigen MAP 90 und vor allen anderen nachfolgenden
MAPs 91 übertragen.
Daten, wie etwa Datenpakete in Verbindung mit Webseiten, e-Mail,
Kabelfernsehen, Pay-per-View-Fernsehen, Digitaltelefonie usw. werden
zwischen benachbarten MAPs 90, 170, 91 übertragen.
-
Die
Inhalte jeder CM-Übertragungsgelegenheit 114 enthalten
optional Daten und eine Präambel.
Die Daten enthalten mindestens einen Abschnitt des Datenpaketes,
für das
eine Sendeanfrage an das CMTS 1042 gesendet wurde. Die
Präambel
enthält
typischerweise Informationen, die für die Identifizierung des CM 1046, von
dem die Daten übertragen
wurden, repräsentativ
sind, sowie jegliche andere gewünschte
Informationen.
-
Die
Daten und die Präambel
müssen
nicht das gesamte Zeitintervall der Kabelübertragungsgelegenheit 114 einnehmen.
Schutzbänder
sind optional am Anfang und Ende von jedem Schlitz vorgesehen, um
die Präzision
zu verringern, mit der eine Taktsynchronisierung zwischen dem CMTS
und jedem CM durchgeführt werden
muss. Somit wird durch das Vorsehen solcher Schutzbänder etwas
Freiraum bei der Übertragungszeit zur
Verfügung
gestellt, während
der jedes CM sein Datenpaket in den Upstream-Kanal 119 einfügt.
-
Unter
Bezugnahme auf 4 und 5 ist der
Aufbau eines Rahmens gezeigt. Wie in Block 143 gezeigt
ist, werden Anfragen durch die CMs 1046 in einem Anfragenkon kurrenzbereich 112 einer
ersten MAP für die
Zuordnung oder Zuweisung durch das CMTS 1042 an die Teilnehmer
von Informationselementen (IE) gemacht. Ein Informationselement
kann als gleichbedeutend mit einem Bereich betrachtet werden. Eine
Bewahrungsgelegenheit wird optional zur Verfügung gestellt, wie in Block 144 gezeigt
ist. Solche Bewahrungsgelegenheiten können beispielsweise verwendet
werden, um den Betrieb des CM 1046 mit dem Betrieb des
CMTS 1042 zu synchronisieren. Wie vorstehend angegeben
wurde, kann diese Bewahrungsgelegenheit auch nur periodisch zur
Verfügung
gestellt werden.
-
Daraufhin
wird eine Bestimmung an Block 146 durchgeführt, ob
die hochprioritäre
Anfragewarteschlange leer ist. Falls die Antwort in Bezug auf die
hochprioritäre
Anfragewarteschlange "Nein" ist, wird dann eine
Bestimmung an Block 148 durchgeführt, ob die Rahmenlänge weniger
als eine gewünschte
Länge beträgt. Falls
die Antwort "Ja" ist, wird die Anfrage
des Teilnehmers, Daten zu übertragen,
gewährt
bzw. zugeordnet, und die Rahmenlänge
wird um die Größe der an
Block 150 angefragten Daten inkrementiert.
-
Falls
die hochprioritäre
Anfragewarteschlange leer ist, wird eine Bestimmung an Block 152 durchgeführt, ob
die niederprioritäre
Anfragewarteschlange leer ist. Falls die Antwort "Nein" ist, wird eine Bestimmung an
Block 154 durchgeführt,
ob die Rahmenlänge
weniger als die gewünschte
Länge betragen
wird. Falls die Antwort in Bezug auf die niederprioritäre Anfragewarteschlange "Ja" ist, wird die Anfrage
des CM 1046, Daten an das CMTS 1042 zu übertragen,
zugeordnet, und die Rahmenlänge
wird um die Größe der Zuordnung
inkrementiert. Dies ist an Block 156 angegeben.
-
Es
kann manchmal vorkommen, dass die Rahmenlänge mindestens gleich der gewünschten
Länge ist,
wenn die Anfrage in Bezug auf die hochprioritäre Anfragewarteschlange in
den Block 148 eingeführt
wird. Unter solchen Umständen
wird die Anfrage nicht zugeordnet, und daraufhin wird eine Bestimmung
durchgeführt,
ob die niederprioritäre
Anfragewarteschlange leer ist. Auf ähnliche Weise, falls die Rahmenlänge größer als
die gewünschte
Rahmenlänge
ist, wenn eine Anfrage in Bezug auf die niederprioritäre Anfragewarteschlange
gemacht wird, wird die Anfrage nicht zugeordnet. Somit wird eine
Angabe auf einer Leitung 157 zur Verfügung gestellt, wenn die hochprioritäre Anfragewarteschlange
und die niederprioritäre
Anfragewar teschlange beide leer sind, oder wenn die Rahmenlänge mindestens
so groß wie
die gewünschte
Länge ist.
-
Wenn
die hochprioritäre
Anfragewarteschlange und die niederprioritäre Anfragewarteschlange beide leer
sind, oder wenn die Rahmenlänge
mindestens so groß wie
die gewünschte
Länge unter
Annahme der Zuordnung einer Anfrage sein wird, wird eine Bestimmung
wie an Block 158 (7) durchgeführt, ob
die Anfragewarteschlangen leer sind. Dies stellt eine zusätzliche Überprüfung dar,
um sicher zu gehen, dass die Warteschlangen leer sind. Falls die
Antwort auf eine solche Bestimmung "Nein" ist,
zeigt dies an, dass die Rahmenlänge
größer als
die gewünschte
Rahmenlänge
unter Annahme der Zuordnung einer Anfrage sein wird. Unter solchen
Umständen
wird eine Zuordnung einer Länge
Null in der MAP 170 für
jede Anfrage in jeder Warteschlange zur Verfügung gestellt. Diese Zuordnung
einer Länge
Null wird vorgesehen, damit die Kopfstelle die Teilnehmer informieren
kann, dass die Anfrage nicht zugeordnet wurde, aber von der Kopfstelle
empfangen wurde. Tatsächlich
stellt eine Zuordnung einer Länge
Null einen Aufschub dar. Die Anfrage wurde gesehen, d.h. kollidierte
nicht, wurde aber noch nicht zugeordnet. Sie wird in einer späteren MAP 91 zugeordnet
werden.
-
Falls
eine Bestimmung wie an Block 158 getroffen wird, dass die
Anfragewarteschlangen leer sind, wird daraufhin eine Bestimmung
an Block 162 durchgeführt,
ob die Rahmenlänge
weniger als die gewünschte Rahmenlänge betragen
wird. Falls die Antwort "Ja" ist, wird der Rahmen
mit Daten von einem Konkurrenzdatenbereich 168 in dem Rahmen
auf die gewünschte
Länge aufgefüllt, wie
an Block 164 angegeben ist. Der Konkurrenzdatenbereich 168 stellt
einen Bereich mit verringerter Priorität in dem Rahmen dar. Er ermöglicht die Übertragung
von Daten von den CMs 1046 an das CMTS 1042 über verfügbare Schlitze
in dem Rahmen, falls den CMs nicht vorausgehend Schlitze durch das
CMTS 1042 zugeordnet worden sind. Der Konkurrenzdatenbereich
erfordert keine Zuordnung einer Anfrage von einem CM 1046 durch
das CMTS 1042 wie bei dem Anfragekonkurrenzdatenbereich 112 in 3.
Da keine Zuordnung von dem CMTS 1042 erforderlich ist,
stellt der Konkurrenzdatenbereich 168 in 7 (im
Nachfolgenden ausführlicher
beschrieben) einen schnelleren Zugriff auf Daten für die Teilnehmer
zur Verfügung
als der Anfragenkonkurrenzbereich 112.
-
Verfügbare Schlitze
in einem Rahmen sind solche, die nicht auf der Grundlage von Anfragen
von den CMs 1046 zugeordnet worden sind. Wie an Block 166 in 5 angezeigt
ist, bestätigt
das CMTS 1042 dem CM 1046, dass das CMTS 1042 Daten
von dem Konkurrenzdatenbereich in dem Rahmen empfangen hat. Das CMTS 1042 stellt
diese Bestätigung
zur Verfügung,
weil das CM 1046 sonst nicht wissen würde, dass solche Daten nicht
von einer Datenkollision betroffen waren und tatsächlich von
dem Konkurrenzdatenbereich 168 empfangen wurden.
-
Unter
Bezugnahme auf 6 und 7 ist ein
Blockdiagramm desjenigen Abschnitts des CMTS 1042 gezeigt,
der Anfragen von den CMs 1046 empfängt und im Ansprechen auf diese
Anfragen MAPs erzeugt. Der Konkurrenzdatenbereich 168 in 7 ist
in einem Rahmen 118 enthalten, der durch eine MAP 111 definiert
ist (3). Der Rahmen 118 in 7 kann
eine Anzahl von anderen Bereichen aufweisen. Ein Bereich ist unter 172 gezeigt
und ist in 3 als Anfragenkonkurrenzbereich 112 ausgewiesen.
Er weist Schlitze auf, die als X 181 bezeichnet sind. In
diesen Schlitzen X 181 sind Kollisionen zwischen Anfragedaten
von verschiedenen CMs 1046 aufgetreten. Andere Schlitze
in dem Anfragenkonkurrenzbereich 172 sind als R 183 bezeichnet.
Gültige,
nicht kollidierte Anfragedaten sind in diesen Schlitzen vorhanden.
Der Anfragenkonkurrenzbereich 172 weist zur Veranschaulichung
auch einen leeren Schlitz 175 auf. Keiner der Teilnehmer 14 hat
in diesem leeren Schlitz 175 eine Anfrage gestellt.
-
Ein
CM-Übertragungsgelegenheitsbereich 176 (der
dem CM-Übertragungsgelegenheitsbereich 114 in 3 entspricht)
kann auch in dem Rahmen 118 benachbart zu dem Anfragenkonkurrenzbereich 172 vorgesehen
werden. Wie vorausgehend erwähnt
wurde, werden individuellen CMs 1046 in diesem Bereich
Schlitze für
Daten zugeordnet gemäß ihren
Anfragen und gemäß den Prioritäten, die
von dem CMTS 1042 diesen Anfragen verliehen wurden. Optional
kann der CM-Übertragungsgelegenheitsbereich 176 als
zwei Unterbereiche aufweisend betrachtet werden. In einem Unterbereich 178 sind
Schlitze für
individuelle Teilnehmer auf der Grundlage von Anfragen mit einer
hohen Priorität
ausgewiesen. Schlitze werden in einem Bereich 180 für individuelle
Teilnehmer auf der Grundlage von Anfragen mit einer niedrigen Priorität ausgewiesen.
-
Der
Rahmen 118 kann optional auch einen Bewahrungsbereich 182 aufweisen.
Dieser entspricht dem Bewahrungsbereich 116 in 3.
Wie weiter oben beschrieben wurde, stellt der Bereich 182 eine
Zeitkoordination bei den Taktsignalen des CMTS 1042 und
der CMs 1046 zur Verfügung.
Der Rahmen 118 kann optional zusätzlich einen Bereich 184 in
dem Konkurrenzdatenbereich 168 aufweisen, in dem eine Kollision
aufgetreten ist. Gültige
Daten werden in einem Bereich 186 in dem Rahmen zur Verfügung gestellt,
in dem keine Kollision aufgetreten ist. Ein nicht ausgefüllter oder
leerer Bereich 188 kann am Ende des Konkurrenzdatenbereiches 186 vorliegen,
wo in Abhängigkeit
von potentiellen Kollisionen weitere Daten eingefügt werden
könnten.
Es dürfte
verständlich
sein, dass die verschiedenen Gebiete in dem Rahmen 118 und
die Sequenz dieser verschiedenen Gebiete nur zur Veranschaulichung
dienen, und dass verschiedene Gebiete und verschiedene Sequenzen
von Gebieten alternativ vorgesehen werden können.
-
Die
Signale der Rahmen 118 von verschiedenen CMs 1046a, 1046b, 1046c, 1046d,
usw. (7) werden bei der Upstream-Datenverarbeitung durch
eine gemeinsame Leitung 191 (6 und 7)
an einen TDMA-Demultiplexer 192 (6) in dem
CMTS 1042 eingeführt.
Nach dem Demultiplexieren gehen die Daten von den CMs 1046a, 1046b, 1046c, 1046d usw.
von dem Demultiplexer 192 weiter an eine Datenschnittstelle 194.
Die Signale an der Datenschnittstelle 194 werden in einem
Ethernetsystem (nicht gezeigt) oder dergleichen verarbeitet. Der
Betrieb des MAP-Generators 198 wird durch Datenanfragen
von den individuellen CMs 1046a, 1046b, 1046c, 1046d usw.
gesteuert, sowie durch Kollisionsinformationen, die anzeigen, dass
die CMs 1046a, 1046b, 1046c, 1046d usw.
versuchen, Daten in den Konkurrenzdatenbereich 168 einzufügen. Somit kann
beispielsweise eine große
Anzahl von Kollisionen den Bedarf nach einem größeren Anfragenkonkurrenzbereich 172 in
der nächsten
MAP anzeigen. Versuche, Daten in den Konkurrenzdatenbereich 168 einzufügen, können optional
von dem MAP-Generator 198 verwendet werden, um die Priorität eines
jeglichen CM zu erhöhen,
der erfolglos versucht, solche Daten zu übertragen. Die von dem MAP-Generator 198 erzeugten
MAPs durchlaufen den Multiplexer 196 und werden von dem
CMTS 1042 an die CMs 1046a, 1046b, 1046c, 1046d ausgesendet.
-
Eine
von dem MAP-Generator 198 erzeugte Probe-MAP ist allgemein
unter 202 in 6 angegeben. Die MAP 202 weist
einen Bereich 204 auf, in dem die Anfragen der CMs 1046 nach
Informationselementen (IE) angegeben sind, in denen Daten übertragen
werden sollen. Wie vorausgehend erwähnt wurde, kann ein Informationselement
(IE) als gleichbedeutend mit einem Gebiet betrachtet werden. Die
MAP 202 weist ferner einen Bereich 206 auf, in
dem das CMTS 1042 die Anfragen der Teilnehmer für Informationselemente
zum Übertragen
von Daten zugeordnet hat. Die MAP 202 weist zusätzlich einen
Konkurrenzdatenbereich 208 auf, in dem das CMTS 1042 den
CMs 1046 die Gelegenheit gegeben hat, Daten in verfügbaren Räumen oder Schlitzen
zu übertragen,
ohne die Freiräume
oder Schlitze auszuweisen, in denen eine solche Übertragung stattfinden soll.
Ein Bestätigungsbereich
("acknowledgement
region") 210 ist
ebenfalls in der MAP 202 enthalten. In diesem Bereich bestätigt das
CMTS 1042 dem CM 1046, dass es Daten von den Teilnehmern
in den verfügbaren
Schlitzen in dem Konkurrenzdatenbereich 208 empfangen hat.
Wie weiter oben erörtert
wurde, muss das CMTS 1042 eine solche Bestätigung liefern,
da die CMs 1046 ansonsten nicht wissen, dass das CMTS 1042 die
Daten von den CMs 1046 in dem Konkurrenzdatenbereich 208 empfangen
hat.
-
Die 8 und 9 definieren
ein Ablaufdiagramm, das allgemein unter 600 gezeigt ist,
in Blockform und zeigen, wie das CM 1046 und das CMTS 1042 für Pakete,
die von dem CM 1046 an das CMTS 1042 übertragen
werden, zusammenarbeiten. Der Betrieb der Blöcke in dem Ablaufdiagramm 600 wird
an einem Startblock 602 eingeleitet. Wie an Block 604 in 8 angegeben
ist, wartet das CM 1046 dann auf ein Paket von einer externen
Quelle. Beispielsweise kann die externe Quelle ein Personalcomputer
(PC) 1048 oder eine Bitraten-abgetastete Datenübertragungsvorrichtung 1047a, 1047b (2)
im Haushalt 1014 eines Teilnehmers sein. Wie in Block 606 gezeigt
ist, liefert das CM 1046 daraufhin an das CMTS 1042 eine
Bandbreitenanfrage für
genügend
Zeitschlitze, um das Paket zu übertragen.
Bei Empfang der Anfrage sendet das CMTS eine Zuordnung oder eine
Teilzuordnung an das CM in der MAP. Das CM 1046 überprüft dann
an Block 610, um zu bestimmen, ob das CMTS 1042 die
Anfrage oder irgendeinen Abschnitt der Anfrage von dem CM 1046 zugeordnet
hat. In Block 610 ist SID eine Abkürzung für Service Identification, z.B.
eine SID, die einer Bitraten-abgetasteten Datenübertragungsvorrichtung 1047a zugeordnet
ist. Falls die Antwort "Ja" ist (s. Leitung 611 in 8 und 9),
bestimmt dann das CM 1046, ob das CMTS 1042 die
gesamte Anfrage von dem CM 1046 für die Bandbreite zugeordnet
hat. Dies entspricht der Übertragung
des gesamten Datenpaketes von dem CM 1046 an das CMTS 1042.
Dies ist an Block 612 in 9 angegeben.
-
Falls
die Antwort "Ja" ist, wie an Block 614 in 9 angezeigt
ist, bestimmt das CM 1046, ob ein anderes Paket in einer
Warteschlange vorliegt, die vorgesehen ist, um andere Pakete zu
speichern, die auf die Übertragung
an das CMTS 1042 von dem CM 1046 warten. Diese
Bestimmung wird an Block 616 in 8 durchgeführt. Falls
keine anderen Pakete warten, wie in einer Leitung 617 in 8 und 9 angegeben
ist, sendet das CM 1046 das Paket ohne eine Huckepack-Anfrage
an das CMTS 1042 (s. Block 618 in 8)
und wartet auf die Ankunft des nächsten
Paketes von der externen Quelle, wie unter 604 angezeigt
ist. Falls zusätzliche
Pakete warten, wie durch eine Leitung 619 in 8 und 9 angegeben
ist, sendet das CM 1046 an das CMTS 1042 das von
der externen Quelle empfangene Paket und sendet huckepack auf diesem übertragenen
Paket eine Anfrage für
das nächste
Paket in der Warteschlange. Dies ist unter 620 in 10 angezeigt.
Das CM wendet sich dann bei 608 wieder der Verarbeitung
von MAPs zu und sucht nach zusätzlichen Zuordnungen.
Das CMTS 1042 verarbeitet daraufhin die nächste Anfrage
von dem CM.
-
Das
CMTS 1042 ordnet möglicherweise
nicht die gesamte Anfrage für
Bandbreite von dem CM 1046 in der ersten MAP 111 zu.
Das CMTS 1042 liefert dann diese Teilzuordnung an das CM 1046.
Falls das CMTS im Mehrfachzuordnungs-Modus arbeitet, platziert es
eine bevorstehende Zuordnung ("grant
pending") oder eine
andere Zuordnung in der MAP zusätzlich
zu der Teilzuordnung, die es an das CM sendet. Das CM verarbeitet
die MAPs gemäß der Darstellung
in 608 und sieht die Zuordnung in 611. Die Zuordnung
ist kleiner als die Anfrage, wie bei 622, so dass das CM
den Betrag des Pakets berechnet, der in die Zuordnung passt, wie bei 624.
Bei einem Mehrfachzuordnungs-Modus CMTS sieht das CM die Teilzuordnung
mit einer zusätzlichen Zuordnung
oder bevorstehenden Zuordnung in darauf folgenden MAPs wie bei 610 und 611.
Das CM sendet dann das Fragment ohne jegliche Huckepack-Anfrage
wie bei 628 und 630 an das CMTS 1042.
Das CM kehrt zurück
zur Verarbeitung von MAP Informationselements in 608, bis
es zu der nächsten
Zuordnung kommt. Das CM wiederholt dann den Vorgang des Überprüfens, um
zu sehen, ob die Zuordnung groß genug
ist, wie bei 612. Falls die nächste Zuordnung nicht groß genug
ist, wiederholt das CM den Vorgang des Fragmentierens der restlichen
Paketdaten und, wie bei 626, des Überprüfens, um zu sehen, ob es nötig ist,
eine Huckepack-Anfrage auf der Grundlage von zusätzlichen Zuordnungen oder bevorstehenden
Zuordnungen in der MAP zu senden. Falls die Zuordnung groß genug
ist, um den Rest des Pakets zu übertragen,
wie bei 614, überprüft das CM,
um zu sehen, ob sich ein anderes Paket für diese gleiche SID in einer
Warteschlange befindet. Falls ja, sendet das CM den restlichen Abschnitt
des Paketes mit dem Fragmentation-Header, der eine Huckepack-Anfrage
für den
Betrag von Zeitschlitzen enthält,
der benötigt
wird, um das nächste
Paket in der Warteschlange wie in Leitung 620 zu übertragen.
-
Das
CM wendet sich dann wieder der Bearbeitung der MAP-Informationselements
zu. Falls sich kein anderes Paket für diese SID in einer Warteschlange
befindet, sendet das CM den restlichen Abschnitt des Paketes mit
Fragmentation-Header, der keine Huckepack-Anfrage enthält, wie
in 618 gezeigt ist. Das CM kehrt dann zu 604 zurück, um auf
das Eintreffen eines anderen Paketes für eine Übertragung zu warten. Wenn
das CMTS 1042 die Anfrage von dem CM 1046 in der
ersten MAP 11 teilweise zuordnet, aber in der ersten MAP keine
zusätzliche
Zuordnung oder bevorstehende Zuordnung an das CM 1046 liefert,
erfasst das CM keine zusätzlichen
Zuordnungen oder bevorstehenden Zuordnungen, wie bei 632.
Das CM 1046 sendet dann an das CMTS 1042 ein Fragment
des Datenpaketes und eine Huckepack-Anfrage für den Rest, wie bei 634.
Wenn das CM das Fragment mit der Huckepack-Anfrage übertragen
hat, wie auf Leitung 638 gezeigt ist, wendet sich das CM
wieder dem Verarbeiten von MAP-Informationselementen zu, wie bei 608,
während
es auf zusätzliche Zuordnungen
wartet. Wenn das CMTS das Fragment mit der Huckepack-Anfrage empfängt, muss
das CMTS entscheiden, ob es die neue Anfrage zuordnen oder eine
Teilzuordnung auf der Grundlage der neuen Anfrage senden soll. Diese
Entscheidung basiert auf den Zeitplanungs-Algorithmen, die auf dem
CMTS ausgeführt werden.
-
Zu
jeglichem Zeitpunkt während
des Anfrage-/Zuordnungsvorgangs könnte aus einer Vielzahl von Gründen das
CMTS eine Anfrage nicht empfangen, oder das CM eine Zuordnung nicht
empfangen. Als einen Failsafe-Mechanismus platziert das CMTS eine
Bestätigungszeit
bzw. ACK-Zeit in die MAPs, die es überträgt. Diese ACK-Zeit gibt die
Zeit der letzten Anfrage wieder, die es für die gegenwärtige MAP
verarbeitet hat. Das CM verwendet diese ACK-Zeit, um zu bestimmen,
ob seine Anfrage verloren gegangen ist. Man sagt, die ACK-Zeit sei
abgelaufen ("expired"), wenn das CM auf
eine Zuordnung wartet und eine MAP mit einer ACK-Zeit empfängt, die
zeitlich nach der Übertragung
der Anfrage durch das CM liegt. Während das CM bei 610 nach
Zuordnungen Ausschau hält,
falls die ACK-Zeit has nicht abgelaufen ist wie bei 644,
wendet sich das CM wieder der Verarbeitung der MAPs zu wie bei 608.
Falls die ACK-Zeit abläuft
wie bei 646, überprüft das CM
bei 648, wie oft es das Senden der Anfrage erneut versucht
hat. Falls die Anzahl von erneuten Versuchen über einem Schwellwert liegt,
sind die erneuten Versuche erschöpft,
wie bei 654, und das CM verwirft bei 656 jeglichen
nicht-übertragenen
Abschnitt des Paketes und wartet auf die Ankunft des nächsten Paketes.
Falls die ACK-Zeit abgelaufen ist und die Anzahl von Neuversuchen
nicht erschöpft
ist, wie bei 650, verwendet das CM einen Anfragenkonkurrenzbereich,
um eine andere Anfrage für
den Betrag von Zeitschlitzen zu übertragen,
der erforderlich ist, um den nicht-übertragenen Abschnitt des Paketes
zu übertragen,
wie bei 652. Das CM wendet sich dann wieder dem Verarbeiten
der MAPS zu.
-
Unter
Bezugnahme auf 10 weist das CMTS 1042 eine
Quarzoszillator-Taktreferenz 16 auf, die einen Ausgang
an eine Kopfstellen-Taktsynchronisierungsschaltung 18 liefert.
Mit dieser Taktreferenz 16 muss jedes der CMs 1046 synchronisiert
werden. Die Kopfstellen-Taktsynchronisierungsschaltung empfängt auch einen
Eingang von der Netztaktreferenz 2003, was nachstehend
ausführlicher
erörtert
wird. Die Kopfstellen-Taktsynchronisierungsschaltung 18 wird
durch den Ausgang der Quarzoszillator-Taktreferenz 16 inkrementiert
und behält
einen Zählwert
bei, der für
die Anzahl von Zyklen repräsentativ
ist, die von dem Quarzoszillator-Taktreferenz 16 geliefert
wurden, seit die Kopfstellen-Taktsynchronisierungsschaltung 18 zuletzt
zurückgesetzt
wurde. Die Kopfstellen-Taktsynchronisierungsschaltung 18 weist
einen Freilaufzähler
auf, der genügend
Zählkapazität besitzt,
um bis zum Zurücksetzen
mehrere Minuten lang zu zählen.
-
Ein
Zeitbasisnachrichtgenerator 20 empfängt den Zählwert der Kopfstellen-Taktsynchronisierungsschaltung 18,
um eine Absolutzeitreferenz 21 zur Verfügung zu stellen, die in den
Downstream-Informationsfluss 22 eingefügt wird, der von der Downstream-Datenwarteschlange 24 zur
Verfügung
gestellt wird, wie nachstehend ausführlich erörtert wird. Der Zeitbasisnachrichtgenerator 20 bevorzugt
eine Modulfunktion (d.h. ein Sägezahnmuster
als Funktion der Zeit), und der Zählertakt wird von dem Oszillator
mit sehr enger Genauigkeit erzeugt.
-
Der
Taktversatzgenerator 26 empfängt eine Entfernungssignalnachricht 27 von
jedem individuellen CM 1046, mit dem das CMTS in Kommunikation
steht. Der Schlitztaktversatzgenerator 26 stellt einen
Schlitztaktversatz 28 zur Verfügung, der für einen Schlitztaktversatz
zwischen dem CMTS 1042 und dem CM 1046 repräsentativ
ist, und fügt
den Schlitztaktversatz 28 in den Downstream-Informationsfluss 22 ein.
Der Schlitztaktversatz 28 wird berechnet durch Bestimmen
der Position des Schlitztaktversatzes von der erwarteten Zeit 27 innerhalb
eines dedizierten Taktschlitzes der Upstream-Kommunikationen, wie
nachstehend ausführlich
erörtert
wird. Der Zeitversatzgenerator 26 codiert den von dem Upstream-Empfänger erfassten
Taktversatz (Entfernungsfehler) in einer Schlitztaktversatznachricht.
Schlitztaktversatznachrich ten werden nur gesendet, nachdem die Frequenz
des Lokalreferenztaktes vom CM erfasst wurde.
-
Der
Downstream-Modulator 30 moduliert in erster Linie den Downstream-Informationsfluss 22.
Absolutzeitreferenzen 21 werden in quasi-periodischen Intervallen
eingefügt,
die durch einen Zeitmarkensendezähler
bestimmt werden. Eine Schlitztaktversatznachricht 28 wird
nach dem Messen des Schlitztaktfehlers beim Eintreffen einer Entfernungssignalnachricht 27 eingefügt.
-
Die
Zeitleitung 32 des CMTS 1042 zeigt, dass der Schlitztaktversatz 28 die
Differenz zwischen der erwarteten Empfangszeit und der tatsächlichen
Empfangszeit der Schlitztaktversatznachricht 27 ist.
-
Jedes
CM 1046 weist einen Downstream-Empfänger 34 zum Erleichtern
der Demodulierung der Daten und der Zeitmarkennachricht und der
Taktrückgewinnung
von Downstream-Kommunikationen von dem CMTS 1042 auf. Der
Ausgang des Downstream-Empfängers 34 wird
an den Zeitbasisnachrichtdetektor 36 und den Schlitztaktversatzdetektor 38 geliefert.
Die von dem Downstream-Empfänger 34 empfangenen Downstream-Informationen
(jegliche Datenkommunikation wie etwa ein Dateitransfer oder ein
MPEG-Videosignal) sind je nach Wunsch auch für eine weitere Verarbeitung
verfügbar.
-
Der
Zeitbasis-Nachrichtdetektor 36 erfasst die von dem Zeitbasisnachrichtgenerator 20 des
CMTS 1042 erzeugte Zeitbasisnachricht. Auf ähnliche
Weise erfasst der Schlitztaktversatzdetektor 38 den von
dem Schlitztaktversatzgenerator 26 des CMTS 1042 erzeugten
Schlitztaktversatz 28. Der Zeitbasisnachrichtdetektor 36 stellt
eine Absolutzeitreferenz 40 zur Verfügung, die für die Frequenz der Quarzoszillator-Taktreferenz 16 des
CMTS 1042 repräsentativ
ist. Die Absolutzeitreferenz 40 wird an eine digitale Nachlaufschleife 42 geliefert,
die einen im Wesentlichen stabilen Taktausgang für das CM 1046 zur
Verfügung
stellt, der frequenzmäßig der
Frequenz der Quarzoszillator-Taktreferenz 16 des CMTS 1042 eng
entspricht. Somit verwendet die digitale Nachlaufschleife 42 die
Absolutzeitreferenz 40, die für die Frequenz der Quarzoszillator-Taktreferenz 16 repräsentativ
ist, um ein Oszillatoransteuersignal zu bilden, das einen numerisch
gesteuerten Oszillator 44 auf eine Weise ansteuert, die
eng mit der Frequenz der Quarzoszillator-Taktreferenz 16 des
CMTS 1042 übereinstimmt,
wie nachstehend ausführlich
erörtert
wird.
-
Eine
Differenz zwischen der Absolutzeitreferenz 40 und dem Ausgang
einer Lokalzeitreferenz 46, die von dem numerisch gesteuerten
Oszillator 44 abgeleitet ist, wird durch die Differenzierschaltung 48 gebildet. Diese
Differenz definiert einen Frequenzfehlerwert, der die Differenz
zwischen dem Takt des CM 1046 (der von der Lokalzeitreferenz 46 zur
Verfügung
gestellt wird) und dem Takt des CMTS 1042 (der von der
Quarzoszillator-Taktreferenz 16 zur Verfügung gestellt
wird) darstellt.
-
Dieser
Frequenzfehlerwert wird von dem Schleifen-Durchschnittbildungsfilter 50 gefiltert,
das verhindert, dass unerwünschte
Abweichungen in dem Frequenzfehlerwert den numerisch gesteuerten
Oszillator 44 auf eine Weise beeinträchtigen, welche seine Stabilität verringern
würde oder
den numerisch gesteuerten Oszillator 44 veranlassen würde, mit
einer anderen als der gewünschten
Frequenz zu arbeiten. Das Schleifenfilter 50 ist so konfiguriert,
dass es die schnelle Erfassung des Frequenzfehlerwertes erleichtert,
auch wenn der Frequenzfehlerwert groß ist, und daraufhin vergleichsweise
hohe Frequenzfehlerwerte abweist, während die digitale Nachlaufschleife 42 konvergiert,
d.h. sobald der Ausgang der Lokaltaktreferenz 46 annähernd gleich
dem Absolutzeitreferenz 40 wird, wodurch veranlasst wird,
dass sich der Frequenzfehlerwert an Null annähert.
-
Ein
anfänglicher
Schlitztaktversatz 52 wird von dem Summenbildner 54 zu
dem Ausgang des Lokalzeitreferenz 46 hinzuaddiert, um einen
teilweise Schlitztaktversatz-korrigierten Ausgang 56 zur
Verfügung
zu stellen. Der teilweise Schlitztaktversatz-korrigierte Ausgang 56 des
Summenbildner 54 wird dann zu dem Schlitztaktversatz 58 hinzuaddiert,
der von dem Schlitztaktversatzdetektor 38 zur Verfügung gestellt
wird, um den Schlitztaktversatz und die Frequenz-korrigierte Zeitreferenz 60 zur
Verfügung
zu stellen. Der Taktversatzkorrekturblock ist ein einfacher Addierer,
der zwei Nachrichtenwerte addiert. Ein solcher vereinfachter Betrieb wird
nur dann erleichtert, wenn die Auflösung der Taktversatznachricht
gleich oder feiner als diejenige der Zeitmarkennachricht ist.
-
Der
anfängliche
Schlitztaktversatz 52 ist nur eine Annäherung des erwarteten Schlitztaktversatzes,
der wahrscheinlich aufgrund der Laufzeit- und Verarbeitungsverzögerungen
auftritt, deren Annäherungswerte
vorgegeben sind. Nach einer Frequenzkonversion unter Verwendung
der Phasenregelschleife und des Zeitbasisnachrichtfehlers stellt
der Schlitztaktversatz 58 eine endgültige Korrektur zur Verfügung, die
durch das CMTS 1042 berechnet wird im Ansprechen auf den
Empfang durch die CMTS 1042 von Kommunikationen von dem CM 1046,
die nicht ordnungsgemäß in ihren
gewünschten
Taktschlitzen zentriert sind, wie nachstehend ausführlich erörtert wird.
-
Der
Skalierer 62 skaliert die Frequenz-korrigierte Zeitreferenz 60,
um so den Upstream-Sender 69 mit dem gewünschten
Schlitztakt anzusteuern.
-
Die
Zeitreferenz 64 wird mit der angegebenen Übertragungszeit 66 verglichen,
die dem CM 1046 per Downstream-Kommunikation von dem CMTS 1042 zugewiesen
wurde. Wenn der Zeitreferenz 64 gleich (an Punkt 67)
der angegebenen Übertragungszeit
ist, wird ein Burst-Initiierungsbefehl 68 ausgegeben, und
die Upstream-Datenwarteschlange 70 wird
moduliert, um die Upstream-Übertragung 72 zu
bilden.
-
Die
Taktversatz (Fehler)-Nachricht wird von dem CMTS erzeugt. Der Taktversatz
(Fehler) ist einfach die Differenz zwischen der erwarteten Zeit
und der tatsächlichen
Ankunftszeit der Entfernungsnachricht am CMTS-Burst-Empfänger.
-
Immer
noch unter Bezugnahme auf 10 kommuniziert
das CMTS 1042 tatsächlich
bidirektional mit einer Mehrzahl von CMs 12, auch wenn
in 10 aus Gründen
der Übersichtlichkeit
nur ein solches CM 1046 gezeigt ist. Eine solche Kommunikation
gemäß der vorliegenden
Erörterung
kann zwischen dem CM-System und der Mehrzahl von CMs durch gleichzeitiges
Kommunizieren mit den CMs auf einer Mehrzahl von separaten Frequenzkanälen tatsächlich stattfinden.
Die vorliegende Erfindung ist auf die Kommunikation einer Mehrzahl
von verschiedenen CMs auf einem einzigen Frequenzkanal serielle
oder in Zeitmultiplex gerichtet, wobei die Mehrzahl von CMs sequentiell
mit den CMTS kommuniziert. Es dürfte
jedoch verständlich
sein, dass, auch wenn diese Mehrzahl von CMs auf einem Kanal mit
dem CMTS kommuniziert (unter Verwendung von Zeitvielfachzugriff
bzw. TDMA), viele andere CMs gleichzeitig mit dem gleichen CMTS
auf einer Mehrzahl von verschiedenen Kanälen kommunizieren können (unter
Verwendung von Frequenzmultiplex/Zeitvielfachzugriff bzw. FDM/TDMA).
-
Unter
Bezugnahme auf 11 sind das CMTS 1042 und
das CM 1046 noch ausführlicher
beschrieben. Der Multiplexer 29 des CMTS 1042 kombiniert
den Downstream-Informationsfluss 22 mit dem Schlitztaktversatz 28 von
dem Schlitz taktversatzgenerator 26 und mit der Absolutzeitreferenz 21 von
dem Zeitbasisnachrichtgenerator 20, um Downstream-Kommunikationen
an den Downstream-Sender zu liefern, der den Downstream-Modulator 30 aufweist
(10). Der Schlitztaktversatzgenerator 26 empfängt ein
Schlitztaktversatzsignal 28 von dem Upstream-Empfänger 25.
Die Anordnung des Schlitztaktversatzsignals innerhalb eines Taktschlitzes
einer Upstream-Kommunikation definiert die gegebenenfalls vorhandene
Notwendigkeit, eine Schlitztaktversatzkorrektur vorzunehmen. Im
Allgemeinen wird ein Schlitztaktversatzwert auch dann übertragen,
wenn der tatsächliche
Schlitztaktversatz Null ist. Wenn sich die Schlitztaktversatznachricht
auf wünschenswerte
Weise in dem Taktversatzschlitz befindet und sich nicht in Schutzbänder erstreckt,
die sich zu beiden Seiten des Taktversatzschlitzes befinden, ist
keine Schlitztaktversatzkorrektur erforderlich.
-
Wenn
sich die Schlitztaktversatznachricht jedoch in eines der Schutzbänder des
Taktversatzschlitzes der Upstream-Kommunikation erstreckt, dann
wird von dem Schlitztaktversatzgenerator 26 ein Schlitztaktversatz 28 erzeugt,
der stromabwärts
an das CM 1046 übertragen
wird, wo der Schlitztaktversatz 28 eine gewünschte Korrektur
auf die Zeit durchführt,
an der Upstream-Kommunikationen stattfinden, um so zu veranlassen,
dass die Schlitztaktversatznachricht und andere zu übertragende
Daten ordnungsgemäß in ihren Upstream-Daten
Schlitze positioniert sind.
-
Der
Kopfstellen-Ticktakt 15 weist die Quarzreferenz 16 von 10 auf
und liefert ein Taktsignal an den linearen Zählsequenzgenerator 18.
Der Schlitz-/Rahmenzeitgenerator 19 verwendet
ein Taktsignal, das von der Kopfstellen-Taktsynchronisierungsschaltung 18 zur
Verfügung
gestellt wird, um sowohl einen Minischlitztakt 21 als auch
ein Receive-now-Signal 23 zur Verfügung zu stellen. Der Upstream-Nachrichttakt 21 ist
der Takt, von dem die Nachrichtenschlitze synchronisiert werden,
um Zeitvielfachzugriff (TDMA)-Kommunikationen von jedem CM 1046 an
das CMTS 1042 zu bewirken. Ein Transmit_now-Signal wird
am Anfang eines jeden Minischlitzes einer Übertragung erzeugt. Ein Receive_now-Signal
wird auf ähnliche
Weise am Anfang eines empfangenen Paketes erzeugt.
-
Ein
Minischlitz ist eine grundlegende Medienzugriffsteuerung (MAC)-Zeitgebereinheit,
die für
die Zuweisung und das Zuordnen von Zeitvielfachzugriff (TDMA)-Schlitzen
verwendet wird. Jeder Minischlitz kann beispielsweise von dem Medienzugriffsteuerungstakt
abgeleitet sein, so dass der Minischlitz bei einer An stiegsflanke
des Medienzugriffsteuerungstaktes beginnt und endet. Im Allgemeinen
definiert eine Mehrzahl von Symbolen einen Minischlitz, und eine
Mehrzahl von Minischlitzen definiert einen Zeitvielfachzugriff-Schlitz.
-
Das
CM 1046 empfängt
Downstream-Daten von dem Downstream-Kanal 14B. Ein Zeitbasisnachrichtdetektor 36 erfasst
das Vorhandensein einer Zeitbasisnachricht 21 in den Downstream-Daten.
-
Die
Schlitztaktversatzkorrektur 47 wird auf Upstream-Kommunikationen 14A vor
ihrer Übertragung von
dem Teilnehmer-CM 1046 angewendet. Die Schlitztaktversatzkorrektur
ist nur die Differenz zwischen dem tatsächlichen Schlitztaktversatz
und dem gewünschten
Schlitztaktversatz. Somit wird die Schlitztaktversatzkorrektur nur
durch Subtrahieren des tatsächlichen
Schlitztaktversatzes von dem gewünschten
Versatz erzeugt. Der Schlitz/Rahmen-Taktgenerator 49 überträgt die Upstream-Datenwarteschlange 70 (10)
zu der bezeichneten Übertragungszeit 66 (10).
-
Der
Summenbildner 48 subtrahiert von der Zeitbasisnachricht 21 der
Lokalzeitreferenz 46 und liefert einen Ausgang an ein Schleifenfilter 50,
das den numerisch gesteuerten Oszillator 44 ansteuert,
wie nachstehend ausführlich
erörtert
wird.
-
Der
Upstream-Sender 11 erleichtert die Übertragung von Upstream-Kommunikationen 14A von
dem Teilnehmer-CM 1046A, und der Upstream-Empfänger 13A erleichtert
den Empfang der Upstream-Kommunikationen 14A durch das
CMTS 10.
-
Der
Downstream-Sender 17 erleichtert die Übertragung von Downstream-Kommunikationen 14 von dem
CMTS 16 an das CM 1046, wo der Downstream-Empfänger 15 ihren
Empfang erleichtert.
-
Unter
Bezugnahme auf 12 ist eine beispielhafte Taktrückgewinnungsschaltung
eines CM noch detaillierter gezeigt. Der Downstream-Demodulator 95,
der einen Abschnitt des Downstream-Empfängers 15 von 11 bildet,
stellt Takt- und Datensignale zur Verfügung, die von Downstream-Kommunikationen 14B abgeleitet
sind (11). Die Datensignale umfassen
Downstream-Bytes, die wiederum den Zählwert oder die Zeitmarke 97 und
den Zeitbasisnachricht-Header 81 umfassen, die von dem
CMTS 1042 übertragen
wurden. Schlitztaktversatznachrichten sind in dem Downstream-Fluss
von Downstream-Daten enthalten.
-
Der
Zeitmarkendetektor 80 erfasst das Vorhandensein eines Zeitmarken-Headers 81 unter
den Downstream-Bytes und stellt ein Timestamp_arrived-Signal 82 zur
Verfügung,
das als Downstream Byte Clock Sync dient. Das Timestamp_arrived-Signal 82 wird
an den Synchronizer 83 geliefert, der ein Register 101,
ein Register 102, ein UND-Gatter 103, einen Invertierer 104 und
einen Signalspeicher 105 aufweist. Der Synchronizer 103 synchronisiert
das Timestamp_arrived-Signal 82 mit dem Takt des CM 1046,
um ein Data Path Enable Tick Clock Sync 107 für die Freigabe
der digitalen Nachlaufschleife 42 zur Verfügung zu
stellen.
-
Wenn
die digitale Nachlaufschleife 42 im Ansprechen auf die
Erfassung eines Zeitmarken-Headers durch den Zeitmarkendetektor 80 durch
das von dem Synchronizer 83 ausgegebene Data Path Enable
Tick Clock Sync 107 freigegeben wird, wird die Zeitmarke,
die ein von der Kopfstellen-Taktsynchronisierungsschaltung 18 von 11 gelieferter
Zählwert
ist, an die digitale Nachlaufschleife 42 geliefert, und
die digitale Nachlaufschleife 42 wird freigegeben, um die
Zeitmarke zu verarbeiten.
-
Eine
Differenzierschaltung bzw. ein Sättigungsfrequenzdetektor 109 vergleicht
die Zeitmarke mit einem Zählwert,
der an den Sättigungsfrequenzdetektor 109 von
dem Zeitbasiszähler 111 geliefert
wird und für die
Frequenz des numerisch gesteuerten Oszillators 44 repräsentativ
ist. Der Sättigungsfrequenzdetektor 109 stellt
ein Differenzsignal bzw. einen Frequenzfehlerwert 112 zur
Verfügung,
der zu der Differenz zwischen der Frequenz des numerisch gesteuerten
Oszillators 44 des CM und der Quarzoszillatorreferenz 16 des
CMTS proportional ist.
-
Falls
die Differenz zwischen dem Wert der Zeitmarke und dem Zählwert des
Zeitbasiszählers 111 zu groß ist, was
anzeigt, dass die Zeitmarke möglicherweise
einen fehlerhaften Wert liefert, wird der Sättigungsfrequenzdetektor 109 gesättigt und
liefert keinen für
die Differenz zwischen dem Wert der Zeitmarke und dem Zählwert des
Zeitbasiszählers 111 repräsentativen
Ausgang. Somit werden fehlerhafte Zeitmarken von der digitalen Nachlaufschleife 42 nicht
akzeptiert.
-
Eine
Pass 113-Schleifenfreigabe ermöglicht es, dass die von dem
Sättigungsfrequenzdetektor 109 zur Verfügung gestellte
Differenz an den Signalspeicher 115 ge liefert wird, wenn
er eine globale Freigabe erhält. Die
globale Freigabe wird an Null oder Pass 113 geliefert,
wenn ein Betrieb der digitalen Nachlaufschleife 42 gewünscht wird.
-
Der
Signalspeicher 115 liefert den Frequenzfehlerwert 112 an
ein Schleifenfilter, das die Multiplizierer 117 und 119,
die Skalierer 121 und 123, die Summenbildner 124, 125 und
die Signalspeicher 127 aufweist.
-
Die
Multiplizierer 117 und 119 weisen Schieberegister
auf, die eine Multiplikation durchführen, indem sie eine gewünschte Anzahl
von Bits in einer von beiden Richtungen verschieben. Die Skalierer 121 und 123 arbeiten
auf ähnliche
Weise.
-
Das
Schleifenfilter arbeitet nach allgemein bekannten Prinzipien, um
unerwünschte
Frequenzfehlerwerte auszufiltern, so dass sie die Stabilität oder den
Betrieb des numerisch gesteuerten Oszillators 44 nicht beeinträchtigen.
Somit tendiert das Schleifenfilter dazu, unerwünschte Abweichungen im Frequenzfehlerwertsignal
auszuglätten,
um ein stabileres Ansteuersignal für den numerisch gesteuerten
Oszillator 44 zur Verfügung
zu stellen.
-
Die
Multiplizierer 117 und 119 können mit verschiedenen Koeffizienten
gewichtet werden, so dass die Bandbreite des Schleifenfilters von
einer größeren Bandbreite
während
der anfänglichen
Erfassung auf eine geringere Bandbreite während des Betriebs geändert werden
kann. Die anfänglich
verwendete größere Bandbreite
erleichtert eine schnelle Erfassung, indem sie es zulässt, dass
Frequenzfehlerwerte mit größeren Abweichungen
akzeptiert werden. Während
die digitale Nachlaufschleife 42 konvergiert, tendiert
der Frequenzfehlerwert dazu, kleiner zu werden. Zu diesem Zeitpunkt
würden
Frequenzfehlerwerte mit größeren Abweichungen
dazu tendieren, die Stabilität
der digitalen Nachlaufschleife 42 zu verringern, und sind
daher unerwünscht.
Es werden daher verschiedene Koeffizienten verwendet, welche die
Bandbreite des Schleifenfilters verringern, um so die Stabilität der digitalen
Nachlaufschleife 42 aufrecht zu erhalten.
-
Eine
Tabelle, die ein Beispiel für
grobe und feine Koeffizienten K0 und K1 zeigt, die für vielfältige unterschiedliche
Aktualisierungsraten und Bandbreiten geeignet sind, ist in 13 gezeigt.
-
Der
Ausgang des Schleifenfilters wird an den Signalspeicher 131 geliefert.
Der Ausgang des Signalspeichers 131 wird von dem Summenbildner 133 zu
einer nominalen Frequenz hinzuaddiert, um so ein Ansteuersignal
für den
numerisch gesteuerten Oszillator 44 zu definieren.
-
Für den Fachmann
wird es verständlich
sein, dass das Hinzuaddieren eines Frequenzversatzes, falls er ordnungsgemäß auf eine
normale Frequenz programmiert ist, die Erfassungszeit der Schleife
verringert. Der Grund dafür
ist, dass der endgültige
Wert des Akkumulators 127 dann näher bei seinem anfänglichen
Wert liegt.
-
Die
nominale Frequenz wird im Allgemeinen so gewählt, dass sie in ihrem Wert
nahe bei dem gewünschten
Ausgang des numerisch gesteuerten Oszillators 44 ist. Wenn
der numerisch gesteuerte Oszillator 44 auf der gewünschten
Frequenz arbeitet, ist somit der von dem Signalspeicher 131 zur
Verfügung
gestellte gefilterte Frequenzfehlerwert nominal Null.
-
Unter
Bezugnahme auf 14 muss ein Schlitztaktversatz
zwischen dem Takt des CM 1046 und dem Takt des CMTS 1042 bestimmt
werden, um sicher zu stellen, dass von dem CM 1046 übertragene
Nachrichten während
Zeitschlitzen übertragen
werden, die von dem CM-System 10 zugewiesen wurden. Wie
für den
Fachmann verständlich
sein dürfte,
kombinieren sich Laufzeitverzögerungen 400 und
Verarbeitungsverzögerungen 402 und
veranlassen das CM 1046, tatsächlich an einem späteren Zeitpunkt
zu übertragen,
als wenn sie von dem CMTS 1042 dazu aufgefordert werden.
Somit muss jedem CM 1046 ein Schlitztaktversatz zur Verfügung gestellt
werden, um sicher zu stellen, dass es zum richtigen Zeitpunkt überträgt. Dieser
Schlitztaktversatz wird durch das CMTS 1042 bestimmt, indem
das CMTS 1042 veranlasst wird, einen dedizierten Schlitztaktversatz-Schlitz
in Upstream-Kommunikationen
zu überwachen,
um die Position einer Schlitztaktversatznachricht darin zu bestimmen.
Die Position der Schlitztaktversatznachricht in dem dedizierten
Schlitztaktversatz-Schlitz in der Upstream-Kommunikation bestimmt
den Schlitztaktversatz zwischen dem Takt des CMTS 1042 und
dem Takt des CM 1046. Somit kann das CMTS 1042 diesen
Fehler verwenden, um das CM 1046 zu veranlassen, an einem
früheren
Zeitpunkt zu übertragen,
um dadurch Laufzeit- und Verarbeitungsverzögerungen zu kompensieren. Diese
Schlitztaktversatzkorrektur ist gleich 2Tpg + Tprocess.
-
Anfänglich weist
der Schlitztaktversatz-Schlitz einen vergleichsweise großen Zeitschlitz
auf, d.h. mit vergleichsweise großen Schutzzeiten, um einen
vergleichsweise großen
Schlitztaktversatzfehler aufzunehmen. In einem normalen Datenpaket
kann die Breite des Taktversatzschlitzes verringert werden, wenn
Schlitztaktversatzfehler kleiner werden (und dadurch kleinere Schutzbänder erforderlich
sind), um effizientere Upstream-Kommunikationen zu erleichtern.
-
Im
Allgemeinen werden Kommunikationen unter Verwendung einer vergleichsweise
langen Schutzzeit initialisiert. Nach der Erfassung, wenn die Schlitztaktgenauigkeit
verbessert wurde, kann die Schutzzeit wesentlich verkürzt werden,
um eine entsprechende Erhöhung
des Kanalnutzungs-Wirkungsgrades zur Verfügung zu stellen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung werden Datenpakete schnell
erfasst, z.B. in einer Größenordnung
von sechzehn Symbolen oder dergleichen, um einen verbesserten Wirkungsgrad
der Bandbreitenverwendung zu erleichtern. Wie für den Fachmann verständlich sein
dürfte,
ist es wünschenswert, Datenpakete
so schnell wie möglich
zu erfassen, um die Länge
eines Headers, einer Präambel
oder eines anderen, keine Informationen tragenden Abschnitts des
Datenpaketes, der ausschließlich
für eine
solche Erfassung verwendet wird, zu minimieren.
-
Gemäß der vorliegenden
Verwendung ist eine Erfassung so definiert, dass sie die Modifikationen
oder Einstellungen mit umfasst, die an einem Empfänger vorgenommen
werden, damit der Empfänger
den Informationsgehalt von an ihn übertragenen Datenpaketen ordnungsgemäß interpretieren
kann. Jede Zeit, die zum Erfassen eines Datenpaketes verbraucht
wird, geht von der Zeit ab, die zum Übertragen von Informationen
in dem Datenpaket verfügbar
ist (wegen der endlichen Bandbreite des Kanals), und wird daher
als unerwünscht betrachtet.
-
Eine
Erfassung beinhaltet die Durchführung
von Feineinstellungen an den Parametern, die während der Entfernungsbestimmungsvorgänge definiert
oder eingestellt werden. Während
der Entfernungsbestimmungsvorgänge
werden der Schlitztakt, die Trägerfrequenz
und die Bruttoamplitude (Leistung) des Datenpaketes bestimmt. Während der
Erfassung werden diese Parameter fein eingestellt, um fraktionale
Symboltaktung, Trägerphasenkonektur
und Feinamplitude des Datenpaketes zu akkommodieren.
-
Darüber hinaus
wird ein Entfernungsbestimmungsvorgang verwendet, um Leistung, Schlitztakt
und Trägerfrequenz
in dem Upstream-TDMA-Kanal zu steuern. Die Leistung muss gesteuert
werden, um an dem CMTS eine normalisierte Empfangsleistung zur Verfügung zu
stellen, um Zwischenkanalstörungen
abzumildern. Die Trägerfrequenz
muss so gesteuert werden, dass eine ordnungsgemäße Kanalbelegung im Frequenzbereich
sicher gestellt ist. Der Schlitztakt muss so gesteuert werden, dass
eine unerwünschte
Kollision von Datenpaketen im Zeitbereich abgemildert wird und Laufzeitdifferenzen
zwischen verschiedenen CMs berücksichtigt
werden.
-
Unter
Bezugnahme auf 15 weist das CMTS 1042 einen
Burst-Empfänger 292 zum
Empfangen von Datenpaketen im Upstream-Datenfluss, einen kontinuierlichen
Sender 290 zum Aussenden an die CMs 1046 über den
Downstream-Datenfluss, und eine Medienzugriffsteuerung (MAC) 60 zum
Erstellen einer Schnittstelle zwischen dem Burst-Empfänger 292,
dem kontinuierlichen Sender 290 und anderen Kopfstellen-Kommunikationsvorrichtungen
wie etwa Videoservern, Satellitenempfängern, Videomodulatoren, Telefon-Switches
und Internet-Routern 1018 auf (2).
-
Jedes
CM 46 (2) weist einen Burst-Sender 294 zum Übertragen
von Daten an das CMTS 1042 über den Upstream-Datenfluss,
einen kontinuierlichen Empfänger 296 zum
Empfangen von Übertragungen von
dem CMTS 1042 über
den Downstream-Datenfluss, und eine Medienzugriffsteuerung (MAC) 90 zum
Erstellen einer Schnittstelle zwischen dem Burst-Sender 294,
dem kontinuierlichen Empfänger 296 und
Teilnehmer-Kommunikationsgeräten
wie etwa einem PC 48 (2), einem
Telefon, einem Fernsehgerät
usw. auf.
-
Der
Burst-Empfänger 292,
die Medienzugriffsteuerung (MAC) 60 und der kontinuierliche
Sender 290 des CMTS 1042 und der Burst-Sender 294,
die Medienzugriffsteuerung (MAC) 90 und der kontinuierliche
Empfänger 296 von
jedem CM können
jeweils durch einen einzelnen separaten IC-Chip definiert sein.
-
Unter
Bezugnahme auf 16 ist das CMTS 1042 von 2 detaillierter
gezeigt. Das CMTS 1042 ist so konfiguriert, dass es Signale
von einem Lichtwellenleiter 79 des HFC-Netzes 1010 empfängt und
Signale an diesen überträgt (2) über eine
Faser-Koax-Stufe 49, die typischerweise extern von dem
CMTS 1042 angeordnet ist. Die Faser-Koax-Stufe 49 liefert
einen Ausgang an den 5–42
MHz RF-Eingang 56 über
das Koaxialkabel 54 und empfängt auf ähnliche Weise ein Signal von
dem RF-Sendeumsetzer 78 über ein
Koaxialkabel 52.
-
Der
Ausgang des RF-Eingangs 56 wird an den Teiler 57 des
CMTS 1042 geliefert, der den 5–42 MHz-RF-Eingang in N separate
Kanäle
aufteilt. Jeder der N separaten Kanäle wird an einen separaten QPSK/16
QAM Burst-Empfängerkanal 58 geliefert.
-
Jeder
separate QPSK/16 QAM Burst-Empfängerkanal 58 steht
in elektrischer Kommunikation mit der Kopfstelle MAC 60.
Die Kopfstelle MAC 60 steht in elektrischer Kommunikation
mit der Backplane-Schnittstelle 62, die eine Schnittstelle
mit dem ROM 70, RAM 68, CPU 66 und der
100BASE-T Ethernet-Schnittstelle 64 zur Verfügung stellt.
Der Kopfstellen-MAC 60 stellt einen Takt und einen Datenausgang
für den
Downstream-Modulator 72 zur Verfügung, der durch das Oberflächenwellen
(SAW)-Filter 74 einen Ausgang an den Verstärker 76 liefert.
Der Verstärker 76 liefert
einen Ausgang an den 44 MHz IF-Ausgang, der wiederum einen Ausgang an
den RF-Sendeumsetzer 78 liefert.
-
Jeder
Burst-Empfänger 58 ist
so konfiguriert, dass er in der Lage ist, sowohl QPSK (4-QAM)-Signale als
auch 16 QAM-Signale zu empfangen. Die QPSK-Signale liefern 2 Bits
pro Symbol, wobei jedes Bit ±1
Amplitudenpegel besitzt. Die 16 QAM-Signale liefern 4 Bits pro Symbol, wobei
jedes Bit einen ±1
oder ±3
Amplitudenpegel besitzt.
-
Die
Beschreibung und Veranschaulichung eines Burst-Empfängers, der
für die
Behandlung von QPSK- und 16 QAM-Eingängen konfiguriert ist, ist
jedoch ausschließlich
veranschaulichend und nicht einschränkend gedacht. Für den Fachmann
dürfte
verständlich
sein, dass andere Modulationsmethoden, wie etwa 32 QAM, 64 QAM und
256 QAM, alternativ angewendet werden können.
-
Abtastproben- und Paketsynchronisierung
-
Zusätzlich zu
der oben erwähnten
standardmäßigen Anfrage-/Zuordnungsverarbeitung
ermöglichen die
allgemein bekannten Data Over Cable Service Interface Specifications
(DOCSIS) einen Unsolicited Grant-Modus. Gemäß diesem Modus wird eine festgelegte
Anzahl von Minischlitzen einer ausgewählten SID zugeordnet, ohne
die Verzögerung
durch einen ständigen
Strom von Anfragen vor dem Empfang von entsprechenden Zuordnungen
in Kauf nehmen zu müssen.
Die Upstream-Bandbreite wird in diskreten Blöcken an zeitlich geplanten
Intervallen zugewiesen. Die Blockgröße und das Zeitintervall werden
zwischen dem CM und dem CMTS verhandelt. Mit anderen Worten, angesichts
einer anfänglichen
Anfrage plant das CMTS einen stetigen Strom von Zuordnungen an festgelegten
Intervallen. Der Anfangs-Minischlitz dieser festgelegten Intervallzuordnungen
beginnt dann eine festgelegte Einzahl von Minischlitzen ab dem Ende
der letzten ähnlichen Zuordnung.
Dieser Mechanismus kann daher einen festgelegten Bitratenstrom zwischen
dem CM und dem CMTS zur Verfügung
stellen, was insbesondere für
Paketstimmsysteme nützlich
ist, die die Stimme mit einem festgelegten Intervall (8 kHz) abtasten
und ein Paket mit einer festgelegten Länge für den Transport zusammenstellen.
Eine solche Verarbeitung von Paketen mit einer festgelegten Abtastung
und Länge
machen die Verwendung von solchen Fixed Grant-Intervallen besonders
attraktiv.
-
Wenn
Stimmabtastproben jedoch unter Verwendung eines asynchronen Taktes
hinsichtlich des Taktes gesammelt werden, der den Minischlitzen
zugewiesen ist, treffen Pakete in Bezug auf den Burst zu einem zufälligen Zeitpunkt
ein. Die Zeitdifferenz (D) zwischen dem Burst und der Ankunft des
Paketes variiert kontinuierlich von Burst zu Burst als Funktion
der Differenz zwischen der Abtastproben- und Minischlitz-Taktfrequenz. 17 zeigt
die variablen Verzögerungen,
die sich ergeben, wenn solche Stimmdienste unter Verwendung des
DOCSIS Unsolicited Grant-Modus übertragen
werden. Abtastproben-Pakete (Si, Si + 1, ...) treffen auf der Grundlage
des Abtastprobentaktes ein, und Upstream-Zuordnungen (G, G + 1,
...) treffen auf der Grundlage des Netztaktes ein, der von dem CMTS-Netztakt
abgeleitet ist. Die Verzögerung
(Di, Di + 1, ...) zwischen dem verfügbaren Abtastprobenpaket und
der Grant Arrival variiert bei jedem Paket in Abhängigkeit
von der Differenz zwischen dem Abtastproben- und Netztakt.
-
DOCSIS-Systeme
erzeugen jedoch einen Takt, der zum Synchronisieren der Upstream-Übertragungsfunktionen
verwendet wird. Es wird ein Protokoll definiert, das eine synchronisierte
Version des CMTS-Taktes an jedem CM-Modem zur Verfügung stellt,
wie vorstehend ausführlich
beschrieben wurde. Es kann auch ein Protokoll definiert werden,
das eine Synchronisierung zwischen dem Stimmabtastprobentakt und
dem CM zur Verfügung
stellt. Auf ähnliche
Weise, wenn die Kopfstelle mit dem PSTN durch ein PSTN-Gateway mit
einer eigenen Takterzeugung kommuniziert, kann auch ein Protokoll
definiert werden, das eine Synchronisierung zwischen dem PSTN und
der Kopfstelle zur Verfügung
stellt. Folglich kann dann eine Syn chronisierung zur Verfügung gestellt
werden, so dass die Anruferstimmabtastung mit dem CM synchronisiert
ist, das wiederum mit dem CMTS synchronisiert ist, das wiederum
mit dem PSTN synchronisiert ist, wodurch es letztlich ermöglicht wird,
dass die angerufene Stelle mit dem Anrufer synchronisiert ist. Die
vorliegende Erfindung stellt eine solche Synchronisierung zur Verfügung.
-
Unter
Bezugnahme auf 18 ist wie bei 17 eine
Reihe von Zuordnungen (G, G + 1, ...) und eine Reihe von Stimmabtastungen
(Si, Si + 1, ...) dargestellt, wobei die Verzögerungen (Di, Di + 1, ...)
zwischen dem Eintreffen des Abtastprobenpaketes und dem Fixed Interval
Grant Arrival festgelegt sind. Die festgelegte Verzögerung ist
ein Resultat der Synchronisierung zwischen dem CM und dem lokalen
Telefonsystem, wie nachstehend beschrieben wird. Die festgelegte
Verzögerung
ist beliebig und wird durch die Zufallsbeziehung zwischen dem Start
des Anrufereignisses und dem Zuordnungstakt bestimmt. Es ist jedoch
wünschenswert,
die Verzögerung
zwischen dem Eintreffen des Paketes und der Grant Arrival zu minimieren,
wie in 19 dargestellt ist.
-
Gemäß der vorliegenden
Erfindung wird eine Koordinierung zwischen der Grant Arrival-Verarbeitung und
Verarbeitung der eintreffenden Paketanordnung zur Verfügung gestellt,
um bei der Minimierung einer solchen Verzögerung zu helfen.
-
Die
Ankunft des Zuordnungssignals am CM zeigt an, dass "es nun für das CM
an der Zeit ist, die Daten zu senden". Wenn die Zuordnung eintrifft, müssen daher
die Daten für
die Übertragung
bereit sein. Um Daten übertragungsfertig
vorzubereiten, wird daher Zeit sowohl für das Sammeln von Daten (Abtasten
der Stimme) als auch für
die Verarbeitung der gesammelten Daten (z.B. Zurverfügungstellen
einer Stimmkomprimierung) benötigt.
Um die Verzögerung
zu minimieren, sollten die Daten unmittelbar vor dem Eintreffen
der Zuordnung zum Übertragen
bereit sein. Eine Verzögerung
tritt auf, wenn das Sammeln und Verarbeiten der zu sammelnden Daten
zu früh
abgeschlossen ist und das System auf das Eintreffen der Zuordnung
warten muss. Eine solche Verzögerung
kann insbesondere bei einer Voice over IP-Verarbeitung störend sein, die bestimmte Spezifikationsanforderungen
für eine
maximale Verzögerung
aufweist. Es ist daher vorteilhaft, wenn das System weiß, wie viel
Zeit zum Sammeln der Daten erforderlich ist und wie viel Zeit zum
Verarbeiten der Daten erforderlich ist, und dadurch in der Lage
ist, ein solches Sammeln und Verarbeiten von Daten mit der Zuordnung zu
synchronisieren.
-
Das
Downstream-CM handelt eine Zuordnungsperiode mit dem CMTS aus, wie
vorausgehend beschrieben wurde. Ein Unsolicited Grant-Intervall
wird von dem CMTS beispielsweise auf 10 ms-Intervalle eingestellt.
Sobald die Zuordnung auf der Grundlage einer Anfrage erstellt wird
(indem beispielsweise ein Signal von einem Anrufertelefon gesendet
wird, dass ein Telefonanruf auf einem offenen Telefonkanal an einen
Anrufempfänger
gemacht werden soll, wie etwa an einen mit der PSTN verbundenen
Anwender), wird die Unsolicited Grant zur Verfügung gestellt, d.h., die Zuordnung
trifft in regelmäßigen Intervallen
ein. Der Unsolicited Grant-Modus wird verwendet, weil die Stimmübertragung
während
des Telefonanrufs kontinuierlich ist und kontinuierlich während jedes
Zuordnungsintervalls (z.B. alle 10 ms) gesammelt wird. Die Zuordnungsintervalle können als "Fenster" zum Übertragen
der abgetasteten Datenpakete betrachtet werden, die gesammelt werden.
Wenn das Sammeln und Verarbeiten von Daten jedoch nicht synchronisiert
ist, sind diese nicht in regelmäßigen Intervallen
bereit, wodurch sowohl eine Übertragungsverzögerung als
wiederum auch eine Verzögerung
am Endpunkt (d.h. dem Anrufempfänger)
erzeugt wird.
-
Unter
Bezugnahme auf 20 ist stellvertretend eine
Ausführungsform
einer Implementierung der vorliegenden Erfindung abgebildet, wobei
ein lokaler Anrufer einen Anruf über
ein CM/CMT-System an einen Anrufempfänger 2002 tätigen kann,
der mit dem PSTN durch das PSTN-Gateway 2004 verbunden
ist. Bei der repräsentativen
Ausführungsform
stehen vier Anrufertelefone 1047a, 1047b, 1047c, 1047d für einen
Teil eines Analog-Digital-Signalverarbeitungssystems 2010,
das dem Fachmann auf diesem Gebiet vertraut ist. Jedes Anrufertelefon
ist mit jeweiligen standardmäßigen Codier/Decodier
(CODEC)- und Teilnehmerleitungs-Schnittstellenschaltungen
(SLIC) 2012a, 2012b, 2012c, 2012d verbunden,
die Teil eines Sende-Analog-Digital (A/D)- und Empfangs-Digital-Analog
(D/A)-Umsetzeruntersystems 2014 sind,
das auch jeweilige Puffer 2016a, 2016b, 2016c und 2016d zum
Speichern der digitalen abgetasteten Daten sowie Mmultiplexer/Demultiplexer 2018 aufweist.
Das Umsetzeruntersystem 2014 ist an einen Digitalsignalprozessor
(DSP) 2020 gekoppelt, wie etwa das Modell ZSP16402 der
LSI Logic Corporation. Der DSP 2020 steuert die Signalkomprimierung.
Z.B. für
eine Übertragung,
wenn ein Anrufer (z.B. der Anrufer 1047a) einen Telefonhörer abhebt
und spricht, wird in der Praxis die Stimme abgetastet und von Analog-
in Digitalsignale umgesetzt. Der DSP steuert die Komprimierung der
Daten, die unter Steuerung durch das CM 1046 paketisiert
und von dem CM 1046 an das CMTS 1042 übertra gen
werden, wie vorausgehend beschrieben wurde. Auf ähnliche Weise wird für den Empfang
ein ankommendes digitales Signal empfangen und unter Steuerung durch
das CM 1046 entpackt und unter Steuerung durch den DSP
dekomprimiert. Die resultierenden Digitalsignale werden dann in
Analogsignale zum Hören
für den
Anrufer umgesetzt.
-
Wenn
ein Telefonanruf über
das CM getätigt
werden soll, veranlasst das Telefon, das abgehoben wird, das Senden
einer Nachricht an das CMTS, die nach einer Unsolicited Grant anfragt,
z.B. einer periodischen Zuordnung in einer 10 ms-Zuordnungsperiode. Stimmdaten werden
dann während
jedes 10 ms-Intervalls zwischen Zuordnungen gesammelt und verarbeitet.
Die Verarbeitung beinhaltet das Annehmen des digitalen Signals von
dem Umsetzeruntersystem durch den DSP und das Komprimieren der digitalen
Daten (z.B. über
einen ITU-Standard G.729 Algorithmus-Codierer), um die Verwendung
einer geringeren Bandbreite für
die Übertragung
zu ermöglichen.
Die A/D-Umsetzung einer Sequenz von Abtastproben und ihr Pufferspeichern
kann als der Aspekt des "Datensammelns" betrachtet werden.
Für die
Verarbeitung der gesammelten Daten wird eine Zeit durch den gewählten Komprimierungsalgorithmus
erstellt. Die nachfolgende Tabelle 1 stellt die DSP-Verarbeitungszeit
bei einer gegebenen 10 ms-Datensammlungs-Rahmengröße für verschiedene ITU-Komprimierungsalgorithmen
unter Verwendung eines typischen DSP, z.B. eines 140 MHz-DSP-Modells ZSP16402
der LSI Logic Corporation, dar.
Komprimierung | DSP-Verarbeitungszeit |
(a)
G.711 | 2
MIPS = 1,4% DSP-Last = 0,0282 ms zum Verarbeiten von 2,0 ms Daten |
(b)
G.722 | 16
MIPS = 11,4% DSP-Last = 0,228 ms zum Verarbeiten von 2,0 ms Daten |
(c)
G.726 | 16
MIPS = 11,4% DSP-Last = 0,228 ms zum Verarbeiten von 2,0 ms Daten |
(d)
G.728 | 35
MIPS = 25% DSP-Last = 0,5 ms zum Verarbeiten von 2,0 ms Daten |
(e)
G.729 | 20
MIPS = 14,29% DSP-Last = 1,1 ms zum Verarbeiten von 2,0 ms Daten |
TABELLE
1
-
Somit
werden für
eine G.711-Komprimierung beispielsweise 2,0 ms Datensammelzeit plus
0,0282 ms Datenverarbeitungszeit, d.h. 2,0282 ms, benötigt, um
die gesammelten und verarbeiteten Daten unmittelbar vor dem Eintreffen
der Zuordnung fertig zu machen. Insofern muss das Sammeln der Daten
2,0282 ms vor dem Eintreffen der Zuordnung abgeschlossen sein, und
das Sammeln der Daten muss früher
als 0,0282 ms vor dem Eintreffen der Zuordnung abgeschlossen sein.
Mit anderen Worten wird angesichts des Zeitplans für das Eintreffen
von Zuordnungen und der DSP-Verarbeitungszeit,
die aufgrund der gewählten
Komprimierung benötigt
wird, die Taktsynchronisierung zwischen dem Zeitplan für das Eintreffen
von Zuordnungen und der Datensammelfrist erstellt. Um sicher zu
stellen, dass die Datensammelfrist eingehalten wird, wird ein Takt
für die
A/D-Umsetzung auf der Grundlage der Takte des CMTS und des CM-Systems
abgeleitet, und ein Zeiger wird zur Verfügung gestellt, um einen Grenzabschnitt
des Puffers anzugeben, in dem die abgetasteten Daten gesammelt werden.
-
Gemäß der vorliegenden
Erfindung werden Daten, die gesammelt (abgetastet) werden sollen,
auf der Grundlage des CMTS-Taktes von dem CMTS gesendet, das die
CMs synchronisiert. Die Zuordnungszeit-Berechnungsschaltung 2022 ist
zwischen das DSP 2020 und das CM 1046 gekoppelt.
Gesammelte Daten werden aus dem jeweiligen Puffer so entnommen,
dass sie in dem Puffer gespeicherte Daten beinhalten, die während einer
Periode vor der Grant Arrival, nämlich
der Verarbeitungszeit plus der Datensammelzeit, akkumuliert wurden.
Die CODEC/SLIC weisen einen Takt zum Sammeln der Daten auf. Die
Stimmabtastung wird somit auf der Grundlage eines Abtastprobentaktsignals
von dem CM getaktet. Insofern werden die jüngsten Daten, die unmittelbar
vor dem Eintreffen der Zuordnung in dem Puffer gespeichert wurden,
zum Übertragen
gemäß der Zuordnung
verwendet. Die Details der Abtasttaktung sind im Folgenden wiedergegeben.
-
Unter
kurzer erneuter Bezugnahme auf 20 ist
der Anrufempfänger 2002 über ein
allgemein bekanntes PSTN-Telefon-Gateway 2004 mit dem PSTN
verbunden. Das PSTN-Telefon-Gateway 2004 ist durch ein
Telefonienetz-Taktsignal 2006 von der Netztaktreferenz 2003 getaktet,
die auch mit dem CMTS 1042 gekoppelt ist, so dass das PSTN-Telefon-Gateway 2004 mit
dem CMTS-Takt für
den Transfer der Telefon-Abtastprobenpakete 2007 zwischen
dem CMTS 1042 und dem PSTN-Telefon-Gateway 2004 synchronisiert
werden kann. Der Telefonienetztakt ist der allgemein bekannte Building
Integrated Timing Supply (BITS)-Takt. Die Ausrüstungserfordernisse für eine Ankopplung
an diesen Takt sind dem Fachmann bekannt und in dem Bellcore-Dokument
TR-NWT-001244 beschrieben. Das Konzept für die Intraoffice-Synchronisierung
ist dem Fachmann ebenfalls bekannt und in dem Bellcore-Dokument TA-NWT-000436
beschrieben. Der CMTS-Takt ist mit dem Telefonienetz-Taktsignal 2006 über die
Kopfstellentakt-Synchronisierung synchronisiert, welche den Kopfstellenreferenz-Ticktakt 15 anwendet,
wie oben im Hinblick auf 11 beschrieben
ist.
-
Unter
Bezugnahme auf 21 ist der Betrieb der Kopfstellen-Taktsynchronisierungsschaltung 18 in Verbindung
mit dem Telefonienetztakt weiter beschrieben. Die digitale Nachlaufschleife 2021 ist
ein im Wesentlichen stabiler Taktausgang für das CMTS 1042. Eine
Differenz zwischen einer Absolutzeitreferenz und dem Ausgang einer
Lokalzeitreferenz 2022, die von dem numerisch gesteuerten
Oszillator 2024 abgeleitet ist, wird durch die Differenzierschaltung 2026 gebildet.
Diese Differenz definiert einen Frequenzfehlerwert, der die Differenz
zwischen dem Takt des CMTS 1042 (der von der Lokalzeitreferenz 2022 zur
Verfügung
gestellt wird) und dem Takt des PSTN-Telefon-Gateways 2004 (der
von dem Telefonienetztaktsignal 2006 zur Verfügung gestellt
wird) repräsentiert.
Dieser Frequenzfehlerwert wird durch das Schleifen-Durchschnittbildungsfilter 2028 gefiltert,
das verhindert, dass unerwünschte
Abweichungen in dem Frequenzfehlerwert den numerisch gesteuerten
Oszillator 2024 auf eine Weise beeinträchtigen, welche seine Stabilität herabsetzen
würde oder
den numerisch gesteuerten Oszillator 2024 veranlassen würde, mit
einer anderen als der gewünschten
Frequenz zu arbeiten. Das Schleifenfilter 2028 ist so konfiguriert,
dass es eine schnelle Erfassung des Frequenzfehlerwertes erleichtert,
auch wenn der Frequenzfehlerwert groß ist, und dann vergleichsweise
große
Frequenzfehlerwerte abweist, während
die digitale Nachlaufschleife 2021 konvergiert, d.h. während der
Ausgang der Lokaltaktreferenz 2022 nahezu gleich der Absolutzeitreferenz
wird, wodurch veranlasst wird, dass sich der Frequenzfehlerwert
an Null annähert.
Die Taktversatzkorrektur 2030 ist ein einfacher Addierer,
der mit der Lokalzeitreferenz 2022 an den zeitbasierten
Nachrichtengenerator 2032 gekoppelt ist, welcher zeitbasierte
Nachrichten als Ausgang zur Verfügung
stellt. Der CMTS-Takt ist nun mit dem PSTN-Gatewaytakt synchronisiert.
-
Unter
erneuter kurzer Bezugnahme auf 20 wird
angemerkt, dass die Zuordnungszeit-Berechnungsschaltung 2023 und
die CODEC + SLICs 2012a, 2012b, 2012c, 2012d auf
ein Abtastprobentaktsignal von der CM-Taktsynchronisierungsschaltung 2034 des
CM 1046 ansprechen. Ein solches Abtastprobentaktsignal
stellt die Taktsynchronisierung für die Stimmabtastung bei 8
kHz zur Verfügung,
die von dem 4,096 MHz CM-Takt abgeleitet ist (der mit dem CMTS-Takt
synchronisiert ist, welcher wiederum mit dem PSTN-Takt synchronisiert
ist.
-
Unter
Bezugnahme auf 22 wird der Betrieb der CM-Taktsynchronisierungsschaltung 2034 beschrieben.
Der Betrieb der CM-Taktsynchronisierungsschaltung 2034 ist ähnlich demjenigen
der Kopfstellen-Taktsynchronisierungsschaltung 2008. Der
Zeitmarkendetektor 2050 erfasst Downstream-Daten einschließlich der
von dem Zeitbasisnachricht-Generator 2032 des CMTS 1042 erzeugten
Zeitbasisnachrichten. Der Zeitbasisnachricht-Detektor 2050 stellt
eine Absolutzeitreferenz zur Verfügung, die für die Frequenz der Quarzoszillator-Taktreferenz 16 des
CMTS 1042 repräsentativ
ist. Die digitale Nachlaufschleife 2036 ist mit vorgesehen,
um einen im Wesentlichen stabilen Taktausgang zur Verfügung zu
stellen. Eine Differenz zwischen einer Absolutzeitreferenz und dem
Ausgang einer Lokalzeitreferenz 2038, die von dem numerisch
gesteuerten Oszillator 2040 abgeleitet ist, wird von der
Differenzierschaltung 2042 gebildet. Diese Differenz definiert
einen Frequenzfehlerwert. Dieser Frequenzfehlerwert wird durch das
Schleifen-Durchschnittbildungsfilter 2044 gefiltert,
was verhindert, dass unerwünschte
Abweichungen im Frequenzfehlerwert den numerisch gesteuerten Oszillator 2040 auf
eine Weise beeinträchtigen,
die seine Stabilität
herabsetzen würde
oder den numerisch gesteuerten Oszillator 2040 veranlassen
würde,
mit einer anderen als der gewünschten
Frequenz zu arbeiten. Das Schleifenfilter 2044 ist so konfiguriert,
dass es die rapide Erfassung des Frequenzfehlerwertes erleichtert,
obgleich der Frequenzfehlerwert groß ist, und dann vergleichsweise
große
Frequenzfehlerwerte abweist, während
die digitale Nachlaufschleife 2036 konvergiert, d.h. während der
Ausgang der Lokaltaktreferenz 2038 nahezu gleich der Absolutzeitreferenz
wird, wodurch veranlasst wird, dass sich der Frequenzfehlerwert
an Null annähert.
Die Taktversatzkorrektur 2052 ist ein einfacher Addierer,
der mit der Lokalzeitreferenz 2038 gekoppelt ist, um den
Abtastprobentaktgenerator 2054 zu versorgen, der eine 4,096
MHz SAMPLE CLOCK für
die Verwendung durch die Zuordnungszeit-Berechnungsschaltung 2023 und
die CODEC + SLICs 2012a, 2012b, 2012c, 2012d zur
Verfügung
stellt.
-
Unter
Bezugnahme auf die 23a, 23b und 23c sind der erzeugte 4,096 MHz-Abtastprobentakt,
ein GrantRcv[4] (d.h. eine Anzeige, dass eine Zuordnung vorliegt),
bzw. ein GrantRcv [3 : 0] SID (d.h. eine Kanalnummer, auf der die
Zuordnung vorliegt) dargestellt.
-
Unter
Bezugnahme auf die 24a, 24b,
und 24c sind der abgeleitete 8 KHz-Abtastprobentakt für die Stimmabtastung, die Zuordnung
Rcv [4] (in verkleinertem Maßstab
dargestellt) bzw. die abgetasteten Daten dargestellt.
-
Unter
Bezugnahme auf die 25, 26 und 27 ist
die Zuordnungszeit-Berechnungsschaltung 2023 in
mehr Detail gezeigt. Der Epochenzähler 2060 wird durch
einen 8 KHz-Impuls gepulst, der von dem Impulsgenerator 2062 in
Ableitung von dem 4,096 MHz-Abtastprobentakt erzeugt wird, der durch
die CM-Taktsynchronisierungsschaltung 2034 im
CM 1046 erzeugt wird. Die Zuordnungstakt-Warteschlange 2064 spricht auf
die 4Bit-SID Kanalnummer und das Grantpresent-Signal an, wie in
den 23a, 23b und 23c gezeigt ist. Die Zuordnungszeit-Berechnungsschaltung
ist mit dem DSP 2020 gekoppelt und zählt zwischen aufeinander folgenden
Unsolicited Grants. Der Epochenzähler
ist ein 12Bit-Zähler
und wird durch den 4,096 MHz-Abtastprobentakt mit einem 8 kHz-Freigabeimpulse
inkrementiert. Die Grant Zuordnungstakt-Warteschlange wird durch
das Grant-present-Signal
von dem CM 1046 verriegelt. Dieses Signal liegt immer dann vor,
wenn eine Zuordnung von Interesse im Upstream vorhanden ist. Die
Zuordnungstakt-Warteschlange
akzeptiert eine 16Bit-Eingabe, von der 4 Bit die Hardware-Warteschlangennummer
in Verbindung mit dem Grant-present-Signal sind, und 12 Bit der
Epochenzählerwert
sind. Der DSP kann den gegenwärtigen
Epochenzählerwert
lesen. Das Ergebnis der Zuordnungszeitberechnung durch die Zuordnungszeit-Berechnungsschaltung 2023 ist
die Erstellung einer historischen Map davon, wann Zuordnungen eintreffen,
bezogen auf den Epochenzählerwert,
wie in 26 gezeigt ist. Insbesondere
unter Bezugnahme auf 27 weist die Zuordnungstakt-Warteschlange 2064 den
Logikblock SID_REG, SID_SYNC und SID_FILT zum Erfassen von SID-Informationen
auf. Ein 16 × 16-FIFO
speichert den Tickzählwert
für jede
jeweilige Zuordnung und seine entsprechende SID. Jeder Eintrag in
dem FIFO enthält
die SID und gnt_tick_cnt entsprechend dem Grant Arrival. Diese Information ermöglicht es
der DSP-Software, eine Tabelle von SIDs und gnt_tick_cnts aufzubauen, welche
die Berechnung einer durchschnittlichen Zwischenankunftszeit für jede Zuordnung
ermöglicht.
Diese Information ermöglicht
es der Software, daraufhin die Datenverarbeitung zeitlich zu planen,
wie weiter unten unter Bezugnahme auf 29a ausführlicher
beschrieben ist, um sicher zu stellen, dass Pakete rechtzeitig für die Zuordnungen
bereit stehen.
-
Unter
Bezugnahme auf 28 ist die Beziehung zwischen
der Zuordnungszeit-Berechnungsschaltung 2023,
DSP 2020 und den Puffern 2016a, ... 2016d in
mehr Detail gezeigt. Wie oben erwähnt wurde, liefert die Zuordnungszeit-Berechnungsschaltung 2023 DSP
Data Read Access-Informationen (SID und gnt_tick_cnts) an den DSP 2020.
Diese DSP Data Read Access-Informationen stellen die Taktinformationen dem
DSP zur Verfügung,
damit er weiß,
wann und wo er die Upstream-Daten aus dem Upstream-Datenpuffer auslesen
soll. Sie stellen auch Taktinformationen zur Verfügung, wann
die unkomprimierten Downstream-Stimmdaten in dem Downstream-Datenpuffer
platziert werden sollen. Diese Taktinformationen ermöglichen
es der Software 2070 für
den DSP 2020, eine Tabelle 2072 von SIDs und Zuordnungs-Tickzählwerten
aufzubauen, eine durchschnittliche Zwischenankunftszeit für jede Zuordnung
zu berechnen, erstellt einen Zeitplan für die Datenverarbeitung, und
steuert Datentransfers in die und aus den Datenpuffern.
-
Wie
in 28 zu sehen ist, weisen repräsentativ der Puffer 2016a (z.B.
SID/Kanal 1) und der Puffer 2016d (z.B. SID/Kanal 4) beide
einen Upstream-Datenpuffer und einen Downstream-Datenpuffer auf,
die jeweils eine eigene CODEC/SLIC aufweisen und von dem Sample
Clock getaktet sind, wie weiter oben beschrieben wurde. Wenn abgetastete
Stimmpaketdaten über
Kanal 1 gesendet werden sollen, verwendet ein Kanal 1-Datenzeiger
im Ansprechen auf eine Zuordnung unter Steuerung durch den DSP 2020 die
Zuordnungszeit-Berechnungsinformation von der Zuordnungszeit-Berechnungsschaltung 2023,
um zu identifizieren, von wo im Upstream-Datenpuffer die jüngsten abgetasteten
Daten entnommen und an das CM 1046 übertragen werden sollen, wobei
die weiter zurückliegenden
Abtastproben jenseits des Zeigers (d.h. die früher in dem Puffer für Kanal
1 gespeicherten) verworfen werden. Auf ähnliche Weise, wenn abgetastete
Stimmpaketdaten über
Kanal 4 gesendet werden sollen, verwendet ein Kanal 4-Datenzeiger
unter Steuerung durch den DSP 2020 im Ansprechen auf eine
Zuordnung die Zuordnungszeit-Berechnungsinformationen von der Zuordnungszeit-Berechnungsschaltung 2023,
um zu identifizieren, von wo in dem Upstream-Datenpuffer die jüngsten abgetasteten
Daten genommen und an das CM 1046 übertragen werden sollen, wobei
die weiter zurückliegenden
Abtastproben jenseits des Zeigers (d.h. die früher in dem Puffer für Kanal
4 gespeicherten) verworfen werden. Die ausgewählten abgetasteten Stimmpaketdaten
werden daraufhin von dem DSP 2020 für die Übertragung an das CMTS 1042 an
das CM 1046 übertragen,
wie weiter oben beschrieben wurde.
-
Unter
Bezugnahme auf 29a und 29b ist
ein betriebsfähiges
Ablaufdiagramm vorgesehen, das eine DSP-Systemsoftware-Entscheidungsimplementierung
gemäß der vorliegenden
Erfindung zeigt.
-
Es
wird ein System angenommen, bei dem der DSP 2020 ein 140
MIPS-Digitalsignalprozessor
wie etwa das Modell ZSP 16402 der LSI Logic Corporation ist, die
Transportpaket (TP)-Paketgröße 10 ms
beträgt, d.h.
die Stimmpaketgröße in Millisekunden
innerhalb jedes Zuordnungsintervalls, die an das/von dem Telefon übertragen
wird, und die Datenverarbeitung beinhaltet eine Stimmkomprimierung,
die aus der oben aufgeführten
Tabelle 1 ausgewählt
ist, wobei die vor der Zuordnung benötigte Datenverarbeitungszeit
2 ms für
solche Komprimierungsalgorithmen anders als G.729 beträgt, und
die benötigte
Zeit 10 ms beträgt.
Mit anderen Worten, unter erneuter Bezugnahme auf die Tabelle 1
muss der DSP für
jede 2,0 ms 4 Kanäle
von Daten codieren und decodieren, während die 10 ms für das Signalisieren
einer TP-Paketübertragung
verwendet werden. Die Stimme am fernen Ende und die Stimme am nahen
Ende werden über
den Abtastprobentakt synchronisiert. Es sollte z.B. angemerkt werden,
dass es 100% der DSP-Last erfordern würde, um 4 Kanäle von G.728
für die 140
MIPS DSP zu verarbeiten.
-
Unter
erneuter Bezugnahme auf 29a werden
an der Stufe 2080 Eingänge
bezüglich
der Kanalnummer für
die Einleitung einer Anfrage, einer entsprechenden vorliegenden
Zuordnung und eines Abtastprobentaktes vom Kabelmodem 10 für die Zuordnungszeitberechnung 2082 und
den Kanalbewertungsbeginn 2084 durch die DSP-Software zur Verfügung gestellt.
Ein bestimmter offener Kanal, d.h. Kanal i = 1, 2, 3, oder 4, wird
an Stufe 2086 bestimmt. Falls nein, beginnt die Verarbeitung
erneut, falls ja, wird die Verarbeitungszeit Ti, die in 29b zu sehen ist, an der Stufe 2088 auf
der Grundlage des gewählten
Komprimierungsalgorithmus eingestellt. An der Stufe 2090 werden
bei Empfang der Zuordnungszeitberechnung durch das DSP 2 ms Daten
ab der Zeigerstelle in dem entsprechenden Puffer ausgelesen, der
dem offenen Kanal zugeordnet ist. Bei solchen Algorithmen mit 2
ms Verarbeitungszeit werden fünf
Verarbeitungszyklen mit einem Index j von 1 bis 5 benötigt. Für den G.729-Algorithmus kann
eine 2 ms-Verarbeitungszeit nicht verwendet werden, da die unkomprimierten
Stimmdaten nur bei einer Rahmengröße von 10 ms verfügbar sind.
Insofern wird an der Stufe 2092 eine Bestimmung in Bezug
auf G.729 getroffen, und wird, falls die Bestimmung keine 2 ms Daten
ergibt, an der Stufe 2094 verarbeitet. Falls eine G.729
Komprimierung vorliegt, wird der Zyklusindex j an der Stufe 2096 bestimmt,
und falls nicht, werden mehr Daten inkrementelly j = j + 1 an der
Stufe 2098 gelesen. Sobald j = 5 an der 2096 erreicht
ist, werden 10 ms an Daten an der Stufe 3000 verarbeitet,
und das 10 ms-Paket wird dann an der Stufe 3002 gemäß dem gegenwärtigen Grant
Arrival übertragen. Ähnlich zu
der Indizierung j für Datenlesen
wird eine Indizierung j für
die Datenverarbeitung an den Stufen 3004 und 3006 durchgeführt. Sobald
der Verarbeitungsindex j = 5 an der Stufe 3004 erreicht
ist, wo die 5 2 ms-Iterations abgeschlossen sind, wird das 10 ms-Paket
an der Stufe 3002 gesendet.
-
Für den Fachmann
dürfte
es ersichtlich sein, dass alternative Ausführungsformen zu den vorliegend Beschriebenen
implementiert werden können.
Während
die vorliegende Erfindung in Verbindung mit einem Kabelmodem-/Kabelmodem-Abschlusssystem beschrieben
wurde, kann die vorliegende Erfindung beispielsweise auch mit jeglichem Übertragungssystem
verwendet werden, das eine Bandbreite periodisch und nicht auf Anfrage
zuweist, wie etwa bei dem allgemein bekannten Asynchronous Transfer
Mode (ATM)-Protokollsystem. Ferner könnten Interrupts von der Hardware
erzeugt werden, um anzuzeigen, dass eine Upstream-Übertragung
abgeschlossen ist. Dieses Signal würde die Zeit identifizieren,
wann die Upstream-Übertragungseinrichtung
alle von den Daten gesendet hat, und der Übertragungspuffer nun für eine erneute
Verwendung verfügbar
ist.