(57)【要約】  ピアツーピアネットワークにおいて、ネットワーク上で輻輳を意味する１つ以上の輻輳イベントが、定義される。さらに、ネットワーク上で輻輳の欠落を意味する１つ以上の非輻輳イベントが、定義される。ノードが、定義された輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコル（例えば、ＵＤＰ）のパケットの間隔を増加させる。ノードが、定義された非輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコルのパケットの間隔を減少させる。
2008523643.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピアネットワーク内のノードによって実行され、前記ピアツーピアネットワーク内のトラフィック管理のための方法であって、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信されるコネクションレスプロトコルパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信される前記コネクションレスプロトコルパケットの間隔を減少させること
を含むことを特徴とする方法。
【請求項２】
前記輻輳イベント又は前記非輻輳イベントのいずれかの発生用にノードの動作を監視すること
を更に含むことを特徴とする請求項１記載の方法。
【請求項３】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１記載の方法。
【請求項５】
前記１つ以上の輻輳イベントは、マルチキャストリクエストを送信すること
を含むことを特徴とする請求項１記載の方法。
【請求項６】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、
多重応答を前記マルチキャストリクエストに送信すること
を含むことを特徴とする請求項１記載の方法。
【請求項７】
前記１つ以上の輻輳イベントは、パケットを送信するのを待つ間、マルチキャストリクエストを受信すること
を含むことを特徴とする請求項１記載の方法。
【請求項８】
前記１つ以上の輻輳イベントは、パケットを送信するのを待つ間、ユニキャスト応答を受信すること
を含むことを特徴とする請求項１記載の方法。
【請求項９】
前記コネクションレスプロトコルは、ユーザーデータグラムプロトコルであること
を特徴とする請求項１記載の方法。
【請求項１０】
前記ノードは、組込みシステムであること
を特徴とする請求項１記載の方法。
【請求項１１】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させること
を含むことを特徴とするノード。
【請求項１２】
前記方法は、更に、前記輻輳イベント又は前記非輻輳イベントのいずれかの発生のために、ノードの動作を監視すること
を含むことを特徴とする請求項１１記載のノード。
【請求項１３】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１１記載のノード。
【請求項１４】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１１記載のノード。
【請求項１５】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信することと、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、前記マルチキャストリクエストに多重応答を送信する処理と、
パケットを送信するのを待つ間、前記マルチキャストリクエストを受信する処理と、
パケットを送信するのを待つ間、ユニキャスト応答を受信する処理と
から構成されるグループから選択されることを特徴とする請求項１１記載のノード。
【請求項１６】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させること
を含むことを特徴とするコンピュータ読み込み可能な媒体。
【請求項１７】
前記方法は、更に、前記輻輳イベント又は前記非輻輳イベントのいずれかの発生用にノードの動作を監視すること
を含むことを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【請求項１８】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【請求項１９】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【請求項２０】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信することと、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、前記マルチキャストリクエストに多重応答を送信する処理と、
パケットを送信するのを待つ間、前記マルチキャストリクエストを受信する処理と、
パケットを送信するのを待つ間、ユニキャスト応答を受信する処理と
から構成されるグループから選択されることを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的なコンピュータとコンピュータ関連技術に関する。より具体的には、本発明は、ピアツーピアネットワーク内のトラフィックを管理するためのシステム及び方法に関する。
【背景技術】
【０００２】
コンピュータや通信技術は、急速な歩みで進み続けている。事実、コンピュータや通信技術は、人間の日常の多くの側面に関わる。例えば、今日消費者によって使用される多くの装置は、その装置内部に小型コンピュータを有する。これらの小型コンピュータは、精密さに関して様々なサイズ及び程度のものが提供されている。これらの小型コンピュータは、１つのマイクロコントローラから、全ての機能を持つ完全なコンピュータシステムまで、全てを含んでいる。例えば、これらの小型コンピュータは、マイクロコントローラのようなワンチップコンピュータ、コントローラのような１ボードのタイプのコンピュータ、ＩＢＭTM−ＰＣコンパチブルのような典型的なデスクトップコンピュータなどであっても良い。
【０００３】
コンピュータは、一般的に、そのコンピュータの心臓部に１つ以上のプロセッサを有する。プロセッサは、通常、異なる外部の入力と出力に相互接続されており、特定のコンピュータ又は装置を管理するために機能する。例えば、サーモスタットのプロセッサは、温度設定を選択するために使用されるボタン、温度を変えるための暖炉やエアコン、及び現在の温度をディスプレイ上から読んだり表示したりするための温度センサと接続できる。
【０００４】
多くの電気製品や装置などは、１つ以上の小型コンピュータを含んでいる。例えば、サーモスタット、暖炉、空調システム、冷蔵庫、電話機、タイプライタ、自動車、自動販売機、及び多くの異なるタイプの産業機器は、現在一般的に、小型コンピュータ又はプロセッサをそれらの内部に有する。コンピュータソフトウェアは、これらコンピュータのプロセッサを動かして、いかに所定のタスクを実行するかをプロセッサに指示する。例えば、サーモスタット上で動作するコンピュータソフトウェアは、特定の温度に達している場合エアコンの実行を止めたり、又は必要に応じて暖房機をオンにしたりすることができる。
【０００５】
装置、電気製品、ツールなどの一部であるこれらのタイプの小型コンピュータは、しばしば組込み機器又は組込みシステムと呼ばれる。（用語「組込み機器」と「組込みシステム」は本明細書において互換性を持って使用される）。組込みシステムは、通常、コンピュータハードウェアと、より大きいシステムの一部であるソフトウェアについて言及する。組込みシステムは、キーボード、マウス、及び／又はモニタなどの典型的な入出力装置を有することができない。通常、それぞれの心臓部で組み込まれているシステムは、１つ以上のプロセッサである。
【０００６】
照明システムは組込みシステムを組み込むことができる。照明システムの効力を監視し、制御するために組込みシステムを使用できる。例えば、組込みシステムは、照明システムの中で照明の明るさを薄暗くするための制御を与えることができる。あるいはまた、組込みシステムは、照明の明るさを強めるための制御を与えることができる。組込みシステムは、照明システム内の個々の照明内の特定の照明パターンを起動するための制御を与えることができる。組込みシステムは、照明システム内の個々のスイッチと結合できる。これらの組込みシステムは、個々の照明又は全体の照明システムにパワーアップ、パワーダウンするためのスイッチ対して指示できる。同様に、組込みシステムは、照明システム内の個々の照明と結合できる。それぞれの個々の照明の明るさ又は電源状態は、組込みシステムにより制御できる。
【０００７】
セキュリティシステムもまた、組込みシステムを組み込むことができる。組込みシステムは、セキュリティシステムを備える個人セキュリティセンサを制御するために使用できる。例えば、組込みシステムは、それぞれのセキュリティセンサを自動的に強化する制御を与えることができる。組込みシステムは、それぞれの個人セキュリティセンサと結合できる。例えば、組込みシステムは、動作センサと結合できる。動きが検出された場合、組込みシステムは、自動的に個々の動作センサをパワーアップして、動作センサを作動するための制御を与えることができる。動作センサの作動では、動作センサの中に配置されたＬＥＤをパワーアップするための指示を与えたり、動作センサの出力部からアラームを出力したり、等を含むことができる。組込みシステムは、ドアを監視するセンサとも結合できる。組込みシステムは、ドアが開けられるか、又は閉じられるとき、作動するためにドアを監視するセンサに指示を与えることができる。同様に、組込みシステムは、窓を監視するセンサと結合できる。窓が開けられるか、閉じられた場合、組込みシステムは、窓のセンサモニタリングを作動するために指示を与えることができる。
【０００８】
携帯電話などのワイヤレス製品を制御するのにもまた、いくつかの組込みシステムを使用できる。組込みシステムは、携帯電話のＬＥＤディスプレイをパワーアップするための指示を与えることができる。組込みシステムは、携帯電話に関する音声通知をユーザに与えるために、携帯電話内のオーディオスピーカーもまた作動することができる。
【０００９】
家庭電化製品もまた、組込みシステムを組み込むことができる。家電は、従来の台所で通常使用される電気製品、例えば、ストーブ、冷蔵庫、電子レンジなどを含むことができる。家電はまた、ユーザの健康と快適な暮らしに関する電気製品を含むことができる。例えば、マッサージリクライニングシートは、組込みシステムを組み込むことができる。組込みシステムは、椅子の背もたれ部分を、ユーザの好みに従って自動的にもたれさせるための指示を与えることができる。組込みシステムはまた、リクライニングシート内の振動を、ユーザの好みに従って引き起こす椅子内の振動装置を始動するためにも指示を与えることができる。
【００１０】
家庭内で通常備えられる更なる製品もまた、組込みシステムを組み込むことができる。例えば、コンテナータンクを詰め替えるのに使用される水のレベルを制御するために、トイレ内で組込みシステムを使用できる。空気の流出を制御するためにジェットバス内で組込みシステムを使用できる。
【００１１】
上記のように、組込みシステムは、多くの異系統、資源、製品などを監視又は制御するために使用できる。インターネットとワールドワイドウェブの発展で、組込みシステムは、リモートで制御及び／又は監視されることができるように、ますますインターネットに接続されるようになる。ローカルエリアネットワークや広域ネットワークなどを含むコンピュータネットワークに、他の組込みシステムを接続できる。本明細書で用いられるように、用語「コンピュータネットワーク」（又は、単に「ネットワーク」）は、一連のノードが通信パスによって相互接続されるどのようなシステムをも示す。用語「ノード」は、コンピュータネットワークの一部として接続されるどのような装置をも示す。組込みシステムがネットワークノードであっても良い。ネットワークノードの他の実施例は、コンピュータ、携帯情報端末（ＰＤＡ：Personal Digital Assistants）、携帯電話などを含んでいる。
【００１２】
一部の組込みシステムは、コンピュータネットワークを用いて、他のコンピュータ機器に対してデータ及び／又はサービスを提供できる。多くの異種のサービスを提供できる。サービスのいくつかの実施例は、ある場所から温度データを提供したり、監視データを提供したり、気象情報を提供したり、オーディオストリームを供給したり、ビデオストリーム提供したりすることなどを含んでいる。
【００１３】
複数のノード（少なくともいくつかの組込みシステムを含む）は、ピアツーピアネットワークを形成するために相互接続されることができる。ピアツーピアコンピュータネットワークは、各ノードが別々のサーバーコンピュータ又はサーバソフトウェアに接続することなく、他のノードと通信できるネットワークである。ピアツーピアネットワークは、比較的少ない数のサーバで集結するよりも、むしろネットワークにおける参加者のコンピュータ能力と帯域幅を当てにする。ピアツーピアネットワークは、主にその場限りの接続を介して、接続ノードとして使用できる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ピアツーピアネットワーク内の多くのノードは、およそ同時にお互いにコミュニケートでき、その結果、ネットワークは混雑するようになるかもしれない。これが生じる場合、他のノードが今やパケットを送るとき、ノードはネットワークを利用できないであろう。ピアツーピアネットワークにおけるセントラルサーバーノードの欠落で、この問題は、より深刻になる。パケット損失を最小にする試みが、スループット、すなわち、ネットワークを通して伝送されるデータ量に、過度に影響することは知られている。従って、パケット損失を最小にする間のスループットを最大にするために、ピアツーピアネットワーク内のトラフィック管理に関する改良によってメリットを実現できる。
【課題を解決するための手段】
【００１５】
ピアツーピアネットワーク内でトラフィックを管理するためのシステム及び方法が、開示される。例示された実施形態では、ピアツーピアネットワークで輻輳を意味する１つ以上の輻輳イベントが、定義される。さらに、ピアツーピアネットワークで輻輳の欠落を意味するが、将来の網輻輳を予測する／予測するのを支援することができる１つ以上の非輻輳イベントが、定義される。ノードが、定義された輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコル（例えば、ユーザーデータグラムプロトコル）パケットの間隔を増加させる。ノードが、定義された非輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコルパケットの間隔を減少させる。ピアツーピアネットワーク内のノードのいくつかが、組込みシステムであっても良い。
【００１６】
多くの異種の非輻輳イベントと輻輳イベントを定義することができる。一例の非輻輳イベントは、ノードがマルチキャストリクエストとマルチキャストリクエストに関連する応答機リストとを受信するということであり、ノードは応答機リストに含まれている。逆に、一例の輻輳イベントは、ノードがマルチキャストリクエストとマルチキャストリクエストに関連する応答機リストとを受信するということであり、ノードは、それが含まれるべきであるとき、応答機リストに含まれていない。
【００１７】
別の例の輻輳イベントは、ノードがマルチキャストリクエストを送るということである。別の例の輻輳イベントは、ノードがマルチキャストリクエストを受信するが、マルチキャストリクエストに関連する応答機リストは受信しないで、ノードがマルチキャストリクエストに多重応答を送信するということである。別の例の輻輳イベントは、パケットを送信するのを待つ間、ノードがマルチキャストリクエストを受信するということである。別の例の輻輳イベントは、パケットを送信するのを待つ間、ノードがユニキャスト応答を受信するということである。
【発明を実施するための最良の形態】
【００１８】
本発明の例示された実施形態は、以下の説明と添付の特許請求の範囲から、添付図面と共により完全に明らかになる。これらの図面について理解することは、例示された実施形態についてのみ描いていることであり、従って、本発明の範囲の限定であることは考慮されない。本発明の例示された実施形態は、更なる特定性で説明され、添付図面を用いて詳しく述べる。
【００１９】
図面を参照しながら本発明の様々な実施例について説明する。同一参照番号は同一か機能上同様の要素を示す。本明細書において一様に説明し図面に示す本発明の実施例は、広く様々な異なる形態でアレンジし設計することができるであろう。それ故、図面で表される本発明の様々に例示された実施形態の以下のより詳細な説明は、本発明のクレームとしての範囲を限定する意図でなく、単に本発明の実施例を示す意図である。
【００２０】
「例」という言葉は、「実施例、実例、又は図示としての役目をすること」を意味するために本明細書において排他的に使用される。本明細書に「例」として記述されたどんな実施例も、他の実施例を越えて好ましい又は有利であると理解されるために必ずしも必要ではない。図面に実施例の種々の外観を提示するが、特別に示さなかったといって、比例するように必ずしも図面を作成するというわけではない。
【００２１】
本明細書に開示された実施例の多くの素材を、コンピュータソフトウェア、電子ハードウェア、又は両方の組合せとして、実施することができる。一般的に、明確にハードウェアとソフトウェアのこの互換性を示すために、それらの機能性において種々の装置について説明する。そのような機能性がハードウェア又はソフトウェアとして実施されるか否かは、システム全体に課された特殊なアプリケーションと設計制約条件に依存する。当業者は各特殊アプリケーションのために様々な方法で説明した機能性を実施することができるが、本発明の範囲から逸脱して、そのような実施決定を解釈するべきでない。
【００２２】
説明された機能性がコンピュータソフトウェアとして実施される場合、そのようなソフトウェアは、どのようなタイプの機械命令も含むことができるか、コンピュータ実行可能コードがメモリデバイスの中に位置し及び／又は電子信号としてシステムバス又はネットワーク上を伝送される。本明細書で説明される装置に関連する機能性を実施するソフトウェアは、ただ一つの指示、又は多くの指示を具備することができ、異なるプログラムの中といくつかのメモリデバイスにまたがって、様々な異なるコードセグメントに分散できる。
【００２３】
図１は、いくつかの実施例を実施できる、一例のピアツーピアネットワーク１００を示している。ネットワーク１００は複数のノード１０２を含んでいる。特に、ネットワーク１００は、ノード（Ａ）１０２ａ、ノード（Ｂ）１０２ｂ、ノード（Ｃ）１０２ｃ、及びノード（Ｄ）１０２ｄを含んでいる。ネットワーク１００はまた、ノード１０２に互いに接続するハブ１０４、及びインターネット１０８を介してノード１０２がネットワーク１００の外で他の装置とコミュニケートするのを可能にするルーター１０６も含んでいる。もちろん、インターネット１０８は、ルーター１０６を通してアクセスできるネットワークの１つのタイプに過ぎない。
【００２４】
図１に示される実線は、ノード１０２間の物理接続を示している。それ故、各ノード１０２は、物理的にハブ１０４に接続される。ルーター１０６はまた、物理的にハブ１０４と、インターネット１０８とにも接続される。図１に示される点線は、ネットワーク１００上の各ノード１０２が、ネットワーク１００上の他の全てのノード１０２とコミュニケートできることを示す。同様に、インターネット１０８上の１つ以上の装置は、ネットワーク１００におけるノード１０２と通信でき、そして、逆もまた同様である。
【００２５】
本明細書に開示された実施例は、少なくともノード１０２のいくつかが組込みシステムであるピアツーピアネットワーク１００で実施されることができる。以上で論じたように、通常、用語「組込みシステム」は、コンピュータハードウェアと、より大きいシステムの一部であるソフトウェアを示す。図１に表わされるネットワーク１００では、ノード１０２のいくつかが、組込みシステムであっても良い。
【００２６】
図１に示されるネットワーク１００は、例だけの目的に供される。簡単にするために、図１に示されるネットワーク１００は、いくつかのノード１０２を含んでいるだけである。しかしながら、この実施例は、もっと多くのノード１０２を含んでいるピアツーピアネットワークで実施できる。この実施例は、より少ないノード１０２を含んでいるピアツーピアネットワークでもまた実施できる。
【００２７】
ネットワーク１００内のノード１０２のいくつか又は全てを、ネットワーク１００における他のノード１０２へのメッセージをマルチキャストするように構成できる。本明細書で用いられるように、用語「マルチキャスティング」は、ネットワーク１００上の１つ以上のノード１０２に同時にメッセージを送る処理を示す。マルチキャスティングは、ネットワーク内のノードの特定のグループにメッセージを送信するマルチキャスティング手段であるところがブロードキャストとは異なっているが、ブロードキャストは、ネットワーク上の全てのノードにメッセージを送信することを意味する。ネットワーク１００内のノード１０２はまた、他のネットワークノード１０２へのメッセージをユニキャストするように構成できる。用語「ユニキャスティング」は、ネットワーク１００における特定のノード１０２にメッセージを送ることを示す。ＵＤＰ（ユーザーデータグラムプロトコル）などのコネクションレスなトランスポートプロトコルは、マルチキャスティングと他のネットワークノード１０２へのユニキャスティングメッセージとの双方に、使用できる。あるいはまた、ブロードキャストがマルチキャストに代わって使用されるネットワーク１００で、本発明の実施例を実施できる。ブロードキャストは、マルチキャストの特殊ケースであり、マルチキャストグループが全てのノード１０２を含んでいる。
【００２８】
少なくともノード１０２のいくつかが、ネットワーク１００上の他のノード１０２に対するデータ及び／又はサービスを提供できる。ノード１０２はまた、例えば、インターネット１０８を介して、ネットワーク１００の外に配置されている装置に対するデータ及び／又はサービスも提供できる。
【００２９】
本明細書で用いられるように、用語「マルチキャストリクエスト」は、マルチキャストによって送信されるデータ及び／又は１つ以上のサービスのためのリクエストを示す。マルチキャストリクエストは、マルチキャストグループに宛てて、（理想的には）マルチキャストグループに結合したノード１０２の全てに配送される。「リクエスタ」は、マルチキャストリクエストを送信するノード１０２である。「応答機」は、マルチキャストリクエストに応答するノード１０２である。図２Ａ−２Ｆは、ピアツーピアネットワーク１００内のノード２０２が、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示している。図示された例は、４つのノード２０２、すなわち、ノード（Ａ）２０２ａ、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄにかかわる。
【００３０】
図２Ａに示すように、ノード（Ａ）２０２ａは、初めに、サービス２１２のためのリクエスト２１０をマルチキャストする。リクエスト２１０に加えて、ノード（Ａ）２０２ａはまた、リクエスト２１０関連する応答機リスト２１４にもマルチキャストする。例えば、トランザクションＩＤは、リクエスト２１０と応答機リスト２１４の両方に関連づけられる。大まかに言えば、マルチキャストリクエスト２１０で関連する応答機リスト２１４は、以前にマルチキャストリクエスト２１０に応答したノード２０２のリストである。以下でさらに詳細に説明するように、ネットワーク１００内でデータのスループットを改善するために、応答機リスト２１４を使用できる。図２Ａでは、応答機リスト２１４は空である。これは図２Ａでは、リクエスタ２０２ａが初めてマルチキャストリクエスト２１０を送信するのを示しているからである。もちろん、ネットワーク１００上で、リクエスト２１０と応答機リスト２１４を一緒に送信することができる。
【００３１】
図示した例では、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄは、リクエスト２１０が宛先となるマルチキャストグループを接合したものとする。マルチキャストリクエスト２１０が初めて送信されるとき、ノード（Ｂ）２０２ｂ及びノード（Ｃ）２０２ｃの双方は、マルチキャストリクエスト２１０を受信する。しかしながら、それが初めて送信されるとき、ノード（Ｄ）２０２ｄは、マルチキャストリクエスト２１０を受信しない。ノード（Ｄ）２０２ｄがマルチキャストリクエスト２１０を受信することができない様々な理由がある。例えば、ネットワーク１００は、トラフィックでひどく混雑するかもしれず、リクエスト２１０は、ノード（Ａ）２０２ａからノード（Ｄ）２０２ｄまでの途中のいくつかのポイントで劣化するかもしれない。宛先に到着する前に、マルチキャストリクエスト２１０などのパケットが劣化するとき、これは時々パケット損失と呼ばれる。（用語「パケット」は、ネットワーク１００上の１つのノード２０２から別のノード２０２まで伝送される情報のユニットを示す。通常、マルチキャストリクエスト２１０は、単一のパケットの中に収納される。）
ノード２０２が、マルチキャストリクエスト２１０を受信するとき、リクエストされているデータ及び／又はサービスを提供できるか否かを判断する。もし提供できる場合、ノード２０２は、マルチキャストリクエスト２１０を送信したノード２０２に応答２１６を送信する。図２Ｂは、初回のリクエスト２１０を送るノード（Ａ）２０２ａに応じた、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄの動作を示している。ノード（Ｂ）２０２ｂ及びノード（Ｃ）２０２ｃはともに、リクエストされているサービス２１２を提供する。従って、ノード（Ｂ）２０２ｂは、応答２１６ｂをノード（Ａ）２０２ａに返送する。同様に、ノード（Ｃ）２０２ｃは、応答２１６ｃをノード（Ａ）２０２ａに返送する。応答２１６ｂ、２１６ｃは、ユニキャストによって送信することができる。ノード（Ｄ）２０２ｄは、リクエスト２１０を受信しなかったため、マルチキャストリクエスト２１０に応答しない。
【００３２】
所定の期間の後、ノード（Ａ）２０２ａは、所望するサービス２１２のためのリクエスト２１０を再送する。図２Ｃは、２回目にリクエスト２１０と応答機リスト２１４とを送信するノード（Ａ）２０２ａを示している。図２Ｄは、２回目のリクエスト２１０及び応答機リスト２１４を送信するノード（Ａ）２０２ａに応じる、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄの動作を示している。
【００３３】
これまでのように、リクエスト２１０と応答機リスト２１４の両方は、マルチキャストによって送信される。ノード（Ｂ）２０２ｂとノード（Ｃ）２０２ｃは、以前にマルチキャストリクエスト２１０に応答しているため、応答機リスト２１４は、現在、ノード（Ｂ）２０２ｂとノード（Ｃ）２０２ｃの両方を含んでいる。図２Ｃ示されているように、それらが２回目に送信されるとき、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄはそれぞれ、マルチキャストリクエスト２１０と応答機リスト２１４を受信する。ノード（Ｂ）２０２ｂとノード（Ｃ）２０２ｃが、マルチキャストリクエスト２１０と応答機リスト２１４を受信するとき、それら両方は、それらが応答機リスト２１４に含まれていることを認識する。その結果、ノード（Ｂ）２０２ｂもノード（Ｃ）２０２ｃも、このマルチキャストリクエスト２１０には応答しない。しかしながら、ノード（Ｄ）２０２ｄは、それが応答機リスト２１４に含まれていないことを認識する。従って、図２Ｄに示されているように、ノード（Ｄ）２０２ｄは、ノード（Ａ）２０２ａに応答２１６ｄを返送する。この応答２１６ｄは、ユニキャストによって送信することができる。
【００３４】
所定の期間の後、ノード（Ａ）２０２ａは、もう一度、所望のサービス２１２のためのリクエスト２１０を再送する。図２Ｅは、３回目にリクエスト２１０と応答機リスト２１４とを送信するノード（Ａ）２０２ａを示している。図２Ｆは、３回目のリクエスト２１０及び応答機リスト２１４を送信するノード（Ａ）２０２ａに応じる、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄの動作を示している。
【００３５】
これまでのように、リクエスト２１０と応答機リスト２１４の両方は、マルチキャストによって送信される。ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄは、以前にマルチキャストリクエスト２１０に応答しているため、応答機リスト２１４は、現在、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄを含んでいる。図２Ｅ示されているように、それらが３回目に送信されるとき、ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄはそれぞれ、マルチキャストリクエスト２１０と応答機リスト２１４を受信する。各ノード（Ｂ）２０２ｂ、ノード（Ｃ）２０２ｃ、及びノード（Ｄ）２０２ｄは、各自が応答機リスト２１４に含まれていることを認識する。その結果、これらのノード２０２ｂ、２０２ｃ、２０２ｄはいずれも、このマルチキャストリクエスト２１０に応答しない。
【００３６】
最初の試みの後に、リクエスタ（例えば、ノード（Ａ）２０２ａ）がマルチキャストリクエスト２１０を再送する回数は、本明細書で「再試行」の数と呼ばれる。リクエスタは、所定の数の再試行を送るように構成できる。図２Ａ−２Ｆに示された例では、１つの初回の試みと、２つの再試行があった。もちろん、本明細書に開示された実施例によれば、追加再試行又はより少ない再試行を送信するように、リクエスタを構成できる。
【００３７】
図３は、一実施例による、ピアツーピアネットワーク１００内のノード３０２で利用できる種々のソフトウェアコンポーネントを示すデータフローダイアグラムである。図３に示されるノード３０２は、アプリケーションモジュール３１８を含んでいる。アプリケーションモジュール３１８は、ネットワーク１００上の他のノード１０２に対するデータ及び／又はサービスを提供できる。アプリケーションモジュール３１８は、ネットワーク１００上の他のノード１０２からデータ及び／又はサービスもまた得ることができる。
【００３８】
図示されたノード３０２はまた、通信モジュール３２０も含んでいる。通信モジュール３２０は、ネットワーク１００におけるアプリケーションモジュール３１８と他のノード１０２との間の通信を容易にする。ユニキャストによって及び／又はマルチキャストによって、他のネットワークノード１０２にメッセージを送信し、メッセージを受信するために、通信モジュール３２０を構成できる。
【００３９】
アプリケーションモジュール３１８と通信モジュール３２０は、ノード３０２がネットワーク１００における他のノード１０２と情報をやりとりするように、上記図２Ａ−２Ｆに関連して示した方法で、一緒に動作できる。ネットワーク１００上の１つ以上の他のノード１０２によって提供されるデータ及び／又は１つ以上のサービスを得るために、アプリケーションモジュール３１８は、データ及び／又はサービスのためのリクエスト２１０をマルチキャストするために、通信モジュール３２０に対して１つ以上のコールをすることができる。ネットワーク１００上の他のノード１０２が、マルチキャストリクエスト２１０に応答するとき、応答２１６は、通信モジュール３２０で受信され、その後アプリケーションモジュール３１８に命令することができる。
【００４０】
図４は、一実施例による、ピアツーピアネットワーク１００内のノード４０２によって利用できる、種々のソフトウェアコンポーネントを示す別のデータフローダイアグラムである。前述のとおり、本明細書に開示された実施例は、パケット損失を最小にする間にスループットを最大にするために、ピアツーピアネットワーク１００内のトラフィック管理のための仕組みに関する。この機能性を実施するために、図４に示される装置を使用できる。
【００４１】
表わされた実施例では、複数のイベント４２２がネットワーク１００上の輻輳を意味するものとして定義される。これらのイベント４２２は、本明細書で輻輳イベント４２２と呼ばれる。更に、複数のイベント４２４がネットワーク１００上の輻輳の欠落を意味するものとして定義される。これらのイベント４２４は、本明細書で非輻輳イベント４２４と呼ばれる。非輻輳イベント４２４は、将来のネットワーク輻輳を予測する／予測するのを助けることができる。以下、輻輳イベント４２２と非輻輳イベント４２４のいくつかの実施例について論じる。
【００４２】
イベント検出モジュール４２６がノード４０２上に配置されている。イベント検出モジュール４２６は、１つの輻輳イベント４２２又は１つの非輻輳イベント４２４の発生用にノード４０２の動作を監視する。
【００４３】
パケット間隔モジュール４２８もまた、ノード４０２上に配置されている。イベント検出モジュール４２６が、定義された輻輳イベント４２２又は非輻輳イベント４２４のいずれかを検出したとき、パケット間隔モジュール４２８に通知する。定義された輻輳イベント４２２の１つ（あるいはそれ以上）が検出された場合、パケット間隔モジュール４２８は、ノード４０２によって送信されるパケットの間隔を増加させる。言い換えれば、ノード４０２は、１つのパケットを送った後、別のパケットを送る前に待つ時間量を増加する。これは、ネットワーク１００上のトラフィック量を減少させる目的のため、なされる。その結果、ネットワーク１００の輻輳を減少させる。逆に、定義された非輻輳イベント４２４の１つ（あるいはそれ以上）が検出された場合、これは、トラフィックの著しい量がネットワーク１００上にないことを意味し、応答において、パケット間隔モジュール４２８は、ノード４０２によって送信されるパケットの間隔を減少させる。（すなわち、１つのパケットを送った後、別のパケットを送る前に待つ時間を減少する）。
【００４４】
ある実施例では、パケット間隔モジュール４２８は、ＵＤＰなどのようなコネクションレスプロトコルによって送信されるパケットの間隔を調整するだけである。パケット間隔モジュール４２８は、ＴＣＰ／ＩＰなどのような接続ベースのプロトコルに従って、送信されるパケットの間隔に影響しないように構成できる。
【００４５】
図５は、一実施例による、ピアツーピアネットワーク１００内のノード１０２の動作を示すフローチャートである。図示された方法５００によると、１つ以上の輻輳イベント４２２が定義される（ステップ５０２）。同様に、１つ以上の非輻輳イベント４２４が定義される（ステップ５０４）。
【００４６】
ノード１０２上のイベント検出モジュール４２６は、輻輳イベント４２２の１つ又は非輻輳イベント４２４の１つの発生のために、ノード１０２の活動を監視することができる（ステップ５０６）。輻輳イベント４２２が検出される場合（ステップ５０８）、ノード１０２上のパケット間隔モジュール４２８は、ネットワーク輻輳を減少させる試みにおいて、ノード４０２によって送信されるパケットの間隔を増加できる（ステップ５１０）。逆に、非輻輳イベント４２４が検出される場合、パケット間隔モジュール４２８は、ノード１０２によって送信されるパケットの間隔を減少できる（ステップ５１２）。
【００４７】
一部の実施例では、ネットワーク１００上の複数ノード１０２が、図５に示されていた方法５００に従って動作する。言い換えれば、複数ノード１０２は、輻輳イベント４２２が検出される場合にはパケット間隔を増加させ、非輻輳イベント４２４が検出される場合にはパケット間隔を減少させるように構成できる。事実上、この様に動作するために、ネットワーク１００のノード１０２の全てを構成できる。この方法では、パケット損失を最小にする間に、ネットワーク１００内のデータのスループットを最大にするための、仕組みを備えることができる。有利なことには、セントラルサーバーが、ネットワーク１００内の個々のノード１０２のパケット間隔を制御することは、必要でない。代わりに、ノード１０２自体は、ネットワーク状態に応じてパケット間隔を調整する。
【００４８】
一実施例による、ピアツーピアネットワーク１００のノード１０２で使用できる特定のアルゴリズムの一例について、これから論じる。特定のアルゴリズムについて論ずるが、実施例はこの特定のアルゴリズムに限定されない。事実、本明細書に開示される実施例と共にどんな適応アルゴリズムも使用できる。使用できる適応アルゴリズムのいくつかの例は、ニューラルネットアルゴリズム、ファジィ論理アルゴリズム、遺伝的アルゴリズムなどを含んでいる。
【００４９】
図６は、一実施例による、ノードのために定義することができる非輻輳イベント６２４の一例を示している。図６に示されている非輻輳イベント６２４は、２つの条件６３０ａ、６３０ｂを含んでいる。第１の条件６３０ａは、ノード１０２が、マルチキャストリクエスト２１０とマルチキャストリクエスト２１０に関連している応答機リスト２１４を受信したということである。２番目の条件６３０ｂは、ノード１０２が、応答機リスト２１４に含まれているということである。イベント検出モジュール４２６が、これら両方の条件６３０ａ、６３０ｂが満たされていると判断する場合、イベント検出モジュール４２６は、非輻輳イベント６２４が生じたことを検出する。
【００５０】
前述のとおり、非輻輳イベント６２４を検出することに応じて、ノード１０２はパケット間隔を減少させることができる。
【００５１】
一部の実施例では、図６に示されている非輻輳イベント６２４が生じる場合、ノード１０２は、式１に従ってパケット間隔を減少させることができる。一部の実施例では、図６に示されている非輻輳イベント６２４が生じる場合、ノード１０２は、式１に従ってパケット間隔を減少させることができる。
【００５２】
swndnew = swnd *(1−1/ shrinkfactor)                         （１）
式１において、項「swnd」は、送信時間枠の現在値である。送信時間枠は、ノード１０２のために定義することができる変数である。送信時間枠は、ノード１０２がどれくらい長く送信パケットの間で待つかを示す。項「swndnew」は、送信時間枠の新たな値である。項「shrinkfactor」は、順調なネットワーク１００条件下で減少する送信時間枠を、どれくらい高速に制御するのかに使用できる乗数である。例示された実施例では、「shrinkfactor」の値は、16に等しく設定できる。
【００５３】
図７は、一実施例による、ノード１０２のために定義することができる輻輳イベント７２２の一例を示している。図７に示されている輻輳イベント７２２は、２つの条件７３０ａ、７３０ｂを含んでいる。第１の条件７３０ａは、ノード１０２が、マルチキャストリクエスト２１０とマルチキャストリクエスト２１０に関連している応答機リスト２１４とを受信したということである。第２の条件７３０ｂは、サービス２１２を提供するが、ノード１０２が応答機リスト２１４に含まれていないということである。イベント検出モジュール４２６が、これら両方の条件７３０ａ、７３０ｂが満たされていると判断する場合、イベント検出モジュール４２６は、輻輳イベント７２２が発生したものと判断する。
【００５４】
前述のとおり、輻輳イベント７２２を検出することに応じて、ノード１０２はパケット間隔を増加させることができる。一部の実施例では、図７に示されている輻輳イベント７２２が発生する際、ノード１０２は、式２に従ってパケット間隔を増加させることができる。
【００５５】
swndnew = growmin + swndmax / rlSize / growthrottle（２）
式２において、項「swndnew」は、送信時間枠の新たな値である。（送信時間枠については、上の式１に関連して論じた）。項「growmin」は、ノード１０２がパケット間隔を増加させている際の、送信時間枠の最小値である。項「swndmax」は、送信時間枠の最大値である。項「rlSize」は、応答機リスト２１４のサイズである。項「growthrottle」は、パケット間隔がどれくらい高速に増加されているかを制御するのに使用できる乗数である。例示された実施形態では、「growmin」は0.5秒と等しく設定でき、「swndmax」は8秒と等しく設定でき、「growthrottle」は1と等しく設定できる。
【００５６】
図８は、一実施例による、ノード１０２のために定義することができる輻輳イベント８２２の別の例を示している。図８に示されている輻輳イベント８２２は、単一条件８３０を含んでいる。この条件８３０は、ノード１０２がマルチキャストリクエスト２１０を送信するということである。一部の実施例では、図８に示されている輻輳イベント８２２が発生する際、ノード１０２は、式３に従ってパケット間隔を増加させることができる。
【００５７】
swndnew = swnd *(1+1/ shrinkfactor)                         （３）
式３において、項「swnd」は、送信時間枠（上で論じた）である。項「swndnew」は、送信時間枠の新たな値である。項「shrinkfactor」は、送信時間枠が、順調なネットワーク１００条件下で、どれくらい高速に減少するかを制御するのに使用できる乗数である。
【００５８】
図９は、一実施例による、ノード１０２のために定義することができる輻輳イベント９２２の別の例を示している。図９に示されている輻輳イベント９２２は、３つの条件９３０ａ、９３０ｂ、９３０ｃを含んでいる。第１の条件９３０ａは、ノード１０２が、マルチキャストリクエスト２１０を受信したということである。第２の条件９３０ｂは、ノード１０２が、関連する応答機リスト２１４を受信しなかったということである。３番目の条件９３０ｃは、ノード１０２がマルチキャストリクエスト２１０に多重応答２１６を送信するということである（応答機リスト２１４を受信しないことの結果として）。イベント検出モジュール４２６が、これらすべての条件９３０ａ、９３０ｂ、９３０ｃが満たされていると判断する場合、イベント検出モジュール４２６は、輻輳イベント９２２が発生したものと判断する。一部の実施例では、図９に示されている輻輳イベント９２２が発生する際、ノード１０２は、式４に従ってパケット間隔を増加させることができる。
【００５９】
swnd = swnd+( swndmax - swnd)/ growfactor                  （４）
式４において、項「swnd」は、送信時間枠である。項「swndmax」は、送信時間枠の最大値である。項「growfactor」は、不利な条件下で、送信時間枠の成長率を制御するのに使用できる乗数である。例示された実施例では、項「swndmax」は8秒と等しく設定でき、用語「growfactor」は16と等しく設定できる。
【００６０】
図１０は、一実施例による、ノード１０２のために定義することができる輻輳イベント１０２２の別の例を示している。図１０に示されている輻輳イベント１０２２は、単一条件１０３０を含んでいる。この条件１０３０は、ノード１０２が、送信要求遅延の間、マルチキャストリクエスト２１０を受信するということである。上で論じたように、１つのパケットを送った後、別のパケットを送る前に、ノード１０２は所定の時間、待つことができる。これは、ネットワーク１００上のトラフィック量を減少させる目的のためにでき、その結果、ネットワーク１００輻輳を減少させる。用語「送信要求遅延」は、ノード１０２が、パケットを送信する必要があると判断した後から、送信時間枠によって導入された遅延までに実際にパケットが送信される前までの期間を示す。一部の実施例では、図１０に示されている輻輳イベント１０２２が発生する際、ノード１０２は、式５に従ってパケット間隔を増加させることができる。
【００６１】
timeSendMcast = (swnd + swndjitter)/(1+mretries)         （５）
式５において、項「timeSendMcast」は、マルチキャストパケットを送るまで、ノード１０２が待つ時間の長さである。この遅延は、全てのノード１０２が、パケット損失を引き起こすことからスパイクを防ぐために、それらのリクエストの間を置くのを招くことを意図する。項「swnd」は、送信時間枠（上で論じた）である。項「swndjitter」は、コリジョンを避けるためにパケットの発信における可変性を導入する乱数（例えば、0から100）である。項「mretries」は、自身を送信するのを待っていた間、ノード１０２がマルチキャストリクエストを受信した回数である。その数は、どのようなパケットも送信することができないことを意味し、スターベイションを防ぐのに式で使用される。
【００６２】
図１１は、一実施例による、ノード１０２のために定義することができる輻輳イベント１１２２の別の例を示している。図１１に示されている輻輳イベント１１２２は、単一条件１１３０を含んでいる。上で論じたように、この条件１１３０は、ノード１０２が、発送要求遅延の間にユニキャスト応答２１６を受信するということである。一部の実施例では、図１１に示されている輻輳イベント１１２２が発生する際、ノード１０２は、式６に従ってパケット間隔を増加させることができる。
【００６３】
timeSendUcast = rand(swnd/2)                              （６）
式６において、項「timeSendUcast」は、ユニキャストパケットを送るまで、ノード１０２が待つ時の長さである。この遅延は、全ての応答機が、パケット損失の発生の急上昇を防ぐために、それらのリクエストの間隔をあける原因となることを意図する。用語「swnd」は、送信時間枠（上で論じた）である。項「rand(swnd/2)」は、0とswnd/2の間の乱数である。
【００６４】
前述のとおり、ピア・ツウ・ピアネットワーク１００内のノード１０２は、組込みシステムであっても良い。図１２は、一実施例に従って構成される組込みシステム１２０２で用いることができるハードウェア機器のブロック図である。ＣＰＵ（Central Processing Unit）１２０８又はプロセッサは、その他の装置（装置はバス１２１０を介してＣＰＵ１２０８と結合される）を含んでいる組込みシステム１２０２の動作を制御するために提供できる。ＣＰＵ１２０８は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ又は当技術分野で既知のその他の機器として供されることができる。ＣＰＵ１２０８は、メモリ内に保存されたプログラムコードに基づいて、論理的及び算術演算を実行する。所定の実施例では、メモリ１２１４は、ＣＰＵ１２０８を含むオンボードでメモリであっても良い。例えば、マイクロコントローラは、しばしばオンボードメモリの所定の量を含む。
【００６５】
組込みシステム１２０２はまた、ネットワークインタフェース１２１２も含むことができる。ネットワークインタフェース１２１２は、組込みシステム１２０２を、ネットワークに接続させる。ネットワークは、ポケベルのネットワーク、セルラネットワーク、グローバルな通信ネットワーク、インターネット、コンピュータネットワーク、電話網であっても良い。ネットワークインタフェース１２１２は、標準プロトコルに従って、適用すべきネットワークのために動作する。
【００６６】
組込みシステム１２０２はまた、メモリ１２１４も含むことができる。メモリ１２１４は、一時的なデータを格納するためのＲＡＭ（Random Access Memory）を含むことができる。代わりに又は更に、メモリ１２１４は、一定のコードやコンフィギュレーションデータのような、より恒久的なデータを格納するためのＲＯＭ（Read-Only Memory）を含むことができる。メモリ１２１４は、ハードディスクドライブなどの磁気記憶装置としてもまた、供されることができる。メモリ１２１４は、電子的情報を格納できるどのようなタイプの電子装置であっても良い。
【００６７】
組込みシステム１２０２はまた、１つ以上のＣＯＭポート１２１６も含むことができる。ＣＯＭポートは他の装置との通信を容易にする。組込みシステム１２０２はまた、キーボード、マウス、ジョイスティック、タッチスクリーン、モニタ、スピーカー、プリンタなどのような入出力装置１２１８も含むことができる。
【００６８】
もちろん、図１２はコンピュータシステム１２０１の１つの可能な構造だけを示している。他の種々のアーキテクチャと装置を利用できる。
【００６９】
本システム及び方法は、様々な場面に使用することができる。図１３は本システム及び方法を実施することができるシステムの１つの実施例を示している。図１３は、照明コントローラシステム１３０８を含む照明システム７００の１つの実施例を示すブロック図である。図１３の照明システム１３００は、家庭内の種々の部屋に組み込むことができる。図示したように、システム１３００は、部屋（Ａ）１３０２、部屋（Ｂ）１３０４、及び部屋（Ｃ）１３０６を含んでいる。図１３では３つの部屋が示されているが、システム１３００は、家庭、居住、又は他の環境の中で、どのような数及び種類の部屋でも導入できる。
【００７０】
照明コントローラシステム１３０８は、システム１３００内で、追加組込みシステム及び装置を監視し、制御できる。１つの実施例において、部屋（Ａ）１３０２と部屋（Ｂ）１３０４は、それぞれスイッチ装置１３１４、１３１８を含んでいる。スイッチ装置１３１４、１３１８は、セカンダリ組込みシステム１３１６、１３２０もまた含むことができる。セカンダリ組込みシステム１３１６、１３２０は、照明コントローラシステム１３０８からの指示を受信できる。セカンダリ組込みシステム１３１６、１３２０は、その後これらの指示を実行できる。その指示は、種々の照明装置１３１０、１３１２、１３２２、１３２４の電源を入れたり、電源を切ったりすることを含むことができる。その指示は、種々の照明装置１３１０、１３１２、１３２２、１３２４の明るさを薄暗くしたり、明るさを増強したりすることを含むことができる。その指示は、種々のパターンの照明装置１３１０、１３１２、１３２２、１３２４の明るさをアレンジすることを更に含むことができる。セカンダリ組込みシステム１３１６、１３２０は、部屋（Ａ）１３０２と部屋（Ｂ）１３０４にある各照明装置１３１０、１３１２、１３２２、１３２４を監視して制御するために、照明コントローラシステム１３０８を円滑にする。
【００７１】
照明コントローラシステム１３０８はまた、描かれた部屋（Ｃ）１３０６にセカンダリ組込みシステム１３２８を含む照明装置１３２６に直接指示を与えるかもしれない。照明コントローラシステム１３０８は、個別の照明装置１３２６をパワーアップ又はパワーダウンするために、セカンダリ組込みシステム１３２８に指示することができる。同様に、照明コントローラシステム１３０８から受信された指示は、個々の照明装置１３２６の明るさを薄暗くしたり、明るさを増強したりすることを含むことができる。
【００７２】
照明コントローラシステム１３０８はまた、システム１３００内の個々の照明装置１３３０及び１３３２に対して、監視し、直接指示を与えることができる。これらの指示は、以前に説明したものと同様の指示を含むことができる。
【００７３】
図１４は、本発明の本システム及び方法を実施することができるシステムの追加実施例である。図１４は、セキュリティシステム１４００を示すブロック図である。描かれた実施例におけるセキュリティシステム１４００は、部屋（Ａ）１４０２、部屋（Ｂ）１４０４、部屋（Ｃ）１４０６で実施される。これらの部屋は、家庭又は他の閉じられた環境の範囲にあってもよい。システム１４００はまた、部屋（Ａ）１４０２、部屋（Ｂ）１４０４、及び部屋（Ｃ）１４０６がそれぞれ領域又は境界を表す開かれた環境で実施することもできる。
【００７４】
システム１４００は、セキュリティコントローラシステム１４０８を含んでいる。セキュリティコントローラシステム１４０８は、システム１４００内の種々の装置を監視し、情報を受信する。例えば、動作センサ１４１４、１４１８は、セカンダリ組込みシステム１４１６を含むことができる。動きがセカンダリ組込みシステム１４１６、１４２０を介して検出されるとき、動作センサ１４１４、１４１８は、動きのために即座に空間を監視し、セキュリティコントローラシステム１４０８に警告することができる。セキュリティコントローラシステム１４０８はまた、システム１４００内の種々の装置にも指示を与えることができる。例えば、セキュリティコントローラシステム１４０８は、窓センサ１４１０、１４２２とドアセンサ１４１２、１４２４を、パワーアップ又はパワーダウンするために、セカンダリ組込みシステム１４１６、１４２０へ指示を供給できる。１つの実施例において、セカンダリ組込みシステム１４１６、１４２０は、窓センサ１４１０、１４２２が窓の動きを検出した場合に、セキュリティコントローラシステム１４０８に通知する。同様に、セカンダリ組込みシステム１４１６、１４２０は、ドアセンサ１４１２、１４２４がドアの動きを検出した場合に、セキュリティコントローラシステム１４０８に通知する。セカンダリ組込みシステム１４１６、１４２０は、動作センサ１４１４、１４１８内に設置されたＬＥＤ（図示せず）を作動させるために、動作センサ１４１４、１４１８に対して指示できる。
【００７５】
セキュリティコントローラシステム１４０８はまた、システム１４００内の個々の装置を監視し、直接指示を与えることができる。例えば、セキュリティコントローラシステム１４０８は、動作センサ１４３０又は窓のセンサ１４３２を監視し、パワーアップ又はパワーダウンするための指示を与えることができる。セキュリティコントローラシステム１４０８はまた、センサ１４３０及び１４３２内でＬＥＤ（図示せず）又はオーディオの警告通知を作動させるために、動作センサ１４３０と窓のセンサ１４３２に対して指示もできる
それぞれの個々の装置はまた、セカンダリ組込みシステムを含むことができるシステム１４００を備える。例えば、図１４はセカンダリ組込みシステム１４２８を含むドアセンサ１４２６を示している。セキュリティコントローラシステム１４０８は、以前説明したのと同じような方法で、セカンダリ組込みシステム１４２８を監視し、指示を与えることができる。
【００７６】
図１５は、ホームコントロールシステム１５００の１つの実施例を示すブロック図である。ホームコントロールシステム１５００は、照明システム１５００、セキュリティシステム１５００などの種々のシステムのモニタリングを容易にするホームコントローラ１５０８を含んでいる。ホームコントロールシステム１５００は、ユーザに、１つ以上の組込みシステムを通して、種々の装置とシステムを制御することを可能にしている。１つの実施例では、ホームコントローラシステム１５０８は、以前に図７及び図８に関連して説明したのと同じ方法で、情報を監視して提供する。描かれている実施例では、ホームコントローラ１５０８は、セカンダリ組込みシステム１５２０を介して暖房装置１５２４に指示を与える。暖房装置１５２４は、居住場所又はオフィスで通常備えられる暖炉又は他の加熱装置を含むことができる。ホームコントローラシステム１５０８は、セカンダリ組込みシステム１５２０を介して、暖房装置１５２４をパワーアップ又はパワーダウンするための指示を与えることができる。
【００７７】
同様に、ホームコントローラ１５０８は、ホームコントロールシステム１５００内の冷房装置１５３０などの装置を監視して、直接指示を与えることができる。冷房装置１５３０は、居住場所又はオフィスで通常備えられるエアコン又は他の冷却装置を含むことができる。セントラルホームコントローラ１５０８は、セントラル組込みシステム１５０８によってコントロールされた計測温度に応じてパワーアップ又はパワーダウンするように、冷房装置１５３０に指示できる。ホームコントローラシステム１５０８は、以前に図１３及び図１４に関連して説明したのと同じ方法で機能する。
【００７８】
さまざまな異なった技術と手法のどれかを使用することで、情報と信号を表すことができる。データ、指示、コマンド、情報、信号、ビット、シンボル、及びチップは、例えば、電圧、電流、電磁波、磁場又は粒子、光場又は粒子、又はそれのどのような組合せによって表すことができる上記の説明を通して参照できる。
【００７９】
本明細書に開示された実施例に関して説明した、種々の図示した論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組合せとして実施することができる。明確にハードウェアとソフトウェアのこの互換性を図示するために、種々の図示された装置、ブロック、モジュール、回路、及びステップは、一般的に上記の機能性に関して説明されている。そのような機能性がハードウェア又はソフトウェアとして実施されるか否かは、システム全体に課された特殊用途と設計制約条件に依存する。当業者は、各特殊用途のための様々な方法における説明された機能性を実施することができるが、本発明の範囲からの逸脱しながら、そのような実施判断を解釈するべきでない。
【００８０】
本明細書に開示された実施例に関して説明された図示した論理ブロック、モジュール、及び回路は、汎用プロセッサ、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array signal）又は他のプログラマブル論理デバイス、離散的なゲート又はトランジスタロジック、離散的なハードウェア機器、又は本明細書に記載された機能を実行するように設計されたどのような組合せでも、実施又は実行できる。汎用プロセッサは、マイクロプロセッサであっても良いが、代替として、プロセッサは、どのような従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態マシンであっても良い。プロセッサ又は、コンピュータ機器の組合せ、例えば、ＤＳＰとマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアに関連した１つ以上のマイクロプロセッサ、又はいかなる他のそのような形態の組合せとしても実施することができる。
【００８１】
本明細書に開示された実施例に関して説明された方法又はアルゴリズムのステップは、直接的にハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、又は２つの組合せで、具体化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は当技術分野で既知の記憶媒体のいかなる他の形式にも常駐できる。例示された記憶媒体は、プロセッサが記憶媒体から情報を読み込んで、情報を書書き込むことができるように、プロセッサと結合される。別の方法では、記憶媒体はプロセッサに不可欠であろう。プロセッサと記憶媒体は、ＡＳＩＣに常駐できる。ＡＳＩＣは、利用者端末に常駐できる。別の方法では、プロセッサと記憶媒体は、個別装置として利用者端末に常駐できる。
【００８２】
本明細書に開示された方法は、説明された方法を遂行するために、１つ以上のステップ又は動作を具備する。方法ステップ及び／又は動作は、本発明の範囲から逸脱しないで、互いに交換できる。言い換えれば、実施例の適切な動作のために、ステップ又は動作に特定の順序を要しない限り、特定のステップ及び／又は動作の順序及び／又は行使は、本発明の範囲を逸脱しないで変更できる。
【００８３】
本発明の特定の実施例とアプリケーションを図示して説明したが、本発明が本明細書に開示された正確な形態と装置に限定されないことを理解されるべきである。当分野の当業者にとって明白な種々の修正、変更、及びバリエーションは、本発明の趣旨と範囲から逸脱しないで、本明細書に開示した本発明のアレンジ、操作、及び方法やシステムの詳細を成しうることができるであろう。
【図面の簡単な説明】
【００８４】
【図１】いくつかの実施例を実施できる、一例のピアツーピアネットワークを示す。
【図２Ａ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図２Ｂ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図２Ｃ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図２Ｄ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図２Ｅ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図２Ｆ】ピアツーピアネットワーク内のノードが、互いに対するデータ及び／又はサービスを提供するために、どのように相互作用できるかを例示する。
【図３】一実施例による、ピアツーピアネットワーク内のノードによって利用できる種々のソフトウェアコンポーネントを示すデータフローダイアグラムである。
【図４】一実施例による、ピアツーピアネットワーク内のノードによって利用できる種々のソフトウェアコンポーネントを示す別のデータフローダイアグラムである。
【図５】一実施例による、ピアツーピアネットワーク内のノードの動作を示すフローチャートである。
【図６】一実施例による、ノードのために定義することができる非輻輳イベントの一例を示す。
【図７】一実施例による、ノードのために定義することができる輻輳イベントの一例を示す。
【図８】一実施例による、ノードのために定義することができる輻輳イベントの別の例を示す。
【図９】一実施例による、ノードのために定義することができる輻輳イベントの別の例を示す。
【図１０】一実施例による、ノードのために定義することができる輻輳イベントの別の例を示す。
【図１１】一実施例による、ノードのために定義することができる輻輳イベントの別の例を示す。
【図１２】一実施例によって構成される組込みシステムで用いることができるハードウェア機器のブロック図である。
【図１３】本システム及び方法を実施することができる照明システムの一例を示す。
【図１４】本システム及び方法を実施することができるセキュリティシステムの一例を示す。
【図１５】本システム及び方法を実施することができるホームコントローラシステムの一例を示す。
【手続補正書】
【提出日】平成19年1月30日(2007.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピアツーピアネットワーク内のノードによって実行され、前記ピアツーピアネットワーク内のトラフィック管理のための方法であって、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信されるコネクションレスプロトコルパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信される前記コネクションレスプロトコルパケットの間隔を減少させること
を含むことを特徴とする方法。
【請求項２】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１記載の方法。
【請求項３】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記１つ以上の輻輳イベントは、マルチキャストリクエストを送信すること
を含むことを特徴とする請求項１記載の方法。
【請求項５】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、
多重応答を前記マルチキャストリクエストに送信すること
を含むことを特徴とする請求項１記載の方法。
【請求項６】
前記１つ以上の輻輳イベントは、パケットを送信するのを待つ間、マルチキャストリクエストを受信すること
を含むことを特徴とする請求項１記載の方法。
【請求項７】
前記１つ以上の輻輳イベントは、パケットを送信するのを待つ間、ユニキャスト応答を受信すること
を含むことを特徴とする請求項１記載の方法。
【請求項８】
前記コネクションレスプロトコルは、ユーザーデータグラムプロトコルであること
を特徴とする請求項１記載の方法。
【請求項９】
前記ノードは、組込みシステムであること
を特徴とする請求項１記載の方法。
【請求項１０】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させること
を含むことを特徴とするノード。
【請求項１１】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１１記載のノード。
【請求項１２】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１１記載のノード。
【請求項１３】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信することと、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、前記マルチキャストリクエストに多重応答を送信する処理と、
パケットを送信するのを待つ間、前記マルチキャストリクエストを受信する処理と、
パケットを送信するのを待つ間、ユニキャスト応答を受信する処理と
から構成されるグループから選択されることを特徴とする請求項１１記載のノード。
【請求項１４】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させること
を含むことを特徴とするコンピュータ読み込み可能な媒体。
【請求項１５】
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【請求項１６】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと前記マルチキャストリクエストに関連する応答機リストとを受信し、
前記ノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【請求項１７】
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信することと、
マルチキャストリクエストを受信するが、前記マルチキャストリクエストに関連する応答機リストを受信せず、前記マルチキャストリクエストに多重応答を送信する処理と、
パケットを送信するのを待つ間、前記マルチキャストリクエストを受信する処理と、
パケットを送信するのを待つ間、ユニキャスト応答を受信する処理と
から構成されるグループから選択されることを特徴とする請求項１６記載のコンピュータ読み込み可能な媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
ピアツーピアネットワーク内でトラフィックを管理するためのシステム及び方法が、開示される。例示された実施形態では、ピアツーピアネットワークで輻輳を意味する１つ以上の輻輳イベントが、定義される。さらに、ピアツーピアネットワークで輻輳の欠落を意味するが、将来の網輻輳を予測する／予測するのを支援することができる１つ以上の非輻輳イベントが、定義される。パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断する。ノードが、定義された輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコル（例えば、ユーザーデータグラムプロトコル）パケットの間隔を増加させる。ノードが、定義された非輻輳イベントの１つ以上の発生を検出するとき、ノードはノードによって送信されるコネクションレスプロトコルパケットの間隔を減少させる。ピアツーピアネットワーク内のノードのいくつかが、組込みシステムであっても良い。
【手続補正書】
【提出日】平成19年8月6日(2007.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピアツーピアネットワーク内のノードによって実行され、前記ピアツーピアネットワーク内のトラフィック管理のための方法であって、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信されるコネクションレスプロトコルパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信される前記コネクションレスプロトコルパケットの間隔を減少させることを含み、
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とする方法。
【請求項２】
ピアツーピアネットワーク内のノードによって実行され、前記ピアツーピアネットワーク内のトラフィック管理のための方法であって、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信されるコネクションレスプロトコルパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信される前記コネクションレスプロトコルパケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とする方法。
【請求項３】
ピアツーピアネットワーク内のノードによって実行され、前記ピアツーピアネットワーク内のトラフィック管理のための方法であって、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信されるコネクションレスプロトコルパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記ノードによって送信される前記コネクションレスプロトコルパケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを受信するが、当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストを受信せず、前記マルチキャストリクエストに対して、当該応答機リストを受信しないことの結果として繰り返しの応答を送信すること
を含むことを特徴とする方法。
【請求項４】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とするノード。
【請求項５】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とするノード。
【請求項６】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信する処理と、
マルチキャストリクエストを受信するが、当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストを受信せず、前記マルチキャストリクエストに対して繰り返して応答を送信する処理と、
マルチキャストリクエストを受信するノードがパケットを送信するのを待つ間、マルチキャストリクエストを受信する処理と、
マルチキャストリクエストを送信するノードがパケットを送信するのを待つ間、マルチキャストリクエストに対するユニキャスト応答を受信する処理と
の何れかであることを特徴とするノード。
【請求項７】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とするコンピュータ読み込み可能な媒体。
【請求項８】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とするコンピュータ読み込み可能な媒体。
【請求項９】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを送信する処理と、
マルチキャストリクエストを受信するが、当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストを受信せず、前記マルチキャストリクエストに繰り返して応答を送信する処理と、
マルチキャストリクエストを受信するノードがパケットを送信するのを待つ間、マルチキャストリクエストを受信する処理と、
マルチキャストリクエストを送信するノードがパケットを送信するのを待つ間、マルチキャストリクエストに対するユニキャスト応答を受信する処理と
の何れかであることを特徴とするコンピュータ読み込み可能な媒体。
【手続補正書】
【提出日】平成19年12月28日(2007.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
ネットワーク内におけるトラフィック管理のための方法を実行するために構成される、ピアツーピアネットワークにおけるノードであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに格納された指示とを備え、方法を実行するために実行可能である前記指示は、
前記ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを受信するが、当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストを受信せず、前記マルチキャストリクエストに対して、当該応答機リストを受信しないことの結果として繰り返しの応答を送信することを特徴とするノード。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な記録媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の非輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていることを判断すること
を含むことを特徴とするコンピュータ読み込み可能な記録媒体。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な記録媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストと当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストとを受信し、このマルチキャストリクエストと応答機リストを受信したノードが前記応答機リストに含まれていないことを判断すること
を含むことを特徴とするコンピュータ読み込み可能な記録媒体。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
ネットワーク内でトラフィック管理のための方法を実行するために実行可能な指示を具備するコンピュータ読み込み可能な記録媒体であって、前記方法は
ピアツーピアネットワーク上で輻輳を意味する１つ以上の輻輳イベントを定義し、
前記ピアツーピアネットワーク上で輻輳の欠如を意味する１つ以上の非輻輳イベントを定義し、
パケット通信を実行した時に、当該パケット通信の対象となったパケットの内容と送信又は受信の種別とのうち少なくとも一つに基づいて、前記定義された輻輳イベントの１つ以上又は前記定義された非輻輳イベントの１つ以上を検出したかを判断し、
前記定義された輻輳イベントの１つ以上を検出することに応じて、コネクションレスプロトコルに従って前記ノードによって送信されるパケットの間隔を増加させ、
前記定義された非輻輳イベントの１つ以上を検出することに応じて、前記コネクションレスプロトコルに従って前記ノードによって送信される前記パケットの間隔を減少させることを含み、
前記１つ以上の輻輳イベントは、
マルチキャストリクエストを受信するが、当該マルチキャストリクエストよりも以前に送信されたマルチキャストリクエストに応答したノードのリストである応答機リストを受信せず、前記マルチキャストリクエストに対して、当該応答機リストを受信しないことの結果として繰り返しの応答を送信することを特徴とするコンピュータ読み込み可能な記録媒体。
【国際調査報告】
2008523643.tif 000003
2008523643.tif 000004
2008523643.tif 000005