JP2004274778A - 高速データ通信モデム - Google Patents

高速データ通信モデム Download PDF

Info

Publication number
JP2004274778A
JP2004274778A JP2004087238A JP2004087238A JP2004274778A JP 2004274778 A JP2004274778 A JP 2004274778A JP 2004087238 A JP2004087238 A JP 2004087238A JP 2004087238 A JP2004087238 A JP 2004087238A JP 2004274778 A JP2004274778 A JP 2004274778A
Authority
JP
Japan
Prior art keywords
data
bit
packet
channel
scs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004087238A
Other languages
English (en)
Inventor
Ran-Fun Chiu
チウ,ラン−ファン
Mehrban Jam
ジャム,メールバン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2004274778A publication Critical patent/JP2004274778A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/143Two-way operation using the same type of signal, i.e. duplex for modulated signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J1/00Frequency-division multiplex systems
    • H04J1/02Details
    • H04J1/12Arrangements for reducing cross-talk between channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1694Allocation of channels in TDM/TDMA networks, e.g. distributed multiplexers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/22Arrangements affording multiple use of the transmission path using time-division multiplexing
    • H04L5/26Arrangements affording multiple use of the transmission path using time-division multiplexing combined with the use of different frequencies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N2007/17381Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal the upstream transmission being initiated by the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】1つの根ノート゛と少なくとも1つの葉ノードを有するデータ送信ケーブルを備えた、高速データ通信用コンピュータ・ネットワークの提供。
【解決手段】信号変換システム(SCS)が根ノート゛に接続され、少なくとも1つのクライアント・ステーションが葉ノードに接続される。SCSはダウンストリーム・データを第1周波数帯でケーブルに送信する送信機、クライアント・ステーションからのデータを第2周波数帯で受信する受信機からなり、ダウンストリーム・データは同期及び肯定応答信号を含む。コンピュータ・ネットワークは、第1周波数帯の同期情報を有する制御信号をSCSからダウンストリーム送信し、制御信号をクライアント・ステーションで受信し、第2周波数帯でクライアント・ステーションからSCSにアップストリーム送信し、及びアップストリーム送信のSCSによる第1周波数帯での受信に肯定応答するような方法で制御される。
【選択図】図1

Description

