(57)【要約】本開示は、サブバージョンリポジトリをバックアップする方法および装置を提供する。１つの実施形態では、バックアップリポジトリのバージョン属性が事前設定され、バックアップリポジトリの最新のバージョンを特定するサブバージョンリポジトリをバックアップする方法は、バックアップリポジトリのバージョン属性に基づいてバックアップリポジトリを同期することと、同期が無事に行われた場合には、バックアップリポジトリのバージョン属性を同期されたバージョンの識別で更新することと、同期が無事に行われなかった場合には、カレントバージョンが同期不可バージョンであると決定し、オリジナルリポジトリのコピーを複製することによってオリジナルリポジトリをバックアップし、バックアップリポジトリのバージョン属性を同期不可バージョンの識別子で更新することを含む。
2013521565.tif 000002
【特許請求の範囲】
【請求項１】
バックアップリポジトリのバージョン属性が事前設定され、前記バックアップリポジトリの最新バージョンを識別する、サブバージョンリポジトリをバックアップする方法であって、
前記バックアップリポジトリの前記バージョン属性に基づいて前記バックアップリポジトリを同期させることと、 
同期が無事に行われた場合、前記バックアップリポジトリの前記バージョン属性を、同期されたバージョンのバージョン属性に設定することと、
同期が無事に行われなかった場合、カレントバージョンが同期不可バージョンであると決定し、オリジナルリポジトリのコピーを複製することによって前記オリジナルリポジトリをバックアップし、前記バックアップリポジトリの前記バージョン属性を、前記同期不可バージョンのバージョン属性に設定することと、
を含む方法。
【請求項２】
カレントバージョンが同期不可バージョンであると決定することが、
同期失敗のエラーメッセージを取得することと、
前記エラーメッセージに基づいて前記カレントバージョンが同期不可バージョンであると決定すること、または
前記エラーメッセージに対応するエラー処理後に同期失敗が続く場合に、前記カレントバージョンが同期不可バージョンであると決定することと、
を含む、請求項１に記載の方法。
【請求項３】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが、前記バックアップリポジトリをロックされているとして示す場合に、前記バックアップリポジトリの同期ロック属性を削除することと、
を含む、請求項２に記載の方法。
【請求項４】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが、前記バックアップリポジトリ内のファイルをロックされているとして示す場合に、前記バックアップリポジトリ内の前記ファイルのロック属性を削除することと、
を含む、請求項２に記載の方法。
【請求項５】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが前記バックアップリポジトリの最新バージョンのエラーを示す場合に、前記バックアップリポジトリの前記最新バージョンを削除し、前記バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正することと、
を含む、請求項２に記載の方法。
【請求項６】
サブバージョンリポジトリをバックアップする装置であって、
バージョン属性に基づいて前記サブバージョンリポジトリの同期動作を実現する同期部と、
前記同期部による前記同期動作が無事に行われた場合に、バックアップリポジトリのバージョン属性を最新版の値に設定する同期成功処理部と、
前記同期部による前記同期動作が無事に行われなった場合に、前記サブバージョンリポジトリのコピーを複製することによって前記サブバージョンリポジトリをバックアップし、前記バックアップリポジトリの前記バージョン属性を前回の同期不可バージョンの値に設定する同期失敗処理装置と、
を備える装置。
【請求項７】
前記同期動作失敗時にエラーメッセージを取得するエラーメッセージ取得サブユニットと、
前記エラーメッセージに基づいてカレントバージョンを同期不可バージョンとして決定する第１決定サブユニットと、
前記エラーメッセージに基づいて１つまたは複数のエラーを処理するエラー処理サブユニットと、
前記１つまたは複数のエラーが処理された後も同期が失敗するときに、前記カレントバージョンを同期不可バージョンとして決定する第２の決定サブユニットと、
を含む、同期不可バージョン決定部と、
をさらに備える、請求項６に記載の装置。
【請求項８】
前記エラーメッセージが、前記バックアップリポジトリをロックされているとして示す場合、前記エラー処理サブユニットが前記バックアップリポジトリの同期ロック属性を削除する、請求項７に記載の装置。
【請求項９】
前記エラーメッセージが、前記バックアップリポジトリ内のファイルをロックされているとして示す場合、前記エラー処理サブユニットが前記バックアップリポジトリ内の前記ファイルのロック属性を削除する、請求項７に記載の装置。
【請求項１０】
前記エラーメッセージが、前記バックアップリポジトリの最新バージョンのエラーを示す場合、前記エラー処理サブユニットが、前記バックアップリポジトリの前記最新バージョンを削除し、前記バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正する、請求項７に記載の装置。
【請求項１１】
実行時、多数のアクションを実行するコンピュータ実行可能命令を含む１つまたは複数のコンピュータ可読記憶媒体であって、
バックアップリポジトリのバージョン属性に基づいて前記バックアップリポジトリを同期させることと、 
同期が無事に行われた場合、前記バックアップリポジトリの前記バージョン属性を、同期されたバージョンのバージョン属性に設定することと、
同期が無事に行われなかった場合、カレントバージョンが同期不可バージョンであると決定し、オリジナルリポジトリのコピーを複製することによって前記オリジナルリポジトリをバックアップし、前記バックアップリポジトリの前記バージョン属性を、前記同期不可バージョンのバージョン属性に設定することと、
を含む１つまたは複数のコンピュータ可読記憶媒体。
【請求項１２】
カレントバージョンが同期不可バージョンであると決定することが、
同期失敗のエラーメッセージを取得することと、
前記エラーメッセージに基づいて前記カレントバージョンが同期不可バージョンであると決定すること、または
前記エラーメッセージに対応するエラー処理後に同期失敗が続く場合に、前記カレントバージョンが同期不可バージョンであると決定することと、
を含む、請求項１１に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１３】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが、前記バックアップリポジトリをロックされているとして示す場合に、前記バックアップリポジトリの同期ロック属性を削除することと、
を含む、請求項１２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１４】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが、前記バックアップリポジトリ内のファイルをロックされているとして示す場合に、前記バックアップリポジトリ内の前記ファイルのロック属性を削除することと、
を含む、請求項１２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１５】
前記エラーメッセージに対応するエラー処理が、
前記エラーメッセージが前記バックアップリポジトリの最新バージョンのエラーを示す場合に、前記バックアップリポジトリの前記最新バージョンを削除し、前記バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正することと、
を含む、請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
「関連出願の相互参照」
本願は、参照することにより全体として本明細書に組み込まれる、「Method and Apparatus of Backing-Up Subversion Repository」と題する２０１０年３月４日に出願された中国特許出願２０１０１０１１９８７７．４号に基づく優先権を主張する。
【０００２】
本開示はコンピュータの分野に関し、特にサブバージョンリポジトリをバックアップする方法および装置に関する。
【背景技術】
【０００３】
ＳＶＮと呼ばれるサブバージョンは、最近開発されたコードバージョン管理ソフトウェアの一種である。ＳＶＮは、従来のバージョン管理ソフトウェアよりも多くの優位点をもっている。現在では、ますます多くのユーザが、コードを管理し、制御するためにＳＶＮを活用している。
【発明の概要】
【０００４】
現在のコード管理ソフトウェアは、バックアップリポジトリを必要とする。最も単純且つ頻繁に使用されるバックアップ方法は、リポジトリが所与のコンテンツのコピーを保持し、そのコンテンツをバックアップする直接複製コマンドである。ただし、リポジトリ内のデータの量は通常非常に多く、各フルバックアップのたびに完了するために非常に長い時間を要する。
【０００５】
現在使用されている技術で別の方法は、リポジトリが同期される同期コマンドである。バックアップリポジトリは同期動作のたびにバックアップを必要とする最後のコンテンツを更新するだけである。したがって、バックアップ速度は加速する。ただし、この手法の問題点は、同期プロセス中にエラーが発生すると、以後のバージョンが同期されず、適切にバックアップされるカレントデータももはや使用されなくなるという点である。さらに、新しいバックアップが配備されても、同期動作エラーが出現しないという保証は依然としてない。言い換えると、リポジトリ同期動作が継続できないことがある。
【０００６】
前述された技術的な問題を解決するために、本開示は、サブバージョンリポジトリをバックアップする方法および装置に関する例示的な実現例を提供する。これは、リポジトリの同期エラーを処理し、同期動作が続行できることを保証することを目的としている。
【０００７】
１つの態様では、バックアップリポジトリのバージョン属性が事前設定され、バックアップリポジトリの最新バージョンを特定するサブバージョンリポジトリをバックアップする方法は、バックアップリポジトリのバージョン属性に基づいてバックアップリポジトリを同期することと、同期が無事に行われた場合には、バックアップリポジトリのバージョン属性を同期されたバージョンの識別で更新することと、同期が無事に行われなかった場合には、カレントバージョンが同期不可バージョンであると決定し、オリジナルリポジトリのコピーを複製することによってオリジナルリポジトリをバックアップし、バックアップリポジトリのバージョン属性を同期不可バージョンの識別子で更新することを含むことがある。
【０００８】
カレントバージョンが同期不可バージョンであると決定することは、同期失敗のエラーメッセージを取得し、エラーメッセージに基づいてカレントバージョンが同期不可バージョンであると決定すること、またはエラーメッセージに対応するエラー処理後も同期失敗が継続する場合にカレントバージョンが同期不可バージョンであると決定することを含んでよい。
【０００９】
エラーメッセージに対応するエラー処理は、エラーメッセージが、バックアップリポジトリをロックされているとして示す場合にバックアップリポジトリの同期ロック属性を削除することを含んでよい。
【００１０】
エラーメッセージに対応するエラー処理は、エラーメッセージが、バックアップリポジトリ内のファイルをロックされているとして示す場合にバックアップリポジトリ内のファイルのロック属性を削除することを含んでよい。
【００１１】
エラーメッセージに対応するエラー処理は、エラーメッセージがバックアップリポジトリの最新バージョンのエラーを示す場合に、バックアップリポジトリの最新バージョンを削除し、バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正することを含んでよい。
【００１２】
別の態様では、サブバージョンリポジトリをバックアップするための装置は、バージョン属性に基づいてサブバージョンリポジトリの同期動作を実現する同期部と、同期部による同期動作が成功した場合、バックアップリポジトリのバージョン属性を最新バージョンの値に設定する同期成功処理部と、同期部による同期動作が不成功である場合、サブバージョンリポジトリのコピーを複製することによってサブバージョンリポジトリをバックアップし、バックアップリポジトリのバージョン属性を最後の同期可能なバージョンの値に設定する同期失敗処理部とを含んでよい。
【００１３】
装置は、同期動作失敗時にエラーメッセージを取得するエラーメッセージ取得サブユニットと、エラーメッセージに基づいて同期不可バージョンとしてカレントバージョンを決定する第１の決定サブユニットと、エラーメッセージに基づいて１つまたは複数のエラーを処理するエラー処理サブユニットと、１つまたは複数のエラーが処理された後にも同期が失敗するときにカレントバージョンを同期不可バージョンと決定する第２の決定サブユニットとを含む、同期不可バージョン決定部をさらに含んでよい。
【００１４】
エラーメッセージがバックアップリポジトリをロックされているとして示す場合、エラー処理サブユニットはバックアップリポジトリの同期ロック属性を削除してよい。
【００１５】
エラーメッセージがバックアップリポジトリ内のファイルをロックされているとして示す場合、エラー処理サブユニットはバックアップリポジトリ内のロック属性を削除してよい。
【００１６】
エラーメッセージがバックアップリポジトリの最新バージョンのエラーを示す場合、エラー処理サブユニットは、バックアップリポジトリの最新バージョンを削除し、バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正してよい。
【００１７】
現在存在している技術では、空のバックアップリポジトリが確立され、同期前に初期化されなければならない。エラー発生時、以後のバージョンは同期されず、正しくバックアップされたカレントデータはもはやアクセスされないだろう。対照的に、本開示の実施形態は、バージョン属性を直接的に設定することによってバックアップリポジトリを初期化する必要はない。同期失敗時、この技法はオリジナルバックアップリポジトリをコピーし、バージョン属性を修正し、これによって、同期を続行することが可能になる。
【００１８】
さらに、本開示は、同期失敗のいくつかの特定の原因に注目する。対応する自動処理方法が提供される。これらの方法はオリジナルリポジトリ全体を複製する必要なく同期を続行できるので、バックアッププロセスは最適化される。
【００１９】
現在存在する技術の例示的な実施形態および技術的な計画を明確に示すために、以下に簡単な説明を付けた図を示す。明らかに、以下の図は単にいくつかの例示的な実現例にすぎず、当業者はこれらを他の図の基本として使用できるだろう。
【図面の簡単な説明】
【００２０】
【図１】本開示の実施形態に係るサブバージョンリポジトリをバックアップする方法のフローチャートを示す図である。
【図２】本開示の実施形態に係るサブバージョンリポジトリをバックアップする装置の構造図を示す図である。
【図３】本開示の別の実施形態に係るサブバージョンリポジトリをバックアップする装置の構造図を示す図である。
【発明を実施するための形態】
【００２１】
現在のリポジトリ同期方法では、空のバックアップリポジトリが確立される必要があり、それはリポジトリの最初の同期以前にＳＶＮ同期初期化コマンドを使用して初期化される必要がある。エラー発生時、以後のバージョンは同期されず、適切にバックアップされたカレントデータはもはやアクセスされないだろう。新しいバックアップが配備されても、同期動作エラーが出現しないという保証は依然としてない。
【００２２】
上述の技術的な問題に対処するために、本開示の提案されている技術的な計画は以下のように要約できる。つまり、バックアップリポジトリの事前設定されたバージョン属性が、バックアップリポジトリの最新バージョンを記録するために使用される。通常の状況では、「最新のバージョン」は、前回同期が成功したバージョンのはずである。同期失敗時には、同期が依然として維持できるように属性値を修正できる。
【００２３】
一実施形態では、サブバージョンリポジトリをバックアップする方法は、バージョン属性に従ってリポジトリを同期することを含み、同期が無事に行われた場合には、バックアップリポジトリバージョン属性値が最も最新の同期バージョンであると見なされ、同期が失敗した場合、オリジナルリポジトリ全体がバックアップされ、その最後の同期不可バージョンの識別（ＩＤ）が最も最新のバージョン属性値と見なされる。
【００２４】
この方法を適用する際には、バックアップリポジトリを初期化する必要性がない。方法は、バックアップリポジトリのバージョン属性を直接的にセットアップできる。正確に同期させる方法がないとき、方法はオリジナルリポジトリのコピーをバックアップし、同期がカレントコピーでも続行できるようにバックアップリポジトリバージョン属性を修正できる。
【００２５】
当業者が技術的な方式をよりよく理解するために、本書には本開示の例示的な実現例が添付されている。本開示の技術的な計画は、明確かつ完全な説明とともに提示される。当業者によって得られる他の実現例が本開示の範囲内にあることが理解される。
【００２６】
図１は本開示の実施形態に係るサブバージョンリポジトリをバックアップする方法のフローチャートを示す図である。例えば、repo1はオリジナルリポジトリであり、repo2はバックアップリポジトリである。方法は、後述される手順を含む。
【００２７】
Ｓ１０１で、方法はバックアップリポジトリのバージョン属性に基づいてバックアップリポジトリを同期させる。
【００２８】
リポジトリの同期前、方法はバックアップリポジトリをセットアップする。必要なセットアップ属性は、以下の通りバックアップリポジトリのバージョン属性を含む。svn: sync-last-merged-rev
【００２９】
この属性は、バックアップリポジトリの最新バージョン、すなわちバージョン番号repo2/db/currentを記録する。カレントリポジトリが空である場合、バージョン番号は０になると仮定できる。以後のどのような同期にも、方法は属性を単に読み取ることだけで以後のバージョンを同期させ続けることができる。
【００３０】
さらに、バックアップリポジトリ属性の必要とされるセットアップは、以下のオリジナルリポジトリのＩＤをさらに含む。svn: sync-from-uuid
【００３１】
同期中、記録される属性はuuidとラベルが付けられたリポジトリＩＤである。本開示の例示的な実現例では、バージョン属性値セットアップはrepo1のuuidである。
【００３２】
オリジナルリポジトリのアドレスは以下のとおりである。svn: sync-from-url
【００３３】
属性レコードは、オリジナルリポジトリのメモリパスを含む必要がある。本開示の多様な実施形態では、属性値のセットアップは，repo1のメモリパスとして見なすことができる。
【００３４】
上述された属性は、repo2の総合的な属性に同等である。バージョン属性のセットアップ完了後、オリジナルリポジトリ及びバックアップリポジトリは、同期リンクを確立する。方法は、リポジトリを同期させるためにコマンドsvnsync sync http://localhost/repo2を実行できる。repo2バージョン属性sync-last-merged-revに基づき、オリジナルリポジトリバージョンは置換され、バックアップバージョンrepo2に入れられる。 
【００３５】
さらに構成するために、repo1の新規に改訂されたバージョンが報告されるとき、自動同期が活性化できる。したがって、方法はrepo1およびrepo2のリアルタイム同期を確立する。例えば、repo1の新規に改訂されたバージョンがシステムによって報告されるとき、同期動作はrepo1スクリプト定義のポストコミットファイルを通して自動的にトリガできる。
【００３６】
Ｓ１０２で、 同期が無事に行われた場合、方法は、バックアップリポジトリのバージョン属性を、同期されたバージョンのバージョン属性に設定する。
【００３７】
通常の状況では、同期動作のたびに、バージョンrepo2の属性が、無事にバックアップされたバージョンの識別に自動的に更新される。以後のどのような同期でも、更新は直接的にバージョンのコンテンツに基づく。
【００３８】
Ｓ１０３で、 同期が無事に行われなかった場合、方法は、カレントバージョンが同期不可バージョンであると決定し、オリジナルリポジトリのコピーを複製することによってオリジナルリポジトリをバックアップし、バックアップリポジトリのバージョン属性を同期不可バージョンのバージョン属性に設定する。
【００３９】
同期が不成功である場合、カレントバージョンを同期不可バージョンとして直接的に決定できる。「同期不可バージョン」は、ここでは、コードで依然として問題なく適切に動作するが、何らかの理由でバックアップリポジトリでそれを正しく同期することができないバージョンを指す。この点で、（バックアップできないそれらのバージョンを含む）オリジナルリポジトリ全体は、バックアップリポジトリまでバックアップできる。
【００４０】
現在既存の技術では、同期は空のバックアップリポジトリが初期化された後にだけ開始できる。以前のバージョンがコピーを複製することによってバックアップされていた場合、同期は可能ではないだろう。他方、本開示の実施形態では、バックアップされたリポジトリのバージョン属性は、バックアップがコピーを複製することによって行われるときに、同期不可動作のバージョン番号に修正されるべきである。言い換えると、システムはバージョン属性を修正することによって、同期バックアップバージョンから複製のバックアップバージョンを区別する。したがって、同期不可バージョンは、妨げられることがない同期を保証するために省略されるだろう。
【００４１】
実際的な用途では、いくつかの特定の理由のための同期の特定の失敗は、特定の方法によって迅速に処理できる。特に、本開示は、同期が失敗した場合の自動的な処理方法を提供する。
【００４２】
同期が失敗すると、エラーメッセージが取得される。一般的にみられるエラーメッセージは、バックアップリポジトリがロック、バックアップリポジトリのファイルがロック、バックアップリポジトリの最新バージョンのエラー等を含む。これらのエラーは以下に区別される。
【００４３】
ａ．バックアップリポジトリがロック
かかるエラーメッセージは、「現在『alicode: 1b27a4fd-fb0e-42a0-a13f-9091cc87b9ac』によって保持されている目的地repoに対するロックを得ることができなかった」に類似している。この場合「alicode」は機械名である。
【００４４】
同期中、インターネット切断または他の要因が同期手順の打ち切りにつながることがあり、次の同期が失敗する。この問題に対処するため、バックアップリポジトリのロック保護がクリアされる必要がある。以下のコマンドはバックアップリポジトリの同期ロック属性を削除する。svn propdel svn:sync-lock --revprop -r 0 http://localhost/repo2
【００４５】
ｂ．バックアップリポジトリのファイルがロック
対応するエラーメッセージは以下のとおりである場合がある。svnsync:サーバが予想していない戻り値を送信した。（４２３ロック）
【００４６】
サブバージョンクライアントは、ユーザだけがファイルまたはディレクトリを修正できる、ディレクトリまたはファイルをロックするロック機能を使用できる。バックアップリポジトリが同期中にこのバージョンに遭遇すると、同期は通常失敗する。アクセスを取得し、ロックされたファイルを用いても続行するためには、方法は、以下のコマンドsvnadmin rmlocks repo2/xxxxを実行できる。ここでは、「ｘｘｘｘ」はロックされたファイルパスおよびファイル名である。
【００４７】
ｃ．バックアップリポジトリの最終バージョンのエラー
対応するエラーメッセージは以下のとおりであってよい。svnsync: node-revで欠落しているノードｉｄ
【００４８】
同期プロセス中、このエラーは、欠陥のあるインターネットネットワーク、またはバックアップリポジトリに最新バージョンについて不完全な情報を提出させるリポジトリの低応答速度による場合がある。不安全な同期のため、バックアップリポジトリを使用することはできず、同期は続行されないだろう。一実施形態では、方法は、バックアップリポジトリの最新バージョンを削除できる。つまり、方法は、経路repo2/db/revsおよびrepo2/db/repropsの下の最新バージョンを削除してよい。同時に、repo2/db/currentに記録されるバージョン番号は１、減分されてよい。さらに、方法は、バージョン属性値をリポジトリの最後から２番目のバージョンの識別に修正してよく、したがって以後の同期の前に、オリジナルバージョンの問題のある部分はバックアップされないだろう。
【００４９】
同期失敗および対応するエラー訂正の３つの共通した理由が上記に示されている。問題が上述されるように処理される場合、同期プロセスを続行し、リポジトリ全体の複製を回避することができる。有利なことに、これによってリポジトリのバックアップ効率は上昇する。対応するエラー訂正が処理された後も同期が失敗する場合、カレントバージョンが同期不可バージョンではあること、および次いで上述されたアクションＳ１０３が実現されることが決定できる。
【００５０】
同期の失敗の理由は変わることがある。一方では、エラーの高速処理は上述された３つのタイプに制限されていない。当業者は、実際の状況に基づいて、追加の高速エラー処理手段を追加できる。他方、エラーの理由を明らかに決定できないとき、またはエラーを迅速に処理できないとき、エラーメッセージ基づきカレントバージョンが同期不可バージョンであること、および上述されたアクションＳ１０３が次いで実現されることを決定できる。
【００５１】
本開示は、サブバージョンリポジトリをバックアップする装置を提供する。図２に示されるように、装置は、同期部２１０、同期成功処理部２２０、および同期失敗処理部２３０を含む。
【００５２】
同期部２１０は、バージョン属性に基づいてサブバージョンリポジトリの同期動作を実現する。
【００５３】
同期成功処理部２２０は、同期部２１０による同期動作が無事に行われるときに使用される。同期成功処理部２２０は、バックアップリポジトリのバージョン属性を最新バージョンの値に設定する。同期失敗処理部２３０は、同期部２１０による同期動作が無事に行われなかったときに使用される。同期失敗処理部２３０は、サブバージョンリポジトリのコピーを複製することによってサブバージョンリポジトリをバックアップし、バックアップリポジトリのバージョン属性を前回の同期不可バージョンの値に設定する。
【００５４】
上述されたサブバージョンリポジトリをバックアップする装置を用いると、バックアップリポジトリを初期化する必要はない。バックアップリポジトリの属性値を直接的に設定することによって、バックアップは、同期が実行可能ではないときにコピーを複製することによって達成できる。その後、バックアップリポジトリのバージョン属性は、コピーされたバックアップに基づき同期を許すように修正できる。図３は、図２に示されるものに類似するサブバージョンリポジトリをバックアップするための装置を示すが、さらに同期不可バージョン決定部２４０を含む。同期不可バージョン決定部２４０は、後述される多くのサブユニットを含む。
【００５５】
エラー取得サブユニットは、同期動作失敗時にエラーメッセージを取得する。
【００５６】
第１決定サブユニットは、エラーメッセージに基づいて同期不可バージョンとしてカレントバージョンを決定する。
【００５７】
エラー処理サブユニットは、エラーメッセージに基づいて１つまたは複数のエラーを処理する。
【００５８】
第２の決定サブユニットは、１つまたは複数のエラーが処理された後も同期が失敗するときに、カレントバージョンを同期不可バージョンとして決定する。
【００５９】
エラーメッセージが、バックアップリポジトリがロックされていることを示す場合、エラー処理サブユニットはバックアップリポジトリの同期ロック属性を削除する。
【００６０】
エラーメッセージがバックアップリポジトリ内のファイルがロックされていることを示す場合、エラー処理サブユニットはかかるファイルのロックされた属性を取り消す。
【００６１】
エラーメッセージがバックアップリポジトリの最新バージョンのエラーを示すとき、エラー処理サブユニットは、バックアップリポジトリの最新バージョンを削除し、バックアップリポジトリのバージョン属性を最後から２番目のバージョンのバージョン属性に修正する
【００６２】
同期不可決定部２４０は、同期失敗の特定の明確な原因のために対応する自動処理を提供できる。コピーを複製することによるバックアップは、上述された自動処理後に同期が進行できる場合回避することができ、これによってバックアップ効率はさらに上昇する。
【００６３】
説明の便宜上、上述された装置は機能モジュールに分けられる。実施形態の実現時、１つまたは複数の部の機能をソフトウェアおよび／またはハードウェアの１つまたは複数のインスタンスに入れることができる。
【００６４】
上述により、当業者は、この用途がソフトウェアおよび任意の必要なハードウェアを利用して、開示された技法を実現できることを明確に理解できる。この理解に基づき、実施形態は、コンピュータ実行可能ソフトウェア製品の形で実現できる。このコンピュータ実行可能ソフトウェア製品は、ＲＯＭ／ＲＡＭ、コンピュータディスク等の形をとるコンピュータ可読記憶媒体、または実行時に上述された方法のアクションを実施するコンピュータ実行可能命令の形をとるＣＤ ＲＯＭに記憶できる。それは、技法の多様な実施形態または方法のいくつかの部分を実現するために、実行可能なコンピュータプラットホーム（つまり、パーソナルコンピュータ、サーバ、またはネットワーク装置）を作成するための多くの命令を含む。
【００６５】
多様な実施形態に関する開示は、漸次的に説明されてきた。類似する実現例のあるいくつかの部分は互いに参照されている。それにも関わらず、各部分は実施形態の異なる実現例を説明するために強調される。特に装置実施形態に関して、それらは実現例に関して基本的に類似しているので、説明は方法の説明に相互に関連付けられている。上述された装置の説明は、部が、物理的に分離されてよい、または分離されなくてもよい論理的に別々の構成要素であることを示しているにすぎない。表示構成部品の部は物理装置である場合もあれば、ない場合もあり、１つまたは複数のネットワーク部内に設置できる。実際のニーズに基づき、実施形態の実現の目的を達成するために構成要素またはモジュール全体の間で選択できる。
【００６６】
実施形態は、パーソナルコンピュータ、サーバ、ハンドヘルドデバイスまたは携帯機器、タブレットモデル装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ、または他の分散型コンピュータ環境等の共通のまたは特別なコンピュータシステム環境または構成で使用できる。
【００６７】
コンピュータ実装例は、コンテキスト説明に類似するコンピュータ実行可能コマンドを通して実行できる。一般に、これらのコンピュータプログラムモジュールは、ルーチン、プロシージャ、ターゲット、コンポーネントおよびデータ構造等の特別なタスクまたは抽象データタイプ、および他の分散アプリケーションを実装することを含む。この分散コンピューティング環境の中では、遠隔処理装置によってリンクされるコンピュータネットワークは、タスクを実装するために使用できる。そして、それはローカル記憶媒体およびリモート記憶媒体に記憶することもできる。
【００６８】
上述された実施形態は、本開示のいくつかの特定の実現例に過ぎない。当業者は、本開示がその精神から逸脱しない多くの変形および変型を有することがあることを知っている。どのような変形および変型も本開示の範囲内にあると見なされる。
【図１】
2013521565.tif 000003
【図２】
2013521565.tif 000004
【図３】
2013521565.tif 000005
【国際調査報告】
2013521565.tif 000006