【手続補正書】
【提出日】平成17年7月13日(2005.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを通じてマスター・サーバからスレーブ・サーバにデータを複製する方法であって、
前記マスター・サーバ上に格納された前記データの変更に関連する、該データの現在の状態についてのバージョン番号を含む情報のパケットを、該マスター・サーバから前記スレーブ・サーバに送信し、
前記スレーブ・サーバ上の前記データが前記パケット内に含まれる前記バージョン番号に対応するように更新されたかどうかを、該スレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバ上の前記データが前記パケット内に含まれる前記バージョン番号に対応しない場合には、該スレーブ・サーバを更新するのに必要とされる情報を含むデルタが、前記マスター・サーバから該スレーブ・サーバに送信されることを要求する、
段階を含むことを特徴とする方法。
【請求項２】
前記データのオリジナル・コピーを前記マスター・サーバ上に格納する段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
各々のスレーブ・サーバについて、ローカル・ディスク上の前記データを永続的にキャッシングする段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記データが変更された場合には、前記マスター・サーバ上の前記データの現在の状態についての固有のバージョン番号を判断する段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
ネットワークを通じてマスター・サーバからスレーブ・サーバにデータを複製する方法であって、
前記マスター・サーバ上に格納された前記データの現在の状態に関するバージョン番号を、該マスター・サーバから前記スレーブ・サーバに送信し、
前記スレーブ・サーバが前記マスター・サーバから送信された前記バージョン番号に対応する前記データの現在の状態を反映するように更新されたかどうかを、該スレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバが前記マスターにより送信された前記バージョン番号に対応しない場合には、該スレーブ・サーバを更新するのに必要とされる情報を含むデルタが、該マスター・サーバから該スレーブ・サーバに送信されることを要求する、
段階を含むことを特徴とする方法。
【請求項６】
前記マスター・サーバから前記スレーブ・サーバに前記デルタを送信する段階をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記スレーブ・サーバへの前記デルタをコミットする段階をさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記デルタをコミットした後、前記スレーブ・サーバの前記バージョン番号を更新する段階をさらに含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記バージョン番号を前記マスター・サーバからスレーブ・サーバに定期的に送信する段階をさらに含むことを特徴とする請求項５に記載の方法。
【請求項１０】
前記スレーブ・サーバが前記バージョン番号の受信を確認するまで、前記バージョン番号をスレーブ・サーバに送信する段階をさらに含むことを特徴とする請求項５に記載の方法。
【請求項１１】
マスター・サーバ及び少なくとも１つのスレーブ・サーバを含むネットワークを通じてデータを複製する方法であって、
前記マスター・サーバ上に格納された前記データの変更に関連し、該データの現在の状態についてのバージョン番号を含み、さらに、該データの前の変更及び前の変更の各々についてのバージョン番号に関連する情報のパケットを、ネットワークで該マスター・サーバからスレーブ・サーバの各々に送信し、
前記スレーブ・サーバが前記バージョン番号に対応するように更新されたかどうかを、各々のスレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバが前の変更を逃さなかった場合には、各々のスレーブ・サーバが前記情報をコミットすることを可能にし、
前記スレーブ・サーバが前記情報のパケットをコミットする前に、前の変更が、前記マスター・サーバから該スレーブ・サーバに送信されることを、前の変更を逃した各々のスレーブ・サーバが要求することを可能にする、
段階を含むことを特徴とする方法。
【請求項１２】
マスター・サーバ及び少なくとも１つのスレーブ・サーバを含むネットワークを通じてデータを複製する方法であって、
マスター・サーバ上に格納された前記データの変更に関連し、前の状態についての前のバージョン番号及び該データの新しい状態についての新しいバージョン番号を含み、さらに、該データの前の変更及び各々の前の変更についての前のバージョン番号に関連する情報のパケットを、ネットワークで前記マスター・サーバから各々のスレーブ・サーバに送信し、
前記スレーブ・サーバ上の前記データが前記パケット内に含まれる前記前のバージョン番号に対応するかどうかを、各々のスレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバ上の前記データが前記パケット内に含まれる前記前のバージョン番号に対応する場合には、各々のスレーブ・サーバが前記情報のパケットをコミットすることを可能にする、
段階を含み、前記コミットが、前記スレーブ・サーバの前記バージョンを前記新しいバージョン番号にも更新し、
前記スレーブ・サーバが前記情報のパケットをコミットする前に、前記スレーブを前記前のバージョン番号に更新するのに必要な前記情報を含むデルタが、前記マスター・サーバから送信されることを、該前のバージョン番号に対応しないスレーブ・サーバの各々が要求することを可能にする、
段階が設けられたことを特徴とする方法。
【請求項１３】
マスター・サーバ及び少なくとも１つのスレーブ・サーバを含むネットワークを通じてデータを複製する方法であって、
マスター・サーバ上に格納された前記データの変更に関連し、前の状態についてのバージョン番号及び該データの新しい状態についてのバージョン番号を含み、さらに、該データの前の変更及び前の変更の各々についてのバージョン番号に関連する情報のパケットを、ネットワークで前記マスター・サーバからスレーブ・サーバの各々に送信し、
前記スレーブ・サーバ上の前記データが前記パケット内に含まれる前記前のバージョン番号に対応するかどうかを、各々のスレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバ上の前記データが前記パケットに含まれる前記前のバージョン番号に対応する場合には、各々のスレーブ・サーバが前記情報のパケットをコミットすることを可能にする、
段階を含み、前記コミットが、前記スレーブ・サーバの前記バージョンを前記新しいバージョン番号にも更新し、
前記スレーブを前記新しいバージョン番号に更新するのに必要な前記情報を含むデルタが、前記マスター・サーバから送信されることを、前記前のバージョン番号に対応しないスレーブ・サーバの各々が要求することを可能にする、
段階が設けられたことを特徴とする方法。
【請求項１４】
ネットワークを通じて、マスター・サーバかた、少なくとも１つのスレーブ・サーバにデータを複製する方法であって、
前記マスター・サーバ上に格納された前記データの変更に関連し、前記データの現在の状態についてのバージョン番号を含む情報のパケットを、前記マスター・サーバからスレーブ・サーバに送信し、
スレーブ・サーバへの前記情報のパケットを受信し、
前記スレーブ・サーバが前記パケット内に含まれる前記バージョン番号に対応するように更新されたかどうか、さらに、該パケット内に含まれる該バージョン番号に対応するように更新する必要がある場合には、該スレーブ・サーバが該情報のパケットを処理することができるかどうかを、該スレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバが更新されることを必要とするかどうか、及び該スレーブ・サーバが前記更新を処理することができるかどうかを示す信号を、該スレーブ・サーバから前記マスター・サーバに送信し、
前記スレーブ・サーバが前記パケット内に含まれる前記情報にコミットすべきであるかどうかを示す応答信号を、前記マスター・サーバから該スレーブ・サーバに送信し、
前記応答信号により前記スレーブ・サーバが前記パケット内に含まれる前記情報にコミットすべきであることが示された場合には、前記スレーブ・サーバへの該情報のパケットをコミットする、
段階を含むことを特徴とする方法。
【請求項１５】
少なくとも１つのスレーブ・サーバの各々が前記コミットを処理できない場合に限り、前記データを中止する段階をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記コミットを処理することができるそれらのスレーブへの前記データをコミットする段階をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記コミットを処理することができなかった前記少なくとも１つのスレーブ・サーバのいずれかに前記更新をマルチキャストする段階をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
前記新しいバージョン番号を、前記コミットを処理することができなかった前記少なくとも１つのスレーブ・サーバのいずれかに一定間隔で送信する段階をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１９】
デルタが、前記コミットを処理することができなかったスレーブ・サーバに送信されることを要求する段階をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項２０】
ネットワークを通じてデータを複製する方法であって、
（ａ）前記複製を、一フェーズ法で達成すべきか、又は二フェーズ法で達成すべきかを判断し、
（ｂ）前記マスター・サーバ上に格納された前記データの変更に関連し、該データの現在の状態についてのバージョン番号を含む情報のパケットを、該マスター・サーバから前記スレーブ・サーバに送信し、
スレーブ・サーバへの前記情報のパケットを受信し、
前記スレーブ・サーバ上の前記データが前記バージョン番号に対応するように更新されたかどうかを、前記スレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバが前記バージョン番号に対応しない場合には、該スレーブ・サーバを更新するのに必要とされる情報を含むデルタが、前記マスター・サーバから該スレーブ・サーバに送信されることを要求する、
ことによって、一フェーズ法で達成されるように定められた複製情報を送信し、
（ｃ）前記マスター・サーバ上に格納された前記データの変更に関連し、該データの現在の状態についてのバージョン番号を含む情報のパケットを、該マスター・サーバから前記スレーブ・サーバに送信し、
前記スレーブ・サーバが前記バージョン番号に対応するように更新されたかどうか、さらに、該スレーブ・サーバが前記情報のパケットを処理できるかどうかを、該スレーブ・サーバが判断することを可能にし、
前記スレーブ・サーバが更新されることを必要とするかどうか、及び該スレーブ・サーバが前記情報のパケットを処理できるかどうかを示す信号を、該スレーブ・サーバから前記マスター・サーバに送信し、
前記スレーブ・サーバが前記情報のパケットをコミットすべきであるかどうかを示す応答信号を、前記マスター・サーバから該スレーブ・サーバに送信し、
前記応答信号により前記スレーブ・サーバが前記情報のパケットをコミットすべきであることが示された場合には、該スレーブ・サーバへの該情報のパケットをコミットする、
ことによって、二フェーズ法で達成されるように定められた複製情報を送信する、
段階を含むことを特徴とする方法。
【請求項２１】
ネットワークを通じてデータを複製する方法であって、
（ａ）前記複製を、一フェーズ法で達成すべきか、又は二フェーズ法で達成すべきかを判断し、
（ｂ）前記データの現在の状態についてのバージョン番号を、マスター・サーバからスレーブ・サーバに送信し、
前記スレーブ・サーバ上のデータが前記バージョン番号に対応しない場合には、デルタが前記マスター・サーバから該スレーブ・サーバに送信されることを要求する、
ことによって、一フェーズ法で複製されるべきデータを送信し、
（ｃ）情報のパケットを前記マスター・サーバからスレーブ・サーバに送信し、
前記スレーブ・サーバが前記情報のパケットを処理できるかどうかを判断し、
前記スレーブ・サーバが前記情報のパケットを処理できる場合には、該スレーブ・サーバへの前記情報のパケットをコミットする、
ことによって、二フェーズ法で複製されるべきデータを送信する、
段階を含むことを特徴とする方法。
【請求項２２】
ネットワーク上でマスターから複数のスレーブにデータを複製する方法であって、
（ａ）前記複製を、一フェーズ法で達成すべきか、又は二フェーズ法で達成すべきかを判断し、
（ｂ）前記データの現在の状態についてのバージョン番号を前記マスターから各々のスレーブに送信し、
前記バージョン番号に対応しないデータを含むデルタが、前記マスターから各々のスレーブに送信されることを要求する、
ことによって、一フェーズ法で複製されるべきデータを送信し、
（ｃ）情報のパケットを前記マスターから各々のスレーブに送信し、
前記複数のスレーブの各々が前記情報のパケットを処理できる場合には、該スレーブへの該情報のパケットをコミットする、
ことによって、二フェーズ法で複製されるべきデータを送信する、
段階を含むことを特徴とする方法。
【請求項２３】
一フェーズ法又は二フェーズ法を用いて、ネットワーク上でマスターから複数のスレーブにデータを複製する方法であって、
（ａ）前記スレーブ上の前記データを更新するために、デルタが前記マスターから該スレーブに送信されることを、各々のスレーブが要求できるように、該データの現在の状態についてのバージョン番号を該マスターから各々のスレーブに送信することによって、一フェーズ法で複製されるべきデータを送信し、
（ｂ）あらゆるスレーブが情報のパケットをコミットできる場合、各々のスレーブによりコミットされるべき情報のパケットを前記マスターから該スレーブに送信することによって、二フェーズ法で複製されるべきデータを送信する、
段階を含むことを特徴とする方法。
【請求項２４】
（ａ）前記マスター・サーバ上に格納されたデータの変更に関連し、前記データの現在の状態についての現在のバージョン番号を含み、さらに、該データの前の変更及び前の変更の各々についてのバージョン番号に関連する情報のパケットを、ネットワーク上でマスター・サーバから各々のスレーブ・サーバに送信する手段と、
（ｂ）前記スレーブ・サーバが前記現在のバージョン番号に対応するように更新されたかどうかを、各々のスレーブ・サーバが判断するのを可能にする手段と、
（ｃ）前記スレーブ・サーバが前の変更を逃した場合には、各々のスレーブが前記情報をコミットすることを可能にする手段と、
（ｄ）前記スレーブ・サーバが前記情報のパケットをコミットする前に、前の変更が前記マスター・サーバから該スレーブ・サーバに送信されることを、前記前の変更を逃したスレーブ・サーバの各々が要求することを可能にする手段と、
を備えることを特徴とするコンピュータ可読媒体。
【請求項２５】
ネットワークを通じてデータを複製するためのシステムであって、
ａ．ｉ．スタート方法を呼び出すことによりデータ複製プロセスを起動するようになり、さらに、前記データのオリジナル・コピーに関する情報を送信するようになったマスター・ユーザ層と、
ｉｉ．前記スタート方法を含み、前記マスター・ユーザ層からの前記コール及び前記データの前記オリジナル・コピーに関する前記情報を受信するようになり、さらに、該データの該オリジナル・コピーに関する該情報の少なくとも幾らかを含むデータ複製パケットを生成し送信するようになったマスター・サービス層と、
を備える、前記データのオリジナル・コピーを含むマスター・サーバと、
ｂ．ｉ．前記マスター・サービス層から前記データ複製パケットを受信し、該データ複製パケットを処理するようになり、さらに、該データ複製パケットに関する情報を送信するようになったスレーブ・サービス層と、
ｉｉ．前記データ複製パケットに関する前記情報を前記スレーブ・サービス層から受信するようになり、該情報を該データ複製パケット内に格納するようになったスレーブ・ユーザ層と、
を備える、前記マスター・サーバからの前記データのコピーを格納するようになったスレーブ・サーバと、
からなることを特徴とするシステム。
【請求項２６】
前記マスター・ユーザ層が、デルタの形態の前記データのオリジナル・コピーに関する情報を送信するようになり、前記デルタが、該データのオリジナル・コピーの前の状態と現在の状態の間の変更に関する情報を含むようになったことを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記マスター・ユーザ層が、前記データのオリジナル・コピーへの変更をスレーブ・サーバ上に複製すべきでないことを示すロールバック・メッセージを送信するようになったことを特徴とする請求項２５に記載のシステム。
【請求項２８】
前記マスター・ユーザ層が、前記複製についてのタイムアウト値を設定するようになったことを特徴とする請求項２５に記載のシステム。
【請求項２９】
前記マスター・ユーザ層が、前記データのオリジナル・コピーの現在の状態と該データのオリジナル・コピーの前の状態との間のデルタを生成するようになったことを特徴とする請求項２５に記載のシステム。
【請求項３０】
前記マスター・ユーザ層が、前記データのオリジナル・コピーの現在の状態と該データの該オリジナル・コピーの前の状態との間のデルタを生成するようになったことを特徴とする請求項２５に記載のシステム。
【請求項３１】
前記マスター・ユーザ層が、前記データのオリジナル・コピーの状態の各々について固有のバージョン番号を生成するようになったことを特徴とする請求項２５に記載のシステム。
【請求項３２】
前記マスター・サービス層が、前記データ複製パケットをマルチキャストするようになったことを特徴とする請求項２５に記載のシステム。
【請求項３３】
前記マスター・サービス層が、前記データ複製パケットを一定間隔で送信するようになったことを特徴とする請求項２５に記載のシステム。
【請求項３４】
前記マスター・サービス層が、前記データ複製パケットのバージョン番号を含むようになったことを特徴とする請求項２５に記載のシステム。
【請求項３５】
（ａ）前記マスター・サーバ上の前記データのオリジナル・コピーの現在状態に関するバージョン番号を、マスター・サービス層からスレーブ・サービス層に送信する手段と、
（ｂ）前記スレーブ・サーバ上のデータが前記バージョン番号に対応するように更新されたかどうかを、スレーブ・ユーザ層が判断することを可能にする手段と、
（ｃ）前記スレーブ・サーバ上の前記データが前記バージョン番号に対応しない場合には、デルタが前記マスター・サービス層から前記スレーブ・サービス層に送信されることを要求する手段と、
を備えることを特徴とするコンピュータ読取可能な記録媒体。