(57)【特許請求の範囲】
【請求項１】
ジョブを実行する実行手段と、
バックアップの実行モードを、前記実行手段によるジョブの実行を優先しつつデータのバックアップを実行する第１の実行モードから、前記実行手段によるジョブの実行よりも優先してデータのバックアップを実行する第２の実行モードに切り替えて所定のデータのバックアップを行うバックアップ手段と、
前記所定のデータのバックアップの完了期限の指定を受け付ける受け付け手段とを有し、
前記所定のデータのバックアップが前記第１の実行モードで実行されている場合において、前記バックアップ手段は、前記所定のデータのうちの未バックアップのデータのバックアップを前記第２の実行モードで実行した場合の、該バックアップに要するだろう時間を求め、当該求められた時間から求まる、バックアップの実行モードを途中から前記第２の実行モードに切り替えた場合の前記所定のデータのバックアップの推定完了時刻と、前記完了期限との比較に基づいて、前記完了期限までに前記所定のデータのバックアップが完了するように、バックアップの実行モードを、前記第１の実行モードから前記第２の実行モードに切り替えて前記所定のデータのバックアップを行うことを特徴とする情報処理装置。
【請求項２】
バックアップの実行モードが前記第１の実行モードである場合、データのバックアップが開始してから完了するまでの間に、前記実行手段によるジョブの実行がなされることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
バックアップの実行モードが前記第１の実行モードである場合、データが複数の単位に分割され、当該分割された単位のバックアップ期間同士の間に、前記実行手段によるジョブの実行がなされることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
バックアップの実行モードが前記第２の実行モードである場合、データのバックアップが開始してから完了するまでの間は、前記実行手段によるジョブの実行がなされないことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
ジョブを実行する実行工程と、
バックアップの実行モードを、前記実行工程によるジョブの実行を優先しつつデータのバックアップを実行する第１の実行モードから、前記実行工程によるジョブの実行よりも優先してデータのバックアップを実行する第２の実行モードに切り替えて所定のデータのバックアップを行うバックアップ工程と、
前記所定のデータのバックアップの完了期限の指定を受け付ける受け付け工程とを有し、
前記所定のデータのバックアップが前記第１の実行モードで実行されている場合において、前記バックアップ工程は、前記所定のデータのうちの未バックアップのデータのバックアップを前記第２の実行モードで実行した場合の、該バックアップに要するだろう時間を求め、当該求められた時間から求まる、バックアップの実行モードを途中から前記第２の実行モードに切り替えた場合の前記所定のデータのバックアップの推定完了時刻と、前記完了期限との比較に基づいて、前記完了期限までに前記所定のデータのバックアップが完了するように、バックアップの実行モードを、前記第１の実行モードから前記第２の実行モードに切り替えて前記所定のデータのバックアップを行うことを特徴とする情報処理方法。
【請求項６】
バックアップの実行モードが前記第１の実行モードである場合、データのバックアップが開始してから完了するまでの間に、前記実行工程によるジョブの実行がなされることを特徴とする請求項５に記載の情報処理方法。
【請求項７】
バックアップの実行モードが前記第１の実行モードである場合、データが複数の単位に分割され、当該分割された単位のバックアップ期間同士の間に、前記実行工程によるジョブの実行がなされることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
バックアップの実行モードが前記第２の実行モードである場合、データのバックアップが開始してから完了するまでの間は、前記実行工程によるジョブの実行がなされないことを特徴とする請求項５乃至７の何れか１項に記載の情報処理方法。
【請求項９】
請求項５乃至８の何れか１項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブを実行すると共にデータのバックアップを行う場合の情報処理の技術に関する。
【背景技術】
【０００２】
従来、ジョブを実行すると共に、データのバックアップを行える情報処理装置が知られている。例えば、ファイルサーバとしての機能を持った情報処理装置としての複合機が開発されている。安全なデータ保存のためにバックアップが必要であるが、容量の増加に伴い、バックアップにも非常に時間がかかるようになっている。
【０００３】
バックアップ中はコピーや印刷等のジョブ処理のパフォーマンスも低下して使い勝手が悪くなる。ユーザの使い勝手を悪化させないための方法として、下記特許文献１の装置のように、特定の操作の有無によりバックアップのオン／オフを切り替える方法がある。また、下記特許文献２の装置のように、あるジョブを実行する際に、他の種類のジョブの実行を許可するか禁止するかを切り替える方法もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３１２１０６号公報
【特許文献２】特開２００９−９４６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の装置のように、バックアップのオン／オフを切り替える方法だと、機器がバックアップに専念する間、他の機能が使えずジョブの実行ができずに滞る。また、上記特許文献２のように、バックアップを他の機能と並行して行う場合、バックアップ完了までの時間が長くなる。すなわち、バックアップ中であっても他の機能は使えるが、印刷時間が掛かる等、パフォーマンスが落ちてユーザにストレスを与える。
【０００６】
ところで、バックアップを何時までには必ず完了させたいといった要望がある場合がある。例えば、停電等で電源がオフとなることがわかっている場合や、ある時間以降、ジョブの負荷が急激に増えることがわかっている場合等である。このような場合であっても、上記従来の装置では適切に対応できなかった。
【０００７】
本発明は上記従来技術の問題を解決するためになされたものであり、その目的は、ジョブ処理の滞りを抑制しつつデータのバックアップを完了期限までに完了させることができる情報処理装置及び方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は、ジョブを実行する実行手段と、バックアップの実行モードを、前記実行手段によるジョブの実行を優先しつつデータのバックアップを実行する第１の実行モードから、前記実行手段によるジョブの実行よりも優先してデータのバックアップを実行する第２の実行モードに切り替えて所定のデータのバックアップを行うバックアップ手段と、前記所定のデータのバックアップの完了期限の指定を受け付ける受け付け手段とを有し、前記所定のデータのバックアップが前記第１の実行モードで実行されている場合において、前記バックアップ手段は、前記所定のデータのうちの未バックアップのデータのバックアップを前記第２の実行モードで実行した場合の、該バックアップに要するだろう時間を求め、当該求められた時間から求まる、バックアップの実行モードを途中から前記第２の実行モードに切り替えた場合の前記所定のデータのバックアップの推定完了時刻と、前記完了期限との比較に基づいて、前記完了期限までに前記所定のデータのバックアップが完了するように、バックアップの実行モードを、前記第１の実行モードから前記第２の実行モードに切り替えて前記所定のデータのバックアップを行うことを特徴とする。
【０００９】
請求項９記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体は、本発明を構成する。
【発明の効果】
【００１０】
本発明によれば、ジョブ処理の滞りを抑制しつつデータのバックアップを完了期限までに完了させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態に係る情報処理装置を含んでなるネットワークシステムを示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示すブロック図である。
【図３】機器制御部の構成を示すブロック図である。
【図４】バックアップの種類を示した図である。
【図５】ディスク書き込みの単位の変更例を示す概念図、及び、ディスク書き込みの単位によるジョブ実行との関係を示すタイムチャートである。
【図６】バックアップ処理のフローチャートである。
【図７】バックアップ完了リミットを指定された場合におけるモード切り替えの例を示すタイムチャートである。
【図８】完了リミット処理のフローチャートである。
【図９】完了リミット処理によるモード切り替えの一例、及び、モード切り替え制御の他の各種の態様を示すタイムチャートである。
【図１０】ＵＩ表示装置の表示の一例を示す図である。
【図１１】モード一時切り替え処理のフローチャートである。
【図１２】モード一時切り替え処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。
【００１３】
図１は、本発明の一実施の形態に係る情報処理装置を含んでなるネットワークシステムを示す図である。このネットワークシステムは、情報処理装置としてのＭＦＰ（Multi Function Peripheral）１０とＰＣ（パーソナルコンピュータ）２０とがネットワーク１１を介して接続されて構成される。ＰＣ２０は複数が接続されていてもよい。
【００１４】
図２は、ＭＦＰ１０のハードウェア構成の一例を示すブロック図である。ＭＦＰ１０において、ＭＦＰ１０全体の制御を司るＣＰＵ１０１に、メインバス１０８を介して、メモリ１０２、スキャナ装置１０３、プリンタ装置１０４が接続されている。さらに、記憶装置１０５、ＵＩ（ユーザインターフェイス）表示装置１０６、通信装置１０７及び外部記憶装置１０９が接続されている。通信装置１０７には外部記憶装置１１０が接続される。
【００１５】
メモリ１０２はＣＰＵ１０１のワークエリアを提供する。メモリ１０２は、ＣＰＵ１０１が実行する各種プログラムを記憶するＲＯＭや、制御等に必要なデータを一時的に格納するＲＡＭ等から構成される。上記各種プログラムは、図３で後述する機器制御部２００を構成する。記憶装置１０５はハードディスクやＮＶＲＡＭ等で構成され、本発明を実現するためのプログラムを提供したり様々な設定を記憶したりする。スキャナ装置１０３は、紙上の画像を電子データとして読み取る。プリンタ装置１０４は、電子データを印刷出力する。ＵＩ表示装置１０６は、タッチパネル３０１やキー入力部３０２を備え（図１０参照）、ユーザに対して情報の入出力を行う。例えば、ユーザから各種指示を受け付けると共に、ユーザに対して各種情報を提示する。通信装置１０７は、他の機器とネットワークによる通信を行う。
【００１６】
本実施の形態で実行され得るジョブの種類には、スキャン、コピー、印刷、ＦＡＸ（ファクシミリ）送受信等が含まれる。ＣＰＵ１０１と共に、主にスキャナ装置１０３、プリンタ装置１０４、通信装置１０７が、本発明においてジョブを実行する「実行手段」を構成する。
【００１７】
図３は、機器制御部２００の構成を示すブロック図である。機器制御部２００を構成する処理モジュールには、スキャナ制御部２０１、プリンタ制御部２０２、ＵＩ制御部２０３、画像処理部２０４、通信制御部２０５が含まれる。さらに、記憶制御部２０６、機器構成管理部２０７、文書管理部２０８、バックアップ・リストア制御部２０９が含まれる。これらの処理モジュールは、ＣＰＵ１０１で使用されるアプリケーションプログラム、またはプログラムの一部として動作するモジュールである。これらの処理モジュールは、記憶装置１０５に格納されていてもよい。
【００１８】
記憶制御部２０６は、ファイルシステムまたはデータベースシステムを用いて、不揮発性の記憶媒体を用いて情報を格納する。また格納された特定の情報へは、特定のキーや条件で直接のアクセスが可能である。ＭＦＰ１０を制御するＣＰＵ１０１によってメモリ１０２や記憶装置１０５に格納されているプログラムを読み出して実行する等して各部に指示することにより、スキャン、プリント、バックアップ・リストア等の動作が実現される。
【００１９】
通信制御部２０５は、ネットワーク１１や着脱可能な外部記憶装置等を介して外部のＰＣ等と情報のやりとりをする。スキャナ制御部２０１は、ＣＰＵ１０１からの指示に従ってスキャナ装置１０３を駆動し、不図示の原稿台上の原稿を読み取り、読み取った原稿をメモリ１０２に格納する。プリンタ制御部２０２は、ＣＰＵ１０１からの指示に従って、メモリ１０２や記憶装置１０５等から画像データを取得し、プリンタ装置１０４を制御して画像を印刷する。ＵＩ制御部２０３は、ＣＰＵ１０１からの指示に従ってＵＩ表示装置１０６を制御する。ＵＩ表示装置１０６をユーザであるオペレータが操作することにより発せられた情報が各部に伝えられ、ＭＦＰ１０が稼動する。
【００２０】
記憶制御部２０６は、画像データとプリンタ設定が紐付け（対応付け）られた文書データであるボックス文書の情報を管理する。ボックス文書は、スキャナ装置１０３やＰＣ２０からネットワークを介して入力された画像データ等から構成される。ボックス文書の保存には、主に記憶装置１０５のハードディスクが利用される。あるいは別途、ボックス文書格納専用ハードディスクを用意してもよい。なお、ボックス文書の格納場所は、本実施の形態ではＭＦＰ１０の記憶装置１０５としているが、接続可能であればネットワーク１１で接続するＰＣ２０の記憶装置等に存在していても構わない。本実施の形態では、このボックス文書が、バックアッップ対象となるデータに相当する。ただし、バックアッップ対象となるデータはこれに限るものではない。
【００２１】
機器構成管理部２０７は、ＣＰＵ１０１からの指示に従って、機器構成情報の登録、更新、抽出等の管理を行なう。バックアップ・リストア制御部２０９は、ＣＰＵ１０１からの制御指示に従って、文書管理部２０８と連携することにより、記憶制御部２０６に格納されたボックス文書を外部の記憶装置にバックアップする。またそのバックアップしたデータを、外部の記憶装置から内部の記憶装置１０５にリストアする。
【００２２】
ＣＰＵ１０１及びバックアップ・リストア制御部２０９が、本発明における「バックアップ手段」を構成する。ＵＩ表示装置１０６が、本発明における「受け付け手段」を構成する。
【００２３】
ここでバックアップする場所である外部の記憶装置は、一例として、ファイルサーバやＰＣ等の外部の記憶装置（例えば図２に示す外部記憶装置１１０）とする。ただし、ＭＦＰ１０に接続されたＵＳＢメモリ等の外部メモリ（例えば図２に示す外部記憶装置１０９）や別途設ける内蔵ハードディスク等であっても構わない。
【００２４】
バックアップ・リストアのオペレータからの実行指示は、ＵＩ制御部２０３乃至ＵＩ表示装置１０６等を介して伝えられ、記憶装置１０５と、通信装置１０７に接続される外部記憶装置１１０との間でデータが転送される。また、オペレータからの指示は、ＰＣ２０をオペレータが操作することにより、ネットワーク１１及び通信装置１０７を介して伝えられ、記憶装置１０５とＰＣ２０の記憶装置との間でデータが転送される場合もある。
【００２５】
画像処理部２０４は、ＣＰＵ１０１からの指示に従って、ＵＩ制御部２０３乃至ＵＩ表示装置１０６等を介してオペレータから指示された画像処理や画質向上のための処理や、スキャナ制御部２０１がメモリ１０２に格納した画像データの解析を行なう。また、画像処理部２０４は、ファクシミリ送信時に送信先の能力に合わせて送信する画像データの解像度や用紙サイズ等の変換も行なう。
【００２６】
図４は、バックアップの種類を示した図である。バックアップには３種類ある。そのうち、フルバックアップは、記憶装置１０５のハードディスクの全ての記憶内容を保存するバックアップである。差分バックアップは、前回のフルバックアップからの変更点を保存するバックアップであり、増分バックアップは前回の増分バックアップからの変更点を保存するバックアップである。変更量によっては差分バックアップの量は非常に大きくなることもある。
【００２７】
本実施の形態では、バックアップのモードとして、他の機能を実行することなくバックアップに専念する「単一モード」と他の機能と並列にバックアップを行なう「並行モード」の少なくとも２種類のモードが設定可能である。そして、これら２種類のモードを択一的に切り替えてバックアップを行う。少なくとも上記の２種類のモードを択一選択の対象とすればよく、これら２種類以外のモードがどのようなものでどのように設定されるかは問わない。「単一モード」と「並行モード」の切り替えの具体例な態様は図６で後述する。
【００２８】
「単一モード」と「並行モード」とで切り替わる項目としては、プロセス優先度やディスク書き込みの単位、ディスク書き込みの場所（バックアップ先）等が挙げられる。例えば、単一モードでは、ジョブの実行よりも優先してデータのバックアップを行う。すなわち、ジョブ処理の要求があっても、バックアップを中断しない。並行モードでは、ジョブの実行を優先しつつデータのバックアップを行う。すなわち、バックアップ中であっても、ジョブ処理の要求があればバックアップを中断してそのジョブ処理を実行する。また、並行モードにおいては、単一モードに比べて細かい書き込み単位にデータ（ボックス文書）を分割してバックアップを行う。ただし、ディスク書き込みの単位、ディスク書き込みの場所については、必ずしもモードによって異ならせる必要はない。
【００２９】
図５（ａ）は、ディスク書き込みの単位の変更例を示す概念図である。図５（ｂ）は、ディスク書き込みの単位によるジョブ実行との関係を示すタイムチャートである。
【００３０】
図５（ａ）に示すように、例えばデータサイズが１００Ｍｂｙｔｅのデータ（ファイル）をそのまま書き込む方が、メモリやハードディスクアクセスの観点で効率が良い。しかし、そのためにはある程度のまとまった時間が必要である。このようにまとめて書き込む方法はフルバックアップに適している。一方、データを１０Ｍｂｙｔｅ等に分割すると、トータルのバックアップ時間は長くなるが、ジョブ処理等が不要で空いている時間にこまめにバックアップを行なうことができる。他の機能に切り替わり易く、印刷ジョブ、他の機能の邪魔になりにくい。データを分割する方法は差分・増分バックアップに適している。
【００３１】
図５（ｂ）に示すタイムチャートでは、並行モードを例にとり、ジョブ実行の優先度がバックアップの優先度より高い場合を示した。ただし、ディスク書き込みの途中ではジョブ実行に切り替えられないとする。図５（ｂ）の最上段の（１）には、バックアップの処理の発生がなく、最も効率的にジョブを実行した場合が示されている。
【００３２】
バックアップのディスク書き込みサイズが大きい１００Ｍｂｙｔｅのままである場合は、１００Ｍｂｙｔｅ分のバックアップが完了するまでジョブ実行に戻れない。そのため、図５（ｂ）の中段の（２）に示すように、ジョブ実行直後に開始したバックアップが、次のジョブを開始したい時刻までに完了せず、当該次のジョブの開始が遅れることになる。従って、トータルとしてのジョブ実行時間が延びてしまう。
【００３３】
一方、バックアップのディスク書き込みサイズを１０Ｍｂｙｔｅに分割して小さくした場合は、図５（ｂ）の下段の（３）に示すように、次のジョブ開始前に１０Ｍｂｙｔｅ分のバックアップが完了し、当該次のジョブの実行を邪魔することがない。すなわち、空いている時間にバックアップを行なうことが十分に可能となる。
【００３４】
このように、データを分割しないまま行うバックアップは「単一モード」に適していて、分割して行うのは「並行モード」に適している。データを分割する際は、分割による不整合が起きないようにする。そのために、ファイル等のまとまった単位の分割では分割時点での情報（スナップショット）をバックアップに使用する。
【００３５】
以下、図６のフローチャートを参照しながら、単一モードと並行モードとを判断により切り替えてバックアップを行う方法を説明する。図６は、バックアップ処理のフローチャートである。
【００３６】
ところで、ＭＦＰ１０において、ＵＩ表示装置１０６を介してユーザによって各種指示・指定が随時受け付けられる。例えば、バックアップの開始指示、バックアップの種類の指定、バックアップ完了リミットの指定が入力される。バックアップ完了リミットは、バックアップの完了期限となる時刻であり、その時刻自体を入力することで指定される。ただし、現在時刻から何時間後というように、現在時刻からの時間を入力することで指定されるようにしてもよい。
【００３７】
受け付けられた指示や指定の情報はメモリ１０２に格納され、随時参照される。図６の処理は、バックアップの開始指示があると開始され、当該指示によるバックアップが完了するまで繰り返し実行される。図６の処理中、バックアップはＣＰＵ１０１の制御に従ってバックアップ・リストア制御部２０９によってなされる。
【００３８】
まず、ＣＰＵ１０１は、単一モードへの強制切り替え指示があるか否かを判別する（ステップＳ１１２）。この強制切り替え指示は、後述する図８のステップＳ２０７で発行されるものである。なお、バックアップのモードをユーザが単一モードに指定したい場合もあるので、バックアップのモードをＵＩ表示装置１０６を介して単一モードの強制指示を手動で受け付けられるようにしてもよい。
【００３９】
ステップＳ１１２の判別の結果、単一モードへの強制切り替え指示があった場合は、ＣＰＵ１０１は、それ以降、強制的に単一モードでバックアップを行うよう制御する（ステップＳ１１３）。一方、ＣＰＵ１０１は、単一モードへの強制切り替え指示がない場合は、今回指定されているバックアップの種類が増分バックアップであるかを判別する（ステップＳ１０１）。そして、増分バックアップであれば、データの変更量が多くないと判断できるので、ＣＰＵ１０１は、並行モードでバックアップを行うよう制御する（ステップＳ１０２）。
【００４０】
しかし、増分バックアップでない場合は、ＣＰＵ１０１は、今回指定されているバックアップの種類がフルバックアップか差分バックアップかを判別する（ステップＳ１０３）。そして、ＣＰＵ１０１は、差分バックアップである場合はさらにデータの変更量が多いか否かを判別する（ステップＳ１０４）。ここで、データの変更量は、前回のバックアップからの変更、追加、削除のファイル数やそれらのサイズによって見積ることができる。
【００４１】
そして、ＣＰＵ１０１は、差分バックアップであるがデータの変更量が多くない場合は、増分バックアップの場合と同様に並行モードでバックアップを行う（ステップＳ１０２）。従って、変更量が小さい場合は並行モードとなる。
【００４２】
一方、フルバックアップである場合、または差分バックアップで且つデータの変更量が多い場合は、ＣＰＵ１０１は、処理をステップＳ１０５に進める。ステップＳ１０５では、ＣＰＵ１０１は、一定時間が経過するかまたは何らかのイベントが受信されるまで待ってから、ステップＳ１０６に処理を進める。ここで、何らかのイベントとは、例えば、ユーザからの指示の受け付けや機器の状態変化等であり、ジョブ等の処理の完了やエラーの発生も含まれる。
【００４３】
ステップＳ１０６では、ＣＰＵ１０１は、ジョブ処理中またはジョブ予約待機中か否かを判別する。ここでは、コピー・プリント・スキャン・ＦＡＸ送受信等のいずれかのジョブが実行中であるか、あるいは予約によりジョブ実行の予定があるか否かが判別される。その判別の結果、ＣＰＵ１０１は、ジョブ処理中またはジョブ予約待機中である場合は、それらのジョブの処理の実行に支障がないようにするべく、並行モードでバックアップを行うよう制御する（ステップＳ１０７）。
【００４４】
一方、ジョブ処理中でもジョブ予約待機中でもない場合は、ＣＰＵ１０１は、ＭＦＰ１０がスリープ中であるかを判別する（ステップＳ１０８）。ここでスリープとは、ＭＦＰ１０のデバイスの消費電力を低減するための機能であり、デバイスの挙動を監視して、一定時間アクセスがなければデバイスを停止することである。スリープ中は、デバイスの再起動に必要な電力しか消費しないため、デバイスの電力消費を低減することができる。ただし、本実施の形態におけるスリープとは、記憶装置１０５、バックアップ・リストア制御部２０９、文書管理部２０８及び記憶制御部２０６等の、バックアップ処理に関連する構成要素は機能を停止しておらず、バックアップが可能な状態を指すものとする。
【００４５】
その判別の結果、スリープ中である場合は、ＣＰＵ１０１は、ジョブ処理を行う必要がないので、単一モードでバックアップを行うよう制御する（ステップＳ１０９）。一方、スリープ中でない場合は、ＣＰＵ１０１は、ＭＦＰ１０がスタンバイ状態（Ｗａｒｍｉｎｇ・ＵＰ中、用紙補充中またはトナー交換中等）であるかを判別する（ステップＳ１１０）。その判別の結果、ＭＦＰ１０がスタンバイ状態でない場合は、ＣＰＵ１０１は、次のジョブ処理要求に迅速に対応できるようにするべく、並行モードでバックアップするよう制御する（ステップＳ１０７）。
【００４６】
一方、ＭＦＰ１０がスタンバイ状態である場合は、ＣＰＵ１０１は、バックアップ処理完了後に終了イベントを発行する予約をする（ステップＳ１１１）。また、ジョブ処理を直ちに行う必要がないので、ＣＰＵ１０１は、単一モードでバックアップするよう制御する（ステップＳ１０９）。
【００４７】
本処理によれば、バックアップのモード決定において、バックアップの種類、ジョブ処理の実行中あるいは実行予定の有無が判断基準とされる。また、省電力（スリープ）のレベル、スタンバイ状態か否かも判断基準とされる。ところで、前記ステップＳ１０１またはステップＳ１０４からステップＳ１０２に移行する場合は、結局、バックアップすべきデータの容量が大きくないと判断される場合である。従って、データの容量も判断基準となっている。なお、データの最終更新日時等のバックアップする内容等も判断基準としてもよい。
【００４８】
ところで、本実施の形態では、図７、図８で説明するように、バックアップ完了リミットが指定された場合は、ＣＰＵ１０１は、バックアップの所要時間からバックアップの推定完了時刻を推定し、単一モードに強制移行するタイミングを割り出す。強制移行するタイミングまでにバックアップが完了しなかった場合には、ＣＰＵ１０１は、それ以降は強制的に単一モードでバックアップを行なうよう制御する。
【００４９】
図７は、バックアップ完了リミットを指定された場合におけるモード切り替えの例を示すタイムチャートである。強制的でない単一モードと並行モードとの切り替えは、図６の処理が繰り返されることでなされる。図７の（１）は、仮に、単一モードへの強制的に切り替えを行わなくても、バックアップ完了リミット（以下、「完了リミット」という）の前にバックアップが完了するケースを示す。
【００５０】
図７の（２）は、仮に、単一モードへの強制的な切り替えを行わない場合であるが、並行モードで長時間のバックアップをしたため、完了リミットまでにバックアップが完了しないケースを示す。図７の（３）は、単一モードへの強制的な切り替えを行う場合であり、完了リミットまでにバックアップが完了するように、途中から強制的に単一モードに移行させるケースである。図８で説明するように、完了リミットから逆算してある時点から単一モードに強制移行する。
【００５１】
図８は、完了リミット処理のフローチャートである。図８の処理は、割り込み処理により、図６の処理中において一定時間間隔でＣＰＵ１０１により実行され、図６におけるバックアップの処理が完了するまで繰り返し（図６の処理と並行して）実行される。現在時刻等の時間情報は、ＣＰＵ１０１が備える不図示のタイマから把握される。図９（ａ）は、完了リミット処理によるモード切り替えの一例を示すタイムチャートである。
【００５２】
図８において、まず、ＣＰＵ１０１は、完了リミットの指定があるか否かを判別する（ステップＳ２０１）。そして、ＣＰＵ１０１は、完了リミットの指定がなければ本処理を終了させる一方、完了リミットの指定があった場合は、今回のバックアップ対象のデータについて、初期最小時間Ｔ０が算出済みであるか否かを判別する（ステップＳ２０２）。その判別の結果、初期最小時間Ｔ０が算出済みでない場合は、ＣＰＵ１０１は、初期最小時間Ｔ０を算出する（ステップＳ２０３）。
【００５３】
ここで、初期最小時間Ｔ０は、今回指定されているバックアップの対象（記憶装置１０５のハードディスクに記憶されているボックス文書）を単一モードのみでバックアップを行った場合の所要時間である。初期最小時間Ｔ０は、バックアップの対象のボックス文書のバックアップ前の（当初の）データ容量から算出される。完了リミットの指定は、バックアップの指示と同時またはそれ以降になされるので、初期最小時間Ｔ０は、完了リミットの指定がなされた直後に１回だけ算出されることになる。
【００５４】
前記ステップＳ２０３の処理後は、ＣＰＵ１０１は、ステップＳ２０４に処理を進める。また、前記ステップＳ２０２の判別の結果、初期最小時間Ｔ０が算出済みである場合は、ＣＰＵ１０１は、前記ステップＳ２０３を実行することなくステップＳ２０４に処理を進める。
【００５５】
ステップＳ２０４では、ＣＰＵ１０１は、算出した初期最小時間Ｔ０を、現在時刻から完了リミットの時刻までの時間である「残り時間」と比較し、初期最小時間Ｔ０≧残り時間であるか否かを判別する。その判別の結果、初期最小時間Ｔ０＜残り時間である場合は、ＣＰＵ１０１は、本処理を終了させる。例えば、図９（ａ）の（１）に示すように、算出した初期最小時間Ｔ０からみて、完了リミットまでにはまだ余裕があるため、図８のステップＳ２０１、Ｓ２０２、Ｓ２０４の処理が繰り返されることになる。
【００５６】
そして、時間が経過し、図９（ａ）の（２）に示すように、初期最小時間Ｔ０≧残り時間が成立すると、ＣＰＵ１０１は、ステップＳ２０４からステップＳ２０５に処理を進め、更新最小時間ＴＲを算出する。ここで、更新最小時間ＴＲは、バックアップの対象のボックス文書の現在時刻における未バックアップのデータ容量から算出され、未バックアップのデータを単一モードのみでバックアップを行った場合の所要時間である。図８の処理を繰り返している間にも、バックアップの処理は進行し得るため、未バックアップのデータ容量は通常、徐々に減少していく。従って、通常、更新最小時間ＴＲは初期最小時間Ｔ０よりも短い。
【００５７】
ここで、図９（ａ）において、初期最小時間Ｔ０、更新最小時間ＴＲについては、各々、時間方向後端（左端）が、強制的に単一モードのみでバックアップを行う場合の想定上のバックアップ開始時刻である。また、各々、前端（右端）が同バックアップの推定完了時刻Ｔ０ｅ、ＴＲｅである。
【００５８】
次に、ステップＳ２０６で、ＣＰＵ１０１は、更新最小時間ＴＲを残り時間と比較し、更新最小時間ＴＲと残り時間との差ＴＤが、予め定めた閾値ＴＳ以内である（閾値ＴＳより小さい）か否かを判別する。差ＴＤは、推定完了時刻ＴＲｅと完了リミットまでの時間差である。その判別の結果、差ＴＤ＞閾値ＴＳである場合は、ＣＰＵ１０１は、単一モードへの強制切り替え指示を発行することなく本処理を終了させる。その後、ステップＳ２０５の処理が繰り返される度に、更新最小時間ＴＲが算出し直され、更新されていく。
【００５９】
例えば、図９（ａ）の（３）に示すように、１回目に算出された更新最小時間ＴＲと残り時間との差ＴＤが閾値ＴＳより大きい場合は、単一モードへの強制切り替え指示が発行されることなく、次回のステップＳ２０５で更新最小時間ＴＲが更新される。そして、図９（ａ）の（４）に示すように、やがて差ＴＤ≦閾値ＴＳが成立すると、ＣＰＵ１０１は、図８のステップＳ２０６からステップＳ２０７に処理を進め、単一モードへの強制切り替え指示を発行する。ここで強制切り替え指示が発行されると、上記したように、次回の図６のステップＳ１１２ではステップＳ１１３に処理が移行することになる。従って、その時点でバックアップのモードが単一モードであればそれが継続され、単一モードでなければ強制的に単一モードに切り替わる。
【００６０】
ところで、上記した閾値ＴＳは、１０秒、１秒、０．５秒等、許容できる誤差を考慮して任意の値にデフォルトで定める。ただし、ＵＩ表示装置１０６を介してユーザが設定できるようにしてもよい。
【００６１】
図８の処理からわかるように、強制的に単一モードとなり得るのは、差ＴＤ≦閾値ＴＳが成立した時点以降であり、差ＴＤ＞閾値ＴＳである間は単一モードに強制的に切り替えることは行わない。このようにすることで、完了リミットまでのバックアップの完了を確保した上で、差ＴＤ＞閾値ＴＳである間は並行モードとなり得るようにして、ジョブ処理の遅延に与える影響を最小限にすることができる。
【００６２】
ただし、完了リミットまでのバックアップの完了を確実に行うことを主眼とした場合は、ＣＰＵ１０１によるモード切り替え制御は上記のような制御に限るものではなく、図９（ｂ）に例示するような各種の態様が考えられる。例えば、図９（ａ）の（２）に示すような段階以降、すなわち、初期最小時間Ｔ０≧残り時間が成立した以降に、単一モードに強制的に切り替える期間を設けるように制御してもよい。
【００６３】
例えば、図９（ｂ）の（１）に示すように、初期最小時間Ｔ０≧残り時間が成立したら直ちに、単一モードへの強制切り替え指示を発行するようにしてもよい。この場合は、更新最小時間ＴＲを算出する必要はない。これにより、それ以降、バックアップが完了するまで単一モードでバックアップが行われる。
【００６４】
あるいは、図９（ｂ）の（２）に示すように、初期最小時間Ｔ０≧残り時間が成立したら、まずは、初期最小時間Ｔ０の一部（例えば、半分）の期間、単一モードに強制切り替えする。それが終了した以降は、図８のステップＳ２０５〜Ｓ２０７と同様の処理により、未バックアップのデータ容量から更新最小時間ＴＲを更新する処理を繰り返し、差ＴＤ≦閾値ＴＳが成立したらそれ以降、単一モードに強制切り替えするようにしてもよい。
【００６５】
あるいは、図９（ｂ）の（３）に示すように、初期最小時間Ｔ０≧残り時間が成立したら、単一モードへの強制切り替えを一定期間行うことを間欠的に行う。それと並行して、図８のステップＳ２０５〜Ｓ２０７と同様の処理により、未バックアップのデータ容量から更新最小時間ＴＲを更新する処理を繰り返す。そして、差ＴＤ≦閾値ＴＳが成立した時点からは単一モードに強制切り替えするようにしてもよい。
【００６６】
なお、図８の処理は、割り込み処理とするのではなく、図６の処理に組み入れてもよい。例えば、図６の処理終了の直前に実行されるようにしてもよい。
【００６７】
図１０は、ＵＩ制御部２０３で制御されるＵＩ表示装置１０６の表示の一例を示す図である。ＵＩ表示装置１０６は、タッチパネル３０１、キー入力部３０２を備え、これらにより、ユーザはＭＦＰ１０に情報を入力すると共に、ＭＦＰ１０からの情報を確認することができる。キー入力部３０２には、複数色で点灯可能なバックアップ表示部３０３が含まれる。
【００６８】
バックアップの実行や現在実行中のバックアップモードは、例えばバックアップ表示部３０３の点灯及びその点灯色によりユーザに通知することができる。例えばバックアップ表示部３０３は、バックアップ中は点灯し、単一モード時は赤点灯、並行モード時は青点灯となることで、ユーザは現在のバックアップモードを確認することができる。
【００６９】
本実施の形態によれば、完了リミットの指定があった場合は、算出した初期最小時間Ｔ０から推定完了時刻Ｔ０ｅが推定される。そして、推定完了時刻Ｔ０ｅが完了リミットに一致した以降において、対象となるデータのバックアップが完了リミットまでに完了するように、単一モードに強制的に切り替えてバックアップを行う期間が設けられる。これにより、ジョブ処理の滞りを抑制しつつデータのバックアップを完了リミットまでに完了させることができる。
【００７０】
しかも、初期最小時間Ｔ０は、未バックアップの容量に応じて随時更新されて更新最小時間ＴＲとなり、更新最小時間ＴＲから推定完了時刻ＴＲｅが推定される。そして、推定完了時刻ＴＲｅから完了リミットまでの時間差ＴＤが閾値ＴＳ以内となった以降は、単一モードに強制的に切り替えてバックアップが行われる。これにより、データのバックアップ完了リミットまでの完了を確保した上で、ジョブ処理の遅延に与える影響を最小限に抑えることができる。従って、ユーザに与えるストレスを小さくすることができる。
【００７１】
また、並行モードにおいては、単一モードに比べて細かい単位にデータを分割してバックアップを行うので、ジョブの実行が割り込みやすく、処理が滞りにくい。従って、ユーザに大きなストレスを与えないで済む。
【００７２】
なお、本実施の形態では、強制的に単一モードとならない場合のバックアップのモードについては、図６のステップＳ１０１〜Ｓ１１１で決定された。しかしながら、強制的な単一モードの期間を設けることでデータのバックアップを完了期限までに完了させることに限って言えば、これに限られない。例えば、強制的に単一モードとならない場合のバックアップのモードは、デフォルトまたはユーザの設定によって決定されるようにしてもよい。あるいは、デフォルトで並行モードとし、完了リミットの指定があったときだけ、上記のような推定完了時刻Ｔ０ｅ、ＴＲｅに基づくモード切り替えを行うようにしてもよい。
【００７３】
また、本実施の形態では、更新最小時間ＴＲの最初の算出は、初期最小時間Ｔ０≧残り時間となった時点に行われた。しかしながら、これに限るものではなく、少し早めて、初期最小時間Ｔ０≧（残り時間＋所定時間）となった時点で算出されるようにしてもよい。
【００７４】
上記した実施の形態において、さらに、図１１、図１２で説明する変形例のモード切り替えの処理を加えてもよい。
【００７５】
図１１は、モード一時切り替え処理Ａのフローチャートである。例えば、フルバックアップは、効率良く行うために、ユーザがＭＦＰ１０を使用しない休日や深夜に単一モードで行なうことが多い。しかし、フルバックアップ中であってもＭＦＰ１０を緊急に使用する必要がある場合があり得る。そのような場合に図１１の処理を設けるのが好適である。
【００７６】
図１１の処理は、割り込み処理により、図６の処理中において一定時間間隔でＣＰＵ１０１により実行され、図６におけるバックアップの処理が完了するまで繰り返し実行される。ただし、図６のステップＳ１１３で、強制的に単一モードにされている場合は実行されないようにしてもよい。
【００７７】
まず、ＣＰＵ１０１は、現在のバックアップのモードが単一モードであるか否かを判別し（ステップＳ３０１）、単一モードであれば、「特定イベント」が受信されたか否かを判別する（ステップＳ３０２）。ここで、「特定イベント」とは、ジョブ処理の要求とは異なる特定の要求を示すイベントである。特定イベントは、例えば、画処理（色味や地紋等）関連でどうしてもそのデバイスでしか印刷できない場合や他の機器は使用不可（故障、使用中）でそのデバイスのみ使用可能な場合等に自動で発行される。なお、特定イベントを手動によっても発行できるように構成してもよい。
【００７８】
そして、ＣＰＵ１０１は、単一モードでないか、または単一モードであるが特定イベントが受信されない場合は、本処理を終了させる。一方、前記ステップＳ３０２の判別の結果、特定イベントが受信された場合は、ＣＰＵ１０１は、並行モードでバックアップするよう制御する（ステップＳ３０３）。これにより、特定イベントに対応する処理が遂行される。次に、ＣＰＵ１０１は、当該特定イベントに対応する処理が終了した後に、バックアップを単一モードに戻して（ステップＳ３０４）、本処理を終了させる。
【００７９】
すなわち、単一モードでバックアップを行っている最中に、特定のイベントが受信されると、そのイベントの処理が終了するまでの間、並行モードに一時的に切り替えてバックアップを行う。これにより、緊急時や必須の処理の割り込みを可能とし、ユーザのストレスを少なくすることができる。
【００８０】
なお、図１１のステップＳ３０１では、現在のバックアップのモードが単一モードで且つ、バックアップの種類がフルバックアップであるか否かを判別するようにしてもよい。
【００８１】
図１２は、モード一時切り替え処理Ｂのフローチャートである。例えば、差分バックアップではバックアップすべきデータ量が少ないため、業務中時間のユーザがＭＦＰ１０を使用していない、あるいは少しだけ使用している際に行なうことが多い。ユーザがＭＦＰ１０を使用することに備え、並行モードでバックアップを行なうのが通常である。しかし差分バックアップ実行中といえども、できる限りバックアップ時間は短くしたい。
【００８２】
図１２の処理は、割り込み処理により、図６の処理中において一定時間間隔でＣＰＵ１０１により実行され、図６におけるバックアップの処理が完了するまで繰り返し実行される。
【００８３】
まず、ＣＰＵ１０１は、現在のバックアップのモードが並行モードであるか否かを判別し（ステップＳ４０１）、並行モードであれば、「単一モード移行条件」を満たしたか否か判別する（ステップＳ４０２）。ここで、「単一モード移行条件」とは、スリープ移行条件を満たした場合や、ジョブ処理を実行できない状態となった場合である。このような場合は、バックアップに専念できる空き時間が見込めるからである。
【００８４】
そして、ＣＰＵ１０１は、並行モードでないか、または並行モードであるが単一モード移行条件が満たされない場合は、本処理を終了させる。一方、前記ステップＳ４０２の判別の結果、単一モード移行条件が満たされた場合は、ＣＰＵ１０１は、単一モードでバックアップするよう制御する（ステップＳ４０３）。これにより、バックアップの効率が向上する。その後、単一モード移行条件を満たさなくなったら、並行モードに戻して（ステップＳ４０４）、本処理を終了させる。
【００８５】
すなわち、並行モードでバックアップを行っている最中に、単一モード移行条件が満たされた状態となると、その状態が解消するまでの間、単一モードに一時的に切り替えてバックアップを行う。これにより、ＭＦＰ１０の空き時間を利用して効率的にバックアップを行える。
【００８６】
なお、図１２のステップＳ４０１では、現在のバックアップのモードが並行モードで且つ、バックアップの種類が差分バックアップであるか否かを判別するようにしてもよい。
【００８７】
なお、図１１、図１２の処理は、割り込み処理とするのではなく、それぞれ図６の処理に組み入れてもよい。例えば、図６の処理終了の直前に実行されるようにしてもよい。
【００８８】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００８９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９０】
１０１  ＣＰＵ
１０３  スキャナ装置
１０４  プリンタ装置
１０５  記憶装置
１０６  ＵＩ表示装置
１０７  通信装置
２０９  バックアップ・リストア制御部
【図１】
0005661347.tif 000002
【図２】
0005661347.tif 000003
【図３】
0005661347.tif 000004
【図４】
0005661347.tif 000005
【図５】
0005661347.tif 000006
【図６】
0005661347.tif 000007
【図７】
0005661347.tif 000008
【図８】
0005661347.tif 000009
【図９】
0005661347.tif 000010
【図１０】
0005661347.tif 000011
【図１１】
0005661347.tif 000012
【図１２】
0005661347.tif 000013