(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【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にて各々で動作するプログラムの組合せで実行可能な、プログラム実行可否判断情報の組合せを示す実行可能プログラム情報を格納する実行可能プログラム情報記憶部と、実行可能プログラム情報の更新するためのデータを取得する更新データ取得部と、取得された更新データを用いて更新された実行可能プログラム情報を生成し、実行可能プログラム情報記憶部に格納された実行可能プログラム情報を更新する実行可能プログラム情報更新部を備えたので、複数の装置を構成する装置の個体識別情報の組み合わせに対応する実行可能なプログラムの組合せを更新することができる。