【手続補正書】
【提出日】平成23年9月15日(2011.9.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ノードの処理キャパシティに関する情報を取得する方法であって：
前記ノードから第１のレートで第１の信号を受信するステップと；
前記ノードから第２のレートで第２の信号を受信するステップと；
前記第２のレートと前記第１のレートとの間の比率を算出するステップと；
前記比率のプリセット値との比較に基づいて前記ノードの前記処理キャパシティを決定するステップと；
を含み、
前記第１の信号の連続するインスタンスの各々は、前記第１の信号の前回のインスタンスのシーケンス番号に基づいて算出されるシーケンス番号を含み；
前記第１の信号の最新のインスタンスの直後に受信される前記第２の信号のインスタンスは、前記第１の信号の前記最新のインスタンスのシーケンス番号に基づくシーケンス番号を含み；
前記第１の信号の次回のインスタンスの前に受信される前記第２の信号の連続するインスタンスの各々は、前記第２の信号の前回のインスタンスのシーケンス番号に基づくシーケンス番号を含む、
方法。
【請求項２】
前記第１のレートは一定であり；及び
前記第２のレートは可変である；
請求項１に記載の方法。
【請求項３】
前記プリセット値は、前記ノードが通常の処理キャパシティを有する場合の前記第２及び第１のレートの間の比率に等しい、
請求項１に記載の方法。
【請求項４】
前記ノードの前記処理キャパシティを決定する前記ステップに基づいてルーティングテーブルを更新するステップと；
前記ノードの前記処理キャパシティが低い場合に、前記ノードに向けてメッセージを送信することを控えるステップと；
をさらに含む、請求項１に記載の方法。
【請求項５】
前記比率における変化を監視するステップと；
前記比率が変化する場合に、前記ノードの処理キャパシティの変化を検出するステップと；
をさらに含む、請求項１に記載の方法。
【請求項６】
前記第２のレートの減少は、前記処理キャパシティの低下を示す、
請求項５に記載の方法。
【請求項７】
前記第１の信号の連続するインスタンスの各々における前記シーケンス番号は、前記第１の信号の前記前回のインスタンスの前記シーケンス番号に前記プリセット値を加えたものに等しく；
前記第１の信号の前記最新のインスタンスの直後に受信される前記第２の信号の前記インスタンスにおける前記シーケンス番号は、前記第１の信号の前記最新のインスタンスの前記シーケンス番号に１を加えたものに等しく；
前記第１の信号の前記次回のインスタンスの前に受信される前記第２の信号の連続するイスタンスの各々における前記シーケンス番号は、前記第２の信号の前記前回のインスタンスの前記シーケンス番号に１を加えたものに等しい、
請求項１に記載の方法。
【請求項８】
前記第１の信号の前記最新のインスタンスの前記シーケンス番号に基づいて、又は前記第２の信号の前記前回のインスタンスの前記シーケンス番号に基づいて、前記第２の信号の次回のインスタンスの期待されるシーケンス番号を算出するステップと；
前記期待されるシーケンス番号に等しくないシーケンス番号を含む前記第２の信号の前記次回のインスタンスを受信することにより、キャパシティの問題を検出するステップと；
をさらに含む、請求項１に記載の方法。
【請求項９】
前記第１の信号の前記最新のインスタンスの前記シーケンス番号に基づいて、又は前記第２の信号の前記前回のインスタンスの前記シーケンス番号に基づいて、前記第２の信号の次回のインスタンスの期待されるシーケンス番号を算出するステップ、をさらに含み；
前記第２のレートと前記第１のレートとの間の前記比率を算出することは、前記期待されるシーケンス番号に合致しないシーケンス番号を含む前記第２の信号の所与のインスタンスを無視することを含む、
請求項１に記載の方法。
【請求項１０】
ノードの処理キャパシティに関する情報を発信する方法であって：
前記ノードの通常の処理キャパシティを示すプリセット値以下である提供キャパシティ値を決定するステップと；
前記ノードから基本レートで周期的に第１の信号を送信するステップと；
前記ノードから前記提供キャパシティ値を示す第２のレートで周期的に第２の信号を送信するステップと；
を含み、
前記第２のレートは、前記基本レートに前記提供キャパシティ値を乗じたものに等しい、
方法。
【請求項１１】
前記ノードは複数のインタフェースを含み；
周期的な第１の信号の各々は全てのインタフェース上で送信され；及び
周期的な第２の信号の各々は全てのインタフェース上で送信される、
請求項１０に記載の方法。
【請求項１２】
前記提供キャパシティ値は、周期的に決定される、
請求項１０に記載の方法。
【請求項１３】
前記提供キャパシティ値は、前記ノードの実際の処理キャパシティに従って設定される、
請求項１０に記載の方法。
【請求項１４】
前記提供キャパシティ値は、前記ノードの前記通常の処理キャパシティの所定の割合に従って設定される、
請求項１０に記載の方法。
【請求項１５】
自身の処理キャパシティに関する情報を発信するためのノードであって：
プロセッサと；
前記プロセッサの負荷レベルを示すよう構成される負荷インジケータと；
ピアノードに向けて信号を送信するよう構成される１つ以上のインタフェースと；
第１のレートで第１の信号を送信するよう前記１つ以上のインタフェースに要求し；
前記負荷レベルと前記ノードの処理キャパシティの最大量との比較に基づいて第２のレートを算出し；並びに
前記第２のレートで第２の信号を送信するよう前記１つ以上のインタフェースに要求する；
よう構成される、制御ロジックと；
を含み、
前記負荷レベルと処理キャパシティの前記最大量との比較に基づいて第２のレートを算出することは、前記負荷レベルが低い場合に前記第２のレートを最大値に設定することを含む、
ノード。
【請求項１６】
前記第１のレートで前記制御ロジックのシーケンスを開始するよう構成されるクロック
をさらに含む、請求項１５に記載のノード。
【請求項１７】
前記第１の信号の連続するインスタンスの各々は、前記第１の信号の前回のインスタンスのシーケンス番号に基づいて算出されるシーケンス番号を含み；
前記第１の信号の最新のインスタンスの直後に送信される前記第２の信号のインスタンスは、前記第１の信号の前記最新のインスタンスのシーケンス番号に基づくシーケンス番号を含み；及び
前記第１の信号の次回のインスタンスの前に送信される前記第２の信号の連続するインスタンスの各々は、前記第２の信号の前回のインスタンスのシーケンス番号に基づくシーケンス番号を含む、
請求項１５に記載のノード。
【請求項１８】
ピアノードの処理キャパシティに関する情報を取得するためのノードであって：
前記ピアノードから信号を受信するよう構成される１つ以上のインタフェースと；
前記１つ以上のインタフェースから第１の信号を複数回受信し；
前記第１の信号の第１のレートを決定し；
前記１つ以上のインタフェースから第２の信号を複数回受信し；
前記第２の信号の第２のレートを決定し；
前記第２及び第１のレートの間の比率を算出し；並びに
前記比率に基づく前記ピアノードの処理キャパシティをピアテーブルに記憶する；
よう構成される、制御ロジックと；
クロックと；
を含み、
前記制御ロジックは、前記クロックからのタイミング情報を使用して前記第１及び第２のレートを決定し、並びに前記第１及び第２のレートを前記ピアテーブルに記憶する；
ノード。
【請求項１９】
前記第１及び第２の信号は、シーケンス番号を含み；
前記制御ロジックは、最新の第１の信号のシーケンス番号に基づいて、又は前回の第２の信号のシーケンス番号に基づいて、次回の第２の信号の期待されるシーケンス番号を計算するようさらに構成され；並びに
前記制御ロジックは、前記期待されるシーケンス番号を前記ピアテーブルに記憶するようさらに構成される；
請求項１８に記載のノード。
【請求項２０】
前記制御ロジックは、前記期待されるシーケンス番号に等しくないシーケンス番号を含む次回の第２の信号を受信することにより、キャパシティの問題を検出するようさらに構成される、
請求項１９に記載のノード。
【請求項２１】
前記第２及び第１のレートの間の比率を算出することは、前記期待されるシーケンス番号に合致しないシーケンス番号を含む所与の第２の信号を無視することを含む、
請求項１９に記載のノード。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
ステップ２６０において対象ノードの処理キャパシティが決定された後、ピアノードはさらなるアクションを取り得る。これらアクションのうちのいくつかは補完的であってもよく、ピアノードは、これらアクションのうちのいくつかを他のアクションとは独立してとってもよい。ピアノードは、比率における変化を監視することにより、対象ノードの処理キャパシティにおける変化を監視し得る。ステップ３１０において、ステップ２５５において取得される比率が、前もって記憶されている比率の値と比較される。ステップ３１５において、この比較の結果は３つの異なる値を有し得る。ステップ３１５における結果が比率の増加を示している場合、ピアノードはステップ３２０において、対象ノードの処理キャパシティが増加したことを記録（record）し、又は別の方法でメモリに記憶（take  note）する。ステップ３１５における結果が比率の減少を示している場合、ピアノードはステップ３２５において、対象ノードの処理キャパシティが減少したことを記録する。ステップ３１５における結果が比率が変化していないことを示している場合、特定のアクションは取られない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
図４は、対象ノードの処理キャパシティを決定する処理においてより精度を上げるためのいくつかの例となる観点を示す。シーケンス４００及び４５０は、図２のシーケンス２００のステップのうちのいくつかと並行してピアノードにおいて動作し、シーケンス２００のオプションとしてのサブルーチンとみなされ得る。サブルーチン４００では、図２の前述の説明において示されているように、ステップ２１５においてピアノードにより第１の信号が受信される。第１の信号は、任意にシーケンス番号を含み得る。そうである場合、ステップ４１７において次回の第２の信号の期待されるシーケンス番号が、関数Ｆ２を使用して算出される。ステップ４１９において、サブルーチンは図２におけるステップ２１５に続くステップ、即ちステップ２２０に戻る。サブルーチン４５０では、図２に示されているように、ステップ２３５において第２の信号がピアノードにより受信される。第２の信号もシーケンス番号を含み得る。ステップ４５２において、第２の信号に含まれるシーケンス番号が期待されるシーケンス番号に合致するか否かがチェックされる。ある実施形態においては、受信されるシーケンス番号と期待されるシーケンス番号とが等しい場合に、合致しているとされる。またある実施形態においては、受信されるシーケンス番号が期待されるシーケンス番号以上である場合に、合致しているとされ得る。合致している場合には、ステップ４５４において次回の第２の信号に適用可能な別の期待されるシーケンス番号が算出され、ステップ４５９においてサブルーチンは図２におけるステップ２３５に続くステップ、即ちステップ２４０に戻る。ステップ４５２において第２の信号に含まれるシーケンス番号が期待されるシーケンス番号に合致しないとみなされた場合、ピアノードはこの第２の信号又は別の第２の信号が失われ若しくは遅延していることを検出する。ステップ４５６において、ピアノードは、キャパシティの問題が起こっていることを検出する。キャパシティの問題は、対象ノードにおける処理キャパシティの問題、又はピアノードと対象ノードとの間の通信リンク上の問題であり得る。ステップ４５８において、ピアノードは図２のさらなる処理において無視されるべき第２の信号にマークを付ける。それからサブルーチンは、ステップ４５９において図２のシーケンスに戻る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
メモリ５１０はまた、ピアノードのテーブル６００をこれらピアノードの処理キャパシティに関する情報を記憶するために記憶してもよい。図６は、本発明のいくつかの観点に係る一例となるピアテーブル６００を示す。テーブル６００は、複数の行６２０〜６２８を含み、これらはヘッダ行である第１の行６２０を除いて、テーブルを有するノードのピアに関する。テーブルは、ピアのリストにおけるノードの処理キャパシティに関する情報を取得し及び記憶するためにノードにより使用される。ピアテーブル６００は、複数の列６０２〜６１６を含み、これらのうちのいくつかはオプションである。第１の列６０２は、ピアのＩＤ  Ｐｎを含む。第２の列は、第１の信号、例えばＨＥＬＬＯ信号を受信した最新のインスタンスの時間Ｔ１ｎを記憶する。第１の信号の新たなインスタンスが受信されるたびに、受信の時間を前回の受信の時間Ｔ１ｎと比較して、列６０６に記憶される第１の信号のレートＲ１ｎを計算する。列６０４において新たな受信の時間は前回の値を上書きする。もちろん、他の同等の実施形態を使用して第１の信号の受信のレートを追跡することもできる。ある実施形態においては、列６０６における第１の信号のレートは、単純に第１の信号の全ての受信で上書きされる。またある実施形態においては、列６０６の第１の信号のレートＲ１ｎは、時間にわたって平均されてもよい。またある実施形態においては、列６０６に記憶するためのより正確なレートＲ１ｎを計算するために、列６０４において毎行１つのＴ１ｎの値を記憶するのではなく、第１の信号の時間の値の配列を記憶することもできる。列６０８及び６１０は同様に、第２の信号、例えばＡＬＩＶＥ信号の受信の時間Ｔ２ｎ及びレートＲ２ｎをそれぞれ記憶する。列６１２において、２つの信号のレートの比率が各ピアについて記憶される。例となるピアテーブル６００において、比率は第２の信号のレートＲ２ｎを第１の信号のレートＲ１ｎで除することにより取得され、１０となる比率は名目のレートであることを示す。任意的な列６１４は、所与の行のピアについてのルーティングのコストを記憶する。コストは数値であり得、低いコストはピアへ向けてのルーティングが好適であることを示す。それは単純に高いか低いかの表示でもあり得る。コストは、ピアへ向かうルーティングが許可されるか否かを示す２値表示であってもよい。ある実施形態においては、ルーティングのコストは、ピアテーブル６００とは異なる別のルーティングテーブルにおいて記憶されてもよい。別の任意的な列６１６は、次回の第２の信号についての期待されるシーケンス番号（Ｅ−ＳＱＮ）Ｅｎを記憶する。ピアテーブル６００は、ノードのピアに関する追加的情報を維持するために他の列（図示しない）も含んでもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
ピアテーブル６００において、行６２２〜６２８上の例となるピアＰ１〜Ｐ４は、これらピアの処理キャパシティに関連する様々な状況を示している。行６２２上において、１０に等しい比率により示されるように、Ｐ１の処理キャパシティはその名目のレベルである。トラフィックはＰ１に向けてルーティングされてよく、ルーティングのコストは低い。行６２４上において、Ｐ２から第１の信号は少なくとも１回受信されたが、第２の信号はまだ受信されていない。Ｐ２について第２の信号のレートは算出されなくてもよく、従って比率はゼロに等しい。トラフィックはＰ２に向けてルーティングされ得ず、ルーティングのコストは高い。行６２６上において、Ｐ３から第２の信号しか受信されていない。第１の信号のレートＲ１３は設定されていないため、第１の信号のレートについての空値でレートＲ２３を割った比率は無限大という結果を生じさせる。これもまたルーティングの問題を示しているため、ルーティングのコストは高い。行６２８上において、Ｐ４についての比率は７に等しく、これは名目の値である１０よりも小さい。Ｐ４の処理キャパシティはいくらか低下しており、そのため中程度のルーティングのコストが割り当てられる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
プロセッサ５２０は、ノード５００において実装される特徴に係るタスクを実行する。負荷インジケータ５３０は、プロセッサ５２０上の負荷レベルを継続的に反映する。クロック５４０は、制御ロジック５５０におけるシーケンスを周期的に開始する。各シーケンスの始めに、制御ロジック５５０は負荷インジケータ５３０からプロセッサの負荷を読み取る。制御ロジック５５０は、メモリ５１０における定数５１２からプリセット値を読み取る。制御ロック５５０は、第１の信号、例えばＨＥＬＬＯメッセージをシーケンス毎に１回送信するよう１つ以上のインタフェース５６０に要求する。制御ロジック５５０は、第１の信号に含めるためのシーケンス番号を任意に生成してもよく、１回のシーケンスの間に送信される第１の信号の１つのインスタンスのシーケンス番号は、先行するシーケンスにおける第１の信号のシーケンス番号に基づいて好適に生成される。それから制御ロジック５５０は、プロセッサの負荷及びプリセット値からシーケンスの間に送信されるべき第２の信号、例えばＡＬＩＶＥメッセージの数Ｎを決定する。プロセッサの負荷が低い場合、数Ｎはプリセット値に等しく設定される。プロセッサの負荷が高いとみなされるべきか低いとみなされるべきかの判定は、メモリ５１０に記憶されているいくつかの定数５１２に依存し得る。制御ロジック５５０は、ＡＬＩＶＥメッセージに含まれるべきシーケンス番号を算出してもよく、連続するシーケンス番号の各々は、前回送信された信号のシーケンス番号に基づいて好適に算出される。制御ロジック５５０は、決定された数Ｎの第２の信号を、第１の信号のレートのＮ倍に相当するレートで送信するよう１つ以上のインタフェース５６０に要求する。