(57)【要約】【課題】  管理対象装置にそれに記憶されているデータを短時間で書き換えさせる。【解決手段】  ネットワークを介して接続されたＭＦＰからＭＦＰが記憶するデータの少なくとも一部を編集用データとして取得するデータ取得部１０と、編集用データを編集するためのデータ編集部２０と、編集前後の編集対象データで異なる編集部分を検出する比較部３０と、編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択する選択部４０と、一括書換モードにおいて、編集前の編集用データを編集後の編集用データで書き換える指示をするための一括書換コマンドをＭＦＰに送信する一括書換部６０と、個別書換モードにおいて、編集部分のレコード全てをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドをＭＦＰに送信する個別書換部７０と、を備える。【選択図】        図４
2008026961.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置に記憶されたデータを管理するためのデータ管理装置であって、
前記画像処理装置から該画像処理装置が記憶するデータの少なくとも一部を編集対象データとして取得するデータ取得手段と、
前記取得された編集対象データを編集するための編集手段と、
前記編集された編集対象データと前記取得された編集対象データとで異なる編集部分を検出する検出手段と、
前記検出された編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択する選択手段と、
前記一括書換モードにおいて、前記編集対象データを前記編集された編集対象データで書き換える指示をするための一括書換コマンドを前記画像処理装置に送信する一括書換手段と、
前記個別書換モードにおいて、前記編集部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドを前記画像処理装置に送信する個別書換手段と、を備えたデータ管理装置。
【請求項２】
前記選択手段は、前記検出された編集部分のレコード数と、前記画像処理装置が前記個別書換コマンドに従って１レコードを書き換える書換単位時間とから前記画像処理装置が前記編集部分のすべてのレコードを書き換えるための個別書換時間を予測する予測手段と、
前記予測された個別書換時間を前記画像処理装置が前記一括書換コマンドに従って前記編集された編集対象データで書き換える一括書換時間と比較する比較手段を含む、請求項１に記載のデータ管理装置。
【請求項３】
前記画像処理装置から前記書換単位時間と前記一括書換時間とを受信する基準データ取得手段をさらに備えた、請求項２に記載のデータ管理装置。
【請求項４】
前記画像処理装置の動作モードを検出する動作モード検出手段と、
前記検出された動作モードに対応する前記書換単位時間と前記一括書換時間とを取得する基準データ取得手段とをさらに備えた、請求項２に記載のデータ管理装置。
【請求項５】
前記個別書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記書換単位時間として計測する第１の計測手段と、
前記一括書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記一括書換時間として計測する第２の計測手段とをさらに備えた、請求項２に記載のデータ管理装置。
【請求項６】
前記検出手段は、前記編集された編集対象データのうち前記取得された編集対象データから変更された変更部分を検出するための変更部分検出手段と、
前記編集された編集対象データのうち前記取得された編集対象データに追加された追加部分を検出するための追加部分検出手段と、
前記取得された編集対象データから削除された削除部分を検出する削除部分検出手段とを含み、
前記個別書換手段は、前記変更部分が検出された場合、前記変更部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別変更コマンドを送信する個別変更コマンド送信手段と、
前記追加部分が検出された場合、前記追加部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別追加コマンドを送信する個別追加コマンド送信手段と、
前記削除部分が検出された場合、前記削除部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別削除コマンドを送信する個別削除コマンド送信手段とを含む、請求項１に記載のデータ管理装置。
【請求項７】
前記選択手段は、前記変更部分のレコード数と前記画像処理装置が前記個別変更コマンドに従って１レコードを変更する変更単位時間とから変更時間を予測する変更時間予測手段と、
前記追加部分のレコード数と前記画像処理装置が前記個別追加コマンドに従って１レコードのデータを追加する追加単位時間とから追加時間を予測する追加時間予測手段と、
前記削除部分のレコード数と前記画像処理装置が前記個別削除コマンドに従って１レコードのデータを削除する削除単位時間とから削除時間を予測する削除時間予測手段とを含む、請求項６に記載のデータ管理装置。
【請求項８】
前記画像処理装置から前記変更単位時間、前記削除単位時間、前記追加単位時間および前記一括書換時間を受信する基準データ取得手段をさらに備えた、請求項７に記載のデータ管理装置。
【請求項９】
前記画像処理装置の動作モードを検出する動作モード検出手段と、
前記検出された動作モードに対応する前記変更単位時間、前記削除単位時間、前記追加単位時間および前記一括書換時間を取得する基準データ取得手段とをさらに備えた、請求項７に記載のデータ管理装置。
【請求項１０】
前記個別変更コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで変更する時間を前記変更単位時間として計測する変更単位時間計測手段と、
前記個別追加コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータを追加する時間を前記追加単位時間として計測する追加単位時間計測手段と、
前記個別削除コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータを削除する時間を前記削除単位時間として計測する変更単位時間計測手段と、
前記一括書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記一括書換時間として計測する一括書換時間計測手段とをさらに備えた、請求項７に記載のデータ管理装置。
【請求項１１】
画像処理装置に記憶されたデータを管理するためのデータ管理プログラムであって、
前記画像処理装置から該画像処理装置が記憶するデータの少なくとも一部を編集対象データとして取得するステップと、
前記取得された編集対象データを編集するためのステップと、
前記編集された編集対象データと前記取得された編集対象データとで異なる編集部分を検出するステップと、
前記検出された編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択するステップと、
前記一括書換モードが選択された場合、前記取得された編集対象データを前記編集された編集対象データで書き換える指示をするための一括書換コマンドを前記画像処理装置に送信する一括書換ステップと、
前記個別書換モードが選択された場合、前記編集部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドを前記画像処理装置に送信する個別書換ステップと、をコンピュータに実行させるデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ管理装置およびデータ管理プログラムに関し、特に、管理対象装置に記憶されたデータを管理するデータ管理装置およびデータ管理プログラムに関する。
【背景技術】
【０００２】
近年、プリンタ、スキャナおよびファクシミリを組み合わせた複合機（以下「ＭＦＰ」という）は、ネットワークに接続され、コンピュータからの遠隔操作によって動作させることが可能となっている。このＭＦＰは、使用するユーザを制限するためにユーザを管理するためのユーザデータ、ファクシミリや電子メールの宛先データ等の種々のデータを記憶可能であるが、これらのデータを、ユーザがＭＦＰの操作パネルを用いて、入力および編集するのに加えて、ＭＦＰに記憶されているデータを、一度コンピュータに取り込み、コンピュータでそのデータを編集して、コンピュータからＭＦＰを遠隔操作してＭＦＰに記憶されているデータを編集後のデータで書き換えさせることがなされている。
【０００３】
この場合、ＭＦＰが記憶しているデータをコンピュータで編集する方法は、大きく２つある。第１の方法は、コンピュータが、変更されたデータと変更されていないデータとを一つのデータとしてまとめてＭＦＰに送信し、ＭＦＰでは、一つにまとめられたデータで、既に記憶しているデータを書き換える。この第１の方法によれば、データを一括して送受信するため、送信側および受信側では１回の送受信処理をすればよい。この場合、ＭＦＰは送信するデータ量に係わらず同じ処理を実行するので、ＭＦＰが実行する処理時間は、異なるデータ量に対する２つの処理で処理時間にほとんど差がない。第１の方法に適した通信プロトコルは、例えばＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）である。
【０００４】
第２の方法は、コンピュータが、編集後のデータのうち編集の前のデータと異なる部分のレコード各々を変更するためのコマンドを送信し、ＭＦＰでは、受信したコマンドに従ってレコードごとに既に記憶しているデータを更新する。この第２の方法によれば、ＭＦＰは、編集の前後で異なる部分のレコードのみを書き換えるので、第１の方法に比較して１回あたりの書き換え時間は短いが、異なる部分のレコード数が多くなると書き換え回数が増加して第１の方法に比較して異なる部分のレコード全てを書き換える時間が長くなる。第２の方法に適した通信プロトコルは、例えばＳＯＲＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）である。
【０００５】
ユーザは、ＭＦＰに記憶されたデータを編集する際に、第１の方法でデータを更新するプログラムと、第２の方法でデータを更新するプログラムとのいずれかを選択して、コンピュータに実行させなければならないが、編集前にいずれのプログラムを使用すれば良いかを判断することができないといった問題があった。
【０００６】
なお、送信するデータ量が多い場合にデータを分割して送信し、データ量が少ない場合にデータを一度に送信する技術が特開平６−３５５１３号公報（特許文献１）に記載されている。
【特許文献１】特開平６−３５５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、管理対象装置にそれに記憶されているデータを短時間で書き換えさせることが可能なデータ管理装置を提供することである。
【０００８】
この発明の他の目的は、管理対象装置にそれに記憶されているデータを短時間で書き換えさせることが可能なデータ管理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上述した目的を達成するためにこの発明のある局面によれば、データ管理装置は、画像処理装置に記憶されたデータを管理するためのデータ管理装置であって、画像処理装置から該画像処理装置が記憶するデータの少なくとも一部を編集対象データとして取得するデータ取得手段と、取得された編集対象データを編集するための編集手段と、編集された編集対象データと取得された編集対象データとで異なる編集部分を検出する検出手段と、検出された編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択する選択手段と、一括書換モードにおいて、編集対象データを編集された編集対象データで書き換える指示をするための一括書換コマンドを画像処理装置に送信する一括書換手段と、個別書換モードにおいて、編集部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドを画像処理装置に送信する個別書換手段と、を備える。
【００１０】
この局面に従えば、画像処理装置は一括書換コマンドに従って編集用データを書き換える場合、その書き換え時間は編集用データのデータ量が異なってもほとんど同じである。一方、画像処理装置は個別書換コマンドに従って編集用データを書き換える場合、編集用データの編集前後で異なる編集部分を１レコードごとに書き換えるので、編集部分のレコード数が増えるほど長くなる。編集部分のデータのレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択するので、画像処理装置にそれに記憶されているデータを短時間で書き換えさせることが可能なデータ管理装置を提供することができる。
【００１１】
好ましくは、選択手段は、検出された編集部分のレコード数と、画像処理装置が個別書換コマンドに従って１レコードを書き換える書換単位時間とから画像処理装置が編集部分のすべてのレコードを書き換えるための個別書換時間を予測する予測手段と、予測された個別書換時間を画像処理装置が一括書換コマンドに従って編集された編集対象データで書き換える一括書換時間と比較する比較手段を含む。
【００１２】
好ましくは、画像処理装置から書換単位時間と一括書換時間とを受信する基準データ取得手段をさらに備える。
【００１３】
好ましくは、画像処理装置の動作モードを検出する動作モード検出手段と、検出された動作モードに対応する書換単位時間と一括書換時間とを取得する基準データ取得手段とをさらに備える。
【００１４】
好ましくは、個別書換コマンドを画像処理装置に送信して画像処理装置がテストデータで書き換える時間を書換単位時間として計測する第１の計測手段と、一括書換コマンドを画像処理装置に送信して画像処理装置がテストデータで書き換える時間を一括書換時間として計測する第２の計測手段とをさらに備える。
【００１５】
好ましくは、検出手段は、編集された編集対象データのうち取得された編集対象データから変更された変更部分を検出するための変更部分検出手段と、編集された編集対象データのうち取得された編集対象データに追加された追加部分を検出するための追加部分検出手段と、取得された編集対象データから削除された削除部分を検出する削除部分検出手段とを含み、個別書換手段は、変更部分が検出された場合、変更部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別変更コマンドを送信する個別変更コマンド送信手段と、追加部分が検出された場合、追加部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別追加コマンドを送信する個別追加コマンド送信手段と、削除部分が検出された場合、削除部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別削除コマンドを送信する個別削除コマンド送信手段とを含む。
【００１６】
好ましくは、選択手段は、変更部分のレコード数と画像処理装置が個別変更コマンドに従って１レコードを変更する変更単位時間とから変更時間を予測する変更時間予測手段と、追加部分のレコード数と画像処理装置が個別追加コマンドに従って１レコードのデータを追加する追加単位時間とから追加時間を予測する追加時間予測手段と、削除部分のレコード数と画像処理装置が個別削除コマンドに従って１レコードのデータを削除する削除単位時間とから削除時間を予測する削除時間予測手段とを含む。
【００１７】
好ましくは、画像処理装置から変更単位時間、削除単位時間、追加単位時間および一括書換時間を受信する基準データ取得手段をさらに備える。
【００１８】
好ましくは、画像処理装置の動作モードを検出する動作モード検出手段と、検出された動作モードに対応する変更単位時間、削除単位時間、追加単位時間および一括書換時間を取得する基準データ取得手段とをさらに備える。
【００１９】
好ましくは、個別変更コマンドを画像処理装置に送信して画像処理装置がテストデータで変更する時間を変更単位時間として計測する変更単位時間計測手段と、個別追加コマンドを画像処理装置に送信して画像処理装置がテストデータを追加する時間を追加単位時間として計測する追加単位時間計測手段と、個別削除コマンドを画像処理装置に送信して画像処理装置がテストデータを削除する時間を削除単位時間として計測する変更単位時間計測手段と、一括書換コマンドを画像処理装置に送信して画像処理装置がテストデータで書き換える時間を一括書換時間として計測する一括書換時間計測手段とをさらに備える。
【００２０】
この発明の他の局面によれば、データ管理プログラムは、画像処理装置に記憶されたデータを管理するためのデータ管理プログラムであって、画像処理装置から該画像処理装置が記憶するデータの少なくとも一部を編集対象データとして取得するステップと、取得された編集対象データを編集するためのステップと、編集された編集対象データと取得された編集対象データとで異なる編集部分を検出するステップと、検出された編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択するステップと、一括書換モードが選択された場合、取得された編集対象データを編集された編集対象データで書き換える指示をするための一括書換コマンドを画像処理装置に送信する一括書換ステップと、個別書換モードが選択された場合、編集部分のすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドを画像処理装置に送信する個別書換ステップと、をコンピュータに実行させる。
【００２１】
この局面に従えば、画像処理装置にそれに記憶されているデータを短時間で書き換えさせることが可能なデータ管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２３】
図１は、本発明の実施の形態の１つにおけるプリントシステムの全体概要を示す図である。図１を参照して、プリントシステム１は、それぞれがネットワーク２に接続されたパーソナルコンピュータ（以下「ＰＣ」という）１００と、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）２００，２０１とを含む。
【００２４】
ネットワーク２は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク２は、ＬＡＮに限らず、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。
【００２５】
ＰＣ１００は、一般的なコンピュータであり、ＭＦＰ２００，２０１を制御するためのドライバプログラムがインストールされている。なお、ＭＦＰ２００，２０１の種類が異なる場合、ＰＣ１００には、ＭＦＰ２００，２０１を制御するための２種類のドライバプログラムがそれぞれインストールされる。ＰＣ１００は、ＭＦＰ２００，２０１に記憶されたデータを管理するためのデータ管理装置として機能する。
【００２６】
図２は、本実施の形態におけるＰＣ１００のハード構成の一例を示すブロック図である。図２を参照して、ＰＣ１００は、それぞれがバス１２０に接続された中央演算装置（ＣＰＵ）１０１と、ＣＰＵ１０１が実行するためのプログラムなどを記録したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３と、実行されるプログラムをロードするための、およびプログラム実行中のデータを記憶するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０５と、データを不揮発的に記憶するためのハードディスクドライブ（ＨＤＤ）１０７と、フラッシュメモリ１０８が装着されるカードインターフェイス（Ｉ／Ｆ）１０９と、ＣＰＵ１００をネットワーク２に接続するための通信Ｉ／Ｆ１１１と、ユーザとのインターフェイスとして機能する操作部１１９とを含む。
【００２７】
ＣＰＵ１０１は、カードＩ／Ｆ１０９に装着されたフラッシュメモリ１０８に記録されたプリンタドライバプログラムをＲＡＭ１０５にロードして実行する。なお、ＣＰＵ１０１が実行するプログラムは、フラッシュメモリ１０８に記録されたドライバプログラムに限られず、ＨＤＤ１０７に記憶されたプログラムをＲＡＭ１０５にロードして実行するようにしてもよい。この場合、ネットワーク２に接続された他のコンピュータが、ＰＣ１００のＨＤＤ１０７に記憶されたドライバプログラムを書換える、または、新たなドライバプログラムを追加して書き込むようにしてもよい。さらに、ＰＣ１００が、ネットワーク２に接続された他のコンピュータからドライバプログラムをダウンロードして、そのドライバプログラムをＨＤＤ１０７に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００２８】
操作部１１９は、入力部１１９Ａと表示部１１９Ｂとを含む。入力部１１９Ａは、ＰＣ１００のユーザによる操作の入力を受付けるためのキーボードまたはマウス等の入力装置である。表示部１１９Ｂは、液晶表示装置、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイパネルまたは陰極線管（ＣＲＴ）等の表示装置である。入力部１１９Ａに、タッチパネルなどのポインティングデバイスを用いるようにしてもよい。
【００２９】
通信Ｉ／Ｆ１１１は、ＰＣ１００をネットワーク２と接続するための通信インターフェイスである。これにより、ＰＣ１００は、他のＭＦＰ２００，２０１との間で通信することが可能となる。ＰＣ１００と、他のＭＦＰ２００，２０１とは、ネットワーク２を介して接続されるが、シリアルインターフェイスまたはパラレルインターフェイスを用いて直接接続されてもよい。通信Ｉ／Ｆ１１１は、ＰＣ１００と他のＭＦＰ２００，２０１それぞれとの接続形態に応じたインターフェイスが用いられる。
【００３０】
ＭＦＰ２００,２０１各々は、原稿を読取るためのスキャナ装置、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成装置およびファクシミリ装置を含み、画像読取機能、複写機能、ファクシミリ送受信機能を備えている。なお、本実施の形態においてはＭＦＰ２００，２０１を画像処理装置の例として説明するが、ＭＦＰ２００，２０１に代えて、画像を処理する機能を備えた装置であれば、たとえば、スキャナ装置、プリンタ、複写機、ファクシミリ装置、コンピュータ等であってもよい。また、ＭＦＰ２００，２０１は、機能が同じなので以下の説明では特に言及しない限りＭＦＰ２００を例に説明する。
【００３１】
図３は、ＭＦＰの機能の概要を示す機能ブロック図である。図３を参照して、ＭＦＰ２００は、メイン回路２１０と、原稿を読み取るための原稿読取部２３０と、原稿を原稿読取部２３０に搬送するための自動原稿搬送装置２２０と、原稿読取部２３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部２４０と、画像形成部２４０に用紙を供給するための給紙部２５０とユーザインターフェイスとしての操作パネル２６０とを含む。メイン回路２１０は、ＣＰＵ２１１と、通信インターフェイス（Ｉ／Ｆ）部２１２と、ＲＯＭ２１３と、ＲＡＭ２１４と、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）２１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）２１６と、ファクシミリ部２１７と、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−ＲＯＭ）２１８Ａが装着される外部記憶装置２１８とを含む。ＣＰＵ２１１は、自動原稿搬送装置２２０、原稿読取部２３０、画像形成部２４０、給紙部２５０および操作パネル２６０と接続され、ＭＦＰ２００の全体を制御する。
【００３２】
ＲＯＭ２１３は、ＣＰＵ２１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ２１４は、ＣＰＵ２１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ２１４は、原稿読取部２３０から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００３３】
操作パネル２６０は、表示部２６０Ａと操作部２６０Ｂとを含む。表示部２６０Ａは、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部２６０Ｂは、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部２６０Ｂは、表示部２６０Ａ上に設けられたタッチパネルをさらに含む。
【００３４】
通信Ｉ／Ｆ部２１２は、ＭＦＰ２００をネットワーク２に接続するためのインターフェイスである。ＣＰＵ２１１は、通信Ｉ／Ｆ部２１２を介してＰＣ１００との間で通信し、データを送受信する。
【００３５】
ＨＤＤ２１６は、操作するユーザを制限するための認証リストとしてのユーザ管理用データと、ファクシミリまたは電子メールの送信先を含む宛先リストとしてのあて先データを、記憶する。ユーザ管理用データは、ユーザ識別情報と、パスワード等の認証情報とを含む。宛先データは、ユーザ識別情報と、ファクシミリ番号と、電子メールアドレスとを含む。
【００３６】
ファクシミリ部２１７は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部２１７は、受信したファクシミリデータを、ＨＤＤ２１６に記憶する、または画像形成部２４０に出力する。画像形成部２４０は、ファクシミリ部２１７により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部２１７は、ＨＤＤ２１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００３７】
外部記憶装置２１８は、ＣＤ−ＲＯＭ２１８Ａが装着される。ＣＰＵ２１１は、外部記憶装置２１８を介してＣＤ−ＲＯＭ２１８Ａにアクセス可能である。ここでは、ＣＰＵ２１１がＲＯＭ２１３に記憶されたプログラムを実行する例を示すが、ＣＤ−ＲＯＭ２１８Ａに記憶されたプログラムをＲＡＭ２１４にロードして実行するようにしてもよい。
【００３８】
本実施の形態におけるプリントシステム１においては、ＰＣ１００がドライバプログラムを実行すると、ＭＦＰ２００を制御する。そして、ＰＣ１００は、ＭＦＰ２００のＨＤＤ２１６に記憶されたユーザ管理用データまたは宛先データを編集し、ＭＦＰ２００のＨＤＤ２１６に記憶されたユーザ管理用データまたは宛先データを、編集後のユーザ管理用データまたは宛先データで書き換える。編集は、データの変更、追加および削除である。
【００３９】
ＭＦＰ２００のＣＰＵ２１１は、ＦＴＰに従ってデータを送受信するプログラムおよびＳＯＡＰに従ってデータを送受信するプログラムを実行している。ＰＣ１００からＦＴＰに従って宛先データを受信すると、その宛先データをＨＤＤ２１６に記憶する。また、ＰＣ１００からＳＯＡＰに従って宛先データの１レコードを書き換えるコマンドを受信すると、宛先データの１つのレコードを書き換える。書き換えは、レコードの変更、追加および削除を含む。ＭＦＰ２００が、ＦＴＰに従って受信する宛先データを書き換える時間は約６０秒であり、宛先データのレコード数が異なってもほとんど同じである。ＭＦＰ２００が、ＳＯＡＰに従って受信するコマンドを実行する時間は、約０．２秒〜０．５秒であり、受信するコマンドがレコードの変更、追加および削除のいずれであるかによって異なる。このため、ＳＯＡＰに従って受信するコマンドの件数が増加すればするほど、時間がかかる。例えば、レコードを追加するコマンドを実行するのに０．５秒かかるとすると、１２０レコードの追加コマンドを受信した場合、単純に計算すれば６０秒かかる。
【００４０】
以下、ＰＣ１００とＭＦＰ２００とで実行され、ＭＦＰ２００のＨＤＤ２１６に記憶された宛先データを書き換える処理を例に、具体的に説明する。
【００４１】
図４は、ＰＣ１００のＣＰＵ１０１の機能の概要を示す機能ブロック図である。ここでは、ＣＰＵ１０１が、ドライバプログラムを実行した場合に有する機能を示す。ＣＰＵ１０１は、ＭＦＰ２００からＨＤＤ２１６に記憶する宛先データの少なくとも一部を編集用データとして取得する編集用データ取得部１０と、編集用データを編集するためのデータ編集部２０と、編集前後の編集用データを比較し、編集前後で異なる編集部分を検出する比較部３０と、編集部分のレコード数と基準データとからＭＦＰ２００が編集部分すべてのデータを書き換える更新時間を予測し、更新時間に基づいて一括書換モードと個別書換モードとのいずれかを選択する選択部４０と、基準データを取得する基準データ取得部５０と、一括書換モードにおいてＭＦＰ２００のＨＤＤ２１６に記憶された宛先データを編集後の編集用データで書き換える一括書換部６０と、個別書換モードにおいてＭＦＰ２００のＨＤＤ２１６に記憶された宛先データの編集部分のレコード各々を書き換える個別書換部７０とを含む。
【００４２】
編集用データ取得部１０は、ＭＦＰ２００に、ＨＤＤ２１６に記憶する宛先データの全部または一部の送信を要求する。ＭＦＰ２００は、その要求を受信すると、ＨＤＤ２１６から宛先データの全部または一部を読み出し、ＰＣ１００に返信する。編集用データ取得部１０は、ＭＦＰ２００から先に送信を要求した宛先データの全部または一部を受信すると、受信したデータを編集用データとして比較部３０とデータ編集部２０とに出力する。比較部３０は、編集用データをＲＡＭ１０５に一時格納する。
【００４３】
データ編集部２０は、編集用データ取得部１０から入力される編集用データを表示部１１９Ｂに表示し、ユーザが入力部１１９Ａに入力する編集指示を受け付ける。編集指示は、編集用データを変更する変更指示、編集用データに新たなレコードを追加する追加指示、編集用データから一部または全部のレコードを削除する削除指示を含む。データ編集部２０は、受け付けた指示に従って編集用データを編集し、編集後の編集用データを比較部３０および一括書換部６０に出力する。
【００４４】
一括書換部６０は、一括書換モードにおいて能動化され、データ編集部２０から入力される編集後の編集用データで、ＭＦＰ２００のＨＤＤ２１６に記憶されている宛先データの編集用データを書き換えるために、一括書換コマンドと編集後の編集用データとをＭＦＰ２００に送信する。ＭＦＰ２００は、一括書換コマンドを受信すると、ＨＤＤ２１６に記憶された宛先データの編集用データを、一括書換コマンドととも受信する編集後の編集用データで書き換える。一括書換コマンドを送信することによるデータの書き換えは、ここでは、ＦＴＰに従ってデータを送信することにより実現する。
【００４５】
比較部３０は、データ編集部２０から入力される編集後の編集用データを、ＲＡＭ１０５に記憶しておいた編集前の編集用データと比較し、編集前後の編集用データで異なる編集部分を検出し、個別書換部７０と選択部４０とに出力する。編集部分は、変更部分と、追加部分と、削除部分を含む。比較部３０は、変更部分検出部３１と、追加部分検出部３２と、削除部分検出部３３とを含む。変更部分検出部３１は、編集された編集用データと編集前の編集用データとを比較し、編集された編集用データのうち編集前の編集対象データから変更された変更部分を検出し、検出した変更部分を個別書換部７０と選択部４０とに出力する。追加部分検出部３２は、編集された編集用データと編集前の編集用データとを比較し、編集された編集用データのうち編集前の編集用データに追加された追加部分を検出し、検出した追加部分を個別書換部７０と選択部４０とに出力する。削除部分検出部３３は、編集された編集用データと編集前の編集用データとを比較し、編集前の編集用データから削除された削除部分を検出し、検出した削除部分を個別書換部７０と選択部４０とに出力する。
【００４６】
個別書換部７０は、個別書換モードにおいて能動化され、比較部３０から入力される編集部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドをＭＦＰ２００に送信する。個別書換部７０は、編集部分が複数のレコードを含む場合には、複数のレコードそれぞれに対応する個別書換コマンドをＭＦＰ２００に送信する。個別書換コマンドによる１レコードの書換は、ここでは、ＳＯＡＰに従ってデータを送信することにより実現される。ＭＦＰ２００は、個別書換コマンドを受信すると、ＨＤＤ２１６に記憶された該当するデータを、個別書換コマンドに従って書き換える。
【００４７】
より具体的に説明すると、個別書換部７０は、変更部分書換部７１と、追加部分書換部７２と、削除部分書換部７３とを含む。変更部分書換部７１は、変更部分検出部３１から変更部分が入力され、変更部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別変更コマンドをＭＦＰ２００に送信する。ＭＦＰ２００は、個別変更コマンドを受信すると、ＨＤＤ２１６に記憶された宛先データの該当するレコードを、個別書換変更コマンドに従って変更する。追加部分書換部７２は、追加部分検出部３２から追加部分が入力され、追加部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別追加コマンドをＭＦＰ２００に送信する。ＭＦＰ２００は、個別追加コマンドを受信すると、ＨＤＤ２１６に記憶された宛先データに、個別追加コマンドに含まれるレコードを追加し、格納する。削除部分書換部７３は、削除部分検出部３３から削除部分が入力され、削除部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別削除コマンドをＭＦＰ２００に送信する。ＭＦＰ２００は、個別削除コマンドを受信すると、ＨＤＤ２１６に記憶された宛先データから個別削除コマンドで特定されるレコードを削除する。
【００４８】
基準データ取得部５０は、基準データを取得し、基準データを選択部４０に出力する。基準データは、ＭＦＰ２００が個別書換コマンドに従ってＨＤＤ２１６に記憶されている宛先データの１レコードを書き換えるための書換単位時間と、ＭＦＰ２００が一括書換コマンドに従ってＨＤＤ２１６に記憶されている宛先データを書き換えるための一括書換時間とを含む。書換単位時間は、変更単位時間と、追加単位時間と、削除単位時間とを含む。ＰＣ１００は、ＨＤＤ１０７にＭＦＰ２００の書換単位時間および一括書換時間を予め記憶しており、基準データ取得部５０は、ＨＤＤ１０７から書換単位時間および一括書換時間を読み出す。ＭＦＰ２００とＭＦＰ２０１とが異なる機種の場合には、ＰＣ１００は、ＨＤＤ１０７にＭＦＰ２００とＭＦＰ２０１とにそれぞれ対応した書換単位時間および一括書換時間を予め記憶しており、基準データ取得部５０は、編集用データ送信してきたＭＦＰに対応する書換単位時間および一括書換時間をＨＤＤ１０７から読み出す。
【００４９】
図５は、基準データの一例を示す図である。図５は、機種別の書換単位時間および一括書換時間を含む基準データを示している。ここでは、ＭＦＰ２００を「Ａ  Ｔｙｐｅ  ＭＦＰ」、ＭＦＰ２０１を「Ｂ  Ｔｙｐｅ  ＭＦＰ」とし、ＭＦＰ２００とＭＦＰ２０１とが機種が異なる場合の基準データを示している。基準データは、ＭＦＰ２００，２０１それぞれに対応した書換単位時間（変更単位時間、追加単位時間および削除単位時間）と一括書換時間とを定義する。
【００５０】
ＰＣ１００がＨＤＤ１０７に基準データを記憶しておくのではなく、ＭＦＰ２００がそのＨＤＤ２１６に基準データを記憶しておくようにしてもよい。この場合、基準データ取得部５０は、ＭＦＰ２００に基準データの送信要求を送信して、ＭＦＰ２００が送信する基準データを受信することにより、ＭＦＰ２００の基準データを取得する。
【００５１】
さらに、ＭＦＰ２００が、動作モードにより書換単位時間および一括書換時間が異なる場合には、動作モード別の基準データをＨＤＤ１０７または、ＭＦＰ２００のＨＤＤ２１６に記憶するようにしてもよい。この場合、基準データ取得部５０は、ＭＦＰ２００に動作モードの問合せを送信し、ＭＦＰ２００からその動作モードを受信する。そして、基準データ取得部５０は、ＭＦＰ２００の動作モードに対応する書換単位時間および一括書換時間をＨＤＤ１０７から読み出し、選択部４０に出力する。ＭＦＰ２００が基準データをＨＤＤ２１６に記憶する場合、基準データ取得部５０は、ＭＦＰ２００に基準データの送信を要求し、ＭＦＰ２００がそのＨＤＤ２１６に記憶する基準データのうちから現在の動作モードに対応する基準データを読み出しＰＣ１００に返信する。基準データ取得部５０は、受信した基準データに含まれる書換単位時間および一括書換時間を選択部４０に出力する。
【００５２】
図６は、ＭＦＰ２００に対応する動作モード別の基準データの一例を示す図である。図６を参照して、ＭＦＰ２００は、直ちに画像形成可能な動作モードである待機中モード、画像形成中の動作モードである印刷中モードおよび消費電力を低減した動作モードであるスリープ中モードの３つの動作モードを有する場合の基準データを示す。基準データは、待機中モード、印刷中モードおよびスリープ中モードそれぞれの動作モード別の書換単位時間および一括書換時間を定義する。
【００５３】
さらに、基準データをＰＣ１００およびＭＦＰ２００のいずれにも記憶することなく、個別書換コマンドおよび一括書換コマンドをＭＦＰ２００に送信し、テストデータでＭＦＰ２００のＨＤＤ２１６に記憶されるデータを書き換える時間を計測することにより、基準データを生成するようにしてもよい。
【００５４】
図４に戻って、選択部４０は、比較部３０から入力される編集部分で、ＭＦＰ２００のＨＤＤ２１６に記憶されているデータを個別に書き換えるための個別書換時間を算出する。具体的には、選択部４０は、比較部３０から入力される編集部分のレコード数とＭＦＰ２００が個別書換コマンドに従って１レコードを書き換える書換単位時間とを乗算することによって個別書換時間を算出する。そして、選択部４０は、個別書換時間と一括書換時間とを比較し、比較結果に基づいて一括書換モードと個別書換モードとのいずれかを選択する。選択部４０は、個別書換時間が一括書換時間より小さければ個別書換モードを選択し、個別書換時間が一括書換時間以上であれば一括書換モードを選択する。個別書換時間は、変更時間と、追加時間と、削除時間との和である。選択部４０は、一括書換モードを選択した場合、一括書換部６０を能動化し、個別書換モードを選択した場合、個別書換部７０を能動化する。
【００５５】
より具体的には、選択部４０は、変更時間予測部４１と、追加時間予測部４２と、削除時間予測部４３とを含む。変更時間予測部４１は、変更部分検出部３１から入力される変更部分のレコード数とＭＦＰ２００が個別変更コマンドに従って１レコードを変更する変更単位時間とを乗算することによって変更時間を予測する。追加時間予測部４２は、追加部分検出部３２から入力される追加部分のレコード数とＭＦＰ２００が個別追加コマンドに従って１レコードを追加する追加単位時間とを乗算することによって追加時間を予測する。削除時間予測部４３は、削除部分検出部３３から入力される削除部分のレコード数とＭＦＰ２００が個別削除コマンドに従って１レコードのデータを削除する削除単位時間とを乗算することによって削除時間を予測する。
【００５６】
図７は、データ編集処理の流れの一例を示す図である。データ編集処理は、ＰＣ１００のＣＰＵ１０１がデータ管理プログラムを実行することにより、ＣＰＵ１０１により実行される処理である。データ管理プログラムは、ドライバプログラムの一部である。図７を参照して、ＣＰＵ１０１は、ユーザからの指示に従い、編集用データを取得する（ステップＳ０１）。具体的には、ＣＰＵ１０１は、ＭＦＰ２００に対して、ユーザが入力部１１９Ａに入力することにより指示した宛先データの全部または一部の送信を要求し、ＭＦＰ２００が送信する宛先データの全部または一部を通信Ｉ／Ｆ１１１が受信すると、通信Ｉ／Ｆ１１１が受信したデータを編集用データとして取得する。そして、編集処理を実行する（ステップＳ０２）。編集処理は、編集用データを表示部１１９Ｂに表示し、ユーザが入力部１１９Ａに入力する編集指示を受け付け、編集後の編集用データを生成する処理である。次のステップＳ０３においては、編集処理が終了したか否かを判断し、終了したならば処理をステップＳ０４に進め、終了していなければ編集処理を継続するために、処理をステップＳ０２に戻す。ユーザが編集を終了するための指示を入力部１１９Ａに入力することにより、編集を終了する指示を受け付ける。
【００５７】
ステップＳ０４においては、編集前後の編集用データを比較して、編集用データが変更されたか否かを判断する。編集用データが変更されたならば処理をステップＳ０５に進め、変更されていなければ処理を終了する。編集処理は、ＭＦＰ２００のＨＤＤ２１６に記憶されたデータが変更された場合に、変更前のデータを変更後のデータで書き換える処理だからである。
【００５８】
ステップＳ０５においては、基準データを取得し、処理をステップＳ０６に進める。基準データを取得する処理については、後述するが、変更単位時間と、追加単位時間と、削除単位時間と、一括書換時間とを取得する処理である。ステップＳ０６においては、編集前後の編集用データを比較し、編集後の編集用データのうち編集前の編集対象データから変更された変更部分を検出する。次のステップＳ０７においては、式（１）に従って、変更部分のレコード数と、変更単位時間とから変更部分のレコードすべてを書き換えるための変更時間を算出する。ステップＳ０８においては、編集前後の編集用データを比較し、編集後の編集用データのうち編集前の編集用データに追加された追加部分を検出する。次のステップＳ０９においては、式（２）に従って、追加部分のレコード数と、追加単位時間とから追加部分のレコードすべてを書き換えるための追加時間を算出する。ステップＳ１０においては、編集前後の編集用データを比較し、編集前の編集用データから削除された削除部分を検出する。次のステップＳ１１においては、式（３）に従って、削除部分のレコード数と、削除単位時間とから削除部分のレコードすべてを書き換えるための削除時間を算出する。次のステップＳ１２では、式（４）に従って、変更時間と追加時間と削除時間との和である個別書換時間を算出する。
【００５９】
変更時間＝変更部分のレコード数×変更単位時間  …  （１）
追加時間＝追加部分のレコード数×追加単位時間  …  （２）
削除時間＝削除部分のレコード数×削除単位時間  …  （３）
個別書換時間＝変更時間＋追加時間＋削除時間    …  （４）。
【００６０】
そして、一括書換時間と個別書換時間とを比較し（ステップＳ１３）、一括書換時間が個別書換時間以下ならば処理をステップＳ１４に進め、一括書換時間が個別書換時間より大きければ処理をステップＳ１５に進める。ステップＳ１４においては、一括書換モードに切り換え、一括書換コマンドを生成して、ＭＦＰ２００にそれを送信する一括書換コマンド生成・送信処理を実行する。一方、ステップＳ１５においては、個別書換モードに切り換え、個別書換コマンドを生成して、ＭＦＰ２００にそれを送信する個別書換コマンド生成・送信処理を実行する。個別書換コマンドは、個別変更コマンドと、個別追加コマンドと、個別削除コマンドとを含むため、ステップＳ１５においては、ＣＰＵ１０１は、変更部分のレコード数分の個別変更コマンドと、追加部分のレコード数分の個別追加コマンドと、削除部分のレコード数分の個別削除コマンドとを生成し、それぞれをＭＦＰ２００に送信する。個別書換コマンド生成・送信処理については、後で詳細に説明する。
【００６１】
図８は、基準データ取得処理の流れの一例を示す第１のフローチャートである。基準データ取得処理は、図５に示した基準データがＨＤＤ１０７に予め記憶されている場合に、図７のステップＳ０５において実行される処理である。図８を参照して、ＣＰＵ１０１は、編集用データを送信してきたＭＦＰ２００の機種を判別する（ステップＳ２１）。そして、判別した機種に対応してＨＤＤ１０７に予め記憶されている基準データを読み出す（ステップＳ２２）。ここでは、ＭＦＰ２００の機種が「Ａ  Ｔｙｐｅ  ＭＦＰ」なので、図５に示した基準データのうちから「Ａ  Ｔｙｐｅ  ＭＦＰ」に対応して定義された基準データを読み出す。ＭＦＰの機種によって個別書換時間および一括書換時間が異なる場合であっても、一括書換モードと個別書換モードとのいずれかに、正確に切り換えることができる。
【００６２】
図９は、基準データ取得処理の流れの一例を示す第２のフローチャートである。この基準データ取得処理は、図６に示した基準データがＨＤＤ１０７に予め記憶されている場合に、図７のステップＳ０５において実行される処理である。図９を参照して、ＣＰＵ１０１は、ＭＦＰ２００の動作モードを検出する（ステップＳ３１）。そして、検出した動作モードに基づいて処理を分岐させる（ステップＳ３２）。ＭＦＰ２００が待機中であれば処理をステップＳ３３に進め、印刷中であれば処理をステップＳ３４に進め、スリープ中であれば処理をステップＳ３５に進める。ステップＳ３３においては、待機中の動作モードに対応してＨＤＤ１０７に予め記憶されている基準データを読み出す。ステップＳ３４においては、印刷中の動作モードに対応してＨＤＤ１０７に予め記憶されている基準データを読み出す。ステップＳ３５においては、スリープ中の動作モードに対応してＨＤＤ１０７に予め記憶されている基準データを読み出す。ＭＦＰ２００の動作モードによって個別書換時間および一括書換時間が異なる場合であっても、一括書換モードと個別書換モードとのいずれかに、正確に切り換えることができる。
【００６３】
図１０は、基準データ取得処理の流れの一例を示す第３のフローチャートである。この基準データ取得処理は、ＨＤＤ１０７に基準データを予め記憶していない場合に、図７のステップＳ０５において実行される処理である。図１０を参照して、ＣＰＵ１０１は、テスト用の個別追加コマンドをＭＦＰ２００に送信する（ステップＳ４１）。個別追加コマンドと共に、１レコードのテストデータをＭＦＰ２００に送信する。そして、タイマをスタートさせる（ステップＳ４２）。ＭＦＰ２００は、個別追加コマンドを受信すると、１レコードのテストデータをＨＤＤ２１６に記憶されている宛先データに追加する。そして、テストデータの宛先データへの追加処理を終了すると、追加完了信号を返信する。ＰＣ１００は、追加完了信号を受信するまで待機状態となり（ステップＳ４３でＮＯ）、追加完了信号を受信すると（ステップＳ４３でＹＥＳ）、処理をステップＳ４４に進める。ステップＳ４４においては、追加単位時間にタイマ値を設定する。
【００６４】
次のステップＳ４５においては、テスト用の個別変更コマンドをＭＦＰ２００に送信する。個別変更コマンドは、先に追加したテストデータを変更するコマンドとすればよい。そして、タイマをスタートさせる（ステップＳ４６）。ＭＦＰ２００は、個別変更コマンドを受信すると、先にＨＤＤ２１６に記憶したテストデータを変更する。そして、テストデータの変更処理を終了すると、変更完了信号を返信する。ＰＣ１００は、変更完了信号を受信するまで待機状態となり（ステップＳ４７でＮＯ）、変更完了信号を受信すると（ステップＳ４７でＹＥＳ）、処理をステップＳ４８に進める。ステップＳ４８においては、変更単位時間にタイマ値を設定する。
【００６５】
次のステップＳ４９においては、テスト用の個別削除コマンドをＭＦＰ２００に送信する。個別削除コマンドは、先に変更したテストデータを削除するコマンドとすればよい。そして、タイマをスタートさせる（ステップＳ５０）。ＭＦＰ２００は、個別削除コマンドを受信すると、ＨＤＤ２１６に記憶しているテストデータを削除する。そして、テストデータの削除処理を終了すると、削除完了信号を返信する。ＰＣ１００は、削除完了信号を受信するまで待機状態となり（ステップＳ５１でＮＯ）、削除完了信号を受信すると（ステップＳ５１でＹＥＳ）、処理をステップＳ５２に進める。ステップＳ５２においては、削除単位時間にタイマ値を設定する。
【００６６】
次のステップＳ５３においては、テスト用の一括書換コマンドをＭＦＰ２００に送信する。一括書換コマンドは、宛先データとは別のテストデータを新たにＭＦＰ２００のＨＤＤ１０７に記憶させるコマンドである。テスト用の一括書換コマンドと共に、テストデータをＭＦＰ２００に送信する。テストデータは、１レコード以上であればよい。そして、タイマをスタートさせる（ステップＳ５４）。ＭＦＰ２００は、一括書換コマンドを受信すると、一括書換コマンドとともに受信したテストデータをＨＤＤ２１６に記憶する。ＭＦＰ２００は、テストデータの一括書換処理を終了すると、一括書換完了信号を返信する。ＰＣ１００は、一括書換完了信号を受信するまで待機状態となり（ステップＳ５５でＮＯ）、一括書換完了信号を受信すると（ステップＳ５５でＹＥＳ）、処理をステップＳ５６に進める。ステップＳ５６においては、一括書換時間にタイマ値を設定する。
【００６７】
図１１は、個別書換コマンド生成・送信処理の流れの一例を示すフローチャートである。個別書換コマンド生成・送信処理は、図７のステップＳ１５において実行される処理である。図１１を参照して、変更部分が検出されたか否かを判断する（ステップＳ６１）。図７におけるステップＳ０６において、変更部分が検出されたならば処理をステップＳ６２に進め、変更部分が検出されていなければ処理をステップＳ６７に進める。ステップＳ６２においては、変数Ｉに初期値「１」を設定し、処理をステップＳ６３に進める。変数Ｉは、個別変更コマンドを生成した数をカウントするためのカウンタである。ステップＳ６３においては、変更部分のレコードのうち１つを選択する。そして、選択したレコードで書き換えるための個別変更コマンドを生成し、ＭＦＰ２００にそれを送信する（ステップＳ６４）。これにより変更部分の１つのレコードに対応する１つの個別変更コマンドがＭＦＰ２００に送信される。次のステップＳ６５では、変数Ｉをインクリメントし、処理をステップＳ６６に進める。ステップＳ６６においては、変数Ｉと変更部分のレコード数とを比較し、変数Ｉが変更部分のレコード数を越えたならば処理をステップＳ６７に進め、そうでなければ処理をステップＳ６３に戻す。すなわち、ＣＰＵ１０１は、変更部分のレコード数と同じ数の個別変更コマンドをＭＦＰ２００に送信した後に、処理をステップＳ６７に進める。
【００６８】
ステップＳ６７においては、追加部分が検出されたか否かを判断する。図７におけるステップＳ０８において、追加部分が検出されたならば処理をステップＳ６８に進め、追加部分が検出されていなければ処理をステップＳ７３に進める。ステップＳ６８においては、変数Ｉに初期値「１」を設定し、処理をステップＳ６９に進める。変数Ｉは、個別追加コマンドを生成した数をカウントするためのカウンタである。ステップＳ６９においては、追加部分のレコードのうち１つを選択する。そして、選択したレコードで書き換えるための追加コマンドを生成し、ＭＦＰ２００にそれを送信する（ステップＳ７０）。これにより追加部分の１つのレコードに対応する１つの個別追加コマンドがＭＦＰ２００に送信される。次のステップＳ７１では、変数Ｉをインクリメントし、処理をステップＳ７２に進める。ステップＳ７２においては、変数Ｉと追加部分のレコード数とを比較し、変数Ｉが追加部分のレコード数を越えたならば処理をステップＳ７３に進め、そうでなければ処理をステップＳ６９に戻す。すなわち、ＣＰＵ１０１は、追加部分のレコード数と同じ数の個別追加コマンドをＭＦＰ２００に送信した後に、処理をステップＳ７３に進める。
【００６９】
ステップＳ７３においては、削除部分が検出されたか否かを判断する。図７におけるステップＳ１０において、削除部分が検出されたならば処理をステップＳ７４に進め、削除部分が検出されていなければ処理を終了する。ステップＳ７４においては、変数Ｉに初期値「１」を設定し、処理をステップＳ７５に進める。変数Ｉは、個別削除コマンドを生成した数をカウントするためのカウンタである。ステップＳ７５においては、削除部分のレコードのうち１つを選択する。そして、選択したレコードで書き換えるための削除コマンドを生成し、ＭＦＰ２００にそれを送信する（ステップＳ７６）。これにより削除部分の１つのレコードに対応する１つの個別削除コマンドがＭＦＰ２００に送信される。次のステップＳ７７では、変数Ｉをインクリメントし、処理をステップＳ７８に進める。ステップＳ７８においては、変数Ｉと削除部分のレコード数とを比較し、変数Ｉが削除部分のレコード数を越えたならば処理を終了し、そうでなければ処理をステップＳ７５に戻す。すなわち、ＣＰＵ１０１は、削除部分のレコード数と同じ数の個別削除コマンドをＭＦＰ２００に送信した後に、処理をステップＳ７３に進める。
【００７０】
以上説明したように、ＭＦＰ２００は一括書換コマンドに従って編集用データを書き換える場合、その書き換え時間は編集用データのデータ量が異なってもほとんど同じである。一方、ＭＦＰ２００は個別書換コマンドに従って編集用データを書き換える場合、編集用データの編集前後で異なる編集部分を１レコードごとに書き換えるので、編集部分のレコード数が増えるほど長くなる。編集部分のデータのレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択するので、ＭＦＰ２００にＨＤＤ２１６に記憶されている宛先データを短時間で書き換えさせることができる。
【００７１】
また、選択部４０は、編集部分のレコード数と、ＭＦＰ２００が個別書換コマンドに従って１レコードを書き換える書換単位時間とからＭＦＰ２００が編集部分すべてのレコードを書き換える個別書換時間を予測する変更時間予測部４１、追加時間予測部４２および削除時間予測部４３を含み、予測された個別書換時間をＭＦＰ２００が一括書換コマンドに従って編集後の編集データで書き換える一括書換時間と比較する。このため、編集部分のレコード数に応じた個別書換時間を正確に予測することができる。
【００７２】
また、ＭＦＰ２００から書換単位時間と一括書換時間とを受信するので、ＭＦＰ２００の機種が変更になっても、個別書換時間および一括書換時間を正確に予測することができ、ＭＦＰ２００にＨＤＤ２１６に記憶されている宛先データを短時間で書き換えさせることができる。
【００７３】
また、ＭＦＰ２００の動作モードを検出し、検出された動作モードに対応する書換単位時間と一括書換時間を取得するので、ＭＦＰ２００が動作モードによってデータを書き換える時間が変動する場合であっても、個別書換時間および一括書換時間を正確に予測することができ、一括書換モードと個別書換モードとのいずれかに、正確に切り換えることができる。
【００７４】
また、個別書換コマンドをＭＦＰ２００に送信してＭＦＰ２００がテストデータで書き換える時間を個別書換時間として計測し、一括書換コマンドをＭＦＰ２００に送信してＭＦＰ２００がテストデータで書き換える時間を一括書換時間として計測するので、基準データを記憶していない場合、または、基準データがＭＦＰ２００に記憶されていない場合であっても、個別書換時間および一括書換時間を正確に予測することができ、ＭＦＰ２００にＨＤＤ２１６に記憶されている宛先データを短時間で書き換えさせることができる。
【００７５】
また、変更部分のレコード件数と変更単位時間とから変更時間を予測する変更時間予測部４１と、追加部分のレコード件数と追加単位時間とから追加時間を予測する追加時間予測部４２と、削除部分のレコード件数と削除単位時間とから削除時間を予測する削除時間予測部４３とを含むので、ＭＦＰ２００がレコードを変更する処理、追加する処理、削除する処理それぞれにおける処理時間が異なる場合に、個別書換時間を正確に算出することができる。
【００７６】
なお、上述した実施の形態においては、プリントシステム１について説明したが、図７〜図１１に示した処理をＰＣ１００に実行させるためのデータ管理方法またはデータ管理プログラムとして発明を捉えることができるのは言うまでもない。
【００７７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７８】
＜付記＞
（１）  前記選択するステップは、前記検出された編集部分のレコード数と、前記画像処理装置が前記個別書換コマンドに従って１レコードを書き換える書換単位時間とから前記画像処理装置が前記編集部分のすべてのレコードを書き換えるための個別書換時間を予測するステップと、
前記予測された個別書換時間を前記画像処理装置が前記一括書換コマンドに従って前記編集された編集対象データで書き換える一括書換時間と比較するステップとを含む、請求項１１に記載のデータ管理プログラム。
（２）  （１）において、
前記画像処理装置から前記書換単位時間と前記一括書換時間とを受信するステップをさらに含む。
（３）  （１）において、
前記画像処理装置の動作モードを検出するステップと、
前記検出された動作モードに対応する前記書換単位時間と前記一括書換時間とを取得するステップとをさらに含む。
（４）  （１）において、
前記個別書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記書換単位時間として計測するステップと、
前記一括書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記一括書換時間として計測するステップとをさらに含む。
（５）  前記編集部分を検出するステップは、前記編集された編集対象データのうち前記取得された編集対象データから変更された変更部分を検出するためのステップと、
前記編集された編集対象データのうち前記取得された編集対象データに追加された追加部分を検出するためのステップと、
前記取得された編集対象データから削除された削除部分を検出するステップとを含み、
前記個別書換コマンドを送信するステップは、前記変更部分が検出された場合、前記変更部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別変更コマンドを送信するステップと、
前記追加部分が検出された場合、前記追加部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別追加コマンドを送信するステップと、
前記削除部分が検出された場合、前記削除部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別削除コマンドを送信するステップとを含む、請求項１１に記載のデータ管理プログラム。
（６）  （５）において、
前記選択するステップは、前記変更部分のレコード数と前記画像処理装置が前記個別変更コマンドに従って１レコードを変更する変更単位時間とから変更時間を予測するステップと、
前記追加部分のレコード数と前記画像処理装置が前記個別追加コマンドに従って１レコードのデータを追加する追加単位時間とから追加時間を予測するステップと、
前記削除部分のレコード数と前記画像処理装置が前記個別削除コマンドに従って１レコードのデータを削除する削除単位時間とから削除時間を予測するステップとを含む。
（７）  （６）において、
前記画像処理装置から前記変更単位時間、前記削除単位時間、前記追加単位時間および前記一括書換時間を受信するステップをさらに含む。
（８）  （６）において、
前記画像処理装置の動作モードを検出するステップと、
前記検出された動作モードに対応する前記変更単位時間、前記削除単位時間、前記追加単位時間および前記一括書換時間を取得するステップとをさらに含む。
（９）  （６）において、
前記個別変更コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで変更する時間を前記変更単位時間として計測するステップと、
前記個別追加コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータを追加する時間を前記追加単位時間として計測するステップと、
前記個別削除コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータを削除する時間を前記削除単位時間として計測するステップと、
前記一括書換コマンドを前記画像処理装置に送信して前記画像処理装置がテストデータで書き換える時間を前記一括書換時間として計測するステップとさらに含む。
（１０）  画像処理装置とネットワークを介して接続されたコンピュータで実行され、前記画像処理装置に記憶されたデータを管理するためのデータ管理方法であって、
前記画像処理装置から該画像処理装置が記憶するデータの少なくとも一部を編集対象データとして取得するステップと、
前記取得された編集対象データを編集するためのステップと、
前記編集された編集対象データと前記取得された編集対象データとで異なる編集部分を検出するステップと、
前記検出された編集部分のレコード数に基づいて、一括書換モードと個別書換モードとのいずれかを選択するステップと、
前記一括書換モードが選択された場合、前記取得された編集対象データを前記編集された編集対象データで書き換える指示をするための一括書換コマンドを前記画像処理装置に送信する一括書換ステップと、
前記個別書換モードが選択された場合、前記編集部分に含まれるすべてのレコードをレコード毎に書き換える指示をするための少なくとも１つの個別書換コマンドを前記画像処理装置に送信する個別書換ステップと、をコンピュータに実行させるデータ管理方法。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態の１つにおけるプリントシステムの全体概要を示す図である。
【図２】本実施の形態におけるＰＣのハード構成の一例を示すブロック図である。
【図３】ＭＦＰの機能の概要を示す機能ブロック図である。
【図４】ＰＣのＣＰＵの機能の概要を示す機能ブロック図である。
【図５】基準データの一例を示す図である。
【図６】ＭＦＰ２００に対応する動作モード別の基準データの一例を示す図である。
【図７】データ編集処理の流れの一例を示す図である。
【図８】基準データ取得処理の流れの一例を示す第１のフローチャートである。
【図９】基準データ取得処理の流れの一例を示す第２のフローチャートである。
【図１０】基準データ取得処理の流れの一例を示す第３のフローチャートである。
【図１１】個別書換コマンド生成・送信処理の流れの一例を示すフローチャートである。
【符号の説明】
【００８０】
１  プリントシステム、２  ネットワーク、１０  編集用データ取得部、２０  データ編集部、３０  比較部、３１  変更部分検出部、３２  追加部分検出部、３３  削除部分検出部、４０  選択部、４１  変更時間予測部、４２  追加時間予測部、４３  削除時間予測部、５０  基準データ取得部、６０  一括書換部、７０  個別書換部、７１  変更部分書換部、７２  追加部分書換部、７３  削除部分書換部、１００  ＰＣ、１０１  ＣＰＵ、１０３  ＲＯＭ、１０５  ＲＡＭ、１０７  ＨＤＤ、１０８  フラッシュメモリ、１１１  通信Ｉ／Ｆ、１１９  操作部、１１９Ａ  入力部、１１９Ｂ  表示部、１２０  バス、２００，２０１  ＭＦＰ、２１０  メイン回路、２１１  ＣＰＵ、２１２  通信Ｉ／Ｆ部、２１３  ＲＯＭ、２１４  ＲＡＭ、２１５  ＥＥＰＲＯＭ、２１６  ＨＤＤ、２１７  ファクシミリ部、２１８  外部記憶装置、２１８Ａ  ＣＤ−ＲＯＭ、２２０  自動原稿搬送装置、２３０  原稿読取部、２４０  画像形成部、２５０  給紙部、２６０  操作パネル、２６０Ａ  表示部、２６０Ｂ  操作部、Ｉ／Ｆ１０９  カードＩ／Ｆ、１１１  通信Ｉ／Ｆ。
【図１】
2008026961.tif 000003
【図２】
2008026961.tif 000004
【図３】
2008026961.tif 000005
【図４】
2008026961.tif 000006
【図５】
2008026961.tif 000007
【図６】
2008026961.tif 000008
【図７】
2008026961.tif 000009
【図８】
2008026961.tif 000010
【図９】
2008026961.tif 000011
【図１０】
2008026961.tif 000012
【図１１】
2008026961.tif 000013