(57)【要約】【課題】サーバ又はコントローラの一方で編集されたプログラムファイルが他方のプログラムファイルに更新されることが不適切な場合があった。【解決手段】サーバは、サーバが記憶するプログラムファイルの更新日時と、コントローラが記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較する。そして、サーバは、更新日時が最新であって、優先度が高いプログラムファイルをサーバが管理するプログラムファイルとして更新する。コントローラは、サーバが記憶するプログラムファイルの更新日時と、コントローラが記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較する。そして、コントローラは、更新日時が最新であって、優先度が高いプログラムファイルをコントローラが管理するプログラムファイルとして更新する。【選択図】図１
2018028796.tif 000002
【特許請求の範囲】
【請求項１】
立ち入りが制限されるエリアへの入退を管理するための入退管理装置を管理するサーバと、前記サーバに接続され、プログラムファイルを実行することにより前記入退管理装置の動作を制御するコントローラと、を備えたセキュリティシステムにおいて、
前記サーバは、前記コントローラに記憶される前記プログラムファイルを記憶し、前記サーバが記憶する前記プログラムファイルの更新日時と、前記コントローラが記憶する前記プログラムファイルの更新日時とを比較すると共に、前記プログラムファイルの優先度を比較し、前記更新日時が最新であって、前記優先度が高い前記プログラムファイルを前記サーバが管理する前記プログラムファイルとして更新し、
前記コントローラは、前記サーバが記憶する前記プログラムファイルの更新日時と、前記コントローラが記憶する前記プログラムファイルの更新日時とを比較すると共に、前記プログラムファイルの優先度を比較し、前記更新日時が最新であって、前記優先度が高い前記プログラムファイルを前記コントローラが管理する前記プログラムファイルとして更新する
セキュリティシステム。
【請求項２】
前記サーバは、
前記プログラムファイルを記憶するサーバ側プログラムファイル記憶部と、
前記サーバ側プログラムファイル記憶部が記憶する前記プログラムファイルのサーバ側優先度及びサーバ側更新日時と、前記コントローラから受信したコントローラ側優先度及びコントローラ側更新日時とを管理するサーバ側管理テーブルを記憶するサーバ側管理テーブル記憶部と、
同一の前記プログラムファイルに対する前記サーバ側更新日時と前記コントローラ側更新日時を比較し、かつ前記サーバ側優先度と前記コントローラ側優先度を比較するサーバ側比較部と、
更新日時が新しい側であって優先度が高い前記プログラムファイルにより前記サーバ側プログラムファイル記憶部に記憶されている前記プログラムファイルを更新するサーバ側更新部と、を備える
請求項１に記載のセキュリティシステム。
【請求項３】
前記サーバ側更新部は、同一の前記プログラムファイルに対する前記サーバ側更新日時より前記コントローラ側更新日時が新しく、前記サーバ側優先度が前記コントローラ側優先度以上である場合に、前記サーバ側プログラムファイル記憶部に記憶されている前記サーバの前記プログラムファイルを更新せず、前記コントローラに対し、前記コントローラの前記プログラムファイルを前記サーバの前記プログラムファイルにより更新させる
請求項２に記載のセキュリティシステム。
【請求項４】
前記サーバは、前記サーバに接続される編集装置が編集した前記プログラムファイルにより前記サーバ側プログラムファイル記憶部に記憶された前記プログラムファイルが更新された場合に、前記プログラムファイルの更新日時を前記サーバ側更新日時に反映する
請求項３に記載のセキュリティシステム。
【請求項５】
前記コントローラは、
前記プログラムファイルを記憶するコントローラ側プログラムファイル記憶部と、
前記コントローラ側プログラムファイル記憶部が記憶する前記プログラムファイルのサーバ側優先度及びサーバ側更新日時と、前記コントローラから受信したコントローラ側優先度及びコントローラ側更新日時とを管理するコントローラ側管理テーブルを記憶するコントローラ側管理テーブル記憶部と、
同一の前記プログラムファイルに対する前記サーバ側更新日時と前記コントローラ側更新日時を比較し、かつ前記サーバ側優先度と前記コントローラ側優先度を比較するコントローラ側比較部と、
更新日時が新しい側であって優先度が高い前記プログラムファイルにより前記コントローラ側プログラムファイル記憶部に記憶されている前記プログラムファイルを更新するコントローラ側更新部と、を備える
請求項１に記載のセキュリティシステム。
【請求項６】
前記コントローラ側更新部は、同一の前記プログラムファイルに対する前記コントローラ側更新日時より前記サーバ側更新日時が新しく、前記コントローラ側優先度が前記サーバ側優先度以上である場合に、前記コントローラ側プログラムファイル記憶部に記憶されている前記コントローラの前記プログラムファイルを更新せず、前記サーバに対し、前記サーバの前記プログラムファイルを前記コントローラの前記プログラムファイルにより更新させる
請求項５に記載のセキュリティシステム。
【請求項７】
前記コントローラは、前記コントローラに接続される編集装置が編集した前記プログラムファイルにより前記コントローラ側プログラムファイル記憶部に記憶された前記プログラムファイルが更新された場合に、前記プログラムファイルの更新日時を前記コントローラ側更新日時に反映する
請求項６に記載のセキュリティシステム。
【請求項８】
前記編集装置は、
前記プログラムファイルを記憶する編集装置側プログラムファイル記憶部と、
前記プログラムファイルを編集するプログラムファイル編集部と、
前記サーバ又は前記コントローラに記憶される前記プログラムファイルを更新するプログラムファイル更新部と、を備える
請求項４又は７に記載のセキュリティシステム。
【請求項９】
立ち入りが制限されるエリアへの入退を管理するための入退管理装置を管理するサーバと、前記サーバに接続され、プログラムファイルを実行することにより前記入退管理装置の動作を制御するコントローラと、を備えるセキュリティシステムにより実行されるプログラムファイル更新方法において、
前記サーバは、前記コントローラに記憶される前記プログラムファイルを記憶し、前記サーバが記憶する前記プログラムファイルの更新日時と、前記コントローラが記憶する前記プログラムファイルの更新日時とを比較すると共に、前記プログラムファイルの優先度を比較し、前記更新日時が最新であって、前記優先度が高い前記プログラムファイルを前記サーバが管理する前記プログラムファイルとして更新するステップと、
前記コントローラは、前記サーバが記憶する前記プログラムファイルの更新日時と、前記コントローラが記憶する前記プログラムファイルの更新日時とを比較すると共に、前記プログラムファイルの優先度を比較し、前記更新日時が最新であって、前記優先度が高い前記プログラムファイルを前記コントローラが管理する前記プログラムファイルとして更新するステップと、を含む
プログラムファイル更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティシステム及びプログラムファイル更新方法に関する。
【背景技術】
【０００２】
従来、立ち入りが制限されるエリアへの入退を管理し、セキュリティを確保する入退管理システムが知られている。この入退管理システムは、入退管理装置の動作を制御するコントローラと、コントローラが使用するプログラムファイルを管理するサーバとで構成される。入退管理装置は、例えば、電気錠とカードリーダが設けられた扉で構成されている。コントローラは、所定のプログラムファイルを実行して電気錠の施錠又は解錠を制御することで、扉の開閉を可能としている。
【０００３】
例えば、エリアに入ろうとするユーザにより、カードリーダにＩＣカードがかざされると、カードリーダがＩＣカードに登録されているユーザＩＤを読み取って、カード所有者であるユーザの入退権限の有無を照会する。ユーザが入退権限を有していれば、コントローラの制御により、カードリーダに対応付けられた扉（電気錠）が開かれ、ユーザが入退権限を有していなければ、カードリーダに対応付けられた扉（電気錠）が閉じられたままとなる。
【０００４】
特許文献１には、更新された複数の出入管理用設定情報のうち、いずれの出入管理用設定情報を選択するかの判断基準となる選択基準情報を参照して、選択基準情報を満たす出入管理用設定情報を選択する技術が開示されている。この技術では、出入管理用設定情報を時系列上の後発データの通りに上書きすることがなくなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２４５３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サーバとコントローラは、同じプログラムファイルを記憶している。このプログラムファイルは、適宜更新され、最新の状態が保たれる。プログラムファイルを更新する方法には以下の２つの方法がある。第１の方法は、サーバがコントローラにプログラムファイルを送信して、コントローラのプログラムファイルを更新する方法である。第１の方法は、例えば、扉の電気錠の追加等により、プログラムファイル数が増加したときに用いられる。第２の方法は、コントローラがサーバにプログラムファイルを送信して、サーバのプログラムファイルを更新する方法である。第２の方法は、例えば、新しいカードリーダの型式追加等により、プログラムファイルのフォーマット拡張が発生したときに用いられる。
【０００７】
上述したように入退管理装置に用いられる電気錠は、コントローラがプログラムファイルを実行することで動作が制御される。このプログラムファイルは、鍵の型式に対応して異なる。ここで、入退管理装置が設置される現地に型式Ａの鍵（ＩＣカード等）が届いたとしても、実際に入退管理装置が使用される際には、型式Ａの鍵を型式Ｂの鍵として運用したいという要望がある。この場合、コントローラは、型式Ｂの鍵に対応するプログラムファイルを実行すれば、入退管理装置を使用できるため、型式Ｂの鍵を改めて現地に取り寄せなくてよい。しかし、従来のコントローラは、使用される鍵が型式Ａであれば、型式Ａの鍵に対応するプログラムファイルをサーバに送信してしまう。この結果、コントローラが型式Ｂに対応するプログラムファイルを使用しているにもかかわらず、サーバは、コントローラが型式Ａに対応するプログラムファイルを使用しているように認識してしまう。
【０００８】
ここで、特許文献１に開示された技術では、選択基準情報を参照した上で、サーバとコントローラのプログラムファイルを更新することが可能である。しかし、特許文献１において選択基準情報の内容は明らかにされておらず、プログラムファイルの更新可否を判断することが困難であった。このため、コントローラ側から更新することが望ましくない機能であっても、コントローラから更新することが可能となり、サーバ側から見て望ましくない更新が行われる恐れがある。このようにサーバ又はコントローラの一方で編集されたプログラムファイルが他方のプログラムファイルに更新されることが不適切な場合があった。
【０００９】
本発明はこのような状況に鑑みて成されたものであり、プログラムファイルを適切に更新することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るセキュリティシステムは、立ち入りが制限されるエリアへの入退を管理するための入退管理装置を管理するサーバと、サーバに接続され、プログラムファイルを実行することにより入退管理装置の動作を制御するコントローラと、を備える。
サーバは、コントローラに記憶されるプログラムファイルを記憶し、サーバが記憶するプログラムファイルの更新日時と、コントローラが記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較し、更新日時が最新であって、優先度が高いプログラムファイルをサーバが管理するプログラムファイルとして更新する。
コントローラは、サーバが記憶するプログラムファイルの更新日時と、コントローラが記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較し、更新日時が最新であって、優先度が高いプログラムファイルをコントローラが管理するプログラムファイルとして更新する。
なお、上記のセキュリティシステムは本発明の一態様であり、本発明の一側面を反映したプログラムファイル更新方法についても、本発明の一側面を反映したセキュリティシステムと同様の構成を有する。
【発明の効果】
【００１１】
本発明によれば、サーバとコントローラは、それぞれプログラムファイルの更新日時と優先度を比較し、更新日時が新しく、かつ優先度が高いプログラムファイルだけを安全に更新することができる。このため、コントローラが使用するプログラムファイルの優先度が高ければ、このプログラムファイルがサーバに更新され、優先度が低ければ、このプログラムファイルがサーバに更新されない。逆に、サーバが使用するプログラムファイルの優先度が高ければ、このプログラムファイルがコントローラに更新され、優先度が低ければ、このプログラムファイルがコントローラに更新されない。
上記した以外の課題、構成及び効果は、以下の実施の形態例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態例の第１の接続例に係るセキュリティシステムの構成例を示すブロック図である。
【図２】本発明の一実施の形態例に係る計算機のハードウェア構成例を示すブロック図である。
【図３】本発明の一実施の形態例に係るサーバ側管理テーブルのテーブル構成図である。
【図４】本発明の一実施の形態例に係るコントローラ側管理テーブルのテーブル構成図である。
【図５】本発明の一実施の形態例の第１の接続例に係るセキュリティシステムにおけるプログラムファイル更新方法の一例を示すフローチャートである。
【図６】本発明の一実施の形態例に係るサーバ側管理テーブルとコントローラ側管理テーブルの内容の変化を示す説明図である。
【図７】本発明の一実施の形態例に係るサーバ側管理テーブルとコントローラ側管理テーブルの内容の変化を示す説明図である。
【図８】本発明の一実施の形態例に係るサーバ側管理テーブルとコントローラ側管理テーブルの内容の変化を示す説明図である。
【図９】本発明の一実施の形態例に係るサーバ側管理テーブルとコントローラ側管理テーブルの内容の変化を示す説明図である。
【図１０】本発明の一実施の形態例の第２の接続例に係るセキュリティシステムの構成例を示すブロック図である。
【図１１】本発明の一実施の形態例の第２の接続例に係るセキュリティシステムにおけるプログラムファイル更新方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態例について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１４】
［一実施の形態例］
＜第１の接続例＞
図１は、本発明の一実施の形態例に係るセキュリティシステム１０の内部構成例を示すブロック図である。ここでは、サーバ１にプログラムファイル編集装置３が接続された第１の接続例について説明する。
【００１５】
セキュリティシステム１０は、サーバ１、コントローラ２、プログラムファイル編集装置３、入退管理装置４を備える。サーバ１とコントローラ２は、インターネット等のネットワークＮを介して接続されている。また、サーバ１には、プログラムファイル編集装置３が接続され、コントローラ２には、一又は複数の入退管理装置４が接続される。入退管理装置４は、立ち入りが制限されるエリアへの入退を管理するために用いられる。入退管理装置４として、例えば、エリアを分ける扉があり、この扉には、ＩＣカードに記録されたＩＤを認証するカードリーダ等が設けられている。
【００１６】
サーバ１は、不図示の設備監視システムや入退管理システムを統括するものであり、不図示の監視センター等に設置されている。このサーバ１は、入退管理装置４を管理しており、コントローラ２に記憶されるプログラムファイルを記憶する。サーバ１には、プログラムファイル編集装置３が編集したプログラムファイルが送信される。以下の説明で、プログラムファイルの編集とは、プログラムファイルのバージョンアップ、各種機能の追加又は削除等を含む。
【００１７】
サーバ１とコントローラ２は、それぞれサーバ側とコントローラ側で管理されているプログラムファイルの更新日時と、プログラムファイルの更新可否を判断するための優先度とをプログラムファイルに対応付けて保持している。このため、サーバ１は、サーバ１が記憶するプログラムファイルの更新日時と、コントローラ２が記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較する。そして、サーバ１は、更新日時が最新であって、優先度が高いプログラムファイルをサーバ１が管理するプログラムファイルとして更新する。
【００１８】
サーバ１は、サーバ側プログラムファイル記憶部１１、サーバ側管理テーブル記憶部１２、サーバ側比較部１３、サーバ側更新部１４を備える。
サーバ側プログラムファイル記憶部１１は、複数の入退管理装置４の各々に対応したプログラムファイルα〜νを記憶する。プログラムファイルα〜νの編集対象として、例えば、各種のパラメーター、属性情報の設定、鍵の種類の情報等が含まれる。
サーバ側管理テーブル記憶部１２は、サーバ側管理テーブル５を備える。サーバ側管理テーブル５は、後述する図３に示すように、サーバ側優先度５Ｂ及びサーバ側更新日時５Ｃ、コントローラ側優先度５Ｄ及びコントローラ側更新日時５Ｅを管理する。サーバ側優先度５Ｂは、サーバ側プログラムファイル記憶部１１に記憶されるプログラムファイルα〜νに設定される優先度である。サーバ側更新日時５Ｃは、サーバ１に接続されるプログラムファイル編集装置３が編集したプログラムファイルによりサーバ側プログラムファイル記憶部１１に記憶されたプログラムファイルが更新された更新日時である。コントローラ側優先度５Ｄ及びコントローラ側更新日時５Ｅは、コントローラ２から受信して反映される情報である。
【００１９】
サーバ側比較部１３は、サーバ１とコントローラ２が記憶する同一のプログラムファイルに対して、サーバ側優先度５Ｂとコントローラ側優先度５Ｄを比較し、かつサーバ側更新日時５Ｃとコントローラ側更新日時５Ｅを比較する。
【００２０】
サーバ側更新部１４は、サーバ側比較部１３の比較結果に基づき、更新日時が新しい側であって優先度が高いプログラムファイルにより、サーバ側管理テーブル５の内容と、サーバ側プログラムファイル記憶部１１に記憶されているプログラムファイルを更新する。なお、サーバ側更新部１４は、同一のプログラムファイルに対するサーバ側更新日時５Ｃよりコントローラ側更新日時６Ｅが新しく、サーバ側優先度５Ｄがコントローラ側優先度６Ｄ以上である場合に、サーバ側プログラムファイル記憶部１１に記憶されているプログラムファイルを更新しない。そして、サーバ側更新部１４は、コントローラ２に対し、コントローラ２のプログラムファイルをサーバ２のプログラムファイルにより更新させる。これにより不適切な編集がされたコントローラ２のプログラムファイルが、編集前のプログラムファイルに戻される。
【００２１】
コントローラ２は、入退管理装置４が設置されたビルの管理人室等に設置されており、入退管理装置４に対して実際のセキュリティ動作を制御する。コントローラ２は、サーバ１が記憶するプログラムファイルの更新日時と、コントローラ２が記憶するプログラムファイルの更新日時とを比較すると共に、プログラムファイルの優先度を比較する。そして、コントローラ２は、更新日時が最新であって、優先度が高いプログラムファイルをコントローラ２が管理するプログラムファイルとして更新する。コントローラ２についても、サーバ１と同様に、コントローラ側プログラムファイル記憶部２１、コントローラ側管理テーブル記憶部２２、コントローラ側比較部２３、コントローラ側更新部２４を備える。
【００２２】
コントローラ側プログラムファイル記憶部２１は、複数の入退管理装置４の各々に対応したプログラムファイルα〜νを記憶する。
コントローラ側管理テーブル記憶部２２は、コントローラ側管理テーブル６を備える。コントローラ側管理テーブル６は、後述する図４に示すように、サーバ側優先度６Ｂ及びサーバ側更新日時６Ｃ、コントローラ側優先度６Ｄ及びコントローラ側更新日時６Ｅを管理する。サーバ側優先度６Ｂ及びサーバ側更新日時６Ｃは、サーバ１から受信して反映される情報である。コントローラ側優先度６Ｄは、コントローラ側プログラムファイル記憶部２１に記憶されるプログラムファイルα〜νに設定される優先度である。コントローラ側更新日時６Ｅは、後述する図１０に示すコントローラ２に接続されるプログラムファイル編集装置３が編集したプログラムファイルによりコントローラ側プログラムファイル記憶部２１に記憶されたプログラムファイルが更新された更新日時である。
【００２３】
コントローラ側比較部２３は、サーバ１とコントローラ２が記憶する同一のプログラムファイルに対して、サーバ側優先度６Ｂとコントローラ側優先度６Ｄを比較し、かつサーバ側更新日時６Ｃとコントローラ側更新日時６Ｅを比較する。
【００２４】
コントローラ側更新部２４は、コントローラ側比較部２３の比較結果に基づき、更新日時が新しい側であって優先度が同一又は高いプログラムファイルにより、コントローラ側管理テーブル６の内容を更新する。また、コントローラ側更新部２４は、このプログラムファイルにより、コントローラ側プログラムファイル記憶部２１に記憶されているプログラムファイルを更新する。なお、コントローラ側更新部２４は、同一のプログラムファイルに対するコントローラ側更新日時６Ｅよりサーバ側更新日時５Ｃが新しく、コントローラ側優先度６Ｄがサーバ側優先度５Ｂ以上である場合に、コントローラ側プログラムファイル記憶部２１に記憶されているプログラムファイルを更新させない。そして、コントローラ側更新部２４は、サーバ１に対し、サーバ１のプログラムファイルをコントローラ２のプログラムファイルにより更新させる。これにより不適切な編集がされたサーバ１のプログラムファイルが、編集前のプログラムファイルに戻される。
【００２５】
なお、図１では、サーバ１に一つのコントローラ２を接続した例を示しているが、サーバ１に複数のコントローラ２を接続する構成としてもよい。その場合は、各々のコントローラ２に対応して、後述するサーバ側プログラムファイル記憶部１１、コントローラ側プログラムファイル記憶部２１を設ければよい。
【００２６】
プログラムファイル編集装置３は、編集装置側プログラムファイル記憶部３１、プログラムファイル編集部３２、プログラムファイル更新部３３を備える。
編集装置側プログラムファイル記憶部３１は、プログラムファイルα〜νを記憶する。
プログラムファイル編集部３２は、プログラムファイルα〜νを編集する。
プログラムファイル更新部３３は、プログラムファイル編集装置３が接続されるサーバ１のサーバ側プログラムファイル記憶部１１に編集後のプログラムファイルα〜νを書き込む。これにより、サーバ側プログラムファイル記憶部１１に記憶されたプログラムファイルα〜νが、編集後のプログラムファイルα〜νによって更新される。なお、後述する図１０の第２の接続例に示すように、コントローラ２には、プログラムファイル編集装置３が接続される場合がある、この場合、プログラムファイル更新部３３は、コントローラ２のコントローラ側プログラムファイル記憶部２１に記憶されたプログラムファイルα〜νを、編集後のプログラムファイルα〜νに更新する。
【００２７】
次に、セキュリティシステム１０の各装置を構成する計算機Ｃのハードウェア構成を説明する。
図２は、計算機Ｃのハードウェア構成例を示すブロック図である。
【００２８】
計算機Ｃは、いわゆるコンピュータとして用いられるハードウェアである。計算機Ｃは、バスＣ４にそれぞれ接続されたＣＰＵ（Central Processing Unit：中央処理装置）Ｃ１、ＲＯＭ（Read Only Memory）Ｃ２、ＲＡＭ（Random Access Memory）Ｃ３を備える。さらに、計算機Ｃは、表示部Ｃ５、操作部Ｃ６、不揮発性ストレージＣ７、ネットワークインターフェイスＣ８を備える。
【００２９】
ＣＰＵ Ｃ１は、本実施の形態例に係る各機能を実現するソフトウェアのプログラムコードをＲＯＭ Ｃ２から読み出して実行する。ＲＡＭ Ｃ３には、演算処理の途中に発生した変数やパラメーター等が一時的に書き込まれる。表示部Ｃ５は、例えば、液晶ディスプレイモニタであり、計算機Ｃで行われる処理の結果等を管理者に表示する。操作部Ｃ６には、例えば、キーボード、マウス等が用いられ、管理者が所定の操作入力、指示を行うことが可能である。プログラムファイル編集装置３は、表示部Ｃ５、操作部Ｃ６を備えるが、サーバ１、コントローラ２は、表示部Ｃ５、操作部Ｃ６を備えなくてもよい。
【００３０】
不揮発性ストレージＣ７としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フレキシブルディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリ等が用いられる。この不揮発性ストレージＣ７には、ＯＳ（Operating System）、各種のパラメーターの他に、計算機Ｃを機能させるためのプログラムが記録されている。ＲＯＭ Ｃ２、不揮発性ストレージＣ７は、ＣＰＵ Ｃ１が動作するために必要なプログラムやデータ等を記録しており、計算機Ｃによって実行されるプログラムを格納したコンピュータ読取可能な非一過性の記録媒体の一例として用いられる。このため、ＲＯＭ Ｃ２、不揮発性ストレージＣ７には、プログラムやデータ等が永続的に格納されうる。
【００３１】
ネットワークインターフェイスＣ８には、例えば、ＮＩＣ（Network Interface Card）等が用いられ、端子が接続されたＬＡＮ（Local Area Network）、専用線等を介して各種のデータを装置間で送受信することが可能である。
【００３２】
次に、サーバ側管理テーブル５と、コントローラ側管理テーブル６の構造を詳細に説明する。
【００３３】
図３は、サーバ側管理テーブル５のテーブル構成図である。
サーバ側管理テーブル５は、プログラムファイル名５Ａに加えて、上述したサーバ側優先度５Ｂ及びサーバ側更新日時５Ｃと、コントローラ側優先度５Ｄ及びコントローラ側更新日時５Ｅの各フィールドを有する。プログラムファイル名５Ａは、入退管理装置４の各々に対応したプログラムファイル名を格納する。
【００３４】
ここでは、サーバ管理者がプログラムファイル編集装置３を用いて編集したプログラムファイルαをサーバ１に送り、サーバ側プログラムファイル記憶部１１のプログラムファイルαが編集されたプログラムファイルαに更新されたとする。サーバ側更新日時５Ｃが更新されることにより、プログラムファイルαに関するサーバ側管理テーブル５とコントローラ側管理テーブル６の内容が相違する。
【００３５】
例えば、扉“１”のセキュリティ動作を制御するプログラムファイルαに対する、サーバ側優先度５Ｂとコントローラ側優先度５Ｄがいずれも“０”で同じである。しかし、サーバ側更新日時５Ｃが“２０１６年７月１０日１８時００分”であるのに対し、コントローラ側更新日時５Ｅが“２０１６年６月１日１０時００分”である。このため、プログラムファイルαは、サーバ１に接続されたプログラムファイル編集装置３により更新された状態であるが、コントローラ２のプログラムファイルαは未更新の状態であることが示される。
【００３６】
図４は、コントローラ側管理テーブル６のテーブル構成図である。
コントローラ側管理テーブル６は、プログラムファイル名６Ａに加えて、上述したサーバ側優先度６Ｂ及びサーバ側更新日時６Ｃと、コントローラ側優先度６Ｄ及びコントローラ側更新日時６Ｅの各フィールドを有する。プログラムファイル名６Ａは、入退管理装置４の各々に対応したプログラムファイル名を格納する。
【００３７】
ここでは、コントローラ管理者がプログラムファイル編集装置３を用いて編集したプログラムファイルνをコントローラ２に送り、コントローラ側プログラムファイル記憶部２１のプログラムファイルνが編集されたプログラムファイルνに更新されたとする。コントローラ側更新日時６Ｅが更新されることにより、プログラムファイルνに関するサーバ側管理テーブル５とコントローラ側管理テーブル６の内容が相違する。
【００３８】
例えば、扉“３”のセキュリティ動作を制御するプログラムファイルνに対する、サーバ側優先度６Ｂが“１”であるのに対し、コントローラ側優先度６Ｄが“０”で異なる。また、サーバ側更新日時６Ｃが“２０１６年６月１日１０時００分”であるのに対し、コントローラ側更新日時６Ｅが“２０１６年８月１５日１３時００分”である。このため、プログラムファイルνは、コントローラ２に接続されたプログラムファイル編集装置３により更新された状態であるが、サーバ１のプログラムファイルνは未更新の状態であることが示される。なお、図４に示す例では、プログラムファイルνに対応するサーバ側優先度６Ｂがコントローラ側優先度６Ｄより高いので、編集されたプログラムファイルνは、サーバ側プログラムファイル記憶部１１に更新されない。
【００３９】
次に、プログラムファイル編集装置３により編集され、サーバ１に送信されたプログラムファイルが、プログラムファイル編集装置３からサーバ１に送信され、さらに、この編集されたプログラムファイルがコントローラ２に反映されるまでの処理を説明する。
【００４０】
図５は、セキュリティシステム１０におけるプログラムファイル更新方法の一例を示すフローチャートである。図５における説明において、図６と図７を参照して、コントローラ２、サーバ１の順に編集されたプログラムファイルを、コントローラ２とサーバ１が同期する例を合わせて説明する。
【００４１】
図６と図７は、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容の変化を示す説明図である。図６と図７には、図５における各ステップの処理の概要とステップ番号とを付している。
【００４２】
始めに、サーバ１がコントローラ２から編集されたプログラムファイルを取得する処理の例について説明する。この説明では、図５と図６を参照する。
【００４３】
サーバ１は、コントローラ２に対してコントローラ側管理テーブル６の送信を指示する。コントローラ２は、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルνに対応するコントローラ側優先度６Ｄとコントローラ側更新日時６Ｅをサーバ１に送信する。そして、サーバ１は、コントローラ２からコントローラ側優先度６Ｄとコントローラ側更新日時６Ｅとを取得し、サーバ側管理テーブル５のコントローラ側優先度５Ｄとコントローラ側更新日時５Ｅとを更新する。（Ｓ１）。
【００４４】
次に、サーバ側比較部１３は、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅとを比較する（Ｓ２）。サーバ側更新日時５Ｃがコントローラ側更新日時５Ｅと等しいか、新しい場合、ステップＳ５に移る。一方、サーバ側更新日時５Ｃがコントローラ側更新日時５Ｅより古い場合、サーバ側比較部１３は、サーバ側更新日時５Ｃよりコントローラ側更新日時５Ｅが新しいプログラムファイルを抽出する。本例では、プログラムファイルνを含む不図示の複数のプログラムファイルが抽出されるものとする。
【００４５】
続けて、サーバ側比較部１３は、ステップＳ２にて抽出したプログラムファイルに対応する、サーバ側優先度５Ｂとコントローラ側優先度５Ｄとを比較する（Ｓ３）。サーバ側優先度５Ｂがコントローラ側優先度５Ｄより高い場合、ステップＳ５に移る。一方、サーバ側優先度５Ｂがコントローラ側優先度５Ｄと等しいか、コントローラ側優先度５Ｄより低い場合、サーバ側比較部１３は、サーバ側優先度５Ｂと等しいか、高いコントローラ側優先度５Ｄが設定されたプログラムファイルを抽出する。本例では、コントローラ２に接続されたプログラムファイル編集装置３により、コントローラ側優先度６Ｄが“０”から“１”に更新されたことにより、サーバ側優先度５Ｂがコントローラ側優先度５Ｄと等しくなるため、プログラムファイルνが抽出される。
【００４６】
次に、サーバ１は、コントローラ２に対して、サーバ側比較部１３が抽出したプログラムファイルνと、プログラムファイルνに対応するコントローラ側更新日時６Ｅの送信を指示する。この指示により、コントローラ２は、プログラムファイルνと、プログラムファイルνに対応するコントローラ側更新日時６Ｅをサーバ１に送信する。そして、サーバ１のサーバ側更新部１４は、コントローラ２から受信したプログラムファイルνによりサーバ側プログラムファイル記憶部１１を更新する。また、サーバ側更新部１４は、コントローラ側更新日時６Ｅによりサーバ側更新日時５Ｃを更新する（Ｓ４）。
【００４７】
次に、サーバ１が、サーバ１に接続されたプログラムファイル編集装置３が編集したプログラムファイルにより、コントローラ２のプログラムファイルを更新する処理の例について説明する。この説明では、図５と図７を参照する。
【００４８】
始めに、サーバ１は、サーバ１に接続されたプログラムファイル編集装置３が編集したプログラムファイルをプログラムファイル編集装置３から受信し、サーバ側プログラムファイル記憶部１１を編集されたプログラムファイルで更新する（Ｓ５）。本例では、プログラムファイル編集装置３によりプログラムファイルαが編集され、サーバ側優先度５Ｂが“０”から“１”に更新されたものとする。編集されたプログラムファイルαに対応するサーバ側更新日時５Ｃは、プログラムファイル編集装置３がプログラムファイルαを編集した日時に更新される。
【００４９】
次に、サーバ側比較部１３は、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅとを比較する（Ｓ６）。サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅが等しい場合、本処理を終了する。一方、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅが異なる場合、サーバ側比較部１３は、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅが異なるプログラムファイルを抽出する。本例では、プログラムファイルαを含む不図示の複数のプログラムファイルが抽出されるものとする。
【００５０】
続けて、サーバ側比較部１３は、ステップＳ６にて抽出したプログラムファイルに対応する、サーバ側優先度５Ｂとコントローラ側優先度５Ｄとを比較する（Ｓ７）。サーバ側優先度５Ｂがコントローラ側優先度５Ｄより低い場合、本処理を終了する。一方、サーバ側優先度５Ｂがコントローラ側優先度５Ｄと等しいか、高い場合、サーバ側比較部１３は、コントローラ側優先度５Ｄと等しいか、高いサーバ側優先度５Ｂが設定されたプログラムファイルを抽出する。本例では、プログラムファイルαが抽出される。
【００５１】
次に、サーバ１は、コントローラ２に対して、サーバ側比較部１３が抽出したプログラムファイルαと、プログラムファイルαに対応するサーバ側優先度５Ｂ、サーバ側更新日時５Ｃを送信する。コントローラ２のコントローラ側更新部２４は、サーバ１から受信したプログラムファイルαによりコントローラ側プログラムファイル記憶部２１を更新する。また、コントローラ側更新部２４は、サーバ１から受信したサーバ側優先度５Ｂ、サーバ側更新日時５Ｃにより、サーバ側優先度６Ｂ、サーバ側更新日時６Ｃを更新する（Ｓ８）。
【００５２】
図６と図７に示したように、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルと、このプログラムファイルに対応する優先度、更新日時により、サーバ１のプログラムファイルと、優先度、更新日時が同期される。また、サーバ１に接続されたプログラムファイル編集装置３が編集したプログラムファイルと、このプログラムファイルに対応する優先度、更新日時により、コントローラ２のプログラムファイルと、優先度、更新日時が同期される。
【００５３】
セキュリティシステム１０では、コントローラ２によりプログラムファイルに対して不適切な編集がなされた場合には、サーバ１がプログラムファイルを元に戻す機能を有している。この処理について、図５、図８、図９を参照して説明する。
図８と図９は、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容の変化を示す説明図である。図８と図９には、図５における各ステップの処理の概要とステップ番号とを付している。
【００５４】
始めに、サーバ１が、コントローラ２に対して不適切な編集が行われたプログラムファイルを編集前の状態に戻す処理の例について説明する。この説明では、図５と図８を参照する。
【００５５】
サーバ１は、コントローラ２に対してコントローラ側管理テーブル６の送信を指示する。コントローラ２は、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルνに対応するコントローラ側優先度６Ｄとコントローラ側更新日時６Ｅをサーバ１に送信する。本例では、コントローラ側優先度６Ｄが“１”から“０”に変更され、コントローラ側更新日時６Ｅが“２０１６年６月１日１０時００分”から“２０１６年８月１５日１３時００分”に更新されている。そして、サーバ１は、コントローラ２からコントローラ側優先度６Ｄとコントローラ側更新日時６Ｅとを取得する（Ｓ１）。ただし、サーバ１で持つコントローラ側優先度５Ｄの“１”よりコントローラ２で持つコントローラ側優先度６Ｄの“０”が低いため、コントローラ側優先度５Ｄの更新は行われず、“１”のままとする。この場合、コントローラ側更新日時５Ｅの更新も行われない。そして、サーバ１は、コントローラ２から送信されたコントローラ側優先度６Ｄとコントローラ側更新日時６ＥをＲＡＭ Ｃ３に保存しておく。
【００５６】
次に、サーバ側比較部１３は、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅとを比較する（Ｓ２）。上述したように、サーバ側更新日時５Ｃより新しいコントローラ側更新日時５Ｅである複数のプログラムファイルが抽出されるが、プログラムファイルνについては、サーバ側更新日時５Ｃがコントローラ側更新日時５Ｅと等しいため、ステップＳ５に移る。ステップＳ３、Ｓ４について処理の詳細は省略する。このように、サーバ側管理テーブル５において、コントローラ側優先度５Ｄとコントローラ側更新日時５Ｅの更新は行われない。このため、サーバ側プログラムファイル記憶部１１におけるプログラムファイルνについても、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルνに更新されない。
【００５７】
次に、サーバ１が、サーバ側プログラムファイル記憶部１１に記憶される編集前のプログラムファイルにより、コントローラ２のプログラムファイルを更新する処理の例について説明する。この説明では、図５と図９を参照する。
【００５８】
図８に示したように、サーバ側プログラムファイル記憶部１１のプログラムファイルνは更新されていないため、図５のステップＳ５におけるプログラムファイルνの更新処理は行われない。
【００５９】
次に、サーバ側比較部１３は、サーバ側更新日時５Ｃとコントローラ側更新日時５Ｅとを比較する（Ｓ６）。ただし、図８に示したようにコントローラ側更新日時５Ｅが更新されていないため、サーバ側比較部１３は、サーバ側更新日時５Ｃと、ステップＳ１にて保存したコントローラ側更新日時６Ｅとを比較する。本例では、サーバ側更新日時５Ｃとコントローラ側更新日時６Ｅが異なるため、ステップＳ７に移る。
【００６０】
次に、サーバ側比較部１３は、サーバ側優先度５Ｂとコントローラ側優先度５Ｄとを比較する（Ｓ７）。ただし、図８に示したようにサーバ側優先度５Ｂが更新されていないため、サーバ側比較部１３は、サーバ側優先度５Ｂと、ステップＳ１にて取得したコントローラ側優先度６Ｄとを比較する。本例では、サーバ側優先度５Ｂより、コントローラ側優先度６Ｄの方が低い。
【００６１】
このため、サーバ１は、コントローラ２に対して、サーバ側比較部１３が抽出した編集前のプログラムファイルνと、プログラムファイルνに対応するコントローラ側優先度５Ｄ、コントローラ側更新日時５Ｅを送信する。コントローラ２は、サーバ１から受信した編集前のプログラムファイルνにより、コントローラ側プログラムファイル記憶部２１を更新する。また、コントローラ２は、サーバ１から受信したコントローラ側優先度５Ｄ、コントローラ側更新日時５Ｅにより、コントローラ側優先度６Ｄ、コントローラ側更新日時６Ｅを更新する（Ｓ８）。
【００６２】
図８と図９に示したように、コントローラ２に接続されたプログラムファイル編集装置３により不適切な編集が行われたプログラムファイルによりコントローラ側プログラムファイル記憶部２１が更新されても、サーバ１がプログラムファイルの更新を防ぐ。さらに、サーバ１は、編集前のプログラムファイルをコントローラ２に送信し、不適切な編集が行われたプログラムファイルを編集前の状態に戻すことができる。
【００６３】
以上説明した第１の接続例に係るセキュリティシステム１０では、サーバ１とコントローラ２がそれぞれ持つサーバ側管理テーブル５とコントローラ側管理テーブル６の一方のテーブルの内容が変更された場合には、他方のテーブルの内容が同期する。ここで、コントローラ２が記憶するプログラムファイルが変更された場合、サーバ１は、プログラムファイルの更新日時と優先度を考慮して、サーバ１が記憶するプログラムファイルの更新可否を判断する。そして、プログラムファイルの更新可である場合には、コントローラ２から送信された編集されたプログラムファイルと更新日時をサーバ１が記憶する。これにより、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容が同期される。このため、サーバ１とコントローラ２との間で、プログラムファイルと、優先度、更新日時の整合性を保つことができる。
【００６４】
また、サーバ１が記憶するプログラムファイルが変更された場合、サーバ１は、プログラムファイルの更新日時と優先度を考慮して、変更されたプログラムファイルと更新日時をコントローラ２に送信する。このため、コントローラ２は、サーバ１から受信したプログラムファイルと更新日時を記憶する。このようにサーバ１からコントローラ２に対して、編集されたプログラムファイルが送信された場合においても、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容が同期される。
【００６５】
また、サーバ１のプログラムファイルの優先度より、コントローラ２のプログラムファイルの優先度が低ければ、コントローラ２からサーバ１に対してプログラムファイルを更新することはできない。そして、サーバ１からコントローラ２に対して、編集前のプログラムファイルが送信され、コントローラ２のプログラムファイルは元に戻る。これにより、サーバ１は、コントローラ２から受信した低い優先度のプログラムファイルにより、サーバ１が記憶するプログラムファイルを上書きしてしまう事態を避けられる。
【００６６】
例えば、サーバ１では型式Ａの鍵に対応するプログラムファイルを管理していた場合に、実際に使用される入退管理装置４が型式Ｂの鍵に対応するプログラムファイルで動作する場合には、コントローラ２が型式Ｂの鍵に対応するプログラムファイルを管理する。このプログラムファイルに対する優先度がサーバ１よりコントローラ２の方が高ければ、コントローラ２からサーバ１に型式Ｂの鍵に対応するプログラムファイルを送信して、サーバ１が管理するプログラムファイルを型式Ａから型式Ｂに更新することが可能となる。一方、このプログラムファイルに対する優先度がサーバ１よりコントローラ２の方が低ければ、コントローラ２からサーバ１に型式Ｂの鍵に対応するプログラムファイルを送信してサーバ１が管理するプログラムファイルを更新することはできない。このようにサーバ１とコントローラ２との間でプログラムファイルの整合性を保つことができる。
【００６７】
また、コントローラ２からサーバ１へのプログラムファイルの送信が失敗した際には、サーバ１には古いプログラムファイルが残り、コントローラ２には新しいプログラムファイルが残る。このため、サーバ１とコントローラ２の間で同期できていなかったプログラムファイルの消失を避けることができる。この場合、コントローラ２は、サーバ１に対してプログラムファイルの再送信を行ってもよいし、一定時間以上プログラムファイルの送信ができない場合には、サーバ１から古いプログラムファイルを受信してプログラムファイルを元に戻してもよい。
【００６８】
＜第２の接続例＞
図１０は、第２の接続例に係るセキュリティシステム１０の構成例を示すブロック図である。ここでは、コントローラ２にプログラムファイル編集装置３が接続された第２の接続例について説明する。
【００６９】
第２の接続例に係るセキュリティシステム１０と、第１の接続例に係るセキュリティシステム１０とは、プログラムファイル編集装置３がコントローラ２に接続されている点が異なる。そして、コントローラ２にはプログラムファイル編集装置３から編集されたプログラムファイルが送信される。
【００７０】
図１１は、セキュリティシステム１０におけるプログラムファイル更新方法の一例を示すフローチャートである。第２の接続例では、上述した第１の接続例と同様に各部が動作するため、図６〜図９に相当する説明図の記載は省略する。また、図１１において、図５のフローチャートと同様の処理については適宜説明を省略する。
【００７１】
コントローラ２は、サーバ１に対してサーバ側管理テーブル５の送信を指示する。サーバ１は、サーバ１に接続されたプログラムファイル編集装置３が編集したプログラムファイルに対応するサーバ側優先度５Ｂとサーバ側更新日時５Ｃをコントローラ２に送信する。そして、コントローラ２は、サーバ１からサーバ側優先度５Ｂとサーバ側更新日時５Ｃとを取得し、コントローラ側管理テーブル６のサーバ側優先度６Ｂとサーバ側更新日時６Ｃとを更新する。（Ｓ１１）。
【００７２】
次に、コントローラ側比較部２３は、コントローラ側更新日時６Ｅとサーバ側更新日時６Ｃとを比較する（Ｓ１２）。コントローラ側更新日時６Ｅがサーバ側更新日時６Ｃと等しいか、新しい場合、ステップＳ１５に移る。一方、コントローラ側更新日時６Ｅがサーバ側更新日時６Ｃより古い場合、コントローラ側比較部２３は、コントローラ側更新日時６Ｅよりサーバ側更新日時６Ｃが新しいプログラムファイルを抽出する。
【００７３】
続けて、コントローラ側比較部２３は、ステップＳ１２にて抽出したプログラムファイルに対応する、コントローラ側優先度６Ｄとサーバ側優先度６Ｂとを比較する（Ｓ１３）。コントローラ側優先度６Ｄよりサーバ側優先度６Ｂが低い場合、ステップＳ１５に移る。一方、コントローラ側優先度６Ｄがサーバ側優先度６Ｂと等しいか、サーバ側優先度６Ｂが高い場合、コントローラ側比較部２３は、コントローラ側優先度６Ｄと等しいか、高いサーバ側優先度６Ｂが設定されたプログラムファイルを抽出する。
【００７４】
次に、コントローラ２は、サーバ１に対して、コントローラ側比較部２３が抽出したプログラムファイルと、プログラムファイルに対応するコントローラ側更新日時５Ｅの送信を指示する。この指示により、サーバ１は、プログラムファイルと、プログラムファイルに対応するコントローラ側更新日時５Ｅをコントローラ２に送信する。そして、コントローラ２のコントローラ側更新部２４は、サーバ１から受信したプログラムファイルによりコントローラ側プログラムファイル記憶部２１を更新する。また、コントローラ側更新部２４は、サーバ側更新日時５Ｃによりコントローラ側更新日時６Ｅを更新する（Ｓ１４）。
【００７５】
次に、コントローラ２が、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルにより、サーバ１のプログラムファイルを更新する処理の例について説明する。
【００７６】
始めに、コントローラ２は、コントローラ２に接続されたプログラムファイル編集装置３が編集したプログラムファイルをプログラムファイル編集装置３から受信する。そして、コントローラ２は、コントローラ側プログラムファイル記憶部２１を編集されたプログラムファイルで更新する（Ｓ１５）。編集されたプログラムファイルに対応するコントローラ側更新日時６Ｅは、プログラムファイル編集装置３がプログラムファイルを編集した日時に更新される。
【００７７】
次に、コントローラ側比較部２３は、コントローラ側更新日時６Ｅとサーバ側更新日時６Ｃとを比較する（Ｓ１６）。コントローラ側更新日時６Ｅとサーバ側更新日時６Ｃが等しい場合、本処理を終了する。一方、コントローラ側更新日時６Ｅとサーバ側更新日時６Ｃが異なる場合、コントローラ側比較部２３は、コントローラ側更新日時６Ｅとサーバ側更新日時６Ｃが異なるプログラムファイルを抽出する。
【００７８】
続けて、コントローラ側比較部２３は、ステップＳ１６にて抽出したプログラムファイルに対応する、コントローラ側優先度６Ｄとサーバ側優先度６Ｂとを比較する（Ｓ１７）。コントローラ側優先度６Ｄがサーバ側優先度６Ｂより低い場合、本処理を終了する。一方、コントローラ側優先度６Ｄがサーバ側優先度６Ｂと等しいか、高い場合、コントローラ側比較部２３は、サーバ側優先度６Ｂと等しいか、高いコントローラ側優先度６Ｄが設定されたプログラムファイルを抽出する。
【００７９】
次に、コントローラ２は、サーバ１に対して、コントローラ側比較部２３が抽出したプログラムファイルと、プログラムファイルに対応するコントローラ側優先度６Ｄ、コントローラ側更新日時６Ｅを送信する。サーバ１のサーバ側更新部１４は、コントローラ２から受信した編集前のプログラムファイルにより、サーバ側プログラムファイル記憶部１１を更新する。また、サーバ側更新部１４は、コントローラ２から受信したコントローラ側優先度６Ｄ、コントローラ側更新日時６Ｅにより、コントローラ側優先度５Ｄ、コントローラ側更新日時５Ｅを更新する（Ｓ１８）。
【００８０】
以上説明した第２の接続例に係るセキュリティシステム１０においても、第１の接続例に係るセキュリティシステム１０と同様に、更新日時と優先度を考慮してプログラムファイルの更新を管理することができる。そして、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容が同期される。ここで、サーバ１が記憶するプログラムファイルが変更された場合、コントローラ２は、プログラムファイルの更新日時と優先度を考慮して、コントローラ２が記憶するプログラムファイルの更新可否を判断する。そして、プログラムファイルの更新可である場合には、サーバ１から送信された編集されたプログラムファイルと更新日時をコントローラ２が記憶する。これにより、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容が同期される。このため、サーバ１とコントローラ２との間で、プログラムファイルと、優先度、更新日時の整合性を保つことができる。
【００８１】
また、コントローラ２が記憶するプログラムファイルが変更された場合、コントローラ２は、プログラムファイルの更新日時と優先度を考慮して、変更されたプログラムファイルと更新日時をサーバ１に送信する。このため、サーバ１は、コントローラ２から受信したプログラムファイルと更新日時を記憶する。このようにコントローラ２からサーバ１に対して、編集されたプログラムファイルが送信された場合においても、サーバ側管理テーブル５とコントローラ側管理テーブル６の内容が同期される。
【００８２】
また、コントローラ２のプログラムファイルの優先度より、サーバ１のプログラムファイルの優先度が低ければ、サーバ１からコントローラ２に対して、編集前のプログラムファイルを更新することはできない。そして、コントローラ２からサーバ１に対して、編集前のプログラムファイルが送信され、サーバ１のプログラムファイルは元に戻る。これにより、コントローラ２は、サーバ１から受信した低い優先度のプログラムファイルにより、コントローラ２が記憶するプログラムファイルを上書きしてしまう事態を避けられる。
【００８３】
また、サーバ１からコントローラ２へのプログラムファイルの送信が失敗した際には、コントローラ２には古いプログラムファイルが残り、サーバ１には新しいプログラムファイルが残る。このため、サーバ１とコントローラ２の間で同期できていなかったプログラムファイルの消失を避けることができる。
【００８４】
［変形例］
なお、上述した実施の形態例において、コントローラ２に接続したプログラムファイル編集装置３を用いてコントローラ側優先度６Ｄを変更する操作は特定の管理者に限定することが望ましい。このため、ある管理者がコントローラ側優先度６Ｄを変更しようとすると、特定の管理者だけが知っている認証コードの入力を促す画面をプログラムファイル編集装置３に表示し、正しい認証コードが入力された場合に、コントローラ側優先度６Ｄを変更可能とする。また、コントローラ側優先度６Ｄの変更を確認するための画面をプログラムファイル編集装置３に表示することで、管理者が意図せず優先度を変更することを防いでもよい。
【００８５】
また、サーバ１又はコントローラ２にプログラムファイル編集装置３が接続されていなくてもよい。この場合、プログラムファイル編集装置３が編集したプログラムファイルを外部記憶媒体に記憶し、この記憶媒体をサーバ１又はコントローラ２に接続してプログラムファイルを読込ませてもよい。
【００８６】
また、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態例は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態例の構成の一部を他の実施の形態例の構成に置き換えることは可能であり、さらにはある実施の形態例の構成に他の実施の形態例の構成を加えることも可能である。また、各実施の形態例の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８７】
１…サーバ、２…コントローラ、３…プログラムファイル編集装置、４…入退管理装置、５…サーバ側管理テーブル、６…コントローラ側管理テーブル、１０…セキュリティシステム、１１…サーバ側プログラムファイル記憶部、１２…サーバ側管理テーブル記憶部、１３…サーバ側比較部、１４…サーバ側更新部、２１…コントローラ側プログラムファイル記憶部、２２…コントローラ側管理テーブル記憶部、２３…コントローラ側比較部、２４…コントローラ側更新部
【図１】
2018028796.tif 000003
【図２】
2018028796.tif 000004
【図３】
2018028796.tif 000005
【図４】
2018028796.tif 000006
【図５】
2018028796.tif 000007
【図６】
2018028796.tif 000008
【図７】
2018028796.tif 000009
【図８】
2018028796.tif 000010
【図９】
2018028796.tif 000011
【図１０】
2018028796.tif 000012
【図１１】
2018028796.tif 000013