【手続補正書】
【提出日】平成21年7月29日(2009.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のネットワークコンピュータを含むコンピュータネットワーク内のコンピュータシステムにおいて、ファイルをキャッシュして共有する方法であって、
前記コンピュータシステムのうちの特定のネットワークコンピュータが、
前記１つまたは複数のネットワークコンピュータの中から選択される予め定められた数のネットワークコンピュータ（候補ピアサーバ）のリストを含むピアリストを構築する動作と、
前記ファイルまたはファイルの一部分に関して、前記ピアリスト中の候補ピアサーバにクエリを行う動作と、
前記クエリに応答して、ピアリスト中の候補ピアサーバから、他のネットワークコンピュータがダウンロード可能な前記ファイルまたはファイルの一部分をこの候補ピアサーバが有しているという第１の応答メッセージを受信する動作と、
前記第１の応答メッセージを受信した後、ピアサーバから前記ファイルまたはファイルの一部分をダウンロードする動作と、を備え、
前記ピアリストを構築する動作は、前記特定のネットワークコンピュータが送信した依頼要求に対する候補ピアサーバからの応答及び／又は候補ピアサーバからのセルフアナウンスメントに基づいて、この候補ピアサーバをピアリストに追加する動作を備える
ことを特徴とする方法。
【請求項２】
前記ピアリストを構築する動作は、
（ａ）望ましい数のピアサーバの指示が含まれる候補ピアサーバの依頼要求を１つ又は複数の候補ピアサーバに送信する動作と、
（ｂ）前記依頼要求を送信した候補ピアサーバからの第２の応答メッセージを受信する動作と、
（ｃ）前記候補ピアサーバから受信した第２の応答メッセージに基づいて、予め定められた数までのピアリストへの候補ピアサーバとして、第２の応答メッセージが送信された候補ピアサーバを追加する動作と、を含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
（ａ）の動作において前記依頼要求が送信された候補ピアサーバは、ランダムな短時間間隔後に、この依頼要求を送信したネットワークコンピュータに対する別の候補ピアサーバからのマルチキャスト応答をリスン（listening）し、他の候補ピアからの第２の応答メッセージの数を測定し、第２の応答メッセージの数が前記望ましい数のピアサーバに相当する数に達していない場合に前記ネットワークコンピュータに対して第２の応答メッセージを送信し、
（ｂ）の動作は、前記ネットワークコンピュータが前記候補ピアサーバからの第２の応答メッセージを受信する
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ランダムな短時間間隔で待機する候補ピアは、以下の式で算出される対数ランダム遅延を使用して、応答まで待機する時間量を判定することを特徴とする請求項３に記載の方法。
式：DELAY=MAX_DELAY* Log(c*X+1)/Log(C+1)
ここで、DELAYは応答するまでの遅延、MAX_DELAYは応答を受信するために与えられる最大時間量、Xは乱数、Cは任意の数である。
【請求項５】
前記ピアリストを構築する動作は、
（ｄ）所定の条件を満たした場合に、候補ピアサーバを前記ピアリストから削除する動作と、
（ｅ）予め定められた数の候補ピアサーバがピアリストから削除された場合に、前記ａ−ｃの動作を繰り返す動作と、をさらに備える
ことを特徴とする請求項２に記載の方法。
【請求項６】
前記依頼要求を送信する動作および前記第２の応答メッセージを受信する動作は、同一サブネット上のコンピュータを用いて実行されることを特徴とする請求項２に記載の方法。
【請求項７】
前記特定のネットワークコンピュータが、前記サブネットとは異なる第２のサブネットに移動した場合に、
前記ネットワークコンピュータが、
前記第２のサブネット上の１つ又は複数の候補ピアサーバに前記依頼要求を送信し、候補ピアサーバから第２の応答メッセージを受信することにより、第２のピアリストを構築する動作と、
第２のピアリスト中の候補ピアサーバにクエリを行ない、この候補ピアサーバから前記第１の応答メッセージを受信する動作と
をさらに備えることを特徴とする請求項６に記載の方法。
【請求項８】
前記ピアリストを構築する動作は、
前記応答メッセージを受信した候補ピアサーバと前記特定のネットワークコンピュータとの論理的な近接性を判定し、この論理的な近接性に従って前記候補ピアサーバをピアリストに追加する動作を備える
ことを特徴とする請求項１記載の方法。
【請求項９】
前記ピアリストを構築する動作は、
候補ピアサーバから、前記ネットワーク上のコンピュータに提供することができるファイルを前記候補ピアサーバ自身が有しているという指示を含むセルフアナウンスメントを、マルチキャストパケットとともに受信する動作と、
前記セルフアナウンスメントを受信した候補ピアサーバを前記ピアリストに追加する動作と
を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記依頼要求の送信には、信頼できるグループが含まれることを特徴とする請求項２に記載の方法。
【請求項１１】
前記特定のネットワークコンピュータが、
前記ダウンロードしたファイルまたはファイルの一部分が破損していることを判定する動作と、
前記ファイルまたはファイルの一部分が破損していることの前記判定に応答して、このファイルまたはファイルの一部分がダウンロードされたピアサーバとは異なるピアリスト中の他のピアサーバまたは前記コンピュータネットワークに接続される中央ファイルサーバから前記ファイルまたはファイルの一部分をダウンロードする動作と
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
前記ファイルまたはファイルの一部分が破損していることを判定する前記動作は、ファイルまたはファイルの一部分のハッシュ値を計算して参照する動作を含む
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記特定のネットワークコンピュータが、
前記ファイルまたはファイルの一部分が、前記ピアリスト中のいずれのコンピュータからも利用不可能であることを判定する動作と、
前記ファイルまたはファイルの一部分が、前記ピアリスト中のいずれのコンピュータからも利用不可能であることの前記判定に応答して、前記コンピュータネットワークに接続される中央ファイルサーバから前記ファイルまたはファイルの一部分をダウンロードする動作と
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１４】
前記特定のネットワークコンピュータが、
ファイルまたはファイルの一部分に関して、前記ピアリスト中の候補ピアサーバにクエリを行う前に、前記ピアリスト中の候補ピアサーバを認証する動作をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１５】
１つまたは複数のネットワークコンピュータを含むコンピュータネットワーク内の第１のコンピュータシステムにおいて、ファイルをキャッシュして共有する方法であって、
前記第１のコンピュータシステムが、
１つ又は複数の候補ピアサーバに送信され、望ましい数のピアサーバの指示が含まれる候補ピアサーバの依頼要求を受信する動作と、
ランダムな短時間間隔で待機し、他の候補ピアサーバからのマルチキャスト応答をリスン（listening）し、他の候補ピアサーバからの応答の数を測定するために他の候補ピアサーバからの応答を検出し、望ましい数のピアサーバに相当する数の応答が検出されていない場合にのみ依頼要求への応答を送信し、望ましい数のピアサーバとして指示された数の他の候補ピアサーバからの応答が検出された場合には応答を送信しない動作と、
前記ランダムな短時間間隔が終了した後に、望ましい数のピアサーバに相当する数の回答が検出されていないかを検出し、その検出結果に従って、前記第１のコンピュータシステムと同一サブネット上の１つまたは複数のコンピュータシステムに対して、前記第１のコンピュータシステムはピアサーバとして利用可能であるというメッセージを送信する動作と、
前記メッセージを送信した結果に基づいて、前記第１のコンピュータシステムがファイルまたはファイルの一部分を有している場合に、要求元システムから発見の要求を受信する動作と、
前記発見要求に応答して、前記第１のコンピュータシステムがファイルまたはファイルの一部分を有している場合に、前記要求元システムに対して、第１のコンピュータシステムがファイルまたはファイルの一部分を有しているというメッセージを送信する動作と、
前記メッセージを送信した結果に基づいて、要求元システムからファイルをダウンロードするための要求を受信する動作と、
前記要求を受信したことに応答して、前記ファイルを要求元システムに送信する動作と
を備えたことを特徴とする方法。
【請求項１６】
１つまたは複数のネットワークコンピュータを含むコンピュータネットワーク内のコンピュータシステムにおいて、ファイルをキャッシュして共有する方法であって、
前記コンピュータシステムが、
候補ピアサーバを見つけるために、望ましい数のピアサーバの指示を含むブロードキャスト信号をサブネット上のコンピュータシステムに送信する動作と、
ランダムな短時間間隔で待機しているサブネット上のコンピュータシステムの１つから応答信号を受信し、他の候補ピアサーバからのマルチキャスト応答をリスン（listening）し、コンピュータシステムの１つが他の候補ピアサーバからの応答を検出し、他の候補ピアサーバからの応答の数を測定し、前記コンピュータシステムの１つが、望ましい数のピアサーバに相当する数の応答が検出していない場合にのみ応答信号を送信し、望ましい数のピアサーバとして指示された数の他の候補ピアサーバからの応答を検出した場合には応答信号を送信しない動作と、
前記コンピュータシステムの１つの論理的な近接性に基づいて、前記サブネット上のコンピュータシステムのうちの前記１つを、予め定められた数以上のピアを含まないピアリストに選択的に追加する動作と、
ピアサーバを前記ピアリストから削除する動作と、
予め定められた数のピアサーバがピアリストから削除された場合に、前記ピアリストにピアサーバを選択的に追加する動作と、
前記コンピュータシステムのうちの前記１つがダウンロードのために利用可能な前記ファイルまたはファイルの一部分を有しているか否かを把握するために、前記サブネット上のコンピュータシステムのうちの前記１つにユニキャスト信号を送信する動作と、
前記サブネット上のコンピュータシステムのうちの前記１つから、前記サブネット上の前記コンピュータシステムのうちの前記１つがダウンロードのために利用可能な前記ファイルまたはファイルの一部分を有していることを示すユニキャスト信号を受信する動作と、
前記サブネット上のコンピュータシステムのうちの前記１つから、前記ファイルまたはファイルの一部分をダウンロードする動作と
を備えることを特徴とする方法。