(57)【要約】      （修正有）【課題】動作の内容を通信によって変えることが可能なシステムにおいて、システムの不具合を修正するための情報を転送している間に第三者に不正利用が行われてしまうことを最小限に抑える。【解決手段】システムの動作内容を示す情報の書換えを開始すると、先ずサーバと通信を行って新しい動作内容を示す情報を受信するのに不要な機能を停止する（Ｓ１３）。その後、サーバと通信を行って新しい動作内容を示す情報を受信する（Ｓ１５）と、動作内容を受信した新しい動作内容に書き換え（Ｓ１７）、書き換えた新しい動作内容で動作を開始させる。【選択図】図４
2007058478.tif 000002
【特許請求の範囲】
【請求項１】
動作の内容を通信によって変えることが可能なシステムにおける制御内容更新装置であって、システムの動作内容を示す情報の書換え手順を開始する手段と、通信を行って新しい動作内容を示す情報を受信するのに不要な機能を停止する手段と、通信を行って新しい動作内容を示す情報を受信する手段と、動作内容を受信した新しい動作内容に書き換える手段と、書き換えた新しい動作内容で動作を開始させる手段を備えることを特徴とする制御内容更新装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動作の内容を通信によって変えることが可能なシステムにおいて、システムの不具合が生じた場合でも、不具合によるネットワークを経由した第三者の不正利用を最小限にできるシステムに関する。
【背景技術】
【０００２】
ソフトウェアを使用した機器においては、ネットワークなどの通信手段を用いて動作内容を後から変えることが出来るような構成になっているシステムが増えている。このようなシステムでは、システムの出荷後に不具合が見つかった場合でも、システムを納入客先に置いたままで不具合を修正した新しい動作内容のソフトウエアに書き換える事が可能である。しかしながら、不具合の内容によっては、ネットワークを経由した第三者による動作内容の書き換え、システム内の情報の不正読み出しや、第三者へ継続的に情報を送ったり、指令を継続的に受け付けるようにしたりすることが可能であり、ネットワークを経由した電子的な不正行為が行われてしまうことがある。
【０００３】
このような場合、動作内容に不具合が発見され、第三者が不正利用できることが判明した時は、ネットワークから新しい動作内容のソフトウエアに書換えを行う事によって、不具合を修正することで第三者の不正利用を回避できる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、システムの不具合を修正するための情報を転送している間に不正利用が行われてしまうと、特にシステムが長期間使用されていなかった時には修正内容が累積し、新しい動作内容に書き換えるまでに時間がかかり、その間に不正利用を行われてしまうという問題があった。
【課題を解決するための手段】
【０００５】
上記課題を解決するためにこの発明は、動作の内容を通信によって変えることが可能なシステムにおける制御内容更新装置であって、システムの動作内容を示す情報の書換え手順を開始する手段と、通信を行って新しい動作内容を示す情報を受信するのに不要な機能を停止する手段と、通信を行って新しい動作内容を示す情報を受信する手段と、動作内容を受信した新しい動作内容に書き換える手段と、書き換えた新しい動作内容で動作を開始させる手段を備えるようにしたものである。
【発明の効果】
【０００６】
本発明によれば、動作内容が変更可能なシステムにおいて、システムの出荷後にソフトウェアやＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）の動作に不具合が発見され、外部からのネットワークを通じた不正アクセスが可能になってしまった場合でも、新しい動作内容のソフトウエアに変更するのに不要な機能の停止または不正利用が可能になってしまう機能の停止または特定の通信機能の停止またはその組合せによって、動作している機能が一部に限定されているため、不具合によるネットワークを経由した第三者の不正利用を最小限に抑えながら新しいソフトウェアへの更新及び修正を行うことができる。
【発明を実施するための最良の形態】
【０００７】
動作の内容を通信によって変えることが可能なシステムにおける制御内容更新装置であって、システムの動作内容を示す情報の書換え手順を開始する手段と、通信を行って新しい動作内容を示す情報を受信するのに不要な機能を停止する手段と、通信を行って新しい動作内容を示す情報を受信する手段と、動作内容を受信した新しい動作内容に書き換える手段と、書き換えた新しい動作内容で動作を開始させる手段を備えることで実現した。
【実施例１】
【０００８】
この発明の第１の実施形態は、図１に示すような制御内容更新装置の機能構成例と、図２に示すような制御内容更新装置のハードウエア構成例と、図３に示すような制御内容更新装置を使用したシステム全体の構成例からなる。
【０００９】
図１、図２、図３を用いて、本発明における制御内容更新装置の一実施例を説明する。
図１は、制御内容更新装置全体の制御の統括する制御部１と、通信回線８を通して他の装置と通信を行う通信機能２と、通信機能２を介して更新が必要であるかを判断する更新判断機能３と、動作内容の更新が必要と判断された時に、動作内容の更新に不要な機能を停止させる機能選択停止機能４と、通信機能２を介して更新を行うための情報を受信する更新情報受信機能５と、更新情報受信機能５で受け取った情報を基に、新たな動作を行うように更新するための動作内容更新機能６と、更新された新しい動作を行わせるための再起動機能７と、本更新動作とは関係しないアプリケーション機能９とから構成される制御内容更新装置の機能構成例である。
図２は、上記制御内容更新装置のハードウエア構成例であり、図３は、制御内容更新装置を使用したシステム全体の構成例を示しており、制御内容更新装置２３が上記機能構成例及び上記ハードウエア構成例を備えた装置であり、インターネット２２を介してサーバー２１と通信を行い、更新が必要かどうかを判断するための情報を受け取ったり、動作内容の更新を行うための情報を受け取る通信を行うシステム全体の構成例である。
【００１０】
この例では、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１がフラッシュメモリ１３の中に書き込まれている旧動作内容１５の動作内容にしたがって動作を行っており、動作内容が図３に示すように、ネットワーク上のサーバー２１中に格納されている新動作内容２４に書き換えられる一連の動作を説明する。
図１の制御内容更新装置の機能構成例で、制御内容更新装置全体の制御の統括する制御部１は、通常はアプリケーション機能９を動作させており、特定の状況の時に更新判断機能３を動作させる。特定の状況とは電源ＯＮやリセット、特定の時刻や日にち、一定時間毎、その装置を使用している人からの要求や操作によるのもといったものが考えられ、それらの組合せでもよく、また特定の状況を認識できればどのような方法でも良いものである。また、制御部１は本発明の制御以外のことを行うのはもちろん可能であり、本発明の制御の動作中、非動作中どちらの状態でも、他の用途に使用することは可能であるものである。
この例では、リセット毎に更新判断機能３を動作させるものとし、装置にリセットが行われ、制御部１が更新判断機能３を動作させたものとする。
【００１１】
更新判断機能３は通信回線８を介して、通信を行い動作内容に更新が必要であるかの判断を行う。
この例では、インターネット２２を介して、サーバー２１から動作内容の更新が必要であるかを判断するための情報を送ってもらい、更新判断機能３が判断を行う。
その時の所望の動作内容については、新旧を区別するための版数を示すバージョン情報や作成の日時情報、動作内容が格納されている情報を特定の計算方法（ＣＳＵＭ：ｃｈｅｃｋ  ｓｕｍ  ／  ＣＲＣ：Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋｉｎｇ  ／  ＭＤ５：Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５  ／  など）により演算した結果をサーバー２１から送ってもらい、装置自身が格納している動作内容と比較して、更新が必要であるかの判断を行う。または、装置自身が格納している動作内容の新旧を区別するための版数を示すバージョン情報や作成の日時情報、動作内容を示す情報を特定の計算方法（ＣＳＵＭ、ＣＲＣ、ＭＤ５など）により演算した結果をサーバーに送り、サーバーにて新旧の判定を行い、その結果を更新判断機能３に送り、更新判断機能３が実際に更新するかの判断を行う。
更新を行うかどうかの判定の方法としては、サーバーと異なっていると判断した場合でも良いし、サーバーに格納されているものが新しい時でも良いし、特定の方法によって判断を行って更新の必要があるかどうかを判断できれば良い。また、いくつかのソフトウェアやＦＰＧＡ，ＰＬＤをまとめて判断を行う事も可能であるし、逆に細かく分割して構成機能毎に確認することも可能である。例えば、ソフトウェアとＦＰＧＡの動作内容をまとめて扱い、まとめて比較し判断することが可能である。また、ソフトウェアをいくつかの要素に分割し、機能毎に比較、判断し、機能毎に更新が必要であるかを確認することも可能である。更新を行う必要があるかを判断できれば、どのようにまとめても、分割を行ってもかまわない。
この例では、サーバー２１に格納されている動作内容と装置側の動作内容が異なる時に動作内容の更新を行うものとする。サーバー２１には新しい動作内容である新動作内容２４が格納されており、新動作内容２４は例えば、バージョンがＶ０１．００と定義し、装置側には旧動作内容１５が格納されており、旧動作内容１５は例えば、バージョンがＶ００．０１と定義されているものとする。
更新判断機能３は通信回線８を介してインターネット２２に接続し、サーバー２１と通信を行う。更新判断機能３はサーバー２１に対して本サーバーに格納されている動作内容を示すバージョンがいくらであるかを問い合わせる。サーバー２１がＶ０１．００であることをインターネット２２を介して、更新判断機能３に通知する。更新判断機能３は自身のバージョンと比較し、異なっているために更新を行う必要があると判断する。本判断結果を制御部１に通知し、制御部１は機能選択停止機能４を動作させる。
【００１２】
機能選択停止機能４は動作内容の更新を行う時に、更新に必要では無い機能の停止を行う。あらかじめ動作内容の更新時に停止する機能を決めておき、その機能のみを停止しても良いし、他の処理に影響が少なくなるようにネットワークを介した不正使用が可能になる機能のみを停止しても良いし、更新に必須の機能を調べておき、それ以外の機能を停止させるようにしても良いし、サーバー２１に対してインターネット２２を介して、どの機能を停止させるか問い合わせを行って、停止させる機能を通知してもらい、その機能を停止しても良いし、特定の通信機能を停止するといったことでも良い。特定の通信機能の停止とは、仮想的に複数の回線を持つ仕組みの通信方式において特定の回線を停止させるものであり、例えばＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）であれば特定のポートを閉じたり、不正利用されているポートを閉じるといった事である。また、状況に応じて更新に必要としない機能を停止してかまわなく、動作内容の更新に必要としない機能については所望の条件で停止しても良いし、動作させていても良い。例えば、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバーやＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバーが動作内容の更新に必要ではない時には停止させるといったことである。
この例では、内容更新には関係のないアプリケーション機能９を停止させる。機能選択停止機能４は所望の機能を停止したことを制御部１に通知する。制御部１は機能選択停止機能４の動作が終了した事を確認した後に、更新情報受信機能５を動作させる。
【００１３】
更新情報受信機能５は、インターネット２２を介してサーバー２１に対して、格納されている動作内容を送信するように要求し、サーバー２１は、インターネット２２を介して更新情報受信機能５に動作内容を送信する。更新情報受信機能５は、サーバー２１から送られた内容を受信する。すべてを受信した後に、制御部１に受信が完了したことを通知する。必要に応じてサーバー２１が送信した内容が更新情報受信機能５に正しく送られたかどうか確認する。正しく転送できたかの確認方法としては、サーバー２１から送信した内容と更新情報受信機能５が受信した内容を特定の演算（ＣＳＵＭやＣＲＣやＭＤ５など）によって計算し、送信時の演算結果と受信時の演算結果が同一であれば同一であると判断することが出来る。どのような方法であっても送信側から送った情報が受信側で正しく受信できていることを確認できる方法であればよいし、特に必要がなければ受信側で確認を行わなくても良い。
この例では、サーバー２１からインターネット２２を介して新動作内容２４が更新情報受信機能５に対して送られる。更新情報受信機能５は、送られた内容を受信し、ＲＡＭ１４に一時的に格納し、送られた新動作内容２４が正しく転送されたか確認する。確認方法として送信時の送信内容のＣＲＣ値と受信時のＣＲＣ値が同一であることによって正しく転送できたと判断するものとする。サーバー２１において送信した新動作内容２４のＣＲＣ値を求め、そのＣＲＣ値を更新情報受信機能５に送信し、更新情報受信機能５においても受信した新動作内容２４のＣＲＣ値を同様の計算で求めて、同一の計算結果になることにより、正しく転送することができたと判断することができる。この転送結果を制御部１に通知する。
【００１４】
制御部１は先の更新情報受信機能５から転送の結果を受け取り、正常に転送を行えた場合に動作内容更新機能６を動作させ、失敗していたときには受信した情報を読み捨てる。動作内容更新機能６が動作させられた場合は、更新情報受信機能５で受信した内容で動作するように、そのとき格納されている動作内容から更新情報受信機能５で受信した内容に書き換えを行う。
この例では、その時点での本装置は旧動作内容１５で動作しているが、動作内容を新動作内容２４で動作するように、フラッシュメモリ１３をクリアし、ＲＡＭ１４に一時格納されている、新動作内容２４を書き込む。本動作によって新動作内容２４に書き換えが行われる。動作内容更新機能６は書き換えが完了したことを制御部１に通知を行う。
制御部１は、動作内容更新機能６から書き換えが完了したことの通知を受けて、再起動機能７を起動させる。再起動機能７は、動作内容更新機能６によって書き換えられた動作内容で動作を開始させる機能であり、リセットによる装置の再起動やプログラムの再ロードなど、書き換えられた新しい動作内容によって動作をおこなわせるための手段である。
この例では、リセットにより再起動を行うものであったとすると、本装置にリセットがおこなわれ、書き換えられた新しい動作内容２４で動作を行うこととなる。
これら一連の手順により、本発明を実現することが出来る。
【００１５】
更に、図４のソフトウエア更新フローチャートの一実施例を用いて、ソフトウエア更新のフローの実施例を説明する。
ソフトウエア更新処理を行う場合、サーバーへ格納ソフトウエアのバージョンを問合せる（Ｓ１１）。動作しているソフトウエアとサーバに格納されているソフトウエアのバージョンが異なっているか否か判断し（Ｓ１２）、同じ場合には処理を終了し（Ｓ１８）、異なっている場合には、ソフトウエア更新に不要な機能を停止する（Ｓ１３）。そして、サーバーに格納ソフトウエアを送信するように要求し（Ｓ１４）、サーバーから送られるソフトウエアを受信して蓄積する（Ｓ１５）。そして、受信、蓄積すべきソフトウエアがサーバーから正常に転送されたか否かを判断し（Ｓ１６）、正常に転送されなかったと判断した場合には処理を終了し（Ｓ１８）、正常に転送されたと判断した場合には新たに蓄積したソフトウエアに更新する（Ｓ１７）。
【図面の簡単な説明】
【００１６】
【図１】本発明における制御内容更新装置の機能構成の一実施例
【図２】本発明における制御内容更新装置のハードウエア構成の一実施例
【図３】本発明における制御内容更新装置を使用したシステム全体の構成の一実施例
【図４】本発明におけるソフトウエア更新フローチャートの一実施例
【符号の説明】
【００１７】
１…制御部、２…通信機能、３…更新判断機能、４…機能選択停止機能、５…更新情報受信機能、６…動作内容更新機能、７…再起動機能、、８…通信回線、９…アプリケーション機能、１１…ＣＰＵ、１２…ネットワークインターフェース、１３…フラッシュメモリ、１４…ＲＡＭ、１５…旧動作内容、２１…サーバー、２２…インターネット、２３…制御内容更新装置、２４…新動作内容
【図１】
2007058478.tif 000003
【図２】
2007058478.tif 000004
【図３】
2007058478.tif 000005
【図４】
2007058478.tif 000006