(57)【特許請求の範囲】
【請求項１】
通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成手段と、
前記各々の装置が記憶するプログラムから一方向性関数を用いて生成された前記プログラムダイジェストと前記装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、
前記各々の装置で動作するプログラムの組合せで実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて前記生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段と、
を備えたことを特徴とする誤動作防止装置。
【請求項２】
通信可能に接続された自他複数の装置の各々の種類と装置固体とが識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成手段と、
を備えたことを特徴とする請求項１に記載の誤動作防止装置。
【請求項３】
請求項１記載の実行可能プログラム情報を格納する実行可能プログラム情報記憶手段と、
前記実行可能プログラム情報の更新するためのデータを取得する更新データ取得手段と、
前記取得された更新データを用いて更新された実行可能プログラム情報を生成し、実行可能プログラム情報記憶手段に格納された実行可能プログラム情報を更新する実行可能プログラム情報更新手段と、
を備えたことを特徴とする請求項１または２に記載の誤動作防止装置。
【請求項４】
通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成ステップと、
前記各々の装置が記憶するプログラムから一方向性関数を用いて生成された前記プログラムダイジェストと前記装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成ステップと、
前記各々の装置で動作するプログラムの組合せで実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて前記生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断ステップと、
を有する誤動作防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の装置の誤動作を防止する技術に関するものである。
【背景技術】
【０００２】
プログラム動作可能な装置において、そのプログラムのバージョンアップについて、装置ユーザが、インターネット上などからバージョンアップされたプログラムを入手してアップデートを行うことができる。しかし、そのプログラムは通常、実行可能な（動作保証されている）装置の構成やハードウェアバージョンが決まっており、保証されていないバージョンのプログラムを装置に書き込んでしまうと装置が動作しない。
【０００３】
これにより、装置とプログラムの組合せをチェックして、プログラムの誤動作を防止する方法として、装置の個体識別情報とプログラムから作成されたハッシュコードと比較して、その比較結果に応じて組込み装置上でのプログラムの実行を制限する方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３０１９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように暗号化された装置の個体識別情報とプログラムから生成したダイジェスト（ハッシュ値）を装置で実行する際に、装置の個体識別情報と装置内のプログラムから再生成したダイジェストをと、復号化したダイジェストとを比較チェックする方法では、あらかじめ装置とプログラムの関連付けを行うことで、プログラムの改ざんと不正コピーを防止することが目的である。このため、異なる機能を持った複数の装置を組合せて構成する場合において、複数の装置の組みあわせの中で実行可能なプログラムかどうかを判断することができない問題がある。
【０００６】
本発明は上記のような問題点を解決するためになされたもので、異なる機能を持った複数の装置を組合せて構成する場合において、複数の装置の組みあわせの中で実行可能なプログラムかどうかを判断することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成手段と、各々の装置が記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、各々の装置で動作するプログラムの組合せで、実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段を備えたことを特徴とする。
【発明の効果】
【０００８】
この発明は、通信可能に接続された自他複数の装置の各々の種類が識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成手段と、各々の装置が記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成手段と、各々の装置で動作するプログラムの組合せで、実行可能なプログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断手段を備えたので、複数の装置を構成する装置の種類情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図。
【図２】実施の形態１における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャート。
【図３】実施の形態２における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図。
【図４】実施の形態２における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャート。
【図５】図５は実施の形態３における誤動作防止装置１００の構成図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
実施の形態１では複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置について説明する。
【００１１】
図１は実施の形態１における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図である。
【００１２】
誤動作防止装置１００は、複数の他装置１０１、１０２、１０３と通信可能に接続されている。
誤動作防止装置１００の構成について説明する。
装置情報抽出要求部１は、接続されている全ての装置の装置情報を収集するために他装置１０１、１０２、１０３に対して、装置情報の収集を要求する。
装置情報記憶部２ａは、装置の種別、接続順番、型番、ハードウェアバージョンなどの、誤動作防止装置１００の製品の種類が識別可能な装置情報を格納する。
【００１３】
装置情報抽出部３ａは、装置情報記憶部２ａに格納されている情報を抽出する。
プログラム記憶部４ａは、誤動作防止装置１００の動作を制御するためのソフトウェア（プログラム）を格納する。
プログラムダイジェスト生成部５ａは、プログラム記憶部４ａに格納されたソフトウェア（プログラム）に対して一方向性関数（ハッシュ関数）を用いてプログラムのダイジェスト（ハッシュ値）を生成する。
【００１４】
装置構成ＩＤ生成部７は、装置情報抽出要求部１にて収集した他装置１０１、１０２、１０３の装置情報と、装置情報抽出部３ａから取得した誤動作防止装置１００の装置情報に基づいて、他の装置の組み合わせと識別可能な符号である装置構成ＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎの略）を生成する。
実行可否判断情報生成部８は、装置構成ＩＤ生成部７で生成した装置構成ＩＤと誤動作防止装置１００のプログラムダイジェスト生成部５ａ、と他装置１０１、１０２、１０３のプログラムダイジェスト生成部５ｂにて生成したプログラムのダイジェストから一方向性関数を用いての誤動作防止装置１００と他装置１０１、１０２、１０３との組合せにて動作可能なプログラムであるかどうかを判断するための実行可否判断情報を生成する。
【００１５】
実行可能プログラム情報記憶部９は、誤動作防止装置１００と他装置１０1、１０２、１０３にて動作するプログラムまたはプログラムのバージョンの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を格納する。
実行可能プログラム情報記憶部９には、実行可否判断情報生成部８にて生成される実行可否判断情報と同じフォーマットの情報が、実行可能な全てのプログラムの組合せ数だけリスト化されて格納されている。
プログラム実行可否判断部１０は、実行可否判断情報生成部８にて生成した実行可否判断情報と実行可能プログラム情報記憶部９に格納されている実行可能プログラム情報とを比較し、実行可能プログラム情報記憶部９に一致する情報が見つかった場合はプログラムの実行可と判断し、見つからなかった場合は実行不可と判断する。
【００１６】
実行可否判断結果通知部１１は、プログラム実行可否判断部１０にて判断されたプログラムの実行可否の判断結果をプログラム実行部１２ａ及び他装置１０１、１０２、１０３のプログラム実行部１２ｂに通知する。
プログラム実行部１２ａは、実行可否判断結果通知部１１からの通知を受けてプログラム実行可否判断部１０の判断結果に基づいて判断結果が実行可能と判断された場合にのみ、制御プログラム記憶部４ａに記憶されたプログラムを読み出し、実行する。
【００１７】
次に他装置１０１、１０２、１０３の構成について説明する。尚、以下説明する他装置１０１の構成については、同様の機能が他装置１０２及び１０３に含まれているものとする。
装置情報記憶部２ｂは、装置の種別、接続順番、型番、ハードウェアバージョンなどの、他装置の製品の種類が識別可能な装置情報を格納する。
【００１８】
装置情報抽出部３ｂは、装置情報記憶部２ｂに格納されている情報を抽出する。
プログラム記憶部４ｂは、他装置１０１の動作を制御するためのソフトウェア（プログラム）を格納する。
プログラムダイジェスト生成部５ｂは、プログラム記憶部４ａに格納されたソフトウェア（プログラム）に対して一方向性関数（ハッシュ関数）を用いてプログラムのダイジェスト（ハッシュ値）を生成する。
【００１９】
要求受付部６は、誤動作防止装置１００の装置情報抽出要求部１からの要求の受け取りと、要求内容の解析および受け取った要求内容に応じて、装置情報抽出部３ｂに装置情報の抽出と回答の命令や、プログラムダイジェスト生成部５ｂにプログラムのダイジェストの生成と回答の命令を出すと共に、装置情報抽出部３ｂからの装置情報とプログラムダイジェスト生成部５ｂからのプログラムのダイジェストを誤動作防止装置１００の装置情報抽出要求部１に伝送する。
【００２０】
プログラム実行部１２ｂは、誤動作防止装置１００の実行可否判断結果通知部１１からの通知を受けて、誤動作防止装置１００のプログラム実行可否判断部１０の判断結果に基づいて判断結果が実行可能と判断された場合にのみ、制御プログラム記憶部４ｂに記憶されたプログラムを読み出し、実行する。
【００２１】
次に動作について説明する。
図２は、実施の形態１における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャートである。
【００２２】
ステップＳ１０１において、誤動作防止装置１００と他装置１０1、１０２、１０３とが各々プログラムの実行を開始する前に誤動作防止装置１００の装置情報抽出要求部１は、他装置１０1、１０２、１０３に対して装置の種別、接続順番、型番、ハードウェアバージョンなどの装置情報を要求する。
また、この時、誤動作防止装置１００は、他装置１０1、１０２、１０３他装置の接続順番または、接続されている装置の数を確認する。この接続順番と接続されている装置の数については、図１の装置構成ＩＤ生成部にて生成される装置構成ＩＤに利用してもよい。
【００２３】
ステップＳ１０２において装置情報抽出要求部１からの指示を受け取った他装置１０1、１０２、１０３の要求受付部６は、装置情報抽出部３ｂに、装置情報記憶部２ｂに格納されている他装置の種別や型番、ハードウェアバージョンといった装置情報を抽出するよう指示し、装置情報を得る。
他装置の種別とは、他装置の機能を意味するものであり、例えば装置内のＣＰＵや通信機能、データ表示機能、データ管理機能が該当する。
要求受付部６は、抽出した装置情報を誤動作防止装置１００の装置情報抽出要求部１に返す。
【００２４】
ステップＳ１０３において、装置構成ＩＤ生成部７は、装置情報抽出要求部１にある要求受付部６より受け取った装置情報と、装置情報抽出部３ａに要求して得た、装置情報記憶部２ａに格納されている誤動作防止装置１００の装置情報とから、他装置の接続順番と装置数などの情報を利用して装置構成ＩＤを生成する。装置構成ＩＤの生成方法には様々な方法が考えられる。装置の種別には、あらかじめ識別情報を割り当てておくこととし、装置情報記憶部２ａ、２ｂにはこの識別情報が格納されていることとしてもよい。装置構成ＩＤは、接続されている装置の数と装置の種別に割り当てられている識別情報によって示した装置の接続順番と装置の型番をつなぎ合わせてもよい。要は誤動作防止装置１００だけではなく、他装置１０1、１０２、１０３に一部または全ての装置情報を用いて装置構成ＩＤを生成することで、正常動作が確認できた複数装置とその各々がもつ複数プログラム情報を管理し、接続されている装置の変更があったことを認知できるようにすることである。
【００２５】
ステップＳ１０４において、実行可否判断情報生成部８は、他装置１０１、１０２、１０３の要求受付部６に対して他装置１０１、１０２、１０３各々のプログラムのダイジェストの生成を要求する。
ステップ１０５において、要求を受けた要求受付部６はプログラムダイジェスト生成部５ｂに対してプログラムのダイジェスト生成を指示する。プログラムダイジェスト生成部５ｂは、プログラム記憶部４ｂに格納されているプログラムから一方向性関数を用いてプログラムのダイジェスト（ハッシュ値）を生成し、生成したプログラムのダイジェストを要求受付部６に返す。
【００２６】
ステップＳ１０６において、実行可否判断生成部８は、要求受付部６に返された他装置１０１、１０２、１０３各々プログラムのダイジェストと、プログラム記憶部４ａに格納されたプログラムからプログラムダイジェスト生成部５ａが生成したプログラムダイジェストと、装置構成ＩＤ生成部７が生成した装置構成ＩＤとを用いて実行可否判断情報を一方向性関数を用いて生成する。
誤動作防止装置１００だけではなく、他装置１０1、１０２、１０３に一部または全ての装置情報を用いて実行可否判断情報を生成することで、正常動作が確認できた複数装置とその各々がもつ複数プログラム情報を管理し、接続されている装置の変更だけではなく各々のプログラムの変更があったことも認知できるようにすることである。
【００２７】
ステップＳ１０７において、プログラム実行可否判断部１０は、実行可否判断情報生成部８にて生成した実行可否判断情報と実行可能プログラム情報記憶部９に格納されている接続されている装置の組合せに応じて実行可能なプログラムの組合せを示す実行可能プログラム情報とを比較チェックして、一致する実行可能プログラム情報の有無を確認することで、実行可能なプログラムの組合せか否かを確認する。
なお、実行可能プログラム情報記憶部９に格納されている実行可能プログラム情報は、誤動作防止装置１００の製品出荷時にあらかじめ搭載されるプログラムが固定の場合には、実行可否判断情報生成部８にて実施したアルゴリズムと同じ方法にて実行可能なプログラムの全ての組合せに対する実行可能プログラム情報を生成し、格納しておいても良い。また、製品出荷時にあらかじめ搭載されるプログラムが固定されておらず、ユーザがプログラムをインストールして設定する場合には、通信回線を用いて実行可能プログラム情報をダウンロードし、格納してもよい。
【００２８】
実行可能なプログラムの組み合わせである場合には、ステップＳ１０８において、プログラムの実行が可能であると判断し、プログラム実行可否判断部１０が、プログラムの実行可否判断結果を実行可否判断結果通知部１１に伝え、実行可否判断結果通知部１１が、他装置１０１、１０２、１０３のプログラム実行部１２ｂ及び誤動作防止装置１００のプログラム実行部１２ａに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置１０１、１０２、１０３のプログラム実行部１２ｂまたは誤動作防止装置１００のプログラム実行部１２ａは、プログラムを実行する。
【００２９】
実行可能なプログラムの組み合わせでない場合には、ステップＳ１０９において、プログラムの実行が不可能であると判断し、プログラム実行可否判断部１０が、プログラムの実行可否判断結果を実行可否判断結果通知部１１に伝え、実行可否判断結果通知部１１が、他装置１０１、１０２、１０３のプログラム実行部１２ｂ及び誤動作防止装置１００のプログラム実行部１２ａに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置１０１、１０２、１０３のプログラム実行部１２ｂまたは誤動作防止装置１００のプログラム実行部１２ａは、プログラムの実行を中止する。
【００３０】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置１００及び通信可能に接続された他の複数の装置１０１、１０２、１０３の種類が個別識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成部７と、誤動作防止装置１００及び通信可能に接続された他の複数の装置１０１、１０２、１０３が各々記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成部８と、誤動作防止装置１００と他装置１０1、１０２、１０３にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断部１０を備えたので、複数の装置を構成する装置の種類情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【００３１】
実施の形態２．
実施の形態１では、複数の装置の組み合わせにおいて動作可能な実行可能プログラム情報に基づいてプログラムの誤動作を防止することとしていたが、本実施の形態では、組み合わせられた複数の装置のみでプログラムを実行可能としたい場合において、複数の装置の構成情報とプログラムのダイジェスト以外に各装置の個体識別情報も組合せて、組込み装置で実行可能なプログラムの組合せを実行前にチェックし、プログラムの誤動作を防止するための機能について説明する。
【００３２】
図３は実施の形態２における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置を示す図である。
基本的には実施の形態１と同じであるため、構成、動作の異なる部分についてのみ説明する。
【００３３】
本実施の形態の概要としては、実施の形態１と同様に、複数の装置の構成に応じて実行可能なプログラムの組合せをチェックする際に、誤動作防止装置１００と他装置１０１、１０２、１０３のそれぞれの個体識別情報（例えば製造番号）も組合せて装置構成ＩＤ、実行可否判断情報、を生成し、プログラム実行可否判断部１０にて判断した結果に基づいてプログラムの実行を制御するプログラムの誤動作防止装置である。
【００３４】
図３において、誤動作防止装置１００の装置情報抽出部３ａは、装置情報記憶部２ａに格納されている情報を抽出と、装置個体識別情報記憶部１３ａに格納されている装置個体識別情報を抽出する。
装置個体識別情報記憶部１３ａは、誤動作防止装置１００を個体識別するためのあらかじめ設定されている装置個体識別情報を格納するものであり、装置個体識別情報は例えば、製造番号やＭＡＣアドレスなど装置個体を識別できる情報であればなんでも良い。
【００３５】
同様に、他装置１０１、１０２、１０３の装置情報抽出部３ｂは、装置情報記憶部２ｂに格納されている情報を抽出と、装置個体識別情報記憶部１３ｂに格納されている装置個体識別情報を抽出する。
装置個体識別情報記憶部１３ｂは、他装置１０１、１０２、１０３を個体識別するためのあらかじめ設定されている装置個体識別情報を格納するものであり、装置個体識別情報は例えば、製造番号やＭＡＣアドレスなど装置個体を識別できる情報であればなんでも良い。
【００３６】
次に動作について説明する。
図４は、実施の形態２における複数の装置と複数の装置の構成または組み合わせに応じて実行可能なプログラムであることを確認するための誤動作防止装置と他装置の動作を示すフローチャートである。
ステップＳ２０１において、誤動作防止装置１００と他装置１０1、１０２、１０３とが各々プログラムの実行を開始する前に誤動作防止装置１００の装置情報抽出要求部１は、他装置１０1、１０２、１０３に対して装置の種別、接続順番、型番、ハードウェアバージョンなどの装置情報と、装置個体識別情報を要求する。
また、この時、誤動作防止装置１００は、他装置１０1、１０２、１０３他装置の接続順番または、接続されている装置の数を確認する。この接続順番と接続されている装置の数については、図１の装置構成ＩＤ生成部にて生成される装置構成ＩＤに利用してもよい。
【００３７】
ステップＳ２０２において装置情報抽出要求部１からの指示を受け取った他装置１０1、１０２、１０３の要求受付部６は、装置情報抽出部３ｂに、装置情報記憶部２ｂに格納されている他装置の種別や型番、ハードウェアバージョンといった装置情報を抽出するよう指示し、装置情報を得ると共に、装置個体識別情報記憶部１３ｂに格納されている装置個体識別情報の抽出を指示し、装置個体識別情報を得る。
要求受付部６は、抽出した装置情報を誤動作防止装置１００の装置情報抽出要求部１に返す。
【００３８】
ステップＳ２０３において、装置構成ＩＤ生成部７は、装置情報抽出要求部１にある要求受付部６より受け取った装置情報及び装置個体識別情報と、装置情報抽出部３ａに要求して得た、装置情報記憶部２ａに格納されている誤動作防止装置１００の装置情報と装置個体識別情報記憶部１３ａに格納されている装置個体識別情報とから、他装置の接続順番と装置数などの情報を利用して装置構成ＩＤを生成する。
【００３９】
ステップＳ２０４において、実行可否判断情報生成部８は、他装置１０１、１０２、１０３の要求受付部６に対して他装置１０１、１０２、１０３各々のプログラムのダイジェストの生成を要求する。
ステップＳ２０５において、要求を受けた要求受付部６はプログラムダイジェスト生成部５ｂに対してプログラムのダイジェスト生成を指示する。プログラムダイジェスト生成部５ｂは、プログラム記憶部４ｂに格納されているプログラムから一方向性関数を用いてプログラムのダイジェスト（ハッシュ値）を生成し、生成したプログラムのダイジェストを要求受付部６に返す。
【００４０】
ステップＳ２０６において、実行可否判断生成部８は、要求受付部６に返された他装置１０１、１０２、１０３各々プログラムのダイジェストと、プログラム記憶部４ａに格納されたプログラムからプログラムダイジェスト生成部５ａが生成したプログラムダイジェストと、装置構成ＩＤ生成部７が生成した装置構成ＩＤとを用いて実行可否判断情報を一方向性関数を用いて生成する。
【００４１】
ステップＳ２０７において、プログラム実行可否判断部１０は、実行可否判断情報生成部８にて生成した実行可否判断情報と実行可能プログラム情報記憶部９に格納されている接続されている装置の組合せに応じて実行可能なプログラムの組合せを示す実行可能プログラム情報とを比較チェックして、一致する実行可能プログラム情報の有無を確認することで、実行可能なプログラムの組合せか否かを確認する。
なお、実行可能プログラム情報記憶部９に格納されている実行可能プログラム情報は、誤動作防止装置１００の製品出荷時にあらかじめ搭載されるプログラムが固定の場合には、実行可否判断情報生成部８にて実施したアルゴリズムと同じ方法にて実行可能なプログラムの全ての組合せと、使用される装置個別情報とを組み合わせた実行可能プログラム情報を生成し、格納しておく。
【００４２】
実行可能なプログラムの組み合わせである場合には、ステップＳ２０８において、プログラムの実行が可能であると判断し、プログラム実行可否判断部１０が、プログラムの実行可否判断結果を実行可否判断結果通知部１１に伝え、実行可否判断結果通知部１１が、他装置１０１、１０２、１０３のプログラム実行部１２ｂ及び誤動作防止装置１００のプログラム実行部１２ａに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置１０１、１０２、１０３のプログラム実行部１２ｂまたは誤動作防止装置１００のプログラム実行部１２ａは、プログラムを実行する。
【００４３】
実行可能なプログラムの組み合わせでない場合には、ステップＳ２０９において、プログラムの実行が不可能であると判断し、プログラム実行可否判断部１０が、プログラムの実行可否判断結果を実行可否判断結果通知部１１に伝え、実行可否判断結果通知部１１が、他装置１０１、１０２、１０３のプログラム実行部１２ｂ及び誤動作防止装置１００のプログラム実行部１２ａに対して、プログラムの実行可否の判断結果を通知する。その判断結果に基づいて、他装置１０１、１０２、１０３のプログラム実行部１２ｂまたは誤動作防止装置１００のプログラム実行部１２ａは、プログラムの実行を中止する。
【００４４】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置１００及び通信可能に接続された他の複数の装置１０１、１０２、１０３の種類と装置固体とが識別できる装置情報を用いて装置構成ＩＤを生成する装置構成ＩＤ生成部７と、誤動作防止装置１００及び通信可能に接続された他の複数の装置１０１、１０２、１０３が各々記憶するプログラムから一方向性関数を用いて生成されたプログラムダイジェストと装置構成ＩＤとを一方向性関数を用いて実行可否判断情報を生成する実行可否判断情報生成部８と、誤動作防止装置１００と他装置１０1、１０２、１０３にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を用いて生成された実行可否判断情報に一致するものがあるか否かを判断することでプログラム実行可否判断を行うプログラム実行可否判断部１０を備えたので、複数の装置を構成する装置の個体識別情報の組み合わせで実行可能なプログラムの組合せかどうかを判断するので、プログラムの誤動作を防止することができる。
【００４５】
実施の形態３．
本実施の形態では、実施の形態１または２における複数の装置の構成の組み合わせに応じて実行可能なプログラムの組合せをチェックするために利用する実行可能プログラム情報記憶部９に格納されている実行可能プログラム情報を更新するための機能について説明する。
図５は実施の形態３における誤動作防止装置１００の構成図である。
以下構成について説明するが、実施の形態１または２と異なる部分についてのみ説明する。
【００４６】
図５において、更新データ取得部１４は誤動作防止装置１００と他装置１０1、１０２、１０３の構成の組み合わせに応じて実行可能なプログラムの組合せである実行可能プログラム情報を更新するために必要な情報（更新データ）を取得する。
実行可能プログラム情報更新部１５は、更新データ取得部１４で取得した実行可能プログラム情報の更新に必要な情報（更新データ）を実行可能プログラム情報記憶部９に更新する。
【００４７】
実行可能プログラム情報を更新する際の動作について説明する。
更新データ取得部１４は、誤動作防止装置１００へのユーザからの指示に従い実行可能プログラム情報の更新に必要な更新データを取得する。取得する方法としては、例えば、誤動作防止装置１００にてメモリカードの読み込みができる場合はそのメモリカードから取得する方法や、ネットワークを経由して実行可能プログラム情報の更新に必要な更新データを取得する方法が考えられる。更新データ取得部１４は、取得した更新データを実行可能プログラム情報更新部１５に渡す。
【００４８】
次に、実行可能プログラム情報更新部１５は、受け取った更新データに基づいて、実行可能プログラム情報記憶部９に可能されている実行可能プログラム情報を更新する。
尚、実施の形態２の場合は、使用される誤動作防止装置１００及び他装置１０１，１０２，１０３が限定されているため、実行可能プログラム情報更新部１５は、それらの装置固体情報も含めて更新される実行可能プログラム情報を生成し、実行可能プログラム情報を更新する。
【００４９】
なお、実行可能プログラム情報記憶部９に実行可能プログラム情報を格納する際、実行可能プログラム情報のバージョンや作成日時の情報も格納しておくこととする。実行可能プログラム情報更新部15は、実行可能プログラム情報記憶部９の実行可能プログラム情報を更新する前に、実行可能プログラム情報記憶部9内の実行可能プログラムと更新データの作成日やバージョンとをチェックして、更新データの方が新しいことを確認してから更新することとし、更新データの方が古い場合は実行可能プログラム情報を更新できないこととする。
【００５０】
したがって、この実施の形態における誤動作防止装置は、誤動作防止装置１００と他装置１０1、１０２、１０３にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を格納する実行可能プログラム情報記憶部と、実行可能プログラム情報の更新するためのデータを取得する更新データ取得部と、取得された更新データを用いて更新された実行可能プログラム情報を生成し、実行可能プログラム情報記憶部に格納された実行可能プログラム情報を更新する実行可能プログラム情報更新部を備えたので、複数の装置を構成する装置の個体識別情報の組み合わせに対応する実行可能なプログラムの組合せを更新することができる。
【符号の説明】
【００５１】
１  装置情報抽出要求部
２ａ、２ｂ  装置情報記憶部
３ａ、３ｂ  装置情報抽出部
４ａ、４ｂ  プログラム記憶部
５ａ、５ｂ  プログラムダイジェスト生成部
６  要求受付部
７  装置構成ＩＤ生成部
８  実行可否判断情報生成部
９  実行可能プログラム情報記憶部
１０  プログラム実行可否判断部
１１  実行可否判断結果通知部
１２ａ、１２ｂ  プログラム実行部
１３ａ、１３ｂ  装置個体識別情報記憶部
１４  更新データ取得部
１５  実行可能プログラム情報更新部
１００  誤動作防止装置
１０１  他装置
１０２  他装置
１０３  他装置
【図１】
0005835090.tif 000002
【図２】
0005835090.tif 000003
【図３】
0005835090.tif 000004
【図４】
0005835090.tif 000005
【図５】
0005835090.tif 000006