(57)【要約】【課題】本発明は無線アクセス・ポイントにおけるデータ転送の輻輳を検出及び低減する記憶媒体及びシステムを提供する。【解決手段】  複数の命令を有する非一時的機械可読記憶媒体であって、前記複数の命令は、実行されると、送信元コンピュータ装置に、前記送信元コンピュータ装置から複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信のピーク・データ・レートを確立するステップと、前記送信元コンピュータ装置から前記複数のコンピュータ装置のうちの第１のコンピュータ装置へ送信されるデータ・パケットの往復遅延時間を決定するステップと、前記往復遅延時間値が第１の閾値より大きいことに応答して、前記ピーク・データ・レートを減少するステップと、を実行させる。【選択図】図１
2014014126.tif 000002
【特許請求の範囲】
【請求項１】
複数の命令を有する非一時的機械可読記憶媒体であって、前記複数の命令は、実行されると、送信元コンピュータ装置に、
前記送信元コンピュータ装置から複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信のピーク・データ・レートを確立するステップと、
前記送信元コンピュータ装置から前記複数のコンピュータ装置のうちの第１のコンピュータ装置へ送信されるデータ・パケットの往復遅延時間を決定するステップと、
前記往復遅延時間値が第１の閾値より大きいことに応答して、前記ピーク・データ・レートを減少するステップと、
を実行させる、非一時的機械可読記憶媒体。
【請求項２】
前記データ・パケットの往復遅延時間値を決定するステップは、
前記送信元コンピュータ装置から前記第１のコンピュータ装置へ前記データ・パケットを送信するステップと、
前記の送信されたデータ・パケットに応答して前記第１のコンピュータ装置から応答を受信するステップと、
前記送信するステップと前記受信するステップとの間の時間を測定するステップと、
を有する、請求項１に記載の非一時的機械可読記憶媒体。
【請求項３】
前記往復遅延時間値を決定するステップは、前記データ・パケットの往復遅延時間値を周期的に決定するステップを有する、請求項１に記載の非一時的機械可読記憶媒体。
【請求項４】
前記往復遅延時間値を決定するステップは、前記データ・パケットの往復遅延時間値を、前記複数のコンピュータ装置へデータを送信するのと同時に決定するステップを有する、請求項１に記載の非一時的機械可読記憶媒体。
【請求項５】
前記ピーク・データ・レートを減少するステップは、前記ピーク・データ・レートを所定の割合だけ減少するステップを有する、請求項１に記載の非一時的機械可読記憶媒体。
【請求項６】
前記ピーク・データ・レートを減少するステップは、前記ピーク・データ・レートを１０パーセントだけ減少するステップを有する、請求項５に記載の非一時的機械可読記憶媒体。
【請求項７】
前記ピーク・データ・レートを減少するステップは、所定の時間が経過していない場合のみ前記ピーク・データ・レートを減少するステップを有する、請求項１に記載の非一時的機械可読記憶媒体。
【請求項８】
実行されると、前記送信元コンピュータ装置に、
前記送信元コンピュータ装置から前記複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信の現在のデータ・レートを確立するステップと、
前記往復遅延時間値が第２の閾値より小さいことに応答して、前記現在のデータ・レートを増大し、前記ピーク・データ・レートを前記の増大した現在のデータ・レートに設定するステップと、
を実行させる複数の命令を更に有する非一時的機械可読記憶媒体。
【請求項９】
前記現在のデータ・レートを増大するステップは、前記現在のデータ・レートを所定量だけ線形に増大するステップを有する、請求項８に記載の非一時的機械可読記憶媒体。
【請求項１０】
前記現在のデータ・レートを増大するステップは、前記現在のデータ・レートを指数関数的に増大するステップを有する、請求項８に記載の非一時的機械可読記憶媒体。
【請求項１１】
実行されると、前記送信元コンピュータ装置に、
前記往復遅延時間値が前記第１の閾値より大きいことに応答して、前記の減少したピーク・データ・レートに基づき、前記現在のデータ・レートを減少するステップ、
を実行させる複数の命令を更に有する請求項８に記載の非一時的機械可読記憶媒体。
【請求項１２】
前記現在のデータ・レートを減少するステップは、
前記の減少したピーク・データ・レートと前に決定された中間点データ・レート値の和の半分に等しい新たな中間点データ・レート値を決定するステップと、
前記現在のデータ・レートを前記新たな中間点データ・レート値に設定するステップと、
を有する、請求項１１に記載の非一時的機械可読記憶媒体。
【請求項１３】
前記第１の閾値は、前記第２の閾値に実質的に等しい、請求項１に記載の非一時的機械可読記憶媒体。
【請求項１４】
実行されると、前記送信元コンピュータ装置に、
前記往復遅延時間値が前記第１の閾値より小さく且つ前記第２の閾値より大きいことに応答して、前記現在のデータ・レート及び前記ピーク・データ・レートを維持するステップ、
を実行させる複数の命令を更に有する請求項８に記載の非一時的機械可読記憶媒体。
【請求項１５】
プロセッサと、
前記プロセッサに通信可能に結合され、複数の命令を格納するメモリ装置と、
を有し、前記複数の命令は、前記プロセッサにより実行されると、前記プロセッサに、
複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信のピーク・データ・レートを確立するステップと、
前記複数のコンピュータ装置のうちの第１のコンピュータ装置へ送信されるデータ・パケットの往復遅延時間値を決定するステップと、
前記往復遅延時間値の決定に応答して、前記往復遅延時間値が第１の閾値より大きい場合、前記ピーク・データ・レートを減少するステップと、
を実行させる、コンピュータ・システム。
【請求項１６】
前記ピーク・データ・レートを減少するステップは、所定の時間が経過していない場合のみ前記ピーク・データ・レートを減少させるステップを有する、請求項１５に記載のコンピュータ・システム。
【請求項１７】
前記メモリ装置は、前記プロセッサにより実行されると、前記プロセッサに、
前記複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信の現在のデータ・レートを確立するステップと、
前記往復遅延時間値の決定に応答して、前記往復遅延時間値が前記第１の閾値より大きい場合、前記の減少したピーク・データ・レートに基づいて決定された値まで、前記現在のデータ・レートを減少するステップと、
を実行させる複数の命令を更に有する、コンピュータ・システム。
【請求項１８】
前記現在のデータ・レートを減少するステップは、
前記ピーク・データ・レートと前に決定された中間点データ・レート値の和の半分に等しい新たな中間点データ・レート値を決定するステップと、
前記現在のデータ・レートを前記新たな中間点データ・レート値に設定するステップと、
を有する、請求項１７に記載のコンピュータ・システム。
【請求項１９】
送信元コンピュータ装置から複数のコンピュータ装置のうちの少なくとも１つのコンピュータ装置への無線アクセス・ポイントを介したデータ送信のピーク・データ・レートを確立するステップと、
前記送信元コンピュータ装置から前記複数のコンピュータ装置のうちの第１のコンピュータ装置へ送信されるデータ・パケットの往復遅延時間値を決定するステップと、
前記往復遅延時間値が第１の閾値より大きいことに応答して、前記ピーク・データ・レートを減少さするステップと、
を有する方法。
【請求項２０】
前記ピーク・データ・レートを減少するステップは、前記ピーク・データ・レートを１０パーセントだけ減少するステップを有する、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアクセス・ポイントの輻輳検出及び低減のための記憶媒体及びシステムに関する。
【背景技術】
【０００２】
協調型コンピューティング環境は、屡々送信元コンピュータ装置から複数の宛先又はシンク・コンピュータ装置へのデータ転送による。例えば、教育環境では、「教室における協調」はファイル、ビデオ及び他のデータを教師のコンピュータ装置から各生徒のコンピュータ装置へ転送することによる。標準的に、マルチキャスト、ブロードキャスト又は他の１対多のデータ伝送は、このようなデータ転送を達成するために用いられる。
【０００３】
マルチキャスト又はブロードキャスト伝送と異なり、ユニキャスト伝送は、１対１のデータ伝送（つまり、単一の送信元コンピュータ装置から単一の宛先又はシンク・コンピュータ装置へ）である。幾つかの通信装置及び標準は、ユニキャスト伝送のために最適化されるか、又はマルチキャスト若しくはブロードキャスト伝送と比べてより良いサービス及び／若しくは信頼性を提供する。例えば、幾つかのアクセス・ポイント（例えば、有線又は無線ルータ、スイッチ又はハブ）はユニキャスト伝送をルーティングするために最適化される。反対に、マルチキャスト伝送では、アクセス・ポイントはローカル・エリア・ネットワーク（ＬＡＮ）の「ボトルネック」になりうる。何故なら、アクセス・ポイントは送信元コンピュータ装置から受信したデータを（通常はユニキャスト伝送を介して）ローカル・エリア・ネットワーク上の各シンク・コンピュータ装置へ伝送しなければならないからである。従って、アクセス・ポイントから出て行くデータ・レートは、送信元コンピュータ装置から入ってくるデータ・レートよりも標準的に有意に低い。このデータ・レートの不均衡は、アクセス・ポイントのデータ・キューをオーバーフローさせ、結果としてデータの損失及び伝送の遅延をもたらしうる。これらの問題は、ユニキャスト伝送がマルチキャスト伝送よりも高い優先度又はサービス品質を与えられている幾つかのネットワーク環境では悪化しうる。更に、多くのアクセス・ポイント装置は、最適でない規定値のマルチキャスト設定を有する。これは、結果として追加データ転送による輻輳問題を生じうる。
【０００４】
本願明細書に記載されたシステム、装置及び方法は例を用いて説明されるが、添付の図面に限定されない。説明を簡単且つ明確にするため、図中に示された要素は、必ずしも縮尺通りに描かれていないことが理解される。例えば、幾つかの要素の寸法は、明確さのため、他の要素に比して誇張されている。更に、適切に検討されるとき、対応する又は類似の要素を示すために、参照符号は図の間で繰り返されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明はアクセス・ポイントの輻輳検出及び低減のための記憶媒体及びシステムを提供する。
【図面の簡単な説明】
【０００６】
【図１】ネットワークのアクセス・ポイントにおけるデータ転送の輻輳を検出及び低減するシステムの一実施形態の簡略化されたブロック図である。
【図２】図１のシステムのコンピュータ装置の一実施形態の簡略化されたブロック図である。
【図３】図１のネットワークのアクセス・ポイントにおけるデータ転送の輻輳を検出及び低減する方法の一実施形態の簡略化されたフロー図である。
【図４】図１のネットワークのアクセス・ポイントにおけるデータ転送の輻輳を検出及び低減する方法の別の実施形態の簡略化されたフロー図である。
【図５】図３及び４の輻輳検出及び低減方法を用いた送信元コンピュータ装置のデータ・レートの傾向のグラフである。
【発明を実施するための形態】
【０００７】
本発明の概念は種々の変更及び代替の形式の余地があるが、それらの特定の実施形態が例として図に示され本願明細書で詳細に記載される。しかしながら、理解されるべき点は、本開示の概念が開示された特定の形式に限定されないこと、むしろ全ての変形、等価物及び代案が特許請求の範囲により定められた本発明の精神と範囲に包含されることである。
【０００８】
以下の記載では、ロジック実装、オペコード、オペランドを指定する手段、資源のパーティショニング／共有／二重化実装、システム構成要素の種類及び相互関係、並びにロジックのパーティショニング／統合の選択のような多くの特別な詳細は、本開示の一層の十分な理解を提供するために説明される。しかしながら、当業者は、本開示がそのような特定の詳細にかかわらず実施されてよいことを理解するだろう。他の例では、制御構造、ゲート・レベル回路及び完全なソフトウェア命令シーケンスは、本開示を曖昧にしないために詳細に示されない。当業者は、以下の記載から、必要以上の実験を有さずに適切な機能を実施できるだろう。
【０００９】
本願明細書において「一実施形態」、「ある実施形態」又は「例である実施形態」等のような記載は、記載された実施形態が特定の機能、構造又は特徴を含むこと、しかし各実施形態が特定の機能、構造又は特徴を必ずしも含まなくてもよいことを意味する。更に、このような記載は、必ずしも同一の実施形態を参照しない。更に、特定の機能、構造又は特徴がある実施形態に関連して記載されるとき、明示的に記載されているか否かに拘わらず、このような機能、構造又は特徴を他の実施形態と組み合わせて実施することは、当業者の知識の範囲内である。
【００１０】
本開示の幾つかの実施形態は、ハードウェア、ファームウェア、ソフトウェア又はそれらの如何なる組み合わせで実施されてもよい。コンピュータ・システム内に実施された本開示の実施形態は、構成要素間の１若しくは複数のバスに基づく相互接続及び／又は構成要素間の１若しくは複数のポイント・ツー・ポイント相互接続を有してもよい。本発明の実施形態は、１又は複数のプロセッサにより読み取られ実行されてもよい機械読み取り可能な有形媒体に格納された命令として実施されてもよい。機械読み取り可能な有形媒体は、機械（例えば、コンピュータ装置）により読み取り可能な形式で情報を格納又は送信する如何なる有形機構も包含しうる。例えば、機械読み取り可能な有形媒体は、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュ・メモリ装置及びその他の有形媒体を包含しうる。
【００１１】
図１を参照する。データ転送の輻輳を検出及び低減するシステム１００は、送信元又はサーバ・コンピュータ装置１０２及び受信又はクライアント・コンピュータ装置群１０４を有する。コンピュータ装置１０２、１０４は、アクセス・ポイント１０８を介してネットワーク１０６を介して互いに通信可能に結合される。送信元コンピュータ装置１０２は、本願明細書に記載された機能を実行可能な如何なる種類のコンピュータ装置として具現化されてもよい。例えば、幾つかの実施形態では、送信元コンピュータ装置１０２は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・インターネット装置（ＭＩＤ）又は他のネットワーク接続可能なコンピュータ装置として具現化されてもよい。
【００１２】
コンピュータ装置群１０４は、１又は複数のシンク・コンピュータ装置１１２及び追加コンピュータ装置１１４を含む複数のコンピュータ装置１１０を有する。１又は複数のシンク・コンピュータ装置１１２は、以下に詳細に議論されるように、コンピュータ装置１１０から選択され、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットを送信元コンピュータ装置１０２から受信し、ネットワーク１０６の（つまりアクセス・ポイント１０８の）輻輳量を測定する。シンク・コンピュータ装置１１２は、ランダムに選択されるか又は信号品質測定のような特定の基準に基づき選択されてもよい。
【００１３】
送信元コンピュータ装置１０２と同様に、各コンピュータ装置１１０は、本願明細書に記載された機能を実行可能な如何なる種類のコンピュータ装置として具現化されてもよい。例えば、各コンピュータ装置１１０は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・インターネット装置（ＭＩＤ）又は他のネットワーク接続可能なコンピュータ装置として具現化されてもよい。
【００１４】
アクセス・ポイント１０８は、コンピュータ装置１０２、１１０間の通信を助ける。アクセス・ポイント１０８は、有線又は無線ルータ、スイッチ、ハブ又はコンピュータ装置１０２、１１０を通信可能に結合できる他のネットワーク通信装置のような如何なる種類の有線又は無線ネットワーク通信ルーティング装置として具現化されてもよい。幾つかの実施形態では、アクセス・ポイント１０８はまた、通信リンク１２４を介して外部ネットワーク１３０に通信可能に結合される。ネットワーク１３０は、ローカル・エリア・ネットワーク、広域ネットワーク、公衆に利用可能なグローバル・ネットワーク（例えばインターネット）又は他のネットワークのような如何なる種類の有線及び／又は無線ネットワークとして具現化されてもよい。同様に、通信リンク１２４は、例えば如何なる数の無線又は物理的接続、ワイヤ、ケーブル及び／又は他の相互接続リンク若しくは経路のような、アクセス・ポイント１０８と外部ネットワーク１３０との間の通信を助けることができる如何なる種類の有線又は無線通信リンクとして具現化されてもよい。更に、ネットワーク１３０は、ルータ、スイッチ、介在するコンピュータ等のような如何なる数の追加装置を有し、コンピュータ装置１０２、１１０と遠隔コンピュータ装置との間の通信を助けてもよい。
【００１５】
幾つかの実施形態では、送信元コンピュータ装置１０２及びコンピュータ装置群１０４は、単一の部屋に設置されるか又は互いにローカルに設置される。例えば、１つの特定の実施形態では、システム１００は教室内に組み込まれる。このような実施形態では、送信元コンピュータ装置１０２は、教師又は指導者のコンピュータ装置として具現化されてもよく、コンピュータ装置１１０は生徒のコンピュータ装置として具現化されてもよい。勿論、システム１００は、１対多の伝送が要求される他の環境又は実装で用いられてもよい。
【００１６】
使用中、送信元コンピュータ装置１０２（又はシステム１００の他の構成要素）は、アクセス・ポイント１０８のデータ・トラフィック輻輳及びネットワーク１０６を監視し、相応して自身のデータ・レートを調整するよう構成される。これを行うため、送信元コンピュータ装置１０２は、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットのシンク・コンピュータ装置１１２への送信及び該インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットに応答してシンク・コンピュータ装置１１２からの応答の受信に対する往復遅延時間値を測定する。送信元コンピュータ装置１０２はネットワーク輻輳監視機能を実行するとして記載されたが、他の実施形態ではシステム１００の他の構成要素がこのような監視タスクを実行してもよいことが理解されるべきである。例えば、他の実施形態では、コンピュータ装置１１０のうちの１つが、ネットワーク輻輳監視を実行し、ネットワーク輻輳レベルをシステム１００の（送信元コンピュータ装置１０２を含む）他の装置に報告してもよい。
【００１７】
往復遅延時間値に基づき、送信元コンピュータ装置１０２は、自身のデータ・レートを増大し、自身のデータ・レートを維持し、又は自身のデータ・レートを減少するよう構成される。例えば、往復遅延時間値が所定の閾値より小さい場合、送信元コンピュータ装置１０２は、アクセス・ポイント１０８が過度に輻輳していないと決定する。これに応答して、送信元コンピュータ装置１０２はデータ・レートを増大させる。データ・レートは、直線的、対数的又は幾つかの他の式若しくはアルゴリズムに従って増大されてもよい。しかしながら、往復遅延時間値が所定の閾値より大きい場合、送信元コンピュータ装置１０２は、アクセス・ポイント１０８が輻輳していると決定する。これに応答して、送信元コンピュータ装置１０２はピーク・データ・レートを減少させる。更に、送信元コンピュータ装置１０２は、ピーク・データ・レートに基づき又は依存して現在のデータ・レートを減少する。例えば、以下に更に詳細に議論されるように、新しく開始するデータ・レートがピーク・データ・レートに向かって時間と共に増大するように、データ・レートは、中間点計算式に従って減少されてもよい。ピーク・データ・レートは、固定量だけ又は例えば１０パ―セントのような割合の量に基づき減少されてもよい。このように、送信元コンピュータ装置１０２は、アクセス・ポイント１０８の輻輳を引き起こさずピーク・データ・レートに対して連続的に「バンピング（ｂｕｍｐｉｎｇ）」しない最も高い利用可能なデータ・レートを探す。つまり、開始データ・レート及びピーク・データ・レートの両方は、図５に関して以下に詳細に議論されるように、ローカルの「最適な」データ・レートに向かって時間をかけて調整される。
【００１８】
図２を参照する。一実施形態では、コンピュータ装置１０２、１１０のそれぞれは、プロセッサ２００、チップセット２０４及びメモリ２０２を有する。コンピュータ装置１０２、１１０は、本願明細書に記載された個々の機能を実行可能な如何なる種類のコンピュータ装置として具現化されてもよい。例えば、上述のように、コンピュータ装置１０２、１１０は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・インターネット装置（ＭＩＤ）又は他のネットワーク接続可能なコンピュータ装置として具現化されてもよい。
【００１９】
プロセッサ２００は、説明のためプロセッサ・コア２０６を有する単一のコア・プロセッサとして具現化される。しかしながら、他の実施形態では、プロセッサ２００は、複数のプロセッサ・コア２０６を有する複数コアのプロセッサとして具現化されてもよい。また、コンピュータ装置１０２、１１０は、１又は複数のプロセッサ・コア２０６を有する追加のプロセッサ２００を有してもよい。プロセッサ２００は、多数の信号経路２０８を介してチップセット２０４に通信可能に結合される。信号経路２０８は、プロセッサ２００とチップセット２０４との間の通信を助けることができる如何なる種類の信号経路として具現化されてもよい。例えば、信号経路２０８は、如何なる数のバス経路、プリント回路基板のトレース、ワイヤ、ビア、介在装置、及び／又は他の相互接続として具現化されてもよい。
【００２０】
メモリ２０２は、１又は複数のメモリ装置又はデータ格納先、例えばダイナミック・ランダム・アクセス・メモリ素子（ＤＲＡＭ）、同期型ダイナミック・ランダム・アクセス・メモリ素子（ＳＤＲＡＭ）、ダブル・レート同期型ダイナミック・ランダム・アクセス・メモリ素子（ＤＤＲ  ＳＤＲＡＭ）、及び／又は他の揮発性メモリ素子として具現化されてもよい。更に、単一のメモリ素子２０２のみが図２に示されるが、他の実施形態では、コンピュータ装置１０２、１１０は追加のメモリ素子を有してもよい。
【００２１】
チップセット２０４は、メモリ・コントローラ・ハブ（ＭＣＨ）又はノースブリッジ、入力／出力コントローラ・ハブ（ＩＣＨ）又はサウスブリッジ、及びファームウェア装置を有してもよい。このような実施形態では、ファームウェア装置は、基本入出力システム（ＢＩＯＳ）データ及び／又は他の情報を格納するメモリ記憶装置として具現化されてもよい。プロセッサ２０４は、多数の信号経路２１０を介してメモリ２０２に通信可能に結合される。信号経路２０８と同様に、信号経路２１０は、例えば如何なる数のバス経路、プリント回路基板のトレース、ワイヤ、ビア、介在装置、及び／又は他の相互接続のような、チップセット２０４とメモリ素子２０２との間の通信を助けることができる如何なる種類の信号経路として具現化されてもよい。
【００２２】
他の実施形態では、チップセット２０４は、プラットフォーム・コントローラ・ハブ（ＰＣＨ）として具現化されてもよい。このような実施形態では、メモリ・コントローラ・ハブ（ＭＣＨ）は、プロセッサ２００内に組み込まれるか又はプロセッサ２００に関連付けられてもよい。更に、このような実施形態では、メモリ素子２０２は、チップセット２０４ではなく（つまりプラットフォーム・コントローラ・ハブではなく）プロセッサ２００に多数の信号経路２１２を介して通信可能に結合されてもよい。信号経路２０８と同様に、信号経路２１２は、例えば如何なる数のバス経路、プリント回路基板のトレース、ワイヤ、ビア、介在装置、及び／又は他の相互接続のような、メモリ素子２０２とプロセッサ２００との間の通信を助けることができる如何なる種類の信号経路として具現化されてもよい。
【００２３】
コンピュータ装置１０２、１１０はまた、ネットワーク１０６を介して互いに通信するために通信回路２２０を有する。通信回路２２０は、コンピュータ装置１０２、１１０との間の通信を可能にする如何なる数の装置及び回路として具現化されてもよい。例えば、通信回路２２０は、アクセス・ポイント１０８を介して他のコンピュータ装置１０２、１１０と通信する１又は複数の有線又は無線ネットワーク・インタフェース・カード（ＮＩＣ）又は他のネットワーク通信カード、モジュール若しくは回路として具現化されてもよい。
【００２４】
コンピュータ装置１０２、１１０は、データ記憶装置２２２、ディスプレイ装置２２４及び他の周辺装置２２６のような追加の周辺装置を有してもよい。通信回路２２０、データ記憶装置２２２、ディスプレイ装置２２４、及び他の周辺装置２２６のそれぞれは、信号経路２３０を介してチップセット２０４に通信可能に結合される。再び、信号経路２０８と同様に、信号経路２３０は、例えば如何なる数のバス経路、プリント回路基板のトレース、ワイヤ、ビア、介在装置、及び／又は他の相互接続のような、チップセット２０４、通信回路２２０、データ記憶装置２２２、ディスプレイ装置２２４、及び他の周辺装置２２６の間の通信を助けることができる如何なる種類の信号経路として具現化されてもよい。
【００２５】
データ記憶装置２２２は、例えばメモリ素子及び回路、メモリ・カード、ハードディスク・ドライブ、固体ドライブ、又は他のデータ記憶装置のようなデータの短期若しくは長期記憶のために構成された如何なる種類の装置として具現化されてもよい。ディスプレイ装置２２４は、例えば液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、又は他のディスプレイ装置のような、コンピュータ装置１０２、１１０のユーザにデータを表示する如何なる種類のディスプレイ装置として具現化されてもよい。周辺装置２２６は、入力装置、出力装置及び他のインタフェース装置を含む如何なる数の追加周辺装置を有してもよい。例えば、周辺装置２２６は、コンピュータ装置１０２、１１０に入力を供給するキーボード及び／又はマウスを有してもよい。周辺装置２２６に含まれる特定の数及び種類の装置は、例えばコンピュータ装置１０２、１１０の使用目的に依存してもよい。
【００２６】
図３を参照する。システム１００のアクセス・ポイント１０８におけるデータ転送の輻輳を検出及び低減する方法３００は、送信元コンピュータ装置１０２により実行されてもよい。方法３００は、ブロック３０２で開始する。ブロック３０２では、コンピュータ装置群１０４が送信元コンピュータ装置１０２により決定される。そうするために、コンピュータ装置１１０のそれぞれは、コンピュータ装置１０２に登録し、送信元コンピュータ装置１０２が各コンピュータ装置１１０のネットワーク・アドレス（例えばＭＡＣアドレス）へのアクセスを有するようにしてもよい。このような登録は、手動で又は自動的に実行されてもよい。例えば、幾つかの実施形態では、コンピュータ装置１１０のネットワーク・アドレスは、送信元コンピュータ装置１０２に手動で入力され、そこに（例えばメモリ２０２及び／又はデータ記憶装置２２２に）格納されてもよい。或いは、送信元コンピュータ装置１０２は、コンピュータ装置１１０に問い合わせるか又はコンピュータ装置１１０のネットワーク・アドレスを送信元コンピュータ装置１０２に送信するよう要求してもよい。とにかく、ブロック３０２で、各コンピュータ装置１１０は送信元コンピュータ装置１０２に登録される。
【００２７】
ブロック３０４で、送信元コンピュータ装置１０２は、１又は複数のコンピュータ装置１１０をシンク・コンピュータ装置１１２として選択する。上述のように、シンク・コンピュータ装置１１２は、以下に更に詳細に議論されるように、往復遅延時間値に基づきアクセス・ポイント１０８の現在のデータ転送の輻輳を決定するために送信元コンピュータ装置１０２がインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットを向けるよう選択されたコンピュータである。送信元コンピュータ装置１０２は、如何なる適切な方法又はアルゴリズムを用いてコンピュータ装置１１０からシンク・コンピュータ装置１１２を選択してもよい。例えば、一実施形態では、送信元コンピュータ装置１０２は、適切なランダム生成アルゴリズムを用いてコンピュータ装置１１０からシンク・コンピュータ装置１１２をランダムに選択してもよい。或いは、送信元コンピュータ装置１０２は、特定の基準又は各コンピュータ装置１１０に関連付けられたデータに基づきシンク・コンピュータ装置１１２を選択してもよい。例えば、一実施形態では、送信元コンピュータ装置１０２は、各コンピュータ装置１１０の受信信号強度（ＲＳＳＩ）測定、各コンピュータ装置１１０の信号対雑音比（ＳＮＲ）測定、又は通信品質に関する特定の他の測定又は同様のものに基づき、コンピュータ装置１１０からシンク・コンピュータ装置１１２を選択するよう構成される。このような実施形態では、コンピュータ装置１１０は、ブロック３０２におけるコンピュータ装置群の登録中に、このような測定基準を送信元コンピュータ装置に送信するよう構成されてもよい。或いは、このような測定は、コンピュータ装置１１０毎に手動で決定されてもよい。このような実施形態では、シンク・コンピュータ装置１１２はこのような測定に基づき手動で選択されてもよい。
【００２８】
送信元コンピュータ装置１０２は、シンク・コンピュータ装置１１２を１回又は複数回選択してもよい。例えば、幾つかの実施形態では、送信元コンピュータ装置１０２は、コンピュータのセッション毎に又は定期的に（例えば、毎時、毎日、毎週等）、シンク・コンピュータ装置１１２を再選択するよう構成されてもよい。更に、幾つかの実施形態では、送信元コンピュータ装置１０２は、特定の基準又は測定に基づき、コンピュータ装置１１０からシンク・コンピュータ装置１１２を再選択するよう構成されてもよい。例えば、送信元コンピュータ装置１０２は、ＲＳＳＩ、ＳＮＲ又は他の信号測定値が特定の所定の閾より高く増大したとき、シンク・コンピュータ装置１１２から受信される再送要求のレートが特定の所定の閾より下に減少したとき、又は同様のときに、シンク・コンピュータ装置１１２を再選択してもよい。このように、送信元コンピュータ装置１０２は、ＲＳＳＩ、ＳＮＲ又は他の信号測定値のうちの最低のもの又は最低のもののうちの１つを有するコンピュータ装置１１０がシンク・コンピュータ装置１１２として選択されることを保証してもよい。更に、送信元コンピュータ装置１０２は、コンピュータ装置１１０から単一の又は複数のシンク・コンピュータ装置１１２を選択してもよい。複数のシンク・コンピュータ装置１０２が選択される実施形態では、往復遅延時間値を決定するために、送信元コンピュータ装置１０２は、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットをシンク・コンピュータ装置１１２のそれぞれへ送信するよう構成される。
【００２９】
ブロック３０６で、送信元コンピュータ装置１０２は、初期又は開始データ・レート及びピーク又は最大データ・レートを定める。そうするために、送信元コンピュータ装置１０２は、単に初期及びピーク・データ・レートを所定の量に設定してもよい。初期データ・レートは、送信元コンピュータ装置１０２がコンピュータ装置１１０へのデータ伝送（例えばマルチキャスト）を開始するデータ・レートである。ピーク・データ・レートは、データ転送の輻輳の前に最大データ・レートを追跡するため及び以下に議論されるように新しいデータ・レートを決定するために用いられる。
【００３０】
初期データ・レート及びピーク・データ・レートが定められた後、又はブロック３０６で決定された後、ブロック３０８で、送信元コンピュータ装置１０２は、現在のデータ・レート（当初は開始データ・レートに等しい）を用いてコンピュータ装置１１０へデータを送信し始める。ブロック３０８でコンピュータ装置１１０へデータを送信するのと同時に、送信元コンピュータ装置１０２は、ブロック３１０でネットワークを監視するよう構成される。送信元コンピュータ装置１０２は、周期的に、ランダムな間隔で又は実質的に絶えずネットワーク輻輳（つまり、アクセス・ポイント１０８におけるデータ転送の輻輳）を監視してもよい。これを行うため、送信元コンピュータ装置１０２は、ブロック３１２で、シンク・コンピュータ装置１１２へ送信されたインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットの往復遅延時間値を決定する。つまり、送信元コンピュータ装置１０２は、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットをシンク・コンピュータ装置１１２へ送信し、該インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットに応答するシンク・コンピュータ装置１１２からの応答を受信するまでの経過時間を測定する。往復遅延時間値は経過時間に等しい。しかしながら、幾つかの実施形態では、所定の最大時間期間内にシンク・コンピュータ装置１１２から如何なる応答も受信されないならば、往復遅延時間値は、最大値に設定されてもよい。
【００３１】
往復遅延時間値は、アクセス・ポイント１０８及び／又はシステム１００の他の構成要素におけるデータ転送の輻輳の指標であることが理解されるべきである。このように、往復遅延時間値の値が高いほど、輻輳の量が多いことを示す。ブロック３１４で、送信元コンピュータ装置１０２は、測定された往復遅延時間値が閾値よりも高いか否かを決定する。閾値は、予め定められ及び／又は時間とともに調整されてもよい。往復遅延時間値が閾値より小さい場合、ブロック３１６で、現在のデータ・レートは増大される。つまり、ブロック３１６で、ブロック３０８でコンピュータ装置１１０へデ―タを送信するために送信元コンピュータ装置１０２により用いられたデータ・レートは増大される。現在のデータ・レートは、時間に関して、直線的に又は非直線的に増大されてもよい。例えば、幾つかの実施形態では、データ・レートは所定の固定量だけ増大されてもよい。或いは、データ・レートは時間とともに指数関数的に増大されてもよい。更に、ブロック３１８で、ピーク・データ・レートは現在のデータ・レートに設定される。このように、ピーク・データ・レートは、軽いデータ・トラフィック輻輳の間、現在のデータ・レートを追跡する。
【００３２】
ブロック３１４を参照する。往復遅延時間値が閾値より大きい場合、ブロック３２０で、ピーク・データ・レートは減少される。そうするために、ピーク・データ・レートは、所定の固定量、割合の量又は他の量だけ減少されてもよい。１つの特定の実施形態では、ブロック３２０で、ピーク・データ・レートは、約１０パーセントだけ減少される（つまり、新しいピーク・データ・レートは現在のピーク・データ・レートの９０パーセントである）。幾つかの実施形態では、図４に関して以下に詳細に議論されるように、ピーク・データ・レートは、所定の時間期間の間だけ減少される。このように、特定の時間量の後、ピーク・データ・レートはもはや減少されず、送信元コンピュータ装置１０２は新しいローカル最大データ・レートを再び探してもよい。
【００３３】
ブロック３２２で、現在のデータ・レートも減少される。幾つかの実施形態では、現在のデータ・レートは、所定の固定量、割合の量又は同様のものだけ減少されてもよい。１つの特定の実施形態では、現在のデータ・レートは、前の開始値と現在のピーク・データ・レートとの間の中間点データ・レート値まで減少される。そうするために、送信元コンピュータ装置１０２は、現在のピーク・データ・レートと最初にゼロ又は別の初期値に設定されてもよい前に決定された中間点データ・レートを加算することにより、新たな中間点データ・レートを計算してもよい。ピーク・データ・レートと前の中間点データ・レートとの和は、新たな中間点データ・レートを決定するために、２で割られる。現在のデータ・レートは、新たに決定された中間点データ・レートに設定される。新たに決定された中間点データ・レートは次に後続の計算で前の中間点データ・レートとして用いられる。このように、現在のデータ・レートは、時間とともに増大する新たな開始値まで減少される。例えば、図５に示されるように、データ・レート５０２は、ローカル・ピーク・データ・レート５０４まで増大され、ローカル中間点データ・レート５０６まで減少され、別のローカル・ピーク・データ・レート５０８まで増大され、再びローカル中間点データ・レート５１０まで減少され、現在のアクセス・ポイント輻輳値５１４より低いローカルの「最適な」データ・レート５１２の値が得られるまで同様である。
【００３４】
図４を参照する。別の実施形態では、送信元コンピュータ装置１０２は、システム１００のアクセス・ポイント１０８におけるデータ転送の輻輳を検出及び低減する方法４００を実行してもよい。方法４００は、例えば図３に関して上述した方法３００のブロック３０６及び３１０の代わりに実行されてもよい。方法４００は、ブロック４０２で開始する。ブロック４０２では、送信元コンピュータ装置１０２は、初期又は開始データ・レート、ピーク又は最大データ・レート、データ・レート閾値（ブロック４１０、４１６及び４２０に関して以下を参照）及びピーク回避期間を定める。ブロック３０６と同様に、初期データ・レート、ピーク・データ・レート、閾値及びピーク回避期間のそれぞれは、ブロック４０２で初期値に設定されてもよい。上述のように、初期データ・レートは、送信元コンピュータ装置１０２がコンピュータ装置１１０へのデータ伝送（例えばマルチキャスト）を開始するデータ・レートである。ピーク・データ・レートは、データ転送の輻輳の前に最大データ・レートを追跡するため及び以下に議論されるように新しいデータ・レートを決定するために用いられる。データ・レート閾値は、ネットワーク輻輳のレベル及びそれへの応答を決定するために用いられる。ピーク回避期間は、方法３００のブロック３２０に関して上述したように大量のネットワーク輻輳が検出された場合に、ピーク・データ・レートが減少される時間長を定める。
【００３５】
ブロック４０４−４０８で、送信元コンピュータ装置１０２は、シンク・コンピュータ装置１１２へ送信されたインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットの往復遅延時間値を決定する。これを行うため、ブロック４０４で、送信元コンピュータ装置１０２は、シンク・コンピュータ装置１１２へインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットを送信する。ブロック４０６で、送信元コンピュータ装置１０２は、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットに応答するシンク・コンピュータ装置１１２からの応答を受信する。送信元コンピュータ装置１０２は、ブロック４０８で、インターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットを送信してから、シンク・コンピュータ装置１１２からの応答を受信するまでの経過時間を測定することにより、往復遅延時間値を決定する。所定の最大時間期間内にシンク・コンピュータ装置１１２から如何なる応答も受信されないならば、往復遅延時間値は、最大値に設定されてもよい。
【００３６】
次に、ブロック４１０、４１６及び４２０で、送信元コンピュータ装置１０２は、往復遅延時間値を複数の閾値と比較し、それに応答して１又は複数の動作を実行する。例えば、ブロック４１０で、送信元コンピュータ装置１０２は、測定された往復遅延時間値が、最低値のネットワーク輻輳を示すために選択されてもよい最低値の閾値よりも低いか否かを決定する。往復遅延時間値が最低値の閾値より小さい場合、ブロック４１２で、現在のデータ・レートは増大される。つまり、ブロック４１２で、コンピュータ装置１１０へデータを送信するために送信元コンピュータ装置１０２により用いられたデータ・レートは増大される。現在のデータ・レートは、時間に関して、直線的に又は非直線的に増大されてもよい。例えば、幾つかの実施形態では、データ・レートは所定の固定量だけ増大されてもよい。或いは、データ・レートは時間とともに指数関数的に増大されてもよい。更に、ブロック４１４で、ピーク・データ・レートは現在のデータ・レートに設定される。このように、図３及び５に関して上述したように、ピーク・データ・レートは、軽いデータ・トラフィック輻輳の間、現在のデータ・レートを追跡する。
【００３７】
ブロック４１６を参照する。測定された往復遅延時間値が最低値の閾値より大きく、最高値の閾値より小さい場合、ブロック４１８で、送信元コンピュータ装置１０２は、データ・レートを現在のデータ・レートに、またピーク・データ・レートをその現在の値に維持する。しかしながら、ブロック４２０で送信元コンピュータ装置１０２が測定された往復遅延時間値は最高値の閾値よりも高いと決定した場合、方法４００はブロック４２２へ進む。ブロック４２２で、送信元コンピュータ装置１０２はピーク回避期間が終了したか否かを決定する。終了していない場合、ブロック４２４でピーク・データ・レート減少される。そうするために、ピーク・データ・レートは、所定の固定量、割合の量又は他の量だけ減少されてもよい。１つの特定の実施形態では、ブロック４２４で、ピーク・データ・レートは、約１０パーセントだけ減少される（つまり、新しいピーク・データ・レートは現在のピーク・データ・レートの９０パーセントである）。しかしながら、ピーク回避期間が終了していない場合、方法はブロック４２６へ進み、ピーク・データ・レートは減少されない。ピーク回避期間は周期的に又は所定の期間の間にピーク・データ・レートが現在のレートに維持されているのに応答して再スタートされてもよいことが理解されるべきである。
【００３８】
ブロック４２６で、現在のデータ・レートも減少される。幾つかの実施形態では、現在のデータ・レートは、所定の固定量、割合の量又は同様のものだけ減少されてもよい。１つの特定の実施形態では、現在のデータ・レートは、前の開始値と現在のピーク・データ・レートとの間の中間点データ・レート値まで減少される。そうするために、送信元コンピュータ装置１０２は、現在のピーク・データ・レートと最初にゼロ又は別の初期値に設定されてもよい前に決定された中間点データ・レートを加算することにより、新たな中間点データ・レートを計算してもよい。ピーク・データ・レートと前の中間点データ・レートとの和は、新たな中間点データ・レートを決定するために、２で割られる。現在のデータ・レートは、新たに決定された中間点データ・レートに設定される。新たに決定された中間点データ・レートは次に後続の計算で前の中間点データ・レートとして用いられる。このように、現在のデータ・レートは、図５に示されたように及び図３に関して上述されたように時間とともに増大する新たな開始値まで減少される。方法４００は、次にブロック４０４へループバックし、ネットワークの輻輳の量を再び測定し、相応して以上に詳細に議論されたように応答する。
【００３９】
システム１００及び方法３００、４００は、データ転送の輻輳を検出及び低減するためにインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）パケットを用いるとして上述されたが、他の実施形態では他の通信プロトコルが用いられてもよいことが理解されるべきである。例えば、幾つかの実施形態では、上述と同様の方法でアクセス・ポイント１０８のデータ転送の輻輳を決定し低減するために、他のユーザ・データグラム・プロトコル（ＵＤＰ）パケットが送信元コンピュータ装置１０２（又はシステム１００の他のコンピュータ装置）により用いられてもよい。
【００４０】
本開示は図面及び前述の記載で詳細に説明及び記載されたが、このような説明及び記載は例であると考えられ、特徴を制限するものではない。単に説明のための実施形態が示され説明されたこと、及び本開示の精神の範囲内にある全ての変化及び変更が保護されるべきであることが理解される。
【符号の説明】
【００４１】
１００  システム
１０２、１１０  コンピュータ装置
１０４  コンピュータ装置群
１０６  ネットワーク
１０８  アクセス・ポイント
１１２  シンク・コンピュータ装置
１１４  追加コンピュータ装置
１３０  外部ネットワーク
２００  インバンド・プロセッサ
２０２  メモリ
２０４  チップセット
２０６  プロセッサ・コア
２２０  通信回路
２２２  データ記憶装置
２２４  ディスプレイ装置
２２６  他の周辺装置
【図１】
2014014126.tif 000003
【図２】
2014014126.tif 000004
【図３】
2014014126.tif 000005
【図４】
2014014126.tif 000006
【図５】
2014014126.tif 000007