以下、本発明の実施の形態について図面を参照しながら説明する。
まず、本発明の実施の形態に係る情報処理装置を備える情報処理システムについて説明する。
図1は、本実施の形態に係る情報処理装置を備える情報処理システムのシステム構成を概略的に示すブロック図である。
図1において、情報処理システム100は、情報処理装置としてのコンピュータ101と、外部記憶装置102,103と、画像処理装置104とを備え、外部記憶装置102,103及び画像処理装置104は、コンピュータ101と夫々通信回線105を介して通信可能に接続されている。
画像処理装置104は、文書を読み取り、電子化されたイメージデータ(電子文書)を生成する。また、画像処理装置104は、生成したイメージデータをコンピュータ101に送信することができる。
コンピュータ101は、画像処理装置104から取得したイメージデータを、外部記憶装置102又は/及び外部記憶装置103に記録することができる。また、コンピュータ101は、外部記憶装置102と外部記憶装置103のそれぞれに記憶されているデータの同一性を保持するための処理を実行可能である。当該データの同一性を保持するために、例えば、コンピュータ101は、外部記憶装置102と外部記憶装置103とが記憶しているデータの同期をとるように制御することができる。
なお、外部記憶装置102は、後述する外部記憶装置STG1に該当し、外部記憶装置103は、後述する外部記憶装置STG2に該当する。
ここでは、外部記憶装置102と外部記憶装置103の2つ外部記憶装置が、コンピュータ101と通信可能に接続されているが、2つ以上の外部記憶装置が接続されていても構わない。
また、コンピュータ(情報処理装置)101と外部記憶装置102、103は、通信可能であれば、どのような通信形態でも構わない。
なお、本実施の形態では、コンピュータ101が備える各種機能、各種プログラム、及び各種データを備える他のコンピュータ(図示しない)を通信回線105に接続して、当該他のコンピュータを使用して外部記憶装置102又は/及び外部記憶装置103に画像処理装置104から取得したイメージデータを記録してもよい。
図2は、図1におけるコンピュータのハードウェア構成を概略的に示すブロック図である。
図2において、コンピュータ101は、CPU201と、RAM202と、ROM203と、ハードディスクドライブ(以下、「HDD」や「内部記憶装置」という)204と、ネットワークインタフェース(以下、「ネットワークI/F」という)205と、記憶媒体ドライブ206と、ポインティングデバイス207と、キーボード208と、ビデオインタフェース(以下、「ビデオI/F」という)209と、周辺機器インタフェース(以下、「周辺機器I/F」という)211とを備え、これらは夫々システムバス212を介して互いに接続されている。
また、コンピュータ101は、ビデオI/F209に接続されたディスプレイ装置210を備える。
ROM203は、コンピュータ101のブートプログラムやBIOS等を記憶している。HDD204は、OS(オペレーティングシステム)や、後述する各処理をCPU201に実行させるためのプログラムやデータ等を保存しており、これらはCPU201の制御により必要に応じてRAM202に読み出されて実行される。なお、HDD204は、後述する内部記憶装置STG0に該当する。
RAM202は、HDD204等の記憶媒体や記憶媒体ドライブ206からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU201が後述する各処理を実行するために使用するワークエリアを備える。
CPU201は、RAM202及びROM203に格納されているプログラムやデータを用いて、コンピュータ101全体の制御を行うと共に、後述する各処理を実行する。
ネットワークI/F205は、コンピュータ101を通信回線105に接続するためのものである。コンピュータ101は、このネットワークI/F205を介して不図示の外部のコンピュータ等とデータ通信を行うことができる。
記憶媒体ドライブ206は、CD−ROM、CD−R/RW、DVD―ROM、DVD−R/RW、及びDVD−RAM等で構成される。なお、記録媒体ドライブ206が、外部記憶装置102,103として機能してもよい。
ポインティングデバイス207及びキーボード208は、入力部として機能し、ユーザによる各種の指示をCPU201に入力する。
ビデオI/F209を介してシステムバス212に接続されたディスプレイ装置210は、CRTや液晶画面等で構成されており、ビデオI/F209を介して送信された信号に基づいて文字や画像等を表示画面上に表示する機能を有する。
周辺機器I/F211は、コンピュータ101に周辺機器を接続させるためのポートであり、コンピュータ101は、周辺機器I/F211を介して周辺機器とのデータの送受信を行うことができる。また、周辺機器I/F211は、USBやIEEE1394等で構成されており、通常複数のインタフェースを有する。なお、周辺機器との接続形態は、有線/無線を問わない。外部記憶装置102,103は、コンピュータ101に、周辺機器I/F211又はネットワークI/F205等を介して通信可能に接続することができる。なお、本実施の形態では、周辺機器I/F211に外部記憶装置102,103が通信可能に接続されている。
図3は、図1におけるコンピュータのソフトウェア構成を概略的に示すブロック図である。
図3において、コンピュータ101のソフトウェアは、OS301と、情報処理プログラム302とから構成されており、これらのプログラムは、コンピュータ101のHDD204に記憶されている。
なお、コンピュータ101では、全てのデータの記憶及び読み込みには、暗号化プログラム(図示しない)を介して行われるため、比較的安価な構成でセキュリティー性を確保することができる。また、データの記憶(格納)及び記憶(格納)されたデータを読み取る場合には、夫々データを暗号化する処理及びデータを復号化する処理を自動的に行う。すなわち、暗号化プログラムは、常に各種データへのアクセスを監視し、データを記憶媒体に記憶する場合はデータを暗号化して記憶する。また、暗号化プログラムは、常にファイルアクセスを監視し、暗号化されたデータを記憶媒体から読み出す場合には、データを復号化するので、ユーザは意識することなく、セキュリティーを向上させることができる。
次に、図1におけるコンピュータが備える機能について説明する。
図4は、図1におけるコンピュータが備える機能の構成を概略的に示すブロック図である。
図4において、コンピュータ101は、コンピュータ101に記憶されている当該コンピュータ101に固有のグループ識別情報と各外部記憶装置102,103に記憶されているグループ識別情報とを取得するグループ識別情報取得部401と、グループ識別情報取得部401で取得したグループ識別情報に従って、コンピュータ101と各外部記憶装置102,103とが同一のグループであるか否かを判定するグループ判定部402と、グループ判定部402でコンピュータ101と各外部記憶装置102,103とが同一のグループであると判定された場合に、同一のデータを各外部記憶装置102,103に記録する同一データ記録部403と、同一データ記録部403による処理の終了後に、各外部記憶装置102,103にコンピュータ101が動作する環境が設定された動作設定情報を記録する動作設定記録部404と、コンピュータ101が上記グループ識別情報を記憶していない場合に、コンピュータ101の動作の設定を行なうか否かの指示を受付ける受付部405と、受付部405で上記動作の設定を行なう指示がされた場合には、少なくとも1つの外部記憶装置102,103に記録された上記動作設定情報に基づいてコンピュータ101の動作設定情報を更新する動作設定更新部406と、少なくとも外部記憶装置102,103のそれぞれが同一のグループである場合に、外部記憶装置102,103のそれぞれに記録されたデータの同一性が保持されるように、外部記憶装置102,103にデータを記録するデータ記録部407と、データ記録部407により記録されたデータに基づいて当該データの種類又は/及び当該データを記録した時間を含む履歴情報を生成し当該履歴情報を記録する履歴情報記録部408と、各外部記憶装置102,103に対して相互に複製を行なう相互複製モードと一方の外部記憶装置からもう一方の外部記憶装置に複製を行なう片方複製モードとから動作モードを選択する選択部409と、選択部409により動作モードとして上記片方複製モードが選択された場合に、データのコピー元となる外部記憶装置とデータのコピー先となる外部記憶装置とを設定し、該設定された、上記コピー元となる外部記憶装置に記録されたデータと、上記コピー先となる外部記憶装置に記録されたデータとの差分のデータを、上記コピー元となる外部記憶装置から上記コピー先となる外部記憶装置に複製する片方複製部410と、選択部409により動作モードとして上記相互複製モードが選択された場合に、各外部記憶装置102,103に記録されたデータにおいて、それぞれ相互の差分のデータを各外部記憶装置102,103に複製する相互複製部411とを備える。
図5は、図1におけるコンピュータ101の内部記憶装置STG0及びRAM202と、外部記憶装置STG1と、外部記憶装置STG2とに夫々格納されるデータの記憶領域を示す概念図である。
図5において、コンピュータ101の内部記憶装置STG0は、アプリケーションプログラム、識別情報(IDNO0)、シリアル番号(グループ識別情報)(SN0)、動作設定情報(ENV0)、一時データ領域(DATA0)の記憶領域を有している。また、内部記憶装置STG0は、OSなどが記憶される記憶領域(図示しない)を有している。
外部記憶装置STG1は、識別情報(IDNO1)、シリアル番号(グループ識別情報)(SN1)、動作設定情報(ENV1)、一時データ領域(DATA1)、ターゲット履歴(HIS1)の記憶領域を有している。
外部記憶装置STG2は、識別情報(IDNO2)、シリアル番号(グループ識別情報)(SN2)、動作設定情報(ENV2)、一時データ領域(DATA2)、ターゲット履歴(HIS2)の記憶領域を有している。
なお、IDNO0,SN0,ENV0,DATA0,IDNO1,SN1,ENV1,DATA1,HIS1,IDNO2,SN2,ENV2,DATA2,HIS2は、夫々変数であり、当該変数に値が代入されると、記憶媒体に確保された上記記憶領域に当該代入された値が記憶される。これらの変数(IDNO0,SN0,ENV0,DATA0,IDNO1,SN1,ENV1,DATA1,HIS1,IDNO2,SN2,ENV2,DATA2,HIS2)の変数名の最後に付された「0」、「1」、「2」は、記憶装置を識別するために付されている。
次に、図5及び図6を用いて、上述した各記憶領域及び当該各記憶領域に記憶されるデータの説明を行なう。
まず、ID0,ID1,ID2は、内部記憶装置STG0及び外部記憶装置STG1,STG2を識別するための情報(記憶装置識別情報)であって、夫々コンピュータ101の内部記憶装置STG0の記憶領域、外部記憶装置STG1の記憶領域、外部記憶装置STG2の記憶領域に記憶されている。したがって、物理的に配置を変えた場合(例えば、ドライブレターが変わった場合など)でも、コンピュータ101のCPU201は、記憶装置識別情報に従って、接続された記憶装置がどの記憶装置かを正確に識別することが可能となる。
IDNO0,IDNO1,IDNO2は、記憶装置に記憶されたデータがマスタデータなのか、バックアップデータなのかを識別するための情報(データ識別情報)である。IDNOに代入された値が「1」であれば、その記憶装置に記憶されているデータは、マスタデータであることを示している。また、IDNOに代入された値が「2」であれば、その記憶装置に記憶されているデータは、バックアップのためのデータ(バックアップデータ)であることを示している。
SN0,SN1,SN2は、記憶装置が属するグループを識別するための情報(グループ識別情報)である。グループ識別情報は、誤った組合せの外部記憶装置STG1,STG2を接続した場合の警告表示や、後述するコンピュータ故障時の復旧のためのバックアップを実施するかの判断に使用する。このSN0,SN1,SN2を用いて、外部記憶装置STG1と、外部記憶装置STG2と、コンピュータ101の内部記憶装置STG0とが同じグループに属しているか否かを判定することができる。
本実施の形態では、SNとしてコンピュータ101のOSのシリアル番号など、コンピュータ101を識別することができる情報を使用するが、これに限らず、グループを識別することができる情報であれば、どのような情報を使用してもよい。
即ち、SNは、コンピュータ(情報処理装置)101に固有のグループ識別情報である。
ENV0,ENV1,ENV2は、スキャンの対象物(以下、「ターゲット」という。)の名称とそのターゲットのスキャナ設定情報とを記録したターゲット情報ファイル、及びユーザの名称とユーザの各処理に対するアクセス権限とを記録したユーザ情報ファイルの記憶領域である。なお、ENV1、ENV2は、アプリケーション終了時に保存されるENV0のバックアップの記憶領域である。
DATA0,DATA1,DATA2は、イメージデータ(イメージファイル)、インデックス情報ファイル、及びイメージファイルのハッシュ値を記録したファイルを格納する記憶領域である。画像処理装置104から取得したイメージデータ(イメージファイル)、スキャン時の情報を元に生成されたインデックス情報ファイル、及びハッシュ情報ファイルはDATA0に一時的に記録され、その後DATA1,DATA2に同期しながら記録される。
HIS1,HIS2は、上記DATA0に記録された各ファイルのDATA1,DATA2への記録時にターゲットの名称を履歴として追記する履歴ファイルの記憶領域である。この履歴ファイルは後述する図15の検索処理で利用される。なお、他のコンピュータで記録した外部記憶装置を接続した場合でも、このターゲット履歴HIS1,HIS2から記録されているターゲットの名称を取得できる。これにより、接続された外部記憶装置に記録されたターゲットの名称(データの種類)を容易に取得し、検索に利用できる。ターゲット履歴とは、記憶日付、手形、小切手などの名称などの履歴情報である。
記録日付(時間)とは、ステップS1604やステップS1606等で、データが外部記憶装置に記録されたときの時間である。
外部記憶装置STG1,STG2の動作設定情報ENV1,ENV2は、コンピュータ101の故障による交換時などに、ENV1,ENV2から直前の状況を新しいコンピュータに復元するために使用される。すなわち、コンピュータが故障し、新しいコンピュータに交換する場合、新しいコンピュータに外部記憶装置STG1,STG2を接続すると、動作設定情報によって、新しいコンピュータに、故障したコンピュータの直前の動作設定を設定することができる。ここで、動作設定情報とは、当該コンピュータが動作する環境が設定された情報である。
図7及び図8は、図1におけるコンピュータが実行する情報処理の手順を示すフローチャートである。なお、本処理は、コンピュータ101のCPU201が、コンピュータ101のHDD204等の記憶媒体に格納されたプログラムをコンピュータ101のRAM202にロードして実行することにより実現される。
図7において、まず、コンピュータ101のCPU201は、後述する図9及び図10のシステム状態確認処理を実行して、外部記憶装置102,103の接続状態に不整合があるか否かなどを確認する(ステップS701)。
次いで、CPU201は、CNDFLG(変数)の値が「1」であるか否かを判別する(ステップS702)。
ステップS702の判別の結果、CNDFLGの値が「1」であるとき、すなわち外部記憶装置102,103が接続されていないか又は使用可能に設定されていないときは(ステップS702でYES)、図18に示すようなメニュー画面を表示する(ステップS703)。ステップS703で表示されるメニュー画面は、外部記憶装置102,103の設定、及び処理の終了のみを選択可能な画面であり、例えば、図18に示すメニュー画面の管理ボタン1801及び終了ボタン1802のみが選択可能な画面である。
次いで、CPU201は、ユーザによる操作の種類を判別し(ステップS704)、操作が終了ボタン1802の押下であるときは、ステップS707の処理に進む。
ステップS704の判別の結果、操作が管理ボタン1801の押下であるときは、図20に示すような管理メニューを表示して、ユーザによりドライブ設定ボタン2001が押下されると(ステップS705)、後述する図13の外部記憶装置初期設定処理を実行して(ステップS706)、ステップS702の処理に戻る。
また、図18は、ステップS1202で常時使用選択操作がないと判定された場合に限り、不図示の後述する記録処理(ステップS711)の実行を選択する画面を表示する。そして、当該記録処理の実行が選択された場合は、図14に示す記録処理を実行する。
ステップS702の判別の結果、CNDFLGの値が「1」でないときは(ステップS702でNO)、図8に進み、CPU201は、CNDFLGの値が「0」であるか否かを判別し(ステップS708)、CNDFLGの値が「0」でないとき、すなわちCNDFLGの値が「2」であるときは(ステップS708でNO)、図7のステップS707の処理に進む。
ステップS708の判別の結果、CNDFLGの値が「0」であるとき、すなわち外部記憶装置102,103が接続され且つ使用可能に設定されているときは(ステップS708でYES)、図19に示すようなメニュー画面を表示する(ステップS709)。
次いで、CPU201は、ユーザによる操作の種類を判別し(ステップS710)、操作が終了ボタン1802の押下であるときは、図7のステップS707の処理に進む。
ステップS710の判別の結果、操作が記録ボタン1901の押下であるときは、後述する図14の記録処理を実行して(ステップS711)、ステップS709の処理に戻る。
ステップS710の判別の結果、操作が検索ボタン1902の押下であるときは、後述する図15の検索処理を実行して(ステップS712)、ステップS709の処理に戻る。
ステップS710の判別の結果、操作が管理ボタン1903の押下であるときは、図20に示すような管理メニュー画面を表示して(ステップS713)、ユーザによる操作の種類を判別する(ステップS714)。
ステップS714の判別の結果、操作がドライブ設定ボタン2001の押下であるときは、後述する図13の外部記憶装置初期設定処理を実行して(ステップS715)、ステップS709の処理に戻る。
ステップS714の判別の結果、操作がリカバリーボタン2002の押下であるときは、後述する図16の外部記憶装置復旧処理を実行して(ステップS716)、ステップS709の処理に戻る。
図7に戻り、続くステップS707では、後述する図17の終了処理を実行し、その後、本処理を終了する。
図9及び図10は、図7のステップS701のシステム状態確認処理の手順を示すフローチャートである。
図9において、まず、コンピュータ101のCPU201は、変数であるCNDFLGに「0」を代入して、CNDFLGの初期化を行う(ステップS901)。
続くステップS902では、CPU201は、コンピュータ101の内部記憶装置204の記憶領域内にコンピュータ101を識別するための記憶装置識別情報(ID0)が存在するか否かを判別する。
ステップS902の判別の結果、ID0が存在するときは(ステップS902でYES)、変数であるIDSTS0に「1」を代入し(ステップS903)、ID0が存在しないときは(ステップS902でNO)、IDSTS0に「0」を代入して(ステップS904)、ステップS905の処理に進む。
続くステップS905では、CPU201は、外部記憶装置102の記憶領域内に外部記憶装置102を識別するための記憶装置識別情報(ID1)が存在するか否かを判別する。
ステップS905の判別の結果、ID1が存在するときは(ステップS905でYES)、変数であるIDSTS1に「1」を代入し(ステップS906)、ID1が存在しないときは(ステップS905でNO)、IDSTS1に「0」を代入して(ステップS907)、ステップS908の処理に進む。
続くステップS908では、CPU201は、外部記憶装置103の記憶領域内に外部記憶装置103を識別するための記憶装置識別情報(ID2)が存在するか否かを判別する。
ステップS908の判別の結果、ID2が存在するときは(ステップS908でYES)、変数であるIDSTS2に「1」を代入し(ステップS909)、ID2が存在しないときは(ステップS908でNO)、IDSTS2に「0」を代入して(ステップS910)、ステップS911の処理に進む。
なお、本処理では、変数であるIDSTSに「1」が代入されている場合は、記憶装置識別情報が存在する旨を示しており、IDSTSに「0」が代入されている場合は、記憶装置識別情報が存在しない旨を示している。
続くステップS911では、CPU201は、IDSTS0に「1」が代入されているか否かを判別する。
ステップS911の判別の結果、IDSTS0に「1」が代入されているとき、すなわちコンピュータ101が使用可能に設定されているときは(ステップS911でYES)、ステップS912の処理に進み、IDSTS0(変数)に「1」が代入されていないとき、すなわちコンピュータ101が情報処理システム100で新しく使用するコンピュータであるときは(ステップS911でNO)、図10のステップS916に進む。
次いで、ステップS912では、IDSTS1及びIDSTS2の双方に「1」が代入されているか否かを判別する。
ステップS912の判別の結果、IDSTS1及びIDSTS2の双方に「1」が代入されているとき、すなわち外部記憶装置102,103が使用可能に設定されているときは(ステップS912でYES)、ステップS913の処理に進み、IDSTS1及びIDSTS2の双方に「1」が代入されていない、すなわちIDSTS1及びIDSTS2の少なくとも一方に「0」が代入されているときは(ステップS912でNO)、図10のステップS920に進む。
次いで、ステップS913では、CPU201は、コンピュータ101の内部記憶装置204の記憶領域内からグループを識別するためのグループ識別情報(シリアル番号)SN0を取得すると共に、接続された外部記憶装置102,103の各記憶領域内からグループ識別情報SN1,SN2を取得して、当該取得したSN0,SN1,SN2に夫々代入されている値が夫々同じか否かを判別する。即ち、当該取得したSN0,SN1,SN2に夫々代入されている値が夫々同じであれば、コンピュータ101と外部記憶装置102,103が同じグループと判定する。このように、当該取得したグループ識別情報に従ってコンピュータ101と外部記憶装置102,103が同じグループであるか否かを判定(グループ判定)することができる。
ステップS913の判別の結果、SN0,SN1,SN2に夫々代入されている値が夫々同じであるとき、すなわちコンピュータ101、外部記憶装置102、及び外部記憶装置103が同じグループに属しているときは(ステップS913でYES)、ステップS914に進み、SN0,SN1,SN2に夫々代入されている値が夫々同じでないときすなわちコンピュータ101、外部記憶装置102、及び外部記憶装置103の少なくとも1つの装置が同じグループに属していないときは(ステップS913でNO)、図10のステップS926に進む。
図10に進み、ステップS916では、CPU201は、IDSTS1及びIDSTS2の少なくとも一方に「1」が代入されているか否かを判別する。
ステップS916の判別の結果、IDSTS1及びIDSTS2の少なくとも一方に「1」が代入されているとき、すなわち外部記憶装置102及び外部記憶装置103の少なくとも一方が使用可能に設定されているときは(ステップS916でYES)、後述する図11のリカバリー処理を実行して(ステップS917)、図9のステップS914の処理に進む。
ステップS916の判別の結果、IDSTS1及びIDSTS2の少なくとも一方に「1」が代入されていないとき、すなわち外部記憶装置102及び外部記憶装置103の少なくとも一方が使用可能に設定されていないときは(ステップS916でNO)、図21に示すような画面を表示し(ステップS918)、CNDFLGに「1」を代入して(ステップS919)、図9のステップS914の処理に進む。
また、ステップS920では、CPU201は、IDSTS1及びIDSTS2の双方に「0」が代入されているか否かを判別する。
ステップS920の判別の結果、IDSTS1及びIDSTS2の双方に「0」が代入されているとき、すなわち外部記憶装置102及び外部記憶装置103の双方が使用可能に設定されていないときは(ステップS920でYES)、図21に示すような画面を表示し(ステップS921)、CNDFLGに「1」を代入して(ステップS922)、図9のステップS914の処理に進む。
ステップS920の判別の結果、IDSTS1及びIDSTS2の双方に「0」が代入されていないとき、すなわち外部記憶装置102及び外部記憶装置103のいずれか一方が使用可能に設定されているときは(ステップS920でNO)、図22に示すような画面を表示し(ステップS923)、SN0に代入されている値とSN1に代入されている値とが、又はSN0に代入されている値とSN2に代入されている値とが異なるか否かを判別する(ステップS924)。
ステップS924の判別の結果、異なるときは(ステップS924でYES)、後述する図12の一時使用確認処理を実行して(ステップS925)、図9のステップS914の処理に進み、異ならないときは(ステップS924でNO)、そのまま図9のステップS914の処理に進む。
また、ステップS926では、CPU201は、SN1に代入されている値とSN2に代入されている値とが異なるか否かを判別する(ステップS926)。
ステップS926の判別の結果、異なるとき、すなわち外部記憶装置102と外部記憶装置103とが同じグループに属していないときは(ステップS926でYES)、図23に示すような画面を表示し(ステップS927)、CNDFLGに「2」を代入して(ステップS928)、図9のステップS914の処理に進む。
ステップS926の判別の結果、異ならないときは(ステップS926でNO)、後述する図12の一時使用確認処理を実行して(ステップS929)、図9のステップS914の処理に進む。
図9に戻り、ステップS914では、コンピュータ101の内部記憶装置の記憶領域内における一時データ領域(DATA0)が未初期化であるか否かを判別し(ステップS914)、未初期化であるときは(ステップS914でYES)、前回実行した後述する図14の記録処理が異常終了した旨を示すメッセージを表示する(ステップS915)。
ステップS914の判別の結果、未初期化でないとき(ステップS914でNO)、又は、ステップS915の処理の後、本処理を終了する。
図11は、図10のステップS917のリカバリー処理の手順を示すフローチャートである。
図11において、まず、コンピュータ101のCPU201は、図24に示すような復旧確認画面を表示する(ステップS1101)。
このように、当該復旧確認画面を表示することで、ユーザにより動作の設定を行なうか否かの指示を受付けることができる。
次いで、CPU201は、ユーザによる復旧ボタン2401の押下等の復旧選択操作があるか否かを判別する(ステップS1102)。
ステップS1102の判別の結果、復旧選択操作があるときは(ステップS1102でYES)、IDSTS1に「1」が代入されているか否かを判別する(ステップS1103)。
ステップS1103の判別の結果、IDSTS1に「1」が代入されているときは(ステップS1103でYES)、外部記憶装置102の記憶領域(ENV1)に記憶されている動作設定情報をコンピュータ101の内部記憶装置204の記憶領域(ENV0)に記録し、すなわち記憶領域(ENV0)に記憶されている動作設定情報を記憶領域(ENV1)に記憶されている動作設定情報に更新(動作設定更新)し(ステップS1104)、IDSTS1に「1」が代入されていないときは(ステップS1103でNO)、外部記憶装置103の記憶領域(ENV2)に記憶されている動作設定情報をコンピュータ101の内部記憶装置204の記憶領域(ENV0)に記録して、すなわち記憶領域(ENV0)に記憶されている動作設定情報を記憶領域(ENV2)に記憶されている動作設定情報に更新(動作設定更新)して、ステップS1106の処理に進む。
なお、動作設定情報には、ターゲットの名称情報と、明るさやファイル形式等の画像処理装置(スキャナ)に関するスキャナ設定情報と、OSが稼動しているコンピュータにログオンするためのログオンIDであるユーザ情報とが含まれている。また、このログオンIDは、バックアップ管理プログラムのユーザ認証の際に、ユーザ名としても用いられる。すなわち、ログオンするためのログオンID(OSのユーザアカウント)とバックアップ管理プログラムにおける認証で必要なユーザ名(バックアップ管理プログラムのアカウント)とが同じである。また、ログオンID(ユーザ名)に対応した処理権限(イメージデータの表示・検索・削除等)も上記ユーザ情報に含まれている。
次いで、CPU201は、ステップS1104又はステップS1105でENV0に記録されたユーザ設定情報から、ログオンID(ユーザ名)を取得する(ステップS1106)。
次いで、CPU201は、取得したログオンID(ユーザ名)と予め設定された所定のパスワードとを用いてOSに対してユーザを登録する命令を行い、当該命令を受けたOSは、ログオンID(OSのユーザアカウント)と予め設定された所定のパスワードとを登録(設定)し、これにより、OSのユーザアカウントを復旧(登録)する(ステップS1107)。また、ステップS1107では、IDSTS0に「1」を代入する。
ステップS1102の判別の結果、復旧選択操作がないとき(ステップS1102でNO)、又はステップS1107でOSのユーザアカウントを復旧(登録)した後、本処理を終了する。
なお、ステップS1107でOSのユーザアカウントが復旧(登録)されると、OSの所定のパスワードが設定された後に、OSを起動しログオンする際に、パスワードを変更する旨を示す画面が表示され、ユーザにより新たなパスワードを入力されると、新たに入力されたパスワードが設定(登録)される。
図11のリカバリー処理によれば、CPU201はENV0に記録された設定情報に従って設定の復元処理を実行することができる。したがって、バックアップ管理プログラムを使用していたコンピュータ101が故障などにより、新しいコンピュータに交換してバックアップ管理プログラムを使用する場合、当該新しいコンピュータを、前回、故障等する前に使用していた環境に容易に戻すことができるようになる。
図12は、図10のステップS925及びステップS929の一時使用確認処理の手順を示すフローチャートである。
図12において、まず、コンピュータ101のCPU201は、図25に示すような一時使用又は常時使用確認画面を表示する(ステップS1201)。
次いで、CPU201は、ユーザによる常時使用ボタン2502の押下等の常時使用選択操作があるか否かを判別する(ステップS1202)。
ステップS1202の判別の結果、常時使用選択操作があるときは(ステップS1202でYES)、IDSTS1に「1」が代入されているか否かを判別する(ステップS1203)。
ステップS1203の判別の結果、IDSTS1に「1」が代入されているときは(ステップS1203でYES)、SN1にSN0に代入されたグループ識別情報(コンピュータ101のシリアル番号)を代入する、すなわちSN1をSN0に代入されたグループ識別情報で更新する(ステップS1204)。
ステップS1203の判別の結果、IDSTS1に「1」が代入されていないとき(ステップS1203でNO)、又はステップS1204の処理の後、ステップS1205に進む。
続くステップS1205では、IDSTS2に「1」が代入されているか否かを判別する。
ステップS1205の判別の結果、IDSTS2に「1」が代入されているときは(ステップS1205でYES)、SN2にSN0に代入されたグループ識別情報(コンピュータ101のシリアル番号)を代入する、すなわちSN2をSN0に代入されたグループ識別情報で更新する(ステップS1206)。
ステップS1202の判別の結果、常時使用選択操作がないときは(ステップS1202でNO)、変数CNDFLGに「1」を代入し、本処理を終了する。また、ステップS1205の判別の結果、IDSTS2に「1」が代入されていないとき(ステップS1205でNO)、又はステップS1206の処理の後、本処理を終了する。
本処理によれば、コンピュータ101に接続された外部記憶装置が、コンピュータ101のグループに属していない場合、すなわちコンピュータ101で初期化されたものでない場合に、ユーザに対して警告を行なうことができる。また、今後、コンピュータ101のグループに属していない外部記憶装置を、継続して使用するために、外部記憶装置のグループ識別情報をコンピュータ101のグループ識別情報に書き換える。これにより、コンピュータ101は、当該外部記憶装置を今後も継続して使用することができるようになる。
図13は、図7のステップS706、及び図8のステップS715の外部記憶装置初期設定処理の手順を示すフローチャートである。本処理は、外部記憶装置102,103を初期化し、使用可能に設定する処理である。
図13において、まず、コンピュータ101のCPU201は、図26に示すようなドライブ設定画面を表示する(ステップS1301)。
次いで、CPU201は、IDSTS1及びIDSTS2の少なくとも一方に「0」が代入されているか否かを判別する(ステップS1302)。
ステップS1302の判別の結果、IDSTS1及びIDSTS2の少なくとも一方に「0」が代入されているときは(ステップS1302でYES)、当該「0」が代入されているIDSTSに対応する外部記憶装置にグループ識別情報及び記憶装置識別情報を記録する。具体的には、ステップS1301で表示した画面でユーザにより当該外部記憶装置をマスタデータの記録のために使用するか、又はバックアップデータの記録のために使用するかを選択させる(ステップS1303)。次いで、CPU201は、ユーザによりマスタデータを記録させるように選択されたことを検知すると、記憶装置識別情報として「ID1」を外部記憶装置に記憶させる。また、ユーザによりバックアップデータを記録させるように選択されたことを検知すると、記憶装置識別情報として「ID2」を外部記憶装置に記憶させる。このようにして、CPU201は、外部記憶装置の記憶装置識別情報(ID1,ID2)を設定し、外部記憶装置に当該記憶装置識別情報を記憶させる(ステップS1304)。
なお、ステップS1304では、CPU201は、コンピュータ101のグループ識別情報(シリアル番号)(SN0に代入された値)を、外部記憶装置のグループ識別情報としてSN1,SN2に代入する。
次いで、CPU201は、CNDFLGに「0」を代入し、IDSTS0,IDSTS1,及びIDSTS2に夫々「1」を代入する(ステップS1305)。
ステップS1302の判別の結果、IDSTS1及びIDSTS2の少なくとも一方に「0」が代入されていないとき(ステップS1302でNO)、又はステップS1305の処理の後、本処理を終了する。
図14は、図8のステップS711の記録処理の手順を示すフローチャートである。本処理は、コンピュータ101が画像処理装置104からイメージデータを取得して、該取得したイメージデータを外部記憶装置102,103に記録する処理である。
図14において、まず、コンピュータ101のCPU201は、DATA0の記憶領域を初期化する(ステップS1401)。
次いで、ユーザにより不図示の設定画面で、画像処理装置104から取得するイメージデータの種類(ターゲットの名称)が選択される。ここで、ユーザは3種類のターゲットの名称、例えば手形、小切手、株券の中から1種類のターゲットの名称、例えば手形を選択するものとする。また、ユーザは不図示の設定画面で「記録日付」を入力する。このようにして、CPU201は、選択されたターゲットの名称と記憶日付とを設定し、ユーザによりスキャン開始の要求を受けると、画像処理装置104に対してスキャン処理の開始要求を行なう。
次いで、画像処理装置104は、手形をスキャンしてイメージデータを生成すると、該生成したイメージデータをコンピュータ101に送信する。
次いで、コンピュータ101のCPU201は、画像処理装置104からイメージデータを取得すると共に図27に示すような記録画面を表示し(ステップS1402)、該取得したイメージデータをDATA0に記録する(ステップS1403)。ステップS1403では、ユーザにより入力された「記録日付」と、ターゲットとして選択された「手形」とがステップS1402で取得したイメージデータと関連付けられてDATA0に記録される。
次いで、CPU201は、IDSTS1及びIDSTS2の双方に「1」が代入されているか否かを判別する(ステップS1404)。
ステップS1404の判別の結果、IDSTS1及びIDSTS2の双方に「1」が代入されているとき、すなわち外部記憶装置102及び外部記憶装置103が使用可能なときは(ステップS1404でYES)、DATA0に記録されたデータをDATA1に追加し(ステップS1405)、また、DATA0に記録されたデータをDATA2に追加し(ステップS1405)、さらに、ターゲット履歴(ファイル)HIS1,HIS2にターゲットの名称、例えば手形を記録して(ステップS1407)、ステップS1408に進む。
このように、コンピュータ101と外部記憶装置102,103とが同じグループである場合は、同一のデータを外部記憶装置102と外部記憶装置103に記録することができる(同一データ記録手段)。
また、後述するが、コンピュータ101に外部記憶装置が1つ接続され、当該コンピュータ101と外部記憶装置が同じグループであると判定された場合には、コンピュータに記憶されているデータを当該外部記憶装置に記録することができる。
ステップS1404の判別の結果、IDSTS1及びIDSTS2の双方に「1」が代入されていないときは(ステップS1404でNO)、IDSTS1に「0」が代入されているか否かを判別する(ステップS1409)。
ステップS1409の判別の結果、IDSTS1に「0」が代入されているとき、すなわち外部記憶装置102が接続されていない又は使用可能に設定されていないときは(ステップS1409でYES)、DATA0に記録されたデータをDATA2に追加し(ステップS1410)、ターゲット履歴(ファイル)HIS2にターゲットの名称、例えば手形を記録して(ステップS1411)、ステップS1408に進む。
ステップS1409の判別の結果、IDSTS1に「0」が代入されていないとき、すなわち外部記憶装置103が接続されていない又は使用可能に設定されていないときは(ステップS1409でNO)、DATA0に記録されたデータをDATA1に追加し(ステップS1412)、ターゲット履歴(ファイル)HIS1にターゲットの名称、例えば手形を記録して(ステップS1413)、ステップS1408に進む。
次いで、ステップS1408では、DATA0の記憶領域を初期化して、その後、本処理を終了する。
本処理によれば、DATA0の記憶領域を初期化するので、処理後にDATA0の記憶領域に何らかのデータが記録されている場合は、処理に異常が発生したと判断することができる。
図15は、図8のステップS712の検索処理の手順を示すフローチャートである。本処理は、外部記憶装置102,103に記録されているイメージデータを検索すると共にイメージデータを取得して、該取得したイメージデータをディスプレイ装置210に表示する処理である。
図15において、まず、コンピュータ101のCPU201は、IDSTS1に「1」が代入されているか否かを判別する(ステップS1501)。
ステップS1501の判別の結果、IDSTS1に「1」が代入されているときは(ステップS1501でYES)、ターゲット履歴(ファイル)HIS1に記録されたターゲットの名称を取得して(ステップS1502)、ターゲットの名称の一覧を表示する(ステップS1503)。
続くステップS1504では、CPU201は、図28に示すような画面を用いてユーザにより入力された検索条件に従って、外部記憶装置102のDATA1に記録されたイメージデータの検索を実行して、図29に示すような検索結果の一覧を表示する(ステップS1505)。
なお、図28に示す画面を用いて入力される検索条件は、「ターゲットの名称」や画像処理装置104からイメージデータを取得した際に記録する「記録日付」などを含み、ステップS1505では、当該検索条件に合致するイメージデータのレコードを検索結果の一覧として表示する。
なお、図29に示すような検索結果の一覧からユーザによりレコードが選択され、画像表示ボタンが押下されると、当該選択されたレコードに対応するイメージデータを画像表示画面に表示する。このとき、CPU201は、上述したハッシュ情報を利用して、改ざん検知処理を実行し、改ざん検知処理の実行結果に応じて図30に示すような改ざんされている可能性がある旨の表示を行なう。
ステップS1501の判別の結果、IDSTS1に「1」が代入されていないときは(ステップS1501でNO)、ターゲット履歴(ファイル)HIS2に記録されたターゲットの名称を取得して(ステップS1506)、ターゲットの名称の一覧を表示する(ステップS1507)。
続くステップS1508では、CPU201は、図28に示すような画面を用いてユーザにより入力された検索条件に従って、外部記憶装置103のDATA2に記録されたイメージデータの検索を実行して、図29に示すような検索結果の一覧を表示する(ステップS1509)。
ステップS1505の処理の後、又はステップS1509の処理の後、本処理を終了する。
図16は、図8のステップS716の外部記憶装置復旧処理の手順を示すフローチャートである。本処理は、例えば、外部記憶装置が故障した場合において、新しく接続した外部記憶装置を正常な外部記憶装置により復元する処理である。
図16において、まず、コンピュータ101のCPU201は、IDSTS1及びIDSTS2の双方に「1」が代入されているか否かを判別する(ステップS1601)。
ステップS1601の判別の結果、IDSTS1及びIDSTS2の双方に「1」が代入されているときは(ステップS1601でYES)、図31に示すようなリカバリー画面を表示する(ステップS1602)。この画面において、各外部記憶装置に対して相互に複製を行なう動作モードとしての相互複製モードと、一方の外部記憶装置からもう一方の外部記憶装置複製を行なう動作モードとしての片方複製モードとを選択することができる。
ユーザはステップS1602で表示される画面から、コピー元ドライブ(コピー元の外部記憶装置)及びコピー先ドライブ(コピー先の外部記憶装置)を、夫々外部記憶装置102とするか、それとも外部記憶装置103とするかを設定することができる。具体的には、図31のプルダウン3104でコピー元ドライブを外部記憶装置102又は外部記憶装置103に選択する。図31のプルダウン3104には、MASTERと表示されているが、これは、コピー元ドライブとして外部記憶装置102を選択していることを示している。また、同様に、図31のプルダウン3105でコピー先ドライブを外部記憶装置102又は外部記憶装置103に選択する。図31のプルダウン3105には、BACKUPと表示されているが、これは、コピー先ドライブとして外部記憶装置103が選択されていることを示している。
次いで、ユーザによる完全複製ボタン3102の押下等の完全複製選択操作があるか否かを判別する(ステップS1603)。即ち、CPUが相互複製モードが選択されたか否かを検知する。
ステップS1603の判別の結果、完全複製選択操作があるときは(ステップS1603でYES)、コピー元ドライブ又はコピー先ドライブとしてユーザにより選択された外部記憶装置102,103のDATA1及びDATA2に記録されたデータの比較を行なう。そして、当該比較の結果、コピー元ドライブとして設定された外部記憶装置102のDATA1には記録されているが、コピー先ドライブとして設定された外部記憶装置103のDATA2には記憶されていないデータ(第1の差分データ)を特定する。さらに、コピー先ドライブとして設定された外部記憶装置103のDATA2には記録されているが、コピー元ドライブとして設定された外部記憶装置102のDATA1には記録されていないデータ(第二の差分データ)を特定する。
次いで、CPU201は、上記特定した第1の差分データをコピー元ドライブとして設定された外部記憶装置102から、コピー先ドライブとして設定された外部記憶装置103のDATA2に記録する(ステップS1604)。
次いで、CPU201は、第1の差分データが外部記憶装置103のDATA2に新たに記録されると、当該記録された第1の差分データから、ターゲット履歴を再構築して、該再構築したターゲット履歴をHIS2に記録する(ステップS1605)。
次いで、CPU201は、上記特定した第2の差分データをコピー先ドライブとして設定された外部記憶装置103から、コピー元ドライブとして設定された外部記憶装置102のDATA1に記録する(ステップS1606)。
次いで、CPU201は、第2の差分データが外部記憶装置102のDATA1に新たに記録されると、当該記録された第2の差分データから、ターゲット履歴を再構築(生成)して、該再構築したターゲット履歴をHIS1に記録(履歴情報記録)する(ステップS1607)。
ステップS1603の判別の結果、完全複製選択操作がないときは(ステップS1603でNO)、ユーザによる実行ボタン3101の押下等の実行選択操作があるか否かを判別する(ステップS1608)。
ステップS1608の判別の結果、実行選択操作があるときは(片方複製モードが選択されたことを検知した場合)(ステップS1608でYES)、コピー元ドライブとして設定された外部記憶装置102のDATA1に記録されている全てのデータを、コピー先ドライブとして設定された外部記憶装置103のDATA2に記録する(ステップS1609)。ステップS1609では、データを記録する際に、コピー先ドライブとして設定された外部記憶装置103のDATA2に、当該コピーしようとするデータが既に記録されていることを検知(認識)すると、当該データを記録しない。具体的には、記録する際に、DATA1に記憶されたデータとDATA2に記録されたデータとを比較して、DATA1とDATA2に共に記録されているデータを認識すると、当該データを上書き記録しないように制御する。
次いで、CPU201は、当該記録されたデータから、ターゲット履歴を再構築して、該再構築したターゲット履歴をHIS2に記録する(ステップS1610)。
ステップS1601の判別の結果、IDSTS1及びIDSTS2の双方に「1」が代入されていないとき(ステップS1601でNO)、ステップS1608の判別の結果、実行選択操作がないとき(ステップS1608でNO)、ステップS1607の処理の後、又はステップS1610の処理の後、本処理を終了する。
本処理によれば、完全複製処理により、マスターディスク、バックアップディスクそれぞれが記憶しているデータが異なる場合に、互いの差分データのみを互いにコピーすることで、マスターディスクとバックアップディスクとの同期をとることができる。
図17は、図7のステップS707の終了処理の手順を示すフローチャートである。
図17において、まず、コンピュータ101のCPU201は、CNDFLGの値が「0」でないか否かを判別する(ステップS1701)。
ステップS1701の判別の結果、CNDFLGの値が「0」であるときは(ステップS1701でYES)、IDSTS1に「1」が代入され且つSN0に代入されている値とSN1に代入されている値とが同じであるか否かを判別する(ステップS1702)。
ステップS1702の判別の結果、IDSTS1に「1」が代入され且つSN0に代入されている値とSN1に代入されている値とが同じであるときは(ステップS1702でYES)、コンピュータ101の内部記憶装置の記憶領域(ENV0)に記録されている動作設定情報を外部記憶装置102の記憶領域(ENV1)に記録する(ステップS1703)(動作設定記録手段)。
ステップS1702の判別の結果、IDSTS1に「1」が代入され且つSN0に代入されている値とSN1に代入されている値とが同じでないとき(ステップS1702でNO)、又はステップS1703の処理の後、IDSTS2に「1」が代入され且つSN0に代入されている値とSN2に代入されている値とが同じであるか否かを判別する(ステップS1704)。
ステップS1704の判別の結果、IDSTS2に「1」が代入され且つSN0に代入されている値とSN2に代入されている値とが同じであるときは(ステップS1704でYES)、コンピュータ101の内部記憶装置の記憶領域(ENV0)に記録されている動作設定情報を外部記憶装置103の記憶領域(ENV2)に記録する(ステップS1705)(動作設定記録手段)。
このように、外部記憶装置にデータが記録された後(データを記録する処理の終了後)に、外部記憶装置に動作設定情報を記録する。
ステップS1701の判別の結果、CNDFLGの値が「0」でないとき(ステップS1701でYES)、ステップS1702の判別の結果、IDSTS1に「1」が代入され且つSN0に代入されている値とSN1に代入されている値とが同じでないとき(ステップS1702でNO)、又はステップS1703の処理の後、本処理を終了する。
本処理におけるステップS1702〜ステップS1705は、接続された外部記憶装置102,103にコンピュータ101のENV0に記憶されたデータをバックアップ(コピー)する処理である。ここで、バックアップされたデータは、コンピュータ101本体が故障などで、新しいコンピュータに交換された場合などに使用される。これにより、新しいコンピュータの復旧を容易にすることができる。
また、本処理におけるステップS1702及びステップS1704は、グループ識別情報(SN0,SN1,SN1)により、グループを識別している。そして、同じグループでなければ、コンピュータ101のENV0に記憶されたデータのバックアップは行なわないように制御している。これにより、コンピュータ101が一時的に使用している外部記憶装置(他のコンピュータにより使用可能に設定された外部記憶装置)には、ENV0に記憶されたデータのバックアップを行なわないようにすることができる。したがって、コンピュータ101本体が故障などで停止した場合においても、他のコンピュータに外部記憶装置を接続して業務を続行することができ、もって、業務の停滞を容易に防止することができる。
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
更に、前述した実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
上記の処理により、業務の停滞を容易に防止することができる。