(57)【要約】【課題】配信先の電子機器において配信したプログラムが起動しない場合に、当該配信プログラムによる被害の拡大を抑える。【解決手段】記憶部１２内の更新プログラムを、プログラム配信装置１００から電子機器２００に配信すると共に、配信された更新プログラムの数を記憶部１２の所定の記憶領域に記憶する。電子機器２００において、記憶部２２内のファームウェアの更新を更新プログラムを用いて行った後は、再起動が強制的に行われて、更新プログラムが自動的に起動する。その後、更新プログラムが正常に起動したことを示すデータが、通信部２４から通信部１３に送信され、更新プログラムの起動数がカウントされる。そして、更新プログラムの配信数と起動数との差が、予め設定された閾値を超えた場合は、更新プログラムの配信を停止する。【選択図】図１
2010282457.tif 000002
【特許請求の範囲】
【請求項１】
装置の各部を制御する制御部と、
ネットワーク通信を行う通信部と、
前記通信部から配信するプログラムを記憶する記憶部と、
を備えたプログラム配信装置において、
配信先の機器にて起動した前記プログラムの数を検証する検証手段と、
前記プログラムの配信数と前記検証手段による検証結果とに基づいて、当該プログラムの配信数と起動数との差が、予め設定された閾値を超えた場合は、前記プログラムの配信を停止する配信停止手段と、
を更に備えたことを特徴とするプログラム配信装置。
【請求項２】
請求項１に記載のプログラム配信装置において、
前記検証手段は、前記プログラムが起動した直後に、前記機器から前記プログラム配信装置に送信される正常起動を示すデータに基づいて、前記プログラムの起動数を検証することを特徴とするプログラム配信装置。
【請求項３】
請求項１に記載のプログラム配信装置において、
前記検証手段は、前記プログラムが起動して予め定められた時間が経過した後に、前記機器から前記プログラム配信装置に送信される正常起動を示すデータに基づいて、前記プログラムの起動数を検証することを特徴とするプログラム配信装置。
【請求項４】
請求項１に記載のプログラム配信装置において、
前記配信停止手段は、前記プログラムの配信数と起動数との差が前記閾値を超えると、直ちに、前記プログラムの配信を停止することを特徴とするプログラム配信装置。
【請求項５】
請求項１に記載のプログラム配信装置において、
前記配信停止手段は、前記プログラムの配信数と起動数との差が前記閾値を超え、かつ、当該閾値を超えた状態が予め定められた時間継続した場合に、前記プログラムの配信を停止することを特徴とするプログラム配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク経由でプログラムを配信するプログラム配信装置に関する。
【背景技術】
【０００２】
コンピュータシステムが組み込まれた電子機器においては、ファームウェアと呼ばれるソフトウェアが、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）や、フラッシュメモリ等の記憶装置に記憶された状態で、当該電子機器に搭載されている。ファームウェアとは、電子機器を構成するハードウェアを直接制御するためのソフトウェアである。
【０００３】
以上のような構成の電子機器においては、既存のファームウェアに対して新しい機能が追加されたり、不具合の修正が行われたりする場合、当該電子機器の製造会社が管理するサーバーから、ＬＡＮ（Local Area Network）等のネットワークを通じて、既存のファームウェアを更新するためのプログラム（以下、「更新プログラム」と記載）が配信される。
【０００４】
そして、当該電子機器のユーザーによって、更新プログラムがダウンロードされ、当該更新プログラムに基づく既存のファームウェアの更新作業が実行される。以下においては、既存のファームウェアの更新作業を「ＦＷアップデート」と記載する。「ＦＷアップデート」に関しては、例えば、後掲の特許文献１〜特許文献５に記載されている。
【０００５】
特許文献１には、ファームウェアで発生するエラー回数を計測する機能を有し、現在使用中のファームウェアで発生したエラー回数と、以前使用していたファームウェアで発生していたエラー回数とを比較することで、利用に適したファームウェアを特定し、その後、既存のファームウェアを当該特定されたファームウェアに変更するファームウェア管理装置を備えた電子機器が開示されている。
【０００６】
特許文献２や特許文献５には、ＦＷアップデート終了後、更新されたファームウェアが始めて起動された時に、ファームウェア用の更新プログラムを配信するセンターに、所定の情報を送信することで、当該更新プログラムのダウンロードが正常に終了したことと、当該更新プログラムによって更新されたファームウェアが正常に起動していることを、当該センターが確認することが出来る車載端末が開示されている。
【０００７】
特許文献３には、装置に搭載しているプログラム毎にエラー発生時の再起動レベルをプライオリティ記憶手段に登録しておき、プログラム実行時にエラー発生検知手段によりエラーの発生を検知すると、プライオリティ記憶手段を参照してエラーの発生が検知されたプログラムに対する再起動レベルを判別し、その再起動レベルに基づいてシステムを再起動するシステム自動再立ち上げ制御システムが開示されている。
【０００８】
特許文献４には、サーバーと、ＰＣ（Personal  Computer）等の各クライアント装置とをネットワークを介して接続したクライアントサーバーシステムにおいて、クライアント装置のＯＳ（Operating System）の起動が不可である場合に、当該ＯＳの起動不可の回数を計測し、当該回数が所定の閾値を超えた場合に、クライアント装置のＯＳが正常に起動するまで、サーバーからクライアント装置へのＯＳの供給、および、当該ＯＳのインストールを自動で行う自動インストールシステムが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−０９９３９３号公報
【特許文献２】特開２０００−２０７２１９号公報
【特許文献３】特許第３７１１７８９号公報
【特許文献４】特開平１１−３２７９１４号公報
【特許文献５】特開２００５−１００４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したＦＷアップデートの実行後において、通常、電子機器は、正常に起動する。しかしながら、配信されるプログラムに何らかの欠陥等があって、電子機器が正常に起動しない場合もある。
【００１１】
このように、起動しないプログラムがネットワーク配信されると、当該電子機器を使用するユーザーへの被害が急速に拡大する。また、電子機器の製造会社は、被害を受けた多くのユーザーに対応しなければならないため、対応費用が増大する。つまり、ユーザー／製造会社の双方とも、大きな被害を被ってしまう。
【００１２】
本発明は、上述した問題点に鑑み、配信先の電子機器において配信したプログラムが起動しない場合に、当該配信プログラムによる被害の拡大を抑えることが出来るプログラム配信装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係るプログラム配信装置は、装置の各部を制御する制御部と、ネットワーク通信を行う通信部と、通信部から配信するプログラムを記憶する記憶部とを備えている。そして、配信先の機器にて起動したプログラムの数を検証する検証手段と、プログラムの配信数と検証手段による検証結果とに基づいて、当該プログラムの配信数と起動数との差が、予め設定された閾値を超えた場合は、プログラムの配信を停止する配信停止手段とを更に備えている。
【００１４】
このようにすることで、配信先の電子機器においてプログラムが起動しない事例が一定件数を超えると、プログラムの配信が自動的に停止されるので、正常に起動しないプログラムが配信され続けてユーザーの被害が拡大するのを抑えることが出来る。
【００１５】
本発明において、検証手段は、プログラムが起動した直後に、機器からプログラム配信装置に送信される正常起動を示すデータに基づいて、プログラムの起動数を検証してもよい。
【００１６】
このようにすることで、配信先の電子機器においてプログラムが起動したか否かを迅速に把握することが出来る。
【００１７】
あるいは、上記に代えて、検証手段は、プログラムが起動して予め定められた時間が経過した後に、機器からプログラム配信装置に送信される正常起動を示すデータに基づいて、プログラムの起動数を検証してもよい。
【００１８】
このようにすることで、配信先の電子機器においてプログラムが正常に起動したことを正確に把握することが出来る。
【００１９】
本発明において、配信停止手段は、プログラムの配信数と起動数との差が閾値を超えると、直ちに、プログラムの配信を停止してもよい。
【００２０】
このようにすることで、配信先の電子機器において起動しないプログラムの配信停止を迅速に行うことが出来る。
【００２１】
あるいは、上記に代えて、配信停止手段は、プログラムの配信数と起動数との差が閾値を超え、かつ、当該閾値を超えた状態が予め定められた時間継続した場合に、プログラムの配信を停止してもよい。
【００２２】
このようにすることで、配信先の電子機器において起動しないプログラムの配信停止を、一時的な数値（配信数と起動数の差）の変動に左右されること無く、適正に行うことが出来る。その結果、配信停止が頻繁に行われてユーザーに迷惑がかかるのが回避される。
【発明の効果】
【００２３】
本発明によれば、プログラムの配信数と起動数との差が予め設定された閾値を超えた場合に、プログラムの配信を停止することで、配信先の電子機器においてプログラムが起動しない場合に、当該プログラムによる被害の拡大を抑えることが出来る。
【図面の簡単な説明】
【００２４】
【図１】プログラム配信装置およびプログラムの配信を受ける電子機器の構成を示したブロック図である。
【図２】プログラム配信装置から電子機器にプログラムを配信する場合の処理を示したフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態につき、図面を参照しながら説明する。
【００２６】
図１は、本発明の実施形態であるプログラム配信装置１００および当該プログラム配信装置１００から所定のプログラムの配信を受ける電子機器２００の構成を示したブロック図である。
【００２７】
プログラム配信装置１００は、例えば、電子機器２００の製造会社が管理するサーバーである。電子機器２００は、例えば、ユーザーが所有するＢＤ（Blu-ray（登録商標） Disc）プレーヤである。また、電子機器２００は、本発明における配信先の機器の一実施形態である。
【００２８】
プログラム配信装置１００において、制御部１１は、例えば、ＣＰＵ（Central Processing Unit）から構成されており、当該プログラム配信装置１００の各部を制御する。記憶部１２は、例えば、ＨＤＤ（Hard Disc Drive）から構成されており、電子機器２００に配信するための各種プログラムが記憶されている。通信部１３は、例えば、ＬＡＮ（Local Area Network）ポートおよびＬＡＮケーブルから構成されており、ネットワークＮを介して、後述する電子機器２００の通信部２４とネットワーク通信を行う。
【００２９】
制御部１１は、記憶部１２に記憶されている各種プログラムと共に、本発明における検証手段の一実施形態を構成する。また、制御部１１は通信部１３と共に、本発明における配信停止手段の一実施形態を構成する。
【００３０】
電子機器２００において、制御部２１は、例えば、ＣＰＵから構成されており、当該電子機器２００の各部を制御する。記憶部２２は、例えば、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）から構成されており、電子機器２００を構成する各種ハードウェア（図示省略）を直接制御するためのソフトウェア（以下、「ファームウェア」と記載）が記憶されている。操作部２３は、例えば、電子機器２００のフロントパネル（図示省略）やリモートコントロール装置（図示省略）等に配されたボタン部（図示省略）から構成されており、ユーザーによって各種操作が行われる。通信部２４は、例えば、ＬＡＮポートおよびＬＡＮケーブルから構成されており、ネットワークＮを介して、前述したプログラム配信装置１００の通信部１３とネットワーク通信を行う。
【００３１】
ここで、プログラム配信装置１００は、上述した以外にも様々な構成要素を備えているが、本発明においては直接関係が無いため、図１において、図示およびその説明を省略する。電子機器２００においても、同様に、本発明において直接関係が無い構成要素については、図示およびその説明を省略する。
【００３２】
ネットワークＮは、例えば、インターネット回線である。プログラム配信装置１００の記憶部１２に記憶されている各種プログラムは、このネットワークＮを通じて、通信部１３から通信部２４に配信され、その後、電子機器２００の記憶部２２に格納される。
【００３３】
以上のような構成のプログラム配信装置１００において、記憶部１２に記憶されている各種プログラムが電子機器２００に配信される場合、図２のフローチャートで示される処理が実施される。
【００３４】
図２のフローチャートのステップＳ１では、プログラム配信装置１００から電子機器２００に所定のプログラムが配信される。
【００３５】
ステップＳ１で実行される処理は、例えば、電子機器２００のユーザーが、操作部２３を操作してプログラムの配信要求を行った場合に開始される。
【００３６】
この場合、プログラム配信装置１００において、制御部１１の制御の下、記憶部１２に記憶されている各種プログラムの中から、ユーザーの要求に対応する所定のプログラムが選択される。そして、選択されたプログラムは、通信部１３と通信部２４との間で行われるネットワークＮを用いた通信（ネットワーク通信）によって、プログラム配信装置１００から電子機器２００に配信される。
【００３７】
本実施形態においては、通信部１３から配信されるプログラムは、電子機器２００の記憶部２２に記憶されているファームウェアを更新するための更新プログラムである。更新プログラムは、本発明における通信部から配信するプログラムの一例である。
【００３８】
ステップＳ２では、制御部１１の制御の下、通信部１３から配信された更新プログラムの数が、記憶部１２の所定の記憶領域（図示省略）に記憶される。
【００３９】
このため、プログラム配信装置１００から、電子機器２００以外の複数の機器（図示省略）にも、上述した更新プログラムを配信した場合は、それらの数も合わせて記憶される。例えば、電子機器２００とそれ以外の９台の機器に、更新プログラムを配信した場合は、配信数「１０」が、記憶部１２の所定の記憶領域に記憶される。
【００４０】
ステップＳ３では、配信された更新プログラムが配信先の機器にて正常に起動したか否かの検証が実施される。
【００４１】
ステップＳ１で電子機器２００に配信された更新プログラムは、ステップＳ１〜ステップＳ３の間において、制御部２１の制御の下、記憶部２２に記憶されているファームウェアの更新に用いられる。つまり、ＦＷ（Firmware）アップデートが実行される。
【００４２】
ＦＷアップデート完了後は、更新プログラム内に予め書き込まれている指示により、電子機器２００の再起動が強制的に行われる。電子機器２００の再起動後は、更新プログラム（更新されたファームウェア）が自動的に起動する。
【００４３】
そして、更新プログラム内に予め書き込まれている指示により、当該更新プログラムが正常に起動したことを示すデータが、通信部２４から通信部１３に送信される。尚、更新プログラムが正常に起動しない場合は、上述の所定のデータは送信されない。また、電子機器２００において、再起動が複数回行われたとしても、正常起動を示すデータが送信されるのは、最初の再起動時のみである。プログラム配信装置１００の制御部１１は、電子機器２００から送信された正常起動を示すデータを受信すると、記憶部１２の所定領域に記憶されているプログラム起動数（更新プログラムが正常に起動した回数）のカウント値に１を加算する。電子機器２００以外の機器から正常起動を示すデータが送信されてきた場合も、同様に、プログラム起動数がカウントされる。
【００４４】
ステップＳ３において、正常起動を示すデータが通信部２４から送信されて、プログラム起動数がカウントされるまでの処理は、更新プログラムが起動した直後に実行されても良いし、更新プログラムが起動して予め定められた時間（例えば、１時間）が経過した後に実行されても良い。前者の場合は、電子機器２００において更新プログラムが起動したか否かを迅速に把握することが出来、後者の場合は、電子機器２００において更新プログラムが正常に起動したことを正確に把握することが出来る。上述した処理は、本発明における検証手段によって実行される処理の一例である。
【００４５】
ステップＳ４では、制御部１１が、プログラム配信装置１００から配信された更新プログラムの数（ステップＳ２）と、電子機器２００で起動した更新プログラムの数（ステップＳ３）から、更新プログラムの配信数（累計値）と起動数（累計値）との差を算出する。そして、算出した値が予め設定された閾値を超えている場合（ステップＳ４：ＹＥＳ）は、ステップＳ５へ進み、閾値を超えていない場合（ステップＳ４：ＮＯ）は、ステップＳ１の直前に戻って、更新プログラムの配信を継続する。上述した閾値は、例えば、配信された更新プログラムの数の１０〜２０％の値である。
【００４６】
ステップＳ５では、ステップＳ４での結果に基づいて、更新プログラムの配信を停止する。例えば、プログラム配信装置１００の電源（図示省略）を落としたり、通信部１３におけるネットワーク通信を遮断したりすることで、更新プログラムの配信要求を受け付けないようにする。
【００４７】
上述した更新プログラムの配信を停止する処理は、更新プログラムの配信数と起動数との差が予め設定された閾値を超えた場合に、直ちに行っても良く、閾値を超えた状態が予め定められた時間（例えば、１０分間）継続した場合に行っても良い。前者の場合は、プログラムの配信停止を迅速に行うことが出来る。後者の場合は、配信数と起動数との差が一時的に閾値を超えてもプログラムの配信は継続されるので、配信停止が頻発してユーザーに迷惑がかかるのが回避される。
【００４８】
このように、上述した実施形態においては、プログラム配信装置１００から電子機器２００に配信された更新プログラムの数と、電子機器２００において正常に起動した更新プログラムの数との差を算出し、算出した値が予め設定された閾値を超えている場合は、プログラム配信装置１００による更新プログラムの配信を停止するようにしている。
【００４９】
このため、例えば、閾値が１００の場合、配信した更新プログラムの数が１０００で、そのうち正常に起動した更新プログラムの数が８９９であれば、正常に起動しなかった更新プログラムの数が１０１であるので、プログラム配信装置１００からの配信が自動的に停止される。したがって、正常に起動しない更新プログラムが配信され続けてユーザーの被害が拡大するのを抑えることが出来る。
【００５０】
本発明では、以上述べた以外にも種々の実施形態を採用することができる。例えば、上記実施形態では、電子機器２００をＢＤプレーヤとしたが、これに限られず、テレビジョン受像機やプロジェクタ、携帯端末などでも良い。
【００５１】
また、上記実施形態では、プログラム配信装置１００から電子機器２００に配信されるプログラムとしてファームウェアの更新プログラムを例に挙げたが、これに限らず、プログラム配信装置１００から電子機器２００に各種のアプリケーションプログラムを配信する場合にも、本発明を適用することができる。
【００５２】
また、上記実施形態のステップＳ５において、プログラム配信装置１００の電源を落としたり、通信部１３におけるネットワーク通信を遮断したりすることで、更新プログラムの配信を停止したが、更新プログラム以外のプログラムも配信している場合は、当該更新プログラムを図示しない格納部に移動させるなどして、記憶部１２から除外してもよい。これにより、電源を落としたり、ネットワーク通信を遮断したりする必要がなくなるため、更新プログラム以外のプログラムの配信を継続することが出来る。
【符号の説明】
【００５３】
１１    制御部
１２    記憶部
１３    通信部
２１    制御部
２２    記憶部
２３    操作部
２４    通信部
１００    プログラム配信装置
２００    電子機器
【図１】
2010282457.tif 000003
【図２】
2010282457.tif 000004