(57)【要約】【課題】出願人は、前方エラー訂正技法のようなエラー検出技法を用いて、通信チャネル上において情報を精度高く伝達する能力のあるしきい値を下回る劣化を予測する、例えば、通信チャネルの障害を予測することができることを発見した。これに応じて、そのチャネル上における情報の送信および／受信を、例えば、しきい値を下回る劣化を防止する、例えば、チャネル障害を防止するように適合化することができる。【解決手段】  劣化の予測は、少なくとも部分的に、チャネル上で受信した情報の１つ以上のブロックに対応するデータ伝送エラー情報に基づくことができ、経時的なエラー・レート・パターンを判定することを含むことができる。これらの判定に基づいて、しきい値を下回る劣化を予測し、送信および／または受信を適合化することができる。【選択図】図１
2009517979.tif 000002
【特許請求の範囲】
【請求項１】
通信チャネル上においてネットワーク・デバイス上で受信する情報を扱う方法であって、
（Ａ）前記通信チャネル上で受信する情報の少なくとも第１ブロックに対応するデータ伝送エラー情報に少なくとも部分的に基づいて、前記通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測する行為を備えた、方法。
【請求項２】
請求項１記載の方法であって、更に、
（Ｂ）特定のしきい値を下回る前記劣化の予測に応答して、前記通信チャネル上における情報の送信および／または受信を適合化させる行為を備えた、方法。
【請求項３】
請求項２記載の方法において、前記行為（Ｂ）は、前記しきい値を下回る前記劣化を防止するために、送信および／または受信を適合化することを含む、方法。
【請求項４】
請求項２記載の方法において、前記情報は、第１エンコード・アルゴリズムにしたがって受信およびエンコードされ、
前記行為（Ｂ）は、前記情報のエンコードの前記第１エンコード・アルゴリズムから第２エンコード・アルゴリズムへの変更を開始することを含む、方法。
【請求項５】
請求項２記載の方法において、前記行為（Ｂ）は、情報を受信および／または送信するための追加の通信チャネルを確立することを含む、方法。
【請求項６】
請求項１記載の方法であって、更に、
（Ｂ）前記少なくとも第１ブロックに対応する前記データ伝送エラー情報を判定する行為を備えた、方法。
【請求項７】
請求項６記載の方法において、前記行為（Ｂ）は、ハード判断デコード技法を用いて、前記少なくとも第１ブロック内における情報伝送エラーの数を判定することを含む、方法。
【請求項８】
請求項６記載の方法において、前記行為（Ｂ）は、ソフト判断デコード技法を用いて、前記少なくとも第１ブロックのソフト・エラー距離を判定することを含む、方法。
【請求項９】
請求項６記載の方法において、前記行為（Ｂ）は、前記少なくとも第１ブロックに対応する伝送エラーの確率計量を判定することを含む、方法。
【請求項１０】
請求項６記載の方法において、前記行為（Ｂ）は、前記データ伝送エラー情報を判定するために前方エラー訂正を用いることを含む、方法。
【請求項１１】
請求項１０記載の方法において、前記行為（Ｂ）は、前方エラー訂正を用いて訂正したエラーに基づいて、前記データ伝送エラー情報を判定することを含む、方法。
【請求項１２】
請求項６記載の方法において、前記行為（Ｂ）は、ある時間期間にわたって、当該時間期間中に受信した同じサイズの複数の情報ブロックの各々について、当該ブロックに対応するデータ伝送エラー情報を判定することを含み、前記データ伝送エラー情報が、前記ブロックのエラー・レートを表し、
前記方法は、更に、
（Ｃ）前記ブロックのエラー・レートに基づいて、前記時間期間におけるエラー・レート・パターンを判定する行為を備えており、
前記行為（Ａ）は、前記判定したパターンに少なくとも部分的に基づいて、前記特定のしきい値を下回る前記劣化を予測することを含む、方法。
【請求項１３】
請求項１２記載の方法において、前記行為（Ｃ）は、前記時間期間における前記エラー・レートの上昇を判定することを含み、
前記行為（Ａ）は、前記判定した上昇をしきい値と比較し、前記比較に少なくとも部分的に基づいて、前記特定のしきい値を下回る前記劣化を予測することを含む、方法。
【請求項１４】
請求項１２記載の方法において、前記行為（Ａ）は、前記複数のブロックの内最後に受信したブロックに対応するデータ伝送エラーの第１計量を判定し、該計量をしきい値と比較し、前記比較の結果に少なくとも部分的に基づいて、前記特定のしきい値を下回る前記劣化を予測することを含む、方法。
【請求項１５】
請求項６記載の方法において、前記行為（Ａ）は、前記少なくとも第１ブロックに対応するデータ伝送エラーの第１計量を判定し、該計量をしきい値と比較し、前記比較の結果に少なくとも部分的に基づいて、前記特定のしきい値を下回る前記劣化を予測することを含む、方法。
【請求項１６】
請求項１５記載の方法において、前記通信チャネルはアプリケーションに対応し、
前記行為（Ａ）は、前記計量を前記アプリケーションに対応するしきい値と比較することを含む、方法。
【請求項１７】
請求項１記載の方法において、前記行為（Ａ）は、前記ネットワーク・デバイスのオペレーティング・システムによって実施する、方法。
【請求項１８】
請求項１記載の方法において、前記情報は、ソフトウェア定義無線機の前記通信チャネル上で受信し、
前記行為（Ａ）は、前記ソフトウェア定義無線機の前記通信チャネル上における前記劣化を予測することを含む、方法。
【請求項１９】
通信チャネル上において、ネットワーク・デバイス上の情報の送信および／または受信を制御するシステムであって、
前記通信チャネル上で受信する情報の少なくとも第１情報ブロックに対応するデータ伝送エラー情報に少なくとも部分的に基づいて、前記通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測する予測モジュールと、
前記特定のしきい値を下回る前記劣化の予測に応答して、前記通信チャネル上における情報の送信および／または受信の適合化を制御する伝送アダプタ・モジュールと、
を備えた、システム。
【請求項２０】
コンピュータ・プログラム製品であって、
少なくとも１つのコンピュータ読み取り可能媒体と、
前記少なくとも１つのコンピュータ読み取り可能媒体上に格納されており、命令を定義するコンピュータ読み取り可能信号と、
を備えており、前記命令は、コンピュータによって実行されると、その結果当該コンピュータを制御して、ソフトウェア定義無線機の通信チャネル上において、ネットワーク・デバイス上で受信した情報を扱う方法を実行させ、該方法が、
（Ａ）前記ソフトウェア定義無線機の通信チャネル上で受信する情報の少なくとも第１情報ブロックに対応するデータ伝送エラー情報に少なくとも部分的に基づいて、特定のしきい値を下回る前記通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測する行為、
を備えた、コンピュータ・プログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
既知のネットワーク通信技術は、通例、巡回冗長チェック（ＣＲＣ）を用いて通信チャネル上におけるデータ伝送エラーを検出する。ＣＲＣを用いて、あるしきい値数の情報エラーがチャネルに対して検出されると、チャネルは障害を発生したと見なされる。そのチャネルで提供されているどのサービスも中断され、通信を確立し直すには、他のチャネルまたは別の通信手段を用いなければならない。
【０００２】
更に、データ・エラーのしきい値数は非常に高く設定される場合があるので、チャネル障害の前に多くのデータが失われることになる。また、障害の前に、ネットワーク通信スタック（例えば、ＴＣＰ／ＩＰスタック）における論理コンポーネントが、ＣＲＣ検出データ・エラーを補償しようと試みるために、一層の遅延の原因となり、処理リソースを消費することになる。
【発明の開示】
【課題を解決するための手段】
【０００３】
この摘要は、本発明の態様について例示的な文脈(context)を簡略化した形態で規定する。特許請求する主題の範囲を判断するためや、特許請求する主題の主要な特徴および／または必須の特徴を特定するために用いることは意図していない。本発明の態様は、詳細な説明において以下で更に詳しく説明する。
【０００４】
エラー検出技法（例えば、前方エラー訂正（ＦＥＣ）技法）を用いて、通信チャネル上において情報を精度高く伝達する能力のあるしきい値を下回る劣化を予測する（例えば、通信チャネルの障害を予測する）することができることを、出願人は発見した。これに応じて、そのチャネル上における情報の送信および／または受信を、例えば、しきい値を下回る劣化を防止する（例えば、チャネル障害を防止する）ように適合化することができる。実施形態の中には、通信チャネルがソフトウェア定義無線機(software-defined radio)のチャネルである場合もある。
【０００５】
劣化の予測は、少なくとも部分的に、通信チャネル上で受信した情報の１つ以上のブロックに対応するデータ伝送エラー情報（例えば、ブロックのエラー・レート）に基づくことができ、経時的なエラー・レート・パターンを判定することを含むことができる。これらの判定に基づいて、しきい値を下回る劣化を予測し、送信および／または受信を適合化することができる。適合化は、異なるエラー・エンコード方式の使用を開始すること、および／または情報を伝達するために余分な通信チャネルを用いることを含むことができる。
【０００６】
データ伝送エラー情報は、種々の情報のいずれでも含むことができ、検出したエラーの数（例えば、ハード判断デコード（ＨＤＤ）を用いて判定する）、ソフト・エラー距離（ソフト判断デコード（ＳＤＤ）を用いて判定する）、確率比、その他の情報、および以上の情報の適した組み合わせであればいずれでも含む。
【０００７】
通信チャネル上において特定のしきい値を下回る劣化の予測、およびこの予測に対する行動によって、チャネルの障害や、当該チャネル上に結果的に生ずる通信における中断を防止することができる。この技法は、チャネル障害を予測するのではなく、逆にある数のＣＲＣエラーが検出された後に発生するという既知のシステムとは対照的である。
【０００８】
送出側ネットワーク・デバイスと受信側ネットワーク・デバイスとの間の距離延長が原因となって劣化が発生する状況では、劣化を予測しチャネル障害を回避することによって、２つのデバイス間の通信範囲を拡大することができる。２つのデバイスの一方または双方は移動体でもよい。つまり、移動体ユーザ・デバイスが他方のネットワーク・デバイスから遠ざかるように移動しても、通信を維持することができる。尚、他方のネットワーク・デバイスも移動体ユーザ・デバイスであってもよい。更に、予測に応答して通信を適合化することにより、そうしなければ２つのネットワーク・デバイス間の通信を妨げることにある干渉を克服することができる。
【０００９】
本発明の一実施形態では、通信チャネル上においてネットワーク・デバイスが受信した情報を扱う。この通信チャネル上で精度高く情報を伝達する能力の特定のしきい値を下回る劣化を、少なくとも部分的に、通信チャネル上で受信した情報の少なくとも第１ブロックに対応するデータ伝送エラー情報に基づいて予測する。
【００１０】
この実施形態の一態様では、通信チャネル上における情報の送信および／または受信を、特定のしきい値を下回る劣化の予測に応答して適合化する。
【００１１】
この実施形態の別の態様では、適合化は、しきい値を下回る劣化を防止するために、送信および／または受信を適合化することを含む。
【００１２】
この実施形態の別の態様では、第１エンコード・アルゴリズムにしたがって情報を受信し、エンコードし、適合化は、情報のエンコードを第１エンコード・アルゴリズムから第２エンコード・アルゴリズムに変更することを開始することを含む。
【００１３】
この実施形態の更に別の態様では、適合化は、情報を受信および／または送信する追加の通信チャネルを確立することを含む。
【００１４】
この実施形態の別の態様では、少なくとも第１ブロックに対応するデータ伝送エラー情報を判定する。
【００１５】
この実施形態の別の態様では、少なくとも第１ブロック内にある情報伝送エラーの数を、ハード判断デコード技法を用いて判定する。
【００１６】
この実施形態の別の態様では、適合化は、ソフト判断デコード技法を用いて、少なくとも第１ブロックのソフト・エラー距離を判定することを含む。
【００１７】
この実施形態の更に別の態様では、適合化は、少なくとも第１ブロックに対応する伝送エラーの確率計量を判定することを含む。
【００１８】
この実施形態の別の態様では、適合化は、データ伝送エラー情報を判定するために、前方エラー訂正を用いることを含む。
【００１９】
この実施形態の別の態様では、適合化は、前方エラー訂正を用いて訂正したエラーに基づいて、データ伝送エラー情報を判定することを含む。
【００２０】
この実施形態の別の態様では、適合化は、ある時間期間にわたって、この時間期間の間に受信した同じサイズの複数の情報ブロックの各々について、ブロックに対応するデータ伝送エラー情報を判定することを含み、データ伝送エラー情報は、ブロックのエラー・レートを表す。この態様では、時間期間におけるエラー・レート・パターンを、ブロックのエラー・レートに基づいて判定し、前述の予測は、少なくとも部分的に、判定したパターンに基づいて特定のしきい値を下回る劣化を予測することを含む。
【００２１】
この実施形態の更に別の態様では、判定は、時間期間におけるエラー・レートの上昇を判定することを含み、予測は、判定した上昇をしきい値と比較し、少なくとも部分的にこの比較に基づいて、特定のしきい値を下回る劣化を予測することを含む。
【００２２】
この実施形態の別の態様では、予測は、複数のブロックの内最後に受信したブロックに対応するデータ伝送エラーの第１計量を判定し、この計量をしきい値と比較し、  少なくとも部分的にこの比較の結果に基づいて、特定のしきい値を下回る劣化を予測することを含む。
【００２３】
この実施形態の別の態様では、予測は、少なくとも第１ブロックに対応するデータ伝送エラーの第１計量を判定し、この計量をしきい値と比較し、少なくとも部分的にこの比較結果に基づいて、特定のしきい値を下回る劣化を予測することを含む。
【００２４】
この実施形態の更に別の態様では、通信チャネルはアプリケーションに対応し、予測は、このアプリケーションに対応するしきい値に、前述の計量を比較することを含む。
【００２５】
この実施形態の別の態様では、予測は、ネットワーク・デバイスのオペレーティング・システムによって実施する。
【００２６】
この実施形態の別の態様では、ソフトウェア定義無線機の通信チャネル上において情報を受信し、予測は、ソフトウェア定義無線機の通信チャネル上における劣化を予測することを含む。
【００２７】
前述の実施形態および／またはその１つ以上の態様の１つ以上の行為(act)は、コンピュータまたはその他の形式の計算システムを用いて実施することができる。
【００２８】
本発明のこの実施形態の態様は、前述の態様および／またはその変形の適した組み合わせであればそのいずれをも含む。
【００２９】
本発明の別の実施形態では、命令を含むコンピュータ・プログラムを提供する。命令は、コンピュータによって実行する結果、当該コンピュータに、以上の節において記載した本発明の実施形態、および／または以上の節において記載したその１つ以上の態様の方法を実行するように命令する。
【００３０】
本発明の別の実施形態では、コンピュータ・プログラム製品を提供する。この製品は、コンピュータ読み取り可能媒体を含み、コンピュータ読み取り可能媒体上に格納されているコンピュータ読み取り可能信号が命令を定義する。命令は、コンピュータによって実行する結果、当該コンピュータに、以上の節において記載した本発明の実施形態、および／または以上の節において記載したその１つ以上の態様の方法を実行するように命令する。
【００３１】
本発明の別の実施形態では、通信チャネル上においてネットワーク・デバイスが受信する情報を扱うシステムを提供する。このシステムは、通信チャネル上で受信した情報の少なくとも第１ブロックに対応するデータ伝送エラー情報に少なくとも部分的に基づいて、通信チャネル上で情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測する予測モジュールを含む。
【００３２】
この実施形態の態様では、システムは、特定のしきい値を下回る劣化の予測に応答して、通信チャネル上における情報の送信および／または受信の適合化を制御する伝送アダプタ・モジュールを含む。
【００３３】
この実施形態の別の態様では、伝送アダプタ・モジュールは、しきい値を下回る劣化を防止するために、送信および／または受信を適合化するように動作する。
【００３４】
この実施形態の別の態様では、第１エンコード・アルゴリズムにしたがって情報を受信しエンコードし、伝送アダプタ・モジュールは、劣化の予測に応答して情報のエンコードの第１エンコード・アルゴリズムから第２エンコード・アルゴリズムへの変更を開始するように動作する。
【００３５】
この実施形態の更に別の態様では、伝送アダプタ・モジュールは、劣化の予測に応答して、情報を受信および／または送信する追加の通信チャネルを確立するように動作する。
【００３６】
この実施形態の別の態様では、予測モジュールは、少なくとも第１ブロックに対応するデータ伝送エラー情報を、少なくとも第１ブロック内において判定または受信するように動作する。
【００３７】
この実施形態の別の態様では、予測モジュールは、少なくとも第１ブロック内にある情報伝送エラーの数を、ハード判断デコード技法を用いて判定するように動作する。
【００３８】
この実施形態の別の態様では、予測モジュールは、ソフト判断デコード技法を用いて、少なくとも第１ブロックのソフト・エラー距離を判定するように動作する。
【００３９】
この実施形態の更に別の態様では、予測モジュールは、少なくとも第１ブロックに対応する伝送エラーの確率計量を判定するように動作する。
【００４０】
この実施形態の別の態様では、システムは、前方エラー訂正デコーダを含み、予測モジュールは、データ伝送エラー情報を示す、前方エラー訂正デコーダからの情報を受信するように動作する。
【００４１】
この実施形態の別の態様では、予測モジュールは、前方エラー訂正を用いて訂正したエラーに基づいて、データ伝送エラー情報を判定するように動作する。
【００４２】
この実施形態の別の態様では、予測モジュールは、ある時間期間にわたって、この時間期間の間に受信した同じサイズの複数の情報ブロックの各々について、ブロックに対応するデータ伝送エラー情報を判定し、データ伝送エラー情報は、ブロックのエラー・レートを表し、時間期間におけるエラー・レート・パターンを、ブロックのエラー・レートに基づいて判定し、少なくとも部分的に、判定したパターンに基づいて特定のしきい値を下回る劣化を予測するように動作する。
【００４３】
この実施形態の別の態様では、予測モジュールは、時間期間におけるエラー・レートの上昇を判定し、判定した上昇をしきい値と比較し、少なくとも部分的にこの比較に基づいて、特定のしきい値を下回る劣化を予測するように動作する。
【００４４】
この実施形態の別の態様では、予測モジュールは、複数のブロックの内最後に受信したブロックに対応するデータ伝送エラーの第１計量を判定し、この計量をしきい値と比較し、少なくとも部分的にこの比較の結果に基づいて、特定のしきい値を下回る劣化を予測するように動作する。
【００４５】
この実施形態の別の態様では、予測モジュールは、少なくとも第１ブロックに対応するデータ伝送エラーの第１計量を判定し、この計量をしきい値と比較し、少なくとも部分的にこの比較結果に基づいて、特定のしきい値を下回る劣化を予測するように動作する。
【００４６】
この実施形態の更に別の態様では、通信チャネルはアプリケーションに対応し、予測モジュールは、このアプリケーションに対応するしきい値に、前述の計量を比較するように動作する。
【００４７】
この実施形態の別の態様では、予測モジュールは、ネットワーク・デバイスのオペレーティング・システムによって実施する。
【００４８】
この実施形態の別の態様では、ソフトウェア定義無線機の通信チャネル上において情報を受信し、予測モジュールは、ソフトウェア定義無線機の通信チャネル上における情報伝送の劣化を予測するように動作する。
【００４９】
本発明のその他の利点、新規な特徴、および目的、ならびにその態様および実施形態は、以下の発明の詳細な説明を添付図面と合わせて検討することにより、その態様および実施形態も含めて、明白となろう。図面は、模式的であり、同じ拡縮率で描画することは意図していない。図においては、種々の図において示される同一の構成要素またはほぼ同一の構成要素を、１つの番号で表すこととする。明確化のために、全ての構成要素に、全ての図面で符号を付けることは控えており、更に、当業者に発明を理解させるために図示が必要でない場合には、本発明の各実施形態または態様の全ての構成要素を示さないこととする。
【発明を実施するための最良の形態】
【００５０】
ここでは、ＦＥＣデコーダおよび／またはＦＥＣデコード技法を用いて実施するものとして本発明の色々な実施形態について説明するが、本発明はそのように限定されるのではないことは当然認められよう。データ伝送エラーを検出するその他の種々の技法のいずれでも用いることができ、本発明の範囲に該当するように解釈するものとする。
【００５１】
本発明のこれらおよびその他の実施形態の機能および利点は、以下に説明する例から一層深く理解できよう。以下の例は、本発明を一層理解し易くし、その便益を例示することを意図するのであり、本発明の範囲全体を例示するのではない。
【００５２】
ここで用いる場合、文書による説明におけるかまたは特許請求の範囲におけるかには係わらず、「備える」(comprising)、「含む」(including)、「搬送する」(carrying)、「有する」(having)、「内蔵する」(containing)、「伴う」(involving)等の用語は、解放端である、即ち、含むが限定されないことを意味するように理解することとする。「から成る」(consisting of)および「本質的に、から成る」(consisting essentially of)という推移句(transitional phrase)が、それぞれ、閉鎖または半閉鎖推移句とする。これは、特許審査手順（第８版、改訂２、２００４年５月）、第２１１１．０３章の米国特許庁手引きにおいて、特許請求の範囲に関して明記されている。
（例）
図１は、本システムの１つ以上の実施形態を実施することができるネットワーク・システム１００の一例を示すブロック図である。システム１００は、ユーザ・デバイス１０４、１０６および１０８、通信ネットワーク１０２、その他のコンポーネント、または前述のあらゆる適した組み合わせの内いずれでも含むことができる。
【００５３】
ここで用いる場合、「ネットワーク」とは、コンポーネント間で通信を交換することができる伝送媒体の１つ以上のセグメントによって相互接続されている２つ以上のコンポーネントの集合体である。各セグメントは、複数の種類の伝送媒体のいずれでもよく、金属および／または光ファイバで作られた１つ以上の電気または光ファイバまたはケーブル、空気（例えば、搬送波上でワイヤレス通信を用いる）、あるいはこれらの伝送媒体の任意の組み合わせも含む。ここで用いる場合、「複数」は２つ以上を意味する。尚、ネットワークは、１本のワイヤ、バス、ワイヤレス接続、またはその他の種類のセグメントによって接続した２つのコンポーネントのように単純でもよいことは認められよう。更に、本願の図面において、ネットワークが、図面におけるエレメントに接続されているものとして示されている場合、接続されているエレメント自体をネットワークの一部と見なすことも認められよう。
【００５４】
ここで用いる場合、「ネットワーク・デバイス」とは、ネットワーク上で通信するように動作するデバイスのことであり、ワークステーション、パーソナル・コンピュータ、端末、ラップトップ・コンピュータ、エンド・ステーション、ユーザ・デバイス、サーバ、ゲートウェイ、レジスタ、スイッチ、ルータ、ハブ、ブリッジ、ディレクトリ、送信機、受信機、リピータ、およびこれらのどのような組み合わせも含まれるが、これらに限定されるのではない。ここで用いる場合、「ユーザ・デバイス」とは、ユーザが通信を送出／受信することができ、通信ネットワーク上で通信への終点として供することができるネットワーク・デバイスである。ユーザ・デバイスは、ワークステーション、パーソナル・コンピュータ（ＰＣ）、ラップトップ・コンピュータ、ノートブック・コンピュータ、電話機（陸線または移動体）、ページャ、Blackberry（商標）ブランドのデバイス、ＰＣＳデバイス、パーソナル・ディジタル・アシスタント（ＰＤＡ）、双方向無線機（例えば、「ウオーキー・トーキー」(walkie-talkie)、その他の種類のユーザ・デバイス、および前述のあらゆる適した組み合わせを含むが、これらに限定されるのではない。
【００５５】
ネットワーク（例えば、ネットワーク１０２）は、種々の形式のネットワークのいずれでもよく、あるいはそれを含んでもよい。これらのネットワークには、ローカル・エリア・ネットワーク（ＬＡＮ）、都市区域ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、ワイヤレス・ネットワーク、公衆陸線移動体ネットワーク（ＰＬＭＮ）、汎ヨーロッパ・ディジタル移動通信システム（ＧＳＭ）ネットワーク、一般パケット無線サービス（ＧＰＲＳ）ネットワーク、全世界移動体電気通信システム（ＵＭＴＳ）ネットワーク、符号分割多元接続（ＣＤＭＡ）ネットワーク、光ネットワーク、データ・ネットワーク、企業内ネットワーク、ワイヤレス・パーソナル・エリア・ネットワーク（ＰＡＮ）、ホーム・ネットワーク、電気通信ネットワーク、公衆電話交換網（ＰＳＴＮ）、ブロードバンド・ネットワーク、その他の形式のネットワーク、または前述のあらゆる適した組み合わせを含むが、これらに限定されるのではない。
【００５６】
尚、図１は３つのユーザ・デバイスのみを示すが、どのような数のユーザ・デバイスでも、ネットワーク・システム１００の一部として含めることができ、１０、１００、１０００、１００００、あるいは１０００００、または１００００００台単位のユーザ・デバイスを含むことは認められよう。
【００５７】
各ユーザ・デバイスは、パケットのストリームを通信ネットワーク１０２を通じて送ることにより、別のユーザ・デバイスと通信することができる。種々の既知の通信プロトコルおよび規格のいずれでも、ネットワークを通じてデータ・パケットを通信するために用いることができる。これらのプロトコルには、前方エラー訂正（ＦＥＣ）技法の使用を含むことができる。ＦＥＣは、データ・パケットを通信する際に用いられるプロトコルであり、通信の受信端においてデータ伝送エラーの訂正を可能にする。ここで用いる場合、「データ伝送エラー」とは、一片の情報（例えば、ビット、バイト、キャラクタ等）が一方のネットワーク・デバイスから他方に適正に伝達されないエラーのことである。データ伝送エラーは、通例、情報を伝達する通信チャネルの劣化に付随して発生する。この劣化は、種々の要因の結果生ずる可能性があり、情報の発信元と情報の受信先との間の距離、情報を搬送する信号の当初の強さ、干渉、その他の要因、または前述のあらゆる適した組み合わせを含む。ここで用いる場合、「通信チャネル」または「チャネル」とは、２つのネットワーク・デバイス間の通信経路であり、その上で情報を通信する。この経路は、伝送媒体の１つ以上のセグメントを含むことができ、特定の周波数、波長、または通信のタイム・スロットに特定的とすることもできる。通信チャネルは、例えば、ソフトウェア定義無線機のチャネルのような、種々の形式のチャネルのいずれでもよい。
【００５８】
情報の伝送に先だって、情報をブロックに分割する。ブロックは、例えば、ネットワーク通信プロトコルのブロック・エンコード方式によるコードワードのような、既定のサイズであるのが通例である。エンコーダ（例えば、ＦＥＣエンコーダ）は、所定のアルゴリズムを用いて、ブロックをエンコードすることができる。この所定のアルゴリズムは、余分なビットを、具体的に情報片（例えば、ビット、バイト、および／またはキャラクタ）のエラー訂正のために、ブロック内に追加することができる。このエンコード処理は、ネットワーク・プロトコル・スタックのデータ・リンク・レイヤにおいて行うことができる。通信の受信端において、おそらくはデータ・リンク・レイヤにおいて、デコーダ（例えば、ＦＥＣエンコーダ）がエンコードした情報ブロックをデコードすることができる。エンコーダが追加した余分なビットを用いて、デコーダは、各ブロック内にある情報のいずれかが不適正に伝達されたか否か、即ち、何らかの情報伝送エラーがあったか否か判断することができる。何らかの情報伝送エラーが検出された場合、デコーダは、それができる範囲で、エラーを訂正する（即ち、データを修復する）。
【００５９】
図２は、本発明の一部の実施形態にしたがって、通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測し、予測に応答して情報送信および／または受信を適合化するシステム２００の一例を示すブロック図である。システム２０４は、このような劣化を予測し、予測に応答して情報送信および／または受信を適合化するシステムの例示実施形態に過ぎず、本発明の範囲を限定することを意図するのではない。このようなシステムの多数のその他の実現例のいずれもが、例えば、システム２００の変形が可能であり、本発明の範囲に該当するように解釈することとする。
【００６０】
システム２００は、ネットワーク・デバイス２０４を含む。ネットワーク・デバイス２０４は、複数の種類のネットワーク・デバイスのいずれでもよく、ユーザ・デバイス１０４、１０６および１０８のいずれでもよい。ネットワーク・デバイス２０４は、復調器２０６、デコーダ２１０、予測モジュール２１８、伝送適合化モジュール２２４、エンコーダ２２８、および変調器２３２のいずれでも含むことができる。図２に示すように、予測モジュール２１８および／または伝送適合化モジュール２２４は、ネットワーク・デバイス２０４のオペレーティング・システム２１６の一部として実装することもできる。オペレーティング・システム２１６は、例えば、以下に記載するオペレーティング・システムのいずれかのような、種々のオペレーティング・システムのいずれでもよい。尚、コンポーネント２０６、２１０、２２８および２３２のいずれもが、オペレーティング・システム２１６の一部として実装してもよいことは認められよう。
【００６１】
復調器２０６は、どのような既知の形式の復調器でもよく、例えば、別のネットワーク・デバイスからのエンコードおよび変調した情報２０２を通信チャネル上で受信するように構成することができる。情報２０２は、種々の既知の変調技法のいずれにしたがって変調したものであってもよい。復調器は、情報２０２を復調して、エンコード復調情報２０８を生成するように構成することができる。
【００６２】
デコーダ２１０（例えば、ＦＥＣデコーダ）は、情報２０８をデコードして、デコード復調情報２１２を生成するように構成することができる。情報２１２は、更に処理するために、ネットワーク・デバイス２０４の別のコンポーネントに受け渡すことができる。情報２０８は、一連の情報ブロック（例えば、ブロック・エンコード方式のコードワード）の形態とすることができる。情報ブロックのサイズ（例えば、情報片の数、ビット、またはバイト）は、アプリケーション、規格、および／または情報をエンコードするために用いるプロトコル、例えば、用いるコードワードのサイズに基づいて決定することができる。このサイズは、複数の値、例えば、２００ビット以下から数千バイト以上までのいずれを有してもよい。デコーダ２１０は、各ブロックをデコードし（例えば、ＦＥＣデコード技法を用いて）、一連のブロックとして（例えば、以下で説明するように）デコード情報２１２を生成するように構成することができる。
【００６３】
本発明の実施形態の中には、デコーダ２１０が判定するエラー情報を用いて、情報を精度高く伝達する通信チャネルの能力の特定のしきい値を下回る劣化を予測することができる場合がある。例えば、予測モジュール２１８は、デコーダ２１０からエラー情報２１４を受け取り、この情報を用いて、このような劣化が発生するか否か予測するように構成することができる。予測モジュール２１８は、１つ以上の情報ブロックと関連のある１つ以上のエラー計量(error metric)および／またはブロック間におけるエラー検出パターンに、少なくとも部分的に基づいて、この予測を行うことができる。エラー計量は、エラー情報２１４に含めることもでき、エラー・パターンは、予測モジュール２１８によって決定することができる。
【００６４】
エラー計量は、１つ以上の情報ブロックと関連のあるエラー量を示す種々の計量のいずれでもよく、情報ブロック内部で検出されたエラーの数、情報ブロックに対応するソフト・エラー距離、情報ブロックに対応する確率比、その他の計量、および前述のあらゆる適した組み合わせを含むが、これらに限定されるのではない。
【００６５】
検出したエラーの数を計量として利用できるのは、デコーダ２１０がハード判断デコード（ＨＤＤ）を採用して、情報片にエラーがあるか否か判定する場合である。ＨＤＤデコード処理では、情報片にエラーがあるかまたはエラーがないかに関する二進判断を行うことを伴う。即ち、エラーがある場合には判断は「はい」となり、エラーがない場合には「いいえ」となる。
【００６６】
ソフト・エラー距離を計量として用いることができるのは、デコーダ２１０がソフト判断デコード（ＳＤＤ）を採用して、情報片にエラーがあるか否か判定する場合である。ＨＤＤでは、二進のはい／いいえ判断を行うが、これとは異なり、ＳＤＤではソフト判断を行う。即ち、情報片の検出電圧が０または１のどちらを表すか（即ち、はいまたはいいえ）を判定し、次いでこの二進値を用いてデータ伝送エラーが発生したか否か判定するのではなく、ＳＤＤは、情報片の電圧レベルを保持し、この電圧レベルを用いて、エラーが発生したか否か判定を行う。例えば、論理「１」が１．０ボルトの電圧に等しく、情報片の受信電圧が０．９ボルトである場合、情報片が論理「１」であると判定するのではなく、０．９ボルトの値を保持する。各情報片について二進動作を実行することによってブロック中に発生したエラーの数を蓄積するのではなく、ＳＤＤは、検出した受信電圧と実数（「アルファ」）との間の距離を判定することを伴う。この実数は、受信情報片毎の平均エネルギの推定値によって正規化したユークリッド距離である。検出電圧レベルとブロック内にある情報片に対するアルファとの間の累積距離が、ブロックのソフト・エラー距離を定義する。
【００６７】
また、確率比が計量として用いることができるのは、既知のアルゴリズム（例えば、ビタビ・アルゴリズム）のいずれかを用いて、情報ブロック内にある情報片の確率的状態を判定する場合である。例えば、このようなアルゴリズムは、コードワード内部にある情報片の値の尤度を判定するために用いることができる。確率比は、コードワードの最も確率の高い値の、当該コードワードの２番目に確率が高い値に対する比率とするとよい。確率比が低い場合（２つの確率の値が近いことを意味する）、情報の伝送に対する干渉の効果を示すと考えられる。
【００６８】
また、予測モジュール２１８は、一連の情報ブロックのエラー・レート間のパターンを判定するように構成することもできる。例えば、ある時間期間にエラー計量が変化した程度を判定することもできる。この程度は、例えば、百分率または比率のような種々の既知の計量のいずれを用いても、測定することができる。考慮する時間期間は、アプリケーションおよび所望の性能のような、種々の要因のいずれに応じて決めてもよい。この時間期間は、例えば、１０ミリ秒以下から５０ミリ秒、１００ミリ秒またはそれ以上の範囲を取る種々の値のいずれでも有することができる。
【００６９】
予測モジュールは、データ伝送エラー情報（例えば、１つ以上の計量）および／またはエラー・レート・パターンを用いて、情報をしかるべき伝達する通信チャネルの能力のしきい値を下回る劣化を予測するように構成することができる。例えば、最後に受信した情報ブロックの計量、および特定の時間期間におけるエラー・レートを、しきい値計量およびしきい値時間期間と比較することができる。つまり、劣化しきい値は、計量しきい値とエラー・レートしきい値の組み合わせとすることができる。例えば、劣化しきい値は、最後に受信したブロック内における２０個のデータ伝送エラー、および５０ミリ秒の時間期間におけるエラー・レートの１０パーセント上昇の組み合わせとすることができる。選択したしきい値は、通信チャネルの容認可能な性能レベルと相関がなければならない。例えば、計量がブロック内部におけるデータ伝送エラーの数である実施形態では、データ伝送エラーのしきい値数を選択するときに、デコーダのエラー訂正能力を考慮するとよい。例えば、デコーダ（例えば、ＦＥＣデコーダ）がコードワード当たり３０個のエラーというエラー訂正能力を有する場合、エラーしきい値は、コードワード当たり２０エラーに設定すればよい。このしきい値は、以上の例では、エラーを訂正する能力よりも低く設定し、この能力を超過することを予期し（即ち、予測し）、防止するようにするとよい。
【００７０】
図３は、ある時間期間におけるデータ伝送エラー情報の実施形態例を示すヒストグラム３００である。縦軸３０２は、エラー計量（例えば、エラー数、ソフト・エラー距離、または確率比）を表し、横軸３０４は時間を表す。例示の目的のために、用いる計量はエラー数であると仮定する。図３に示すように、最初の５０ミリ秒において、８００個のデータ伝送エラーが検出された。尚、この５０ミリ秒の間隔または残りの時間期間のどの間でも、いくつかの情報ブロック、恐らくは、数万または数十万、あるいはそれ以上もの情報ブロックが受信されていることは認められよう。更に、１００ミリ秒までの２番目の５０秒間隔では、６００個のエラーが検出されており、１００および１５０ミリ秒の間では１０００個のエラーが検出されており、１５０および２００ミリ秒の間では１８００個のエラーが検出されており、そして２００および２５０ミリ秒の間では３７００個のエラーが検出されている。ヒストグラム３００において示すパターン３０６は、１００ミリ秒において始まっており、互いから離れつつある送信側および受信側ネットワーク・デバイスを示すと考えられる。
【００７１】
エラー・レートしきい値を、５０ミリ秒間に２０％の上昇に設定した場合、１５０−、２００−、および２５０−ミリ秒マークにおいて検出されるパーセント変化において、このしきい値に到達する。つまり、実施形態の中には、これらの間隔中に計量しきい値にも到達した場合、劣化しきい値に到達している可能性がある。計量しきい値が情報ブロック当たり２０エラーである場合を考える。１５０−ミリ秒マークにおいて受信した最後のブロックには１５個のデータ伝送エラーしかない場合、劣化しきい値には達していない。これは、次の５０ミリ秒内において検出したエラー数が何故増大したかを説明している。同様に、２００−ミリ秒マークでは、最後に受信した情報パケットは、１９個のデータ伝送エラーしか含んでおらず、この場合もしきい値未満である。このため、パケットの送信／受信を適合化せず、（パターン３０６が示すように）次の５０ミリ秒におけるエラーの数は、更に増大する。
【００７２】
しかしながら、２５０−ミリ秒マークでは、最後に受信したブロックは、２５個のエラーを含んでいる可能性があり、これは２０エラーのしきい値を超過する。したがって、エラー・レートしきい値を満たしたので（２００ミリ秒マーク以降２０％よりも大きい増大）、そしてエラー数のしきい値も満たしたので（２０を超える）、劣化しきい値を満たしたことになる。これに応答して、予測モジュール２１８は、この劣化予測２２０の指示を伝送適合化モジュール２２４に受け渡すことができる。
【００７３】
劣化予測２２０の受信に応答して、モジュール２２４は、適合化命令２２５をネットワーク・デバイス２０４のしかるべきコンポーネントに送ることによって、および／または通信チャネル上で通信を行っている相手であるネットワーク・デバイスに適合化命令２２６を送ることによって、通信チャネル上における情報の送信および／または受信を適合化することができる。適合化命令２２６は、エンコーダ２２８を通過し、エンコード適合化命令２３０を生成することができ、これを変調器２３２に入力することができる。変調器２３２は、エンコード変調適合化命令２３４を生成し、他方のネットワーク・デバイスに送ることができる。
【００７４】
適合化命令２２５および／または２２６は、チャネル上で情報を伝送するために用いているエラー・エンコード方式を変更する命令を含むことができる。例えば、標準的なセル・フォンのエラー・エンコード方式は、レート−１／２コードを用いており、これはコンテンツ・データと冗長データとの間に１対１の比率を有する。即ち、各伝送情報片と冗長情報片との間に１対１の比率がある。しきい値を下回る劣化の予測の観点からは、適合化命令は、この比率をレート−１／３コードに変更することを示すことができる。この場合、情報片毎に、２つの冗長情報片を送信する。このようにエラー・レート方式を変更することによって、精度高く情報を伝送する能力が高まる（例えば、送信および受信側デバイス間の距離が増大する際に）が、スループットを犠牲にすることになる。
【００７５】
実施形態の中には、エラー・エンコード方式を変更することに加えて、または代わりに、２つのデバイス間に追加の通信チャネルを開設し、例えば、スループットの損失に対処してもよい。すると、２つのデバイス間の通信は、双方のチャネル上で送ることができ、スループットの損失を補償することができる。例えば、セル・フォン通信では、一方のチャネルをコンテンツの交換に用いることができ、他方のチャネルを信号情報を交換するために用いることができ、および／またはコンテンツ自体を２つの通信チャネル間で多重化することもできる。このように、適合化命令２２５および／または２２６は、追加の通信チャネルを作成することを指示してもよい。
【００７６】
情報の受信および／または送信を適合化する結果として、各情報ブロック内におけるエラー数、およびある時間期間におけるエラー・レートを低下させることができる。例えば、図３に示すように、通信チャネルに合わせてエラー・レート方式を変更する場合、および／または２５０ミリ秒において劣化しきい値に達したことに応答して新しい通信チャネルを開設する場合、次の５０−ミリ秒間隔におけるエラー数を減少させることができる。例えば、ヒストグラム３００に示すように、２５０ミリ秒における２７００エラーから、３００ミリ秒における６００エラーに減少する。劣化しきい値への到達が、通信デバイス間の距離延長によって生じ、この距離が延長し続ける場合、情報の送信および／または受信の適合化の後においても、エラー数が再度増加し始める。例えば、図３に示すように、３５０ミリ秒におけるエラー数は１１００であり、直前の間隔において検出した６００エラーよりも増加している。エラー数およびエラー・レートが再度それらの各しきい値に達した場合、情報の送信および／または受信の別の適合化を実行することができる。例えば、エラー・エンコード・レートを再度変更することができ、および／または別の通信チャネルを開設することもできる。
【００７７】
図３では、主にエラー計量としてエラー数を用いることに関して説明したが、計量がソフト・エラー距離および／または確率比であれば、類似する技法も使用可能であることは認められよう。
【００７８】
システム１００および／または２００、ならびにそのコンポーネントは、種々の技法のいずれを用いても実施することができ、ソフトウェア（例えば、Ｃ、Ｃ＃、Ｃ＋＋、Ｊａｖａ（登録商標）、またはその組み合わせ）、ハードウェア（例えば、１つ以上の特定用途集積回路）、ファームウェア（例えば、電気的にプログラムしたメモリ）、またはその任意の組み合わせをも含む。システム１００のコンポーネントの１つ以上は、１つのデバイス（例えば、コンピュータ）上に位置してもよく、あるいは１つ以上のコンポーネントが別個の離散デバイス上に位置してもよい。更に、各コンポーネントを多数のデバイスに跨って分散してもよく、これらのデバイスの１つ以上を相互接続してもよい。
【００７９】
更に、システム１００および／または２００の１つ以上のコンポーネントを含む１つ以上のデバイスの各々において、これらのコンポーネントの各々は、システム上にある１つ以上の場所に位置してもよい。例えば、これらのシステムのコンポーネントの異なる部分が、デバイス上のメモリ（例えば、ＲＡＭ、ＲＯＭ、ディスク等）の異なるエリア内に位置してもよい。このような１つ以上のデバイスの各々は、コンポーネントの中でもとりわけ、１つ以上のプロセッサ、メモリ・システム、ディスク記憶システム、１つ以上のネットワーク・インターフェース、ならびに１つ以上のバスまたは種々のコンポーネントを相互接続するその他の内部通信リンクのような、複数の既知のコンポーネントを含むことができる。システム１００および／または２００、ならびにそのコンポーネントは、図４および図５に関して以下に説明するような、コンピュータ・システムを用いて実施することができる。
【００８０】
図４は、本発明の一部の実施形態にしたがって、通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測し、予測に応答して情報送信および／または受信を適合化する方法４００の一例を示すフロー・チャートである。方法４００は、このような劣化を予測する方法の例示的な実施形態に過ぎず、本発明の範囲を限定することは意図していない。このような方法の別の実現例、例えば、方法４００の変形も可能であり、本発明の範囲に該当するように解釈することとする。
【００８１】
情報は、行為４０２において、通信チャネル上で受信することができる。行為４０４において、受信した情報の少なくとも第１ブロックについての１つ以上のエラー計量を、例えば、システム２００のデコーダ２１０および予測モジュール２１８に関して先に説明したようにして、判定することができる。個々のブロックのエラー計量は、そのエラー・レートと見なすことができる。
【００８２】
行為４０６において、ある時間間隔についてのエラー・レート・パターンを、例えば、システム２００の予測モジュール２１８に関して先に説明したように、個々の情報ブロックのエラー・レートに基づいて決定することができる。
【００８３】
情報を精度高く伝達する通信チャネルの能力の特定のしきい値を下回る劣化は、行為４０８において、例えば、予測モジュール２１８に関して先に説明したように、予測することができる。
【００８４】
行為４１０において、通信チャネル上における情報の送信および／または受信を適合化することができる。例えば、適合化モジュール２２４に関して先に説明したように、情報を送信／受信するのみ用いるエラー・レート方式を変更することによって、および／または情報を伝送するために追加の通信チャネルを付加することによって、送信および／または受信を適合化することができる。
【００８５】
方法４００は、追加の行為を含むこともできる。更に、方法４００の一部として実行する行為の順序は、図３に示す順序に限定されるのではない。これは、これらの行為は、他の順序でも実行できるため、および／またはこれらの行為の１つ以上は、少なくとも部分的に、直列にまたは並列に実行することができるからである。
【００８６】
方法４００およびその行為、ならびにこの方法およびこれらの行為の様々な実施形態および変形は、個別でもまたは組み合わせでも、１つ以上のコンピュータ読み取り可能媒体上に接触可能に具体化したコンピュータ読み取り可能信号によって定義することができる。コンピュータ読み取り可能媒体は、例えば、不揮発性記録媒体、集積回路メモリ・エレメント、またはその組み合わせである。コンピュータ読み取り可能媒体は、コンピュータによってアクセスすることができる入手可能な媒体であればいずれでも可能である。限定ではない一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体から成ると考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・ビデオ・ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、所望の情報を格納するために用いることができしかもコンピュータがアクセス可能なその他の任意の媒体、ならびに前述の媒体の任意の適した組み合わせをも含むが、これらに限定されるのではない。
【００８７】
通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、その特性集合の１つ以上が、情報を信号内にエンコードするようなやり方で、変化している信号を意味する。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体、ならびに前述の媒体の任意の適した組み合わせを含む。
【００８８】
１つ以上のコンピュータ読み取り可能媒体上に具体化するコンピュータ読み取り可能信号は、命令を、例えば、１つ以上のプログラムの一部として定義することができ、これらをコンピュータによって実行する結果、このコンピュータに、ここに記載した機能の１つ以上（例えば、方法４００またはそのあらゆる行為）および／または種々の実施形態、変形、およびその組み合わせを実行するように命令する。このような命令は、複数のプログラミング言語のいずれで書いてもよく、例えば、Ｊａｖａ（登録商標）、Ｊ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｃ、Ｃ＃、Ｃ＋＋、Ｆｏｒｔｒａｎ、Ｐａｓｃａｌ、Ｅｉｆｆｅｌ、Ｂａｓｉｃ、ＣＯＢＯＬ等、またはその種々の組み合わせのいずれかがある。このような命令を具体化したコンピュータ読み取り可能媒体は、ここに記載したシステム１００、２００、５００、６００のコンポーネントの１つ以上に位置することができ、このようなコンポーネントの１つ以上に跨って分散することもでき、更にそれらの間で移行してもよい。
【００８９】
コンピュータ読み取り可能媒体は、その上に格納されている命令を任意のコンピュータ・システム・リソースにロードして、ここで論じた本発明の態様を実施することができるように、可搬型とするとよい。加えて、前述のコンピュータ読み取り可能媒体上に格納されている命令は、ホスト・コンピュータ上で走るアプリケーション・プログラムの一部として具体化した命令に限定されるのではないことは認められよう。逆に、命令は、先に論じた本発明の態様を実施するようにプロセッサをプログラムするために採用することができるのであれば、任意の種類のコンピュータ・コード（例えば、ソフトウェアまたはマイクロコード）として具体化することもできる。
【００９０】
尚、コンピュータ・システム、例えば、図１、図２、図５および図６に関して説明した、ここに記載する機能を実行するコンピュータ・システムの多数のコンポーネントの内、どのような単一のコンポーネントまたはその集合体も、包括的に、このような機能を制御する１つ以上のコントローラとして見なすことができることは認められよう。１つ以上のコントローラは、先に引用した機能または前述の機能の任意の適した組み合わせでも実行するマイクロコードまたはソフトウェアを用いてプログラミングしたプロセッサを用いて、専用ハードウェアおよび／またはファームウェアのように、多数の方法で実施することができる。
【００９１】
本発明による種々の実施形態は、１つ以上のコンピュータ・システム上において実施することができる。これらのコンピュータ・システムは、汎用コンピュータとすることができ、例えば、Intel PENTIUM（登録商標）型プロセッサ、Motorola PowerPC、Sun UltraSPARC、Hewlett-Packard PA-RISCプロセッサ、Advanced Micro Devices (ADM)から入手可能な種々のプロセッサのいずれか、またはその他の任意の形式のプロセッサに基づくコンピュータがある。尚、本発明の種々の実施形態を実施するには、１つ以上の任意の形式のコンピュータ・システムを用いてもよいことは認められよう。
【００９２】
本発明の一実施形態による汎用コンピュータ・システムは、前述の機能の１つ以上を実行するように構成されている。尚、このシステムは、他の機能も実行することができ、本発明は、いずれの特定の機能または機能集合を有することにも限定されないことは認められよう。
【００９３】
例えば、本発明の種々の態様は、図５に示すような、汎用コンピュータ・システム５００において実行する特殊ソフトウェアとして実装することができる。コンピュータ・システム５００は、ディスク・ドライブ、メモリ、またはデータを格納するその他のデバイスのような、１つ以上のメモリ・デバイス５０４に接続されているプロセッサ５０３を含むことができる。メモリ５０４は、通例、コンピュータ・システム５００の動作中にプログラムおよびデータを格納するために用いられる。コンピュータ・システム５００のコンポーネントは、相互接続メカニズム５０５によって結合することができ、相互接続メカニズム５０５は、１つ以上のバス（例えば、同じ機械の内部に一体化されたコンポーネント間）、および／またはネットワーク（例えば、別個の離散機械に位置するコンポーネント間）を含むことができる。相互接続メカニズム５０５によって、システム５００のシステム・コンポーネント間において通信（例えば、データ、命令）を交換することが可能となる。また、コンピュータ・システム５００は、１つ以上の入力デバイス５０２、例えば、キーボード、マウス、トラックボール、マイクロフォン、タッチ・スクリーン、および１つ以上の出力デバイス５０１、例えば、印刷装置、表示画面、スピーカも含む。加えて、コンピュータ・システム５００は、１つ以上のインターフェース（図示せず）も内蔵することができる。インターフェースは、コンピュータ・システム５００を通信ネットワーク（相互接続メカニズム５０５に加えて、またはその代わりとして）にインターフェースする。
【００９４】
記憶システム５０６を、図５に更に詳細に示すが、通例コンピュータ読み取り可能および書き込み可能不揮発性記録媒体６０１を含む。媒体６０１においては、プロセッサが実行すべきプログラム、あるいは媒体６０１に格納されておりプログラムが処理すべき情報を定義する信号が格納されている。この媒体は、例えば、ディスクまたはフラッシュ・メモリとすることができる。通例、動作中には、プロセッサがデータを不揮発性記録媒体６０１から、媒体６０１よりも速くプロセッサが情報にアクセスすることを可能にする別のメモリ６０２に読み出させる。このメモリ６０２は、通例、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）またはスタティック・メモリ（ＳＲＡＭ）のような揮発性ランダム・アクセス・メモリである。これは、図示のように、記憶システム５０６内に配置すればよく、あるいは図示しないメモリ・システム５０４内に配置してもよい。プロセッサ５０３は、一般に、集積回路メモリ５０４、６０２内にあるデータを操作し、処理が完了した後に、このデータを媒体６０１にコピーする。媒体６０１と集積回路メモリ・エレメント５０４、６０２間におけるデータの移動を管理するための種々のメカニズムが知られており、本発明はそれらに限定されることはない。本発明は、特定のメモリ・システム５０４や記憶システム５０６にも限定されることはない。
【００９５】
コンピュータ・システムは、特別にプログラムされた特殊目的ハードウェア、例えば、特定用途集積回路（ＡＳＩＣ）を含むことができる。本発明の態様は、ソフトウェア、ハードウェア、またはファームウェア、あるいはその任意の組み合わせでも実施することができる。更に、このような方法、行為、システム、システム・エレメント、およびそのコンポーネントは、先に説明したコンピュータ・システムの一部として、または独立したコンポーネントとして実施することができる。
【００９６】
コンピュータ・システム５００は、一例として、本発明の種々の態様を実用化することができる一種のコンピュータ・システムとして示したが、本発明の態様は、図５に示すコンピュータ・システム上で実施することに限定されるのではないことは認められよう。本発明の種々の態様は、図５に示すのとは異なるアーキテクチャまたはコンポーネントを有する１つ以上のコンピュータ上でも実用化することができる。
【００９７】
コンピュータ・システム５００は、高級コンピュータ・プログラミング言語を用いてプログラム可能な汎用コンピュータ・システムとすることができる。また、コンピュータ・システム５００は、特別にプログラムされた特殊目的ハードウェアを用いて実施することもできる。コンピュータ・システム５００では、プロセッサ５０３は、通例、Intel Corporationから市販されている周知のPentium（登録商標）級プロセッサのような、市販のプロセッサである。多くのその他のプロセッサも利用可能である。このようなプロセッサは、通常、オペレーティング・システムを実行する。オペレーティング・システムは、例えば、Microsoft Corporationから入手可能なWindows（登録商標）95、Windows（登録商標）98、Windows（登録商標）NT、Windows（登録商標）2000（Windows（登録商標）ME）またはWindows（登録商標）XPオペレーティング・システム、Apple Computerから入手可能なMAC OS System X、Sun Microsystemsから入手可能なSolaris Operating System、種々の供給元から入手可能なLinux、あるいは種々の供給元から入手可能なUNIX（登録商標）とすることができる。種々のその他のオペレーティング・システムのいずれでも用いることができる。
【００９８】
プロセッサおよびオペレーティング・システムは、一体となってコンピュータ・プラットフォームを定義し、これに合わせて、高級プログラミング言語でアプリケーション・プログラムが書かれる。尚、本発明は、特定のコンピュータ・システム・プラットフォーム、プロセッサ、オペレーティング・システム、またはネットワークにも限定されないことは言うまでもない。また、本発明は、特定のプログラム言語やコンピュータ・システムには限定されず、他のしかるべきプログラミング言語および他のしかるべきコンピュータ・システムも使用可能であることは、当業者には明白なはずである。
【００９９】
コンピュータ・システムの１つ以上の部分は、通信ネットワークに結合されている１つ以上のコンピュータ・システム（図示せず）に跨って分散させることができる。これらのコンピュータ・システムも、汎用コンピュータ・システムであってよい。例えば、本発明の種々の態様は、１つ以上のクライアント・コンピュータにサービスを提供し、分散型システムの一部として全体のタスクを実行するように構成されている１つ以上のコンピュータ・システム（例えば、サーバ）間で分散させることができる。例えば、本発明の種々の態様は、本発明の種々の実施形態にしたがって種々の機能を実行する１つ以上のサーバ・システム間で分散したコンポーネントを含むクライアント−サーバ・システム上で実行することができる。これらのコンポーネントは、通信プロトコル（例えば、ＴＣＰ／ＩＰ）を用いて、通信ネットワーク（例えば、インターネット）上で通信する、実行可能、中間（例えば、ＩＬ）、またはインタープリタ型（例えば、Ｊａｖａ（登録商標））コードとすることができる。
【０１００】
尚、本発明は、どの特定のシステムまたはシステム群において実行することにも限定されず、本発明は、どの特定の分散型アーキテクチャ、ネットワーク、または通信プロトコルにも限定されないことは認められよう。
【０１０１】
本発明の種々の実施形態は、SmallTalk、Ｊａｖａ（登録商標）、Ｊ＃（J-Sharp)、Ｃ＋＋、Ａｄａ、またはＣ＃（C-Sharp)のような、任意のオブジェクト指向プログラミング言語を用いてもプログラムすることができる。また、別のオブジェクト指向プログラミング言語を用いてもよい。代わりに、機能的、スクリプティング、および／または論理的プログラミング言語を用いてもよい。本発明の種々の態様は、非プログラミング環境（例えば、ＨＴＭＬ、ＸＭＬ、またはブラウザ・プログラムのウィンドウ内において見ると、グラフィカル・ユーザ・インターフェース（ＧＵＩ）の態様を表現する、または他の機能を実行するその他のフォーマットで作成した文書）において実施することもできる。本発明の種々の態様は、プログラムされたエレメントまたはプログラムされていないエレメント、あるいはその任意の組み合わせとしてでも実施することができる。更に、本発明の種々の実施形態は、Microsoft Corporationから入手可能なMicrosoft（登録商標）NET技術を用いて実施することもできる。
【０１０２】
以上、本発明の例示的な実施形態の一部について説明したが、以上のことは単なる例示に過ぎず、限定ではなく、一例として呈示したに過ぎないことは、当業者には明白なはずである。多数の修正やその他の例示邸な実施形態も、当技術分野における通常の技術範囲に含まれ、本発明の範囲に該当するものと見なすこととする。即ち、ここに呈示した例の多くは、方法行為またはシステム・エレメントの具体的な組み合わせを伴うが、これらの行為およびこれらのエレメントは、別の方法で組み合わせて同じ目的を達成することもできることは言うまでもない。一実施形態のみに関連して論じた行為、エレメント、および特徴は、他の実施形態における同様の役割から除外されることは意図していない。更に、以下の特許請求の範囲において明記する１つ以上のミーンズ−プラス−ファンクション(means-plus-function)の限定について、手段は、明記した機能を実行するためにここに開示した手段に限定されることは意図しておらず、明記した機能を実行するための、現在既知のまたは今後開発される、任意の同等の手段もその範囲に包含することを意図している。
【０１０３】
「第１」、「第２」、「第３」等のような順序に関する用語を特許請求の範囲において請求項の要素を修正するために用いる場合、これらの用語自体は、一方の請求項の要素の他方に対する優先順、上下関係、または順序、あるいは方法の行為を実行する時間的順序のいずれも暗示せず、単にある名称を有する一方の請求項の要素を同じ名称を有する（序数用語を別にすれば）別の要素から区別し、これらの請求項の要素を区別するための標識として用いるに過ぎない。
【図面の簡単な説明】
【０１０４】
【図１】図１は、システムの１つ以上の実施形態を実施することができるネットワーク・システムの一例を示すブロック図である。
【図２】図２は、本発明の一部の実施形態にしたがって、通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測し、予測に応答して情報送信および／または受信を適合化するシステムの一例を示すデータ・フロー図である。
【図３】図３は、本発明の一部の実施形態による、ある時間期間における通信チャネル上のデータ伝送エラー情報を示すヒストグラムである。
【図４】図４は、本発明の一部の実施形態にしたがって、特定のしきい値を下回る通信チャネル上において情報を精度高く伝達する能力の特定のしきい値を下回る劣化を予測し、予測に応答して情報送信および／または受信を適合化する方法の一例を示すフロー・チャートである。
【図５】図５は、本発明の一部の実施形態を実施することができるコンピュータ・システムの一例を示すブロック図である。
【図６】図６は、本発明の一部の実施形態を実施するためのコンピュータ・システムの一部として用いることができる記憶システムの一例を示すブロック図である。
【図１】
2009517979.tif 000003
【図２】
2009517979.tif 000004
【図３】
2009517979.tif 000005
【図４】
2009517979.tif 000006
【図５】
2009517979.tif 000007
【図６】
2009517979.tif 000008
【国際調査報告】
2009517979.tif 000009
2009517979.tif 000010