(57)【要約】物理層（ＰＨＹ）の平均二乗誤差（ＭＳＥ）を、上位層のデバイス・ドライバに通知する方法は、フレームを物理層によって受信するステップと、そのフレームのＭＳＥを物理層によって算出するステップと、ＭＳＥおよびフレームを媒体アクセス制御（ＭＡＣ）に送信するステップと、ＭＡＣによってそのフレームに関連するフレーム・ステータス・フレーム（ＦＳＦ）にＭＳＥを挿入するステップと、上位層のドライバ・ソフトウェアにフレームとＦＳＦを送信するステップと、を含む。物理層のＭＳＥへのアクセスで、上位層のドライバ・ソフトウェアは、平均二乗誤差の平均値（ＡＭＳＥ）を算出し、ペイロード・エンコーディング（ＰＥ）またはデータ転送速度の変更をネゴシエートすべきかどうか決定することができる。この方式では、低エラー率を維持しながら、データ転送速度を最適化することができる。
2004537216.tif 000002
【特許請求の範囲】
【請求項１】
上位層のデバイス・ドライバに物理層（ＰＨＹ）の平均二乗誤差（ＭＳＥ）を通知する方法であって、
（ａ）物理層によって、フレームを受信するステップと、
（ｂ）前記物理層によって、前記フレームのＭＳＥを算出するステップと、
（ｃ）媒体アクセス制御（ＭＡＣ）に前記ＭＳＥと前記フレームを送信するステップと、
（ｄ）前記ＭＡＣによって、前記フレームに関連するフレーム・ステータス・フレーム（ＦＳＦ）に前記ＭＳＥを挿入するステップと、
（ｅ）上位層のドライバ・ソフトウェアに、前記フレームと前記ＦＳＦを送信するステップと、
を含む、方法。
【請求項２】
（ｆ）前記上位層のドライバ・ソフトウェアによって、前記ＦＳＦから前記ＭＳＥを抽出するステップと、
（ｇ）前記上位層のソフトウェアによって、前記ＭＳＥに基づいたＭＳＥの平均値（ＡＭＳＥ）を算出するステップと、
をさらに含む、請求項１記載の方法。
【請求項３】
（ｇ１）前記算出するステップ（ｇ）は、
前記上位層のドライバ・ソフトウェアによって、複数のフレームの履歴ウィンドウの前記ＡＭＳＥを算出するステップを含む、
請求項２記載の方法。
【請求項４】
（ｈ）前記ＡＭＳＥを、ペイロード・エンコーディング（ＰＥ）の所定範囲のＡＭＳＥ値と比較するステップと、
（ｉ）前記ＡＭＳＥが、前記範囲内である場合に、前記ＰＥで送信するステップと、
（ｊ）前記ＡＭＳＥが前記範囲内でない場合、前記ＰＥにおける変更をネゴシエートするステップと、
をさらに含む、請求項２記載の方法。
【請求項５】
上位層のデバイス・ドライバに物理層のＭＳＥを通知する方法であって、
（ａ）物理層によって、フレームを受信するステップと、
（ｂ）前記物理層によって、前記フレームのＭＳＥを算出するステップと、
（ｃ）ＭＡＣに前記ＭＳＥと前記フレームを送信するステップと、
（ｄ）前記ＭＡＣによって、前記フレームに関連する前記ＦＳＦに前記ＭＳＥを挿入するステップと、
（ｅ）前記上位層のドライバ・ソフトウェアに、前記フレームと前記ＦＳＦを送信するステップと、
（ｆ）前記上位層のドライバ・ソフトウェアによって、前記ＦＳＦから前記ＭＳＥを抽出するステップと、
（ｇ）前記上位層のソフトウェアによって、前記ＭＳＥに基づいてＡＭＳＥを算出するステップと、
を含む、方法。
【請求項６】
前記算出するステップ（ｇ）は、
（ｇ１）前記上位層のドライバ・ソフトウェアによって、複数のフレームの履歴ウィンドウの前記ＡＭＳＥを算出するステップを含む、
請求項５記載の方法。
【請求項７】
（ｈ）前記ＡＭＳＥを、ＰＥの所定範囲のＡＭＳＥ値と比較するステップと、
（ｉ）前記ＡＭＳＥが、前記範囲内である場合に、前記ＰＥで送信するステップと、
（ｊ）前記ＡＭＳＥが前記範囲内でない場合、前記ＰＥにおける変更をネゴシエートするステップと、
をさらに含む、請求項５記載の方法。
【請求項８】
上位層のデバイス・ドライバに物理層のＭＳＥを通知する方法であって、
（ａ）物理層によって、フレームを受信するステップと、
（ｂ）前記物理層によって、前記フレームのＭＳＥを算出するステップと、
（ｃ）ＭＡＣに前記ＭＳＥと前記フレームを送信するステップと、
（ｄ）前記ＭＡＣによって、前記フレームに関連する前記ＦＳＦに前記ＭＳＥを挿入するステップと、
（ｅ）前記上位層のドライバ・ソフトウェアに、前記フレームと前記ＦＳＦを送信するステップと、
（ｆ）前記上位層のドライバ・ソフトウェアによって、前記ＦＳＦから前記ＭＳＥを抽出するステップと、
（ｇ）前記上位層のソフトウェアによってフレームの履歴ウィンドウのＡＭＳＥを算出するステップと、
（ｈ）前記ＡＭＳＥを、ＰＥの所定範囲のＡＭＳＥ値と比較するステップと、
（ｉ）前記ＡＭＳＥが、前記範囲内である場合に、前記ＰＥで送信するステップと、
（ｊ）前記ＡＭＳＥが前記範囲内でない場合、前記ＰＥにおける変更をネゴシエートするステップと、
を含む、方法。
【請求項９】
上位層のデバイス・ドライバに物理層のＭＳＥを通知するプログラム命令を記憶したコンピュータ読取り可能な記録媒体であって、前記プログラム命令は、
（ａ）物理層によって、フレームを受信する命令と、
（ｂ）前記物理層によって、前記フレームのＭＳＥを算出する命令と、
（ｃ）ＭＡＣに前記ＭＳＥと前記フレームを送信する命令と、
（ｄ）前記ＭＡＣによって、前記フレームに関連するＦＳＦに前記ＭＳＥを挿入する命令と、
（ｅ）上位層のドライバ・ソフトウェアに、前記フレームと前記ＦＳＦを送信する命令と、
を含む、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中のデータ伝送、特に、ネットワーク中のデータ伝送のレートに関する。
【背景技術】
【０００２】
ホームネットワークは、より一般的で、家庭内のコンピュータの接続に望ましいものになってきている。
ホームネットワークの一つのタイプは、その家の中のコンピュータ間のコミュニケーションのため、居住用の家に設置されている電話回線を使用する、ホームフォンラインネットワークである。
Home Phone Line Networking Alliance（ＨＰＮＡ）は、ホームフォンラインネットワークの動作を標準化するために、その仕様を公表している。
最新のＨＰＮＡの仕様は、標準バージョン２．０（ＨＰＮＡ２．０）である。
【０００３】
図１は、ホームフォンラインネットワークを示す。このネットワークは、コントロール・チップ１００を含む。
チップ１００はさらに、媒体独立インタフェース（ＭＩＩ）（Media Independent Interface）１０６、媒体アクセス制御（ＭＡＣ）１０８、および物理層（ＰＨＹ）１１０を含む。チップ１００は、ＨＰＮＡ２．０を実装する。チップ１００は、電話ジャック１０２によって電話線を通じてデータパケットを含む信号を受信する。
また、ネットワークは、チップ１００と電話線の間の信号を処理するアナログ・フロント・エンド（ＡＦＥ）１０４を有する。
チップ１００は、ＡＦＥ１０４から信号で受信したパケットを処理し、ホストＭＡＣ１１２に信号を出力する。
【０００４】
図２は、ホームフォンラインネットワーク用の典型的なハードウェアソフトウェアインターフェースを示す。
このインターフェースは、ＭＡＣ１０８からフレームを受信するＨＰＮＡ互換のネットワークインターフェースコントローラ（ＮＩＣ）２０６を含む。
ＮＩＣ２０６は、典型的にホストコンピュータ上にあるＨＰＮＡ互換のドライバソフトウェア２０４にフレームを送信する。
その後、ドライバソフトウェア２０４は、ＮＤＩＳ（Network Driver Interface Specification ）のような上位層のソフトウェア２０２にフレームを送信する。
【０００５】
電話線に関する条件が変わるので、ＨＰＮＡ２．０は、伝送エラーレートに従って、ネットワーク中の２つのステーション間のデータ転送速度の変更を認める。
ライン条件に対してデータ転送速度が速すぎる場合、受信したフレームにおけるエラーのレベルが高まる可能性がある。
ライン条件に対してデータ転送速度が遅すぎる場合、データ転送速度は最適化されない。
データ転送速度は、ペイロード・エンコーディング（payload encoding）（ＰＥ）によって決定される。ＰＥは、シンボルレート（シンボル／秒）を掛けた、ビット・ローディング（ビット／記号）として定義される。
ＨＰＮＡ２．０の目的は、伝送エラーレートを１０-4未満とすることである。
【０００６】
ＨＰＮＡ２．０において、物理層１１０は、ＰＥを備えたフレームを受信すると共に、このフレームの平均二乗誤差（ＭＳＥ）を計算する。
このＭＳＥは、上位層のドライバ・ソフトウェア２０４に送信される。
ＨＰＮＡ２．０に１６フレームとして定義される履歴ウィンドウ内に、各フレームのＭＳＥを受信した後、ドライバ・ソフトウェア２０４は、平均二乗誤差の平均値（average mean square error ）（ＡＭＳＥ）を算出する。
このＡＭＳＥは、現在のＰＥが許容できるＡＭＳＥの範囲と比較される。
ＡＭＳＥがその範囲内にある場合、ステーションは現在のＰＥで送信を続ける。
ＡＭＳＥが、その範囲よりも低い場合、ステーションはより高いＰＥを使用することができる。
ＡＭＳＥが、その範囲よりも高い場合、ステーションはより低いＰＥを使用すべきである。
その後、ドライバ・ソフトウェア２０４は、データ転送速度の変更を通知すべく、他のステーションにパケットを送信する。他のステーションは、そのステーションが最も適切なＰＥを選択するのを支援すべく、テスト・フレームを生成することによって応答する。これは「レート・ネゴシエーション（rate negotiation）」と呼ばれる。
しかしながら、ＨＰＮＡ２．０は、物理層のＭＳＥが上位層のドライバ・ソフトウェア２０４にどのようにして届くかを明示していない。
【０００７】
従って、レート・ネゴシエーションのために、物理層のＭＳＥを上位層のドライバ・ソフトウェアに通信する方法が必要とされている。本発明は、そのような要求に取り組むものである。
【発明の概要】
【０００８】
物理層（ＰＨＹ）の平均二乗誤差（ＭＳＥ）を、上位層のデバイス・ドライバに通知する方法は、フレームを物理層によって受信するステップと、そのフレームのＭＳＥを物理層によって算出するステップと、ＭＳＥおよびフレームを媒体アクセス制御（ＭＡＣ）に送信するステップと、ＭＡＣによってそのフレームに関連するフレーム・ステータス・フレーム（ＦＳＦ）にＭＳＥを挿入するステップと、上位層のドライバ・ソフトウェアにフレームとＦＳＦを送信するステップと、を含む。
物理層のＭＳＥへのアクセスで、上位層のドライバ・ソフトウェアは、平均二乗誤差の平均値（ＡＭＳＥ）を算出し、ペイロード・エンコーディング（ＰＥ）またはデータ転送速度の変更をネゴシエートすべきかどうか決定することができる。
この方式では、低エラー率を維持しながら、データ転送速度を最適化することができる。
【０００９】
本発明は、レート・ネゴシエーションのため、上位層のドライバ・ソフトウェアに物理層のＭＳＥを通知する方法を提供する。
以下の説明は、当業者が本発明を実施できるように記載され、また、特許出願とその要件の下で提供される。好ましい実施例に対する様々な変更は、当業者に極めて明白である。また、この一般的な原則は、他の実施例に適用される。
したがって、本発明は開示された実施例に制限されないが、ここに記述された原則および構造と一致する最も広い範囲に与えられる。
【００１０】
本発明の特徴をより詳しく説明するために、以下の説明と共に、図３および図４を参照して頂きたい。
【００１１】
図３は、本発明で利用されるＭＡＣの好ましい具体例を示す。
ＭＡＣ３００は、受信データパス３０２、送信データパス３０４、ＤＦＰＱ（Distributed fair priority queuing）３０６、ＢＥＢ（Binary Exponential Backoff）３０８、リンク・インテグリティ３１０、ネットワーク・ステート３１２、ＲＲＣＦ（Rate Request Control Frame）３１４、管理情報データベース（Management Information Base ）（ＭＩＢ）カウンタ３１６を含む。
【００１２】
受信データパス３０２は、物理層１１０からデータパケットを受信し、ＭＩＩ１０６にデータパケットを送信する。
好ましい具体例では、受信データパス３０２によって送信された各データパケットの後に続いて、本願において「フレーム・ステータス・フレーム」（ＦＳＦ）と呼ばれる他のパケットがすぐに送信される。
このフレーム・ステータス・フレームは、後のプロセスによって必要とされる所定のステータス情報を含む。受信データパス３０２中のＦＳＦ生成ブロック３１８は、各フレームのＦＳＦを生成する。
【００１３】
送信データパス３０４は、ＭＩＩ１０６からデータパケットを受信し、これらを物理層１１０に送信する。
【００１４】
ＤＦＰＱ３０６およびＢＥＢ３０８は、衝突（collision）を解消する。
ＤＦＰＱ３０６は、１０ｍｐｂｓのデータレートにおける衝突を解消するのに対し、ＢＥＢ３０８は、１ｍｐｂｓのデータレートにおける衝突を解消する。
好ましい具体例では、物理層１１０は、衝突検出信号を提供する。その後、ＤＦＰＱ３０６またはＢＥＢ３０８のどちらか一方は、衝突を解消しようとする。
【００１５】
リンク・インテグリティ３１０は、物理ネットワークの状況を監視する。
好ましい具体例では、リンク・インテグリティ３１０は、リンクレジスタのリンク・ステータス・ビットを更新する。
リンク・インテグリティ３１０はさらに、ＨＰＮＡ２．０に従ってリンク・パケットを送る。
【００１６】
ＭＡＣ３００がデータレート間で移行する場合には常に、ＲＲＣＦ３１４がＲＲＣＦを送信する。
ＲＲＣＦは、レート・ネゴシエーション機能を実行するために、すなわち、ホームフォンラインネットワークにおける異なるステーション間で通信すべきデータレートは何か決定するために使用される。
【００１７】
レジスタとＭＩＢのカウンタ３１６は、ＭＡＣ３００をプログラム化できるようにするとともに、エラーイベントの集計をする。
【００１８】
本発明で利用されるネットワーク・ステート３１２は、ＭＡＣ３００の現在のモード、すなわち、ＭＡＣ３００は、１Ｍ８モード、Ｖ１Ｍ２モードまたは１０Ｍ８モードのいずれで動作しているかを監視する。
【００１９】
図４は、本発明によって、レート・ネゴシエーションのために上位層のドライバ・ソフトウェアに物理層のＭＳＥを通知する方法の好ましい実施例を示すフローチャートである。
まず、物理層１１０はフレームを受信する（ステップ４０２）。その後、物理層１１０は、そのフレームのＭＳＥを算出する（ステップ４０４）。
物理層１１０は、ＭＡＣ３００にＭＳＥおよびフレームを送信する。その後、ＭＡＣ３００は、そのフレームに関連するＦＳＦに、ＭＳＥを挿入する（ステップ４０８）。
好ましい実施例では、受信データパス３０２中のＦＳＦ生成ブロック３１８が、その挿入を行なう。
その後、ＭＡＣ３００は、上位層のドライバ・ソフトウェア２０４に、フレームとそのフレームのＦＳＦを送信する（ステップ４１０）。
フレームとそのフレームのＦＳＦを受信する際、上位層のドライバ・ソフトウェア２０４は、ＦＳＦからＭＳＥを抽出する（ステップ４１２）。
その後、ＭＳＥを使用して、履歴ウィンドウのＡＭＳＥを算出する（ステップ４１４）。
【００２０】
一旦ＡＭＳＥが算出されると、ＡＭＳＥは、現在のＰＥが許容できるＡＭＳＥの範囲と比較される。
ＡＭＳＥがその範囲内にある場合、ステーションは現在のＰＥで送信を続ける。
ＡＭＳＥがその範囲よりも低い場合、ステーションはより高いＰＥをネゴシエートする。
ＡＭＳＥがその範囲よりも高い場合、ステーションはより低いＰＥをネゴシエートする。
【００２１】
レート・ネゴシエーションのために、上位層のドライバ・ソフトウェアに物理層の平均二乗誤差（ＭＳＥ）を通知する方法が開示された。
物理層のＭＳＥへのアクセスで、上位層のドライバ・ソフトウェアは平均二乗誤差の平均値（ＡＭＳＥ）を算出することができると共に、ペイロード・エンコーディング（ＰＥ）またはデータ転送速度の変更をネゴシエートすべきかどうか決定することができる。
この方式では、低エラー率を維持すると共に、データ転送速度を最適化することができる。
【００２２】
本発明は、以上の実施形態に従って記載されたが、当業者は、これらの実施形態について、本発明の趣旨および範囲内で様々な変形が可能であることを容易に認識できるだろう。
従って、当業者なら、添付の特許請求の範囲の趣旨及び範囲から逸脱することなく、数多くの変更は可能であろう。
【図面の簡単な説明】
【００２３】
【図１】ホームフォンラインネットワークを示す。
【図２】ホームフォンラインネットワーク用の典型的なハードウェア／ソフトウェア間のインターフェースを示す。
【図３】本発明で利用される媒体アクセス制御の好ましい実施例を示す。
【図４】本発明に従ってレートのネゴシエーションのため、上位層のドライバ・ソフトウェアに物理層平均二乗誤差を通知する方法の実施例を示す。
【図１】
2004537216.tif 000003
【図２】
2004537216.tif 000004
【図３】
2004537216.tif 000005
【図４】
2004537216.tif 000006
【国際公開パンフレット】
2004537216.tif 000007
2004537216.tif 000008
2004537216.tif 000009
2004537216.tif 000010
2004537216.tif 000011
2004537216.tif 000012
2004537216.tif 000013
2004537216.tif 000014
2004537216.tif 000015
2004537216.tif 000016
2004537216.tif 000017
2004537216.tif 000018
2004537216.tif 000019
2004537216.tif 000020
2004537216.tif 000021
【国際調査報告】
2004537216.tif 000022
2004537216.tif 000023