【手続補正書】
【提出日】平成22年1月29日(2010.1.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストアされたデータの少なくとも１つの変更を、同期群内のレプリカ間で複製する方法であって、各レプリカは前記同期群内の他のレプリカと独立して変更を行うことができ、該方法は、
第１のレプリカが認識するストアされたデータの変更の知識を表す第１のレプリカの知識値と、前記ストアされたデータ内の特定のデータ集合を識別するフィルタとを第２のレプリカで受信するステップであって、前記第１のレプリカの知識値は、第１の変更識別子と第２の変更識別子とを含み、第１の変更識別子は、第１のレプリカが第１の変更識別子まで第１のレプリカによってなされた全ての変更を認識することを示し、第２の変更識別子は、第１のレプリカが第２の変更識別子まで第３のレプリカによってなされた全ての変更を認識することを示す、受信するステップと、
前記第１のレプリカの知識値を、前記第２のレプリカ内にストアされたデータの変更に関連するバージョンと比較して、前記第１のレプリカが認識しておらず前記第２のレプリカが知っている少なくとも１つの変更を識別するステップであって、前記少なくとも１つの変更は前記フィルタにより識別された前記特定のデータ集合に関連する、識別するステップと、
前記少なくとも１つの変更を前記第１のレプリカに送信するステップと
を含むことを特徴とする方法。
【請求項２】
前記第２のレプリカが認識するストアされたデータの変更の知識を表す第２のレプリカの知識値を、前記第１のレプリカに対して送信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のレプリカの知識値により表されず、且つ前記フィルタにより識別した前記特定のデータ集合にも関連しない、前記ストアされたデータの少なくとも１つの非絞込み変更を前記第２のレプリカに従って識別するステップと、
前記少なくとも１つの非絞込み変更を識別する情報を前記第１のレプリカに送信するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記フィルタは伸縮可能フィルタであり、
前記フィルタにより識別された前記特定のデータ集合は、前記比較するステップの間に適用されるフィルタ基準により識別されたデータと、前記第１のレプリカの知識値により表された時点で適用された前記フィルタ基準により識別されたデータとを備える、
ことを特徴とする請求項１に記載の方法。
【請求項５】
各々が別々のデータを識別し、前記データが前記フィルタに入ることに関連する少なくとも１つのバージョンを有する、１つまたは複数のストアされたデータ識別子を備える前記フィルタに関連するリストをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記の１つまたは複数のストアされたデータ識別子の少なくとも１つは、前記フィルタから前記データが出ることに関連する少なくとも１つのバージョンを備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記リストは、
フィルタ基準を評価することと、
前記フィルタ内にあるストアされたデータを前記フィルタ基準が識別するときに、前記データが前記フィルタに入ることに関連するバージョンを加えることと、
前記フィルタ内にないストアされたデータを前記フィルタ基準が識別するときに、前記データが前記フィルタから出ることに関連するバージョンを加えることと
により保持されることを特徴とする請求項５に記載の方法。
【請求項８】
前記リストは、同期動作の直前または最中に保持されていることを特徴とする請求項７に記載の方法。
【請求項９】
前記リストは、同期動作から離れた時点で保持されることを特徴とする請求項７に記載の方法。
【請求項１０】
ストアされたデータの少なくとも１つの変更を、同期群内のレプリカ間で複製する方法であって、各レプリカは前記同期群内の他のレプリカと独立して変更を行うことができ、該方法は、
第１のレプリカが認識するストアされたデータの変更の知識を表す第１のレプリカの知識値と、前記ストアされたデータ内の特定のデータ集合を識別するフィルタとを第２のレプリカに送信するステップであって、前記第１のレプリカの知識値は複数の変更識別子を含み、変更識別子の各々は、第１のレプリカが前記変更識別子まで関連するレプリカによってなされた全ての変更を認識することを示す、送信するステップと、
前記第１のレプリカが認識しなかった前記第２のレプリカ内に存在するストアされたデータの少なくとも１つの変更を受信するステップであって、前記少なくとも１つの変更は、前記フィルタにより識別された前記特定のデータ集合に関連する、受信するステップと、
前記少なくとも１つの受信した変更を、前記第１のレプリカにより保持された前記ストアされたデータに取り込むステップと
を含むことを特徴とする方法。
【請求項１１】
前記第２のレプリカが認識する前記ストアされたデータの変更の知識を表す第２のレプリカの知識値を受信するステップと、
前記フィルタにより識別された前記特定のデータ集合に対してのみ、前記第２のレプリカが認識する前記ストアされたデータの変更の知識を表すように、前記第１のレプリカの知識値を更新するステップと
をさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記第１のレプリカの知識値により表されず、且つ前記フィルタが識別する前記特定のデータ集合にも関連しない前記ストアされたデータの少なくとも１つの非絞込み変更を識別する情報を、前記第２のレプリカによって受信するステップと、
前記少なくとも１つの非絞込み変更を識別する情報を用いて、前記第１のレプリカにより保持された前記ストアされたデータを更新するステップと
をさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記第１のレプリカにより保持された前記ストアされたデータを更新するステップは、
前記少なくとも１つの非絞込み変更を識別する前記情報に従って前記第１のレプリカの知識値内に少なくとも１つの例外を生成することであって、前記少なくとも１つの例外は、前記少なくとも１つの変更を受信する前に前記第１のレプリカが認識した前記ストアされたデータの前記変更の知識を参照することをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記第１のレプリカにより保持された前記ストアされたデータを更新するステップは、前記少なくとも１つの非絞込み変更を識別する前記情報に対応した前記ストアされたデータの少なくとも一部を削除することをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記少なくとも１つの受信した変更を取り込むステップは、
前記少なくとも１つの受信した変更が前記第２のレプリカ上で行われたときに前記第２のレプリカが認識しなかった前記ストアされたデータの変更の知識を表す知識生成値を前記第２のレプリカから受信することと、
単一の前記ストアされたデータについて、
前記第１のレプリカ上で第１の変更を行い、
前記第２のレプリカ上で第２の変更を行い、
前記第１の変更に関連する第１の変更ＩＤが前記知識生成値内になく、
前記第２の変更に関連する第２の変更ＩＤが前記第１のレプリカの知識値内にないと
き
にコンフリクトが存在すると判断することと
を含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
ストアされたデータの変更を同期群内のレプリカ間で管理および複製するシステムであって、各レプリカは前記同期群内の他のレプリカと独立して変更を行うことができ、該システムは、
プロセッサと、
前記プロセッサに選択的に結合されたメモリと、
前記ストアされたデータを管理するよう構成した項目データストアモジュールと、
前記ストアされたデータの変更の知識を管理するよう構成した知識ストアモジュールと、
それぞれが前記ストアされたデータ内の特定のデータ集合を識別する１つまたは複数のフィルタを保持するよう構成したフィルタストアモジュールと、
第１のレプリカが認識する前記ストアされたデータの変更の知識を表す第１のレプリカの知識値と、前記ストアされたデータ内の第１の特定のデータ集合を識別する第１のフィルタとを受信し、
前記第１のレプリカの知識値と前記項目データストアモジュールが提供する変更に関連するバージョンとを比較して、前記第１のレプリカが認識しない前記システムが知っている少なくとも１つの列挙した変更を識別し、前記少なくとも１つの列挙した変更は前記第１のフィルタが識別する前記第１の特定のデータ集合に関連しており、
前記第１のレプリカの前記少なくとも１つの列挙した変更を送信する
よう構成した変更列挙モジュールであって、前記第１のレプリカの知識値は、第１の変更識別子と第２の変更識別子とを含み、第１の変更識別子は、第１のレプリカが第１の変更識別子まで第１のレプリカによってなされた全ての変更を認識することを示し、第２の変更識別子は、第１のレプリカが第２の変更識別子まで第３のレプリカによってなされた全ての変更を認識することを示し、前記第２の変更識別子まで第３のレプリカによってなされた前記変更は、第１のアイテムに対する第１の変更と第２のアイテムに対する第２の変更とを含み、第１の変更および第２の変更は異なる変更識別子に対応する、変更列挙モジュールと、
前記システムが認識する前記ストアされたデータの変更の知識を表す前記知識ストアにより提供したシステム知識値と、前記ストアされたデータ内の第２の特定のデータ集合を識別する前記フィルタストアが提供する第２のフィルタとを第２のレプリカに送信し、
前記システムが認識しなかった前記第２のレプリカ内に存在する少なくとも１つの受信した変更を受信し、前記少なくとも１つの受信した変更は、前記第２のフィルタにより識別した前記第２の特定のデータ集合に関連しており、
前記少なくとも１つの受信した変更を、前記項目データストアモジュールに関連する前記ストアされたデータに取り込む
よう構成した変更取り込みモジュールと
を備えることを特徴とするシステム。
【請求項１７】
前記システムが認識する前記ストアされたデータの変更の知識を表す前記知識ストアにより提供した前記システム知識値を、前記第１のレプリカに送信するよう前記変更列挙モジュールをさらに構成したことを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記変更取り込みモジュールは、
前記第２のレプリカが認識する前記ストアされたデータの変更の知識を表す第２のレプリカの知識値を受信し、
前記第２のレプリカが認識する前記ストアされたデータの変更の知識を表すように、前記フィルタが識別する前記特定のデータ集合に対してのみ、前記システムの知識値を更新する
ようにさらに構成したことを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記変更取り込みモジュールは、
前記少なくとも１つの受信した変更が前記第２のレプリカ上で行われたときに前記第２のレプリカが認識しなかった前記ストアされたデータの変更の知識を表す知識生成値を前記第２のレプリカから受信し、
単一の前記ストアされたデータについて、
前記第１のレプリカ上で第１の変更を行い、
前記第２のレプリカ上で第２の変更を行い、
前記第１の変更に関連する第１の変更ＩＤが前記知識生成値内になく、
前記第２の変更に関連する第２の変更ＩＤが前記システムの知識値内にないとき
にコンフリクトが存在すると判断する
ようさらに構成したことを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記第１のフィルタは伸縮可能フィルタであること、および、
前記第１のフィルタにより識別した前記第１の特定のデータ集合は、前記比較動作中に適用したフィルタ基準により識別したデータと、前記第１のレプリカの知識値により表す時点で適用した前記フィルタ基準により識別したデータとを備えること
を特徴とする請求項１６に記載のシステム。