【手続補正書】
【提出日】平成21年4月21日(2009.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散キャッシュ内でデータを維持するための方法であって、
少なくとも１つのキャッシュ内でオブジェクトのコピーを維持するステップであって、複数のキャッシュが前記オブジェクトの異なるバージョンを有することができ、前記オブジェクトの各々が、変更可能な複数のデータ・ユニットを有することが可能であるステップと、
各キャッシュにおいてそのキャッシュ内で維持される各オブジェクトに対する更新情報を維持するステップであって、各キャッシュ内の各オブジェクトに対する前記更新情報が、前記オブジェクト、前記オブジェクトを含む前記キャッシュ、および前記オブジェクト内の各データ・ユニットが変更されたかどうかを示すステップと、
あるターゲット・キャッシュ内のあるターゲット・オブジェクト内のターゲット・データ・ユニットに対する変更を受け取った後、前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する更新情報を、前記ターゲット・データ・ユニットが変更されていることを示すように更新するステップであって、前記ターゲット・オブジェクトに対する前記更新情報が、他のどのキャッシュ内でも前記ターゲット・データ・ユニットが変更されていないことを示すステップとを含み、
前記キャッシュが前記オブジェクトの異なるバージョンを含んでいてもよく、前記キャッシュが前記キャッシュのクライアントに前記オブジェクトの古くなったバージョンを送付してもよい方法。
【請求項２】
前記データ・ユニットを変更する要求を受け取った後で、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記更新情報が、前記ターゲット・データ・ユニットが変更されていることを示す場合、前記ターゲット・キャッシュ内の前記ターゲット・オブジェクト内の前記データ・ユニットに前記受け取った変更を適用するステップ  
をさらに実行する、請求項１に記載の方法。
【請求項３】
前記変更を受け取った後で、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記更新情報が、前記ターゲット・データ・ユニットが変更されていないことを示す場合、別のキャッシュが前記ターゲット・オブジェクトおよび最新のターゲット・データ・ユニットの値を含んでいるかどうかを判断するステップと、
別のキャッシュが前記最新のターゲット・データ・ユニットの値を含んでいない場合、前記変更を前記ターゲット・キャッシュ内の前記ターゲット・オブジェクト内の前記データ・ユニットに適用するステップと、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する更新情報を、前記ターゲット・データ・ユニットが変更されていることを示すように更新するステップであって、他のどのキャッシュ内の前記ターゲット・オブジェクトに対する前記更新情報も、前記データ・ユニットが変更されていないことを示すステップ
をさらに実行する、請求項１または２に記載の方法。
【請求項４】
前記変更を受け取った後で、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記更新情報が、前記ターゲット・データ・ユニットが変更されていないことを示す場合、別のキャッシュが前記ターゲット・オブジェクトおよび最新のターゲット・データ・ユニットの値を含んでいるかどうかを判断するステップと、
別のキャッシュが前記最新のターゲット・データ・ユニットの値を含む場合、前記最新のターゲット・データ・ユニットの値を前記判断したキャッシュから取り出し、前記ターゲット・キャッシュ内の前記ターゲット・オブジェクトを、前記取り出した最新のターゲット・データ・ユニットの値で更新するステップと
をさらに実行する、請求項１、２、または３に記載の方法。
【請求項５】
前記ターゲット・キャッシュ内の前記ターゲット・オブジェクトを前記最新のターゲット・データ・ユニットの値で更新した後、前記受け取った変更を前記ターゲット・キャッシュ内の前記ターゲット・オブジェクト内の前記データ・ユニットに適用するステップと、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する更新情報を、前記ターゲット・データ・ユニットが変更されていることを示すように更新するステップであって、他のどのキャッシュ内の前記ターゲット・オブジェクトに対する前記更新情報も、前記データ・ユニットが変更されていないことを示すステップをさらに含む、請求項４に記載の方法。
【請求項６】
中央サーバが、別のキャッシュが前記ターゲット・オブジェクトおよび前記最新のターゲット・データ・ユニットの値を含むかどうかを判断するステップと、前記最新のターゲット・データ・ユニットの値を前記別のキャッシュから取り出すステップとを実行し、前記中央サーバによって、前記最新のターゲット・データ・ユニットの値を返すステップをさらに含み、前記最新のターゲット・データ・ユニットの値が前記ターゲット・キャッシュに適用された後で前記ターゲット・データ・ユニットに対する変更が前記ターゲット・キャッシュに適用され、各キャッシュにキャッシュ・サーバが１つ結合され、各キャッシュ・サーバが、前記キャッシュ・サーバの結合される前記少なくとも１つのキャッシュ内の各オブジェクトに対する更新情報を維持し、前記中央サーバが各キャッシュ内の各オブジェクトに対する更新情報を維持する、請求項４に記載の方法。
【請求項７】
各キャッシュ内の各オブジェクトに対する無効化情報を維持するステップであって、あるキャッシュ内のあるオブジェクトに対する前記無効化情報が前記オブジェクト内の各データ・ユニットが有効か無効かを示すステップと、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記無効化情報が、前記ターゲット・データ・ユニットが無効であることを示す場合、前記更新情報から、前記ターゲット・オブジェクトに対する最新のターゲット・データ・ユニットの値を含むキャッシュを判断するステップと、
前記最新のターゲット・データ・ユニットの値を前記判断したキャッシュから取り出し、前記ターゲット・キャッシュ内の前記ターゲット・オブジェクトを前記最新のターゲット・データ・ユニットの値で更新するステップと、
前記ターゲット・キャッシュ内の前記ターゲット・オブジェクトを前記最新のターゲット・データ・ユニットの値で更新した後、前記ターゲット・キャッシュ内の前記ターゲット・オブジェクト内の前記データ・ユニットに前記受け取った変更を適用するステップと、
前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記更新情報を、前記ターゲット・データ・ユニットが変更されていることを示すように更新するステップと、
前記ターゲット・オブジェクトを含む各キャッシュに対する前記無効化情報を、前記ターゲット・データ・ユニットが無効であることを示すように更新するステップと、
前記判断したキャッシュ内の前記ターゲット・オブジェクトに対する前記更新情報を、前記データ・ユニットが変更されていないことを示すように更新するステップと
をさらに含む、請求項１ないし６のいずれかに記載の方法。
【請求項８】
中央サーバが、前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記無効化情報が、前記ターゲット・データ・ユニットが無効であることを示すかどうかを判断するステップと、前記ターゲット・オブジェクトおよび前記最新のターゲット・データ・ユニットの値を含むキャッシュを判断するステップと、前記最新のターゲット・データ・ユニットの値を前記判断したキャッシュから取り出すステップとを実行し、前記中央サーバによって、前記最新のターゲット・データ・ユニットの値を返すステップをさらに含み、前記最新のターゲット・データ・ユニットの値が前記ターゲット・キャッシュ内の前記ターゲット・オブジェクトに適用された後で前記ターゲット・データ・ユニットに対する変更が前記ターゲット・キャッシュに適用される、請求項７に記載の方法。
【請求項９】
複数のキャッシュと、
少なくとも１つのキャッシュ内でオブジェクトのコピーを維持する手段であって、前記キャッシュが前記オブジェクトの異なるバージョンを有することができ、前記オブジェクトの各々が、変更可能な複数のデータ・ユニットを有することが可能である手段と、
各キャッシュにおいて前記キャッシュ内で維持される各オブジェクトに対する更新情報を維持する手段であって、各キャッシュ内の各オブジェクトに対する前記更新情報が、前記オブジェクト、前記オブジェクトを含む前記キャッシュ、および前記オブジェクト内の各データ・ユニットが変更されたかどうかを示す手段と、
あるターゲット・キャッシュ内のあるターゲット・オブジェクト内のターゲット・データ・ユニットに対する変更を受け取った後、前記ターゲット・オブジェクトおよびターゲット・キャッシュに対する前記更新情報を、前記ターゲット・データ・ユニットが変更されていることを示すように更新する手段であって、前記ターゲット・オブジェクトに対する前記更新情報が、他のどのキャッシュ内でも前記ターゲット・データ・ユニットが変更されていないことを示す手段とを含み、
前記キャッシュが前記オブジェクトの異なるバージョンを含んでいてもよく、前記キャッシュが前記キャッシュのクライアントに前記オブジェクトの古くなったバージョンを送付してもよい、データを維持するためのシステム。
【請求項１０】
コンピュータ・システムにロードされ、そこで実行されると、請求項１ないし８のいずれか一項に記載の方法の諸ステップをすべて前記コンピュータ・システムに実行させるコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。