(57)【特許請求の範囲】
【請求項１】
ネットワーク上に接続された複数の装置間において、
共用ファイルを有するネットワーク上の装置に、共用ファイルに対する処理を排他的に制御するための排他ファイルを生成し、
ネットワーク上の各装置は、該排他ファイルの存否を監視し、該排他ファイルが存在するときのみ、該排他ファイルを削除して共用ファイルに対する処理を行い、共用ファイルの処理の終了後に排他ファイルを再び生成させ、かつ、
前記ネットワーク上の各装置は、前記排他ファイルを削除して共用ファイルに対する処理を行うための排他ファイル取得権限に、ユーザ属性に応じた優先順位が与えられるよう、ユーザ属性に応じて異なる設定の排他ファイルを生成することを特徴とするネットワーク上に接続された複数の装置間における共用ファイル処理の排他制御方法。
【請求項２】
前記共用ファイルを有するネットワーク上の装置は、前記排他ファイルの取得権限を、特定のユーザ属性に対してのみ、所定の時間帯に与えるタイムスケジュール管理を行うことを特徴とする請求項１に記載のネットワーク上に接続された複数の装置間における共用ファイル処理の排他制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上に接続された複数の装置による共用ファイルに対する書き込み又は更新等の競合処理を防止する排他制御方法に関する。環境監視システム等においては、データ提供端末装置からデータ受信装置へＦＴＰプロトコルによりデータファイルを送信し、データ受信装置に対してプラント装置等のデータ収集装置がデータファイルをＦＴＰプロトコルにより取得する処理を行っている。
【０００２】
データ受信装置がデータ提供端末装置よりデータファイルを受信した際、受信したデータファイルの情報を管理するファイル（以下、管理ファイルという。）に受信情報を記録する。
【０００３】
管理ファイルにデータファイルの受信情報が存在する場合、プラント装置等のデータ収集装置は、データ受信装置からデータファイル及び管理ファイルを取得してデータ処理を行う。
【０００４】
以上の処理のように、ｌつの管理ファイルを複数の装置間で共有し、複数の装置が該管理ファイルに対する書き込みや更新等の処理を行う場合、１つの装置が共用の管理ファイルに対する処理を行っているときは、他の装置による該管理ファイルの処理を禁止する排他制御を行う必要性が生じる。
【０００５】
図８はネットワーク上に接続された複数の装置間のデータファイル転送の説明図である。データ提供端末装置であるファイル送信装置（以下、装置Ａと記述する。）は、ファイル受信装置（以下、装置Ｂと記述する。）にデータファイルを送信する機能を備える。
【０００６】
装置Ｂは、装置Ａから受信したデータファイルを蓄積する機能を備える。ファイル収集装置（以下、装置Ｃと記述する。）は、装置Ｂからデータファイルを取得する機能を備える。なお、装置Ａと装置Ｂ、及び装置Ｂと装置Ｃとは、ネットワークを介して相互に接続されている。
【０００７】
【従来の技術】
図９は従来のデータファイル転送処理の説明図である。装置Ａから装置Ｂにデータファイルを転送した場合、装置Ｂは受信したデータファイルの情報を自装置内の管理ファイルに記録する。
【０００８】
また、装置Ｃは、定期的に装置Ｂ内の管理ファイルを監視し、ファイルデータの受信情報が存在する場合は、装置Ｂから該当するデ一タファイルを取得する。その後、装置Ｂより管理ファイルを取得し、取得したデータファイルの情報を管理ファイルから削除し、編集処理後、同管理ファイルを装置Ｂに送信する。
【０００９】
【発明が解決しようとする課題】
このようなデータファイル転送処理方法では、装置Ｂが管理ファイルに書き込む処理と、装置Ｃが同管理ファイルに書き込む処理とが重複する場合が生じ、
(1) 自装置の管理ファイルに対する処理権限の有無の確認及びその取得、
(2) 他装置の管理ファイルに対する処理が完了するまでの待機、
といった各装置間での管理ファイルに対する処理の排他制御が必要となる。
【００１０】
本発明は、複数装置間での共用ファイルに対する処理の排他制御を安定的に且つ効率よく行い、複数装置間でのデータファイルの確実な転送及びその監視を可能とし、システム全体の処理能力の向上を図ることを目的とする。
【００１１】
【課題を解決するための手段】
本発明のネットワーク上に接続された複数の装置間における共用ファイル処理の排他制御方法は、（１）ネットワーク上に接続された複数の装置間において、共用ファイルを有するネットワーク上の装置に、共用ファイルに対する処理を排他的に制御するための排他ファイルを生成し、ネットワーク上の各装置は、該排他ファイルの存否を監視し、該排他ファイルが存在するときのみ、該排他ファイルを削除して共用ファイルに対する処理を行い、共用ファイルの処理の終了後に排他ファイルを再び生成させるものである。
【００１２】
また、（２）前記ネットワーク上の各装置は、前記排他ファイルの存否の監視により、自装置の共用ファイルに対する処理権限の有無を判定するものである。また、（３）前記ネットワーク上の各装置は、前記排他ファイルの存否の監視により、他装置の共用ファイルに対する処理の終了を判定するものである。
【００１３】
また、（４）前記共用ファイルを有するネットワーク上の装置は、前記排他ファイルの所定時間以上の不存在をタイマにより監視し、排他ファイルが該所定時間以上不存在である場合は、排他ファイルを自ら生成するものである。
【００１４】
また、（５）前記共用ファイルを有するネットワーク上の装置は、前記排他ファイルの取得失敗回数をカウンタにより計数し、該カウンタ値が所定数を超えた場合に、排他ファイルを自ら生成するものである。
【００１５】
また、（６）前記ネットワーク上の各装置は、前記排他ファイルの削除及び生成の制御権限をユーザ属性に応じて与える排他ファイルを生成するものである。
また、（７）前記ネットワーク上の各装置は、前記排他ファイルの制御権限をユーザ属性に応じた優先順位に基づいて与える排他ファイルを生成するものである。
【００１６】
また、（８）前記共用ファイルを有するネットワーク上の装置は、前記排他ファイルの制御権限を特定のユーザ属性に対してのみ所定の時間帯に与えるタイムスケジュール管理を行うものである。
【００１７】
また、（９）前記排他ファイルに設定されるユーザ属性を、排他ファイルの利用者情報として参照し、該ユーザ属性を基に排他ファイルの最終処理利用者情報を特定するものである。
【００１８】
【発明の実施の形態】
図１は本発明の共用ファイルに対する排他制御処理の機能説明図である。同図において、１−１はデータ提供端末装置であるファイル送信装置（装置Ａ）、１−２はファイル受信装置（装置Ｂ）、１−３はファイル収集装置（装置Ｃ）である。
【００１９】
装置Ａから装置Ｂにデータファイルが転送され、装置Ｂは受信したデータファイル１−２３の情報を自装置内の管理ファイル１−２２に記録する際に、排他ファイル１−２１の存否を調べ、排他ファイル１−２１が存在するときのみ、管理ファイル１−２２にアクセスして書き込みを行う。
【００２０】
そのとき、管理ファイル１−２２が他の装置によって処理されないように、排他ファイル１−２１を削除し、管理ファイル１−２２に対する処理の終了後、排他ファイル１−２１を作成し、他装置による管理ファイル１−２２に対する処理を可能にする。
【００２１】
また、装置Ｃは、定期的に装置Ｂ内の排他ファイル１−２１の存否を監視し、排他ファイル１−２１が存在する場合にのみ、装置Ｂより管理ファイル１−２２を取得し、その受信情報が更新されているデータファイル１−２３を収集する。
【００２２】
そして、収集したデータファイル１−２３の情報を管理ファイル１−２２から削除し、編集処理後、管理ファイル１−２２を装置Ｂに送信する。その際に、管理ファイル１−２２が他の装置によって処理されないように、排他ファイル１−２１を削除し、管理ファイル１−２２に対する処理の終了後、排他ファイル１−２１を作成し、他装置による管理ファイル１−２２に対する処理を可能にする。
【００２３】
このように、管理ファイルを複数の装置から同時に書き込もうとしてしまう不具合を防ぐために、管理ファイルに対する処理を排他的に制御するための排他ファイル１−２１を装置Ｂ内に生成し、各装置は該排他ファイル１−２１を必ず参照及び処理して管理ファイル等の共用ファイル１−２２に対する処理を行う。
【００２４】
図２は本発明の共用ファイルに対する排他制御処理のフローチャートである。同図の（ａ）は装置Ｂ内の排他処理のフローチャートであり、図の（ｂ）は、装置Ｃ内の排他処理のフローチャートである。
【００２５】
図の（ａ）に示す装置Ｂ内の排他処理において、装置Ｂは一定の時間間隔の定期処理待ち（処理２ａ−１）の後、装置Ａからデータファイルが送信されているか検索し（処理２ａ−２）、新規に送信されている場合、自装置内に排他ファイルが存在するかどうかをを検索する（処理２ａ−３）。
【００２６】
排他ファイルが存在する場合は、管理ファイルへのアクセスが可能であり、排他ファイルを削除し（処理２ａ−４）て他装置による処理を排除した後、管理ファイルに受信情報を記録して管理ファイルを更新する（処理２ａ−５）。
【００２７】
装置Ｂは、管理ファイルへの書き込みが終了した後に、他の装置が管理ファイルに対して処理を行うことができるように排他ファイルを作成し（処理２ａ−６）、その後、前述の処理２ａ−１へ戻り、次の定期処理を待つ。
【００２８】
図の（ｂ）に示す装置Ｃ内の排他処理においては、装置Ｃは一定時間間隔の定期処理待ち（処理２ｂ−１）の後、装置Ｂ内の排他ファイルを検索し、排他ファイルが存在するか否かを調べる（処理２ｂ−２）。
【００２９】
排他ファイルが存在する場合は、管理ファイルへのアクセスが可能であると判定して装置Ｂの排他ファイルを削除し（処理２ｂ−３）、他装置による管理ファイルに対する処理を排除した後、装置Ｂから管理ファイルを取得する（処理２ｂ−４）。
【００３０】
そして、管理ファイルにデータファイルの受信情報が書き込まれ、管理ファイルが変更されているかどうかを調べ（処理２ｂ−５）、受信データファイル存在する場合は、装置Ｂより該受信データファイルを取得する（処理２ｂ−６）。
【００３１】
その後、管理ファイル内の受信データファイルの更新情報を削除し（処理２ｂ−７）、最後に管理ファイルと排他ファイルとを装置Ｂに送信し（処理２ｂ−８）、前述の処理２ｂ−１へ戻って次の定期処理を待つ。
【００３２】
前述した装置Ｃによる排他ファイルを用いた排他制御処理において、管理ファイル等の共用ファイルの獲得のために一旦削除された排他ファイルが、例えば、装置Ｃがデータ収集の処理中に何らかの事由によりダウンしてしまった場合等により、永久に作成されないような事態が発生すると、他の装置は、以後全く共用ファイルに対して処理することができなくなってしまう。
【００３３】
そのため、そのような不具合が生じないように、装置Ｂは一定時間間隔で排他ファイルの存在を監視し、所定時間内に排他ファイルが生成されず、その不存在の状態が所定時間以上継続したことを確認した場合に、装置Ｂにおいて排他ファイルを自ら生成する構成を備える。
【００３４】
このように、排他ファイルが他装置の障害によって削除されたままの状態となった場合でも、そのような異常を検知し、排他ファイルを自動生成することにより、正常な装置が排他ファイルを無限に待ち続ける待ち処理無限ループから復帰することができる。
【００３５】
図３は時間監視による排他ファイル自動生成のフローチャートである。装置Ｂは、一定時間毎に出力信号が得られるタイマをセットし（処理３−１）、そのタイマ出力時に排他ファイルが存在するかどうかを調べ（処理３−２）、存在しない場合、不存在状態が所定時間以上継続したことを検出するタイマのタイムアウトを判定し（処理３−３）、不存在状態が所定時間以上継続してタイムアウトとなったた場合に排他ファイルを生成する（処理３−４）。
【００３６】
排他ファイルのもう一つの自動生成の手法として、排他ファイルの取得失敗回数のカウンタを用いる手法がある。図４は本発明の排他ファイル取得失敗回数による排他ファイル自動生成の説明図である。
【００３７】
装置Ｂにおいて、装置Ａ及び装置Ｃの排他ファイルの取得失敗回数のカウント用のカウンタを備える。このカウンタは、各装置が排他ファイルの取得に失敗した場合にインクリメントされる。
【００３８】
また、各装置が排他ファイルの取得に成功した場合は、該カウンタを０にリセットする。このカウンタのカウント値がしきい値（例えば１００回）を越えた場合、装置Ｂにおいて排他ファイルを自動生成する。
【００３９】
図４の（ａ）は、装置Ｃが排他ファイル取得に成功した場合を示し、その場合、装置Ｃは装置Ｂに対してファイル取得の旨の信号を送信し、装置Ｂは該信号によりカウンタ値を０にリセットする。
【００４０】
図４の（ｂ）は、装置Ｃが排他ファイル取得に失敗した場合を示し、その場合、装置Ｃは装置Ｂに対してカウンタ値をインクリメントする信号を送信し、装置Ｂは該信号によりカウンタ値を１つ増加させる。
【００４１】
図４の（ｃ）は、装置Ｂ内の排他ファイル取得失敗回数のカウンタの値がしきい値を超えた場合を示し、その場合、装置Ｂは排他ファイルを自動生成して、カウンタ値を０にリセットする。
【００４２】
次に、ユーザ属性を利用した排他ファイルの取得権限の管理について説明する。図５は本発明のユーザ属性に応じた排他ファイルの取得権限の管理の説明図である。ここで、装置Ｂ内では以下のユーザ属性Ｘ，Ｙを管理するものとする。
【００４３】
ユーザ属性Ｘはシステム管理者等の属性で、常時、排他ファイルの制御が可能なユーザの属性であり、ユーザ属性Ｙはシステム利用者等の属性で、ユーザ属性Ｘの管理者等による排他ファイル制御の終了後に、排他ファイル制御が可能となるユーザの属性であるとする。
【００４４】
通常、排他ファイルは、いずれの属性のユーザによっても制御が可能となるように設定されている。但し、ユーザ属性Ｘによる排他ファイルの取得を優先させるため、以下のように排他ファイルの取得権限が設定される。
【００４５】
例えば、図５の（ａ）に示すように、装置Ｃがユーザ属性Ｘによりログインし、排他ファイルを取得して、▲１▼排他ファイルの削除、▲２▼管理ファイルの更新、▲３▼排他ファイルの作成の処理の後に、排他ファイルを装置Ｂに送信する際に、他装置によるログイン情報をチェックする。
【００４６】
ここで、図５の（ａ）に示す装置Ｄのように、装置Ｃ以外にユーザ属性Ｘによりログインしている装置が有る場合は、排他ファイルをユーザ属性Ｘのみが制御可能なように設定して管理ファイル及び排他ファイルを装置Ｂに送信し、ログオフする。
【００４７】
そのため、ユーザ属性Ｘによりログインし、排他ファイルの書き込み待機中の装置Ｄは、ユーザ属性Ｘの装置Ｃから装置Ｂに送信された排他ファイルを直ちに獲得することができるが、ユーザ属性Ｙによりログインして排他ファイルの書き込み待機中の装置Ｅは、排他ファイルを獲得することができない。即ち、図５の（ａ）は、排他ファイルを獲得することができる権限をユーザ属性Ｘのみとして設定する場合を示している。
【００４８】
次に、図５の（ｂ）に示すように、ユーザ属性Ｘでログイン中の装置Ｄが排他ファイルを取得し、▲１▼排他ファイルの削除、▲２▼管理ファイルの更新、▲３▼排他ファイルの作成の処理の後に、排他ファイルを装置Ｂに送信する際に、他装置のログイン情報をチェックしたときに、装置Ｄ以外にユーザ属性Ｘでログインしている装置が存在しないと判定した場合は、排他ファイルを全てのユーザが取得（書き込み制御）可能なように設定し、管理ファイル及び排他ファイルを装置Ｂに送信し、ログアウトする。
【００４９】
ユーザ属性Ｙで排他ファイル書き込み待機中の装置Ｅは、ユーザ属性Ｘの装置Ｄの処理の後に排他ファイルを獲得することができる。但し、ユーザ属性Ｙの装置Ｅは、排他ファイルを取得しても排他ファイルの属性変更は行わない。
【００５０】
このような処理手順により、ユーザ属性Ｘの装置とユーザ属性Ｙの装置とが同時に排他ファイルの制御処理を待機しているときに、ユーザ属性Ｘの装置を優先させた排他ファイル制御が可能となる。
【００５１】
次に、ユーザ属性を利用した排他ファイルの取得権限のスケジュール管理について図６及び図７を参照して説明する。図６は本発明の排他ファイル取得権限のスケジュール管理のフローチャートを示し、図７は本発明のスケジュール管理による排他ファイル処理権限の状態を示す図である。
【００５２】
装置Ｂに、排他ファイルの属性をあらかじめ指定されたタイムスケジュールに沿って変更する機能を設ける。図６に示すように、ユーザ属性Ｘのみが排他ファイルを削除することができる削除期間が設定されたタイマーによるタイマー処理（処理６−１）により、現在時刻が該削除期間内か否かを判定し（処理６−２）、該削除期間内であるとき、排他ファイルが存在するか調べ（処理６−３）、排他ファイルが存在する場合には、排他ファイルの属性をユーザ属性Ｘのみが処理可能な属性に設定する（処理６−４）。
【００５３】
一方、前述の判定（処理６−２）において、現在時刻がユーザ属性Ｘのみによる排他ファイルの削除が可能な削除期間外と判定されたときは、排他ファイルの属性が全加入者が制御可能な属性かどうかを調べ（処理６−５）、全加入者が制御可能な属性でない場合は、排他ファイルの属性を全加入者が制御可能な属性に変更する（処理６−６）。
【００５４】
このようにあらかじめ設定した削除期間のタイムスケジュール開始時刻に、装置Ｂは排他ファイルをユーザ属性Ｘのみが書き込み制御可能として設定し、その後の処理権限をユーザ属性Ｘによりログインする装置のみに限定する。
【００５５】
そして、あらかじめ設定した削除期間のタイムスケジュール終了時刻になると、排他ファイルの属性を全てのユーザ属性が書き込み制御可能なように設置する。従って、タイムスケジュールに設定した削除期間以外は全ての装置が排他ファイル取得権限を有することとなる。
【００５６】
図７の（ａ）は、ユーザ属性Ｘのみが排他ファイルを削除できるスケジュール期間内の各装置の排他ファイル処理権限の状態を示し、同図の（ｂ）は該スケジュール期間外の各装置の排他ファイル処理権限の状態を示している。
【００５７】
同図において、装置Ｃはユーザ属性Ｘでログインし、装置Ｄはユーザ属性Ｙでログインするものとする。また、状態Ａは排他ファイルの削除が可能であり、排他ファイル及び管理ファイルの処理権限の獲得が可能な状態を表し、状態Ｂは排他ファイルの削除が不可能であり、排他ファイル及び管理ファイルの処理権限の獲得が不可能な状態を表している。
【００５８】
同図の（ａ）において、ユーザ属性Ｘでログインしている装置Ｃのみが、排他ファイルの削除が可能な状態Ａとなるが、ユーザ属性Ｘ以外でログインしている装置Ｄは、排他ファイルの削除が不可能な状態Ｂとなる。
【００５９】
一方、同図の（ｂ）において、全てのユーザ属性の装置が排他ファイルの削除が可能であるため、ユーザ属性Ｘでログインしている装置Ｃ及びユーザ属性Ｙでログインしている装置Ｄは、排他ファイルの削除が可能な状態Ａとなる。
【００６０】
そして、このように排他ファイルに設定されるユーザ属性を、排他ファイルの利用者情報として参照することにより、最後に排他ファイルの制御を行った利用者情報を特定することが可能となる。
【００６１】
また、装置毎にログオンユーザ属性を固定し、排他ファイルに設定されるユーザ属性の履歴を保存するメモリを装置Ｂに備えることにより、排他ファイルの制御を行った装置の履歴を作成することが可能となる。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、管理ファイルに対する処理を排他的に制御するための排他ファイルを生成し、各装置は該排他ファイルの存否監視を行って自装置の共用ファイルに対する処理権限の判定を行うことにより、複数装置間での共用ファイルに対する排他制御処理を確実に行うことが可能になる。
【００６３】
また、排他ファイルの存否監視により、他装置が共用ファイルの操作を終了したこと、即ちデータファイルの収集等を終えたことの監視が可能となる。従って、複数装置間でのデータファイルの確実な転送及びその監視が可能となる。
【００６４】
また、共用ファイルを備えた装置において、排他ファイルの存否を監視し、排他ファイルが消失してしまったような異常状態の検出時に排他ファイルを自動生成することにより、システム全体のデッドロックを防止し、安定的な排他制御を行うことができる。
【００６５】
又、ユーザ属性毎に、排他ファイル制御の権限を付与して排他ファイルを管理することにより、ログインした装置に共用ファイル処理に対する優先順位を設定することが可能となる。
【００６６】
そして、優先度の高い処理には優先順位の高い、即ち処理権限の高いユーザ属性を割り当て、通常の処理には処理権限の低いユーザ属性を割り当てることにより、効率的な処理分散を図り、システム全体の処理能力を向上させることができる。
【００６７】
更に、排他ファイル制御のタイムスケジュール管理により、特定の時間帯に一部の装置に対して排他ファイル制御の規制を加え、排他ファイルを備える装置の処理負荷を軽減することができる。
【００６８】
また、排他ファイル制御を行ったユーザ属性の履歴を参照することにより、全体の処理状態を把握することができ、排他ファイル制御が誤動作した場合等のロギング情報として利用することができる。
【図面の簡単な説明】
【図１】本発明の共用ファイルに対する排他制御処理の機能説明図である。
【図２】本発明の共用ファイルに対する排他制御処理のフローチャートである。
【図３】本発明の時間監視による排他ファイル自動生成のフローチャートである。
【図４】本発明の排他ファイル取得失敗回数による排他ファイル自動生成の説明図である。
【図５】本発明のユーザ属性に応じた排他ファイルの取得権限の管理の説明図である。
【図６】本発明の排他ファイル取得権限のスケジュール管理のフローチャートである。
【図７】本発明のスケジュール管理による排他ファイル処理権限の状態を示す図である。
【図８】ネットワーク上に接続された複数の装置間のデータファイル転送の説明図である。
【図９】従来のデータファイル転送処理の説明図である。
【符号の説明】
１−１  データ提供端末装置であるファイル送信装置（装置Ａ）
１−２  ファイル受信装置（装置Ｂ）
１−２１  排他ファイル
１−２２  管理ファイル（共用ファイル）
１−２３  装置Ａから受信したデータファイル
１−３  ファイル収集装置（装置Ｃ）
【図１】
0003706988.tif 000002
【図２】
0003706988.tif 000003
【図３】
0003706988.tif 000004
【図４】
0003706988.tif 000005
【図５】
0003706988.tif 000006
【図６】
0003706988.tif 000007
【図７】
0003706988.tif 000008
【図８】
0003706988.tif 000009
【図９】
0003706988.tif 000010