(57)【特許請求の範囲】
【請求項１】
ＤＳＬラインと、第１及び第２のデータ転送モードを有するローカルバスとを相互接続するモデムであって、
ラインレートの第１のセットから選択したＤＳＬラインレートで前記ＤＳＬライン上でデータを送受信するよう構成されたＤＳＬインターフェイスと、
ローカルバスインターフェイスとを有し、
前記ローカルバスインターフェイスは、
前記ＤＳＬラインレートとマッチするようにラインレートの第２のセットから選択したローカルバスラインレートで動作するよう構成され、
前記ローカルバスラインレートが所定のゼロでない閾値より低いとき、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できても、前記第１のデータ転送モードを選択し、
前記ローカルバスラインレートが前記閾値より高く、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できるとき、前記第２のデータ転送モードを選択し、
前記ローカルバスラインレートが前記閾値より高く、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できないとき、前記第１のデータ転送モードを選択するように構成され、
各セットは複数の離散的な所定のラインレート量により形成され、
前記ＤＳＬラインレートとマッチする前記ローカルバスラインレートは、ペイロードのデータレートが前記ＤＳＬラインレートのペイロードのデータレートと等しいか若しくは高い、前記第２のセットのうちの最低ラインレートである
ことを特徴とするモデム。
【請求項２】
前記ローカルバスインターフェイスはＵＳＢインターフェイスであることを特徴とする、請求項１に記載のモデム。
【請求項３】
前記ＵＳＢインターフェイスは、
前記ＤＳＬラインレートが所定のゼロでない閾値より低いときバルク転送モードで動作し、
前記ＤＳＬラインレートが前記閾値より高いときアイソクロナス転送モードで動作するよう構成されていることを特徴とする、請求項２に記載のモデム。
【請求項４】
前記ＤＳＬラインによりアクセス可能なサービスに割り当てられたローカルバスラインレート量とＤＳＬラインレート量の少なくとも一方を表すデータを記憶する記憶手段を有することを特徴とする、請求項１ないし３いずれか一項に記載のモデム。
【請求項５】
ＤＳＬラインと、第１及び第２のデータ転送モードを有するローカルバスとを相互接続する、好ましくは請求項１ないし４いずれか一項に記載のモデムのデータ転送モードを確立する方法であって、
ａ）前記ＤＳＬラインを介してアクセスする所望のタイプのサービスにより、ラインレートの第１と第２のセットから少なくとも１つの所望のＤＳＬラインレートと少なくとも１つの所望のローカルバスラインレートを選択するステップであって、各セットは複数の離散的な所定のラインレート量により形成され、前記所望のローカルバスラインレートは、ペイロードのデータレートが前記所望のＤＳＬラインレートのペイロードのデータレートと等しいか若しくは高い、前記第２のセットのうちの最低ラインレートであるステップと、
ｂ）前記ローカルバス上の前記所望のローカルバスラインレートを確保しようと試みるステップと、
ｃ）前記ローカルバスラインレートが所定のゼロでない閾値より低いとき、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できても、前記第１のデータ転送モードを選択し、
前記ローカルバスラインレートが前記閾値より高く、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できるとき、前記第２のデータ転送モードを選択し、
前記ローカルバスラインレートが前記閾値より高く、前記ローカルバスラインレートで前記第２のデータ転送モードを利用できないとき、前記第１のデータ転送モードを選択するステップと、
ｄ）前記ＤＳＬラインを前記所望のＤＳＬラインレートに同期させるよう試みるステップと、
ｅ）前記ｂ）とｄ）の試みが成功したとき、前記ＤＳＬラインと前記ローカルバス間でデータを転送するステップとを有する方法。
【請求項６】
前記モデムに記憶された前記所望のサービスの所定のバンド幅量に基づき、前記所望のバスラインレートの少なくとも１つを選択する、請求項５に記載の方法。
【請求項７】
前記第２の転送モードが選択され、ステップｄ）が失敗したとき、より低い所望のローカルバスラインレートを前記第２のセットから選択し、ステップｄ）を繰り返す、請求項５に記載の方法。
【請求項８】
ステップｄ）が失敗し、より低い所望のローカルバスラインレートが前記第２のセットから選択できないとき、前記ローカルバスのために前記第１のデータ転送モードを選択する、請求項５または７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、DSL（デジタル加入者線）モデム、特にUSBバス（ユニバーサルシリアルバス）とDSL線通信のデータ転送モードを決定するシステムと方法に関する。
【背景技術】
【０００２】
DSL技術により、古いPOTS（簡素な古い電話サービス）のツイステッドペア線を介して高いビットレートのデータトランスファが可能となった。非対称DSL（ADSL）は、ダウンストリーム８Mbps、アップストリーム８００kbpsのデータレートを提供する。
【０００３】
デジタル加入者線は、サービスプロバイダ側と顧客の家屋側に変復調（モデム）ユニットを必要とする。DSL接続のセットアップ中に、DSLアップストリームおよびダウンストリームのビットレートを含む接続パラメータを決定するために、ネゴシエーションメカニズムを介して両者は同期をとる。それゆえ、ビットレートはサービスプロバイダによってアプリオリに固定されているのではなく、DSL同期中に動的に決定される。
【０００４】
顧客の家屋に設置されたDSLモデムは、一般的には、パーソナルコンピュータに接続される（ゲームコンソールやセットトップボックスに接続されることもある）。最も一般的な接続タイプはイーサネット（登録商標）（IEEE８０２．３）とユニバーサルシリアルバス（USB）である。
【０００５】
ユニバーサルシリアルバス１．１版は、１つのバスで１２７台のデバイスを接続でき、１２Mbpsまでのデータ転送レートをサポートできるシリアルバスインターフェイスである。
【０００６】
USBバスに接続されたデバイスはすべて２つのデータ転送モードのうち１つを選択することができる。
【０００７】
１）バルク転送モード      バルク転送は、一般的に、いかなる利用可能なバンド幅をも利用し、バンド幅が利用可能となるまで遅らせることができる転送に用いられる、非周期的、大規模バースト通信である。そのため、バルク転送モードは、バス上のバンド幅を保証するものではなく、利用可能なバンド幅を使用するものである。また、エラーが発生したとき、USBバス上で再送信することによりデータをエラーなく受け渡しを保証する。
【０００８】
２）アイソクロナス転送モード      アイソクロナス転送はアイソクロナスデータを扱うときに用いられる。アイソクロナス転送は、ホストとデバイス間の周期的かつ連続的な通信を提供する。アイソクロナス転送モードは、USBバス上で保証された一定量のバンド幅を使用する。USBコントローラによりバンド幅要求が許可されると、このバンド幅は保証され、USBバス上の他のデバイスはこれを利用できなくなる。
【０００９】
転送モードの選択は、普通、USBインターフェイスのコンフィギュレーションの限定されたセットの１つを選択することにより行われる。各コンフィギュレーションセットは、転送モードと、そのコンフィギュレーションのUSBパケットのサイズとを規定する。アイソクロナス転送モードの場合、USBパケットのサイズは、連続的データ通信のために要求／使用されるアイソクロナスバンド幅を決定する。バルク転送モードは、利用可能ないかなるバンド幅も使用するが、連続的USBデータパケットの送信はしない。
【００１０】
USBバスの典型的特徴の１つは、デバイスの「ホット」プラグインである。このホットプラグインとは、パーソナルコンピュータの電源を切らなくてもデバイスを接続したり切断したりすることができることを意味する。これにより、接続されたデバイス間のバンド幅の分配に関わるバスコンフィギュレーションを非常に動的とすることができる。アイソクロナス転送モードを選択したデバイスは、バンド幅を確保し、確保したバンド幅を他のデバイスに利用できないようにする。バルク転送モードを選択したデバイスは、データ転送があるときにのみバンド幅を使用するが、バス上に利用可能なバンド幅があるかどうかは事前に分からない。
【００１１】
DSLバンド幅はDSLライン同期中に決定され、サービスレベル契約やDSLラインの多数の仕様により変化する。顧客の家屋のDSLモデムは、サービスプロバイダのモデムから最小と最大のバンド幅パラメータを事前に受信する。同期によりこれらの限界内のバンド幅をネゴシエーションする。
【００１２】
図１に示したように、DSLモデムは、パーソナルコンピュータとサービスプロバイダの間にあり、両者との接続のバンド幅は可変である。
【００１３】
DSLモデムの問題は、要約すると、２つの可能なUSBデータ転送モードの一方を選択しなければならないことと、低レイテンシィデータ転送とデータロスがないことを保証するために、USBバスバンド幅をDSLラインバンド幅に合わせることである。さらにまた、同時に、他のデバイスが機能しないことを防止するため、USB上の１２Mbpsのバンド幅は、USBバスに接続されているすべてのデバイス間で注意深く分配されなければならない。
【００１４】
デバイスは、そのデバイスの特徴とデータにより１つのUSB転送モードを選択する。低ビットレートでバースト状のデータを有するデバイスはバルク転送モードを選択し、高ビットレートのマルチメディアデバイス（例えば、カメラ、スピーカ等）は、アイソクロナス転送モードを選択する。
【００１５】
DSLモデムはビットレートが変化するバースト状およびマルチメディアデータ転送を両方することができる。一般的に、DSLモデムは他のUSBデバイスと結合して使用され、これにより大量のバンド幅を必要とする。
【００１６】
第１のオプションとして、DSLモデムは常にアイソクロナス転送モードを選択することができる。DSLモデムの観点からすると、その転送モードはレイテンシィが低くバンド幅が確保されるのでよいオプションである。しかし、もしDSLモデムが一定量の保証されたバンド幅を確保すると、USBバス上の他のデバイスがこのバンド幅にアクセスできなくなり、適当に機能しえなくなる。
【００１７】
一方、DSLモデムにより要求されたアイソクロナスバンド幅がUSBバス上で利用可能でないとき、モデムはデータをUSBバスを介して転送できない。
【００１８】
第２のオプションは、バルク転送モードを選択することである。このバルク転送モードは一般的に低いバンド幅に好適である。DSLラインレートが８Mbpsであるとき、バルク転送モードではデータ転送が遅延する結果になりやすく、データが失われることもある。これはUSBバス上でバンド幅が利用可能となる確からしさが減少するからである。実際には、これはUSBバスに他のデバイスが接続されていない場合のみである。
【００１９】
先行技術のDSLモデムは、２つの転送モードの１つを選択する。しかし、USBバス上に十分なバンド幅が取れなく、そのデバイスが正常に機能しなかったり、過剰なバンド幅を確保してしまい、１つのUSBバス上で機能できるUSBデバイスの数を制限してしまったりすることが一般的な結果として立証されている。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、上記の欠点を避けることを可能とする、DSLラインとローカルバスを相互接続するモデムと、モデムのデータ転送モードを確立する方法に関する。
【課題を解決するための手段】
【００２１】
その趣意で、本発明は、DSLラインとローカルバスとを相互接続するモデムであって、バンド幅の第１のセットから選択されたDSLバンド幅でDSLライン上にデータを送受信するように適応したDSLインターフェイスと、ローカルバスインターフェイスとを有するモデムを提供する。本発明によると、前記ローカルバスインターフェイスは、前記DSLバンド幅をマッチさせるように、バンド幅の第２のセットから選択されたローカルバスバンド幅で動作するように適応している。
【００２２】
好ましくは、ローカルバスインターフェイスはUSBインターフェイスであり、第２のセットのいかなるバンド幅におけるアイソクロナス転送とバルク転送モードをサポートするUSBインターフェイスである。
【００２３】
上記のモデムにより、DSLラインとローカルバス両方におけるバランスの取れた転送コンフィギュレーションを確立することができる。モデムは、DSLラインから実際に期待されるデータフローを収容する必要以上にローカルバス上のバンド幅を確保しないので、同じローカルバスに接続された他のデバイスが利用できるバンド幅が必要以上に削減されることはない。極めて明白に、そのようのモデムがローカルバス上に必要なバンド幅を確保することができる確率は、従来のUSBモデムより高い。従来のUSBモデムは、データ転送にバンド幅が実際にどのくらい必要であろうとも、最大バンド幅を確保するのみである。この従来のモデムがアイソクロナス転送のために所望のバンド幅を確保できないとき、バルク転送モードでのみ動作することとなる。すなわち、DSLラインから受信したデータを送るバンド幅をUSBバス上に得られるかもしれないし、得られないかもしれない。
【００２４】
簡単のため、バンド幅の２つのセットが複数の離散的な所定バンド幅量から形成される。
【００２５】
その場合、同じペイロードデータレートを所与のDSLバンド幅としてサポートしているローカルバスバンド幅が、その第２のセットに存在するとは限らない。DSLバンド幅のペイロードレートと少なくとも等しいペイロードデータレートを有する第２のセットの最低のバンド幅であるとき、ローカルバスバンド幅はDSLバンド幅にマッチするという。
【００２６】
DSLバンド幅が低いとき、ローカルバス上のアイソクロナス転送のバンド幅の対応する量を確保するためのオーバーヘッドは比較的高く、バルク転送モードを用いてローカルバス上にDSLラインから受信したデータを送れる確率は低い。それゆえ、DSLバンド幅が所定のゼロでない閾値より低いときはバルク転送モードで動作し、DSLバンド幅が前記閾値より高いときはアイソクロナス転送モードで動作するようにUSBインターフェイスが適応していると、モデムの効率は高くなるかもしれない。
【００２７】
モデムとDSLラインの反対側のサービスプロバイダとの間の通信を確立する手続きを短縮するため、前記サービスプロバイダから前記DSLラインによりアクセス可能なサービスに割り当てられたローカルバスバンド幅量とDSLバンド幅量の少なくとも一方を表すデータを記憶した記憶手段を前記モデムに有することは有利である。このようにすると、通信のセットアップ中にモデムにサービスプロバイダからこの情報を転送する必要がない。好ましくは、モデムに少なくとも１つのバンド幅量を特定する情報をサービスプロバイダがダウンロード可能とする手段をモデムに備えてもよい。
【００２８】
本発明は、DSLラインとローカルバスとを相互接続する、好ましくは上記のモデムのデータ転送モードを確立する方法にも関し、その方法は、
ａ）  前記DSLラインを介してアクセスされる所望のタイプのサービスにより、バンド幅の第１と第２のセットから所望のDSLバンド幅と所望のローカルバスバンド幅の少なくとも１つを選択するステップと、
ｂ）前記所望のDSLバンド幅に前記DSLラインを同期しようと試みるステップと、
ｃ）前記ローカルバス上の前記所望のローカルバスバンド幅を確保しようと試みるステップと、
ｄ）前記試みが成功したとき、前記DSLラインと前記ローカルバス間でデータを転送するステップとを有する。
【００２９】
ステップａ）において、２つの所望のバンド幅のうち少なくとも１つは、好ましくは、モデムに記憶されている所望のサービスのデフォルトバンド幅量を特定する情報に基づき選択される。この特定されたバンド幅量は、前記セットの一方のバンド幅に厳密に対応してもよい。厳密に対応しない場合は、選択された所望のバンド幅は、特定のバンド幅に対応するペイロードデータレートよりペイロードデータレートが高い、各セットの最低のバンド幅である。よって、２つのセットにあるかもしれないバンド幅を厳密に知らなくても、デフォルトのバンド幅を特定する情報をサービスプロバイダがモデムにダウンロードさせることが可能である。
【００３０】
好ましくは、その方法は、前記所望のローカルバスバンド幅は、前記所望のDSLバンド幅のペイロードデータレートと少なくとも等しいペイロードデータレートを有する、前記第２のセットからの最低バンド幅であるように、前記他のバンド幅に基づき前記所望のバンド幅の１つを選択するステップを有することを特徴とする。このステップは、ステップｂ）またはｃ）が失敗し、所望のバンド幅を低くして再度試みなければならない場合に、この方法を非常に柔軟なものにする。
【００３１】
本方法の一実施形態によると、所望のローカルバスバンド幅を確保するよう試みるステップｃ）は、DSLラインを同期させるよう試みるステップｂ）より前に実行される。
【００３２】
本実施形態において、ステップｃ）が失敗すると、より低い所望のローカルバスバンド幅が第２のセットから選択され、ステップｃ）が繰り返される。このように、本方法によれば、最終的に、与えられた時にローカルバス上で利用可能なバンド幅の最大量を確保することが可能である。
【００３３】
ステップｃ）が失敗すると、第２のセットの最低のバンド幅についても、バルク転送モードがローカルバスのために選択されてもよい。そうすると、DSLラインから受信したすべてのデータをローカルバスに送ることができるという保証はない。このように、少なくともベストエフォートタイプのサービスが提供される。
【００３４】
さらに、本実施形態によると、他のバンド幅に基づき所望のバンド幅の１つを選択する、上記のステップは、ステップｃ）が成功した後、DSLバンド幅に適用される。よって、選択されたDSLバンド幅は、ローカルバス上で成功裏に確保されたアイソクロナスバンド幅とマッチする。これにより、DSLラインからモデムが受信するデータ量は、モデムがローカルバス上に送れるデータ量より大きくはならない。
【００３５】
第２の実施形態によると、ステップｃ）はステップｂ）の後に実行される。
【００３６】
本実施形態において、例えばDSLラインの品質が悪くてステップｂ）が失敗すると、第１のセットのより低い所望のDSLバンド幅が選択され、ステップｂ）が繰り返される。このように、最終的に、DSLラインは所望のサービスの最良の利用可能なDSLバンド幅に同期される。
【００３７】
この最良の利用可能なバンド幅が所定のゼロでない閾値より低いとき、ローカルバスでアイソクロナスバンド幅を確保する価値はなく、バルク転送モードがローカルバスに設定されてもよい。
【００３８】
ローカルバス上でアイソクロナスバンド幅を確保する試みがすべて失敗したときには、バルク転送モードが好ましくは設定される。
【００３９】
この第２の実施形態において、他のバンド幅に基づき所望のバンド幅の１つを選択するステップは、好ましくは、DSLラインに同期するステップｂ）が成功した後に、ローカルバスバンド幅に適用される。このように、DSLが最終的にどのバンド幅に同期しようとも、モデムが受信したすべてのデータを送るのに必要ない上のアイソクロナスバンド幅をローカルバス上に占有しないことを保証する。
【発明を実施するための最良の形態】
【００４０】
本発明は、添付した図面を参照して以下の実施形態の実施例により、よりよく理解および例示することができるであろう。
【００４１】
図１には、一方でDSLライン３を介してリモートサービスプロバイダ２に、もう一方でローカルネットワークに接続されたモデム１が示されている。そのローカルネットワークは、USBバス４、パーソナルコンピュータ５、USBバス４のバンド幅の可変割合を占有する１以上の周辺デバイス６よりなる。
【００４２】
モデム１はDSLライン３に接続されたDSLインターフェイス７と、USBバス４に接続されたUSBインターフェイス８とを有する。DSLインターフェイス７は、DSLラインと通信する離散的バンド幅値の第１のセットをサポートしている。USBインターフェイス８は、離散的バンド幅値の第２のセットから選択されたバンド幅の同期転送モードと、バルク転送モードとをサポートしている。モデム１は、図においてはモデムに内蔵されて示されているがコンピュータ５内に実装されてもよい、サービスプロバイダ２にアクセスするためにDSLラインおよび／またはUSBバスのデフォルトのバンド幅値を記憶したメモリ９をさらに有している。これらのデフォルトのバンド幅は、サービスプロバイダ２が所望のサービスを提供できる最大データレートにより設定される。サービスはより低いデータレートでも動作することができると仮定する。メモリ９のデフォルトバンド幅値は、コンピュータ５のユーザにより入力されてもよいし、サービスプロバイダ２からダウンロードしてもよい。
【００４３】
モデム１を用いたデータ転送モードを確立する方法の２つの実施形態を、「アグレッシブ」および「フレンドリー」アルゴリズムと呼び、以下に説明する。「アグレッシブ」アルゴリズムは、アクセスすべきサービスがUSBバス４の全バンド幅のかなりの部分を占める高いデータレートを要するときに、特に適当である。「フレンドリー」アルゴリズムは、適度なバンド幅要求を有するサービスにアクセスするためにより適当である。モデム１は、この２つのアルゴリズムのうちの１つだけを実行するように適応していてもよいし、メモリ９に記憶された所望のサービスのバンド幅要求により、２つのうちの１つを選択するように適応していてもよい。
【００４４】
A／第１の実施形態：「アグレッシブ」動的転送モードおよびバンド幅選択
簡単に言うと、「アグレッシブ」バンド幅選択アルゴリズム（図２）は、所望のサービスのためにUSBバンド幅の特定された量またはできるだけ多くのバンド幅を確保し、USBバス４上で確保されたバンド幅マッチングにDSLラインを同期させる。USBバス４上の所望のサービスに必要なバンド幅が３．５Mbps以下のとき、アイソクロナスバンド幅はまったく確保されず、バルク転送モードが使用される。要求されるバンド幅が３．５Mbpsより大きいとき、およびアイソクロナスバンド幅がUSBバス４上で確保できないとき、バルク転送モードが用いられる。このバルク転送モードはベストエフォートモードであり、常に何らかのレベルのデータ転送を提供する。
【００４５】
詳細には、「アグレッシブ」バンド幅選択アルゴリズムは、メモリ９に記憶された、サービスプロバイダにより設定されてもよい２つの入力パラメータを用いる。
・MAXUSB：アイソシンクロナスモードにおいてアルゴリズムが確保しようと試みるデフォルトの最大USBバンド幅である。
・MAXDSL：アルゴリズムがDSLラインを同期させようと試みるデフォルトの最大DSLバンド幅である。このパラメータはコンフィギュレーションのセット（別の設定）が最大アイソクロナスバンド幅を有する場合に便利であり、最大DSLバンド幅はこの値とバランスされる。
【００４６】
MAXUSBとMAXDSLは、モデムによりサポートされたバンド幅の２つのセットからのバンド幅である。MAXUSBとMAXDSLは互いにマッチする。すなわち、同一のペイロードデータレートを有するか、またはMAXUSBがMAXDSLより高いペイロードデータレートを有する、USBバス４上の最低のサポートされたバンド幅である。MAXDSLはDSLライン３が同期できる最小バンド幅に少なくとも等しい。
【００４７】
ステップS1において、PC５をスタートさせ、またはモデム１をUSBバス４に接続した後、ステップS2において、MAXUSBとMAXDSLの値が記憶９から読み出される。メモリ９はコンピュータのシステムレジストリ、例えば「ウィンドウズ（登録商標）」PCの「INI」タイプのファイルでもよい。
【００４８】
MAXUSBは、可能であれば、USBバス４上にモデム１が確保する所望のUSBバンド幅を表す。
【００４９】
ステップS3において、MAXUSBパラメータは３．５Mbpsの閾値と比較される。もしMAXUSBが低ければ、すなわち、所望のサービスのバンド幅要求が低いとき、ステップS4に進み、USBにバルク転送モードが設定される。これは、３．５Mbps以下については、バルク転送モードがUSBバスで最も使いやすいからである。すなわち、同期転送モードよりデバイス６により多くのバンド幅を残すからである。
【００５０】
DSLラインは同期している。この趣意で、ステップS5において、Y=MAXDSLがDSLの所望のバンド幅として選択され、ステップS6において、所望のバンド幅Yに同期するよう試みられる。ステップS7において、その試みが成功したかチェックする。イエスのとき手順は終了する。ノーのとき、ステップS6の試みが繰り返される。所定回数（同期は最初の試みで成功するとは限らないので、この所定回数は１より大きくなければならない）失敗したとき、例えばDSLライン３の品質が悪いので、所望のバンド幅での動作は不可能であると予測される。ステップD8において、バンド幅の第１のセットから他のバンド幅が新しい所望のバンド幅として選択される。これが可能でないとき、DSL通信は確立できず、手続きは終了する。そうでなければ手続きはステップS6に戻る。
【００５１】
一方、MAXUSBがステップS3において３．５Mbpsより大きいと分かると、ステップ９において、MAXUSBがUSB４の所望のバンド幅Xとして設定される。ステップS10において、アイソシンクロナス転送モードでこのバンド幅量を確保する要求が発行される。
【００５２】
ステップS11において、モデムはバンド幅要求が許可されたかチェックする。許可されてなければ、モデムはステップS12において、第２のセット中のステップS6で要求されたバンド幅モードよりもより低いアイソクロナスバンド幅モードがあるかチェックする。答えがノーの場合、モデムは、アイソクロナスバンド幅を確保するさらなる試みをあきらめ、ステップS4に分岐し、USBバス４のためにバルク転送モードを設定し、可能ならDSLライン３をMAXDSLに同期させる。
【００５３】
ステップS12において、より低いアイソクロナスバンド幅モードが存在することが分かったとき、ステップS13において、モデムはこれらのより低いアイソクロナスバンド幅モードのうち最も高いもののバンド幅を新しい所望のバンド幅Xとして選択し、ステップS10に戻る。
【００５４】
ステップS11において、所望のバンド幅Xの要求が成功したことが分かると、モデムはステップS14において、許可されたUSBバンド幅Xにマッチする（すなわち同じかまたは少し少ないペイロードデータレートを達成する）第１のグループからDSLバンド幅Yを選択し、ステップS15において、DSLライン３をこのバンド幅に同期させようと試みる。
【００５５】
DSLラインがXより高いバンド幅に同期すれば、バンド幅のミスマッチのため、ダウンストリームデータが失われる危険がある。
【００５６】
ステップS15の同期を取る試みの間に、最小のDSLレートがサービスプロバイダ２からモデム１に通知される。
【００５７】
ステップS15のDSLライン同期が失敗すると、ステップS17において、最小のDSLレートが選択されたバンド幅Yより高いかチェックされる。イエスのとき、手続きはステップS4に分岐する。ノーのとき、さらに同期を試みる。繰り返し失敗すると、ステップS15に戻る前に、ステップS18において、より低いDSLレートがYとして第１のセットから選択される。
【００５８】
ステップS14で選択されたように、要求されたバンド幅YへのDSLライン同期が成功したとき、DSLラインは保証されたUSBバンド幅とバランスされ、手続きは終了する（S20）。より低いDSLバンド幅との同期が成功したとき、すなわち、同期が成功する前にステップS18が少なくとも一回実行されたとき、USB上に確保されたバンド幅量は、DSLラインに到達するダウンロードデータを送るのに必要以上であるかもしれない。それゆえ、DSLライン同期が３．５Mbps以下かどうかチェックされる（S21）。もしイエスなら、ステップS22でバルク転送モードが設定される。このモードは他のデバイスにとって都合がよく、USBバス上でバンド幅が利用可能であればデータ転送が保証される。もしノーのとき、ステップS23において、実際に確保されたバンド幅より小さく、DSLバンド幅Yにマッチするバンド幅を有するアイソクロナス転送モードが第２のセット中に入手可能かどうかがチェックされる。イエスのとき、このマッチングモードはステップS24においてUSBに設定される。ノーのとき、手続きは終了し、システムは、ステップS10で確保されたバンド幅Xを用いて動作する。
【００５９】
B／第２の実施形態：「フレンドリー」動的転送モードおよびバンド幅選択
簡単に説明すると、「フレンドリー」選択アルゴリズム（図３）は、選択されたバルク転送モードでスタートし、DSLライン３の同期をスタートする。アルゴリズムはデータが転送されるまで（デバイスのプロトコルコンフィギュレーションによる）、バルク転送モードにとどまる。データが転送されると、DSLライン３が３．５Mbpsより高いバンド幅に同期しているとき、アイソクロナスバンド幅を要求する。USBバス４上でバンド幅がないので許可されないとき、アルゴリズムはベストエフォートのデータ転送を提供するためバルク転送モードにとどまる。
【００６０】
図３に示した「フレンドリー」バンド幅選択アルゴリズムは、「アグレッシブ」アルゴリズムに関してすでに上で定義したのと同じ２つの入力パラメータMAXUSB、MAXDSLを使用する。
【００６１】
「フレンドリー」アルゴリズムの最初のステップS’1、S’2は上で説明したステップS1、S2と同じである。
【００６２】
DSLラインを同期させるその後のステップS’3からS’7は、「アグレッシブ」アルゴリズムのステップS4からS8と同じである。
【００６３】
DSLラインが同期されると、モデムはデータ転送が始まるまで待機する（S’8）。アップストリームまたはダウンストリームでデータが転送されると（例えば、PPP接続がつながっている）、アルゴリズムはDSLライン３が同期される（S’9）バンド幅をチェックし、同期されたDSLラインバンド幅が３．５Mbps以下ならバルク転送モードを使用し続ける。DSLバンド幅が３．５Mbpsより高いときのみ、アルゴリズムはDSLバンド幅とマッチするUSBバンド幅を第２のセットから選択しようと試み、それを確保する。詳細には、ステップS’１１において、DSLラインの同期したバンド幅より大きいバンド幅を有するアイソクロナスモードが第２のセット中にあるかどうかをチェックする。上記のモードがなければ、バルク転送モードを使用しなければならない（S’10）。上記モードがあれば、これらのうちの最低のもの、すなわちマッチングモードがステップS’12で選択される。このUSBバンド幅を求める要求（S’13）がステップS’14において許可されなかったとき、バルク転送モードが使用されなければならない（S’10）。データの消失がないという保証はないが、少なくともベストエフォートのサービスが提供される。バンド幅が許可されると、ステップS’15において、要求されたバンド幅Xを有するアイソクロナス転送モードを用いてデータが転送される。データ送信が続く限り、モデムはこのモードにとどまる。転送が終了すると（S’16）、モデムはUSBをバルクモードに切り替え（S’17）、ステップS’8に戻り、DSL接続が終了するまで、データ転送が再開されるのを待つ。
【００６４】
「アグレッシブ」選択アルゴリズムは、DSLを介して高いバンド幅のマルチメディアコンテントのデリバリをするためのバンド幅を確保するよう試みる。もしUSBバス上に要求したよりも少ないバンド幅しか利用可能でなければ、DSL同期は最適なDSLサービスを保つためにバンド幅設定をバランスするように試みる。バスが混雑しているとき、アルゴリズムはベストエフォートモードとして、一定レベルのデータ転送を提供できるバルク転送モードに戻る。
【００６５】
「フレンドリー」選択アルゴリズムは、低バンド幅DSLサービス（例えば、従来のインターネットアクセス）に非常に好適であり、必要であればバンド幅を確保するするように試みる。これにより、他のデバイスは、DSLモデムがデータ転送のためにバンド幅を消費しないときに、USBバス上のバンド幅にアクセス可能となる。
【００６６】
両方のアルゴリズムは補完的であり、両者の組み合わせにより、動的で効率的なUSBバンド幅と転送モードの選択が提供される。
【図面の簡単な説明】
【００６７】
【図１】一般のDSLモデムトポロジを示す図である。
【図２】本発明の方法による第１の動的な選択方法を示すフロー図である。
【図３】本発明の方法による第２の動的な選択方法を示すフロー図である。
【図１】
0004960594.tif 000002
【図２】
0004960594.tif 000003
【図３】
0004960594.tif 000004