本発明は、データ通信に関するものであり、より詳細には、ケーブル上の双方向データ通信に関する。
コンピュータ・ネットワークは、以前は学界、大規模な研究共同体、企業、及び政府機関の領分であった。時が経つにつれて、これらのネットワークは、そのドメイン内に、より多くのコンピュータ・ユーザ、及び利用を含む展開を見せてきた。更に、ネットワークは、広範囲にわたって接続されて(「相互接続されて」)、インターネットとして知られる世界的規模のコンピュータ・ネットワークを形成するようになり、新しいタイプのコンピュータ・ネットワークが利用可能になってきた。従って、コンピュータは、あるタイプのコンピュータ・ネットワークに接続される可能性が、接続されない場合よりも高くなっている。
こうしたコンピュータの接続が絶えず増大し続けた結果として、「オンライン」で利用可能な情報量が膨大なものになってきている。例えば1995年8月現在、インターネット上で利用可能な情報の人気のある探索ツールの1つ(Lycos,http://www.lycos.com)には、560万のウェブ・ページのインデックスが含まれている。同様に、America Online、Compuserve、及びProdigyといったオンライン・サービスは、その特定のサービスを通じて利用可能な情報量で競争している。
情報の配布はコンピュータ・ネットワークの重要な用途であるが、コンピュータの接続性が他の多くの貴重なサービスを提供する。その一例は電子メールである。もう1つは電子商取引である。
こうした全ての理由から、過去においては、確かにネットワークまたはオンライン・サービスとの接続によって、競争上の優位性を得ることができたが、最近のビジネスにおいて、及び教育のためには、それが必須のものになっているとの一般認識に至っている。
オンライン・サービス及びインターネットのユーザの多くは、モデム及び一般的な電話回線を介してこれらのネットワークと接続している。これは、幾つかの用途には十分であるが、その他の用途では望ましくない場合もある。ユーザとユーザが接続されるコンピュータとの間に専用接続を提供することは、利点を有する。それは、ほとんどの家庭及びオフィスが既に接続されている接続回線、即ち、電話回線を利用している。ユーザに専用接続を提供することによって、ネットワークに同時にアクセスしようと試みるユーザ間における競合を解決する必要がなくなる。こうした競合は全て、複数のユーザが接続されているコンピュータにおいて解決される。(もちろん、そのコンピュータが共用回線で他のコンピュータに接続されている場合は、これらのコンピュータ間における競合を解決しなければならない)。
しかし、電話回線は、決してコンピュータを接続する理想的な手段ではない。第1に、明らかな欠点として、家庭で使用するコンピュータの環境において、家庭に設けられている電話回線は1本だけしかない可能性がある。従って、拡張的なオンライン使用が、他の用途に必要になる可能性のあるその電話回線を共用することになる。また、電話回線に関する技術的な問題点もある。これらの回線は、伝送帯域幅が3.2KHzに制限される、音声通信を意図したものである。この結果、電話回線を介したデジタル通信は、ビット転送速度が比較的低くなる。一般に、パーソナル・コンピュータと電話回線を接続する最近のモデムは、28.8kbpsに制限される。
従って、ホーム・コンピュータとコンピュータ・ネットワークを接続するための代替技術を提供することが望ましい。
ホーム・コンピュータ及び小規模オフィス・コンピュータとコンピュータ・ネットワークとの接続に関して帯域幅を拡大する技術のうち1つのタイプは、ISDN回線である。これらは、コンピュータ間のデジタル通信を意図した専用回線である。ISDNは、電話回線よりはるかに高い帯域幅を備えている。しかし、大部分の家庭、及び小規模オフィスにはISDNが設けられておらず、ISDNを取り付ける費用を負担するつもりのあるところはほとんどない。
ほとんどの家庭、及び小規模オフィスへの道を開いた技術は、ケーブルTVネットワークである。各家庭に専用回線を設ける電話ネットワークとは異なり、ケーブルTVシステムでは、近隣の全ての加入者がケーブルを共用する。しかし、電話回線に比べると、大部分のケーブルTVシステムに用いられているケーブルにおいて利用可能な帯域幅は、はるかに広い。
これらの理由から、既存のケーブルTVシステムを介して、ホーム/小規模オフィス・コンピュータとコンピュータ・ネットワークとの間で双方向データ通信を提供することが望ましい。
ある近隣地域における全てのケーブルTV加入者が、1つのケーブルを共用しているので、こうしたネットワークに接続された複数のコンピュータが、そのケーブル上で同時にデータを伝送する可能性がある。こうした同時伝送は、誤りデータを生じることになり、こうした競合問題を回避するか又は、解決するためのメカニズムがない限り、送信者のいかなるメッセージも意図した受信者によって良好に受信されることはない。
共用コンピュータ・ネットワークにおける競合を回避するという問題は、様々な方法で取り扱われてきた。初期アプローチの1つに、ALOHAシステムとして知られるものがある。ALOHAシステムは、ハワイ大学で開発されたものであり、当初は、主としてラジオ放送を利用した通信に用いられた。共用ケーブル上の通信も、ケーブルに接続された全ての局がそのケーブルを介して伝送される全ての信号を受信するという点で、放送システムであると言える。
ALOHAの基本原理は、共通チャネルを共用する全てのユーザが、任意の所定の時点でメッセージを放送できるようにすることである。送信ユーザは次に、そのチャネルで自身のメッセージを聞く。そのメッセージが受信されない(それを送ったユーザによって)場合、ユーザはそのメッセージが何らかの理由で無効にされたことを知ることになる。そのメッセージは、同時に送信された別のユーザによる別のメッセージによって無効にされた可能性が極めて高い。共通チャネルに関するこの競合を解決するため、両ユーザとも、メッセージの再送前に、ランダムな時間だけ「待機(back-off)」を行う。例えば、2人のユーザが時間tにメッセージを送ろうとすると、それぞれのメッセージが無効になる。ランダムな時間だけ待機することによって、第1のユーザがメッセージをt+r1で再送し、第2のユーザがメッセージをt+r2で再送する。r1とr2が異なる場合(本当にランダムに選択されるなら、通常はそうなるのが普通である)、その2回目の送信では、2つのメッセージ間に競合が生じることはないはずである。
ALOHAの欠点は、競合の確率が極めて高いということである。ALOHAのチャネル効率は、18%にすぎない。
ALOHAに対する1つ改良が、スロット化ALOHAである。スロット化ALOHAの場合、時間が指定された間隔に分割され、メッセージは、これらの間隔においてしか送信できない、即ち、メッセージは間隔の境界にまたがることはできない。スロット化ALOHAのチャネル効率は、38%である。
ALOHA、スロット化ALOHA、及びチャネル効率の導出に関する議論については、非特許文献1を参照されたい。
ケーブルTVシステムにおけるデータ通信の現在の解決策には、マサチューセッツ州AndoverのZenith CorporationのLANMCN-AT、及びLANcity CorporationのLCPがある。これらの製品は、共通の設計原理を共用している。両方とも、アップストリーム・データ、即ち、エンド・ユーザからケーブル・システムのヘッド・エンドに送信されるデータが、放送スペクトルの低帯域(ダウンストリーム・データ専用の周波数帯域の下)を介して伝送される。このアップストリーム・データは、2つの方法のうちの一方で操作される。第1の選択肢は、スペクトルの高帯域に周波数変換することであり、第2の選択肢は、データを復調することである。操作されたデータはこの後、高帯域上で再送される。ヘッド・エンド・サイトのモデムを含む全てのモデムは、低帯域上で伝送を行う。伝送されるデータは、周波数変換されるか又は、復調される。従って、全てのモデムは高帯域上で受信を行う。
アップストリーム・データ、及びダウンストリーム・データは、同じ帯域幅で同じデータ転送速度を有している。実際、ヘッド・エンドにおけるモデムは、システム内の他の全てのモデムと同様に取り扱われるので、アップストリーム・データとダウンストリーム・データの区別がない。
ケーブルTVのケーブル上でのデジタル・データ通信に関するこのタイプの解決策には幾つか問題がある。第1に、ダウンストリーム帯域の伝送特性とアップストリーム帯域の伝送特性が異なっている。アップストリーム帯域(低帯域)は、ダウンストリーム帯域に比べてはるかにノイズが多い。両帯域において同じデータ転送速度を実現するには、ダウンストリーム帯域をアップストリーム帯域に適合させることになる。従って、この方法では、ダウンストリーム帯域のデータ転送速度に関する潜在能力を十分活かすことができない。
第2に、ほとんどの場合、アップストリーム・データは、遠隔サーバを意図したものであって、同位エンド・ユーザを意図したものではない。従って、ダウンストリーム帯域上のデータの再送は、ダウンストリーム帯域幅を浪費することになる。
従って、共用ケーブルを利用し、伝送ケーブルの利用可能帯域幅を十分に活用する、効率の高い高速データ通信システムを提供することが望ましい。
本発明の他の利点、及び特徴については、以下の詳細な説明に関連して明らかになる。
Tanenbaum,Andrew著「Computer Network第2版」Prentice-Hall出版、121ないし124頁
本発明の目的は、1つのケーブルによって接続されたコンピュータ・ネットワーク上の高速な双方向のビデオ、オーディオ、及びデータ通信を可能にすることである。
本発明のもう1つの目的は、ネットワーク内のクライアント・ステーションが信号変換システムと通信できるようにする予約システムを提供することにある。
本発明の更にもう1つの目的は、幾つかの装置が共用メモリに対して並列アクセスを行う、高速データ通信システムを提供することにある。
本発明の更にもう1つの目的は、クロック・サイクル毎の1回のメモリ・アクセスの平均スループットで、共用メモリに対する並列装置アクセスを可能にすることにある。
以上の及びその他の目的は、根ノード及び少なくとも1つの葉ノードを備えたデータ伝送ケーブルを具備する、高速データ通信用コンピュータ・ネットワークを提供することによって実現される。根ノードには、信号変換システム(SCS)が接続され、葉ノードには、少なくとも1つのクライアント・ステーションが接続される。SCSは、第1の周波数帯域において、ダウンストリーム・データを前記ケーブル上に送出する送信器と、第2の周波数帯域において、前記クライアント・ステーションからデータを受信する受信器から構成され、前記ダウンストリーム・データは、同期信号と肯定応答信号を含む。各クライアント・ステーションは、前記第1の周波数帯域においてデータを受信する受信器と、前記第1の周波数帯域において受信した同期信号に基づいて、第2の周波数帯域においてデータを送信する送信器を備えている。
コンピュータ・ネットワークは、第1の周波数帯域上の同期情報を備える制御信号を、信号変換システム(SCS)からダウンストリーム送信するステップと、クライアント・ステーションにおいて前記制御信号を受信するステップと、第2の周波数帯域において、前記クライアント・ステーションから前記SCSへのアップストリーム送信を行うステップで、前記送信が前記同期情報に関してタイミングがとられている前記ステップ、及び前記SCSが前記第1の周波数帯域において、前記アップストリーム送信を良好に受信したことに肯定応答を行うステップから構成される方法に従う。
クライアント・ステーションの送信パケットには、後続の送信に備えた、前記第2の周波数帯域における予約スロットの要求を含むことが可能であり、SCSは、要求された予約スロットの開始時間を決定する働きをするスケジューラを備えており、要求された予約スロットに関する開始時間を送信する。予約スロットを要求したクライアント・ステーションは、その開始時間まで、その送信の続行を延期する。
本発明によって、1つのケーブルによって接続されたコンピュータ・ネットワーク上の高速な双方向のビデオ、オーディオ、及びデータ通信を可能にし、ネットワーク内のクライアント・ステーションが信号変換システムと通信できるようにする予約システム、及び幾つかの装置が共用メモリに対して並列アクセスを行う、高速データ通信システムを提供し、更に、クロック・サイクル毎の1回のメモリ・アクセスの平均スループットで、共用メモリに対する並列装置アクセスを実現することができる。
図1には、本発明に従って、ヘッド・エンド103に配置された信号変換システム(SCS)101と加入者位置に配置されたクライアント・ステーション105a〜105jとの間のデータ通信を提供するために適用された、近隣のケーブルTVシステム100が示されている。各SCS101は、遠隔サーバ・ステーションに、及び遠隔サーバ・ステーションからデータ・パケットを経路付けするパケット・ルータ117に接続されている。代替接続案では、例えば101''のようなSCS101が、固定ビット転送速度サービス交換回路の回路交換装置119に対してローカル、又は遠隔インタフェイスを行う。後者は、電話ネットワークに対するデジタル化音声接続を提供するために用いることも可能である。
多くのケーブルTVシステムでは、約500〜2000人の加入者が、同じヘッド・エンド103につながっている。ヘッド・エンド103は、ファイバ・ノード109に接続された光ファイバ・ケーブル107a及び107bを介して様々な加入者位置105と通信を行う。ファイバ・ノード109は更に、同軸ケーブル111a及び111bを介して接続されている。ファイバ・ノード109は、光信号と電気信号との間で変換を行うためのメカニズムを含んでいる。ルータ117とSCS101との間の通信はデジタル形式である。しかし、ヘッド・エンド103と加入者位置との間の通信はアナログ形式である。
SCS101は、ルータ117間におけるデジタル通信信号と、ケーブルTVシステムの光ファイバ、及び同軸ケーブル上に生じるアナログ通信信号の変換を行う。
各クライアント・ステーション105は、コンピュータ115に接続されたケーブル・モデム113を含む。代替実施例では、コンピュータ115の代わりに、ケーブル111を介したヘッド・エンド103とのデータ通信によって恩恵を受ける他の装置が用いられる。こうした代替例は、例えば、ビデオ・オン・デマンド・タイプのサービス、及び対話型テレビといった特定のケーブルTVの働きを要求するためのセット・トップ・ボックスを含む。
図2は、信号変換システム(SCS)101のブロック図である。信号変換システム(SCS)101は、ファイバ・ケーブル107a及び107bに接続されている。SCS101は、送信器205を用いて、64-QAM(64ビット直交振幅変調)または256-QAM(256ビットQAM)送信フォーマットを利用したデータをファイバ・ケーブル107a上に送出する。SCS101は、複数の受信器207を用いて、ファイバ・ケーブル107b上の幾つかのチャネルのQPSKデータを受信する。送信器205及び受信器207は両方とも、SCSバス203に接続されている。
SCS101は、ルータ117に接続されたルータ・インタフェイス201を含む。ルータ・インタフェイス201は、ルータ117に対して、例えば、インターネット・プロトコル(IP)・パケット、又はATMセルといったデジタル・データ・パケットの受信、及び送信を行う。ルータ・インタフェイス201は、内部バス203に接続され、SCS101の他のコンポーネントに、及びコンポーネントからデータを送信する。
中央演算処理装置(CPU)209は、ルータ・インタフェイス201の、64-QAM、QPSK、及びデジタル・パケット・フォーマット間のデータ変換を管理する。CPU209は、バス203上のデータ・トラヒックも管理する。更に、ケーブル107a及び107b上の送信及び受信データの大部分は、拡張処理及び拡張フォーマッティングを必要とする。CPU209は、この処理とフォーマッティングの責務を果たす。CPU209の動作を制御するための手順の多くが、バス203に接続されたROM211に記憶されている。バス203には更に、処理及び再送中にデータを記憶するためのRAM213が接続されている。SCS101、及びCPU209のようなそのコンポーネントの動作を制御するための他の手順が二次記憶装置213及び215に記憶され、両方ともI/O装置217を介してバス203に接続される。
多くの場合、ケーブル107a及び107bを介してSCSに、及びSCSから送信されるデータは、暗号化される。CPU209は、データ暗号装置219を呼び出し、暗号化及び暗号解読タスクを実行する。好適実施例では、SCSは、暗号化にデータ暗号化標準DESを使用する。
図3は、ケーブル111及びパーソナル・コンピュータ(PC)115に接続されたケーブル・モデム(CM)113の高レベル概略図である。CM113は、ケーブルからのデータ信号をチューナ303で受信し、送信器305によってデータ信号をケーブル上に送出する。好適実施例では、チューナ303は、64-QAM受信器であり、送信器は、QPSK送信器である。
高レベルの説明において、CM113は、PC115とケーブル111の間で送信される信号のフィルタリング、これらの信号の暗号化/暗号解読(必要に応じて)、データのバッファリング、及びケーブル上の送信のための通信プロトコルとモデム−PC間の送信のための通信プロトコルとの間の変換に責務を負っている。これらの及びその他の機能(後述のような)は、様々なコンポーネント回路によって達成される。CM113の中心部は制御回路301である。制御回路301は他のコンポーネント回路に接続されており、マイクロプロセッサ302の助けを借りて、タイミング、及び様々な他のコンポーネント回路間で共用する装置を制御する。
CM113とPC115の間の通信は、ローカル・エリア・ネットワーク(LAN)・トランシーバ回路307によって実施される。LAN回路は制御回路301に接続される。好適実施例では、CM113とPC115の間の特定のI/Oインタフェイスは10-baseTプロトコルを使用しているが、他のモデム−PC間プロトコルも許容可能な代替案である。代替実施例では、ヒューレット・パッカード社の100baseVGプロトコルのような他のLANプロトコルを使用することが可能である。
PC115とケーブル111との間で送信される情報は、制御回路301に接続されたケーブル・モデム内のランダム・アクセス・メモリ309にバッファリングされる。後述するように、CM113とケーブル・システムとの間の通信は、他のクライアント・ステーション105によって送信されるメッセージと競合することになる。更に、競合は、予約システムを用いることによって回避される。競合処理、及び予約システムは、PC115に対して透過的である。従って、送信されるのを待っている間、メッセージはRAM309にバッファリングされる。更に、入力メッセージ、又は出力メッセージの追加処理が、それぞれ、ケーブル111、又はPC115への再送前に、CM113によって要求される。こうした処理は、暗号化及び暗号解読を含む。暗号化/暗号解読は、制御回路301に接続された暗号回路311によって実行される。
ケーブル111を介した通信は、5MHzないし750MHzの周波数範囲にわたって周波数多重化技法を用いることによって可能となる。標準TVチャネルは通常、50MHzを超える範囲で送信される。こうした各チャネルは6MHz幅である。一般に、50MHz未満の周波数は統制がとれておらず、極めてノイズが多い。好適実施例では、アップストリーム通信(CM113からSCS101への通信)は、5ないし42MHzの周波数スペクトルの2MHz幅の周波数帯域に発生し、ダウンストリーム通信(SCS101からCM113への通信)は、50MHz以上の範囲における6MHz幅の標準TVチャネルで発生し、今後はこのチャネルは、ダウンストリーム・チャネルと呼ばれる。従って、5ないし42MHz帯域は、クライアント・ステーション105からSCS101への通信チャネルが選択されうるスペクトルとして機能し、50MHzを超える帯域は、SCS101からクライアント・ステーション105への通信チャネルが選択されうるスペクトルとして機能する。
代替実施例は、各方向における多重通信チャネルを提供する。こうした代替案は、前述の好適実施例の自然な拡張であり、本発明の範囲内である。例示のため、本発明は、1方向につき1チャネルの実施例に関して記述している。しかし、当該技術の熟練者であれば、本発明を多重チャネル代替案に適用する方法は明らかである。
図4は、50MHz未満で送信される信号のグラフの例である。この例から分かるように、例えば、8ないし12MHz、15ないし20MHz、23ないし27MHz、及び31ないし37MHz間におけるように、アクティビティのほとんどない幾つかの領域が存在する。他の領域は極めてノイズが多い。信号変換システム(SCS)101は、5ないし42MHzの周波数帯域を絶えず監視し、ノイズのない2MHz幅の帯域を見つける。こうした帯域を見つけた後、信号変換システム(SCS)101は、その2MHz帯域の周波数(例えば、中央又は最初の)をクライアント・ステーション105に同報通信する。この2MHzの帯域は、クライアント・ステーション105によって、データを信号変換システム(SCS)101に送信するために用いられ、今後は、「アップストリーム・チャネル」と呼ばれる。多重チャネルの代替実施例では、信号変換システム(SCS)101が、アクティビティの低い2つ以上の2MHz幅の帯域を見つけ、こうした各帯域の周波数を同報通信する。
好適実施例では、ダウンストリーム通信に64-QAMが用いられる。64-QAMでは、データの記号毎に6ビットが同時に同報通信される。本発明では、これらのビットの1つが制御情報に用いられ、残りの5ビットはペイロード・データである。制御ビットは今後、「制御チャネル」と呼ばれる。
図5には、ダウンストリーム・チャネル及びアップストリーム・チャネル上のアクティビティが例示されている。アップストリームの場合、通信時間がスロットと呼ばれる均一な長さの間隔に分割される。各スロットは番号によって識別される。スロット番号は順次番号であり、0から最大カウント(Maximum_Count)までカウントされ、最大カウントに達すると、スロット番号は0にリセットされる。好適実施例では、最大カウントは32未満である。他の実施例では、更に大きい最大カウント値が許容される。最大カウントは、SCSによってプログラム可能である。図5に示す例の場合、時間線501によって14のスロット(0ないし13)が示されている。時間線501のスロット境界は、信号変換システム(SCS)101に関連している。ケーブルに沿ったデータの伝搬に関連する時間遅延が存在するため、様々なクライアント・ステーション105が、異なる境界でデータの通信及び受信を行う。
各時間スロットの長さは、固定数のダウンストリーム制御チャネル・フレームによって表される。スロット毎のフレーム数は、信号変換システム(SCS)101によってプログラム可能である。しかし、この比率(フレーム/スロット)は、リセットされるまで一定である。時間スロットには、競合中に許容される最大送信パケットをアップストリーム送信するのに必要な時間、及びSCS101に最も近いクライアント・ステーション105とSCS101から最も遠いクライアント・ステーション105との間のラウンド・トリップ伝搬遅延の差を包含するサイズが与えられている。
制御フレームは、信号変換システム(SCS)101と制御チャネル内の個々のクライアント・ステーション105との間の基本通信単位である。好適実施例では、制御フレームの長さは20バイトである。共通のフレーム・フォーマットが存在する。図6は、共通フレーム・フォーマットのブロック図である。各フレームは、図6に示す一般構造に従う。各フレームは、同期フラグ601から始まる。ダウンストリーム制御チャネルのフレーム内容は、同期フラグ601を使用して、フレームの先頭を表示する。好適実施例では、同期フラグの値は「0110」であるが、慣例に従って他のビット・シーケンスを採用することも可能である。
好適実施例では、4タイプのフレーム、即ち、肯定応答フレーム、制御フレーム、可変ビット転送速度(VBR)データ・フレーム、及び制御ビット転送速度(CBR)データ・フレームがある。タイプの識別は、タイプ・フィールド603によって行われる。次に、5ビット・フィールド605によってフレームに関するスロットIDが与えられる。スロットIDの最大値は、信号変換システム(SCS)101によってプログラム可能である。
スロットは、2つのクラス、即ち、競合スロットと予約スロットに分割される。競合スロットにおいて、クライアント・ステーション105の全て、又はクライアント・ステーション105の部分集合が、アップストリーム・チャネル上で送信することが可能である。予約スロットは、ある特定のクライアント・ステーション105に占有され、アップストリーム・チャネル上で情報パケットを送信できるのは、その特定のクライアント・ステーション105だけである。
図5に示す例では、2つのクライアント・ステーション105aと105bが、アップストリーム・チャネル上で時間を争う。ライン502は、クライアント・ステーション105aによってアップストリーム・チャネル上で行われる送信を表し、ライン504は、信号変換システム(SCS)101によるアップストリーム・チャネル上でのメッセージの受信を表し、ライン506は、信号変換システム(SCS)101によって制御チャネル上で行われる送信を表し、ライン508は、クライアント・ステーション105aと105bによる制御チャネルにおけるメッセージの受信を表し、ライン510は、クライアント・ステーション105bによってアップストリーム・チャネル上に置かれたメッセージを表している。
信号変換システム(SCS)101によって送出されたメッセージによって、アップストリーム送信のビートが設定される。競合スロットにおいては、全ての送信が、ある1つのスロット内において、送信パケットが完全に通信されるように実施される。しかし、予約スロットにおいては、データ・パケットは、スロット境界を越えることが可能である。クライアント・ステーション105は、制御チャネルを監視して、スロットがいつ始まり、いつ終わるかを確認する。送信遅延のため、これらのスロット境界は、信号変換システム(SCS)101からの距離に応じて、個々のクライアント・ステーション105によって異なる時間で感知されることになる。
図5のライン502で、クライアント・ステーション105aは、タイム・スロット0において、要求505を送出する。信号変換システム(SCS)101の遠近関係による伝搬遅延のため、クライアント・ステーション105aは、タイム・スロット0の途中でその送信を開始する。
下記の議論において、例示のため、データ・パケットはタイム・スロット全体を費やすものとして示される。実際には、パケットが費やすのは1タイム・スロット未満であり、タイム・スロットには、伝送遅延を許容するようなサイズが与えられている。情報パケットは、アポストロフィが付加された同じ参照番号を用いることによって、別のステーションによって送信されたパケットの受信バージョンとして表示される。例えば、クライアント・ステーションが、パケット505を送信したとして、それが受信されると、それがパケット505'として示される。
ライン504は、信号変換システム(SCS)101の遠近関係から見たアップストリーム・チャネルを表している。やはり、伝搬遅延のため、信号変換システム(SCS)101は、パケット505'で示すように、パケット505が送信された時間より遅い時間にそのパケットを受信する。信号変換システム(SCS)101は次に、パケット505を処理する。クライアント・ステーション105から送信されるデータ・パケットは、独立型とすることが可能で、即ちそれは、信号変換システム(SCS)101に対する完全な情報通信である。しかし、クライアント・ステーション105が、1つのパケットに納まる情報より多くの情報、即ち、1つのタイム・スロットにおいて送信可能な情報より多くの情報の送信を行いたい場合があるので、クライアント・ステーション105から送信される初期パケットは、通信の残余部分の送信をするために、将来追加するスロットを予約する要求を含むことができる。図5の例では、クライアント・ステーション105aは、全部で3つのタイム・スロットにまたがる情報の送信を行おうとしている。従って、初期パケット505は、2つの追加専用タイム・スロットの予約要求を含んでいる。
要求を処理する際、信号変換システム(SCS)101は、クライアント・ステーション105aに将来のタイム・スロットを2つ割り当てる。ライン506は、信号変換システム(SCS)101の遠近関係から、制御チャネルを表している。割り当てに続いて、信号変換システム(SCS)101は、制御チャネル上でクライアント・ステーション105に肯定応答メッセージ507を送信する。肯定応答メッセージは、クライアント・ステーション105に対して、メッセージを受信したことを知らせ、また、予約要求がある場合には、クライアント・ステーションが通信の残余部分を送信するのに待たなければならないタイム・スロットの数を知らせる。図5の例では、信号変換システム(SCS)105がクライアント・ステーション105aから予約要求パケット505を受信した時点で、他の予約がされておらず、従ってクライアント・ステーション105aは、パケット507'の肯定応答メッセージを受信した際に、通信の残余部分の送信を開始することができる。従って、肯定応答メッセージ・パケット507は、クライアント・ステーション105aに対して、遅延長(クライアント・ステーション105aが残余部分の送信をする前に待たなければならない時間)がゼロであることを知らせる。
伝搬遅延のために、クライアント・ステーション105aは、パケット505の送信をタイム・スロット0において開始したが、タイム・スロット2の途中までに、信号変換システム(SCS)101による受信が完了しなかった。全ての送信がタイム・スロットの境界で実施されるので、信号変換システム(SCS)101は、タイム・スロット3の開始まで待ってから、肯定応答パケット507の送信を開始する。ライン508は、クライアント・ステーション105aの遠近関係から制御チャネルを表している。肯定応答メッセージ・パケット507'は、そのメッセージから、その予約要求パケット505が信号変換システム(SCS)101によって受け取られ、その予約スロットが遅延なく送信されることになるということを認識する、クライアント・ステーション105aによって受信される。従って、クライアント・ステーション105aは、アップストリーム・チャネル上で(ライン502で示すように)、パケット509a及び509bにおけるその通信の残余部分を送信する。
図5の例では、クライアント・ステーション105bは、4つのパケットの情報を送信しようとしている。上述のように、クライアント・ステーション105bは、後続の3つのパケットに関する予約要求を含む1つのパケットを送信できる。従って、クライアント・ステーション105bは、第1の予約要求パケット511を送信する。要求メッセージ・パケット511は、3つのタイム・スロットの予約要求を含む。
ライン504で示すように、信号変換システム(SCS)101は、要求メッセージ511'を受信する。追加の3つの専用タイム・スロットの予約要求を処理する際、信号変換システム(SCS)は、クライアント・ステーション105bが肯定応答を受信するまでに、クライアント・ステーション105aが、その通信の残余部分に関して第1のパケット509aを送信済みであるが、まだ、第2のパケット509bに関する追加のタイム・スロットを必要としていることを認識している。従って、肯定応答メッセージ・パケット513は、クライアント・ステーション105bに対して、その予約は受け入れられたが、肯定応答パケット513'を受信した後、1つのタイム・スロット分の遅延後に、そのパケットの残余部分の送信を開始すべきであることを示す。この遅延は、タイム・スロット515として示される。その遅延の後、クライアント・ステーション105bは、アップストリーム・チャネル510上で、残余部分の3つのパケット517a、517b、及び517cを送信する。これらは信号変換システム(SCS)101によって、パケット517a'、517b'、及び517c'として受信される。
特に予約されていないスロットは、競合スロットである。従って、この例の場合、第1の予約スロットがスロット番号4なので、スロット0ないし3は競合スロットである。スロット4ないし8は、クライアント・ステーション105a及び105bによって予約されている。しかし、スロット9ないし13は予約されておらず、従って、競合スロットである。
図5の例では、競合スロットにある間に競合が生じることはない。クライアント・ステーション105aと105bの競合はタイム・スロット0以前のある時点において生じた可能性がある。各フレームはチェック・サムを含む。チェック・サムは、例えば、CCITT X.25に定義されるような、巡回冗長検査符号である。
競合が生じると、メッセージに誤りが生じる。従って、チェック・サム計算が失敗する。信号変換システム(SCS)101がチェック・サム計算の失敗を検出した場合は常に肯定応答メッセージを送信しない。従って、クライアント・ステーション105は肯定応答を受信しない。メッセージの送信と肯定応答の受信との間の予想遅延時間は、既知である(それは、最大伝搬遅延に処理時間を加えたものである)。従って、クライアント・ステーション105が、この予想時間内に肯定応答を受信しなければ、送信が失敗したことが分かる。競合が送信失敗の原因である可能性が高い場合、クライアント・ステーション105の競合解決メカニズムが呼び出される。
一実施例では、クライアント・ステーション105の競合解決メカニズムは、イーサネットの技法と同様である。競合するクライアント・ステーションのそれぞれは、ランダムな時間だけ待機を行う。それぞれのランダムな時間の終わりで、クライアント・ステーション105は再び、それぞれのメッセージを送信しようと試みる。制御回路301に接続された乱数発生器313が、待機に用いられる乱数を計算する。一実施例では、再送前に遅延させるべきタイム・スロット数の範囲は、送信を試みた回数の関数である。n番目の再送試行前に遅延させるべきタイム・スロット数は、下記範囲において均一に分布した整数乱数rとして選択される:
0≦r<2k
ここで、k=min(n,7)
最大許容回数の再送試行が失敗すると、CM113によってエラー状態が報告される。好適実施例では、最大再送試行回数は16である。
代替実施例では、競合の取り扱いは、所定グループのモデムからの再送だけを許可することによって実施される。連続再試行の際には、より小さい部分集合のモデムに再送が許可される。この実施例では、システム内のCM113が、2分木をなすように構成される。SCS101は、誤りを生じたメッセージの受信を検出すると、所定のCM113をオフにするメッセージを送出する。最初に、SCS101は、木の根から1レベルだけ降下して、木の最初の半分における全てのCMを順次オフにし、次に、これらのCMを再起動し、残りの半分におけるCMをオフにする。SCS101が更に競合を検出する場合には、更に1レベル降下して、そのレベルの特定の枝における全てのCMを枝毎に順次オン・オフする。SCS101は、競合をもはや検出しなくなるか、又は、2分木の葉まで降下するまで、この手順を繰り返す。
図7は、制御チャネル上で送信されるダウンストリーム肯定応答フレーム700のフォーマットに関するブロック図である。信号変換システム(SCS)101は、チェック・サム計算の成功によって示されるように、クライアント・ステーション105の1つからのメッセージの受信に成功すると、図7に示すように、肯定応答フレーム700を送信する。他の全てのフレームと同様、肯定応答フレーム700は、図6のフレーム600の一般フォーマットに従う。それは、上述のように、同期フィールド701、フレーム・タイプ・フィールド703(肯定応答フレーム700の場合には「00」)、スロットIDフィールド705、スロット・タイマ・フィールド707、及びチェック・サム・フィールド721を含む。これらのフィールド701、703、705、707、及び721はそれぞれ、フィールド601、603、605、607、及び611に対応する。
肯定応答フレーム700のタイプ依存内容609を利用して、異なるアップストリーム・チャネル上で送信するクライアント・ステーション105からのメッセージを2つまで肯定応答することができる。これらのクライアント・ステーション105のうち第1のクライアント・ステーションのモデムMACアドレスはフィールド709で与えられ、第2のクライアント・ステーション105については、異なるチャネルからのフィールド715で与えられる。
クライアント・ステーション105が信号変換システム(SCS)101にメッセージを送信する際、そのメッセージにメッセージIDを割り当てる。肯定応答されたこのメッセージIDは、信号変換システム(SCS)101によって、それぞれ、メッセージIDフィールド709及び717内でクライアント・ステーション105にエコー・バックされる。
肯定応答されたメッセージが予約要求を含む場合、クライアント・ステーション105が残余部分の送信前に待たなければならないスロット数がそれぞれ、予約遅延フィールド713及び719内で送信される。
好適実施例では、制御フレームのサブタイプが11存在する。別の実施例は、制御フレームの追加サブタイプを含む。これら制御フレームのサブタイプは次の通りである:
* アイドル・サブフレーム
* スロット/チャネル状況サブフレーム
* ケーブル・モデム使用禁止/使用可能化要求
* アップストリーム/ダウンストリーム・チャネル切り替え要求
* エコー要求
* パラメータ取得/設定要求
* キー交換開始要求
* 電力レベル調整応答。
これらのサブフレーム・タイプはそれぞれ、図6に示す一般フォーマットに従い、特定のサブフレーム・タイプに関する追加フィールドを含む。タイプ・フィールド603には、そのフレームが制御フレームであることを表す値「01」がセットされる。スロット・タイマ・フィールド607に続いて、制御フレームは、2バイト長のサブフレーム・タイプ・フィールドを含む。
動作時、信号変換システム(SCS)101は、制御フレームを連続的に送信する。従って、特定のタイム・スロットにある間、信号変換システム(SCS)101が送信すべきダウンストリーム情報を有していない場合、信号変換システム(SCS)101は、それでも、制御フレームを送信する。このフレームは、サブフレーム・タイプ・フィールド「00」を含む。フレームの残余部分は、擬似ランダム・シーケンスである。擬似ランダム・シーケンスは、64-QAM受信チューナ303が送信器305と同期していられるのに十分な遷移を提供するため、できるだけランダムであることが望ましい。
チャネル/スロット状況サブフレーム・タイプは、SCS101によって各タイム・スロットの第1のフレームとして送信される。このフレームは、各アクティブ・アップストリーム・チャネル毎に、次のタイム・スロットの占有状況、及び、現在利用可能なアップストリーム及びダウンストリーム・チャネルの情報を伝える。チャネル・スロット状況サブフレームは、下記の特定のフィールドを含んでいる(表1)。
Figure 2004274778
(チャネル/スロット状況サブフレーム・タイプに関するフィールドの多くは、他のサブフレーム・タイプによって用いられている。従って、以下のサブフレーム・タイプに関する説明は、表1を参照する)。
ケーブル・モデム使用禁止/使用可能化要求サブフレーム・タイプは、信号変換システム(SCS)101によって特定のケーブル・モデム113のオン・オフに用いられる。このサブフレーム・タイプは、使用禁止の場合0x03、使用可能化の場合0x05である。CM使用禁止/使用可能化サブフレームは、そのフレームが送信される特定のCM113を一意に識別する、6バイトのMACモデム・アドレス・フィールドである。
アップストリーム・チャネル切り替え要求サブフレーム・タイプは、CM113に命じて、そのアップストリーム通信を異なるチャネルに切り替えるために、SCS101によって用いられる。上述のように、アップストリーム周波数範囲は、比較的ノイズが多い可能性がある。従って、信号変換システム(SCS)101の通常動作中に、SCS101は、それとのアップストリーム通信を異なる周波数で行うのが望ましいと感じ取る場合がある。更に、信号変換システム(SCS)101は、特定のアップストリーム・チャネルの使用率が高く、別のアップストリーム・チャネルの使用率が比較的低いことを検出する場合もあり、従って、あるCM113に、様々なアップストリーム・チャネル間における使用率のバランスをとるため、周波数を変更するよう要求する。
アップストリーム・チャネル切り替え要求サブフレームは、要求が送信されるモデムMACアドレスに関する6バイトのフィールドを含む。このサブフレームは、現在のアップストリーム・チャネル番号(1バイト)、記号当たりの現在のビット数(2ビット、表1参照)、現在の記号転送速度(6ビット、表1参照)、及び現在のアップストリーム・チャネルの中心周波数(2バイト、表1参照)も含む。更に、このサブフレームは、切り替えるべきアップストリーム・チャネルのチャネル番号を識別するためのフィールド(1バイト)、記号当たりの新らしいビット数(2ビット、表1参照)、新しい記号転送速度(6ビット、表1参照)、及び新しいチャネルの中心周波数(2バイト、表1参照)も含む。
ダウンストリーム・チャネル切り替え要求サブフレーム・タイプは、CM113に命じて、その受信器を切り替え、要求フレームにおいて指定された受信器による受信を開始させるために、信号変換システム(SCS)101によって送信される。このフレームは、モデムMACアドレスに関する6バイトのフィールド、及び切り替えるべきダウンストリームNTSCチャネル番号に関する1バイトのフィールドを含む。
エコー要求サブフレーム・タイプが、信号変換システム(SCS)101によって送信される。クライアント・ステーション105は、エコー要求を受信すると、アップストリーム・チャネルの1つの上で、信号変換システム(SCS)にエコー応答メッセージ(アップストリーム・チャネル・フォーマットに関するセクションにおいて後述)を送信する。エコー要求サブフレーム・タイプは、モデムMACアドレス・フィールド(6バイト)、及びテストIDフィールド(4バイト)を含む。テストIDフィールドは、信号変換システム(SCS)101によって設定される乱数を含む。
パラメータ取得/設定要求サブフレーム・タイプは、主としてSNMP(単一ネットワーク管理プロトコル)に用いられる。信号変換システム(SCS)101に配置されたSNMP代理エージェントが、パラメータ取得/設定要求を利用して、クライアント・ステーション105、又はクライアント・ステーション105に配置されたCM113に関する情報を取得するか又は、あるCM/クライアント・ステーション・パラメータをクリアまたは設定する。パラメータ取得及び設定要求は、サブフレーム・タイプ・フィールドに関する値が異なることによって区別される。パラメータ取得及び設定要求は、要求が送信されるケーブル・モデム113を識別するためのモデムMACアドレス・フィールド(6バイト)、及びパラメータIDフィールド(1バイト)を含む。設定要求サブフレーム・タイプは、パラメータに関する新しい値を含む、長さが7バイトまでの内容フィールドも含む。パラメータ取得/設定要求サブフレームによって検索または設定可能なパラメータの幾つかを下記に示す:
* ペイロード・チャネルCRCエラー・カウント
* ペイロード・ミス・バッファ・エラー・カウント
* ペイロード受信パケット・カウント
* 制御チャネルCRCエラー・カウント
* 制御チャネル・ミス・バッファ・カウント
* 制御チャネル受信パケット・カウント
* アップストリーム送信送再試行カウント
* アップストリーム送信パケット・カウント
* 自己テスト(実施/報告)
* 特定テストの実施/結果報告
* アップストリーム暗号化
* ファームウェア・フラグ番号n(セット/リセット/報告)
* ファームウェア・レジスタ(読み取り/書き込み/報告)。
DESキー交換サブフレーム・タイプは、CM113に命じて、DESキー・ハンドシェイクを開始させるために、信号変換システム(SCS)101によって用いられる。このキー交換は、Diffie-Hellmanキー交換アルゴリズムを使用している。DESキー交換要求サブフレームは、要求が送信されるケーブル・モデム113を識別するためのモデムMACアドレス・フィールド(6バイト)を含む。
ダウンストリーム・ペイロード・チャネル
図8は、SCS101からケーブル・モデム113に送信されるダウンストリーム・ペイロード・データ・フレーム749のブロック図である。フィールド751は、ビット列「01111110」を含む1バイト長の同期フラグである。フレームの残りは、フレーム内に他の6ビット・ストリングをなす1が存在しないことを保証するため、ゼロが挿入される。従って、CM113は、ゼロが後続する、5つの1からなるストリングに遭遇すると、SCSによってゼロのビットが挿入されたことが分かり、データ処理の前に廃棄する必要がある。
次は、フレームの受信者を識別するための6バイトのモデムMACアドレス・フィールド753である。マルチキャスト・パケットでは、MACアドレス・フィールド753は、加入者のケーブル・モデム113のマルチキャストMACアドレスを含む。
フィールド755は、CM113に対して、送信データが暗号化テキスト(1)であるか、あるいは、平文テキスト(0)であるかを示すための1ビットの暗号化フラグである。
2タイプのペイロード・フレームが存在する、即ち1つは、加入者データを送信するペイロード・フレームであり、もう1つはモデム制御メッセージを送信するペイロード・フレームである。フィールド757は、そのフレームが加入者データ(0)を有しているか、あるいは、モデム制御メッセージ(1)を有しているかを示すための1ビットのフラグである。
フィールド759は、メッセージのタイプを識別する6ビットのフィールドである。このメッセージ・タイプは、下記のものを含む:
加入者データに関して:
* イーサネット・フレーム
* ATMセル
モデム管理メッセージに関して:
* マルチキャスト・アドレス追加要求
* マルチキャスト・アドレス削除要求
* DESキー交換応答
* テスト要求。
フィールド760は、バイト数で埋め込みの長さを識別するための3ビットのフィールドである。暗号化のため、ペイロードは、8の倍数のバイト長である。従って、7バイトまでを利用して、メッセージの長さの埋め込みを行い、ペイロードがこの目標を達成することを保証する。暗号化を必要としないか又は、暗号化標準が、メッセージの長さが8の倍数であることを必要としない代替実施例では、埋め込みフィールド及び埋め込み長さフィールドは不要である。
フィールド761は、未使用ビットからなる5ビットのフィールドである。これらのビットは、メッセージ・フィールド763がバイト境界に重ならないようにするために追加される。フィールド763は、メッセージ・タイプ依存内容からなる可変長(バイト単位のインクリメント)フィールドである。イーサネットMTUに合わせるため、メッセージ内容フィールドにおけるMTUは、1514にセットされる。メッセージ内容フィールド763は、そのバイト長が8の倍数になることを保証するため、7バイトまでの埋め込みが行われる。
フィールド765は、イーサネット多項式巡回冗長検査技法を使用した4バイト長のCRC-32チェック・サムである。
好適実施例では、4タイプのモデム管理メッセージが存在する。最初の2つのモデム管理メッセージ・タイプは、マルチキャスト・アドレス追加要求と、マルチキャスト・アドレス削除要求である。マルチキャスト・アドレス追加要求は、その要求が送信されるCM113に命じて、そのCMが加入しているマルチキャスト・アドレスのリストにマルチキャスト・アドレスを追加させるものであり、マルチキャスト・アドレス削除要求は、そのCM113に命じて、CMの加入リストから指定のマルチキャスト・アドレスを削除するものである。マルチキャスト・アドレス追加要求及びマルチキャスト・アドレス削除要求の場合、内容フィールド763は、マルチキャスト・アドレスに関する6バイトのフィールドと、1バイトのハッシュ・キー・フィールドを含む。ハッシュ・キーは、マルチキャスト・アドレスのCRC-32の上位6ビットである。ハッシュ・キー・フィールドの下位6ビットは、これらの6ビットを含んでいる。ハッシュ・キーは、削除が必要なマルチキャスト・アドレスをより迅速に検索するために、CM113によって使用されうる。
第3のモデム管理メッセージは、CM113のキー交換の要求に対する応答メッセージである、DESキー交換応答である。この応答は、2つの数N2、及びN3を含んでいる。N2は、長さが200ないし400ビットの、Pを法としたBR2の結果であり、N3は、キーKによる暗号化されたN1の結果である(ここで、Kは、Pを法としてN1R2から導出される)。B及びPは、SCS101及び全CM113にとって既知の数であり、R2は、キー交換要求を受信する毎に、SCS101が選択する乱数である。DESキー交換は、暗号化されない。
第4のモデム管理メッセージは、テスト要求メッセージ・タイプである。テスト要求メッセージ・タイプは、CM113への経路の状態の検証、並びに、両端における暗号化/暗号解読ロジックが正しいかを検証するため、SCS101によって開始される。CM113は、テスト応答で応答する。暗号化がオンにされる場合、テスト要求メッセージ及び対応するテスト応答は暗号化される。
アップストリーム・チャネル・メッセージ
アップストリーム・フレームは、クライアント・ステーション105からの加入者データ、並びにCM113からのモデム制御メッセージを送信する。アップストリーム・フレームは、1パケットでは大きすぎて通信できないパケットを送信するための、CM113からのタイム・スロット予約要求も含む。図9は、アップストリーム・チャネル・フレーム773に関する共通フォーマットのブロック図である。最初のフィールドは、「01010100」を含む1バイトの同期フラグ777が後続する、全てが1の5バイトのプリアンブル・フィールドである。フィールド775及び777は、アップストリーム・フレームの始めを表している。フレームは、フレームの全長がMinTU(アップストリーム・データ・フレームの最小サイズ)以上になることを保証するため、埋め込みフィールド779で終わる。
フィールド781は、CM113の6バイトのMACアドレスを含む。メッセージIDフィールドであるフィールド783は、CM113によって割り当てられたメッセージ番号を含む2ビット・フィールドである。SCS101は、メッセージの肯定応答時に、このメッセージ番号を含む。
フィールド785は、予約長フィールドである。このフィールドは、CM113が1つ以上のパケットの送信に必要とするタイム・スロット数をSCS101に対して知らせる6ビットのフィールドである。予約長フィールド785は、それに含まれているのが全てゼロの場合、無視される。MaxTUより大きいパケットは、予約タイム・スロットを介して送信されなければならない。好適実施例では、再帰的予約は許可されない。
暗号化フラグ787は、メッセージ内容が暗号化テキスト(1)であるか又は、平文テキスト(0)であるかを示すための1ビットのフラグである。フレーム・タイプ・ビット789は、メッセージ内容が加入者データ(0)であるか又は、モデム制御メッセージ(1)であるかを示すために用いられる。フレーム・タイプ・ビット789には、6ビットのメッセージ・タイプ・フィールド790が後続する。下記は、メッセージ・タイプの例である:
加入者データに関して:
* 予約要求
* イーサネット・フレーム
* ATMセル
モデム管理メッセージに関して:
* CM使用禁止応答
* CM使用可能化応答
* アップストリーム・チャネル切り替え応答
* ダウンストリーム・チャネル切り替え応答
* エコー応答
* パラメータ取得応答
* パラメータ設定応答
* マルチキャスト追加応答
* マルチキャスト削除応答
* DESキー交換要求
* DESキー交換ACK
* 電力レベル調整要求
* テスト応答。
ACKフラグ791は、SCS101に対して、CM113が肯定応答を必要とする(1)か又は、肯定応答を必要としない(0)かを示す。大きなパケットは予約スロットを使用して送信されるので、ACKは大きなパケットの送信には用いられない。
メッセージ長フィールドは、ペイロード・メッセージ・フィールド793のバイト数を示すための15ビット長のフィールドである。ペイロード・メッセージ・フィールド793は、SCS101に送信される実際のメッセージを含み、メッセージ・タイプ(フィールド790)に依存する。暗号化/暗号解読のため、メッセージには埋め込みが行われて、その長さが必ず8の倍数になるようにする。
フレーム・フォーマットは、ポストアンブル・フィールド779が後続する、CRC-32チェック・サム・フィールド795で終了する。
アップストリーム・モデム・メッセージ
表2は、各種メッセージ・タイプに関するペイロード・メッセージ・フィールド793の内容を示している。
Figure 2004274778
ケーブル・モデム113
図10ないし図13は、本発明のケーブル・モデム113をより詳細に示している。図3に示すように、モデムは、チューナ303、送信器305、RAM309、暗号回路311、LANインタフェイス307、及びマイクロプロセッサ302といった幾つかの外部装置に接続された制御回路301から構成されている。制御回路301は、これらの各種外部回路間の情報の流れを制御するデータ処理回路、及びデータ経路付け回路である。
チューナ及び復調器303は、ケーブル111からテレビ放送信号を受信し、QAMデータ符号化フォーマットからのI及びQ信号を出力する復調器と組み合わせられた、標準的な放送チューナである。
制御回路301は、幾つかの相互接続された機能装置から構成される。この装置の組は、フロントエンド・プリプロセッサ(FEP)801、フロントエンド・シリアライザ803、ダウンストリーム制御装置(DCD)805、ダウンストリーム・ペイロード装置807、アップストリーム装置(UD)809、暗号装置(CD)811、暗号チップ・インタフェイス(CCI)813、LAN-RAM装置(LTR)815、LANインタフェイス(LANI)817、RAM-LAN装置(RTL)819、送信器バックエンド(TB)821、送信器インタフェイス(TRI)823、及びチューナ・インタフェイス(TUI)824を含んでいる。CCI813、LANI817、TRI823、及びTUI824は全て、マイクロプロセッサ・インタフェイス(MI)829を介して接続されている。
装置805、807、809、811、815、819、及び823は全て、バス調停及び優先順位コントローラ(BAPC)825を介してRAM309に接続されている。装置805、807、811、815、819、及び823は、2つのバス、即ち読み取りバス831と書き込みバス833を介してBAPC825に接続されている。レジスタ・ファイルである、全ポインタのマスタ(MOAP)827は、RAM309内に記憶されているデータ・ブロックに関するポインタ及びオフセットを含んでいる。
ここで使用されている命名規則について言及すると、各種装置はそれぞれ、書き込まれる、又は読み取られるI/Oバッファとみなすことができる。従って、BAPC825が、ある装置にデータを送信する場合、BAPC825がその装置に「書き込む」ということになり、BAPC825がある装置からデータを送信する場合には、BAPC825がその装置から「読み取る」ということになる。
BAPC825に接続された各装置は、一般的な接続技法に従ってBAPC825と接続されている。図14は、装置をBAPC825に接続するためのこの一般的な接続技法のブロック図である。装置901は、装置805、807、809、811、815、819、又は823のうちの1つである。従って、以下の議論において、「装置901」は、装置805、807、809、811、815、819、又は823の任意の1つを表している。種々の装置901は、RAMに対する接続に関して実際には異なる要求を有している。例えば、BAPC825は、アップストリーム装置809に対して書き込みだけしか行わない(読み取りは行わない)。一方、ダウンストリーム制御装置805は、読み取りだけしか行わない(書き込みは行わない)。各装置は、「REQ」信号、「WRITE」信号、及び「Address」バスを備えている。各装置は、BAPC825から「ACK」信号を受信する。特定の装置が書き込み能力を有している場合、「書き込みバス」と呼ばれる入力バスと、DevXWE(装置X書き込み可能)と呼ばれる入力信号がその装置に接続される。特定の装置が読み取り能力を有している場合、「読み取りバス」と呼ばれる出力バスと、DevXRE(装置X読み取り可能)と呼ばれる入力信号が、その装置に接続される。DevXWE及びDevXREにおけるXは、各特定の装置に関する一意的な識別子である。
暗号装置(CD)811及びLAN-RAM装置815は、「REQ」、「WRITE」、及び「Address」信号をセットし、それぞれのインタフェイス回路813及び817のために対応する「ACK」信号を受信することによって制御も行うという点で、特殊ケースである。
ダウンストリーム・ペイロード装置は、2つの別個の組をなすREQ、WRITE、及びAddress信号を制御し、2つの対応するDevRE信号を受信する点において特殊ケースである。
バス調停と優先順位回路
図15は、装置901とBAPC825の間におけるデータ送信例を示すタイミング図である。データ送信を要求するため、装置901は、REQ信号、トランザクションのためのRAMのアドレス、及びWRITE信号によるトランザクションのタイプ(書き込み=1、読み取り=0)の表明を行う。この要求が許可されると、BAPCは、ACK信号の表明を行う。この装置は、クロック・エッジにおいてACKを検出すると、即座に新しい要求を生成する。この装置が書き込み能力を備えている場合、DevWEをクロック可能信号として使用し、その内部レジスタに「書き込みバス」の内容をクロック・インしなければならない。この装置が読み取り能力を有している場合、DevRE信号を利用して、その内部レジスタの内容を「読み取りバス」上にクロック・オンしなければならない。
図16ないし図18は、バス調停と優先順位回路(BAPC)825の概略図である。好適実施例では、BAPC825にデータ送信を行うことが可能な装置が8つ存在する。従って、図16ないし図18の接続技法に従って、各装置毎にそれぞれ1つずつ、8つの独立したREQラインと、8つの独立したWRITEラインが存在する。8つのREQライン及び8つのWRITEラインは、優先順位エンコーダ回路1101に接続されている。優先順位エンコーダは、読み取りバス831及び書き込みバス833に対するアクセスが次に許可されるのはどの装置かを決定する。優先順位エンコーダ1101は、そのREQ信号が高レベルに設定されている優先順位が最も高い装置について、ACK信号を高レベルに設定する。優先順位エンコーダ1101はまた、装置1ないし8のそれぞれについて最高優先順位REQ信号も備えている(HiREQ1ないしHiREQ8)。優先順位エンコーダ1101は、RAMへのアクセスに関して、優先順位が最高で、そのREQ信号が高レベルに設定されている装置1ないし8を選択する。優先順位エンコーダ1101は、その装置について、対応するHiREQ信号を高レベルに設定し、残りの7つのHiREQ信号は低レベルのままにしておく。
装置901は、単一要求モードとバースト・モードのいずれかで動作する。バースト・モードでは、装置内のカウンタが、装置901が要求するRAM309へのアクセス数に設定される。装置901は、それらの要求が全て肯定応答されるまでREQ信号を高レベルに保持する。図19は、ACK信号を受信する装置901の一部の概略図であり、バースト・モードでの装置901の動作を示すものである。この装置901は、それが行う必要のあるメモリ要求数を記憶するためのカウンタ・レジスタ1201を含む。装置901はそれぞれ、RAM309に記憶されたデータ・ブロックに関して繰り返し動作しようとする可能性がある。例えば、暗号装置811は、信号変換システム(SCS)101に送信すべきデータ・パケットを繰り返し暗号化する。従って、装置901が、データ・ブロックをアクセスする必要がある場合、装置901がアクセスを必要とするブロック内のレコード数、又はワード数がカウンタ1201に記憶される。
装置901は、装置901がアクセスしようとする、RAM309内の次のアドレスを記憶するためのアドレス・レジスタ1203を含む。ACK信号を利用して、カウンタ1201をデクリメントし、アドレス・レジスタ1203をインクリメントする。カウンタを構成するビットは全て、ORゲート1205に供給される。カウンタ・レジスタ内のビットが全てゼロの場合、ORゲート1205の出力はゼロであり、従って、装置901のREQ信号は低レベルに設定される。カウンタ1201はまた、「LOAD(要求開始)」信号によって制御される。LOAD信号が高レベルの場合、アクセスするワード数が、クロックの正のエッジにおいてカウンタにロードされる。
分かりやすくするため、バス調停と優先順位回路825に関する議論においては、それに接続される各装置毎に装置番号が割り当てられている。どの装置番号がどの特定の装置に対応するかは重要でない。しかし、例示のため、装置1はダウンストリーム制御装置805であると考える。バス調停と優先順位回路825の遠近関係から、ダウンストリーム・ペイロード装置807は、2つの装置、即ち一次ポインタに関する装置と、二次ポインタに関する装置であり、従って、これらを装置2及び3と考える。装置4はアップストリーム装置809と考える。暗号装置813は装置5であり、LAN-RAM815は装置6であり、RAM-LANは装置7であると考える。マイクロプロセッサ302(マイクロプロセッサ・インタフェイス829を介して)は装置8であると考える。
優先順位エンコーダ1101は、バス調停と優先順位回路に接続される各装置毎に出力ACK信号、即ちACK1ないしACK8を有している。これらのラインはそれぞれ、ラインINC1ないしINC8に分割され、これらは更に、それぞれのアドレス・レジスタ1103-1ないし1103-8(装置3ないし7に対応するアドレス・レジスタは図示せず)に接続される。
バス調停と優先順位回路825はパイプライン装置である。換言すれば、データは、調整されたパイプライン・ステージにおいて内部的に並列に送信される。RAM309からの読み取り操作、及びRAM309への書き込み操作に関するパイプライン・ステージが、時間ライン1105上に示されている。
レジスタ1107は、HiREQ信号1ないし8、及び優先順位エンコーダ1101からの書き込み信号を受信するパイプライン・レジスタである。アドレス・レジスタ1103-1ないし1103-8がそれぞれ、パイプライン・レジスタ1109-1ないし1109-8に接続されている。バス調停と優先順位回路825が読み取る各装置は、読み取りレジスタを含んでいる。読み取りレジスタは、図16ないし18において、レジスタ1111-1ないし1111-8として示されている(注:全ての装置が「読み取られる」装置であるわけではなく、従って全ての装置が読み取りレジスタを有しているわけではない)。レジスタ1107、1109、及び1111は、並列パイプライン・レジスタである。従ってデータは、レジスタ1107、1109、及び1111に対して並列にクロック・イン及びクロック・アウトされる。
バス調停と優先順位回路825に関するパイプラインの第1ステージは、優先順位エンコーダ1101、アドレス・レジスタ1103のロード又はインクリメント、デクリメント・カウンタ1201、及び読み取りレジスタ1111にロードされるべきデータの準備から構成される。
BAPC825に関するパイプラインの第2ステージは、読み取り-書き込み装置選択回路1113から構成される。読み取り-書き込み装置選択回路1113は、どの装置から読み取るか又は、どの装置に書き込むかを選択するよう動作する。回路1113は、パイプライン・レジスタ1107からの2組の信号を入力として受信する。第1の組の信号は8つのHiREQラインから構成され、第2の組の信号は8つの書き込みラインである。回路1113は、RAM309を使用可能にするためのチップ使用可能化(CE)ライン、選択された装置による要求に適合するように、RAMを書き込みモード又は読み取りモードに設定する出力使用可能化(OE)ライン、及びRAMに対してデータのクロック・イン又はクロック・アウトを行うための信号ライン(DevReadE)を、出力ラインとして備えている。第2ステージの終了時に、これらの信号(CE、OE、DevReadE)はパイプライン・レジスタ1119にクロック・インされる。
更に、選択回路1113から出力される8つの装置書き込み可能化ラインが存在する。選択された装置が書き込み要求を有する場合、対応する装置書き込み可能化ラインが高レベルに設定され、それ以外であれば、低レベルのままとされる。選択されていない全装置に関する書き込み可能化ラインは、低レベルのままである。8つの装置書き込み可能化ラインが、パイプライン・レジスタ1119にクロック・インされる。
回路1113は、読み取りレジスタ1111を備えた各装置に対応する1つの出力読み取り選択ラインを有している。選択された装置からの要求が読み取り要求である場合には、選択回路1113によって、選択された装置に対応する読み取り選択ラインが高レベルにされ、それ以外の場合には低レベルに保持される。他の全ての読み取り選択ラインは低レベルに保持される。読み取り選択ラインはそれぞれ、スイッチ1115-1ないし1115-8に供給され、そのスイッチは更に、それぞれ読み取りレジスタ1111-1ないし1111-8の出力に接続される。スイッチ1115によって、読み取りバス831上に接続された読み取りレジスタ1111からデータを送信することができる。第2ステージの終了時に、読み取りバス831上のデータが、パイプライン・レジスタ1117にクロック・インされる。従って、読み取り操作の場合、第2ステージの終了時には、パイプライン・レジスタ1117が、装置から読み取られたデータを含むことになる。
第2ステージは、アドレス・マルチプレクサ1121も含む。アドレス・マルチプレクサ1121は、8つのアドレス・パイプライン・レジスタ1109-1ないし1109-8から、アドレスを入力として受信する。これらのアドレスはHiREQラインによって選択される。どの時点においても、1つのHiREQラインだけが高レベルに保持されている。アドレス・マルチプレクサ1121は、対応するアドレス・レジスタ1109に記憶されたアドレスを選択する。第2のパイプライン・ステージの終了時に、その選択されたアドレスが、マルチプレクサ1121からパイプライン・レジスタ1123にクロック・インされる。
第3のパイプライン・ステージは、場合によっては、選択された装置によってなされる要求のタイプ(読み取り又は書き込み)に従って、RAM309へのデータ移動又はRAM309からのデータ移動から構成される。
アドレス・パイプライン・レジスタ1123はRAM309に接続されている。正のクロック遷移時に、RAM309がその特定のアドレスにアクセスできるように、レジスタ1123に記憶されているアドレスがRAM309に対して利用可能にされる。
3つのラインがRAM309をパイプライン・レジスタ1119に接続する。これらのうち第1のラインは、チップ使用可能化(CE)ラインである。ステージ2において、RAM309のアクセスが処理されている場合、装置選択回路1113は、CEラインを高レベルに設定して、RAM309を使用可能にする。CEライン値がパイプラン・レジスタ1119に記憶される場合、選択回路1113によって設定されるCE値は第3ステージにおいて、RAM309に送信される。パイプライン・レジスタ1119からRAMへの第2の制御ラインは出力使用可能化(OE)ラインである。OEラインは、書き込みモードと読み取りモードのどちらでアクセスされるかをRAMに知らせる信号を送信する。
DevReadE信号を送信するラインが、パイプライン・レジスタ1119を、読み取りデータ・パイプライン・レジスタ1117をRAMバス1127に接続するスイッチ1125に接続する。読み取り操作(即ち、RAM309が、選択された装置から読み取られる)に着手しようとしている場合、DevReadE信号は高レベルである(装置選択回路1113によって設定される)。DevReadE信号が高レベルの場合、パイプライン・レジスタ1117内のデータを、スイッチ1125を介してバス1127上に送信することができる。
直接メモリ・アクセスを実施するには、RAM309及び選択された装置に関する書き込み可能(WE)及びOE信号が逆にされる。換言すれば、RAM309が「読み取る」場合、装置は「書き込み」、RAM309が「書き込む」場合、装置は「読み取る」。従って、装置選択回路1113から出力されるOE信号は、DevReadE信号と反対である。DevReadE信号はまた、システム・クロック信号と(ゲート1130によって)NAND演算され、ゲート1130からRAM309に出力される書き込み可能信号(WE)を生成する。WE信号は、RAM309に関する書き込みストローブである。これは、2つの連続した書き込み操作が行われる場合にとりわけ有効である。
WE信号によって提供されるストローブに関する読み取り操作の第3ステージの終了時に、RAMバス1127上のデータが、アドレス・パイプライン・レジスタ1123をRAMに接続するRAライン上のアドレスで、RAMに送信される。
書き込み操作の場合、即ちRAM309が装置への書き込みに用いられる場合、第3ステージにおいて、RAライン上のアドレスに記憶されたデータが、RAM309からRAMバス1127上に送出される。書き込み操作の場合、第3ステージの終了時に、RAMバス1127上のデータが、書き込みパイプライン・レジスタ1131に送信される。
また、第3のパイプライン・ステージにおいて、信号DevWE1ないし8が、パイプライン・レジスタ1119からパイプライン・レジスタ1129-1ないし1129-8に送信される。この送信を利用して、DevWE信号の到着と選択された装置の書き込みレジスタに書き込まれることになるデータの到着とのタイミングがとられる。
バス調停と優先順位回路825の動作の第4ステージにおいて、書き込みパイプライン・レジスタ1131内のデータはまず、書き込みバス833に送信され、次に、その書き込みバス833から選択された装置の書き込みレジスタに送信される。従って、書き込みパイプライン・レジスタ1131は、書き込みバス833に接続されている。その書き込みバス833は、スイッチ1133-1ないし1133-8を介して書き込みレジスタ1135-1ないし1135-8に接続される。全ての装置が「書き込み」装置というわけではないので、全ての装置が書き込みレジスタを備えているわけではない。スイッチ1133はそれぞれ、対応するDevWEラインに接続され、その制御を受ける。例えば、スイッチ1133-1は、DevWE1に接続される。特定のDevWEラインが高レベルの信号を送信する場合、スイッチ1133によって、データが、書き込みバス833から対応する書き込みレジスタ1135に送信されることが可能になる。従って、書き込み操作の場合、第4ステージの終了時に、選択された装置の書き込みレジスタ1135は、書き込みパイプライン・レジスタ1131内に、第3ステージの終了時に保持されたデータを含む。
バス調停と優先順位回路825は、パイプライン化アーキテクチャであるため、クロック・サイクル当たり1つの操作の割合で、装置901からの読み取り及び書き込み要求を処理することができる。RAMレベルの待ち時間は2クロック・サイクルである。装置レベルの待ち時間は、書き込み装置(データが装置に書き込まれる)の場合、3クロック・サイクルであり、読み取り装置(データがRAMに書き込まれる)の場合、1クロック・サイクルである。
図20は、図16ないし図18のバス調停と優先順位回路825によって処理された1組の例示的なトランザクションを示すタイミング図である。図20のダイヤグラムは、システム・クロック(1301)、第1の装置(ライン1303)及び第2の装置(ライン1305)に関するアドレス、REQ、書き込み(ないし読み取り)、及びACKライン、選択された装置(ライン1307)、及び図16ないし図18に示す回路内部の各種ラインの値を示している。
図20の例では、2つの装置901-1及び901-2が両方とも、RAM309にアクセスしようとしている。装置1は書き込み要求をしようとし、装置2は読み取り要求をしようとしている。パイプライン・ステージ1において、両方の装置とも、それぞれのREQ信号を高レベルにしている。装置1は、装置2より優先順位が高く、従って優先順位エンコーダ1101に2つの高レベルREQ信号が入力されると、ACKを装置1に送信し、装置1はステージ2においてそのREQ信号を低レベルにする。従って、ステージ2では、優先順位エンコーダ1101は、高レベルである装置2からのREQ信号だけを受信し、それをACKに送信することになる。
全ポインタのマスタ
RAM309にアクセスする各装置(装置805、807、809、811、813、815、817、819、及び829)が同時に、RAMの1つの特定のセクション、又はバッファをアクセスする。ある装置が特定のバッファにアクセスする時間間隔の間に、他の装置がそのバッファに同時にアクセスすることはない。装置がアクセスするアドレスは、装置の内部アドレス・レジスタ(図19の1203)に記憶されている。そのアドレスはマイクロプロセッサ302によって初期設定される。
ダウンストリーム制御装置805及びダウンストリーム・ペイロード装置807は、マイクロプロセッサ302から比較的独立して動作する。DCD805及びDPD807は両方とも、RAM309内に定義されたバッファに書き込みを行う。DCD805及びDPD807の両方に関して、バッファの拡張が制御回路301内の2つのレジスタ、即ち、バッファ開始点(TOB)レジスタとバッファ終了点(BOB)レジスタによって定義される。
他の装置、即ち装置809、811、813、815、817、819、及び829は、1度に1つのパケット・データについて操作を行う。これらのパケット位置は、全ポインタのマスタ827と呼ばれる制御装置301内の小レジスタ・ファイルによって管理される。
MOAP827は、共通RAM309内の様々なバッファの開始アドレスを含む16×16ビットの埋め込みメモリである。下記のように、C++言語の構文を利用している:
int * addressA = new int[sizeof_block_A];
int * addressB = new int[sizeof_block_B];
int * addressC = new int[sizeof_block_C];
int * addressD = new int[sizeof_block_D];
...
int * MOAP[] = {addressA,addressB,addressC,addressD...};。
図21は、MOAP827構造の高レベル概略図である。この構造を用いると、CM113は、データ・ブロックを動的に操作し、移動させることができる。
MOAP827の動作は、図解例を用いることによって最もよく理解される。マイクロプロセッサ302がLANチップ307と通信を行うと仮定すると、それによってSCS101に対してアップストリーム送信されることになるデータ・パケットが、PCから入手可能であることを学習する。マイクロプロセッサ302は次に、このパケットのためにメモリの一部を割り当て、このアドレスの始めをMOAP827に書き込み、反復カウント情報を備えたヘッダを準備し、LTR(LAN-RAM)装置815にこのポインタが有効であることを知らせる。LTR装置815は、このMOAP827の項目をそれ自身のアドレス・レジスタにコピーし、このアドレス・レジスタを利用して(もちろん、上述のBAPC825を利用して)LANチップ307からRAM309へのデータのコピーを開始する。
パケット全体がRAMに送信されると、LTR装置815はマイクロプロセッサに、そのタスクが完了したことを知らせる。マイクロプロセッサは次に、正しい暗号解読キーを選択するか又は、暗号装置811によってアドレス指定が可能なレジスタに書き込むことによって、暗号チップ311の準備を行い、反復カウント情報を備えたパケットのヘッダを更新し、更に暗号装置811のためにデータ・ブロックの開始アドレスをMOAP827のレジスタに書き込み、暗号装置811に暗号化操作を開始するよう伝える。
暗号装置811は、そのMOAP827の項目をそれ自身のアドレス・レジスタにコピーし、暗号化操作を開始する。暗号化操作が終了すると、暗号装置811はマイクロプロセッサにそれを知らせる。
この時点で、データ・ブロックは送信の準備が整ったことになる。マイクロプロセッサは、アップストリーム装置809のために、このデータ・ブロックの開始アドレスをMOAP827のレジスタに書き込み、ヘッダを準備し、必要であれば予約ブロックを準備し、アップストリーム装置809にパケットを送信するように伝える。
アップストリーム装置809は次に、そのMOAP827の項目をそれ自身のアドレス・レジスタにコピーし、ダウンストリーム制御チャネル装置805と協力して、そのブロックを送信する。
MOAP構造、及びマイクロプロセッサ302の制御によってRAM309内のデータ・ブロックにアクセスする方法の利点は、特定のブロックの開始アドレスをMOAP827の領域に書き込み、装置に対してその特定の用途にそのブロックを用いるよう伝えることによって、個々の装置のアテンションをその特定のメモリ内のデータ・ブロックに集中させる柔軟性である。バッファ・サイズ、バッファ数、及びバッファ位置に関する決定が、単なるマイクロプロセッサの決定になり、実際にコード化する必要がない。
装置の任意の1つの動作を制御する状態マシンにおいて唯一実際にコード化される値は、状態マシンの対象となるブロックを指す、MOAP827の項目内のアドレスである。例えば、図21のブロックAに操作を加える装置は、MOAP827の最初のワードからブロックAへのポインタを受信するように実際にコード化される。一方、ブロックBを対象とした装置は、MOAP827の第2のワードからブロックBへのポインタを受信するように実際にコード化される。
制御回路301内の幾つかのデータ・ブロックに同時に操作を加える装置が幾つか存在する。これらのブロックに関して、マイクロプロセッサ302と装置の間で通信を行うためのメカニズムは、メモリ・ブロックの各グループに割り当てられた単一ビットのレジスタである。これらのレジスタは、装置及びマイクロプロセッサ302の両方によって読み取り/書き込みが可能である。これらの単一ビットのレジスタは、「チェック・レジスタ」と呼ばれ、図21に要素1401a、1401b、1401c、及び1401dとして図示されている。これらのチェック・レジスタ1401に関する操作は、下記の通りである。
マイクロプロセッサ302は、メモリ・ブロックを装置に割り当て、MOAP827に開始アドレスを書き込み、その装置のために対応するチェック・レジスタ1401を設定する。装置を制御する状態マシンは通常、そのチェック・レジスタ1401が設定されるのを待つ。チェック・レジスタが設定されると、状態マシンは進行し、MOAP827の項目をコピーし、チェック・レジスタ1401のチェックを解除する。マイクロプロセッサ302は、そのレジスタのチェックが解除されたことが分かると、次のブロックを割り当て、再びチェック・レジスタを設定する。
好適実施例では、MOAPには下記の項目が含まれている:
MOAP[0] = 次のRAM-LANブロック
MOAP[1] = 次のLAN-RAMブロック
MOAP[2] = 次の暗号ブロック
MOAP[3] = 次の暗号ブロック・オフセット
MOAP[4] = アップストリーム・プリアンブル・ブロック
MOAP[5] = アップストリーム予約ブロック
MOAP[6] = アップストリーム予約ブロック・オフセット
MOAP[7] = 次のアップストリーム送信ブロック
MOAP[8] = 次のアップストリーム送信ブロック・オフセット。
MOAP[0]及びMOAP[1]によって指される2つのブロックは、MOAPにおいて指定される個々のパケットの開始アドレスだけしか必要としない。これら2つのブロック内のパケットは、個別にマイクロプロセッサ302のアテンションを必要とし、必ず最初に、マイクロプロセッサ302によって準備されなければならない。マイクロプロセッサ302は、どのパケットが処理されることになるかを決定し、パケットの制御を制御回路301の装置に委ねる前に、LANチップ307の制御を行う。
MOAPには、暗号装置811に関する2つの項目(MOAP[2]、MOAP[3])が含まれている。一方の項目は、実際にはパケットのヘッダである、パケットの開始部分を指す。もう1つの項目は、パケットの開始部分から暗号化すべき実際のデータ・ブロックまでのオフセットである。この構成の理由は、暗号ブロックが、データ・フォーマットの異なる、幾つかのパケット・タイプの1つとすることがことができるという点にある。例えば、ダウンストリーム・ペイロード・パケットは、暗号解読を必要とするが、アップストリーム・データ・パケットは、暗号化を必要とする。アップストリーム・パケットとダウンストリーム・パケットのフォーマットは、互いに異なっている。このため、MOAP827は、各パケットのデータのオフセットに関する追加情報を含んでいる。マイクロプロセッサ302は、どのパケットを暗号化する必要があるかを決定する。次に、マイクロプロセッサ302は、適合するキーである、IVレジスタをロードし、暗号チップ311のモード・レジスタを設定する。それが完了すると、マイクロプロセッサ302は、MOAP[2]及びMOAP[3]をパケットの正しいアドレス及びオフセットで更新する。
アップストリーム送信はほとんど、2ステップの処理である。最初に、マイクロプロセッサ302は、どのパケットがアップストリーム送信されることになるかを決定する。次に、マイクロプロセッサ302は、パケットの長さ及びMTU(最大送信単位)に基づいて、アップストリーム送信のために予約されるべき「スロット」数を計算する。次に、マイクロプロセッサ302は、空のテンプレート又は別のデータ・パケットであることが考えられる、予約パケットの予約フィールドを「スロット」情報で更新し、MOAP[5、6]にこの予約パケットを指示する。マイクロプロセッサ302は次に、MOAP[7、8]に送信すべきブロックの開始アドレス及びオフセットを書き込む。マイクロプロセッサ302は、アップストリーム装置809に「予約による」送信を行うように伝える。
アップストリーム装置809は最初に、2つの部分、即ち、ハードウェアによる「1」の定数ストリームと、MOAP[4]によって指示されるプリアンブルの残りの部分から成る、プリアンブルを送信し、次に、上述のように、肯定応答及び待機のための全プロトコルを用いて、競合チャネル上に予約パケットを送信する。アップストリーム装置809は次に、肯定応答なしで、予約チャネル上にプリアンブル及び実際のデータ・パケットを送信する。
この案には、幾つかの変更が考えられる。例えばマイクロプロセッサ302は、競合チャネルを介して、最小TU未満の長さのパケットを送信するよう決定を下すことができる。この場合、MOAP[7]によって指示されたパケットだけが、肯定応答によって、競合チャネル上に送信される。
もう1つの場合、マイクロプロセッサは、幾つかのパケットを1つの予約処理にグループ化し、MOAP[5]によって指示される、これら全てのパケットを表す1つの予約パケットを構成するよう決定することができる。次に、マイクロプロセッサは、全てのパケットが送信されるまで、先行パケットの送信中に、MOAP「7、8」を次のパケットのアドレスに更新することを保証する。
パケットは、最小TU(最も近いケーブル・モデムと最も遠いケーブル・モデムとの間における往復遅延差)より短くなってはならない。パケットの内容に関係なく、最小サイズのパケットを保証するメカニズムは、ポストアンブルのサイズである。ポストアンブルのサイズは、少なくとも2バイトの重要でないデータである。ポストアンブルのバイト数が、アップストリーム送信のヘッダに書き込まれる。マイクロプロセッサ302は、予約パケットを含む各パケット毎に、パケットのヘッダにポストアンブルのサイズを書き込む。
RAMにおけるパケット・フォーマット
図22は、RAM309に記憶されている、パケット1403の一般フォーマットに関する概略図である。状態マシン及びマイクロプロセッサ302を助けるため、ヘッダ1405が、ある状態及びカウント情報と共に、各パケットに追加される。ヘッダのサイズは、シフト・レジスタ・チェイン(KTREG[0])をプログラミングすることによって変更される。ダウンストリーム・チャネル上で受信されるパケットのヘッダ1405として、8ワードが追加される。最初の2ワードは、全てのパケット・タイプに共通である。
最初のワード1407は、パケット1403を処理するためにパケット1403を保持した状態マシンが達成しなければならない反復数に関する情報である。反復カウント・ワード1407は、マイクロプロセッサ302によって書き込まれる。第2のワード1409は、ファームウェア・フラグ・フィールド(FFF)であり、マイクロプロセッサ302のために予約される。
ワード3ないし8はジョブに固有のものであり、必ずしも、特定の状態マシンによって用いられるとは限らない。
ヘッダ1405の使用例の1つは、ダウンストリーム・ペイロード・データの場合である。ダウンストリーム・ペイロード・データは、ケーブル111からLANチップ307までの移動の間に、ヘッダの4ワードを使用する。パケットが受信されると、ダウンストリーム・ペイロード装置807は、入力ペイロード・アドレスのタイプをチェックする。そのパケットがマルチキャスト・パケットであり、この特定のCM113にアドレス指定されている場合、ダウンストリーム・ペイロード装置807は、このアドレスに関するハッシュ値を計算し、それをヘッダ1405のワード番号4に書き込む。
パケットの受信が完了すると、DPD807は、オーバヘッドを含む、受信情報のバイト数をヘッダ1405のワード番号3に書き込む。
マイクロプロセッサ302は、暗号解読操作の反復数(パッドを含め、オーバヘッドを除いた8の倍数)を計算し、ヘッダのワード番号1(反復フィールド)に書き込む。マイクロプロセッサは、ペイロード・データのE(暗号化)ビット、T(データ内の加入者ペイロード)ビット、更にはアドレス・フィールドのチェックも行い、暗号化操作に関する正しい暗号解読キーを判定する。そのアドレスがマルチキャスト・アドレスの場合、マイクロプロセッサ302はヘッダ1405のワード番号4(ハッシュ値)を使用して、MACアドレスの迅速で正確な比較を行う。マイクロプロセッサは次に、「青信号」を設定して、暗号装置811の状態マシンを起動することができる。
暗号解読の後で、マイクロプロセッサ302は、もとのバイト・カウント(ヘッダ1405のワード3)を読み取り、オーバヘッドについてその調整を行い、LANチップ307に書き込む。マイクロプロセッサ302は、同じ情報を使用して、LANチップに書き込まれるワード数の計算を行って、この値をヘッダ1405のワード番号1(反復フィールド)に書き込み、RAM-LAN装置819にLANチップ307に対するデータの反復送信を行うように伝える。
各状態マシンは、アドレス・レジスタとして使用する、少なくとも16ビットのレジスタ/カウンタを備えている。このレジスタは、ベース・レジスタ1410であり、通常MOAP827からロードされる。各状態マシンは、シフト・チェイン1411からロードされる5ビットのオフセット・レジスタ1413も備えている(シフト・チェインについては、「内部レジスタ」と題するセクションにおいて解説される)。暗号ブロックは、各暗号化操作毎にオフセット値の異なる、暗号化又は暗号解読のどちらかに関するのものであるため、暗号装置813は、各パケット毎に、MOAP827からそのオフセット・レジスタ1413にポインタをロードする。アクセスすべきパケットの実際のアドレスを得るため、加算器1415によって、ベース・レジスタ1410の内容がオフセット・レジスタ1413に加えられる。
マイクロプロセッサ
マイクロプロセッサ302は、ケーブル・モデム113の性能及び制御回路301の動作において重要な役割を果たしている。制御回路301は、多くの入力/出力レジスタ(セクション「マイクロプロセッサ・レジスタ概説」において後述)を含んでいる。マイクロプロセッサ302は、これらのレジスタを設定することによって、ケーブル・モデム113の動作を制御する。
マイクロプロセッサ302によって、多くの初期設定タスクが実行される。初期設定の際、マイクロプロセッサ302は、ケーブル・モデムのMACアドレスを判定し、その情報を制御回路301のハードウェア・レジスタに送信する。マイクロプロセッサ302はまた、制御回路301、チューナ303、及び送信器305の初期設定も行う。
また、初期設定の間、マイクロプロセッサ302はアップストリーム・チャネルを介してサーバ・ステーション101とネゴシエーションを行い、キー計算及びキー交換を実施する。2タイプの初期設定、即ち、インストール時の初期設定と、パワー・サイクルを行う、良好なインストールが行われたケーブル・モデム113の初期設定が存在する。
インストール時、ケーブル・モデム301の最初のタスクは、ダウンストリーム・チャネルを見つけるためのものである。ダウンストリーム・チャネルを見つけ出すために、ケーブル・モデム113はチャネル・テーブルを用いてチューナ303の同調及びテスト操作を実施する。このテーブルは、マイクロプロセッサ302のROM内に記憶されている。ROMベースのチャネル同調テーブルは、ケーブル・モデム113が、確率の低いチャネルを試すことなく、確率の高いチャネルに同調するように構成されている。テーブル内の各項目毎に、ケーブル・モデムがそのチャネルに同調し、そのダウンストリーム制御チャネルを受信しようとする。CM113が、ダウンストリーム制御ストリームを受信しない場合、CM113は、そのチャネルがサーバ・ステーション101からのダウンストリーム・チャネルではないと仮定して、チューナ303をテーブルの次の項目に同調させる。ケーブル・モデム113がダウンストリーム制御チャネルを見つけ出すことなく、テーブルを用いた同調を完了すると、エラー・インジケータ(例えば、ケーブル・モデム113のエラー・ライト)がオンになり、ケーブル・モデム113のパワー・サイクルが再び行われるまで、処理が中断される。
ケーブル・モデム113は、一旦ダウンストリーム・チャネルを認識すると、チャネル番号をEEPROM内に記憶し、後続のパワー・アップ時にそのダウンストリーム・チャネル番号を使用する。
ダウンストリーム・チャネル番号は、時々変化する可能性がある。サーバ・ステーション101のオペレータは、実際の変更前のある時点において(例えば、1又は2日前に)、制御チャネル上でダウンストリーム・チャネル変更フレームを送出することによって、ダウンストリーム・チャネルを変更する。ケーブル・モデムは、新しいチャネル番号をEEPROM内に記憶する。ケーブル・モデム113は、もはや古いダウンストリーム・チャネルを検出できなくなると、チューナ303に受信すべきチャネルを変更させることによって、自動的に、その新しいチャネルに変更する。
ケーブル・モデム113のパワー・オン時に、まず、チューナ303をEEPROM内に最後に記憶されたダウンストリーム・チャネルに同調させることによって、ケーブル・モデム113とサーバ・ステーション101との間におけるリンクが確立される。ケーブル・モデムは次に、サーバ・ステーション101が、現在稼働中のアップストリーム・チャネルを示すのを待つ。アップストリーム・チャネル番号が分かると、ケーブル・モデム113は、サイン・オン・スロットを待つ。サイン・オン・スロットは、ケーブル・モデム301の送信パワー設定を初期設定するために予約される。ケーブル・モデム113は、最初に平均的なパワー設定(この情報はサーバ・ステーション101によって送出される)で送信を行い、サーバ・ステーション101からのサイン・オンACKを待つ。ACKを受信しなければ、パワー設定を増強し、サイン・オン・スロットの乱数が渡された後でケーブル・モデム113が再試行する。パワー設定の増強が限界に達すると、ケーブル・モデム113は、平均的なパワー設定から待機を開始する。
ケーブル・モデム113が正しいパワー設定を決定すると、このパワーが、後続のパワー・アップ・サイン・オンの際の再利用に備えて、EEPROM内に記憶される。サーバ・ステーション101は、任意の時間に、ケーブル・モデム113がパワー設定の増強、又は低減することを要求できる。
正しい送信パワー設定が確立されると、ケーブル・モデム113はサーバ・ステーション101と通信できる。そのステージにおいて、ケーブル・モデム113は、それ自身を識別し、DES暗号キーを得るのに必要なDiffie-Hellmanキー交換を送出する。マイクロプロセッサは、そのキー交換アルゴリズムを管理し、交換キー、及び生成された乱数をレジスタに記憶し、暗号装置813及び暗号チップ311による利用に備える。
初期設定の間、マイクロプロセッサ302は、装置(805、807、809、811、813、815、817、819、及び829)がRAM309へのアクセスに使用するポインタを含むレジスタ・ファイルの初期設定も行う。マイクロプロセッサは、RAM309内に常駐するメモリ構造の初期設定も行う。
ケーブル・モデム113の動作中、マイクロプロセッサは、レジスタ(下記の「内部レジスタ」における論述を参照されたい)を介して制御回路301と対話し、RAM309、及びRAM309内に保持されるバッファを管理する。
マイクロプロセッサはまた、LANチップ307の状態、及び関連する制御レジスタに対する読み取り、及び書き込みを行うことによって、LANチップ307の準備も行う。
マイクロプロセッサ302は、制御回路301内におけるMOAP827及び制御レジスタの管理も行い、制御回路301の状態マシンを、制御回路301の各種装置間においてデータを移動させるよう導く。状態マシンについては、「状態マシン」と題するセクションにおいて後述する。
マイクロプロセッサ302は、ケーブル・モデム113がダウンストリーム制御チャネル及びペイロード・チャネル上で受信するコマンドの処理も行い、これらのコマンドを実施する。
更に、マイクロプロセッサ302は、制御回路301のマイクロプロセッサ・インタフェイス829において、状態レジスタからタイミング・スロットの持続時間を求め、この情報をアップストリーム・チャネル装置809に提供する。更に、マイクロプロセッサ302は、アップストリーム送信のパケット長が現在のスロット長を超えると、「予約要求パケット」の構成及び送信スケジュールを管理する。マイクロプロセッサはまた、必要に応じて、送信機能に関する制御回路の内部レジスタの設定を行うことにより、アップストリーム・チャネル装置809を支援する。
内部レジスタ
マイクロプロセッサ302による制御回路301を含むCM113の構成要素に対する全てのトランザクションは、I/Oレジスタを介して行われる。各装置には、連続したI/O空間が割り当てられる。例えば、LANチップ307は、LNBSEの開始アドレスを備えた「N」の16ビット・レジスタが割り当てられる。制御回路301の共通RAM309は、64Kの連続アレイをなすワード・レジスタとして見えるように仮想化される。ケーブル・モデム113には、共通RAM309のI/Oを含む、6つのI/O空間が存在する。これらのI/O空間に関するベース・アドレスは、下記の通りである:
LAN307 LNBSE
暗号チップ311 CIBSE
チューナ303 TUBSE(チューナ及び支援回路)
送信器305 TRBSE
制御回路301 KTREG(レジスタ空間)
制御回路301 KTRAM(共通RAM309空間)
制御回路301 KTMOAP(MOAPレジスタ・ファイル)。
制御回路301のレジスタは、下記の通りである:
KTRAM + n 共通RAMワードn R/W
KTMOAP + n MOAPワードn R/W
KTMOAP[0] = 次のRAM-LANブロック
KTMOAP[1] = 次のLAN-RAMブロック
KTMOAP[2] = 次の暗号ブロック
KTMOAP[3] = 次の暗号ブロック・オフセット
KTMOAP[4] = アップストリーム・プリアンブル・ブロック
KTMOAP[5] = アップストリーム予約ブロック
KTMOAP[6] = アップストリーム予約ブロック・オフセット
KTMOAP[7] = 次のアップストリーム送信ブロック
KTMOAP[8] = 次のアップストリーム送信ブロック・オフセット
KTMOAP[15:9] = 未使用
KTREG + 0 シフト・チェイン
ビット0 R/W dout/din
ビット1 W シフト。
制御回路301内部には、一度だけ初期設定される多くのレジスタが存在しており、その値はあまり変更されない。これらのレジスタは、互いにチェインされており、長いシフト・レジスタとしてアクセスされる。レジスタ0を読み取る場合、シフト・チェインの終りにおけるデータは、ビット0である。単一データ・ビットをシフト・チェイン内にシフトするには、2つの書き込み操作が必要になる。まず、ビット0=データ・ビット、及びビット1=1をレジスタ0に書き込む。次に、ビット0=同じデータ・ビット、ビット1=0をレジスタ0に書き込む。データは、ビット1の立ち下がりエッジにおいてシフト・チェイン内にシフトされる。シフト・チェインの読み取りは、破壊読み取りである。チェインの読み取り時にシフト・チェインの内容を保存するために、マイクロプロセッサ302はまず、ビット0を読み取り、次に上述のように、そのビットをシフト・チェイン内に戻すようシフトさせる。マイクロプロセッサ302は、シフト・チェイン全体の読み取り、又は書き込みを実施しなければならない。シフト・レジスタの内容は下記の通りである:
自身のMACアドレス 48ビット
ペイロード状態マシン・オフセット 5ビット
LAN-RAM状態マシン・オフセット 5ビット
RAM-LAN状態マシン・オフセット 5ビット
ペイロードのバッファ上部(PTOB) 16ビット
ペイロードのバッファ底部(PBOB) 16ビット
ダウンストリーム制御のバッファ上部(DSCTOB) 16ビット
ダウンストリーム制御のバッファ底部(DSCOBO) 16ビット
プリアンブル・ブロック・サイズ 4ビット
プリアンブルの最初の1のサイズ 3ビット
待機アルゴリズム・パラメータ 4ビット
フロントエンド・プリプロセッサへのQ256信号 1ビット。
代替実施例の場合、シフト・チェインにおけるレジスタは、直接アクセス・レジスタである。
自身のMACアドレスは、ケーブル・モデムを表す6バイトのMACアドレスである。それは、ケーブル・モデム113のMACアドレスである。
RAM-LAN819、LAN-RAM815、及びペイロード807の状態マシンに関してRAM309に常駐するパケットのオフセットは、オフセット・レジスタを用いて設定される。RAM309常駐パケットについては、図22に関連して解説済みである。オフセット・レジスタの値を変更すると、ヘッダのサイズが変化する。
PTOB、PBOB、及びDSCTOB、DSCBOBは、ペイロード及びダウンストリーム制御装置のバッファの上部及び底部であり、「バッファ管理」と題するセクションにおいて解説される。
プリアンブル・ブロック・サイズは、各アップストリーム・ブロックの前に送信されるアップストリーム・プリアンブルの固定部分に関するサイズ(ワードで表す)である。プリアンブル・ブロックは、ケーブル・モデムMACアドレス、同期、及び5バイトの長さで全て1のフラグの一部を含んでいる。
プリアンブルの最初の1のサイズは、全てが1のフラグの最初のプリアンブルをワード数で表したサイズであり、RAM309からプリアンブルの残りの部分を送信する前に、ハードウェアによって送信される。待機アルゴリズム・パラメータは、ネットワークのインストール及びトポロジに基づいて決まる6ないし10の間の数である。このパラメータによって、待機アルゴリズムの効率が決まる:
KTREG+1 チェック・レジスタ(割り込みなし、ファームウェアからハードウェアに) R/W
ビット0 PLFC ケーブル・バッファからのペイロードが有効
ビット1 CIPH 暗号ブロック準備完了
ビット2 RTL RAM-LANインタフェイスからのスピン・データ
ビット3 DSCC ダウンストリーム制御バッファが有効
ビット4 LTR LAN-RAMインタフェイスからのスピン・データ
ビット5 USTR_RSV アップストリーム送信、予約の実施
ビット6 USTR_NC アップストリーム送信、無競合チャネル
ビット7 USTR-C アップストリーム送信、競合チャネル
ビット14 SMRTIASAP 状態マシンができるだけ早くアイドルに戻る
ビット15 SR (1)ビットを設定し、(0)ビットをリセットする。
KTREG+1は、個々のビットがマイクロプロセッサ302によって設定されるハードウェア・チェック・レジスタである。これらの個々のビットは、ハードウェア状態マシンにその特定のタスクを実施するよう伝える。状態マシンは、コマンドを受信すると、これらのビットをクリアする。状態マシンがビットをクリアすると、肯定応答がマイクロプロセッサ302に送信されることになる。レジスタの1ビットはマイクロプロセッサ302によって設定されるので、これらのフラグが設定されると、割り込みが発生しない。
アップストリーム送信はケーブル・モデム113の複雑な操作であり、一般に、2ステップで完了する。最初のステップは予約であり、次のステップはデータ・パケットの送信である。各ステップはまた、ダウンストリーム制御チャネルと近接したタイミングで協動し、動作しなければならない。アップストリーム・パケットの送信には3つのケースがある。
ケース1は、マイクロプロセッサ302が、予約チャネルを介して単一データ・パケットを送信する場合である。このケースでは、マイクロプロセッサ302は、MTUに基づいて必要な予約スロット数を計算し、共通RAM309における予約構造を更新しなければならない。マイクロプロセッサ302は次に、USTR_RSVビットを設定する。UD809は最初に、競合チャネルを介して予約パケットを伝送信し、次に、予約チャネルを介してデータ・パケットを送信する。
ケース2は、マイクロプロセッサ302が、予約チャネルを介した送信に備えて、幾つかのアップストリーム・パケットをグループ化する決定を行う場合である。この場合、マイクロプロセッサ302は、MTU、アップストリーム・パケットの個々の長さ、及び全体の長さに基づいて、必要な予約スロット数を計算し、共通RAM309における予約パケット・テンプレートを更新する。マイクロプロセッサ302は次に、第1のパケットに関してUSTR_RSVビットを設定する。マイクロプロセッサ302は次に、USTR_RSVビットを監視する。このビットがUD809によってクリアされている場合は、第1のパケットが送信中であることを表す。次にマイクロプロセッサ302は、次のパケットの準備を行い、USTR_NCビットを設定して、状態マシンに、次のパケットが予約技法に関与する一連のパケットの一部であり、最初に利用可能なタイム・スロットの始めに送信されなければならないということを伝えなければならない。マイクロプロセッサ302は次に、先行パケットが送信される度に、監視し、残りのパケットに関してUSTR_NCビットを設定する。
ケース3は、マイクロプロセッサ302が、MTUより短いパケットは競合チャネルを介して送信されなければならないと決定する場合である。このケースでは、マイクロプロセッサ302は、パケットの準備を行い、USTR_Cビットを設定する。状態マシンは次に、競合チャネルだけを用いてデータ・パケットを送信する。
状態マシンは、KTREG+1のビット14、「SMRTIASAP、状態マシンができるだけ早くアイドルに戻る」を頻繁に監視し、このビットが「1」に設定されたことが分かると、アイドル状態に戻るように設計されている。これは、ケーブル・モデム113における全てのアクションを停止させるのに便利な方法である。最良の結果を得るには、KTREG+1の他の全てのビットが0に設定されなければならない。
KTREGレジスタ(例えば、KTREG+1)のそれぞれは、単一のマルチ・ビット・レジスタではない。各KTREGレジスタは、実際には、幾つかの独立した1ビット・レジスタである。独立したビット・レジスタを設けることによって、マイクロプロセッサ302があるビットを読み取って、修正しようと試みている一方で、制御回路301が別のビットをクリアしようと試みている場合、競合状態が回避される。ビットを1に設定するには、ビット15に対応するビット位置に1を書き込むことによっても、1に設定される。ビットを0にリセットするには、ビット15の対応する位置に1を書き込むことによって、0にセットされる。例えば、KTREG+1に0x8005の値を書き込むと、他のビットに影響を与えずに、PLFC及びRTLが1に設定され、KTREG+1に0x000Aの値を書き込むと、他のビットに影響を与えずに、CIPH及びDSCCがクリアされることになる:
KTRG+2 チェック・レジスタ(割り込みあり、ハードウェアからファームウェアに) R/W
ビット0 PLFC_WRAP ペイロード・バッファが循環
ビット1 DSC_WRAP ダウンストリーム制御バッファが循環
ビット2 CDNE 暗号化完了
ビット3 RTLDNE RAM-LAN完了
ビット4 PLFCDNE ケーブルからの1パケットのペイロード完了
ビット5 LTRDDNE LAN-RAMデータ完了
ビット6 USTRTDNE アップストリームの1パケット(予約パケットを除く)伝送完了
ビット7 CONTRCD ダウンストリーム制御の1パケット受信
ビット15 SR (1)ビットをセットし、(0)ビットをリセット。
KTREG+2レジスタのビットは、ハードウェア状態マシンによって設定され、一般に、マイクロプロセッサ302に、状態マシン及びハードウェアの進行状況を知らせる。マイクロプロセッサ302は、該ビットをクリアして、各ビットに関する次の状態変化を待つ。これらのレジスタ・ビットのどれかを設定することによって、マイクロプロセッサ302に割り込みを生じさせる。割り込みは、KTREG+3への書き込みによって可能、又は不可能とすることができる。用いられるアルゴリズム及びマイクロプロセッサの割り込み待ち時間に基づいて、割り込みの使用を決定する責務を負うのはマイクロプロセッサ302である。
ビット2ないし7は、MOAPから次のブロックのアドレスを入手すると、状態マシンによってクリアされ、そのパケットが完了すると、設定される。これらのビットは、マイクロプロセッサ302によってリセットされるか、あるいは、次のブロックの処理が始まるまで、設定されたままである。このことはマイクロプロセッサ302が常に注意している必要をなくすものである。マイクロプロセッサ302は、レジスタ1の対応するビットを監視し、状態マシンがMOAPからブロックのアドレスを入手して、フラグをクリアするとすぐに、複数のパケットを次から次へと処理するように配置することができる。状態マシンによるフラグのクリアは、先行ブロックが完了したことを意味する。従って、KTREG+2の対応するビットをチェックし、クリアする必要はない。状態マシンは、KTREG+2の対応するビットもクリアするので、これらのビットは、別のパケットが待ち行列化されているか否かに関係なく、処理を受ける最後のパケットの状態を表している。
ビット15は、KTREG+1のビット15と全く同様に機能する:
KTREG+3 マスク・レジスタの割り込み W
KTREG+3は、上記KTREG+2の各ビットに対応するビットを1つ備えている。このビット位置に「1」を書き込むと、対応する割り込みが許可される:
KTREG+4 エラー(ペイロード) R/W
ビット7:0 ペイロードCRCエラーのカウント
ビット15:8 ペイロード消失バッファ・エラーのカウント
KTREG+5 状態(ペイロード) R/W
ビット15:0 受信ペイロード・パケットのカウント
KTREG+6 エラー及び状態(ダウンストリーム制御) R/W
ビット7:0 ダウンストリーム制御CRCエラーのカウント
ビット15:8 ダウンストリーム制御消失バッファ・エラーのカウント
KTREG+7 エラー及び状態(ダウンストリーム制御) R/W
ビット15:0 受信ダウンストリーム制御パケットのカウント
KTREG+8 エラー及び状態(アップストリーム) R/W
ビット15:0 アップストリーム再送エラーのカウント
KTREG+9 エラー及び状態(アップストリーム) R/W
ビット7:0 待機失敗によるアップストリーム・ドロップ・パケットのカウント
KTREG+10 状態(アップストリーム) R/W
ビット15:0 送信アップストリーム・パケットのカウント
KTREG+11 バッファ管理(ペイロード) W
ビット15:0 ペイロード・ファームウェアの読み取りポインタ
KTREG+12 バッファ管理(ペイロード) R/W
ビット15:0 ペイロード制御回路301の書き込みポインタ(ペイロード・ベース・レジスタ)
KTREG+13 バッファ管理(ダウンストリーム制御) W
ビット15:0 ダウンストリーム制御ファームウェア読み取りポインタ
KTREG+14 バッファ管理(ダウンストリーム制御) R/W
ビット15:0 ダウンストリーム制御回路301の書き込みポインタ(ダウンストリーム制御ベース・レジスタ)
KTREG+15 エラー及び状態ロールオーバ・レジスタ R/W
KTREG+15における各ビットは、特定のカウンタのロールオーバを示すフラグである:
ビット0 ペイロードCRCエラー・カウンタのロールオーバ
ビット1 ペイロード消失バッファ・エラー・カウンタのロールオーバ
ビット2 受信ペイロード・パケット・カウンタのロールオーバ
ビット3 ダウンストリーム制御CRCエラー・カウンタのロールオーバ
ビット4 ダウンストリーム制御消失バッファ・エラー・カウンタのロールオーバ
ビット5 受信ダウンストリーム制御パケット・カウンタのロールオーバ
ビット6 アップストリーム再送エラー・カウンタのロールオーバ
ビット7 アップストリーム・ドロップ・パケット・カウンタのロールオーバ
ビット8 送信アップストリーム・パケット・カウンタのロールオーバ。
マイクロプロセッサ302は、上記ビットをリセットすることしかできない。任意のビット位置に1を書き込むと、「そのビットが0にリセットされる」だけであり、他のビットには影響がない。例えば、0x0003をこのレジスタに書き込むと、ビット0と1が「0」にリセットされるだけで、他のビットには影響がない。
最大カウントの半分が、次のカウント・サイクルに到達するまで、上記ビットは、ロールオーバ後、設定されたままである。例えば、KTREG[5]が、0xffffから0x0000にわたってロールオーバすると、ビット2は、「1」に設定され、カウントが0x8000に達して、次のカウント・サイクルに入るまで「1」のままである。この結果、マイクロプロセッサ302が該ビットをクリアし、カウント全体を累算するのに十分な時間が得られることになる。
次のビットのどれかが設定されると、割り込みが発生する:
KTREG+16 上記KTREG+14に関する割り込みマスク・レジスタ R/W
任意のビット位置に「1」を書き込むと、KTREG[15]の対応するビットからの割り込みが可能になる。従って、「0」によって、割り込みが禁止されることになる。
KTREG+17ないし20 マルチキャスト・アドレスの論理アドレス・フィルタ(LAF)レジスタ W
KTREG[17]15:0 LAF(15:0)
KTREG[18]15:0 LAF(31:16)
KTREG[19]15:0 LAF(47:32)
KTREG[20]15:0 LAF(48:63)
KTREG[21] ハードウェア・リセット・レジスタ W
ビット0 制御回路301ハードウェア・リセット
ビット1 チューナ・ハードウェア・リセット
ビット2 暗号チップ・ハードウェア・リセット
ビット3 LANハードウェア・リセット
ビット4 送信器ハードウェア・リセット
ビット5 マイクロプロセッサ・ハードウェア・リセット。
任意のビット位置に1を書き込むと、対応する装置のハードウェア・リセット・ライン上でリセット信号が送信される。制御回路301のハードウェア・リセット・ライン上にリセット信号を送信すると、全ての内部レジスタがクリアされる。
ビット5、即ち、マイクロプロセッサ・ハードウェア・リセットは、マイクロプロセッサ302によって、それ自身の強制的リセットに用いられ、ビット5に1を書き込むことによって実施される。短い初期遅延の後、短いリセット・パルスが生成される。ソフトウェア・リセットではなく、ハードウェア・リセットを行う理由は、リフレッシュされたキャッシュ・レジスタを含む、クリーンな初期ハードウェア状態が得られるためである:
KTREG[22] マスク及び構成 W
ビット[5:0] フロントエンドCBRマスク
ビット[9:6] ケーブル・モデム・アップストリーム・チャネル番号。
CBRマスクは、制御チャネルから受信したCBRビットに対してマスクをオン/オフするものである。KTREG[36]のビット[7:0]におけるダウンストリーム・チャネル番号に基づくQAM記号使用ビットマップを用いて、マスク・パターンが決定される。アップストリーム・チャネル番号は、ダウンストリーム制御チャネルによって割り当てられる。ダウンストリーム制御チャネルは、このチャネルに関する「状態ビットマップ」を生成し、アップストリーム送信ブロックにそれを提供する:
KTREG+32 タイミング及び制御パラメータ R
ビット15:0 利用可能なアップストリーム・チャネル周波数
KTREG+33 タイミング及び制御パラメータ R
ビット7:0 利用可能なアップストリーム・チャネル数
ビット9:8 利用可能な記号毎のアップストリーム・チャネル・ビット数
ビット15:10 利用可能なアップストリーム・チャネル記号転送速度
KTREG+34 タイミング及び制御パラメータ R
ビット15:10 スロットMaxTU
KTREG+35 タイミング及び制御パラメータ R
ビット3:0 バージョン
ビット7:4 チャネル・タイプ
ビット14:8 スロット・タイマ長
ビット15 有効(タイミング及び制御パラメータ・レジスタ、KTREG[32-37]の内容が有効である)
KTREG+36 タイミング及び制御パラメータ W
ビット7:0 自身のダウンストリーム・チャネル番号
ビット15:8 KTREG[37]QAM記号使用ビットマップに基づくダウンストリーム・チャネルにおけるペイロード・ビット数。デフォルトは、64-QAM構成における5である:
KTREG+37 タイミング及び制御パラメータ R
ビット15:0 KTREG[36]のビット[7:0]におけるダウンストリーム・チャネル番号に基づくQAM記号使用ビットマップ:
タイミング及び制御パラメータは、サブコード0x8001を備えた制御フレーム内に含まれる情報である。幾つかのフィールドは、サブコード0x8001によって直接送信されるのではなく、ハードウェアによって生成されるか又は、サブコード0x8001フレームの関する何らかの処理によって得られる。
KTREG[35]、ビット14:8(スロット・タイマ長)は、DCD805によって決定される。それは、スロット・タイマ・フィールドの最大カウントである。
KTREG[36]、ビット7:0(ケーブル・モデム・ダウンストリーム・チャネル番号)、KTREG[36]、ビット15:8(ペイロード・ビット数)、及びKTREG[37]、ビット15:0(QAM記号使用)は、互いに結び付けられて、共通の目的を果たす。その目的は、各記号内のペイロード・ビット数を求めることである。例えば、64-QAMを使用する場合、ケーブル・モデム113は、各記号毎に6ビットを受信する。1ビットは制御チャネルであり、5ビットはペイロード・データである。代替実施例では、各記号毎に、1ビットの制御チャネル、2ビットの非ペイロード・データ、及び3ビットのペイロード・データが存在する。
サブコード0x8001を備える制御フレームは、各ダウンストリーム・チャネルに関連したQAM記号使用ビットマップを送信する。マイクロプロセッサ302は、ダウンストリーム・チャネルを決定し、KTREG+36[7:0]にそれを書き込む。制御回路301は、情報をフィルタリングし、KTREG+37[15:0]でダウンストリーム・チャネルに関連したQAM記号使用ビットマップを提供する。マイクロプロセッサ302は、KTREG+37を読み取り、ペイロード・ビット数を決定する。マイクロプロセッサ302は次に、ペイロード・ビット数をKTREG+36[15:8]に書き込む。64-QAMのデフォルト値は5(1ビットは制御チャネル、5ビットはペイロード・データ、0ビットは非ペイロード・データ)である。
KTREG+35ビット15は、全ての「タイミング及び制御パラメータ」に関する有効ビットである。制御チャネルは、KTREG[32-37]上の全てのデータが有効であることを保証し、KTREG+35[15]上の「1」でそれを認定する。マイクロプロセッサ302は、上述のパラメータのどれであれ、その読み取りの直前に1回、及びその直後に1回、必ずこのビットをチェックする。これによって、無効パラメータの読み取り及び利用が回避される。
状態マシン
各装置は、専用の状態マシンによって制御される。マイクロプロセッサ302は、制御回路301内のハードウェア・フラグを制御することによって、その状態マシンを制御する。様々な装置の状態マシンも、ハードウェア・フラグを制御することによってマイクロプロセッサ302にその状態を伝える。これらのハードウェア・フラグは、制御回路301のレジスタ内に記憶されている。全ての状態マシンは同時に動作する。各状態マシンは、ファームウェアからの「青信号」制御フラグを待つ。制御回路301のBAPC825を介してRAM309と対話する各種装置の制御を行う、状態マシンの2つの一般的なカテゴリが存在する。状態マシンの第1のカテゴリは、単一パケットのデータに処理を施して、アイドル状態に戻り、次の青信号を待って、次のパケットを処理する。第1のカテゴリにおける状態マシンは、暗号状態マシン(CD811の場合)、アップストリーム状態マシン(UD809の場合)、RAM-LAN状態マシン(RTL819の場合)、及びLAN-RAM状態マシン(LTR815の場合)である。状態マシンの第2のカテゴリは、自律的に、幾つかのパケットに対して順次作用し、マイクロプロセッサ302からの介入はほとんどない。このカテゴリにおける状態マシンは、ダウンストリーム・ペイロード状態マシン(DPD807の場合)、及びダウンストリーム制御状態マシン(DCD805の場合)である。第1のカテゴリでは、「青信号」が与えられると、状態マシンは、その単一タスクを実施して、次の「青信号」を待つ状態に戻る。状態マシンには、更に、幾つかの他の並列状態マシンから構成されるものもある。ある主状態マシンが、他の副状態マシンを制御して、この状態マシンに割り当てられた主タスクの副タスクを実施する。
図23は、状態マシンの第1及び第2のカテゴリの一般形態に関する「バブル」図である。状態マシンは、状態1501において、マイクロプロセッサ302が前進信号即ち「青信号」を与えるのを待つ。これは、通常、共通RAM309内のバッファが使用可能となり、このバッファに関するMOAP827の項目が有効であることを表している。
図24は、装置805、807、809、811、813、815、817、及び819のアドレス・レジスタに関する一般化データ経路1601の概略図である。全ての装置が、図24の完全な構造を必要とするわけではない。1次ポインタ1603、及び2次ポインタ1605は、装置によって処理されるべき次の場所に対するアドレスをRAM309内に記憶する。ポインタ1603及び1605は、3つの操作、即ち、保持、ロード、及びインクリメントの対象になる。
一般に、ポインタ1603及び1605は、ベース・レジスタ(又はベース・ポインタ)1607、及びオフセット1611の加算器/減算器1609による加算によってロードされる。ベース・ポインタ1607は、装置に関するMOAP827のレジスタからロードされるか又は、MOAP827にベース・ポインタのない装置の場合、シフト・チェイン・レジスタ又は1次ポインタ1603からロードされる。1次ポインタ1603からロードするケースは、例えば、CRCエラーが発生し、1次ポインタ1603をベース・ポインタ1607によって指示されたパケットの始めにリセットして、そのパケットを効果的に廃棄しなければならない場合である。加算器/減算器1609については、暗号装置811が読み取り操作のため、ポインタを4ワード分逆に移動させる場合である。
代替案として、加算器、減算器、及び関連するマルチプレクサを用いずに、ベース・ポインタの出力を1次ポインタ1603及び2次ポインタ1605の入力に直接接続し、1次ポインタ1603及び2次ポインタ1605にデクリメント操作を加えることによって、同じ結果が得られる。その代替案では、状態マシンは、1次ポインタ1603及び2次ポインタ1605に対してインクリメント及びデクリメント命令を発行し、同じ結果を得ることができる。しかし、後者の代替案は、図24に示す実施例より多くのクロック・サイクル数を必要とする。
図23に戻ると、状態マシンは、「青信号」を受信すると次のステップに進み、一般に、状態1503において、自身のタスク・フラグが有効になるのを待つ。例えば、ケーブルからペイロードをダウンロードする状態マシンは、ここで、新しいペイロード・パケットが利用可能になるのを待ってから、次の操作に進む。状態マシンには、このステップをバイパスして、直接次のステップに進むものもある。例えば、暗号状態マシンは、マイクロプロセッサ302からの「青信号」が、有効バッファと有効タスクの両方を表すものであるため、ここで、自身のタスク・フラグを待つ必要はない。特定のタスクを実施する上での第1のステップは、タスク1505において、MOAP827からバッファの開始アドレスを状態マシンのベース・レジスタにコピーし、「青信号」をクリアして、マイクロプロセッサ302に、パケットのアドレスを得たので、マイクロプロセッサ302は先へ進むことができることを知らせ、MOAP827の新しいパケットのアドレスをコピーして、そのパケットに関する完了(DONE)ビットをクリアすることである。完了ビットのクリアは、マイクロプロセッサと装置の間における極めて重要なハンドシェイク・タスクである。マイクロプロセッサは、状態マシンの第1のカテゴリ内に「青信号」フラグを設定し、監視することによって、連続パケットの処理を監視することができる。状態マシンがフラグをクリアすると、それは、状態マシンが先行パケットの処理を終了し、現在のパケットに取りかかっていることを表している。従って、マイクロプロセッサ302は、完了フラグを検査する必要がない。マイクロプロセッサ302は、新しいパケットを配置しない場合、ただ単に、完了ビットを監視して、最後のパケットの処理がいつ終了したかを知ることもできる。
次のタスクは、タスク1507において、ベース・ポインタを1次ポインタにコピーし、状態1509において、状態マシンの特定のタスクから開始する。ベース・ポインタの値を保持する理由は、CM113が何らかのエラーによって現在のジョブを中断しなければならなくなる可能性があるためである。その場合、CM113は常に、パケットの始めに戻って、バッファを再利用することができる。この状態は、図24に「やり直し状態」遷移として示されている。また、タスクによっては、状態マシンは、ヘッダの始めからやり直し、幾つかの新しい情報をヘッダに加える必要がある。これは、ベース・ポインタを2次ポインタにコピーし、この2次ポインタを利用することによって行われる。典型的なケースが、パケットのマルチキャスト・アドレスのハッシュ値をヘッダに書き込み、その一方で、パケットの残りの部分を受信する、ダウンストリーム・ペイロード状態マシン807のケースである。また、装置は、新しいパケットの処理を開始する場合、先行パケットのバイト・カウントをそのヘッダに書き込む。
状態マシンは更に、次のステップに進み、図23において重複した状態1511、1513、1515、1517として示された、自身の特定のタスクを実施する。このタスクの実行の間、状態マシンは、状態フラグを設定することによって、マイクロプロセッサにその進行を知らせることができる。また、状態マシンは、他の副状態マシンを起動して、副タスクの幾つかを並列に実施することも可能である。一般に、タスクが完了すると、状態マシンは、状態1519及びタスク1521において、「完了」フラグを設定し、遷移「リターン」で、次のタスクを待つ状態に戻る。
フロントエンド・プリプロセッサ
図10ないし図13に戻ると、I及びQ信号が、制御回路301のフロントエンド・プリプロセッサ(FEP)801に入力される。FEP801は、I及びQ QAM信号を復号化し、これらを、FEP801からフロントエンド・シリアライザ(FES)803に送信される記号ベクトルに復号化する。FEP801からFES803への記号データ経路は、8ビットのデータ経路である。
FEP801は、64-QAM又は256-QAM信号のいずれかを受信することができる。FEP801がI及びQ信号を64-QAM信号として処理するか又は、256-QAM信号として処理するかを制御するため、フラグ・ビットQ256がFEP801に入力される。64-QAMとして処理される場合、I及びQ信号の3ビット、即ちビット0ないし2が用いられ、FES803に対する記号ベクトルは、記号ラインのビット7及びビット4ないし0に対応する6ビット・ベクトルである。256-QAMとして処理される場合、I及びQ信号の4ビットがFEP801によって処理され、記号ベクトルは8ビット・ベクトルである。64-QAM及び256-QAMの両方の場合とも、ビット7は、制御チャネル・ビットである。
FEP801は、ボー・パルス(baud_pulse)も出力する。ボー・パルスは、各記号毎に1回生成される1クロック・サイクル幅のパルスである。好適実施例では、記号は、1秒当たり5M個の記号という速度で受信され、ボー・パルスの持続時間は、25nsecである。
フロントエンド・シリアライザ
フロントエンド・シリアライザ(FES)803は、フロントエンド・プリプロセッサ801から記号及びボー・パルスを受信し、記号ベクトルを2つのシリアル・ストリームに区分化する。記号のビット7は、制御ストリーム(「Cont_Out」)である。Cont_Outストリームは、クロック・アウトされ、記号転送速度(ボー・パルス=5Mビット/秒)でダウンストリーム制御装置805に適用される。
第2のストリームは、ペイロード・データを備えたストリームである。このストリーム「Pl_Dat」は、64-QAMの記号[0:4]、及び256-QAMの記号[0:6]から導き出される。Pl_Datストリームは、40Mビット/秒の速度でダウンストリーム・ペイロード装置807に送信される。Pl_Datストリームは、信号「plse」(ペイロード・シフト使用可能)によって認定され、やはり、ダウンストリーム・ペイロード装置に送信される。こうしてPl_Datストリームを認定することによって、ペイロードされるビットだけが、ダウンストリーム・ペイロード装置807内にシフトされる。
フロントエンド・シリアライザ803は、ペイロード・ストリームをダウンストリーム制御装置805に送信する前に、ペイロード・ストリームをスクランブル解除(descrambling)する回路を含んでいる。
ダウンストリーム制御装置
ダウンストリーム制御装置805は、下記の機能を提供する状態マシンに制御される装置である。この装置は、RAM309内の自身のバッファを管理する。そのバッファ範囲の拡張は、DSCTOB及びDSCBOBレジスタを設定するマイクロプロセッサ302によって決定される。ダウンストリーム制御装置は、データをRAM309のバッファに書き込むので、その現在位置を示す書き込みポインタ、即ち、DSCWPレジスタを維持する。マイクロプロセッサ302は、それが読み取った位置を示す読み取りポインタ、即ち、DSCRPレジスタを維持する。
ダウンストリーム制御装置805は、DSCWPがDSCOBOBレジスタによって指示されるバッファの終わりに達するまで、バッファに連続して書き込みを行う。ダウンストリーム制御装置805は更に、バッファの始めから書き込みを続行し、フラグDSCWRAPを設定して、それを行ったことを表示する。ダウンストリーム制御装置805は、DSCWPがDSCRPに等しくなる、即ち、今にも未処理のパケットに上書きしそうになることを示すところまで、バッファに対する書き込みを続ける。
ダウンストリーム制御装置805は、アップストリーム装置809及び送信器バックエンド821に接続されており、これらの装置に肯定応答及びタイミング信号を供給する。多くのアップストリーム・メッセージに関して、アップストリーム装置809は、SCS101から受信した肯定応答がない限り、メッセージを再送する。ダウンストリーム制御装置805は、こうした肯定応答をcont_outストリームから解析し、その肯定応答をアップストリーム装置809に送信する。ダウンストリーム制御装置805は、cont_outストリームにおいて、スロット及びフレームの始めを示すSYNCフィールドを検出する。ダウンストリーム制御装置805はまた、アップストリーム・チャネル上でタイム・スロットが競合スロットになると、これを検出し、その情報をアップストリーム装置809に送信する。
ダウンストリーム制御装置805は更に、アップストリーム装置809に対して予約情報の供給も行う。従って、アップストリーム装置809は、MaxTUより長いパケットの送信によって供給を受けると、SCS101からの予約を待たなければならない。ダウンストリーム制御装置805は、予約許可、及びcont_outストリームを送信するまで待つことになるタイム・スロットの数の解析を行い、この情報をアップストリーム装置809に提供する。
ダウンストリーム制御装置805に関する追加タスクは、次の通りである:
ダウンストリーム・チャネルに関するダウンストリーム使用ビットマップを提供する:
マイクロプロセッサに対して状態情報を提供する:
マイクロプロセッサに関する状態及びエラー情報を維持する:
共通RAMに対してダウンストリーム・コマンドを記憶し、そのコマンドがケーブル・モデムを意図したものであることが確認された後に限って処理されるようにする。
ダウンストリーム・ペイロード装置
ダウンストリーム・ペイロード装置807は、状態マシンによる制御を受けて、フロントエンド・シリアライザ803からRAM309にダウンストリーム・ペイロード・データ・パケットを送信するための装置である。DPD807は、バッファ上部(PTOB)、バッファ底部(PBOB)、読み取り及び書き込みポインタといった内部レジスタを介してマイクロプロセッサによって制御される。DPD807は、ダウンストリーム制御装置805に関して上述した技法を利用して、それ自身のバッファを管理する。
ダウンストリーム・ペイロード装置807は、2つのラインpl_datライン及びplseラインを介してフロントエンド・シリアライザ803に接続される。pl_datラインは、ペイロード・データを含むシリアル・データ・ストリームである。pl_datライン上のデータ・ストリームは、plseライン上の1パルス/ビットを利用して、DPD807内にシフトされる。
マイクロプロセッサ302は、内部レジスタ・フラグを設定することによって、DPD807に「青信号」を与える。DPD807に青信号を与えることによって、マイクロプロセッサ302は、DPD807に対して、DPD807に関するバッファ・レジスタ(PTOB、PBOB、PRP、及びPWP)が設定されており、DPD807がRAMへのデータ送信を開始できることを示す。
ダウンストリーム・ペイロード装置807は次に、同期フラグに関するpl_datデータ・ストリームをチェックする。ペイロード・データ・パケットは、図8に示すフレーム・フォーマットを厳守している。ペイロード・フレームにおける第1のフィールド751は、ビット・パターン「01111110」(2つの0に挟まれた6つの1)を備えた1バイトの同期フラグである。ペイロード・チャネル上で送信すべきデータがない場合、SCS101は、連続して一連の同期フラグを送信する。従って、DPD807は、同期フラグが後続する同期フラグを受信した場合には、真のペイロード・データを受信していないことが分かる。
DPD807は、真のペイロード・データ・パケットを検出すると、BAPC825を使用して、RAM309へのデータ・フレームのコピーを開始する。DPD807は、2つのポインタ、即ち、1次ポインタPPと2次ポインタSPをRAM309内に維持する。
ペイロード・データ・パケットの第2のフィールドは、モデムMACアドレス753である。このアドレス753は、マルチキャスト・アドレスであってもよい。このアドレスがマルチキャスト・アドレスであれば、それはCM113が加入するマルチキャスト・アドレスに関してCM113に記憶されているハッシュ値の1つに一致する。DPD807は、DPD807内部の弾性バッファに対するパケットの書き込みと並行して、MACアドレスのハッシュ計算を行う。DPD807は、SPによって指示されるパケット・ヘッダ1405内のRAM309の位置にそのハッシュ値を書き込む。DPD807は、MACアドレスの確認が済むと、弾性バッファからRAM309へのペイロード・データの書き込みを開始する。
DPD807は、pl_datデータ・ストリームを受信する内部先読みシフト・レジスタも含んでいる。DPD807は、pl_datデータ・ストリームから、一度に数バイトのデータを保持する先読みシフト・レジスタにデータを送信する。先読みシフト・レジスタに数バイトのデータを常に記憶しておくことによって、DPD807は、弾性バッファへの、及び最終的には、RAM309への書き込み前に、「先読み」を行うことができる。
先読みは、パケットの長さを決めるのに有効である。ペイロード・データ・パケットの長さは不定とすることも可能である。メッセージ・フィールド763を受信している間、DPD807は、受信したバイト数をカウントし続ける。パケットの終わりを受信するまで、メッセージ長は分からない。先読みすることによって、DPD807は、次のパケットの同期フラグを検出でき、それによってその長さを知ることができる。DPDは、2次ポインタを用いることによって、このパケット長を記憶するが、同時に、1次ポインタを用いて、次のパケットを記憶することも可能である。
また、同期フラグが検出されると、DPDは、CRCフィールド765が受信されたばかりであることを知る。DPDは次に、巡回冗長検査を比較して、パケットが正しく受信されたかを判定する。CRC検査が失敗すると、DPDは、マイクロプロセッサ302に対してエラー・フラグを設定する。
アップストリーム装置
アップストリーム装置UD809は、状態マシンによる制御を受けて、アップストリーム・チャネル上でパケットを送信する働きをする装置である。アップストリーム装置809は、送信器バックエンド821に接続されている。データ・ビットは、送信器バックエンド821によってビット要求パルスがUD809に提供されると、一度に1ビットずつ、UD809から送信器バックエンド821内にクロック・アウトされる。
マイクロプロセッサ302は、対応する「青信号」レジスタを設定し、UD809に関するMOAP827のレジスタ内にRAM309のパケット・アドレスを配置することによって、UD809のアクティビティを起動する。UD809は、3つのモード、即ち、「予約による送信」、「非競合チャネル上での送信」、及び「競合チャネル上での送信」のうち1つのモードで送信することができる。それぞれに対応する「青信号」レジスタが存在する。
図25及び26は、アップストリーム装置809に関する状態マシンの「バブル図」である。状態1701は、アイドル状態であり、UD809は、3つのモード、即ち、「予約による送信」、「非競合チャネル上での送信」、及び「競合チャネル上での送信」のうち1つのモードでメッセージを送信する命令を待つ。これらのそれぞれについて、状態マシンの分岐がある。
「予約による送信」の分岐は、状態1703において、CM113が送信している特定のアップストリーム・チャネルが利用可能になるのを待つことから始まる。どのタイム・スロットについても制御チャネル内のフレームには、チャネル/スロット状態サブフレーム・タイプ・フレームが含まれる。そのフレームは、チャネル占有ビットマップを含んでいる(表1参照)。チャネル占有ビットマップは、DCD805からUD809に送信される。UD805は、次のスロットにおいてそのチャネルが空いていることを検出すると、状態1705において、次のスロットが始まるのを待つ状態に移行する。
UD809は状態1705で、DCD805からのスロット・パルスによって指示される、次のスロットを検出すると、状態1707で、送信器バックエンド821との対話によるデータ送信に進み、その送信が終了するのを待ち、状態1709で、SCS101からの肯定応答を待つ。その肯定応答はやはり、制御チャネル上で受信され、DCD805からUD809に送信される。
UD809は、肯定応答をどれだけの時間まで待つかに関する制限が設定されている。メッセージの送信と肯定応答の受信との間における予測される待ち時間は、CM113とSCS101との間の距離の関数である。インストール時には、その待ち時間は未知である。従って、CM113が初めてパケットの送信を試みる時には、1ミリ秒間待つが、SCS101にとっては、データ・パケットの受信が成功したことを肯定応答するには十分すぎるほどの時間である。CM113は、最初の肯定応答を受信すると、EEPROMにそれを記憶し、同時に、その待ち時間を内部レジスタに記憶する。後続の送信に関して、UD809は、この既知の予測待ち時間の間だけ待機する。
UD809は、時間限界内に肯定応答を受信しなければ、状態1711において、送信を再試行するか又は、中断する。一定数の再試行が許容されるが、これはプログラム可能なパラメータである。UD809は、その限界を超えなければ、まず、状態1714において、別の衝突を回避するために待機し、次に、状態1707において、再送を行う。
UD809は、その再試行に関して上限に達した場合に中断し、状態1713において、完了フラグを設定し、マイクロプロセッサ302に対して、処理が終了し、別の命令を待っていることを示す。UD809はまた、エラー・フラグを設定して、送信の失敗を示す。そうすることによって、マイクロプロセッサは、例えば、アップストリーム・チャネルにおける変更を開始したり、PC115にエラー報告を送るといった、適切な動作をとることが可能になる。
「予約による送信」の分岐において肯定応答を受信した場合、この肯定応答によって、待つべきタイム・スロットの数が示される。状態1715において、UD809は、その多くのスロット分だけ待ち、状態1717において、予約データ・パケットの送信を開始し(図示していない主送信状態マシンを呼び出すことによって)、状態1717においてその送信が終了するのを待ち、状態1719において、完了フラグを設定し、状態1701のアイドル状態に戻る。
UD809の状態マシンの第2の分岐は、「競合するチャネル上の送信」の分岐である。第2の分岐は、ほんのわずかな相違があるが、本質的に第1の分岐の部分集合である。第1の分岐の状態に対応する第2の分岐の状態は、アポストロフィのついた同じ参照番号を用いて示されている。両者の相違点についてのみ解説する。
状態1707'は、予約要求のないパケットが送信されるという点で、状態1707とは異なっている。状態1709'は、肯定応答を受信した際に、UD809が、状態1709'から状態1719'に直接遷移するという点で、状態1709とは異なっている。
UD809に関する状態マシンの第3の分岐は、「競合のないチャネル上の送信」の分岐である。CM113は、合計で、MaxTUの長さを超える多くの不連続なデータ・パケットを送信しなければならないことが分かっている場合、このデータ・パケットの集合を送信するのに必要な全タイム・スロット数の予約をすることができる。そうすることによって、UD809の状態マシンの「予約による送信」の分岐を最初に実行することになる。それが終了すると、UD809は、「青信号」を低レベルにし、マイクロプロセッサ302が、UDに関するMOAPポインタをリセットできるようにする。それが済むと、マイクロプロセッサ302は、最初の予約に際してまだタイム・スロットが残っていることが分かるので、「競合のない送信」命令を発行する。UD809は、状態1719からアイドル状態1701に遷移するや否や、「競合のない送信」命令に気づいて、対応する分岐、即ち、状態1705''に遷移する。状態1705''は、状態1705と同様である。スロット・パルスを受信すると、UD809は、状態1717"においてデータ・パケットを送出するが、肯定応答を待つことはない。データ・パケットの送信が完了すると、UD809は、状態1719''において完了フラグを設定する。
暗号装置
暗号装置811は、MOAP827、バス調停及び優先順位回路825に接続され、及び暗号チップ・インタフェイス813を介して暗号チップ311に接続された、状態マシンによる制御を受ける装置である。暗号装置811は、BAPC825を介してRAM309からデータ・パケットを検索し、これらを(適宜)暗号化または暗号解読のため、暗号チップ311に対して(CCI813を介した)経路付けを行い、暗号チップ311から処理済みのデータを受信して、結果得られた暗号化/暗号解読データをRAM309に戻して記憶する。
図27は、暗号装置811を制御する状態マシンの「バブル図」である。第1の状態、状態1801において、暗号装置811はアイドル状態にあり、マイクロプロセッサ302からの青信号を待つ。マイクロプロセッサは、例えば、PC115において実行されるエンドユーザ・プログラムの指示によって、または、Eビット755の指示に従って、データ・パケットの暗号化または暗号解読が必要であることを検出すると、暗号装置811のMOAP827ポインタをセットアップして、RAM309内のデータ・パケットを指示する。MOAP827のレジスタ2は、そのパケットに含まれている8バイトのデータ・ブロックの数を表した、パケット・ヘッダ内の反復カウント・ワード1407を指示し、MOAP827のレジスタ3は、暗号化または暗号解読すべきデータ・ブロックの始めを指示する。
暗号装置811は、マイクロプロセッサ302が暗号装置811に対応するチェック・レジスタ1401を設定することによって示される青信号を受信すると、状態1803において、暗号チップ311の初期設定手順を開始する。暗号装置は、初期設定の完了を待たない。暗号装置は次に、状態1805において、MOAP827のポインタを暗号装置811の内部レジスタにコピーし、状態1807において、暗号チップ311の初期設定が完了するのを待つ。暗号チップ311の初期設定が済むと、暗号装置811は、状態1809において、RAMからの反復カウントを受信し、状態1811において、その1次ポインタを移動させて、データ・パケットの始めを指示する。
良好な暗号化を行うため、一度に数ワードの暗号化が行われる。好適実施例では、暗号チップ311は、一度に4ワード(8バイト)のデータ・ブロックの処理を行う。従って、状態1813において、暗号装置811は、RAM309のバースト・モード・アクセスのために、そのアドレス・レジスタ1203とカウンタ・レジスタ1201をセットアップし、状態1815において、暗号装置811は、BAPC825を介してRAM309に4回アクセスし、暗号チップ311に対して、パケットからの4つのデータ・ワードを経路指定する。
状態1817において、暗号装置811は反復カウントをデクリメントする。状態1819において、暗号装置811は、暗号チップ311での暗号化/暗号解読の終了を待つ。次に、暗号装置811は、暗号チップ311からRAM309へのデータ・ブロックの送信のために配置を行い、状態1821において、暗号チップ311が、RAM309に4つの暗号化/暗号解読ワードを戻して終了するのを待つ。
RAM309に暗号化/暗号解読データを書き戻すと、反復カウントが0より大きい場合、暗号装置811は、状態1813に戻ることによって、次の4ワード・ブロックに同じ操作を繰り返す。反復カウントが0の場合、状態1825で暗号装置は完了フラグを設定し、リターンしてマイクロプロセッサ302からの次の青信号フラグを待つ。
LAN-RAM
LAN・RAM装置(LTR)815は、MOAP827、バス調停及び優先順位回路825に接続され、LANインタフェイスを介してLANチップ307に接続されている。LTR815は、LANチップ307からRAM309へのデータ・パケットの送信を行う。LANチップ307は、送信データを有する場合、LANインタフェイス817に信号を送り、LANインタフェイス817は、内部レジスタを介してマイクロプロセッサ302にこれを再送する。マイクロプロセッサ302は、MOAP827のポインタを設定して、LTR815がパケットを記憶するRAM309内の位置を指示し、LTR815がLANチップ307からRAM309へのデータ送信を開始するように「青信号」をオンにする。
マイクロプロセッサ302から「青信号」を受信すると、LTR815は、そのMOAP827のポインタ及びBAPC825を利用して、パケットをRAM309内に送信する。それが完了すると、LTR815は、その完了フラグを送信するが、これは、例えば、直接送信の場合、アップストリーム装置809といった他の装置の1つに対して、又は、パケットが暗号化を要する場合であれば、暗号装置811に対して、パケットの制御を移行することをマイクロプロセッサ302に知らせる信号である。
RAM-LAN
RAM-LAN装置(RTL)819は、MOAP827、バス調停及び優先順位回路825に接続され、及びLANインタフェイス817を介してLANチップ307に接続される。RTL819は、RAM309からLANチップ307へのデータ・パケットの送信を行う。RAM309内におけるパケットがLANチップ307に送信できる状態である場合(即ち、そのパケットが、ダウンストリーム装置807によって受信され、暗号装置811によって暗号解読されている場合)、マイクロプロセッサ302は、MOAP827のポインタを設定して、RTL819がパケットの検索を行うRAM309内の位置を示し、RTL819がLANチップ307へのデータ送信を開始するように「青信号」をオンにする。
マイクロプロセッサ302から「青信号」を受信すると、RTL819は、そのMOAP827ポインタ及びBAPC825を利用して、パケットをLANチップ307に送信する。それが完了すると、RTL819は、その完了フラグを送信する。
インタフェイス装置
図3及び図10ないし図13に示すように、制御回路301は、例えば、チューナ303、送信器305、暗号チップ311、LANチップ307、及びRAMといった幾つかの外部装置と対話する。これらの装置はそれぞれ、タイミング要件が異なり、I/O構成も異なる。しかし、マイクロプロセッサ302及びバス調停及び優先順位回路825は、これらの他の構成要素に対して一様なインタフェイスを備えている。例えば、これらの外部構成要素とBAPC825との間の対話を制御する装置間におけるインタフェイス及びタイミングが、図14及び図15に一般的な形態で示されている。
BAPC825と装置との間におけるインタフェイスの均一性を実現するため、各装置は、インタフェイス装置を備えている。暗号装置811のインタフェイス装置は、暗号チップ・インタフェイス813であり、LAN-RAM装置815及びRAM-LAN装置819のインタフェイス装置は、LANインタフェイス817である。
各装置毎に、対応するインタフェイス装置は、薄いハードウェア変換層から構成される。インタフェイス装置は、2つの側部を備えている。図14には、バス調停及び優先順位回路825との通信を行う第1の側部が示されている。インタフェイス装置の第2の側部は、例えば、LANチップのような外部構成要素とのインタフェイスを行うセクションと、マイクロプロセッサ302とのインタフェイスを行うもう1つのセクションを含む。
各インタフェイス装置は、インタフェイス装置の2つの側部の間におけるタイミングの差を管理する状態マシンを含んでいる。インタフェイス装置は、その内部状態マシンによる指示に従い、それが接続されている特定の外部構成要素の必要に応じた、適切なハンドシェイク変換を行って、インタフェイス装置の装置側(例えば、LTR815)から構成要素側(例えば、LANチップ307)へデータを送信する。例えば、暗号チップ311の場合、アドレスが、送信される各ワード毎に生成される。
REQが発行されると、バス調停及び優先順位回路825は、その要求に対して常に準備が整っている装置であると仮定する。従って、インタフェイス装置内の状態マシンは、読み取り及び書き込みトランザクションを受け入れる準備が整っていれば、RD_ready及びWT_ready信号を設定しなければならない。バス調停及び優先順位回路825の状態マシンは、インタフェイス装置からの準備完了信号を認識すると、REQ状態に入る。
これらの薄いハードウェア変換層を追加することによって、制御回路301の設計に柔軟性が提供される。バス調停及び優先順位回路825は、各周辺設計の仕様を考慮せずに設計される。従って、異なる外部構成要素を備える代替実施例は、互いに異なる可能性がある。こうした相違には、対応するインタフェイス装置を変更することによって適応することが可能である。
結論
本発明の典型的な好適実施例について解説を行った。これらの実施例には、多くの代替案が考えられる。例えば、図2には、共用バス・ベースのアーキテクチャを備える信号変換システム101が示され、図10ないし13には共用メモリ309上で動作する、多くの並列状態マシンの制御を受ける装置を備えたケーブル・モデム113が示されている。SCS101の第1の代替実施例は、ケーブル・モデム113の設計を組み込んでいる。CM113がQPSK送信器305を使用する第1の代替SCSの場合、代替SCSは64-QAM送信器を使用し、CM113が64-QAM受信器を使用している場合には、代替SCSはQPSK受信器を使用し、代替SCSが、LANチップ307ではなく、ルータ・インタフェイスを使用する。SCSの第1の代替実施例では、LTR815及びRTL819は、RAMとルータ・インタフェイスとの間のインタフェイスに置き換えられる。
当業者には明らかなように、本発明に対して多くの修正及び変更を加えることが可能であり、例示され、解説された構成及び動作そのままに本発明を限定することは望ましくない。従って、適合する修正及び同等物は全て、本発明の範囲内に含まれるものと考えられる。
以下に本発明の実施態様を列挙する。
1. 根ノード、及び少なくとも1つの葉ノードを有するデータ送信ケーブル、
前記根ノードに接続された信号変換システム(SCS)、及び
それぞれが別個の葉ノードに接続されている、少なくとも1つのクライアント・ステーションを含む高速データ通信用のコンピュータ・ネットワークであって、
前記信号変換システム(SCS)が、
第1の周波数帯で前記ケーブル上にダウンストリーム・データを送信する送
信機、及び
第2の周波数帯で、前記クライアント・ステーションからのデータを受信す
る受信機を備え、
前記ダウンストリーム・データが同期信号、及び肯定応答信号を含み、更に、
各クライアント・ステーションが、
前記第1の周波数帯でデータを受信する受信機、及び
前記第1の周波数帯で受信した同期信号に従って第2の周波数帯にデータを送信する送信機を備えることを特徴とする、前記コンピュータ・ネットワーク。
2. ネットワーク上でデータの双方向通信を制御する方法が、
(a)第1の周波数帯で、同期情報を有する制御信号を信号変換システム(SCS)からダウンストリーム送信するステップ、
(b)少なくとも1つのクライアント・ステーションで、前記制御信号を受信するステップ、
(c)第2の周波数帯で、前記同期信号に関してタイミングがとられる、前記クライアント・ステーションから前記SCSへのアップストリーム送信を行うステップ、及び
(d)前記第1の周波数帯で、前記アップストリーム送信の前記SCSによる良好な受信の肯定応答を行うステップを含むことを特徴とする、前記制御方法。
3. 根ノード、及び少なくとも1つの葉ノードを有するデータ送信ケーブル、
前記根ノードに接続された信号変換システム(SCS)、及び
それぞれが別個の葉ノードに接続されている、少なくとも1つのクライアント・ステーションを含むことを特徴とする、高速データ通信用のコンピュータ・ネットワークであって、
各クライアント・ステーションが、
前記第1の周波数帯でデータを受信する受信機、及び
後続の送信のための、第2の周波数帯上の予約スロットに対する要求を含むアップストリーム・データを前記第2の周波数帯に送信する送信機を備え、更に、
前記信号変換システム(SCS)が、
要求された予約スロットの開始時間を決定するよう動作可能なスケジューラ、
ダウンストリーム・データを、前記ケーブル上に第1の周波数帯で送信する送信機であって、前記ダウンストリーム・データが前記アップストリーム・データの良好な受信の肯定応答を含み、前記肯定応答が要求された前記予約スロットの開始時間を示す遅延時間を含む前記送信機、及び
前記クライアント・ステーションから第2の周波数帯でデータを受信する受信機を含み、
前記ダウンストリーム・データが同期信号、及び肯定応答信号を含むことを特徴とする、前記コンピュータ・ネットワーク。
4. 高速データ通信ネットワークを動作させる方法が、
(a)予約された通信スロットに関する要求を含むデータを、クライアント・ステーションから信号変換システム(SCS)に送信するステップ、
(b)前記予約された通信スロットをスケジューリングするステップ、及び
(c)前記要求が良好に受信されたことと、前記予約された通信スロットに関する開始時間を示す肯定応答を、前記SCSから前記クライアント・ステーションに送信するステップを含むことを特徴とする、前記方法。
ヘッド・エンドに配置された信号変換システム(SCS)と加入者位置に配置されたクライアント・ステーションとの間におけるデータ通信を提供する、本発明に従って適用される近隣のケーブルTVシステムを示す図である。 本発明による信号変換システム(SCS)の概略図である。 図1のケーブルTVシステムに従って用いられるケーブル・モデムの高レベル概略図である。 ケーブルTVのケーブルに関する周波数スペクトルの一部に関する振幅対周波数の一例を示すグラフである。 ダウンストリーム・チャネル及びアップストリーム・チャネルにおける典型的な動作を示す図である。 ダウンストリーム制御チャネルに関する共通フレーム・フォーマットのブロック図である。 制御チャネル上で送信されるダウンストリーム肯定応答フレームのフォーマットに関するブロック図である。 SCSからケーブル・モデムに送信されるダウンストリーム・ペイロード・データ・フレームのブロック図である。 アップストリーム・チャネル・フレームに関する共通フォーマットのブロック図である。 本発明のケーブル・モデムを更に詳細に示す図の構成を示す図である。 本発明のケーブル・モデムを更に詳細に示す図である。 本発明のケーブル・モデムを更に詳細に示す図である。 本発明のケーブル・モデムを更に詳細に示す図である。 バス調停、及び優先順位回路(BAPC)に装置を接続するための一般的接続方式に関するブロック図である。 状態マシンに制御された装置とBAPCとの間におけるデータ送信の一例を示すタイミング図である。 バス調停、及び優先順位回路(BAPC)の概略図の構成を示す図である。 バス調停、及び優先順位回路(BAPC)の概略図である。 バス調停、及び優先順位回路(BAPC)の概略図である。 装置のセクション、即ちACK信号を受信するセクションに関する概略図であり、バースト・モードにおける装置の動作を示す図である。 図16ないし18のバス調停、及び優先順位回路によって処理される典型的な1組のトランザクションを示すタイミング図である。 図10ないし13に示すケーブル・モデムの制御回路に関する全ポインタのマスタ(MOAP)構造の高レベル概略図である。 RAMに記憶されている、データ・パケットの一般フォーマットに関する概略図である。 第1及び第2のカテゴリの状態マシンの一般形式に関する「バブル図」である。 本発明によるケーブル・モデムの制御回路におけるコンポーネント装置のアドレス・レジスタの一般化されたデータ経路1601に関する概略図である。 アップストリーム装置を制御する状態マシンの「バブル図」である。 アップストリーム装置を制御する状態マシンの「バブル図」である。 暗号装置を制御する状態マシンの「バブル図」である。
符号の説明
100 ケーブルTVシステム
101 信号変換システム(SCS)
103 ヘッド・エンド
105 クライアント・ステーション
107 光ファイバ・ケーブル
109 ファイバ・ノード
111 同軸ケーブル
113 ケーブル・モデム
115 コンピュータ
117 ルータ
201 ルータ・インタフェイス
203 内部バス
205 送信器
207 受信器
209 CPU
211 ROM
213 RAM
217 I/O装置
301 制御回路
302 マイクロプロセッサ
303 チューナ
307 LANトランシーバ回路
309 RAM
801 フロントエンド・プリプロセッサ(FEP)
803 フロントエンド・シリアライザ
805 ダウンストリーム制御装置(DCD)
807 ダウンストリーム・ペイロード装置
809 アップストリーム装置(UD)
811 暗号装置(CD)
813 暗号チップ・インタフェイス
815 LAN-RAM装置(LTR)
817 LANインタフェイス(LANI)
819 RAM-LAN装置(RTL)
821 送信器バックエンド(TB)
823 送信器インタフェイス(TRI)
824 チューナ・インタフェイス
825 バス調停及び優先順位回路(BAPC)
829 マイクロプロセッサ・インタフェイス(MI)
831 読み取りバス
833 書き込みバス
1101 優先順位エンコーダ回路
1109、1117、1119、1123、1129 パイプライン・レジスタ
1111 読み取りレジスタ
1113 装置選択回路
1115、1125 スイッチ
1121 マルチプレクサ
1127 RAMバス
1130 ゲート
1203 内部アドレス・レジスタ
1401 チェック・レジスタ
1410、1607 ベース・レジスタ
1413 オフセット・レジスタ
1603 1次ポインタ
1605 2次ポインタ
1609 加算器/減算器

Claims (5)

  1. 第1のチャネル上で、第1の制御ステーションが加入者ステーションに接続され、前記第1の制御ステーションと前記加入者ステーションとの間で通信を行うことを可能にする方法であって、
    前記第1のチャネルの加入者ステーションにおいて、前記加入者ステーションによって送信するための可変長スロットのタイミングを定義する情報を含んでいる同期信号を含むダウンストリーム・データを、前記第1の制御ステーションから受信するステップと、及び
    前記加入者ステーションから前記第1の制御ステーションに、前記第1のチャネルの前記同期信号によって同期されているアップストリーム・データを送信するステップとを含む、方法。
  2. 前記加入者ステーションにおいて、前記ダウンストリーム・データ内に含まれており、スロットのプログラム可能な最大数、及びスロット毎にプログラム可能なフレーム数の少なくとも一方を含む再プログラミング情報を検出し、アップストリーム・データ送信のタイミングをとるためにデフォルトとして使用するための前記再プログラミング情報を記憶するステップをさらに含む、請求項1の方法。
  3. 前記同期信号を受信するステップが、
    スロットのプログラム可能な最大数と、及び
    スロット毎のプログラム可能なフレーム数との双方を受信することを含む、請求項1の方法。
  4. ダウンストリーム・データを受信するステップが、前記加入者ステーションにおいて、連続して送信されたフレームを受信することを含み、前記連続して送信されたフレームのうち少なくともいくつかが、アップストリーム・データ送信のためのスロットのタイミングを再定義し、
    前記第1の制御ステーションが新たなスロット・タイマ情報を前記加入者ステーションに送信するまで、前記加入者ステーションが、前記第1の制御ステーションによって送信された定義済みスロット・タイマ情報を使用し続ける、請求項1の方法。
  5. アップストリーム・データを送信するステップが、前記第1のチャネルと関連した周波数と異なる周波数を有する第2のチャネルで、アップストリーム・データを送信することを含む、請求項1の方法。
JP2004087238A 1995-09-22 2004-03-24 高速データ通信モデム Pending JP2004274778A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/532,918 US5784597A (en) 1995-09-22 1995-09-22 Communications network system including acknowledgement indicating successful receipt of request for reserved communication slots and start time for said reserved communication slots

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP25210896A Division JP3577393B2 (ja) 1995-09-22 1996-09-24 高速データ通信モデム

Publications (1)

Publication Number Publication Date
JP2004274778A true JP2004274778A (ja) 2004-09-30

Family

ID=24123741

Family Applications (2)

Application Number Title Priority Date Filing Date
JP25210896A Expired - Fee Related JP3577393B2 (ja) 1995-09-22 1996-09-24 高速データ通信モデム
JP2004087238A Pending JP2004274778A (ja) 1995-09-22 2004-03-24 高速データ通信モデム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP25210896A Expired - Fee Related JP3577393B2 (ja) 1995-09-22 1996-09-24 高速データ通信モデム

Country Status (4)

Country Link
US (2) US5784597A (ja)
EP (2) EP1437865B1 (ja)
JP (2) JP3577393B2 (ja)
DE (2) DE69635468T2 (ja)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334219B1 (en) 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
USRE42236E1 (en) 1995-02-06 2011-03-22 Adc Telecommunications, Inc. Multiuse subcarriers in multipoint-to-point communication using orthogonal frequency division multiplexing
US7280564B1 (en) 1995-02-06 2007-10-09 Adc Telecommunications, Inc. Synchronization techniques in multipoint-to-point communication using orthgonal frequency division multiplexing
FR2737826B1 (fr) * 1995-08-08 1997-09-12 Sextant Avionique Procede de communication sur un bus a cohabitation de debits differents
US5966163A (en) * 1995-10-20 1999-10-12 Scientific-Atlanta, Inc. Providing constant bit rate upstream data transport in a two way cable system by scheduling preemptive grants for upstream data slots using selected fields of a plurality of grant fields
WO1997016046A1 (en) * 1995-10-24 1997-05-01 General Instrument Corporation Variable length burst transmission over the physical layer of a multilayer transmission format
AU2191197A (en) * 1996-02-26 1997-09-10 E Guide, Inc. Cordless phone back link for interactive television system
JPH09297677A (ja) * 1996-05-02 1997-11-18 Fujitsu Ltd 一部のデータ群を消去可能としたfifoバッファ
KR980004877A (ko) * 1996-06-24 1998-03-30 김광호 메모리 억세스를 위한 우선순위 제어장치 및 방법
US7254781B1 (en) 1996-07-19 2007-08-07 Cisco Technology, Inc. Method and apparatus for providing multiple management interfaces to a network device
US6008805A (en) * 1996-07-19 1999-12-28 Cisco Technology, Inc. Method and apparatus for providing multiple management interfaces to a network device
GB9624179D0 (en) * 1996-11-20 1997-01-08 Plessey Telecomm Telecommunications access systems and equipment
FR2757333B1 (fr) * 1996-12-13 1999-01-29 Alsthom Cge Alcatel Trame de transmission de donnees, et procede et dispositif d'emission et de reception d'une telle trame
TW309685B (en) * 1996-12-24 1997-07-01 Yng-Dar Lin Control method of upstream multi-access of transmission system
US6370571B1 (en) 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
US7529856B2 (en) * 1997-03-05 2009-05-05 At Home Corporation Delivering multimedia services
US6678462B1 (en) * 1997-03-25 2004-01-13 Sony Corporation Electronic device, method and apparatus for controlling an electronic device, and electronic device control system
DE69808633T2 (de) * 1997-07-25 2003-06-12 British Telecomm Ablaufsteuerung für ein softwaresystem
US6049539A (en) * 1997-09-15 2000-04-11 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
US6084869A (en) * 1997-10-06 2000-07-04 Hughes Electronics Corporation Resource reservation for packet-switched multiple-path communication system
KR100309748B1 (ko) * 1997-12-26 2001-12-17 윤종용 상향파일럿신호를이용한케이블에취에프씨망을위한양방향간선증폭기및에취에프씨망의케이블모뎀
US6260193B1 (en) * 1998-02-09 2001-07-10 General Instrument Corporation Synchronization of decoders in a bi-directional CATV network
CA2265313A1 (en) * 1998-04-15 1999-10-15 Lucent Technologies Inc. Method and apparatus enabling multiple access on a broadband communication network
US6792616B1 (en) * 1998-05-01 2004-09-14 Scientific-Atlanta, Inc. System and method for providing a plurality of programming services in a television system
US6636485B1 (en) 1998-05-14 2003-10-21 3Com Corporation Method and system for providing quality-of-service in a data-over-cable system
US6775276B1 (en) 1998-05-27 2004-08-10 3Com Corporation Method and system for seamless address allocation in a data-over-cable system
GB2337906B (en) * 1998-05-28 2003-07-23 3Com Technologies Ltd Method for transmitting multi-media packet data using a contention-resolution process
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6230326B1 (en) * 1998-07-30 2001-05-08 Nortel Networks Limited Method and apparatus for initialization of a cable modem
US7707600B1 (en) * 1998-08-21 2010-04-27 Intel Corporation Confirming video transmissions
US6625208B2 (en) * 1998-09-25 2003-09-23 Intel Corporation Modem using batch processing of signal samples
US6490628B2 (en) * 1998-09-25 2002-12-03 Intel Corporation Modem using a digital signal processor and a signal based command set
US6661848B1 (en) * 1998-09-25 2003-12-09 Intel Corporation Integrated audio and modem device
US6502138B2 (en) * 1998-09-25 2002-12-31 Intel Corporation Modem with code execution adapted to symbol rate
US6892229B1 (en) 1998-09-30 2005-05-10 3Com Corporation System and method for assigning dynamic host configuration protocol parameters in devices using resident network interfaces
US6795438B1 (en) 1998-10-28 2004-09-21 Intel Corporation Method and apparatus for extending point-to-point/asynchronous transfer mode services to client computer systems
FR2786052B1 (fr) * 1998-11-18 2001-02-02 Gemplus Card Int Procede de transmission numerique
US6598229B2 (en) * 1998-11-20 2003-07-22 Diva Systems Corp. System and method for detecting and correcting a defective transmission channel in an interactive information distribution system
JP4228252B2 (ja) * 1999-02-05 2009-02-25 ソニー株式会社 データ設定方法、データ送信システム及び受信端末装置
US7099338B1 (en) 1999-02-27 2006-08-29 3Com Corporation System and method for insuring dynamic host configuration protocol operation by a host connected to a data network
US6611868B1 (en) 1999-05-21 2003-08-26 3Com Corporation Method and system for automatic link hang up
US6751230B1 (en) * 1999-05-24 2004-06-15 3Com Corporation Upstream channel multicast media access control (MAC) address method for data-over-cable systems
US6754622B1 (en) 1999-05-24 2004-06-22 3Com Corporation Method for network address table maintenance in a data-over-cable system using destination reachibility
US6937609B1 (en) 1999-05-25 2005-08-30 Cingular Wireless Ii, Inc. Method for improving efficiency in a time sharing network
US6985437B1 (en) 1999-05-25 2006-01-10 3Com Corporation Method for dynamic performance optimization in a data-over-cable system
US6785292B1 (en) 1999-05-28 2004-08-31 3Com Corporation Method for detecting radio frequency impairments in a data-over-cable system
US6401077B1 (en) 1999-05-28 2002-06-04 Network Commerce, Inc. Method and system for providing additional behavior through a web page
US6453472B1 (en) * 1999-06-02 2002-09-17 Cisco Technology, Inc. Method and apparatus for performing periodic ranging for cable modems
US6842435B1 (en) * 1999-09-15 2005-01-11 General Instrument Corporation Congestion monitoring and power control for a communication system
US6526070B1 (en) * 1999-10-09 2003-02-25 Conexant Systems, Inc. Method and apparatus for upstream burst transmissions synchronization in cable modems
US7065779B1 (en) * 1999-10-13 2006-06-20 Cisco Technology, Inc. Technique for synchronizing multiple access controllers at the head end of an access network
US6424626B1 (en) * 1999-10-29 2002-07-23 Hubbell Incorporated Method and system for discarding and regenerating acknowledgment packets in ADSL communications
CN1336053B (zh) * 1999-11-01 2010-09-29 索尼公司 信息传输系统及方法、以及发送装置及接收装置
WO2001050685A1 (en) * 1999-12-30 2001-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Method, means and arrangements for transmitting data streams
US8261315B2 (en) * 2000-03-02 2012-09-04 Tivo Inc. Multicasting multimedia content distribution system
US7908635B2 (en) * 2000-03-02 2011-03-15 Tivo Inc. System and method for internet access to a personal television service
US8171520B2 (en) * 2000-03-02 2012-05-01 Tivo Inc. Method of sharing personal media using a digital recorder
US8812850B2 (en) 2000-03-02 2014-08-19 Tivo Inc. Secure multimedia transfer system
US7089580B1 (en) * 2000-03-29 2006-08-08 3Com Corporation Method for improved cable modem ranging in a data-over-cable system
US7308575B2 (en) * 2000-03-30 2007-12-11 Arris Group, Inc. Data scrambling system for a shared transmission media
US6804262B1 (en) 2000-04-28 2004-10-12 3Com Corporation Method and apparatus for channel determination through power measurements
US6738982B1 (en) 2000-05-04 2004-05-18 Scientific-Atlanta, Inc. Method and system for uniform resource identification and access to television services
US7047196B2 (en) 2000-06-08 2006-05-16 Agiletv Corporation System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery
US6944881B1 (en) 2000-06-19 2005-09-13 3Com Corporation Method for using an initial maintenance opportunity for non-contention ranging
US7383543B2 (en) * 2000-06-29 2008-06-03 Intel Corporation Management of reuse invalidation buffer for computation reuse
US6816500B1 (en) 2000-07-10 2004-11-09 3Com Corporation Apparatus, method and system for multimedia access network channel management
US6985963B1 (en) * 2000-08-23 2006-01-10 At Home Corporation Sharing IP network resources
US6742187B1 (en) 2000-09-15 2004-05-25 3Com Corporation Upstream bandwidth allocation map (MAP)-initiated channel change method for data-over-cable systems
AU2001287072A1 (en) * 2000-09-19 2002-04-02 Agile Tv Corporation Increased bandwidth in aloha-based frequency hopping transmission systems
US6765925B1 (en) * 2000-09-28 2004-07-20 Nortel Networks Limited Apparatus and method of maintaining state in a data transmission system
US7107326B1 (en) 2000-10-13 2006-09-12 3Com Corporation Method and system for integrating IP address reservations with policy provisioning
US7054930B1 (en) 2000-10-26 2006-05-30 Cisco Technology, Inc. System and method for propagating filters
US7100194B1 (en) * 2000-11-13 2006-08-29 Sony Corporation Method and system for minimizing the time required to acquire a control channel of a cable television signal with a set-top unit
US7068597B1 (en) 2000-11-27 2006-06-27 3Com Corporation System and method for automatic load balancing in a data-over-cable network
US20020066110A1 (en) * 2000-11-29 2002-05-30 Cloonan Thomas J. Method and apparatus for preventing re-ranging and re-registration of cable modems during protection switching between active and spare cable interface cards in a cable modem termination system
US6940874B2 (en) 2000-11-30 2005-09-06 3Com Corporation Method for reducing interference from initializing network devices in a data-over-cable system
US6948184B1 (en) 2000-11-30 2005-09-20 3Com Corporation System and method for calibrating power level during initial ranging of a network client device
US20020101630A1 (en) * 2001-02-01 2002-08-01 Adc Telecommunications, Inc. Monitor, control and configuration of fiber node via cable modem
US8095370B2 (en) * 2001-02-16 2012-01-10 Agiletv Corporation Dual compression voice recordation non-repudiation system
US7073055B1 (en) 2001-02-22 2006-07-04 3Com Corporation System and method for providing distributed and dynamic network services for remote access server users
US7222255B1 (en) 2001-02-28 2007-05-22 3Com Corporation System and method for network performance testing
US7587746B1 (en) * 2001-05-02 2009-09-08 Cisco Technology, Inc. Methods and apparatus for enabling and disabling cable modem receiver circuitry
US7209442B1 (en) 2001-06-27 2007-04-24 Cisco Technology, Inc. Packet fiber node
US7139923B1 (en) 2001-06-27 2006-11-21 Cisco Technology, Inc. Technique for synchronizing network devices in an access data network
US7639617B2 (en) * 2001-06-27 2009-12-29 Cisco Technology, Inc. Upstream physical interface for modular cable modem termination system
US7085287B1 (en) 2001-06-27 2006-08-01 Cisco Technology, Inc. Map routing technique implemented in access networks
US7688828B2 (en) * 2001-06-27 2010-03-30 Cisco Technology, Inc. Downstream remote physical interface for modular cable modem termination system
US7349430B1 (en) 2001-06-27 2008-03-25 Cisco Technology, Inc. Addressing scheme implemented in access networks
US7206367B1 (en) * 2001-07-10 2007-04-17 Sigmatel, Inc. Apparatus and method to synchronize multimedia playback over a network using out-of-band signaling
WO2003007116A2 (en) * 2001-07-11 2003-01-23 Broadcom Corporation Method, system, and computer program product for suppression index reuse and packet classification for payload header suppression
US6839799B2 (en) * 2001-07-17 2005-01-04 Alliance Semiconductor Method for the prioritization of database entries
US7088678B1 (en) 2001-08-27 2006-08-08 3Com Corporation System and method for traffic shaping based on generalized congestion and flow control
ATE355702T1 (de) 2001-09-10 2006-03-15 Ericsson Telefon Ab L M Vorrichtung und verfahren zur darstellung von informationen
US7085306B1 (en) 2001-10-30 2006-08-01 3Com Corporation System and method for a multi-frequency upstream channel in a computer network
CN1233180C (zh) * 2001-11-24 2005-12-21 Lg电子株式会社 分组传输调度技术
US7305357B2 (en) * 2002-01-24 2007-12-04 Shaw Cablesystems, G.P. Method and system for providing and controlling delivery of content on-demand over a cable television network and a data network
US7072337B1 (en) 2002-01-25 2006-07-04 3Com Corporation System and method for resolving network addresses for network devices on distributed network subnets
GB2389754A (en) * 2002-03-07 2003-12-17 Chello Broadband N V Interactive TV system where requests for services are transmitted to the provider over a packet network and responses incorporated in the TV broadcast signal
US7519728B1 (en) * 2002-07-18 2009-04-14 Juniper Networks, Inc. Merge systems and methods for transmit systems interfaces
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
US7308611B2 (en) * 2002-10-11 2007-12-11 Agilent Technologies, Inc. Intelligent power cycling of a wireless modem
US20040177115A1 (en) * 2002-12-13 2004-09-09 Hollander Marc S. System and method for music search and discovery
US7797064B2 (en) 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US7412532B2 (en) * 2002-12-13 2008-08-12 Aol Llc, A Deleware Limited Liability Company Multimedia scheduler
US7912920B2 (en) 2002-12-13 2011-03-22 Stephen Loomis Stream sourcing content delivery system
US7493289B2 (en) * 2002-12-13 2009-02-17 Aol Llc Digital content store system
US7761598B1 (en) * 2002-12-26 2010-07-20 Juniper Networks, Inc. Systems and methods for connecting large numbers of cable modems
IL154010A0 (en) * 2003-01-16 2003-07-31 Discretix Technologies Ltd Flexible hardware implementation of hash functions
US20040152479A1 (en) * 2003-01-31 2004-08-05 Rainbolt Bradley J. Data channel procedure for systems employing frequency diversity
US7583704B1 (en) 2003-06-10 2009-09-01 Carl Walker Synchronizing separated upstream and downstream channels of cable modem termination systems
EP1675318A4 (en) * 2003-09-12 2010-08-11 Nec Corp METHOD AND APPARATUS FOR MULTI-BROADCAST DISTRIBUTION OF MEDIA FLOWS
US20050147247A1 (en) * 2003-11-14 2005-07-07 Westberg Thomas E. Interactive television systems having POD modules and methods for use in the same
JP4631289B2 (ja) * 2004-02-23 2011-02-16 パナソニック株式会社 通信システム
US7729726B2 (en) * 2004-03-26 2010-06-01 Nortel Networks Limited Feeder cable reduction
US7720101B2 (en) * 2004-05-25 2010-05-18 Cisco Technology, Inc. Wideband cable modem with narrowband circuitry
US7817553B2 (en) * 2004-05-25 2010-10-19 Cisco Technology, Inc. Local area network services in a cable modem network
US8102854B2 (en) * 2004-05-25 2012-01-24 Cisco Technology, Inc. Neighbor discovery proxy with distributed packet inspection scheme
US7532627B2 (en) * 2004-05-25 2009-05-12 Cisco Technology, Inc. Wideband upstream protocol
US7539208B2 (en) * 2004-05-25 2009-05-26 Cisco Technology, Inc. Timing system for modular cable modem termination system
US7646786B2 (en) * 2004-05-25 2010-01-12 Cisco Technology, Inc. Neighbor discovery in cable networks
US7835274B2 (en) * 2004-05-25 2010-11-16 Cisco Technology, Inc. Wideband provisioning
US8149833B2 (en) * 2004-05-25 2012-04-03 Cisco Technology, Inc. Wideband cable downstream protocol
US7864686B2 (en) * 2004-05-25 2011-01-04 Cisco Technology, Inc. Tunneling scheme for transporting information over a cable network
US8135086B1 (en) 2004-08-09 2012-03-13 Rockstar Bidco, LP Cable reduction
US7630361B2 (en) * 2005-05-20 2009-12-08 Cisco Technology, Inc. Method and apparatus for using data-over-cable applications and services in non-cable environments
US7835315B2 (en) * 2005-08-23 2010-11-16 Nokia Corporation Method and apparatus for providing addressing in a multi-carrier communication system
US8452333B2 (en) * 2005-12-12 2013-05-28 Apple Inc. Feeder cable reduction
US20070220509A1 (en) * 2006-02-24 2007-09-20 International Business Machines Corporation System and method for deploying software based on matching provisioning requirements and capabilities
US7701951B2 (en) * 2006-03-06 2010-04-20 Cisco Technology, Inc. Resource reservation and admission control for IP network
CN101282189B (zh) * 2007-04-06 2011-03-23 杭州华三通信技术有限公司 时钟同步方法、系统及终端
US7877448B2 (en) * 2007-07-19 2011-01-25 International Business Machines Corporation Granularly selecting a subset of recipients who can reply to a sender's e-mail
US7853832B2 (en) * 2007-10-10 2010-12-14 Alcatel Lucent System and method for tracing cable interconnections between multiple systems
US8432911B2 (en) 2010-01-15 2013-04-30 Alcatel Lucent Method and apparatus for reducing effects of lost packets on redundancy reduction in communication networks
US8548012B2 (en) 2010-01-15 2013-10-01 Alcatel Lucent Method and apparatus for reducing redundant traffic in communication networks
US9083708B2 (en) * 2010-05-17 2015-07-14 Microsoft Technology Licensing, Llc Asymmetric end host redundancy elimination for networks
US9141169B2 (en) 2012-01-20 2015-09-22 Cisco Technology, Inc. System and method to conserve power in an access network without loss of service quality
US9958924B2 (en) 2013-08-28 2018-05-01 Cisco Technology, Inc. Configuration of energy savings
JP6302209B2 (ja) * 2013-10-28 2018-03-28 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
CN107113823B (zh) * 2015-07-10 2020-04-28 华为技术有限公司 信道接入期的分配方法、装置及系统
US20170093730A1 (en) 2015-09-25 2017-03-30 FSA Technologies,Inc. Flow control system and method
US9983982B1 (en) * 2017-01-04 2018-05-29 Visa International Service Association Testing software code in a production environment
WO2018198118A1 (en) * 2017-04-26 2018-11-01 Bar-Ilan University A system and method for coordinated silencing for alien noise mitigation in a multi-users communication system
US11140642B2 (en) 2017-05-04 2021-10-05 Carrier Corporation Synchronized wireless networks system including time-based identity of devices
KR101939298B1 (ko) * 2017-06-09 2019-01-16 엘지전자 주식회사 무선 통신 시스템에서 하향링크 신호를 수신 또는 전송하기 위한 방법 및 이를 위한 장치
US10587517B2 (en) * 2017-11-30 2020-03-10 Juniper Networks, Inc. Optimizing fabric path forwarding for virtual nodes within an electronic device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553161A (en) * 1983-12-09 1985-11-12 Zenith Electronics Corporation Upstream data packet time slot synchronization with downstream VBI for two-way CATV system
PH27468A (en) * 1988-03-21 1993-07-23 First Pacific Communications C Communication system using distributed switching for time division multiplexing of voice and data
CA2009713A1 (en) * 1989-02-28 1990-08-31 Robert P. Mcnamara Local area network communication system
US5124980A (en) * 1989-03-20 1992-06-23 Maki Gerald G Synchronous multiport digital 2-way communications network using T1 PCM on a CATV cable
FR2667750A1 (fr) * 1990-10-05 1992-04-10 Philips Electro Grand Public Reseau cable et dispositif modulateur-demodulateur pour un tel reseau.
US5404505A (en) * 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
SE501373C2 (sv) * 1992-12-17 1995-01-30 Televerket Anordning vid kommunikationsnät
US5402422A (en) * 1993-03-11 1995-03-28 Zheng Liu Medium access control (MAC) protocol for single bus multimedia fair access local area network
US5471474A (en) * 1993-06-04 1995-11-28 Lancity Corporation Communications highway network system
GB2278976B (en) * 1993-06-10 1997-03-05 Roke Manor Research Improvements in or relating to cellular mobile radio systems
US5553064A (en) * 1994-04-05 1996-09-03 Stanford Telecommunications, Inc. High speed bidirectional digital cable transmission system
US5553076A (en) * 1994-05-02 1996-09-03 Tcsi Corporation Method and apparatus for a wireless local area network
US5570347A (en) * 1994-11-14 1996-10-29 Zenith Electronics Corporation Upstream data transmission system with downloadable transmission parameters
US5517502A (en) * 1995-03-02 1996-05-14 Zenith Electronics Corp. Upstream transmission using multiple transmission tags and downstream acknowledgements in conditional access packets
US5751702A (en) * 1995-12-05 1998-05-12 Stanford Telecommunications, Inc. Network protocol for wireless broadband ISDN using ATM

Also Published As

Publication number Publication date
EP1437865A1 (en) 2004-07-14
EP0765055A2 (en) 1997-03-26
EP0765055A3 (en) 2004-02-04
EP0765055B1 (en) 2005-11-23
DE69635834T2 (de) 2006-08-17
EP1437865B1 (en) 2006-02-22
JPH09135235A (ja) 1997-05-20
DE69635834D1 (de) 2006-04-27
US5784597A (en) 1998-07-21
US5883901A (en) 1999-03-16
JP3577393B2 (ja) 2004-10-13
DE69635468D1 (de) 2005-12-29
DE69635468T2 (de) 2006-07-20

Similar Documents

Publication Publication Date Title
JP3577393B2 (ja) 高速データ通信モデム
JP3279487B2 (ja) 高速データ通信モデム
US5229993A (en) Control of access through local carrier sensing for high data rate networks and control of access of synchronous messages through circulating reservation packets
US4423414A (en) System and method for name-lookup in a local area network data communication system
US5734833A (en) Shared communications channel with enhanced reservation and collision resolution protocols allows any subset of stations to transmit data after collision occured in contention slot
US4410889A (en) System and method for synchronizing variable-length messages in a local area network data communication system
CN100382519C (zh) 使多节点网络中唯一连接适配最高数据速率的方法和协议
US6944173B1 (en) Method and system for transmitting data between a receiver and a transmitter
AU2003260763A2 (en) Method computer-readable medium and systems for resorting traffic during failover in a cable head end
JP3433859B2 (ja) ローカルアクセスケーブル上のマルチメディア通信用の制御
JP2003087282A (ja) 動的帯域割当回路、動的帯域割当方法、動的帯域割当プログラムおよび記録媒体
EP1282264B1 (en) Method and device for multicasting
US7401134B2 (en) Packet processing architecture
JP2817677B2 (ja) 無線通信装置
US6650654B1 (en) Early preamble transmission
JP3800103B2 (ja) 通信方法及び通信装置
KR100275069B1 (ko) 에취에스비인터페이스프로그램을이용한노드간메시지전송방법
Cohen An efficient scheme for accommodating synchronous traffic in a cable-modem network while avoiding segmentation of asynchronous packets
EP4144045A1 (en) Devices and methods for allocating transmission rights in communication networks
CA1208736A (en) System and method for name-lookup in a local area network data communication system
TW317682B (en) High-speed data transmission of cable TV network
JPS58502129A (ja) 分散制御通信方式
Cohen An E cient Scheme for Accommodating Synchronous Tra c in a Cable-Modem Network While Avoiding Segmentation of Asynchronous Packets

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060307