特許第5835090号(P5835090)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧
特許5835090複数装置の誤動作防止装置及び複数装置の誤動作防止方法
<>
  • 特許5835090-複数装置の誤動作防止装置及び複数装置の誤動作防止方法 図000002
  • 特許5835090-複数装置の誤動作防止装置及び複数装置の誤動作防止方法 図000003
  • 特許5835090-複数装置の誤動作防止装置及び複数装置の誤動作防止方法 図000004
  • 特許5835090-複数装置の誤動作防止装置及び複数装置の誤動作防止方法 図000005
  • 特許5835090-複数装置の誤動作防止装置及び複数装置の誤動作防止方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5835090
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】複数装置の誤動作防止装置及び複数装置の誤動作防止方法
(51)【国際特許分類】
   G06F 21/12 20130101AFI20151203BHJP
【FI】
   G06F21/12
【請求項の数】4
【全頁数】13
(21)【出願番号】特願2012-109015(P2012-109015)
(22)【出願日】2012年5月11日
(65)【公開番号】特開2013-235525(P2013-235525A)
(43)【公開日】2013年11月21日
【審査請求日】2014年9月30日
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100112210
【弁理士】
【氏名又は名称】稲葉 忠彦
(74)【代理人】
【識別番号】100108431
【弁理士】
【氏名又は名称】村上 加奈子
(74)【代理人】
【識別番号】100153176
【弁理士】
【氏名又は名称】松井 重明
(74)【代理人】
【識別番号】100109612
【弁理士】
【氏名又は名称】倉谷 泰孝
(72)【発明者】
【氏名】三浦 昭浩
【審査官】 打出 義尚
(56)【参考文献】
【文献】 特開2005−301968(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/12
(57)【特許請求の範囲】
【請求項1】
通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成手段と、
前記各々の装置が記憶するプログラムから一方向性関数を用いて生成された前記プログラムダイジェストと前記装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、
前記各々の装置で動作するプログラムの組合せで実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて前記生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段と、
を備えたことを特徴とする誤動作防止装置。
【請求項2】
通信可能に接続された自他複数の装置の各々の種類と装置固体とが識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成手段と、
を備えたことを特徴とする請求項1に記載の誤動作防止装置。
【請求項3】
請求項1記載の実行可能プログラム情報を格納する実行可能プログラム情報記憶手段と、
前記実行可能プログラム情報の更新するためのデータを取得する更新データ取得手段と、
前記取得された更新データを用いて更新された実行可能プログラム情報を生成し、実行可能プログラム情報記憶手段に格納された実行可能プログラム情報を更新する実行可能プログラム情報更新手段と、
を備えたことを特徴とする請求項1または2に記載の誤動作防止装置。
【請求項4】
通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成ステップと、
前記各々の装置が記憶するプログラムから一方向性関数を用いて生成された前記プログラムダイジェストと前記装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成ステップと、
前記各々の装置で動作するプログラムの組合せで実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて前記生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断ステップと、
を有する誤動作防止方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数の装置の誤動作を防止する技術に関するものである。
【背景技術】
【0002】
プログラム動作可能な装置において、そのプログラムのバージョンアップについて、装置ユーザが、インターネット上などからバージョンアップされたプログラムを入手してアップデートを行うことができる。しかし、そのプログラムは通常、実行可能な(動作保証されている)装置の構成やハードウェアバージョンが決まっており、保証されていないバージョンのプログラムを装置に書き込んでしまうと装置が動作しない。
【0003】
これにより、装置とプログラムの組合せをチェックして、プログラムの誤動作を防止する方法として、装置の個体識別情報とプログラムから作成されたハッシュコードと比較して、その比較結果に応じて組込み装置上でのプログラムの実行を制限する方法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−301968号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように暗号化された装置の個体識別情報とプログラムから生成したダイジェスト(ハッシュ値)を装置で実行する際に、装置の個体識別情報と装置内のプログラムから再生成したダイジェストをと、復号化したダイジェストとを比較チェックする方法では、あらかじめ装置とプログラムの関連付けを行うことで、プログラムの改ざんと不正コピーを防止することが目的である。このため、異なる機能を持った複数の装置を組合せて構成する場合において、複数の装置の組みあわせの中で実行可能なプログラムかどうかを判断することができない問題がある。
【0006】
本発明は上記のような問題点を解決するためになされたもので、異なる機能を持った複数の装置を組合せて構成する場合において、複数の装置の組みあわせの中で実行可能なプログラムかどうかを判断することを目的とする。
【課題を解決するための手段】
【0007】
この発明は、通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成手段と、各々の装置が記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、各々の装置で動作するプログラムの組合せで、実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段を備えたことを特徴とする。
【発明の効果】
【0008】
この発明は、通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成手段と、各々の装置が記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、各々の装置で動作するプログラムの組合せで、実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段を備えたので、複数の装置を構成する装置の種類情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【図面の簡単な説明】
【0009】
図1】実施の形態1における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図。
図2】実施の形態1における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャート。
図3】実施の形態2における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図。
図4】実施の形態2における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャート。
図5図5は実施の形態3における誤動作防止装置100の構成図である。
【発明を実施するための形態】
【0010】
実施の形態1.
実施の形態1では複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置について説明する。
【0011】
図1は実施の形態1における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図である。
【0012】
誤動作防止装置100は、複数の他装置101、102、103と通信可能に接続されている。
誤動作防止装置100の構成について説明する。
装置情報抽出要求部1は、接続されている全ての装置の装置情報を収集するために他装置101、102、103に対して、装置情報の収集を要求する。
装置情報記憶部2aは、装置の種別、接続順番、型番、ハードウェアバージョンなどの、誤動作防止装置100の製品の種類が識別可能な装置情報を格納する。
【0013】
装置情報抽出部3aは、装置情報記憶部2aに格納されている情報を抽出する。
プログラム記憶部4aは、誤動作防止装置100の動作を制御するためのソフトウェア(プログラム)を格納する。
プログラムダイジェスト生成部5aは、プログラム記憶部4aに格納されたソフトウェア(プログラム)に対して一方向性関数(ハッシュ関数)を用いてプログラムのダイジェスト(ハッシュ値)を生成する。
【0014】
装置構成ID生成部7は、装置情報抽出要求部1にて収集した他装置101、102、103の装置情報と、装置情報抽出部3aから取得した誤動作防止装置100の装置情報に基づいて、他の装置の組み合わせと識別可能な符号である装置構成ID(identificationの略)を生成する。
実行可否判断情報生成部8は、装置構成ID生成部7で生成した装置構成IDと誤動作防止装置100のプログラムダイジェスト生成部5a、と他装置101、102、103のプログラムダイジェスト生成部5bにて生成したプログラムのダイジェストから一方向性関数を用いての誤動作防止装置100と他装置101、102、103との組合せにて動作可能なプログラムであるかどうかを判断するための実行可否判断情報を生成する。
【0015】
実行可能プログラム情報記憶部9は、誤動作防止装置100と他装置101、102、103にて動作するプログラムまたはプログラムのバージョンの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を格納する。
実行可能プログラム情報記憶部9には、実行可否判断情報生成部8にて生成される実行可否判断情報と同じフォーマットの情報が、実行可能な全てのプログラムの組合せ数だけリスト化されて格納されている。
プログラム実行可否判断部10は、実行可否判断情報生成部8にて生成した実行可否判断情報と実行可能プログラム情報記憶部9に格納されている実行可能プログラム情報とを比較し、実行可能プログラム情報記憶部9に一致する情報が見つかった場合はプログラムの実行可と判断し、見つからなかった場合は実行不可と判断する。
【0016】
実行可否判断結果通知部11は、プログラム実行可否判断部10にて判断されたプログラムの実行可否の判断結果をプログラム実行部12a及び他装置101、102、103のプログラム実行部12bに通知する。
プログラム実行部12aは、実行可否判断結果通知部11からの通知を受けてプログラム実行可否判断部10の判断結果に基づいて判断結果が実行可能と判断された場合にのみ、制御プログラム記憶部4aに記憶されたプログラムを読み出し、実行する。
【0017】
次に他装置101、102、103の構成について説明する。尚、以下説明する他装置101の構成については、同様の機能が他装置102及び103に含まれているものとする。
装置情報記憶部2bは、装置の種別、接続順番、型番、ハードウェアバージョンなどの、他装置の製品の種類が識別可能な装置情報を格納する。
【0018】
装置情報抽出部3bは、装置情報記憶部2bに格納されている情報を抽出する。
プログラム記憶部4bは、他装置101の動作を制御するためのソフトウェア(プログラム)を格納する。
プログラムダイジェスト生成部5bは、プログラム記憶部4aに格納されたソフトウェア(プログラム)に対して一方向性関数(ハッシュ関数)を用いてプログラムのダイジェスト(ハッシュ値)を生成する。
【0019】
要求受付部6は、誤動作防止装置100の装置情報抽出要求部1からの要求の受け取りと、要求内容の解析および受け取った要求内容に応じて、装置情報抽出部3bに装置情報の抽出と回答の命令や、プログラムダイジェスト生成部5bにプログラムのダイジェストの生成と回答の命令を出すと共に、装置情報抽出部3bからの装置情報とプログラムダイジェスト生成部5bからのプログラムのダイジェストを誤動作防止装置100の装置情報抽出要求部1に伝送する。
【0020】
プログラム実行部12bは、誤動作防止装置100の実行可否判断結果通知部11からの通知を受けて、誤動作防止装置100のプログラム実行可否判断部10の判断結果に基づいて判断結果が実行可能と判断された場合にのみ、制御プログラム記憶部4bに記憶されたプログラムを読み出し、実行する。
【0021】
次に動作について説明する。
図2は、実施の形態1における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャートである。
【0022】
ステップS101において、誤動作防止装置100と他装置101、102、103とが各々プログラムの実行を開始する前に誤動作防止装置100の装置情報抽出要求部1は、他装置101、102、103に対して装置の種別、接続順番、型番、ハードウェアバージョンなどの装置情報を要求する。
また、この時、誤動作防止装置100は、他装置101、102、103他装置の接続順番または、接続されている装置の数を確認する。この接続順番と接続されている装置の数については、図1の装置構成ID生成部にて生成される装置構成IDに利用してもよい。
【0023】
ステップS102において装置情報抽出要求部1からの指示を受け取った他装置101、102、103の要求受付部6は、装置情報抽出部3bに、装置情報記憶部2bに格納されている他装置の種別や型番、ハードウェアバージョンといった装置情報を抽出するよう指示し、装置情報を得る。
他装置の種別とは、他装置の機能を意味するものであり、例えば装置内のCPUや通信機能、データ表示機能、データ管理機能が該当する。
要求受付部6は、抽出した装置情報を誤動作防止装置100の装置情報抽出要求部1に返す。
【0024】
ステップS103において、装置構成ID生成部7は、装置情報抽出要求部1にある要求受付部6より受け取った装置情報と、装置情報抽出部3aに要求して得た、装置情報記憶部2aに格納されている誤動作防止装置100の装置情報とから、他装置の接続順番と装置数などの情報を利用して装置構成IDを生成する。装置構成IDの生成方法には様々な方法が考えられる。装置の種別には、あらかじめ識別情報を割り当てておくこととし、装置情報記憶部2a、2bにはこの識別情報が格納されていることとしてもよい。装置構成IDは、接続されている装置の数と装置の種別に割り当てられている識別情報によって示した装置の接続順番と装置の型番をつなぎ合わせてもよい。要は誤動作防止装置100だけではなく、他装置101、102、103に一部または全ての装置情報を用いて装置構成IDを生成することで、正常動作が確認できた複数装置とその各々がもつ複数プログラム情報を管理し、接続されている装置の変更があったことを認知できるようにすることである。
【0025】
ステップS104において、実行可否判断情報生成部8は、他装置101、102、103の要求受付部6に対して他装置101、102、103各々のプログラムのダイジェストの生成を要求する。
ステップ105において、要求を受けた要求受付部6はプログラムダイジェスト生成部5bに対してプログラムのダイジェスト生成を指示する。プログラムダイジェスト生成部5bは、プログラム記憶部4bに格納されているプログラムから一方向性関数を用いてプログラムのダイジェスト(ハッシュ値)を生成し、生成したプログラムのダイジェストを要求受付部6に返す。
【0026】
ステップS106において、実行可否判断生成部8は、要求受付部6に返された他装置101、102、103各々プログラムのダイジェストと、プログラム記憶部4aに格納されたプログラムからプログラムダイジェスト生成部5aが生成したプログラムダイジェストと、装置構成ID生成部7が生成した装置構成IDとを用いて実行可否判断情報を一方向性関数を用いて生成する。
誤動作防止装置100だけではなく、他装置101、102、103に一部または全ての装置情報を用いて実行可否判断情報を生成することで、正常動作が確認できた複数装置とその各々がもつ複数プログラム情報を管理し、接続されている装置の変更だけではなく各々のプログラムの変更があったことも認知できるようにすることである。
【0027】
ステップS107において、プログラム実行可否判断部10は、実行可否判断情報生成部8にて生成した実行可否判断情報と実行可能プログラム情報記憶部9に格納されている接続されている装置の組合せに応じて実行可能なプログラムの組合せを示す実行可能プログラム情報とを比較チェックして、一致する実行可能プログラム情報の有無を確認することで、実行可能なプログラムの組合せか否かを確認する。
なお、実行可能プログラム情報記憶部9に格納されている実行可能プログラム情報は、誤動作防止装置100の製品出荷時にあらかじめ搭載されるプログラムが固定の場合には、実行可否判断情報生成部8にて実施したアルゴリズムと同じ方法にて実行可能なプログラムの全ての組合せに対する実行可能プログラム情報を生成し、格納しておいても良い。また、製品出荷時にあらかじめ搭載されるプログラムが固定されておらず、ユーザがプログラムをインストールして設定する場合には、通信回線を用いて実行可能プログラム情報をダウンロードし、格納してもよい。
【0028】
実行可能なプログラムの組み合わせである場合には、ステップS108において、プログラムの実行が可能であると判断し、プログラム実行可否判断部10が、プログラムの実行可否判断結果を実行可否判断結果通知部11に伝え、実行可否判断結果通知部11が、他装置101、102、103のプログラム実行部12b及び誤動作防止装置100のプログラム実行部12aに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置101、102、103のプログラム実行部12bまたは誤動作防止装置100のプログラム実行部12aは、プログラムを実行する。
【0029】
実行可能なプログラムの組み合わせでない場合には、ステップS109において、プログラムの実行が不可能であると判断し、プログラム実行可否判断部10が、プログラムの実行可否判断結果を実行可否判断結果通知部11に伝え、実行可否判断結果通知部11が、他装置101、102、103のプログラム実行部12b及び誤動作防止装置100のプログラム実行部12aに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置101、102、103のプログラム実行部12bまたは誤動作防止装置100のプログラム実行部12aは、プログラムの実行を中止する。
【0030】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置100及び通信可能に接続された他の複数の装置101、102、103の種類が個別識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成部7と、誤動作防止装置100及び通信可能に接続された他の複数の装置101、102、103が各々記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成部8と、誤動作防止装置100と他装置101、102、103にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断部10を備えたので、複数の装置を構成する装置の種類情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【0031】
実施の形態2.
実施の形態1では、複数の装置の組み合わせにおいて動作可能な実行可能プログラム情報に基づいてプログラムの誤動作を防止することとしていたが、本実施の形態では、組み合わせられた複数の装置のみでプログラムを実行可能としたい場合において、複数の装置の構成情報とプログラムのダイジェスト以外に各装置の個体識別情報も組合せて、組込み装置で実行可能なプログラムの組合せを実行前にチェックし、プログラムの誤動作を防止するための機能について説明する。
【0032】
図3は実施の形態2における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図である。
基本的には実施の形態1と同じであるため、構成、動作の異なる部分についてのみ説明する。
【0033】
本実施の形態の概要としては、実施の形態1と同様に、複数の装置の構成に応じて実行可能なプログラムの組合せをチェックする際に、誤動作防止装置100と他装置101、102、103のそれぞれの個体識別情報(例えば製造番号)も組合せて装置構成ID、実行可否判断情報、を生成し、プログラム実行可否判断部10にて判断した結果に基づいてプログラムの実行を制御するプログラムの誤動作防止装置である。
【0034】
図3において、誤動作防止装置100の装置情報抽出部3aは、装置情報記憶部2aに格納されている情報を抽出と、装置個体識別情報記憶部13aに格納されている装置個体識別情報を抽出する。
装置個体識別情報記憶部13aは、誤動作防止装置100を個体識別するためのあらかじめ設定されている装置個体識別情報を格納するものであり、装置個体識別情報は例えば、製造番号やMACアドレスなど装置個体を識別できる情報であればなんでも良い。
【0035】
同様に、他装置101、102、103の装置情報抽出部3bは、装置情報記憶部2bに格納されている情報を抽出と、装置個体識別情報記憶部13bに格納されている装置個体識別情報を抽出する。
装置個体識別情報記憶部13bは、他装置101、102、103を個体識別するためのあらかじめ設定されている装置個体識別情報を格納するものであり、装置個体識別情報は例えば、製造番号やMACアドレスなど装置個体を識別できる情報であればなんでも良い。
【0036】
次に動作について説明する。
図4は、実施の形態2における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャートである。
ステップS201において、誤動作防止装置100と他装置101、102、103とが各々プログラムの実行を開始する前に誤動作防止装置100の装置情報抽出要求部1は、他装置101、102、103に対して装置の種別、接続順番、型番、ハードウェアバージョンなどの装置情報と、装置個体識別情報を要求する。
また、この時、誤動作防止装置100は、他装置101、102、103他装置の接続順番または、接続されている装置の数を確認する。この接続順番と接続されている装置の数については、図1の装置構成ID生成部にて生成される装置構成IDに利用してもよい。
【0037】
ステップS202において装置情報抽出要求部1からの指示を受け取った他装置101、102、103の要求受付部6は、装置情報抽出部3bに、装置情報記憶部2bに格納されている他装置の種別や型番、ハードウェアバージョンといった装置情報を抽出するよう指示し、装置情報を得ると共に、装置個体識別情報記憶部13bに格納されている装置個体識別情報の抽出を指示し、装置個体識別情報を得る。
要求受付部6は、抽出した装置情報を誤動作防止装置100の装置情報抽出要求部1に返す。
【0038】
ステップS203において、装置構成ID生成部7は、装置情報抽出要求部1にある要求受付部6より受け取った装置情報及び装置個体識別情報と、装置情報抽出部3aに要求して得た、装置情報記憶部2aに格納されている誤動作防止装置100の装置情報と装置個体識別情報記憶部13aに格納されている装置個体識別情報とから、他装置の接続順番と装置数などの情報を利用して装置構成IDを生成する。
【0039】
ステップS204において、実行可否判断情報生成部8は、他装置101、102、103の要求受付部6に対して他装置101、102、103各々のプログラムのダイジェストの生成を要求する。
ステップS205において、要求を受けた要求受付部6はプログラムダイジェスト生成部5bに対してプログラムのダイジェスト生成を指示する。プログラムダイジェスト生成部5bは、プログラム記憶部4bに格納されているプログラムから一方向性関数を用いてプログラムのダイジェスト(ハッシュ値)を生成し、生成したプログラムのダイジェストを要求受付部6に返す。
【0040】
ステップS206において、実行可否判断生成部8は、要求受付部6に返された他装置101、102、103各々プログラムのダイジェストと、プログラム記憶部4aに格納されたプログラムからプログラムダイジェスト生成部5aが生成したプログラムダイジェストと、装置構成ID生成部7が生成した装置構成IDとを用いて実行可否判断情報を一方向性関数を用いて生成する。
【0041】
ステップS207において、プログラム実行可否判断部10は、実行可否判断情報生成部8にて生成した実行可否判断情報と実行可能プログラム情報記憶部9に格納されている接続されている装置の組合せに応じて実行可能なプログラムの組合せを示す実行可能プログラム情報とを比較チェックして、一致する実行可能プログラム情報の有無を確認することで、実行可能なプログラムの組合せか否かを確認する。
なお、実行可能プログラム情報記憶部9に格納されている実行可能プログラム情報は、誤動作防止装置100の製品出荷時にあらかじめ搭載されるプログラムが固定の場合には、実行可否判断情報生成部8にて実施したアルゴリズムと同じ方法にて実行可能なプログラムの全ての組合せと、使用される装置個別情報とを組み合わせた実行可能プログラム情報を生成し、格納しておく。
【0042】
実行可能なプログラムの組み合わせである場合には、ステップS208において、プログラムの実行が可能であると判断し、プログラム実行可否判断部10が、プログラムの実行可否判断結果を実行可否判断結果通知部11に伝え、実行可否判断結果通知部11が、他装置101、102、103のプログラム実行部12b及び誤動作防止装置100のプログラム実行部12aに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置101、102、103のプログラム実行部12bまたは誤動作防止装置100のプログラム実行部12aは、プログラムを実行する。
【0043】
実行可能なプログラムの組み合わせでない場合には、ステップS209において、プログラムの実行が不可能であると判断し、プログラム実行可否判断部10が、プログラムの実行可否判断結果を実行可否判断結果通知部11に伝え、実行可否判断結果通知部11が、他装置101、102、103のプログラム実行部12b及び誤動作防止装置100のプログラム実行部12aに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置101、102、103のプログラム実行部12bまたは誤動作防止装置100のプログラム実行部12aは、プログラムの実行を中止する。
【0044】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置100及び通信可能に接続された他の複数の装置101、102、103の種類と装置固体とが識別できる装置情報を用いて装置構成IDを生成する装置構成ID生成部7と、誤動作防止装置100及び通信可能に接続された他の複数の装置101、102、103が各々記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成IDとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成部8と、誤動作防止装置100と他装置101、102、103にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断部10を備えたので、複数の装置を構成する装置の個体識別情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【0045】
実施の形態3.
本実施の形態では、実施の形態1または2における複数の装置の構成の組み合わせに応じて実行可能なプログラムの組合せをチェックするために利用する実行可能プログラム情報記憶部9に格納されている実行可能プログラム情報を更新するための機能について説明する。
図5は実施の形態3における誤動作防止装置100の構成図である。
以下構成について説明するが、実施の形態1または2と異なる部分についてのみ説明する。
【0046】
図5において、更新データ取得部14は誤動作防止装置100と他装置101、102、103の構成の組み合わせに応じて実行可能なプログラムの組合せである実行可能プログラム情報を更新するために必要な情報(更新データ)を取得する。
実行可能プログラム情報更新部15は、更新データ取得部14で取得した実行可能プログラム情報の更新に必要な情報(更新データ)を実行可能プログラム情報記憶部9に更新する。
【0047】
実行可能プログラム情報を更新する際の動作について説明する。
更新データ取得部14は、誤動作防止装置100へのユーザからの指示に従い実行可能プログラム情報の更新に必要な更新データを取得する。取得する方法としては、例えば、誤動作防止装置100にてメモリカードの読み込みができる場合はそのメモリカードから取得する方法や、ネットワークを経由して実行可能プログラム情報の更新に必要な更新データを取得する方法が考えられる。更新データ取得部14は、取得した更新データを実行可能プログラム情報更新部15に渡す。
【0048】
次に、実行可能プログラム情報更新部15は、受け取った更新データに基づいて、実行可能プログラム情報記憶部9に可能されている実行可能プログラム情報を更新する。
尚、実施の形態2の場合は、使用される誤動作防止装置100及び他装置101,102,103が限定されているため、実行可能プログラム情報更新部15は、それらの装置固体情報も含めて更新される実行可能プログラム情報を生成し、実行可能プログラム情報を更新する。
【0049】
なお、実行可能プログラム情報記憶部9に実行可能プログラム情報を格納する際、実行可能プログラム情報のバージョンや作成日時の情報も格納しておくこととする。実行可能プログラム情報更新部15は、実行可能プログラム情報記憶部9の実行可能プログラム情報を更新する前に、実行可能プログラム情報記憶部9内の実行可能プログラムと更新データの作成日やバージョンとをチェックして、更新データの方が新しいことを確認してから更新することとし、更新データの方が古い場合は実行可能プログラム情報を更新できないこととする。
【0050】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置100と他装置101、102、103にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を格納する実行可能プログラム情報記憶部と、実行可能プログラム情報の更新するためのデータを取得する更新データ取得部と、取得された更新データを用いて更新された実行可能プログラム情報を生成し、実行可能プログラム情報記憶部に格納された実行可能プログラム情報を更新する実行可能プログラム情報更新部を備えたので、複数の装置を構成する装置の個体識別情報の組み合わせに対応する実行可能なプログラムの組合せを更新することができる。
【符号の説明】
【0051】
1 装置情報抽出要求部
2a、2b 装置情報記憶部
3a、3b 装置情報抽出部
4a、4b プログラム記憶部
5a、5b プログラムダイジェスト生成部
6 要求受付部
7 装置構成ID生成部
8 実行可否判断情報生成部
9 実行可能プログラム情報記憶部
10 プログラム実行可否判断部
11 実行可否判断結果通知部
12a、12b プログラム実行部
13a、13b 装置個体識別情報記憶部
14 更新データ取得部
15 実行可能プログラム情報更新部
100 誤動作防止装置
101 他装置
102 他装置
103 他装置
図1
図2
図3
図4
図5