【手続補正書】
【提出日】平成28年3月29日(2016.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
キャッシュを管理するためのクライアントデバイスが実行する方法であって、
前記クライアントデバイスで、サーバコンピュータに記憶されたデータを取得するための要求を受けるステップと、
前記クライアントデバイスが、キャッシングが前記クライアントデバイスで使用可能であるか判定するステップと、
キャッシングが前記クライアントデバイスで使用可能でないとの前記クライアントデバイスによる判定に応答して、前記クライアントデバイスが、前記サーバコンピュータに対して前記データを要求するステップと、
キャッシングが前記クライアントデバイスで使用可能であるとの前記クライアントデバイスによる判定に応答して、前記クライアントデバイスが、前記サーバコンピュータに対して、前記データに対応するハッシュを要求するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、
前記ハッシュを前記サーバコンピュータから受けたか判定するステップであって、要求した前記ハッシュの各々は、要求した前記データに対応する一意的なデータを含む、ステップと、
前記ハッシュを受けていないとの判定に応答して、前記サーバコンピュータに対して前記データを要求するステップと、
前記ハッシュを受けたとの判定に応答して、
前記キャッシュにアクセスし、
前記ハッシュを求めて前記キャッシュを検索する
ステップと
をさらに含む方法。
【請求項３】
請求項１に記載の方法であって、
前記サーバコンピュータから前記ハッシュを受けるステップと、
前記ハッシュを求めて前記キャッシュを検索するステップと、
前記キャッシュが前記ハッシュを記憶していないとの判定に応答して、
前記データおよび前記ハッシュを求める要求を生成し、
前記キャッシュ内に前記データおよび前記ハッシュを記憶する
ステップと
をさらに含む方法。
【請求項４】
請求項１に記載の方法であって、
前記サーバコンピュータから前記ハッシュを受けるステップと、
前記ハッシュを求めて前記キャッシュを検索するステップと、
前記キャッシュ内の前記ハッシュを識別することに応答して、前記キャッシュから前記データを取得するステップと
をさらに含む方法。
【請求項５】
請求項４に記載の方法であって、前記キャッシュは、前記クライアントデバイスおよびクライアントピアにより提供される分散型キャッシュを含み、前記キャッシュから前記データを取得するステップは、前記クライアントピアから前記データを取得するステップを含む、方法。
【請求項６】
請求項５に記載の方法であって、前記クライアントデバイスおよび前記クライアントピアは、制約された帯域幅を有するネットワークに位置する、方法。
【請求項７】
請求項１に記載の方法であって、
新たなデータを前記クライアントデバイスにおいて生成するステップと、
前記新たなデータを、前記サーバコンピュータに、前記新たなデータに対応するハッシュを求める要求とともにアップロードするステップと、
前記ハッシュを前記サーバコンピュータから受けるステップと、
前記ハッシュおよび前記新たなデータを前記キャッシュに記憶するステップと
をさらに含む方法。
【請求項８】
クライアントコンピュータシステムであって、
ネットワークインターフェースユニットと、
コンピュータ可読命令を含むメモリデバイスと、
前記メモリデバイスおよび前記ネットワークインターフェースユニットと通信するよう結合されたプロセッサと
を含み、前記プロセッサは、前記コンピュータ可読命令を実行して、
前記ネットワークインターフェースユニットを介して、サーバコンピュータに記憶されたデータを取得するための要求を受けるステップと、
キャッシングが前記クライアントコンピュータシステムおよび前記サーバコンピュータにおいて使用可能であるかを判定するステップと、
キャッシングが前記クライアントコンピュータシステムおよび前記サーバコンピュータのうちの１つまたは複数で使用可能でないとの判定に応答して、前記ネットワークインターフェースユニットを介して、前記サーバコンピュータに対して前記データを要求するステップと、
キャッシングが前記クライアントコンピュータシステムおよび前記サーバコンピュータで使用可能であるとの判定に応答して、
前記ネットワークインターフェースユニットを介して、前記サーバコンピュータに対して、前記データに対応するハッシュを要求し、
前記ハッシュを求めてキャッシュを検索する
ステップと
を実行する、クライアントコンピュータシステム。
【請求項９】
請求項８に記載のクライアントコンピュータシステムであって、前記メモリデバイスは、前記プロセッサにより実行されると、前記プロセッサに、前記キャッシュが前記ハッシュを記憶していないとの判定に応答して、
前記サーバコンピュータに対する前記データを求める要求を生成し、
前記データおよび前記ハッシュを前記キャッシュに記憶する
ステップを実行させるコンピュータ可読命令をさらに含む、クライアントコンピュータシステム。
【請求項１０】
請求項９に記載のクライアントコンピュータシステムであって、前記メモリデバイスは、前記プロセッサにより実行されると、前記プロセッサに、前記キャッシュ内の前記ハッシュを識別することに応答して、
前記キャッシュから前記データを取得するステップ
を実行させるコンピュータ可読命令をさらに含む、クライアントコンピュータシステム。
【請求項１１】
請求項１０に記載のクライアントコンピュータシステムであって、前記キャッシュは、前記クライアントコンピュータシステムおよびクライアントピアにより提供される分散型キャッシュを含み、前記キャッシュから前記データをするステップは、前記クライアントピアから前記データを取得するステップを含む、クライアントコンピュータシステム。
【請求項１２】
請求項１１に記載のクライアントコンピュータシステムであって、前記クライアントコンピュータシステムおよびクライアントピアは、支所に位置し、前記サーバコンピュータは、前記支所から遠隔に位置する、クライアントコンピュータシステム。
【請求項１３】
請求項８に記載のクライアントコンピュータシステムであって、前記メモリデバイスは、前記プロセッサにより実行されると、前記プロセッサに、
新たなデータを前記クライアントコンピュータシステムにおいて生成するステップと、
前記ネットワークインターフェースユニットを介して、前記新たなデータを、前記サーバコンピュータに、前記新たなデータに対応する新たなハッシュを求めるリクエストとともにアップロードするステップと、
前記ネットワークインターフェースユニットを介して、前記新たなハッシュを前記サーバコンピュータから受けるステップと、
前記新たなハッシュおよび前記新たなデータを前記キャッシュに記憶するステップと
を実行させるコンピュータ可読媒体をさらに含む、クライアントコンピュータシステム。
【請求項１４】
データのキャッシュを管理するためのサーバが実行する方法であって、
ハッシュを求める要求をクライアントデバイスから受けるステップと、
前記ハッシュを送るべきか前記ハッシュに対応するデータを送るべきかを、前記ハッシュのサイズと比較しての前記データのサイズと、前記ハッシュが前記サーバに記憶されていない場合に前記ハッシュを生成するのに必要な時間と、前記データが前記キャッシュに記憶されていない場合に前記クライアントデバイスと前記サーバとの間で必要な通信の回数と、ハッシュのみを前記クライアントデバイスに提供すべきであるとのフラグまたは他の指示とのうちの少なくとも１つに基づき判定するステップと、
前記ハッシュを送るべきと判定した場合に、前記ハッシュを前記クライアントデバイスに送るステップと、
前記データを送るべきと判定した場合に、前記データを前記クライアントデバイスに送るステップと
を含む方法。
【請求項１５】
請求項１４に記載のサーバが実行する方法であって、前記クライアントデバイスからの前記ハッシュを求める前記要求は、データを求める要求と、ハッシュを送るべきであることを示すフラグとを含み、前記サーバが実行する方法は、
前記フラグが存在する場合に、前記判定するステップに進むステップと、
前記フラグが存在しない場合に、前記データを前記クライアントデバイスに送るステップと
をさらに含む、方法。
【請求項１６】
請求項１４に記載のサーバが実行する方法であって、前記判定するステップは、
前記ハッシュのサイズを前記データのサイズと比較するステップと、
前記ハッシュを送るよりも効率的である場合に、前記データを送るステップと、
前記データを送るよりも効率的である場合に、前記ハッシュを送るステップと、
を含む、方法。
【請求項１７】
請求項１６に記載のサーバが実行する方法であって、前記データのサイズが前記ハッシュのサイズである場合に、前記データを送るステップをさらに含む方法。
【請求項１８】
請求項１４に記載のサーバが実行する方法であって、前記判定するステップは、
前記ハッシュが前記サーバに記憶されていない場合に、前記ハッシュを生成するのに必要な時間を求めるステップと、
前記データを送るよりも時間的に効率的である場合に、前記ハッシュを生成し前記ハッシュを送るステップと、
前記ハッシュを生成して送るよりも時間的に効率的である場合に、前記データを送るステップと
を含む、方法。
【請求項１９】
請求項１４に記載のサーバが実行する方法であって、前記判定するステップは、
前記データが前記キャッシュに記憶されていない場合に、前記クライアントデバイスと前記サーバとの間で必要な通信の回数を求めるステップと、
前記データが前記キャッシュに記憶されていない場合にある複数回の通信が必要なときに、前記データを送るステップと、
前記データが前記キャッシュに記憶されていない場合に前記複数回より少ない回数の通信が必要なときに、前記ハッシュを送るステップと
を含む、方法。
【請求項２０】
請求項１６に記載のサーバが実行する方法であって、前記クライアントデバイスからの将来の要求に応答して前記ハッシュを提供すべきことを示すためのフラグを記憶するステップをさらに含む、方法。