(57)【要約】【課題】ファイル数が多くなったときでもバックアップ処理に要する時間の増大を抑制できる端末装置を提供する。【解決手段】更新ファイル情報テーブル１０５は、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する。差分データ生成手段１２２は、更新ファイル情報テーブル１０５から更新ファイル情報を取り出し、取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する。バックアップ手段１２３は、差分データを外部記憶装置２０１に記憶する。【選択図】図３
2010272057.tif 000002
【特許請求の範囲】
【請求項１】
更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出し、該取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する差分データ生成手段と、
前記差分データを外部記憶装置に記憶するバックアップ手段とを備える端末装置。
【請求項２】
前記更新ファイル情報テーブルが、バックアップを行う際に参照すべき更新ファイル情報を格納するエントリを指すバックアップ開始ファイルポインタを更に含み、前記差分データ生成手段は、前記バックアップ開始ファイルポインタが指すエントリから更新ファイル情報を取り出す、請求項１に記載の端末装置。
【請求項３】
前記バックアップ手段は、前記差分データを外部記憶装置に記憶すると、前記バックアップ開始ファイルポインタが指すエントリを、前記差分データ生成手段が取り出した更新ファイル情報に後続する更新ファイル情報を格納するエントリに更新する、請求項２に記載の端末装置。
【請求項４】
ファイルが更新される際に、当該ファイルについての更新ファイル情報を前記更新ファイル情報テーブルに記録するテーブル記録手段を更に有する、請求項１乃至３の何れか一に記載の端末装置。
【請求項５】
前記テーブル記録手段は、更新されるファイルに対応する更新ファイル情報が前記更新ファイル情報テーブルに記録済みであるか否かを判断し、記録されていないと判断すると、前記更新ファイル情報を前記更新ファイル情報テーブルに記録する、請求項４に記載の端末装置。
【請求項６】
前記テーブル記録手段は、前回のバックアップ実行後、初回のファイル更新時に、前記更新ファイル情報を前記更新ファイル情報テーブルに記録する、請求項４又は５に記載の端末装置。
【請求項７】
前記更新ファイル情報テーブルが、新たに更新ファイル情報を追加する際に追加すべき更新ファイル情報が記録されるエントリを指す更新ファイル情報追加ポインタを更に含み、前記テーブル記録手段は、更新ファイル情報追加ポインタが指すエントリに前記更新ファイル情報を記録する、請求項４乃至６の何れか一に記載の端末装置。
【請求項８】
前記テーブル記録手段は、前記更新ファイル情報の記録後、前記更新ファイル情報追加ポインタが空きエントリを指すように、前記更新ファイル情報追加ポインタを更新する、請求項７に記載の端末装置。
【請求項９】
コンピュータが、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出すステップと、
前記コンピュータが、前記取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成するステップと、
前記コンピュータが、前記差分データを外部記憶装置に記憶するステップとを有するデータバックアップ方法。
【請求項１０】
前記更新ファイル情報テーブルが、バックアップを行う際に参照すべき更新ファイル情報を格納するエントリを指すバックアップ開始ファイルポインタを更に含んでおり、前記コンピュータは、前記更新ファイル情報を取り出すステップでは、前記バックアップ開始ファイルポインタが指すエントリから更新ファイル情報を取り出す、請求項９に記載のデータバックアップ方法。
【請求項１１】
前記差分データを外部記憶装置に記憶するステップに後続して、前記コンピュータが、前記バックアップ開始ファイルポインタが指すエントリを、前記取り出した更新ファイル情報に後続する更新ファイル情報を格納するエントリに更新するステップを更に有する、請求項１０に記載のデータバックアップ方法。
【請求項１２】
コンピュータが、ファイル更新時に、更新ファイル情報を前記更新ファイル情報テーブルに記録するステップを更に有する、請求項９乃至１１の何れか一に記載のデータバックアップ方法。
【請求項１３】
前記更新ファイル情報を記録するステップに先行して、前記コンピュータが、前記更新ファイルに対応する更新ファイル情報が前記更新ファイル情報テーブルに記録済みであるか否かを判断するステップを更に有し、前記コンピュータは、記録済みでないと判断すると、前記更新ファイル情報を記録するステップを実行する、請求項１２に記載のデータバックアップ方法。
【請求項１４】
前記コンピュータは、前回のバックアップ実行後、初回のファイル更新時に、前記更新ファイル情報を前記更新ファイル情報テーブルに記録する、請求項１２又は１３に記載のデータバックアップ方法。
【請求項１５】
前記更新ファイル情報テーブルが、新たに更新ファイル情報を追加する際に追加すべき更新ファイル情報が記録されるエントリを指す更新ファイル情報追加ポインタを更に含んでおり、前記コンピュータは、前記更新ファイル情報を記録するステップでは、更新ファイル情報追加ポインタが指すエントリに前記更新ファイル情報を記録する、請求項１２乃至１４の何れか一に記載のデータバックアップ方法。
【請求項１６】
前記更新ファイル情報を記録するステップに後続して、前記コンピュータが、前記更新ファイル情報追加ポインタが空きエントリを指すように、前記更新ファイル情報追加ポインタを更新するステップを更に有する、請求項１５に記載のデータバックアップ方法。
【請求項１７】
コンピュータに、
更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出す処理と、
前記取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する処理と、
前記差分データを外部記憶装置に記憶する処理とを実行させるプログラム。
【請求項１８】
前記更新ファイル情報テーブルが、バックアップを行う際に参照すべき更新ファイル情報を格納するエントリを指すバックアップ開始ファイルポインタを更に含んでおり、前記更新ファイル情報を取り出す処理では、前記バックアップ開始ファイルポインタが指すエントリから更新ファイル情報を取り出す、請求項１７に記載のプログラム。
【請求項１９】
前記差分データを外部記憶装置に記憶する処理に後続して、前記コンピュータに、前記バックアップ開始ファイルポインタが指すエントリを、前記取り出した更新ファイル情報に後続する更新ファイル情報を格納するエントリに更新する処理を更に実行させる、請求項１８に記載のプログラム。
【請求項２０】
コンピュータに、ファイル更新時に、更新ファイル情報を前記更新ファイル情報テーブルに記録する処理を更に実行させる、請求項１７乃至１９の何れか一に記載のプログラム。
【請求項２１】
前記更新ファイル情報を記録する処理に先行して、前記コンピュータに、前記更新ファイルに対応する更新ファイル情報が前記更新ファイル情報テーブルに記録済みであるか否かを判断する処理を更に実行させ、記録済みか否かを判断する処理で記録済みでないと判断されると、前記コンピュータに前記更新ファイル情報を記録する処理を実行させる、請求項２０に記載のデータプログラム。
【請求項２２】
前記更新ファイル情報を記録する処理では、前回のバックアップ実行後、初回のファイル更新時に、前記更新ファイル情報を前記更新ファイル情報テーブルに記録する、請求項２０又は２１に記載のプログラム。
【請求項２３】
前記更新ファイル情報テーブルが、新たに更新ファイル情報を追加する際に追加すべき更新ファイル情報が記録されるエントリを指す更新ファイル情報追加ポインタを更に含んでおり、前記更新ファイル情報を記録する処理では、更新ファイル情報追加ポインタが指すエントリに前記更新ファイル情報を記録する、請求項２０乃至２２の何れか一に記載のプログラム。
【請求項２４】
前記更新ファイル情報を記録する処理に後続して、前記コンピュータに、前記更新ファイル情報追加ポインタが空きエントリを指すように、前記更新ファイル情報追加ポインタを更新する処理を更に実行させる、請求項２３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置に関し、更に詳しくは、データのバックアップ機能を有する端末装置に関する。また、本発明は、データのバックアップ方法及びプログラムに関する。
【背景技術】
【０００２】
端末装置は、メモリを有し、そのメモリに、種々のユーザーデータを保存可能である。端末装置内のユーザーデータは、機器の故障紛失などに備えて、バックアップできることが好ましい。例えば、特許文献１では、携帯機器の無線部を介して、ネットワーク上のサーバーにユーザーデータをバックアップする。特許文献２では、携帯機器とパーソナルコンピュータ（ＰＣ）とをＵＳＢ（Universal Serial Bus）ケーブルなどで繋ぎ、ＰＣ上にユーザーデータをバックアップする。特許文献３では、携帯機器に外部メモリを取り付け、その外部メモリにユーザーデータをバックアップする。
【０００３】
近年、端末装置に搭載されるメモリ量が増加しており、それに伴い、端末装置に保存できるユーザーデータのデータ量も増えている。また、端末装置で取り扱う情報には、情報量の少ない文字データだけでなく、音楽や映像などの大容量のデータもある。ユーザーデータの大容量化に伴い、ユーザーデータのバックアップに要する時間も長くなる。特に、無線経由でネットワーク上のサーバーにユーザーデータをバックアップする方式では、データ転送速度がそれほど速くないということもあり、バックアップに要する時間は更に長くなる。バックアップに際して、端末装置が長い時間かけてユーザーデータの転送を行うと、バッテリーが消耗し、その分だけ端末装置の使用可能時間が短くなるという問題も生じる。
【０００４】
特許文献４は、携帯端末装置内のＨＤＤ（Hard Disk Drive）に保存されたデータを、外部のサーバーに送信してデータをバックアップすることが記載された文献である。特許文献４では、携帯端末装置は、ＨＤＤに保存されているファイルから、バックアップ要否未検討のファイルを１つ選択し、そのファイルのデータ（保存データ）が、前回のバックアップされたデータ（最終バックアップデータ）と一致するか否かを判断する。携帯端末装置は、最終バックアップデータと一致しないと判断すると、保存データと最終バックアップデータとの差分を、無線ＬＡＮ基地局に送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１３２７１７号公報
【特許文献２】特開２００８−２５２３３９号公報
【特許文献３】特開２００７−２５８８９５号公報
【特許文献４】特開２００８−１４７７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献４では、ＨＤＤに保存された全てのファイルをスキャンして、バックアップ要否を判定している。バックアップ要否の判定では、ファイルの更新日時が、最後にデータをバックアップした日時よりも後であれば、バックアップが必要と判断している。特許文献４では、バックアップ時に、全てのファイルについて、更新日時を調べる必要があるので、ファイル数が多くなるほど、バックアップ処理に要する時間が長くなる。
【０００７】
本発明は、ファイル数が多くなったときでもバックアップ処理に要する時間の増大を抑制できる端末装置、データバックアップ方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出し、該取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する差分データ生成手段と、前記差分データを外部記憶装置に記憶するバックアップ手段とを備える端末装置を提供する。
【０００９】
本発明は、コンピュータが、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出すステップと、前記コンピュータが、前記取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成するステップと、前記コンピュータが、前記差分データを外部記憶装置に記憶するステップとを有するデータバックアップ方法を提供する。
【００１０】
本発明は、コンピュータに、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから前記更新ファイル情報を取り出す処理と、前記取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する処理と、前記差分データを外部記憶装置に記憶する処理とを実行させるプログラムを提供する。
【発明の効果】
【００１１】
本発明の端末装置、データバックアップ方法、及び、プログラムは、ファイル数が多くなったときでもバックアップ処理に要する時間の増大を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態の端末装置を示すブロック図。
【図２】更新ファイル情報テーブルのデータ例を示す図。
【図３】制御部を示すブロック図。
【図４】更新ファイル情報記録時の動作手順を示すフローチャート。
【図５】（ａ）〜（ｃ）は、更新ファイル情報記録時の更新ファイル情報テーブルを示す図。
【図６】バックアップ時の動作手順を示すフローチャート。
【図７】（ａ）〜（ｃ）は、バックアップ時の更新ファイル情報テーブルを示す図。
【図８】差分データ生成を示すブロック図。
【図９】本発明の第２実施形態の端末装置を示すブロック図。
【図１０】第２実施形態におけるバックアップ時の動作手順を示すフローチャート。
【図１１】リスト構造を採用する更新ファイル情報テーブルを示す図。
【図１２】リスト中に更新ファイル情報を挿入する例を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態の端末装置を示している。端末装置１００は、無線部１０１、制御部１０２、ＲＯＭ（Read Only Memory）１０３、タイマー１０７、及び、ＲＡＭ（Random Access Memory）１０８を有する。ＲＯＭ１０３は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）である。ＲＯＭ１０３は、プログラム１０４、更新ファイル情報テーブル１０５、及び、ユーザーデータ１０６を記憶している。
【００１４】
無線部１０１は、ネットワーク上のサーバー２００とデータのやり取りを行う。サーバー２００は、外部記憶装置２０１を有する。外部記憶装置２０１は、ユーザーデータ１０６のバックアップデータを記憶する記憶領域を有する。制御部１０２は、ＣＰＵ（Central Processing Unit）などを有する。制御部１０２は、プログラム１０４などに従って、端末装置１００全体の制御を行う。制御部１０２が行う処理には、ＲＯＭ１０３に記憶されたユーザーデータ１０６を、サーバー２００にバックアップする処理が含まれる。ＲＡＭ１０８は、各種情報を記憶する。タイマー１０７は、所定のバックアップ間隔時間ごとに、制御部１０２に信号を出力し、制御部１０２に対して、バックアップ開始タイミングを通知する。
【００１５】
図２は、更新ファイル情報テーブル１０５のデータ例を示している。更新ファイル情報テーブル１０５は、バックアップ開始ファイルポインタ１５１と、更新ファイル情報追加ポインタ１５２と、更新ファイル情報１５３とを含む。更新ファイル情報１５３は、更新されたファイルのパスと、更新前のファイルデータとを含む。更新ファイル情報テーブル１０５は、更新ファイル情報を格納するためのエントリを複数有する。
【００１６】
バックアップ開始ファイルポインタ１５１は、バックアップを行う際に参照すべき更新ファイル情報を格納するエントリを指すポインタである。更新ファイル情報追加ポインタ１５２は、更新ファイル情報テーブル１０５に対して新たに更新ファイル情報を追加する際に、追加すべき更新ファイル情報を格納するエントリを指すポインタである。
【００１７】
図３は、制御部１０２を示している。制御部１０２は、テーブル記録手段１２１と、差分データ生成手段１２２と、バックアップ手段１２３とを有する。テーブル記録手段１２１は、ファイルが更新される際に、そのファイルについての更新ファイル情報を更新ファイル情報テーブル１０５に記録する。テーブル記録手段１２１は、更新ファイル情報の記録後、更新ファイル情報追加ポインタ１５２が次に更新ファイル情報を記録すべき空きエントリを指すように、更新ファイル情報追加ポインタ１５２を更新する。
【００１８】
差分データ生成手段１２２は、更新ファイル情報テーブル１０５から、更新ファイル情報を取り出し、取り出した更新ファイル情報の更新前ファイルデータと、ユーザーデータ１０６内の更新後の（最新の）ファイルデータとから、差分データを生成する。バックアップ手段１２３は、差分データ生成手段１２２が生成した差分データをサーバー２００の外部記憶装置２０１に記憶する。バックアップ手段１２３は、バックアップ後、バックアップ開始ファイルポインタ１５１を、後続する更新ファイル情報を格納するエントリに更新する。バックアップすべきファイルについて全てバックアップを完了したとき、バックアップ開始ファイルポインタ１５１が指すエントリと、更新ファイル情報追加ポインタ１５２とが指すエントリは、互いに等しいエントリとなる。
【００１９】
テーブル記録手段１２１は、バックアップの実行後、初回のファイル更新時に、更新ファイル情報を更新ファイル情報テーブル１０５に記録する。例えば、バックアップ実行後に、あるファイルが初めて更新されると、テーブル記録手段１２１は、そのファイルの更新ファイル情報を、更新ファイル情報テーブル１０５に記録する。テーブル記録手段１２１は、その後、同じファイルが更新されたときは、更新ファイル情報を新たに記録しない。初回のファイル更新時における更新前ファイルデータは、バックアップ実行時のファイルデータと一致するので、更新ファイル情報テーブル１０５に記録される更新前ファイルデータは、サーバー２００のバックアップされた状態のファイルデータと同じ内容になる。
【００２０】
図４は、更新ファイル情報記録時の手順を示している。図示しないファイル更新手段は、ユーザーデータ１０６に新規にデータ（ファイル）を作成し、或いは、ユーザーデータ１０６内の既存のファイルを更新する。テーブル記録手段１２１は、ユーザーデータ１０６内で更新されたファイルに対応した更新ファイル情報が、更新ファイル情報テーブル１０５に記録済みであるか否かを判断する（ステップＡ１）。テーブル記録手段１２１は、既に、更新ファイル情報テーブル１０５に更新ファイル情報が記憶されているときは、そのまま処理を終了する。
【００２１】
テーブル記録手段１２１は、ファイル更新手段から、更新されたファイルのパスと、ファイルデータとを受け取る。テーブル記録手段１２１は、更新ファイル情報テーブル１０５の更新ファイル情報追加ポインタ１５２が指すエントリに、更新ファイル情報、すなわち、更新ファイルのパスとファイルデータとを記録する（ステップＡ２）。テーブル記録手段１２１は、更新ファイル情報の記録後、更新ファイル情報追加ポインタ１５２をインクリメントし（ステップＡ３）、処理を終了する。テーブル記録手段１２１は、次に更新ファイルが発生したときは、インクリメントした更新ファイル情報追加ポインタ１５２が指すエントリに、更新ファイル情報を追加する。
【００２２】
図５（ａ）〜（ｃ）は、更新ファイル情報記録時の更新ファイル情報テーブルを示している。更新ファイル情報テーブル１０５は、File_01からFile_03までの３つのファイルについての更新ファイル情報を有している（図５（ａ））。バックアップ開始ファイルポインタ１５１には、エントリ番号００へのポインタ、つまり、File_01の更新ファイル情報へのポインタが格納されている。更新ファイル情報追加ポインタ１５２には、空きエントリのうちの先頭であるエントリ番号０３のエントリへのポインタが格納されている。
【００２３】
更新ファイル情報テーブル１０５が図５（ａ）に示す状態にあるとき、File_04が更新されたとする。テーブル記録手段１２１は、図４のステップＡ１で、File_04の更新ファイル情報が更新ファイル情報テーブル１０５にあるか否かを判断する。テーブル記録手段１２１は、File_04の更新ファイル情報が更新ファイル情報テーブル１０５に存在しないので、ステップＡ２に進み、更新ファイル情報テーブル１０５にFile_04の更新ファイル情報を記録する。図５（ａ）では、更新ファイル情報追加ポインタ１５２は、エントリ番号０３のエントリを指しているので、テーブル記録手段１２１は、エントリ番号０３のエントリに、File_04の更新ファイル情報を記録する（図５（ｂ））。
【００２４】
テーブル記録手段１２１は、更新ファイル情報の記録後、更新ファイル情報追加ポインタ１５２を更新する。更新ファイル情報追加ポインタ１５２の更新では、例えば、更新ファイル情報追加ポインタ１５２をインクリメントし、file_04の更新ファイル情報を追加したエントリ（エントリ番号０３）の次のエントリ（エントリ番号０４）のエントリとする（図５（ｃ））。テーブル記録手段１２１は、次に更新ファイルが発生したときは、エントリ番号０４のエントリに更新ファイル情報を記録する。その後、テーブル記録手段１２１は、更新ファイル情報追加ポインタ１５２をエントリ番号０５に更新する。このような動作を繰り返し行うことで、更新ファイル情報を更新ファイル情報テーブル１０５に追加していく。
【００２５】
図６は、バックアップ時の手順を示している。バックアップ手段１２３は、タイマー１０７からバックアップ開始タイミングを受け取ると、バックアップ処理を開始する。バックアップ手段１２３は、無線部１０１がサーバー２００と通信可能であるか否かを判断する（ステップＢ１）。バックアップ手段１２３は、無線部１０１がサーバー２００と通信不能であれば、データのバックアップができないので、バックアップ処理を終了する。
【００２６】
バックアップ手段１２３は、無線部１０１がサーバー２００と通信可能であると判断すると、更新ファイル情報テーブル１０５を参照し、バックアップ対象のファイルがあるか否かを判断する（ステップＢ２）。バックアップ手段１２３は、バックアップ対象ファイルがないときは、バックアップ処理を終了する。
【００２７】
バックアップ対象ファイルがあるか否かは、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２とを比較することで判断できる。すなわち、前回のバックアップ実行後、更新ファイル情報が更新ファイル情報テーブル１０５に記録されていないとき、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２とは、同じ値になる。バックアップ手段１２３は、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２とが同じ値のとき、バックアップ対象ファイルがないと判断する。
【００２８】
バックアップ手段１２３は、バックアップ対象ファイルがあると判断すると、バックアップ開始ファイルポインタ１５１が指すエントリの更新ファイル情報に対応するファイルを、サーバー２００にバックアップする（ステップＢ３）。このとき、サーバー２００は、ユーザＩＤや端末装置１００の製造番号といった個人を特定できる情報に基づいて認証を行い、サーバー２００へのアクセスを制限することで、ユーザーデータの流出を防ぐ対策を実施してもよい。
【００２９】
バックアップ手段１２３は、ステップＢ３では、差分データ生成手段１２２に対して差分データ生成を指示し、差分データをサーバー２００内の外部記憶装置２０１にバックアップする。差分データ生成手段１２２は、バックアップ開始ファイルポインタ１５１が指すエントリから、更新ファイル情報を取り出す。差分データ生成手段１２２は、取り出した更新ファイル情報のファイルパスを参照して、ＲＯＭ１０３のユーザーデータ１０６から、該当するファイルの更新後のデータ（最新のファイルデータ）を読み出す。
【００３０】
差分データ生成手段１２２は、最新のファイルデータと、更新ファイル情報の更新前ファイルデータとを比較する。差分データ生成手段１２２は、最新のファイルデータと更新前ファイルデータとの差分箇所を抽出し、差分データを生成する。バックアップ手段１２３は、差分データ生成手段１２２から差分データを受け取り、差分データを無線部１０１を経由してサーバー２００に送信する。サーバー２００は、受信した差分データを外部記憶装置２０１に記憶する。
【００３１】
バックアップ手段１２３は、バックアップ後、バックアップ開始ファイルポインタ１５１をインクリメントする（ステップＢ４）。バックアップ開始ファイルポインタ１５１がインクリメントされることで、バックアップ開始ファイルポインタ１５１は、次にバックアップすべきファイルの更新ファイル情報を格納するエントリを指すことになる。次にバックアップすべきファイルがないときは、バックアップ開始ファイルポインタ１５１が指すエントリは空きエントリとなり、更新ファイル情報追加ポインタ１５２が指すエントリと等しくなる。
【００３２】
バックアップ手段１２３は、バックアップ開始ファイルポインタ１５１の更新後、ステップＢ２に戻り、バックアップ対象ファイルが存在するか否かを判断する。バックアップ手段１２３は、バックアップ対象ファイルがあれば、ステップＢ３及びＢ４を実行し、バックアップを継続する。バックアップ手段１２３は、バックアップ対象ファイルがなくなると、バックアップ処理を終了する。
【００３３】
図７（ａ）〜（ｃ）は、更新ファイル情報テーブルのデータ例を示している。図７（ａ）は、図５（ｃ）と同じである。バックアップ手段１２３は、図６のステップＢ２で、バックアップ対象ファイルがあるか否かを判断する。図７（ｃ）では、バックアップ開始ファイルポインタ１５１に格納されたエントリ番号００と、更新ファイル情報追加ポインタ１５２に格納されたエントリ番号０４とが異なっているので、バックアップ手段１２３は、バックアップ対象ファイルがあると判断する。
【００３４】
ステップＢ３で、差分データ生成手段１２２は、バックアップ開始ファイルポインタ１５１に格納されたエントリ番号００のエントリから、file_01の更新ファイル情報を取り出す。差分データ生成手段１２２は、更新ファイル情報に含まれるfile_01のパスを用いて、ＲＯＭ１０３のユーザーデータ１０６から、最新のfile_01を読み出す。差分データ生成手段１２２は、ユーザーデータ１０６から読み出した最新のfile_01と、更新ファイル情報に含まれるfile_01の更新前ファイルデータとを比較し、差分データを生成する。
【００３５】
図８は、差分データ生成を示している。ファイルデータ３０１は、更新ファイル情報テーブル１０５に記録された更新ファイル情報に含まれる更新前ファイルデータである。ファイルデータ３０２は、ユーザーデータ１０６から読み出された最新のファイルデータである。差分データ生成手段１２２は、両者の差分箇所を抽出する。図８では、差分箇所は、２箇所ある。差分データ生成手段１２２は、抽出した差分箇所のファイル先頭からのオフセット、データサイズ、差分箇所のデータ本体を、差分データとする。
【００３６】
なお、ユーザーデータ１０６に新規にファイルが作成された場合は、更新前ファイルデータは存在しない。その場合、更新ファイル情報には、更新前データファイルとして、データなし（ＮＵＬＬ）を記録しておけばよい。更新前データファイルがＮＵＬＬのとき、バックアップ手段１２３は、最新のファイルデータ全体をサーバー２００に送信し、バックアップする。同一ファイルについて、以降の更新では、差分データをサーバー２００に送信する。ファイル作成時のデータファイルと、差分データとを組み合わせることで、最新のデータファイルを復元できる。
【００３７】
図７に戻り、バックアップ手段１２３は、File_01をバックアップすると、ステップＢ４で、バックアップ開始ファイルポインタ１５１をインクリメントする。バックアップ開始ファイルポインタ１５１をインクリメントすることで、バックアップ開始ファイルポインタ１５１はエントリ番号０１に更新される（図７（ｂ））。なお、バックアップ済みのファイルの更新ファイル情報は不要であるので、容量削減のため、エントリ番号００のエントリは、この時点でクリア（解放）してもよい。
【００３８】
バックアップ手段１２３は、ステップＢ２に戻り、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２とを比較する。図７（ｂ）では、両者は一致しないので、ステップＢ３に進み、File_02のバックアップを行う。バックアップ手段１２３は、ステップＢ２〜Ｂ４を繰り返し実行することで、File_03、File_04をバックアップする。
【００３９】
バックアップ手段１２３は、File_04をバックアップすると、バックアップ開始ファイルポインタ１５１を、エントリ番号０４に更新する（図７（ｃ））。その後、バックアップ手段１２３は、ステップＢ２に戻り、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２を比較する。バックアップ手段１２３は、バックアップ開始ファイルポインタ１５１と更新ファイル情報追加ポインタ１５２とが一致するので、バックアップ対象ファイルがないと判断し、バックアップ処理を終了する。
【００４０】
本実施形態では、差分データ更新手段は、更新ファイル情報テーブルから、更新ファイル情報を取り出し、更新ファイル情報に含まれる更新前ファイルデータと、更新後のファイルデータとから差分データを生成する。バックアップ手段は、差分データをサーバー２００に送信し外部記憶装置２０１に記憶する。本実施形態では、更新ファイル情報テーブルに、バックアップ対象のファイルの情報を更新ファイル情報テーブル１０５にまとめておく。ユーザーデータ１０６内の全てのファイルを対象に、更新日時と前回のバックアップ日時とを比較してバックアップが必要なファイルを判定すると、ファイル数の増加に伴って、バックアップ処理に要する時間が増大する。本実施形態では、更新ファイル情報テーブル１０５を参照することでバックアップが必要なファイルを容易に把握することができ、バックアップ処理に要する時間の増大を抑制できる。
【００４１】
また、本実施形態では、更新ファイル情報テーブル１０５に、更新されたファイルのパスだけでなく、更新前のファイルデータも記録しておく。差分データ生成手段１２２は、ＲＯＭ１０３内のユーザーデータ１０６に保存されたファイルのデータと、更新ファイル情報テーブル１０５に記録された更新前ファイルデータとを比較することで、差分データを生成できる。本実施形態では、バックアップ手段１２３が、更新ファイルそのものではなく、差分データをバックアップすることで、バックアップの際にサーバー２００に送信するデータのデータ量を削減することができる。その結果、バックアップ処理に要する時間の短縮が可能である。
【００４２】
本実施形態では、更新ファイル情報テーブル１０５は、バックアップ開始ファイルポインタ１５１を有している。ファイルをバックアップするごとに、バックアップ開始ファイルポインタ１５１を更新することで、何らかの事情でバックアップが中断したときでも、中断した位置からバックアップを再開することができる。例えば、図７（ｂ）で、File_01のバックアップ後に、無線部１０１がサーバー２００と通信ができなくなるなどの理由でバックアップが中断したとする。その後、サーバー２００との間の通信が回復し、バックアップ処理を再開したとき、バックアップ開始ファイルポインタ１５１はエントリ番号０１となっているので、File_02からバックアップを再開することができる。
【００４３】
図９は、本発明の第２実施形態の端末装置を示している。本実施形態の端末装置１００ａは、図１に示す端末装置１００の構成からタイマー１０７を省き、外部インタフェース（ＩＦ）１０９を追加した構成である。外部ＩＦ１０９は、ＰＣ４００との間でデータのやり取りを行う。ＰＣ４００は、外部記憶装置４０１を有する。第１実施形態では、サーバー２００をバックアップ先としていた。本実施形態では、ＰＣ４００をバックアップ先として用いる。その他の構成は、第１実施形態と同様である。
【００４４】
図１０は、バックアップ時の動作手順を示している。バックアップ手段１２３（図３）は、外部ＩＦ１０９にＰＣ４００が接続されたか否かを判断する（ステップＣ１）。バックアップ手段１２３は、ＰＣ４００が未接続のときは、処理を終了する。バックアップ手段１２３は、ＰＣ４００が接続されると、バックアップ処理を行う。バックアップ処理の手順は、図６のステップＢ２〜Ｂ４と同じである。
【００４５】
本実施形態で得られる効果は、第１実施形態で得られる効果と同様である。相違点としては、本実施形態では、バックアップに際して、無線部１０１を用いて無線通信を行う必要がない。
【００４６】
なお、上記実施形態では、更新ファイル情報テーブル１０５が更新ファイル情報追加ポインタ１５２（図２）を有することとしたが、更新ファイル情報追加ポインタ１５２は、必ずしも設けなくてもよい。更新ファイル情報追加ポインタを省く場合、テーブル記録手段１２１は、更新ファイル情報を追加する際に、バックアップ開始ファイルポインタ１５１から順に空きエントリを探していき、見つかった空きエントリの先頭に更新ファイル情報を記録すればよい。また、バックアップ手段１２３は、バックアップ処理にて、バックアップ開始ファイルポインタ１５１が指すエントリが空きエントリのとき、バックアップ対象ファイルがないと判断すればよい。
【００４７】
バックアップ処理では、バックアップ開始ファイルポインタ１５１が指すエントリから、エントリ番号に従って更新ファイル情報を取り出し、バックアップを行ったが、バックアップするファイルの順序、つまり、更新ファイル情報の取り出し順と、エントリ番号の順番とは連動していなくてもよい。例えば、更新ファイル情報に、次の更新ファイル情報が格納されたエントリへのポインタ（ｎｅｘｔポインタ）を設けて、更新ファイル情報をリスト構造にしてもよい。
【００４８】
図１１は、リスト構造を採用する場合の更新ファイル情報テーブルを示している。最終更新ファイル情報ポインタ１５５は、最終更新ファイル情報を格納するエントリを指すポインタである。ｎｅｘｔポインタ１５４は、後続する更新ファイル情報を格納するエントリへのポインタである。図１１の例では、更新ファイル情報は、バックアップ開始ファイルポインタ１５１に格納されたエントリ番号０６（FFF.txt）の更新ファイル情報を先頭に、エントリ番号０１（AAA.txt）、エントリ番号０２（BBB.txt）、エントリ番号０４（DDD.txt）、エントリ番号０３（CCC.txt）、エントリ番号０５（EEE.txt）の順で並んでいる。
【００４９】
更新ファイル情報の記録では、テーブル記録手段１２１は、図４のステップＡ２で空きエントリに更新ファイル情報を記録し、ｎｅｘｔポインタ１５４に、最終更新ファイル情報ポインタ１５５に格納されたエントリ番号を記録する。その後、テーブル記録手段１２１は、ステップＡ３に相当するステップで、最終更新ファイル情報ポインタ１５５に、新たに更新ファイル情報を記録したエントリ番号を記録する。このような動作を行うことで、リストに更新ファイル情報を追加できる。また、バックアップ処理では、バックアップ手段１２３は、図６のステップＢ４で、ステップバックアップ開始ファイルポインタ１５１にｎｅｘｔポインタ１５４の値を代入する。このようにすることで、更新ファイル情報を並び順に従って取り出すことができる。
【００５０】
更新ファイル情報をリスト構造とする場合、各更新ファイル情報が格納されたエントリは変更せずに、ｎｅｘｔポインタ１５４を変更することで、バックアップされるファイルの順序を変更することができる。例えば、図１１で、エントリ番号０６のｎｅｘｔポインタをエントリ番号０２に変更し、エントリ番号０２のｎｅｘｔポインタをエントリ番号０１に、エントリ番号０１のｎｅｘｔポインタをエントリ番号０４にそれぞれ変更することで、更新ファイル情報の並び順を、エントリ番号０６（FFF.txt）、エントリ番号０２（BBB.txt）、エントリ番号０１（AAA.txt）、エントリ番号０４（DDD.txt）、エントリ番号０３（CCC.txt）、エントリ番号０５（EEE.txt）の順に並び変えることができる。バックアップに際しては、更新ファイル情報を、ファイルの重要度などに応じて容易に並び変えた上で、バックアップを行ってもよい。
【００５１】
リスト構造を採用する場合、追加する更新ファイル情報を、リスト中に任意の位置に容易に挿入することもできる。図１２は、リスト中に更新ファイル情報を追加する例を示している。更新ファイル情報テーブルが図１１に示す内容を記憶するとき、新たにGGG.txtの更新ファイル情報を追加する場合を考える。テーブル記録手段１２１は、空きエントリでるエントリ番号０７に、GGG.txtの更新ファイル情報を記録する。テーブル記録手段１２１は、FFF.txtの更新ファイル情報のｎｅｘｔポインタをエントリ番号０１からエントリ番号０７へ書き換え、GGG.txtの更新ファイル情報のｎｅｘｔポインタをエントリ番号０１にする。このようにすることで、GGG.txtの更新ファイル情報を、FFF.txtの更新ファイル情報とAAA.txtの更新ファイル情報との間に挿入できる。
【００５２】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の端末装置、データバックアップ方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【００５３】
最後に、本発明の最小構成について説明する。本発明の端末装置は、最小構成として、差分データ生成手段と、バックアップ手段とを備える。差分データ生成手段は、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから更新ファイル情報を取り出し、取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する。バックアップ手段は、差分データを外部記憶装置に記憶する。
【００５４】
本発明のデータバックアップ方法の最小構成は、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから更新ファイル情報を取り出し、取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成し、差分データを外部記憶装置に記憶するという構成である。
【００５５】
本発明のプログラムの最小構成は、コンピュータに、更新されたファイルのパスと更新前のファイルデータとを含む更新ファイル情報を有する更新ファイル情報テーブルから更新ファイル情報を取り出す処理と、取り出した更新ファイル情報の更新前ファイルデータと、更新後のファイルデータとから差分データを生成する処理と、差分データを外部記憶装置に記憶する処理とを実行させるという構成である。
【００５６】
本発明では、更新ファイル情報テーブルに、バックアップ対象のファイルの情報がまとめられている。このような更新ファイル情報を参照することで、バックアップに際して、バックアップが必要なファイルを容易に把握することができ、バックアップ処理に要する時間の増大を抑制できる。また、本発明では、更新ファイル情報テーブルに更新ファイル情報が記録されたファイルを対象に差分データを生成し、その差分データを外部記憶装置にバックアップする。差分データを保存することで、外部記憶装置に伝送するデータ量を削減できる。
【符号の説明】
【００５７】
１００：端末装置
１０１：無線部
１０２：制御部
１０３：ＲＯＭ（ＥＥＰＲＯＭ）
１０４：プログラム
１０５：更新ファイル情報テーブル
１０６：ユーザーデータ
１０７：タイマー
１０８：ＲＡＭ
１０９：外部インタフェース
１２１：テーブル記録手段
１２２：差分データ生成手段
１２３：バックアップ手段
１５１：バックアップ開始ファイルポインタ
１５２：更新ファイル情報追加ポインタ
１５３：更新ファイル情報
１５４：ｎｅｘｔポインタ
１５５：最終更新ファイル情報ポインタ
２００：サーバー
２０１：外部記憶装置
３０１、３０２：ファイルデータ
４００：ＰＣ
４０１：外部記憶装置
【図１】
2010272057.tif 000003
【図２】
2010272057.tif 000004
【図３】
2010272057.tif 000005
【図４】
2010272057.tif 000006
【図５】
2010272057.tif 000007
【図６】
2010272057.tif 000008
【図７】
2010272057.tif 000009
【図８】
2010272057.tif 000010
【図９】
2010272057.tif 000011
【図１０】
2010272057.tif 000012
【図１１】
2010272057.tif 000013
【図１２】
2010272057.tif 000014