(57)【特許請求の範囲】
【請求項１】
同期データチャンネルとホストコンピュータによって実行される非同期オペレーティングシステム間のデータを伝送するシステムであって、
非同期オペレーティングシステムによって動作され、非同期オペレーティングシステムによって送信されるべき実データに対応するデータブロックを受信可能であり、前記データブロックを実データ論理ブロックに変換可能な論理データ層と、
前記論理データ層により処理された後の実データ論理ブロックを格納するために前記論理データ層に結合された送信データバッファと、
実オペレーティングシステムデータを含まない論理データブロックに対応するダミーデータ論理ブロックを格納するダミーデータバッファと、
前記送信データバッファと、前記ダミーデータバッファ及び同期データチャンネルに結合され、実データ論理ブロックを前記同期データチャンネル送信するために実データデジタル信号に変換可能であり、前記ダミーデータ論理ブロックを前記同期データチャンネル送信するためにダミーデータデジタル信号に変換可能な物理データ層とによって構成され、
前記物理データ層が、前記送信データバッファが実データ論理ブロックを格納している場合には前記実データデジタル信号を同期データチャンネルに送信し、さもなくばダミーデータデジタル信号を送信するようにしたデータ送信システム。
【請求項２】
前記論理データ層は、前記データブロックをＡＴＭセルに対応するセルフォーマットを有する実データ論理ブロックに変換する請求項１に記載のシステム。
【請求項３】
非同期オペレーティングシステム上で動作するアプリケーションプログラムから送信される実データが無い場合、前記論理データ層は、実データ論理ブロックを前記送信データバッファにロードしないように構成された請求項１に記載のシステム。
【請求項４】
前記送信データバッファは、データ送信閾値を有しており、前記送信データバッファが格納しているデータ量が前記データ送信閾値より少ない場合、前記論理データ層が作動して、非同期オペレーティングシステム上で動作するアプリケーションプログラムから送信される実データがあるかどうかを判定する請求項１に記載のシステム。
【請求項５】
前記ダミーデータ論理ブロックは、単一の実データ論理ブロック及び対応する単一のＡＴＭセルと同サイズである請求項１に記載のシステム。
【請求項６】
前記論理データ層は、コンピュータシステム内のホスト処理装置によって実行されるＡＴＭプロトコルルーチンである請求項１に記載のシステム。
【請求項７】
前記物理データ層は、前記ホスト処理装置によって実行されるＡＤＳＬ物理層ルーチンである請求項６に記載のシステム。
【請求項８】
前記ＡＤＳＬ物理層ルーチンは、ＡＴＭプロトコルルーチンよりも高いオペレーティングシステム優先度及び／又は小さい待ち時間で実行される請求項７に記載のシステム。
【請求項９】
ダミーデータデジタル信号の送信後に、前記ＡＤＳＬ物理層ルーチンは、送信データバッファをチェックして、実データ論理ブロックは変換され、送信されたかを判定する請求項７に記載のシステム。
【請求項１０】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記ダミーデータ論理ブロックの送信に必要な時間よりも大きくない請求項１に記載のシステム。
【請求項１１】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記非同期オペレーティングシステム内の不可避な待ち時間と実質的に独立である請求項１に記載のシステム。
【請求項１２】
前記物理データ層に結合された下流側トランシーバフロントエンドが設けられており、前記下流側トランシーバフロントエンド回路が前記実データデジタル信号及び前記ダミーデータデジタル信号をそれぞれ実データアナログ信号及びダミーデータアナログ信号に変換し、上流側トランシーバに同期データチャンネルを介して送信する請求項１に記載のシステム。
【請求項１３】
前記物理データ層と前記下流側トランシーバフロントエンド回路の間に結合され前記実データデジタル信号及び前記ダミーデータデジタル信号に対応するデータを格納する第二の送信データバッファを有している請求項１２に記載のシステム。
【請求項１４】
前記物理データ層と前記下流側トランシーバフロントエンド回路間に結合され、前記上流側トランシーバからの受信したデータデジタル信号に対応するデータを格納する第一の受信データバッファを有している請求項１３に記載のシステム。
【請求項１５】
前記物理データ層及び前記論理データ層間に結合され、前記上流側トランシーバからの受信したデータ論理ブロックに対応するデータを格納する第二の受信データバッファを有している請求項１４に記載のシステム。
【請求項１６】
前記同期データチャンネルは、ＡＤＳＬ送信プロトコル標準に従ったデータシンボルを送信するデータリンクである請求項１に記載のシステム。
【請求項１７】
同期データチャンネルと非同期で動作するオペレーティングシステム上で動作する一乃至複数のアプリケーションプログラム間にデータを送信するためにホスト処理装置によって実行されるコンピュータにより実行可能なプログラムであって、
第一の優先度のルーチンであって、該第一の優先度のルーチンが、
（ａ）前記第一の優先度のルーチンが前記オペレーティングシステムによって送信されるべき実データがあるかどうかを判定し、
（ｂ）送信されるべき実データがある場合に、
［１］前記第一の優先度のルーチンは実データを実データ論理ブロックに変換し、
［２］前記第一の優先度のルーチンは前記実データ論理ブロックをバッファし、
（ｃ）送信されるべき実データがない場合、
前記第一の優先度のルーチンはさらにデータ送信動作を行わない
ように構成され、
第二の優先度のルーチンであって、該第二の優先度のルーチンが
（ｄ）送信されるべき実データがある場合、前記第二の優先度のルーチンが前記実データ論理ブロックを同期データチャンネルに送信するための実データデジタル信号に変換し、
（ｅ）送信されるべき実データがない場合、前記第二の優先度のルーチンが交互にダミーデータ論理ブロックを前記同期データチャンネルに送信するダミーデータデジタル信号に変換するように構成され、
同期データチャンネルにデータを伝送するオペレーティングシステムに関連する待ち時間が実質的に排除されるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記第一の優先度のルーチンは、前記実データをＡＴＭセルに変換する請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記第二の優先度のルーチンは、前記実データ論理ブロック及び前記ダミーデータ論理ブロックを前記同期データチャンネルで使用されるＡＤＳＬプロトコルに適合する離散マルチトーン変調信号に変換する請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記第一の優先度のルーチンは、送信すべき実データ論理ブロックの数が所定の閾値を下回った場合に起動される請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記第二の優先度のルーチンは、オペレーティングシステム内において実行するための優先度が前記第一のルーチンに比べて高い請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記ダミーデータ論理ブロックの送信に必要となる時間に比べて大きくない請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記オペレーティングシステムにより生じる待ち時間とは実質的に独立である請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２４】
同期データチャンネルと非実時間のオペレーティングシステム間のデータ伝送方法であって、
（ａ）非実時間のオペレーティングシステムによって送信されるべき実データがあるかどうかを判定し、
（ｂ）非実時間のオペレーティングシステム内で動作するプロトコル層ソフトウエアルーチン内の全ての実データを実データ論理ブロックに変換し、
（ｃ）前記実データ論理ブロックをバッファし、
（ｄ）実データ論理ブロックがバッファされているかどうかを判定し、
（ｅ）［ｉ］実データ論理ブロックがバッファされている場合、前記実データ論理ブロックを前記同期データチャンネルに送信するための実データデジタル信号に変換し、及び
［ｉｉ］実データ論理ブロックがバッファされていない場合、ダミーデータ論理ブロックを前記同期データチャンネルに送信するためのダミーデータデジタル信号に変換するように構成した方法。
【請求項２５】
実データ論理ブロックはＡＴＭセルに対応するセルフォーマットを有する請求項２４に記載の方法。
【請求項２６】
実データ論理ブロックのみがバッファされる請求項２４に記載の方法。
【請求項２７】
複数の実データ論理ブロックがバッファされ、複数の実データ論理ブロックの数が所定の閾値を下回る場合にはステップ（ａ）乃至（ｃ）が繰り返される請求項２４に記載の方法。
【請求項２８】
前記ダミーデータ論理ブロックは単一の実データ論理ブロック及び対応する単一のＡＴＭセルと同サイズである請求項２４に記載の方法。
【請求項２９】
ステップ（ａ）乃至（ｃ）はコンピュータシステム内の処理装置によって実行される第一のルーチンによって行われる請求項２４に記載の方法。
【請求項３０】
ステップ（ｄ）乃至（ｅ）は、前記処理装置によって実行される第二のルーチンによって行われる請求項２９に記載の方法。
【請求項３１】
前記第二のルーチンは、前記第一のルーチンに比べ高い優先度及び／又は少ない待ち時間で実行される請求項３０に記載の方法。
【請求項３２】
ステップ（ｅ）［ｉｉ］においてダミーデータデジタル信号を送信した後に、ステップ（ｄ）が繰り返され、実データ論理ブロックが存在しない場合には、ステップ（ｅ）［ｉｉ］が繰り返される請求項２９に記載の方法。
【請求項３３】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記ダミーデータ論理ブロックの送信に必要な時間よりも大きくない請求項２４に記載の方法。
【請求項３４】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記非同期オペレーティングシステムによって生じる待ち時間とは実質的に独立である請求項２４に記載の方法。
【請求項３５】
前記実データデジタル信号及び前記ダミーデータデジタル信号を同期データチャンネルを介して第二の上流側トランシーバに送信するために実データアナログ信号及びダミーデータアナログ信号にそれぞれ変換するステップ（ｆ）を含む請求項２４に記載の方法。
【請求項３６】
前記実データデジタル信号及び前記ダミーデータデジタル信号に対応するデータをバッファリングするステップ（ｇ）を含む請求項３５に記載の方法。
【請求項３７】
受信したデータデジタル信号に対応するデータを上流側トランシーバからバッファリングするステップ（ｈ）を含む請求項３６に記載の方法。
【請求項３８】
受信したデータ論理ブロックに対応するデータを上流側トランシーバからバッファリングするステップ（ｉ）を含む請求項３７に記載の方法。
【請求項３９】
前記同期データチャンネルは、ＡＤＳＬ送信プロトコル標準に従ってデータシンボルを送信するデータリンクである請求項２４に記載の方法。
【請求項４０】
同期データチャンネルに結合されたホストコンピューティングシステム上で動作する非実時間のオペレーティングシステム間のソフトウエアトランシーバの待ち時間を減少する方法であって、
（ａ）非実時間のオペレーティングシステム内で動作する第一の優先度のルーチンを実行してオペレーティングシステムによって送信されるべき実データがあるかどうかを判定し、
（ｂ）［ｉ］送信されるべき実データがある場合に、
［１］前記第一の優先度のルーチンは実データを実データ論理ブロックに変換し、
［２］前記第一の優先度のルーチンは前記実データ論理ブロックをバッファし、
［ｉｉ］送信されるべき実データがない場合、
前記第一の優先度のルーチンはさらにデータ送信動作を行わない
ように構成され、
（ｃ)非実時間のオペレーティングシステム内で動作する第二の優先度のルーチンであって、該第二の優先度のルーチンが
［ｉ］前記第二の優先度のルーチンが前記実データ論理ブロックを同期データチャンネルに送信するための実データデジタル信号に変換し、
［ｉｉ］前記第二の優先度のルーチンがダミーデータ論理ブロックを前記同期データチャンネルに送信して同期データチャンネルのデータストリームの連続性を保持するために、ダミーデータデジタル信号に変換する
ように構成され、
同期データチャンネルにデータを伝送する非実時間のオペレーティングシステムに関連する待ち時間が実質的に排除されるようにした方法。
【請求項４１】
前記実データ論理ブロックはＡＴＭセルに対応するセルフォーマットを有する請求項４０に記載の方法。
【請求項４２】
前記実データデジタル信号を同期データチャンネルで使用されるＡＤＳＬプロトコルに適合する離散マルチトーン変調信号に変換する請求項４０に記載の方法。
【請求項４３】
前記第一の優先度のルーチンは、送信すべき実データ論理ブロックの数が所定の閾値を下回った場合に起動される請求項４０に記載の方法。
【請求項４４】
前記第二の優先度のルーチンは、前記第一の優先度のルーチンに比べて高い優先度で実行される請求項４０に記載の方法。
【請求項４５】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、前記ダミーデータ論理ブロックの送信に必要となる時間に比べて大きくない請求項４０に記載の方法。
【請求項４６】
前記同期データチャンネルと前記非同期オペレーティングシステムとの間のデータ伝送時に生じる待ち時間は、非実時間のオペレーティングシステムに関連する待ち時間とは実質的に独立である請求項４５に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、デジタル加入者線（ＤＳＬ）上のＡＴＭ転送を用いたシステム等の高速同期伝送システム上の非同期データ伝送に関するものである。特に、本発明は、ホスト演算システムとＡＤＳＬトランシーバ間の待ち時間を最小化する技術に関するものである。
【０００２】
【従来の技術】
高速同期伝送システムにおいて、所定時間内に変調されたシンボルが連続的に送信される。これをコンピュータのホストプロセッサ（所謂ソフトウエアモデム）により実施する場合、実時間トランシーバと非実時間ホストシステム（例えば、Microsoft Windows NT（登録商標）等のオペレーティングシステムが実行されているローカルホスト演算システム）間において連続ビットストリームの出力を維持することが非常に重要である。伝送遅れを減少するために、データパス内に配置されたインターフェース間（即ち、上流側トランシーバとオペレーティングシステム間）の待ち時間を最小に維持しなければならない。
【０００３】
こうしたデータパスには多数のこうしたインターフェースが存在し、復調／変調されたデータの連続ストリームを確実とするために種々の機構が提案されている。第一に、下流側ＡＤＳＬトランシーバのアナログチャンネルインターフェース部は、アナログデータ信号の受信、送信及び処理を行うとともに上流側トランシーバのインターフェースへの回線を介した同期データリンクを保持する。これが、実時間リンクであり、従って変調された信号が、常時（あるレベルで、消費電力を減少させた電源管理モードにおいても）存在していなければならない。一端が非同期源に接続されている場合にもデータリンクの同期を確実に維持するための従来技術による方法の一例は、アメリカ特許第５，００３，５５８号である。この文献は、実データが無い場合にもリンクをアクティブに維持するために「アイドル」信号を送出することを教示しているが、明らかに非同期源に存在する待ち時間をどのように改善するかの問題に対応するものではない。
【０００４】
次に、データパスの回線インターフェース部の後ろには、物理層伝送回路が設けられている。データリンクのこの部分は、データシンボルの変調及び復調を行う。回線インターフェースと物理層の間の待ち時間を減少させるために、受信／送信ＦＩＦＯバッファが用いられる。この技術は、従来より公知であり、このタイプの技術の例は、Nationalに譲渡されたアメリカ特許第４，８２３，３１２号及びアメリカ特許第５，１４０，６７９号に開示されている。従って、待ち時間及び回線インターフェースとＡＤＳＬトランシーバの物理層との間の伝送遅れの問題に対する合理的で良く開発された解決手段があり、データパスのこの部分は、過度なコスト及び／または複雑化を生じることなく実時間に保持される。
【０００５】
【発明が解決しようとする課題】
しかしながら、物理層と論理層、この場合にはＡＴＭプロトコル層に間に位置するデータパスにより大きな問題が提起される。ＡＴＭプロトコル層は、物理層（実時間データパス）とオペレーティングシステム（非同期データパス）の双方にインターフェースすることを必要とされる。これら二つのインターフェース間の待ち時間を減少させるための一つの方策は、回線インターフェースと物理層の間に先に説明したように同種の受信／送信ＦＩＦＯバッファを用いることである。この点に関して、データパスの受信側においては、ＡＴＭプロトコル層がソフトウエアモデムによって実施される場合のＡＤＳＬ物理層とＡＴＭプロトコル層の動作における不可避の待ち時間を補償するために十分に大きな受信バッファが用いられる可能性がある。こうした待ち時間は、ソフトウエアモデムの状況において、両機能が異なる優先度の複数のルーチンを実行するホスト処理装置によって行われる事実によって生じる。例えば、Windowsオペレーティングシステムにおいて、ＡＤＳＬ物理層は、割り込みサービスルーチン（ＩＳＲ）で構成され、一方、ＡＴＭプロトコル層は、優先度の低い遅延した手続呼出（ＤＰＣ）としてセットアップされる。ＡＤＳＬ物理層は、この要領において、この層と回線インターフェース間の待ち時間は減少され、これらのインターフェース間のバッファも減少させることが出来るので、オペレーティングシステムにおける優先度の高いタスクとして構成される。
【０００６】
しかしながら、ＤＰＣは、ＩＳＲよりも優先度の低いタスクであるので、物理層及びＡＴＭ動作間には不可避の待ち時間があり、受信機のバッファを、こうした不一致を取り扱うために両者の間に設ける必要がある。ともかく、バッファが使用されると、伝送遅れ、これは勿論望ましいものではない、が導入される。この遅れを減少させるために、バッファサイズを対応して減少させなければならない。この設計上のゴールは、勿論、バッファが少なくともＡＤＳＬ物理層とＡＴＭプロトコル層の優先度の相違による予測される待ち時間に適応させるのに十分な大きさでなければならない事実により、緩和される。ひとつの提案されている解決策は、ＡＴＭプロトコルもＩＳＲとしてＡＤＳＬ物理層とＡＴＭプロトコルとの間の待ち時間を無くするものである。この方法は、ＡＴＭプロトコルがＩＳＲルーチンでは、それらのルーチンを非常に短時間に実行しなければならないために、適応できない多くのシステム呼びを必要とするという単純な事実のために魅力的な方法とは言えない。
【０００７】
従って、ほとんどのＡＤＳＬソフトウエアシステムにおいては、ＡＤＳＬ物理層とＡＴＭプロトコル間のバッファインターフェースが存在するものと予測される。バッファのサイズは、勿論、予測された回線のデータレート、予測されたオペレーティングシステムの待ち時間等に応じて変更することが出来る。Microsoft Windowsを用いる一般的なＰＣにおいては、約１０乃至３０ｍｓｅｃの待ち時間が予測される。勿論、データリンク全体に亘るデータ伝送を確実に効率化するためには、この待ち時間を減少させることが非常に重要である。
【０００８】
従来技術において示唆されている一つの方策（例えば、上記の文献に開示された方策）は、ある種の満足すべき点、または受信／送信バッファに関する「水準」を含んでいる。送信方向において、送信バッファの水準は、バッファサイズの全容量に近いある値に設定される。バッファのデータが減少してこのマークを下回ると、ＡＴＭプロトコル層のルーチンが起動され、送信バッファにより多くのデータがロード（供給）される。従って、いかなる場合においても、送信バッファ水準レベルのデータの量が、システムの待ち時間によって連続データ送信の継続が可能となる。受信方向において、受信バッファ水準は、バッファサイズの空の容量に近いある値に設定される。バッファにデータが格納されこのレベルを超えると、ＡＴＭプロトコル層のルーチンが再度起動され、より多くのデータが、受信バッファから抽出（送出）される。従って、時間内のいかなる瞬間においても、受信バッファ水準を上回る容量に等しいデータ量を、システムの待ち時間のために、受信データを同期受信器に格納することが出来る。
【０００９】
この方法の問題は、しばしばオペレーティングシステムによって上流側送信機に送信される実時間データがなく、さらに上流側のデータリンクを保持しなければ成らない事実である。この結果、オペレーティングシステムが、データを送信しているアプリケーションが無いことを確認した後に、ＡＴＭプロトコル層ルーチンは、この余分なタスクを実行するが貴重な処理時間を消費してシステムの効率を低下させる、上記のアメリカ特許第５，００３，５５８号に示されたのもと同様の上流側送信機によって認識可能な固定パターンに対応する「ダミー」データをバッファにロードしなければならない。さらに、「ダミー」ＡＴＭセルを送信バッファにロードすることによって、オペレーティングシステムから新規な送信データがある場合にも、こうしたデータを上側送信機への回線を介して連続的に送出しなければならないため、全データ伝送待ち時間は増加する。
【００１０】
従って、同期リンクを維持すると同時にＡＤＳＬソフトウエア環境における待ち時間を取り扱うための一般的に示唆されている技術は、実際的ではなく、多くの場合、非効率である。
【００１１】
従って、本発明の目的は、下流側トランシーバを実施するオペレーティングシステムとリモートの上流側送信機間の連続し、中断のないＡＤＳＬデータビットストリームを維持することが出来る改良されたシステム及び方法を提供することにある。
【００１２】
本発明のもう一つの目的は、ＡＤＳＬソフトウエアトランシーバにおいて簡単に実施できる改良されたＡＴＭプロトコルシステム及び方法を提供することにある。
【００１３】
本発明の関連した目的は、下流側トランシーバを実施するオペレーティングシステムとリモートの上流側送信機間のデータパスの全データ伝送待ち時間を減少させる改良されたシステム及び方法を提供することにある。
【００１４】
本発明のさらにもう一つの目的は、非同期トラフィック伝送源を含む必要がある高速同期伝送システムにおいて上記の方法を適用することにある。
【００１５】
【課題を解決するための手段】
従って、本発明によるシステムは、同期データチャンネルに連関された非同期データ伝送要件によって生じる待ち時間を除去するものである。好適実施例においては、公知のプロトコル及び標準に従ったＡＤＳＬ信号が送信される。まず、システムは、論理データ層を含んでおり、パーソナルコンピュータである非同期オペレーティングシステムに結合される。この論理層は、非同期オペレーティングシステム上で動作するアプリケーションによって送信されるべき実データに対応するデータブロックを受信する。これらのデータブロックは実データ論理ブロックに変換される。送信データバッファは、論理データ層に結合され、論理データ層により処理された後の実データ論理ブロックを格納する。ダミーデータバッファは、実オペレーティングシステムデータを含まない論理データブロック、即ち、同期を維持するための充填データとして同期データリンク上に送信可能な固定データパターン、に対応するダミーデータ論理ブロックを格納するために用いられる。また、物理データ層は、送信データバッファと、ダミーデータバッファ及び同期データチャンネルに結合される。物理データ層は、実データ論理ブロックを前記同期データチャンネル送信するために実データデジタル信号に変換する。物理データ層はさらに、前記ダミーデータ論理ブロックを前記同期データチャンネル送信するためにダミーデータデジタル信号に変換し、同期を維持する。而して、物理データ層が、送信データバッファが実データ論理ブロックを格納している場合には実データデジタル信号を同期データチャンネルに送信し、さもなくばダミーデータデジタル信号を送信する。ダミーデータ論理ブロックは、物理層による取扱を容易とするために単一の実データ論理ブロックを同一のサイズに選択される。
【００１６】
この提案の利点はたくさんあり、ダミーデータが送信バッファに格納されていないので、待ち時間が減少し、論理層は、最初にこうしたダミーデータを格納する無駄時間がない。さらに、同期データチャンネルの待ち時間は単一のダミーデータ論理ブロックを送信するのに必要な時間以下に制限される。より重要には、待ち時間は、非同期オペレーティングシステムによって生じるいかなる待ち時間とも実質的に独立である。
【００１７】
好適実施例において、待ち時間減少システムが、ソフトウエアモデム環境内で使用される。
【００１８】
これに関して、論理データ層は、ＡＴＭプロトコル層によって実施され、非同期データブロックは、ＡＴＭセルに対応する実データ論理ブロックに変換する。こうしたプロトコル層はハードウエアによって実施されるか、好ましくは非同期動作するコンピューティングシステム内の処理装置によって実行されるＡＴＭプロトコルルーチンとして実施される。ＡＴＭプロトコルルーチンの送信部（サブルーチン）はとくに、送信すべき実オペレーティングシステムデータが無い場合に、送信データバッファに全てのデータ（又はダミーデータセル）をロードするように構成されている。ＡＴＭプロトコルルーチンの送信部は、好ましくは、送信データバッファが送信閾値（または水準）よりも小さいデータ量を含んでいる場合に起動するか若しくは呼び出される。
【００１９】
さらに、好適実施例において、物理データ層は、処理装置によって実行されるＡＤＳＬ物理層ルーチンである。こうした物理層は、専用のフロントエンドトランシーバのハードウエア、または好ましくは、ＡＴＭプロトコルルーチンよりも高い優先度（または待ち時間の小さい）で実行されるＡＤＳＬ物理データ層ルーチンである。ＡＤＳＬ物理層送信ルーチンは、データが無い場合にはダミーデータデジタル信号を送信するが、こうしたデータを送信データバッファからはロードしない。この動作の終わりに、送信データバッファをチェックし、実データ論理ブロックを変換、送信すべきかどうかを判定する。ＹＥＳの場合には、ダミーデータはさらに送信されず、実データが送信される。この動作の特徴は、最大１ダミーセルを確実に最大待ち時間とする。
【００２０】
本発明によって実施されるＡＤＳＬトランシーバの好適実施例は、上述の待ち時間減少システムと、多数の付加的な送信及び受信部材を含んでいる。特に、下流側トランシーバのフロントエンド回路は、物理データ層に結合され、実データデジタル信号及びダミーデータデジタル信号を、上流側トランシーバに同期データチャンネルを介して送信されるリアルデータアナログ信号とダミーデータアナログ信号にそれぞれ変換する。このフロントエンドの一部として、第二の送信データバッファが、物理データ層と下流側トランシーバのフロントエンド回路間に結合され、実データデジタル信号及びダミーデータデジタル信号に対応するデータを格納する。また、こうしたフロントエンドは、上流側トランシーバからの受信データデジタル信号に対応するデータを格納するために物理層と下流側トランシーバのフロントエンド回路の間に結合された第一の受信データバッファを有している。さらに、上流側トランシーバからの受信データ論理ブロックに対応するデータを格納するために、第二の受信データバッファが、物理データ層と論理データ層の間に結合される。この後者の構成は、送信機の受信側の待ち時間を最小化することに寄与する。
【００２１】
物理層及び論理層ルーチンを含む本発明の待ち時間減少システムは、上述のオペレーティングシステム上で実行可能なコンピュータプログラムによって実施される。また、システムは、専用ハードウエアＤＳＰによって実行できるプログラムＲＯＭ等のシリコン型に内蔵される。
【００２２】
上記の目的を達成する本発明による同期データチャンネルと非同期オペレーティングシステム間の好適なデータ伝送方法は、（ａ）非同期オペレーティングシステムによって送信されるべき実データがあるかどうかを判定し、（ｂ）全ての実データを実データ論理ブロックに変換し、（ｃ）実データ論理ブロックをバッファし、（ｄ）実データ論理ブロックがバッファされているかどうかを判定し、（ｅ）実データ論理ブロックがバッファされている場合、実データ論理ブロックを同期データチャンネルに送信するための実データデジタル信号に変換し、及び実データ論理ブロックがバッファされていない場合、ダミーデータ論理ブロックを同期データチャンネルに送信するためのダミーデータデジタル信号に変換する。
【００２３】
上記のように、実データ論理ブロックは、好ましくはＡＴＭフォーマットのセルに対応する。また、同様に、実データ論理ブロックのみがバッファされて、待ち時間を大幅に短縮する。実データ論理ブロックの数が、所定の閾値を下回ると、ステップ（ａ）乃至（ｃ）が繰り返される。送信バッファに実データのみが格納されるので、水準又は閾値の使用が、性能的に大きな効果を発揮する。これは、水準又は閾値が送信データの状態をより正確に反映しているためである。
【００２４】
上記に示唆したように、上記のステップは、好ましくは、ソフトウエアモデムにより実行される種々のルーチンにより実施される。このように、これらのステップは、非同期コンピューティングシステム内の処理装置によって実施される複数のルーチンによって実施される。また、前述のように、論理層ルーチンは、物理層ルーチンよりも低い優先度で実施される。上記に概説したのと同様の待ち時間を改善する利点は、従って、開示した方法により達成される。
【００２５】
ＡＤＳＬトランシーバを実施する方法は、従って、上記の待ち時間減少処理を含むとともに、さらに必要なステップを含んでいる。それらは、一般に、実データデジタル信号及びダミーデータデジタル信号を同期データチャンネルを介して上流側トランシーバに送信するためにリアルデータアナログ信号及びダミーデータアナログ信号にそれぞれ変換するステップ（ｆ）を含んでいる。さらに、実データデジタル信号及び前記ダミーデータデジタル信号に対応するデータをバッファリングするステップ（ｇ）を採用することも出来る。好適な方法は、受信側において、受信したデータデジタル信号に対応するデータを上流側トランシーバからバッファリングするステップ（ｈ）を含んでいる。受信したデータ論理ブロックに対応するデータを上流側トランシーバからバッファリングする追加のステップ（ｉ）を実行する。
【００２６】
本発明は、以下に、ＡＤＳＬトランシーバを含む実施例について説明するが、本発明は、非実時間トラフィック伝送のために実時間データ伝送路における待ち時間を最小化するために必要な多くの環境において有利に使用されることは当業者において自明である。
【００２７】
【発明の実施の態様】
本発明の好適実施例によるシステム１００が、図１に示されている。本システムにおいて使用される送信バッファロジックの詳細のいくつかの例外はあるが、図１に示す他の構成部材は、周知のＡＤＳＬトランシーバ回路であるため、ここでは詳細に説明はしない。、システム１００は、回線１０２を介して上流側トランシーバ１０１に接続された下流側ＡＤＳＬトランシーバである。連続データストリームは、こうしたトランシーバ間の下流側及び上流側の両方向に保持される。これは、同期を維持し、全てのデータ伝送待ち時間が最小化するために行われる。トランシーバ（システム）１００のアナログフロントエンド（AFE）１０３は、従来型の電話回線インターフェース、光学スプリッタ、種々のフィルタ及び受信したＡＤＳＬ信号を一連のデジタルサンプルに変換するアナログ／デジタル変換器を含んでいる。送信側の対応する回路は、一連のデジタルサンプルを回線１０２を通って送信するためにアナログデータ信号に変換する。ＡＦＥ１０３の詳細は、周知であり、その詳細な説明は本技術の理解のためには不要である。
【００２８】
ＡＤＳＬ物理層１１０は、第一の受信バッファ１０６を介してＡＦＥ１０３に結合される。上述のように、ＡＤＳＬ物理層１１０は、好ましくはMicrosoft Windowsオペレーティングシステムを用いたパーソナルコンピュータシステムで実行されるＩＳＲである。このＩＳＲは、受信及び送信ルーチンのそれぞれにおいて受信及び送信機能の双方を実行する。一般に、これらのルーチンは、高い優先度を有しており、受信したＤＭＴデジタルサンプルを復調／変調し、それらを受信／送信データストリームに変換する。
【００２９】
ＡＤＳＬ物理層１１０の他側は、第二の受信バッファ１１６を介してＡＴＭプロトコル層１２０に接続されている。前述のようにＡＴＭプロトコル層１２０は、好ましくはMicrosoft Windowsオペレーティングシステムを用いたパーソナルコンピュータシステムで実行されるＤＰＣである。ＡＴＭプロトコル層１２０によって実行される機能及び動作は、特に、受信したＡＴＭデータセルのコンピューティングシステム内のＩＰアプリケーションによって取り扱うことが出来るインターネットプロトコル（ＩＰ）パケットへの変換、及び、逆に、ＡＤＳＬ物理層１１０の前のこうしたアプリケーションからの全ての送信データのＡＴＭセルへの変換である。このルーチン（受信部及び送信部を含む）は、ＡＤＳＬ物理層１１０に関連するルーチンに比べて低い優先度（又は長い待ち時間）を有している。第二の受信バッファ１１６は、好ましくは、種々のデータパス及びトランシーバ、予測されるオペレーティングシステムの待ち時間、バッファ１１６のサイズ等を考慮した値に設定された水準（データ受信閾値）１１７を有している。従って、こうした値は、アプリケーション毎に変化するが、一般にこうした値は、システムがビジー状態の場合にデータをオーバーフローを生じることなく連続的にロードすることが出来、ＡＴＭプロトコル層に関連する受信したサブルーチンを起動できるようにするために、通常バッファの「空」の状態近い点に設定される。バッファ１１６内のデータレベルが水準レベル１１７を越えると、ＡＴＭプロトコル層のソフトウエアルーチンの受信部がホストシステムによってトリガされる。このルーチンはセル占有レベルが水準よりも低くなるか、優先度の高いタスクによってルーチンの割り込みが発生するまでバッファ１１６内のデータを取り除く。なお、図１に破線で示すように、この点まで流れてきた全てのデータは時間感応（同期）ビットストリームを取り扱うインターフェースを含んでいる。ＡＴＭプロトコル層１２０は、ホストコンピューティングシステム内のオペレーティングシステム及び／または他のアプリケーション１２５内の非同期通信パスにインターフェースされる。図１より明らかなように、上流側トランシーバ１０１への受信側データリンクの最終レグ(last leg)でもある。上流側トランシーバから見ると、勿論データリンクの受信レグ全体が同期して動作し、上記の構成は、待ち時間の問題を最小化した目的のＡＤＳＬトランシーバ１００を実現することが出来る。
【００３０】
送信側の第一レグにおいて、ＡＴＭプロトコル層１２０の送信部（ルーチン）は、オペレーティングシステム及び／または他のアプリケーションからの非同期入力データトラフィックをＡＴＭセルに変換する。次に、これらのＡＴＭセルは、第二の送信バッファ１１５にロードされる。第二の受信バッファ１１６と同様に、第二の送信バッファは好ましくは水準１１８を含む。水準は種々のデータパス、予測されたオペレーティングシステムの待ち時間、バッファ１１５のサイズ等の含むトランシーバを考慮して設定された値である。従って、こうした値はアプリケーション毎で異なるが、一般に、送信側の動作がある場合、データが連続的にロードされ、空にされるように通常「フル」のバッファ状態に近いポイントにセットされる。バッファ１１５内のデータレベルが水準を下回ると、これがＡＴＭプロトコル層１２０の送信部をトリガし、セルの占有量が水準レベル１１８を越えるまでまたはルーチンが高い優先度のタスクによって割り込まれるまでセルがバッファに追加される。第二の送信バッファ１１５内のＡＴＭセルからのデータは、ＡＤＳＬ物理層１１０の送信部（ルーチン）によってデジタルデータサンプルに変調される。こうしたデジタルサンプルは、次いで、第一の送信バッファ１０５に送出され、ＡＦＥ１０３によって検索され、上流側トランシーバ１０１に回線１０２を介して返送されるアナログデータ信号に変換される。
【００３１】
上記の説明は、ＡＤＳＬソフトウエアモデムにおいて実施するために非常に一般的である。第一の受信バッファ１０６、第一の送信バッファ１０５、第二の受信バッファ１１６、第二の送信バッファ１１５、ＡＦＥ１０３及びＡＤＳＬ物理層１１０の実施の詳細は、本発明に対して重要ではないので、こうしたトランシーバ要素に必要なタスクを実行することが出来るコンピュータのハードウエア及びソフトウエアルーチンのいかなる組み合わせも採用することが出来る。好適実施例において、第二の受信バッファ１１６及び第二の送信バッファ１１５の双方は、ソフトウエアＦＩＦＯとして実施され、ＡＴＭプロトコル層１２０及び／またはＡＤＳＬ物理層１１０によって通常のシステムメモリ内にセットアップされ、保持される。この方法は、純粋なハードウエアＦＩＦＯに比較して有利であるが、こうした構造は、必要に応じて受信及び送信要求、システム性能等に基づいて動的にサイズを変更することが出来る。さらに、データバッファにおけるデータのスタート項目を示すバッファポインタは、必要に応じてリセットされ、「アイドル」データが待ち列の実データの前に存在する場合、こうしたアイドルデータをバッファ排出するために送信しなければならないハードウエアＦＩＦＯに関連する待ち時間の問題を解消することが出来る。重要な特徴は、本発明により改良されたＡＴＭプロトコル層１２０及び以下に詳細に説明する「ダミー」セルバッファ１３０の使用により従来技術の待ち時間の問題を解消することが出来ることである。前述のように、多くの場合、アプリケーション１２５から到来する送信側の実データトラフィックがなく、このような場合、ＡＴＭプロトコル層１２０の送信部は、第二の送信バッファ１１５に「ダミー」セルを挿入しなければならない。これは、上記にも説明したようにＡＤＳＬ標準に適合する一定のデータストリームビットレート全体を、ＡＤＳＬトランシーバ１００のこの側に保持しなければならないためである。言い換えれば、ＡＤＳＬリンクのリターンレグ(return leg)は、一端に非同期データ源があるにも拘わらず、同期していなければならない。これらのダミーセルは、ビットストリーム内に挿入されるが、それらは情報を持っていないので、上流側トランシーバ１０１によってデータリンクの他端で廃棄される。他のシステムとは異なり、本発明のＡＴＭプロトコル層１２０の送信部は、アプリケーション１２５からのデータトラフィックが無い場合にでもダミーセルを第二の送信バッファ１１５にロードしない。その代わりに、ＡＴＭプロトコル層１２０の送信部は、第二の送信バッファ１１５に実データセルのみをロードする。従って、第二の送信バッファ１１５にはダミーセルがロードされず、実送信データのみが格納される。同期を維持するために、ビットストリームにダミーセルを挿入する問題を取り扱うために、別のダミーバッファ１３０が用いられる。このダミーバッファ１３０は、本発明を用いない場合にはＡＴＭプロトコル層１２０の送信サブルーチン部によって発生され、検索され又は送信されるダミーセルのために予め規定されるセルパターンを格納している。第二の送信バッファ１１５と同様に、ダミーバッファ１３０もＡＤＳＬ物理層１１０に結合され、送信動作中の必要に応じてダミーセルパターンデータを提供することが出来る。第二の送信バッファ１１５と同様に、ダミーバッファ１３０は、任意の大きさのシステムメモリ内のソフトウエア構成により実施することが出来、またセルパターンデータが固定されているのでハードウエアにおいても実施できる。勿論、ダミーバッファ１３０は、データ送信中の一部で上流側トランシーバ１０１に送信されるべき固定データパターンであるダミーセル以外のパターンを格納することも可能である。さらに、送信バッファの「水準」（又は送信データ閾値）を用いる他のシステムと同様に、ＡＴＭプロトコル層１２０の送信部は、送信データバッファ１１５が送信水準を下回った時に、起動される。
【００３２】
図２Ａ及び２Ｂは、本発明の好適実施例を実施する場合のＡＴＭプロトコル層１２０のルーチン及びＡＤＳＬ物理層１１０のルーチンのそれぞれの動作を形成するフローチャートである。図２Ａに示すＡＴＭプロトコル層１２０の送信ルーチンのために、以下のステップが実行される。まず、ステップ２０５において、第二の送信データバッファ１１５中のルーチンがセル占有レベルが水準値１１８を下回るとルーチンが起動される。次いで、ステップ２１０において、送信すべきアプリケーション１２５からの追加データがあるかを判定する。追加データが無い場合には、ルーチンはステップ２１５で終了する。即ち、ダミーデータブロック（ＡＴＭサイズのダミーセル）は第二の送信データバッファ１１５にロードされない。送信すべきデータが存在する場合には、そのデータが複数の周知の技術のいずれか一つを用いてステップ２２０で、データを特定のデータリンクのための全ての適当な長さ及びフォーマットの論理データブロック（即ち、ＡＴＭセル）に変換されるように処理される。
【００３３】
従って、第二の送信データバッファ１１５は、送信すべき実際の論理データブロックのみを格納し、ダミーセルデータを格納していない。これは、待ち時間が減少し、システムの性能が向上していることを意味する。これは、単純な例から理解することが出来る。従来の方法においては、ダミーセルが第二の送信データバッファ１１５にロードされると、それらがバッファを埋めてデータレベルが上がり、水準レベルを超える可能性がある。これは、送信待ち列に実データが存在しないにも拘わらず、ＡＴＭプロトコル層１２０のルーチンが起動されないことを意味する。事実、第二の送信データバッファ１１５は実データを格納しておらず、実データがＡＤＳＬ物理層１１０により処理できる前に、このバッファのダミーデータを排出するために多くの時間を費やさなければならないことが理解される。しかして、本発明は、実データのみを格納するバッファを使用すると、水準は送信可能な送信データ量の状態を正確に示すので、データストリームの「充填材」としての「ダミー」データセルを含む同期データリンク内の送信バッファデータ水準の値を大幅に強化する。
【００３４】
図２Ｂには、ＡＤＳＬ物理層１１０の送信部（ルーチン）の動作を示している。ステップ２２５において、ＡＤＳＬ変調シンボルの周期的な送信機会によってルーチンが起動される。Ｔ１．４１３及びＧ．９９２標準において、起動周期は約２５０μｓｅｃである。ルーチンはステップ２２５において継続され、「現用」バッファと指定された第二の送信データバッファ１１５とダミーセルバッファ１３０の何れかからのデータを、現在のＡＴＭセルの終わりまで読み出す。次いで、ステップ２３５において、ダミーセルバッファ１３０が現用バッファである場合、ステップ２４０において、こうしたダミーセルを読み出し、こうしたセルの終端において、ステップ２４２で第二の送信データバッファ１１５をチェックして、アプリケーション１２５からの実送信データセルが格納されているかどうかをチェックする。これは、バッファポインタを第二の送信データバッファ１１５の先頭にセットすることによって行われる。こうしたデータが存在していた場合、ＡＤＳＬ物理層１１０は、ステップ２４５において、第二の送信データバッファ１１５からデータを読み出すために切り替えを行い、このバッファを現用バッファに指定する。データが存在しない場合には、ダミーバッファの先頭に新しいバッファポインタをセットし、前回と同様にダミーセルバッファ１３０からの読み出しを継続する。
【００３５】
一方、ステップ２３５において、第二の送信データバッファ１１５が現用バッファである場合、ステップ２５５において、このバッファの終端に到るまで読み出しを継続する。このバッファの終端に到達すると、ステップ２６０でダミーバッファ１３０からの読み出しに切り替え、このバッファを現用バッファに指定する。
【００３６】
上記の説明より明らかなように、全ての瞬間において、最悪の場合の最大待ち時間は、データ送信の観点から、最大でＡＴＭセルの持続時間となる。最良の場合の最小待ち時間は、逆に、０となる。従って、本発明による予想待ち時間の平均は、ＡＴＭセルサイズの半分のみとなる。さらに、こうした待ち時間は、オペレーティングシステム待ち時間とは完全に無関係であり、種々の性能及び待ち時間のコンピューティングシステムにＡＤＳＬ用ソフトウエアモデムが組み込まれているので、これはＡＤＳＬ用ソフトウエアモデムに関して非常に有利である。従って、本発明は、非同期データ伝送のデータ源を補償するための好適な「アイドル」信号パターンが使用される全ての同期伝送リンクに有利に採用することが出来る。
【００３７】
本発明は、好適実施例に関して説明したが、多くの他例及び変形例は、本発明の技術から逸脱することなくこうした実施例を構成することが出来ることは当業者にとって明らかであろう。さらに、この説明の目的で、本発明のブロック図は簡素化されている。ホストプロセッサによって実行されるマイクロコード及びソフトウエアルーチンによって実施される本発明の方法は、種々の形式で実施され、永久磁石媒体、不揮発性ＲＯＭ、ＣＤ−ＲＯＭや全ての他の適当なコンピュータが解読できるフォーマットを含む。従って、こうした他例及び変形例は特許請求の範囲に記載された発明の範囲及び思想の範囲内含まれるものである。
【図面の簡単な説明】
【図１】  本発明の技術によって実施される実施例によるシステムのブロック図である。
【図２】  図２Ａ、２Ｂは、図１に特定した本発明のＡＴＭプロトコル層及びＡＤＳＬ物理層の動作の一般的な方法を示すフローチャートである。
【図１】
0003884619.tif 000002
【図２】
0003884619.tif 000003