(57)【要約】【課題】複数の電子機器が上位機器に接続された電子機器システムにおけるシステム全体の起動時間を高速に行うことができる電子機器システム及びシステム起動方法を提供することを提供すること。【解決手段】各電子機器１は、システム起動開始時に、上位機器２との接続確認に必要な優先プログラム群を優先してプログラム検証を行って起動した後、上位機器２からの接続要求を待ち受け、上位機器２からの接続要求を受けた場合、接続要求の応答時に優先プログラム群の起動時間である優先プログラム起動時間を上位機器２に通知し、その後、残りのプログラムのプログラム検証及び起動を行い、上位機器２は、システム起動時毎に少なくとも各電子機器１の優先プログラム起動時間を取得し、２回目以降のシステム起動時に、前回取得した優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行う。【選択図】図１
2020046802.tif 000002
【特許請求の範囲】
【請求項１】
上位機器に複数の電子機器が接続され、前記上位機器及び複数の前記電子機器のプログラムは暗号化されており、システム起動時に、前記上位機器及び複数の前記電子機器は、暗号化された各プログラムを検証して起動し、少なくとも前記上位機器はシステム起動時に各電子機器との接続確認を制限時間内に行う電子機器システムであって、
各電子機器は、システム起動開始時に、前記上位機器との接続確認に必要な優先プログラム群を優先してプログラム検証を行って起動した後、前記上位機器からの接続要求を待ち受け、前記上位機器からの接続要求を受けた場合、前記接続要求の応答時に前記優先プログラム群の起動時間である優先プログラム起動時間を前記上位機器に通知し、その後、残りのプログラムのプログラム検証及び起動を行い、
前記上位機器は、システム起動時毎に少なくとも各電子機器の前記優先プログラム起動時間を取得し、２回目以降のシステム起動時に、前回取得した前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とする電子機器システム。
【請求項２】
各電子機器は、前記上位機器からの接続要求に対する応答後、通信状態を処理中モードに遷移し、残りのプログラムのプログラム検証と起動とを行い、全てのプログラムの起動完了後、前記上位機器に対して起動完了を通知するとともに、各プログラムの起動時間を各プログラムの優先度とともに前記上位機器に通知することを特徴とする請求項１に記載の電子機器システム。
【請求項３】
前記上位機器は、各電子機器との接続確認時に、自機器の優先プログラム起動時間である上位機器優先プログラム起動時間を各電子機器に通知し、
各電子機器は、前記上位機器優先プログラム起動時間より自機器の前記優先プログラム起動時間が短い場合、前記上位機器優先プログラム起動時間内で起動できる、優先プログラム以外の他の優先度の高いプログラムを前記優先プログラム群に含ませることを特徴とする請求項１または２に記載の電子機器システム。
【請求項４】
前記上位機器に接続され、前記上位機器及び各電子機器のプログラムを管理する管理サーバを備え、
前記管理サーバは、前記上位機器及び各電子機器のプログラム更新時に接続する電子機器内のプログラム構成を前記上位機器に通知するとともに、前記電子機器を構成する各プログラムの起動時間を推定し、推定した各プログラムの起動時間を前記上位機器及び前記電子機器に通知し、
前記上位機器は、前記管理サーバから各電子機器のプログラムの起動時間が通知された場合、システム起動時に、前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とする請求項１〜３のいずれか一つに記載の電子機器システム。
【請求項５】
上位機器に複数の電子機器が接続され、前記上位機器及び複数の前記電子機器のプログラムは暗号化されており、システム起動時に、前記上位機器及び複数の前記電子機器は、暗号化された各プログラムを検証して起動し、少なくとも前記上位機器はシステム起動時に各電子機器との接続確認を制限時間内に行う電子機器システムのシステム起動方法であって、
各電子機器は、システム起動開始時に、前記上位機器との接続確認に必要な優先プログラム群を優先してプログラム検証を行って起動した後、前記上位機器からの接続要求を待ち受け、前記上位機器からの接続要求を受けた場合、前記接続要求の応答時に前記優先プログラム群の起動時間である優先プログラム起動時間を前記上位機器に通知し、その後、残りのプログラムのプログラム検証及び起動を行い、
前記上位機器は、システム起動時毎に少なくとも各電子機器の前記優先プログラム起動時間を取得し、２回目以降のシステム起動時に、前回取得した前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とするシステム起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子機器が上位機器に接続され、各電子機器が上位機器からの接続要求に対して制限時間内に応答するため、各電子機器が、上位機器からの接続要求に応答できるようにするための優先プログラムのみの起動を行って上位機器からの接続要求を待ち受けるシステムであっても、システム全体の起動時間を高速に行うことができる電子機器システム及びシステム起動方法に関する。
【背景技術】
【０００２】
近年のＩｏＴ（Internet of Things）化により組込機器もネットワークに接続されるようになり、クラッカーと呼ばれる悪意をもった者による破壊行為や、ウィルスの侵入等による組込機器に影響を及ぼす攻撃が増加している。このような攻撃に対抗する方策として、動作するソフトウェアを信頼できるソフトウェアか否かを検証し、信頼できるソフトウェアだけを起動することが考えられている。
【０００３】
しかし、ソフトウェア（プログラム）の信頼性を検証すると、検証する時間分、機器の起動時間が延びてしまうという課題が生じる。そこで、特許文献１では、検証するプログラムに優先順位をつけて、起動処理を短縮することを提案している。
【０００４】
また、特許文献２には、検証するプログラムを固定せず、検証するプログラムを確率によって決定し、起動処理時間を短縮するものが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３９８８８号公報
【特許文献２】特開２００９−９３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上位機器からの接続要求に対して上位機器に接続された機器が制限時間内に応答するため、上位機器に接続された機器は、起動後に機器の生存確認をしなければならないプログラムを優先的に検証及び起動することで、上位機器からの接続要求への応答を可能にし、その後、通信状態を機器接続中とし、機器本来のサービスのプログラムを検証して起動するシステムがある。
【０００７】
しかしながら、上位機器に複数の電子機器が接続される場合、電子機器毎の起動時間にはバラツキが生じる。特に、電子機器毎に暗号化の強度が異なることから、電子機器毎の検証時間も異なる。また、各電子機器は、上位機器からの接続要求に応答するための優先的なプログラムの起動が完了した後は上位機器からの接続要求待ちとなり、接続確認が終わるまで残りのプログラムの起動処理を行うことができない。したがって、上位機器に複数の電子機器が接続されたシステムにおいては、例えば、上位機器が各電子機器に対する接続確認を自由（ランダム）に行うと、早い時期に、優先的なプログラムの起動時間が長い電子機器に対して接続要求を送信する場合があり、この場合、他の電子機器は優先的なプログラムの起動が完了しているのに、上位機器の接続要求に対する待ち時間が長くなり、残りのプログラムの起動が行えない待機状態となることから、システム全体の起動時間が長くなってしまうという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、複数の電子機器が上位機器に接続され、各電子機器が上位機器からの接続要求に対して制限時間内に応答するため、各電子機器が、上位機器からの接続要求に応答できるようにするための優先プログラムのみの起動を行って上位機器からの接続要求を待ち受けるシステムであっても、システム全体の起動時間を高速に行うことができる電子機器システム及びシステム起動方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかる電子機器システムは、上位機器に複数の電子機器が接続され、前記上位機器及び複数の前記電子機器のプログラムは暗号化されており、システム起動時に、前記上位機器及び複数の前記電子機器は、暗号化された各プログラムを検証して起動し、少なくとも前記上位機器はシステム起動時に各電子機器との接続確認を制限時間内に行う電子機器システムであって、各電子機器は、システム起動開始時に、前記上位機器との接続確認に必要な優先プログラム群を優先してプログラム検証を行って起動した後、前記上位機器からの接続要求を待ち受け、前記上位機器からの接続要求を受けた場合、前記接続要求の応答時に前記優先プログラム群の起動時間である優先プログラム起動時間を前記上位機器に通知し、その後、残りのプログラムのプログラム検証及び起動を行い、前記上位機器は、システム起動時毎に少なくとも各電子機器の前記優先プログラム起動時間を取得し、２回目以降のシステム起動時に、前回取得した前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とする。
【００１０】
また、本発明にかかる電子機器システムは、上記の発明において、各電子機器は、前記上位機器からの接続要求に対する応答後、通信状態を処理中モードに遷移し、残りのプログラムのプログラム検証と起動とを行い、全てのプログラムの起動完了後、前記上位機器に対して起動完了を通知するとともに、各プログラムの起動時間を各プログラムの優先度とともに前記上位機器に通知することを特徴とする。
【００１１】
また、本発明にかかる電子機器システムは、上記の発明において、前記上位機器は、各電子機器との接続確認時に、自機器の優先プログラム起動時間である上位機器優先プログラム起動時間を各電子機器に通知し、各電子機器は、前記上位機器優先プログラム起動時間より自機器の前記優先プログラム起動時間が短い場合、前記上位機器優先プログラム起動時間内で起動できる、優先プログラム以外の他の優先度の高いプログラムを前記優先プログラム群に含ませることを特徴とする。
【００１２】
また、本発明にかかる電子機器システムは、上記の発明において、前記上位機器に接続され、前記上位機器及び各電子機器のプログラムを管理する管理サーバを備え、前記管理サーバは、前記上位機器及び各電子機器のプログラム更新時に接続する電子機器内のプログラム構成を前記上位機器に通知するとともに、前記電子機器を構成する各プログラムの起動時間を推定し、推定した各プログラムの起動時間を前記上位機器及び前記電子機器に通知し、前記上位機器は、前記管理サーバから各電子機器のプログラムの起動時間が通知された場合、システム起動時に、前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とする。
【００１３】
また、本発明にかかるシステム起動方法は、上位機器に複数の電子機器が接続され、前記上位機器及び複数の前記電子機器のプログラムは暗号化されており、システム起動時に、前記上位機器及び複数の前記電子機器は、暗号化された各プログラムを検証して起動し、少なくとも前記上位機器はシステム起動時に各電子機器との接続確認を制限時間内に行う電子機器システムのシステム起動方法であって、各電子機器は、システム起動開始時に、前記上位機器との接続確認に必要な優先プログラム群を優先してプログラム検証を行って起動した後、前記上位機器からの接続要求を待ち受け、前記上位機器からの接続要求を受けた場合、前記接続要求の応答時に前記優先プログラム群の起動時間である優先プログラム起動時間を前記上位機器に通知し、その後、残りのプログラムのプログラム検証及び起動を行い、前記上位機器は、システム起動時毎に少なくとも各電子機器の前記優先プログラム起動時間を取得し、２回目以降のシステム起動時に、前回取得した前記優先プログラム起動時間の短い電子機器から順次、接続確認のための接続要求を行うことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の電子機器が上位機器に接続され、各電子機器が上位機器からの接続要求に対して制限時間内に応答するため、各電子機器が、上位機器からの接続要求に応答できるようにするための優先プログラムのみの起動を行って上位機器からの接続要求を待ち受けるシステムであっても、システム全体の起動時間を高速に行うことができる電子機器システム及びシステム起動方法。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態である電子機器システムの全体構成を示す図である。
【図２】図２は、図１に示した電子機器の構成を示すブロック図である。
【図３】図３は、プログラムリストの一例を示す図である。
【図４】図４は、暗号化鍵テーブルの一例を示す図である。
【図５】図５は、電子機器の外部ＲＯＭに格納されるプログラムのフォーマット例を示す図である。
【図６】図６は、起動時間管理テーブルの一例を示す図である。
【図７】図７は、図１に示した上位機器の構成を示す機能ブロック図である。
【図８】図８は、優先プログラム起動時間管理テーブルの一例を示す図である。
【図９】図９は、電子機器システムの起動シーケンスを示すシーケンス図である。
【図１０】図１０は、上位機器の２回目以降の起動時接続要求処理を示すフローチャートである。
【図１１】図１１は、本変形例１による優先プログラム起動時間の送信に関するシーケンスを示す図である。
【図１２】図１２は、変形例１による電子機器側の起動時間管理テーブルの変更の一例を示す図である。
【図１３】図１３は、変形例２の電子機器システムの全体構成を示す図である。
【図１４】図１４は、図１３に示した管理サーバの構成を示す機能ブロック図である。
【図１５】図１５は、管理サーバの制御部による起動時間管理処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照してこの発明を実施するための形態について説明する。
【００１７】
＜全体構成＞
図１は、本発明の実施の形態である電子機器システム３の全体構成を示す図である。図１に示すように、電子機器システム３は、上位機器２に複数の電子機器１（１−１〜１−ｎ）が通信路Ｌ１〜Ｌｎを介して接続される。電子機器システム３は、例えば、ＰＯＳレジシステムであり、上位機器２のＰＯＳレジは、接触式決済端末、非接触式決済端末、対面表示器などの複数の電子機器１を接続する。電子機器システム３は、電源投入により、システムを起動する場合、各電子機器１との接続を確認するため、各電子機器１に接続要求を送信する。
【００１８】
＜電子機器の構成＞
図２は、図１に示した電子機器１の構成を示すブロック図である。図２に示すように、電子機器１は、電子機器１の全体を制御するプロセッサ１０、電子機器１上で動作するプログラムを記憶する外部ＲＯＭ１２、プログラムを動作させるために用いる外部ＲＡＭ１３、上位機器２と通信するための通信インターフェースである通信部１１、及び、各種情報の表示及び操作を行うユーザインターフェースである表示操作部１４を有し、それぞれは内部バスＢに接続される。
【００１９】
プロセッサ１０は、内部ＲＯＭ２０、プログラムの復号や改ざん検知の処理を行う暗号処理部２６、プログラムの起動時間を計測する起動時間計測部２７、及び、内部ＲＡＭ２８を有する。
【００２０】
内部ＲＯＭ２０は、電子機器１で動作するプログラムをロードするローダプログラム２１、プログラムの復号や改ざんを検知するために用いる暗号鍵を記憶する暗号化鍵テーブル２２、ロードするプログラムのリストであるプログラムリスト２３、及び、各プログラムの起動時間を優先レベルとともに管理する起動時間管理テーブル２４を有する。
【００２１】
暗号処理部２６には、電子機器１で用いる暗号用演算や認証用演算を行う。暗号処理部２６は、例えば、ＳＨＡ−１、ＳＨＡ−２５６、ＨＭＡＣ−ＳＨＡ１などのハッシュ関数、ＡＥＳ、ＤＥＳ等の共通鍵暗号、ＲＳＡ、ＥＣＣなどの公開鍵暗号などを用いた演算を行う。
【００２２】
内部ＲＯＭ２０のプログラムリスト２３には、図３に示すように、外部ＲＯＭ１２から読み出すプログラムＰ１〜Ｐｎと、それぞれの優先レベルと、格納アドレスと、サイズとが含まれる。優先レベル「１」のプログラムＰ１〜Ｐ５は、上位機器２との接続確認に必要な優先プログラム群である。プログラムＰ１〜Ｐ５は、順に、ブートプログラム、ＯＳプログラム、起動アプリ、通信アプリ、表示アプリであり、この順序で起動される。なお、優先プログラム群の設定は、電子機器１が上位機器２の接続要求に応答できる最小限のプログラム構成に設定してもよいし、上位機器２が接続要求を開始するまでの電子機器１が起動可能なプログラム構成としてもよい。
【００２３】
内部ＲＯＭ２０の暗号化鍵テーブルは、図４に示すように、プログラムＰ１〜Ｐｎ、プログラム検証用暗号鍵、上位機種認証鍵などの対象プログラムごとに、アルゴリズム、サイズ、鍵、ハッシュ関数などが記載されている。
【００２４】
図５は、外部ＲＯＭ１２に格納されるプログラムのフォーマット例を示す図である。図５に示すように、プログラムは、プログラムヘッダ領域とプログラム領域とを有し、プログラムヘッダ領域には、プログラムのハッシュ値、バージョン等が格納される。プログラム領域は、プログラム用暗号鍵で暗号化されている。また、プログラムのハッシュ値は、プログラム兼用用暗号鍵で暗号化されている。なお、プログラムのハッシュ値とプログラムとは、同じ暗号鍵を用いて暗号化してもよいし、異なる暗号鍵を用いて暗号化してもよい。
【００２５】
起動時間管理テーブル２４は、電子機器１のプログラムの起動時間を管理するテーブルである。図６に示すように、起動時間管理テーブル２４には、プログラムごとに、優先レベル、起動時間、優先設定が設定されている。優先レベルは、プログラム自体の固有の優先度を示しており、優先設定は、優先レベルを変更設定した優先度を示している。
【００２６】
＜上位機器の構成＞
図７は、図１に示した上位機器２の構成を示す機能ブロック図である。図７に示すように、上位機器２は、表示操作部３１、通信部３２、記憶部３３及び制御部３４を有する。
【００２７】
表示操作部３１は、例えばタッチパネルなどの入出力インターフェースであり、各種情報の入出力を行うことができる。通信部３２は、各電子機器１等と通信を行うための通信インターフェースである。
【００２８】
記憶部３３は、ハードディスク装置や不揮発性メモリ等からなる記憶デバイスであり、起動時間管理テーブル２４、優先プログラム起動時間管理テーブル３９及び暗号化鍵テーブル４０を有する。起動時間管理テーブル２４は、各電子機器１から通知されたものである。優先プログラム起動時間管理テーブル３９は、図８に示すように、上位機器２の優先プログラム起動時間と、各電子機器の優先プログラム起動時間及び接続確認の順番とを格納している。上位機器２の優先プログラム起動時間は、上位機器２の起動時における優先プログラム起動時間であり、各電子機器１の優先プログラム起動時間は、各電子機器１から通知されたものである。暗号化鍵テーブル４０は、暗号化鍵テーブル２２と同様な情報であり、記憶部３３に記憶されている暗号化プログラムに関する情報である。
【００２９】
制御部３４は、上位機器２の全体制御を行う制御部であり、起動制御部３５、暗号処理部３６、起動時間計測部３７及び起動時間管理部３８を有する。実際には、これらに対応するプログラムを不揮発性メモリや磁気ディスク装置などの記憶装置に記憶しておき、これらのプログラムをメモリにロードして、ＣＰＵ（Central  Processing  Unit）で実行することで、対応するプロセスを実行させることになる。
【００３０】
起動制御部３５はブートプログラムに相当し、暗号処理部３６は電子機器１の暗号処理部２６に相当する。起動時間計測部３７は、起動時間計測部２７に相当し、上位機器２の優先プログラムの起動期間を含む各プログラムの起動時間を計測する。起動時間管理部３８は、例えば、優先プログラム起動時間管理テーブル３０を管理する。
【００３１】
＜電子機器システムの起動シーケンス＞
次に、図９に示したシーケンス図をもとに、電子機器システム３の起動シーケンスについて説明する。まず、電子機器システム３に電源が投入される（ステップＳ１１０）と、上位機器２及び各電子機器１はプログラムを起動する（ステップＳ１２０，Ｓ１３０）。上位機器２及び電子機器１はともに、優先プログラム群を起動する。
【００３２】
電子機器１では、内部ＲＯＭ２０に格納されたローダプログラム２１が、プログラムリスト２３に従って、外部ＲＯＭ１２に格納されたプログラムを読み出す。図３に示したプログラムリスト２３では、プログラムＰ１〜Ｐ５が優先レベル「１」に設定されているので、ローダプログラム２１は、優先レベル「１」のプログラムをリスト順に読み出し、プログラムを復号して改ざん検証を行い、外部ＲＡＭ１３に展開して起動する。そして、起動時間計測部２７は、起動したプログラムの起動時間を計測する。電子機器１は、全ての優先プログラムの起動が終了した時点で、上位機器２からの接続要求を待つ状態となる。なお、上位機器２も、電子機器１と同様なプログラム起動を行う。
【００３３】
上位機器２の優先プログラムのプログラム起動が完了すると、上位機器２は、電子機器１に対する接続要求を行い、電子機器１は接続要求に応答する（ステップＳ１４０）。これにおり、上位機器２は電子機器１との間の接続を確認する。この応答の際、電子機器１は、計測した起動処理にかかった時間、すなわち優先プログラム起動時間を上位機器２に通知する。
【００３４】
その後、上位機器２は、接続する電子機器１が正規の電子機器であるか否かを確認する相互認証を行う（ステップＳ１５０）。ここで、この認証には、暗号化鍵テーブル２２に設定された上位機器認証鍵とハッシュ関数とが用いられる。
【００３５】
その後、上位機器２は、電子機器１に対してサービス開始可能か否かを確認するために、状態確認を送信する（ステップＳ１６０）。そして、この時点で電子機器１は、サービスを開始可能な状態にするために、上位機器２に、「処理中」として応答し、待機中モードから処理中モードに遷移する。そして、電子機器１は、残りのプログラムを起動する（ステップＳ１８０）。この残りのプログラムも暗号化されているので、優先プログラムと同様に復号、検証、展開を行う。なお、この場合もプログラムの起動時間は計測する。
【００３６】
電子機器１は、全てのプログラムの起動が完了すると、上位機器２に対してサービスが可能である旨の起動完了を送信する（ステップＳ１９０）。この起動完了には、起動時間管理テーブル２４の送信も含まれる。起動時間管理テーブル２４の生成に際し、各起動時間は、今回のものではなく、前回の起動時間などを含めた移動平均とし、バラつきを補正するようにしてもよい。
【００３７】
一方、上位機器２は、「処理中」の応答を行った電子機器１に対しては「待機中」のモードとなる。（ステップＳ１７０）。そして、上位機器２は、電子機器１から起動完了を受信までの間、他のデバイスとの接続、その他の初期化処理を行うことが可能となる。
【００３８】
上位機器２は、電子機器１からの起動完了があると、全ての電子機器１からの起動完了を受けて、上位機器２と各電子機器１との間のサービスを開始する（ステップＳ２００）。なお、通知される起動時間は、前回の起動時間などを含めた移動平均とすることが好ましい。起動毎のばらつきが補正できるからである。
【００３９】
これにより、上位機器２は、図８に示した優先プログラム起動時間管理テーブル３９を生成でき、次回起動時の接続確認の順番を変更設定して、システム起動を高速に行うことができる。
【００４０】
＜上位機器の２回目以降の起動時接続要求処理＞
図１０は、上位機器２の２回目以降の起動時接続要求処理を示すフローチャートである。図１０に示すように、上位機器２は、起動時ごとに各電子機器１から起動時間管理テーブル２４を取得する（ステップＳ２１０）。その後、図８に示した、上位機器２側の優先プログラム起動時間管理テーブル３９を生成しておく（ステップＳ２１０）。その後、２回目以降の起動か否かを判定する（ステップＳ２３０）。２回目以降の起動でない場合（ステップＳ２３０，Ｎｏ）、すなわち、現在の電子機器システム３の構成に対する初めての起動である場合には、そのまま本処理を終了する。一方、２回目以降の起動である場合（ステップＳ２３０，Ｙｅｓ）には、現在作成されている優先プログラム起動時間管理テーブル３９の接続確認の順序で各電子機器１に対して接続要求を送信して接続確認を行い（ステップＳ２４０）、本処理を終了する。
【００４１】
以上説明したように、本実施の形態では、上位機器２が接続する各電子機器１の接続確認を、起動後、制限時間内に行う場合であって、さらに、各プログラムの保護、改ざん検知の機能を強化した場合であっても、２回目以降の接続確認を制限時間内に行うことができ、システム全体の起動時間を高速に行うことができる。
【００４２】
＜変形例１＞
図１１は、本変形例１による優先プログラム起動時間の送信に関するシーケンスを示す図である。図１１に示すように、本変形例１では、上位機器２が状態確認（ステップＳ１６０）を行う際、電子機器１に接続要求を送信するまでにかかる時間、具体的には、上位機器２の優先プログラム起動時間を各電子機器１に送信する（ステップＳ３１０）。
【００４３】
そして、上位機器２の優先プログラム起動時間を受信した電子機器１は、優先プログラムの優先設定を変更する処理を行う（ステップＳ３２０）。すなわち、上位機器２の優先プログラム起動時間より自電子機器１の優先プログラム起動時間が短い場合、上位機器２の優先プログラム起動時間内で起動できる、優先プログラム以外の他の優先度の高いプログラムを優先プログラム群に含ませる。
【００４４】
具体的には、図８に示した上位機器２の優先プログラム起動時間管理テーブル３９では、上位機器２の優先プログラム起動時間が１０００ｍｓであり、電子機器１−１の優先プログラム起動時間は７００ｍｓであるため、電子機器１−１の優先プログラム起動時間に３００ｍｓの余裕がある。このため、図１２に示すように、電子機器１−１は、次に優先度が高く、起動時間も２００ｍｓであるプログラムＰ６（決済アプリ）の優先設定を「２」から「１」に変更し、プログラムＰ６を優先プログラム群に加え、接続要求に応答するまでの期間に起動させるようにしている。
【００４５】
本変形例１では、上位機器が電子機器１に接続要求を送信するまでにかかる時間（優先プログラム起動時間）を通知することによって、電子機器１側は、接続要求を受けるまでの間に、起動可能なプログラム数を増やすことができる。この結果、サービス開始までの時間をさらに短縮することができる。
【００４６】
＜変形例２＞
本変形例２では、図１３に示すように、上位機器２に接続され、上位機器２及び各電子機器１のプログラムを管理する管理サーバ１００を備える。管理サーバ１００は、上位機器２及び各電子機器１のプログラム更新時に接続する電子機器１内のプログラム構成を上位機器２に通知するとともに、電子機器１を構成する各プログラムの起動時間を推定し、推定した各プログラムの起動時間を上位機器２及び電子機器１に通知する。
【００４７】
図１４は、図１３に示した管理サーバ１００の構成を示す機能ブロック図である。図４に示すように、管理サーバ１００は、通信部５１、記憶部５２及び制御部５３を有する。通信部５１は、上位機器２及び各電子機器１等と通信を行うための通信インターフェースである。記憶部５２は、起動時間管理テーブル２４を有する。
【００４８】
制御部５３は、管理サーバ１００の全体制御を行う制御部であり、電子機器構成管理部５４、起動時間管理部５５及び起動時間推定部５６を有する。実際には、電子機器構成管理部５４、起動時間管理部５５及び起動時間推定部５６に対応するプログラムを不揮発性メモリや磁気ディスク装置などの記憶装置に記憶しておき、これらのプログラムをメモリにロードして、ＣＰＵ（Central  Processing  Unit）で実行することで、対応するプロセスを実行させることになる。
【００４９】
次に、図１５に示したフローチャートを参照して、制御部５３による起動時間管理処理手順について説明する。図１５に示すように、制御部５３は、上位機器２及び各電子機器１に対するプログラム配信によるプログラムの更新があったか否かを判定する（ステップＳ３１０）。プログラムの更新がない場合（ステップＳ３１０，Ｎｏ）には本判定処理を繰り返す。一方、プログラムの更新があった場合（ステップＳ３１０，Ｙｅｓ）には、電子機器構成管理部５４が、プログラム更新時に接続した電子機器１内のプログラム構成を上位機器２に通知する（ステップＳ３２０）。
【００５０】
その後、起動時間推定部５６は、電子機器を構成する各プログラムの起動時間を推定する（ステップＳ３３０）。その後、起動時間管理部５５は、起動時間推定部５６が推定した各プログラムの起動時間を上位機器２及び電子機器１に通知し（ステップＳ３４０）、本処理を終了する。
【００５１】
ここで、上位機器２は、管理サーバ１００から各電子機器１のプログラムの起動時間が通知された場合、初回のシステム起動時から、優先プログラム起動時間管理テーブル３９が存在するため、この優先プログラム起動時間管理テーブル３９を用いて、優先プログラム起動時間の短い電子機器１から順次、接続確認のための接続要求を行い、高速のシステム起動を行うことができる。
【００５２】
なお、上記の実施の形態及び変形例で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置及び構成要素の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【符号の説明】
【００５３】
１  電子機器
２  上位機器
３  電子機器システム
１０  プロセッサ
１１，３２，５１  通信部
１２  外部ＲＯＭ
１３  外部ＲＡＭ
１４，３１  表示操作部
２０  内部ＲＯＭ
２１  ローダプログラム
２２，４０  暗号化鍵テーブル
２３  プログラムリスト
２４  起動時間管理テーブル
２６，３６  暗号処理部
２７，３７  起動時間計測部
２８  内部ＲＡＭ
３０，３９  優先プログラム起動時間管理テーブル
３３，５２  記憶部
３４，５３  制御部
３５  起動制御部
３８，５５  起動時間管理部
５４  電子機器構成管理部
５６  起動時間推定部
１００  管理サーバ
Ｂ  内部バス
Ｌ１〜Ｌｎ  通信路
Ｐ１〜Ｐｎ  プログラム
【図１】
2020046802.tif 000003
【図２】
2020046802.tif 000004
【図３】
2020046802.tif 000005
【図４】
2020046802.tif 000006
【図５】
2020046802.tif 000007
【図６】
2020046802.tif 000008
【図７】
2020046802.tif 000009
【図８】
2020046802.tif 000010
【図９】
2020046802.tif 000011
【図１０】
2020046802.tif 000012
【図１１】
2020046802.tif 000013
【図１２】
2020046802.tif 000014
【図１３】
2020046802.tif 000015
【図１４】
2020046802.tif 000016
【図１５】
2020046802.tif 000017