(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
情報処理装置は、サーバと通信回線によって接続され、サーバに格納されるデータファイルを使用する業務アプリケーションを実行することがある。
【0003】
複数の情報処理装置がサーバに接続される場合、同時に同じ業務アプリケーションを実行する複数の情報処理装置から同じデータファイルがアクセスされると、データの整合性が取れなくなることがある。従って、このような場合には一つの情報処理装置のみが当該業務アプリケーションを実行できるように排他制御が行われる。
【0004】
この排他制御は、サーバが備え、情報処理装置の名称ごとに当該情報処理装置において実行される業務アプリケーション名を格納する業務管理ファイルを用いて行われる。すなわち、排他制御を行うべき業務アプリケーションが既に実行されている旨を示すデータが業務管理ファイルに格納されている場合には、他の情報処理装置は当該業務アプリケーションを実行できないように制御される。業務アプリケーションが既に実行されている旨を示すデータは、当該業務アプリケーションが終了する際に削除される。
【0005】
しかし、通信回線が処理の途中に切断されたり、業務アプリケーションが異常終了したりする場合には、業務アプリケーションが既に実行されている旨を示すデータは削除されずに残ってしまう。この場合、他の情報処理装置は当該業務アプリケーションを実行することができなくなる。
【0006】
従来はこのような場合には、全ての情報処理装置をシャットダウンし、さらにサーバを立ち上げなおす必要があり、時間がかかっていた。
【発明を実施するための形態】
【0011】
以下、情報処理装置及び情報処理プログラムの一実施形態について、図面を用いて詳細に説明する。
【0012】
本実施形態の情報処理装置は、実行の排他制御が行われる業務アプリケーションを格納する記憶部と、コンピュータ名ごとに実行中の業務アプリケーションの業務アプリケーション名を格納する業務管理ファイルを備えるサーバ記憶部及び業務管理ファイルから業務アプリケーションの排他制御が終了しているにもかかわらず削除されずに残っているレコードを削除する削除手段を実行するサーバ制御部を備えるサーバと通信する通信部と、を備える。
【0013】
図1は、情報処理装置1の構成を示すブロック図である。
図1に示すように、情報処理装置1は、制御部101と、記憶部102と、入出力部103と、プリンタ部104と、通信部105と、を備える。
【0014】
制御部101は、演算装置であるCPU(central processing unit)を含む。
【0015】
記憶部102は、メモリ、ハードディスクドライブなどの記憶装置を含む。記憶部102は、例えば請求書発行、見積書発行などの具体的な業務を行う業務アプリケーション102Aと、業務アプリケーションを排他制御するか否かのモードを格納するモード記憶部102Bと、を格納する。
【0016】
記憶部102は、情報処理プログラムを格納し、制御部101は記憶部102から情報処理プログラムを順次読み出して実行する。
【0017】
入出力部103は、キーボード、マウスなどの入力装置と、ディスプレイなどの表示装置と、を含む。
【0018】
プリンタ部104は、記録媒体に画像形成するプリンタを含む。プリンタ部104は情報処理装置1と一体に形成されていても、別体に形成されていてもよい。
【0019】
通信部105は、インターネットなどの公衆通信回線網、乃至LANなどの通信回線網3を介してサーバ2と接続する。
【0020】
複数の情報処理装置1をサーバ2に接続してもよい。
【0021】
サーバ2は、サーバ制御部201と、サーバ記憶部202と、サーバ入出力部203と、サーバ通信部204と、を備える。
【0022】
サーバ制御部201は、演算装置であるCPUを含む。
【0023】
サーバ記憶部202は、メモリ、ハードディスクドライブなどの記憶装置を含む。サーバ記憶部202は、業務アプリケーション102Aが使用するデータファイル202Aと、情報処理装置1に固有に割り当てられるコンピュータ名ごとにモード及び実行中の業務アプリケーション名を格納する業務管理ファイル202Bと、業務管理ファイル202Bから削除されずに残っているエラーデータを一括削除する削除プログラム202Cと、業務管理ファイル202Bを更新する編集プログラム202Dと、を格納する。
【0024】
サーバ記憶部202は、情報処理プログラムを格納し、サーバ制御部201はサーバ記憶部202から情報処理プログラムを順次読み出して実行する。
【0025】
サーバ入出力部203は、キーボード、マウスなどの入力装置と、ディスプレイなどの表示装置と、を含む。
【0026】
サーバ通信部204は、インターネットなどの公衆通信回線網、乃至LANなどの通信回線網3を介して情報処理装置1と接続する。
【0027】
図2は、業務管理ファイル202Bのデータ構成を示す図である。
図2に示すように、業務管理ファイル202Bは、情報処理装置1に固有に割り当てられる「コンピュータ名」と、業務アプリケーションを排他制御するか否かを示す「モード」と、実行中の業務アプリケーション名を示す「実行中業務名」と、を格納する。
【0028】
各データの例は、コンピュータ名が「PC01」、モードが「単独」、実行中業務名が「納品書」である。
【0029】
情報処理装置1及びサーバ2は、モードが「単独」である場合、排他制御を行い、モードが「通常」である場合、排他制御を行わない。
【0030】
ここで、排他制御とは、ある一つの情報処理装置1が「単独」モードにて業務アプリケーションを実行している場合、他の情報処理装置1が当該業務アプリケーションを起動させることを禁止する制御をいう。すなわち、排他制御は業務アプリケーションの起動を一つの情報処理装置1にのみ許可する制御である。
【0031】
図3は、情報処理装置1の制御部101による動作を示すフローチャートである。
図3に示すように、ステップ301において、情報処理装置1は業務アプリケーション102Aが起動されると、起動の際に指定されたモードをモード記憶部102Bから読込む。
【0032】
ステップ302において、情報処理装置1はモードが排他制御を行わない旨を示す「通常」であるかを判定する。情報処理装置1は、モードが「通常」である場合(ステップ302のY)、ステップ307に進み、モードが「通常」でない場合(ステップ302のN)、ステップ303に進む。
【0033】
ステップ303において、情報処理装置1は実行を指定された業務アプリケーション名に基づいて業務管理ファイル202Bの実行中業務名を検索する。
【0034】
ステップ304において、情報処理装置1は業務管理ファイル202Bの実行中業務名に実行を指定された業務アプリケーション名を示すデータがあるか、すなわち実行を指定された業務アプリケーションがいずれかの情報処理装置において実行中であるかを判定する。情報処理装置1は、実行を指定された業務アプリケーションがいずれかの情報処理装置1において実行中であると判定した場合(ステップ304のY)、ステップ305に進み、いずれの情報処理装置1においても実行されていないと判定した場合(ステップ304のN)、ステップ307に進む。
【0035】
ステップ305において、情報処理装置1は削除指示が入出力部103から入力されたかを判定する。具体的には、情報処理装置1は業務管理ファイル202Bに実行を指定された業務アプリケーションを実行中の情報処理装置1のコンピュータ名が、当該情報処理装置1の自分のコンピュータ名であった場合、前回業務アプリケーション102Aを終了して業務アプリケーション102Aの排他制御が終了しているにもかかわらず削除すべきデータが業務管理ファイル202Bにまだ残っていると判定する。
【0036】
従ってこの場合、情報処理装置1は入出力部103にその旨警告を表示し、削除されずに残っている当該データを業務管理ファイル202Bから削除する旨の指示の入力を促す。
【0037】
情報処理装置1は、削除指示が入力されたと判定した場合(ステップ305のY)、ステップ306に進み、削除指示が入力されたと判定しない場合、及び業務管理ファイル202Bに実行を指定された業務アプリケーションを実行中の情報処理装置1のコンピュータ名が、当該情報処理装置1の自分のコンピュータ名でない場合(ステップ305のN)、処理を終了する。
【0038】
ステップ306において、情報処理装置1は業務管理ファイル202Bから当該データを削除し、ステップ303に戻る。
【0039】
ステップ307において、情報処理装置1は業務管理ファイル202Bに、当該情報処理装置1のコンピュータ名と、モードと、実行中業務名と、を登録する。
【0040】
ステップ308において、情報処理装置1は指定された業務アプリケーションを実行する。
【0041】
ステップ309において、情報処理装置1は指定された業務アプリケーションの終了指示を入力する。
【0042】
ステップ310において、情報処理装置1は業務管理ファイル202Bから当該情報処理装置1のコンピュータ名と、モードと、実行中業務名と、を削除し、処理を終了する。
【0043】
図4は、サーバ2の削除プログラム202Cによる一括削除動作を示すフローチャートである。
図4に示すように、ステップ401において、サーバ2は業務管理ファイル202Bを一括して読込む。
【0044】
ステップ402において、サーバ2は業務管理ファイル202Bから読込んだデータを順にコンピュータ名に基づいて接続確認、すなわち接続の死活確認を行う。接続の死活確認については、サーバ2は、例えばPingを当該コンピュータ名の情報処理装置1に送信し、応答があった場合接続されていると判定し、応答がなかった場合、接続は切断されていると判定する。
【0045】
ステップ403において、サーバ2は当該情報処理装置1との接続が切断されているかを判定する。サーバ2は、接続が切断されていると判定した場合(ステップ403のY)、ステップ404に進み、接続が切断されていると判定した場合(ステップ403のN)、ステップ405に進む。
【0046】
ステップ404において、サーバ2は当該コンピュータ名のレコードを業務管理ファイル202Bから削除する。
【0047】
ステップ405において、サーバ2は接続の死活を確認していないコンピュータ名の情報処理装置1があるかを判定する。サーバ2は、未確認の接続があると判定した場合(ステップ405のY)、ステップ402に戻り、未確認の接続がないと判定した場合(ステップ405のN)、処理を終了する。
【0048】
従って、サーバ2は接続が切断されている情報処理装置1に関する業務管理ファイル202Bのデータを一括して削除できるため、迅速に排他制御を復旧することができる。
【0049】
図5は、サーバ2の編集プログラム202Dによる個別削除動作を示すフローチャートである。
図5に示すように、ステップ501において、サーバ2は業務管理ファイル202Bを一括して読込む。
【0050】
ステップ502において、サーバ2は業務管理ファイル202Bから読込んだデータを順にコンピュータ名に基づいて接続確認、すなわち接続の死活確認を順次行う。接続の死活確認については、サーバ2は、例えばPingを当該コンピュータ名の情報処理装置1に送信し、応答があった場合接続されていると判定し、応答がなかった場合、接続は切断されていると判定する。
【0051】
ステップ503において、サーバ2はサーバ入出力部203のディスプレイに削除指定画面601によりコンピュータ名ごとに接続の死活を一覧表示する。
【0052】
ステップ504において、サーバ2はサーバ入出力部203から削除するレコードの指定を入力する。
【0053】
ステップ505において、サーバ2は指定されたレコードのうち接続が切断されていることを示すレコードを業務管理ファイル202Bから削除し、処理を終了する。
【0054】
図6は、削除指定画面601の例を示す図である。
図6に示すように、削除指定画面601は、コンピュータ名ごとにモード、実行中業務名、接続の死活を示す接続状況を一覧表示する一覧表示部602と、指定されたレコードの削除を指示する削除ボタン603と、を備える。
【0055】
サーバ2は、サーバ入出力部203のマウスなどの入力装置によって指定されたレコードを、削除ボタン603の押下による指示に基づいて業務管理ファイル202Bから削除する。
【0056】
従って、サーバ2は削除されずに残っているエラーデータを個別に削除することができるため、さらに迅速に排他制御を復旧することが可能となる。
【0057】
以上述べたように、本実施形態の情報処理装置1は、実行の排他制御が行われる業務アプリケーション102Aを格納する記憶部102と、コンピュータ名ごとに実行中の業務アプリケーション102Aの業務アプリケーション名を格納する業務管理ファイル202Bを備えるサーバ記憶部202及び業務管理ファイル202Bから業務アプリケーション102Aの排他制御が終了しているにもかかわらず削除されずに残っているレコードを削除する削除手段を実行するサーバ制御部201を備えるサーバ2と通信する通信部105と、を備える。
【0058】
従って、削除されずにエラーデータが業務管理ファイル202Bに残っていても迅速に排他制御を復旧することができるという効果がある。
【0059】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。