(57)【要約】【課題】多数の端末装置が更新プログラムを効率よくダウンロードできるようにする。【解決手段】複数の端末装置がグループ分けされる。最初のグループの端末装置がプログラム提供装置に更新プログラムを要求した時点を基準にして、残りグループの端末装置は、更新プログラムのダウンロードに要する時間に基づいてダウンロードの要求タイミングを設定する。先のグループの端末装置が更新プログラムをダウンロードした後、次のグループの要求タイミングになると、端末装置は更新プログラムを要求する。各端末装置は、グループ毎にタイミングをずらして更新プログラムをダウンロードする。【選択図】図３
2014013484.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを提供するプログラム提供装置と、プログラム提供装置と通信可能な複数の端末装置とから構成され、各端末装置は、プログラム提供装置に更新プログラムの提供を要求して、要求に応じたプログラム提供装置は更新プログラムを提供し、各端末装置は更新プログラムをダウンロードして、プログラムを更新するプログラム更新システムであって、複数の端末装置がグループ分けされ、各端末装置は、グループ毎にタイミングをずらして更新プログラムをダウンロードすることを特徴とするプログラム更新システム。
【請求項２】
先のグループの端末装置が更新プログラムをダウンロードした後、次のグループの端末装置は更新プログラムを要求することを特徴とする請求項１記載のプログラム更新システム。
【請求項３】
最初のグループの端末装置がプログラム提供装置に更新プログラムを要求した時点を基準にして、残りグループの端末装置は更新プログラムのダウンロードに要する時間に基づいて決められたタイミングで順次更新プログラムを要求することを特徴とする請求項２記載のプログラム更新システム。
【請求項４】
更新プログラムの要求のタイミングは、更新プログラムのデータ量に基づいて決められることを特徴とする請求項１〜３のいずれかに記載のプログラム更新システム。
【請求項５】
端末装置が有する固有情報に基づいて、各端末装置は複数のグループに分けられることを特徴とする請求項１〜４のいずれかに記載のプログラム更新システム。
【請求項６】
各端末装置が更新する更新プログラムのデータ量が異なるとき、各端末装置は更新プログラムのデータ量に応じて複数のグループに分けられることを特徴とする請求項４記載のプログラム更新システム。
【請求項７】
プログラム提供装置は、更新プログラムのデータ量に応じて各グループのダウンロードの優先順位を決め、各端末装置に優先順位を通知することを特徴とする請求項６記載のプログラム更新システム。
【請求項８】
プログラム提供装置への最大同時接続数に基づいて、各端末装置は複数のグループに分けられることを特徴とする請求項１〜４のいずれかに記載のプログラム更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新プログラムをダウンロードして、プログラムを更新するプログラム更新システムに関する。
【背景技術】
【０００２】
マイコンを内蔵した端末装置は、サーバなどのプログラム提供装置に通信可能に接続され、プログラム提供装置から提供されたプログラムにしたがって所定の処理を実行する。バージョンアップなどによりプログラムが更新されるとき、端末装置は、プログラム提供装置から更新プログラムをダウンロードする。
【０００３】
１つのプログラム提供装置に接続される端末装置が多数ある場合、各端末装置が更新プログラムを一斉にダウンロードすると、プログラム提供装置の負荷が大きくなってしまうとともに、ダウンロードに要する時間も長くなってしまう。
【０００４】
特許文献１に記載されたダウンロードシステムでは、端末装置がダウンロードする際、ダウンロードが継続中である情報を他の端末装置に同報通信する。他の端末装置は、同報通信を受けると、ダウンロードを要求しない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１０９１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
端末装置は、更新プログラムをダウンロードするとき、他の端末装置にダウンロードすることを通知する。そして、通知を受けた端末装置が、更新プログラムをダウンロードするとき、他の端末装置に通知しなければならない。多数の端末装置がプログラムを更新する場合、このような通知が順に行われるので、全ての端末装置のダウンロードが完了するのに時間がかかってしまい、効率的でない。
【０００７】
本発明は、上記に鑑み、多数の端末装置が更新プログラムを効率よくダウンロードできるプログラム更新システムの提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明のプログラム更新システムは、プログラムを提供するプログラム提供装置と、プログラム提供装置と通信可能な複数の端末装置とから構成され、各端末装置は、プログラム提供装置に更新プログラムの提供を要求して、要求に応じたプログラム提供装置は更新プログラムを提供し、各端末装置は更新プログラムをダウンロードして、プログラムを更新する。このとき、複数の端末装置がグループ分けされ、各端末装置は、グループ毎にタイミングをずらして更新プログラムをダウンロードする。
【０００９】
更新プログラムのダウンロードがグループ数と同じ回数に分けて行われるので、プログラム提供装置が個別に端末装置に対応するのに比べて、プログラム提供装置の負荷を軽減でき、端末装置は他の端末装置に通知しなくてすむ。したがって、更新プログラムのダウンロードを効率よく行うことができる。
【００１０】
先のグループの端末装置が更新プログラムをダウンロードした後、次のグループの端末装置は更新プログラムを要求する。グループ毎のダウンロードが重ならず、通信が輻輳することはない。
【００１１】
最初のグループの端末装置がプログラム提供装置に更新プログラムを要求した時点を基準にして、残りグループの端末装置は更新プログラムのダウンロードに要する時間に基づいて決められたタイミングで順次更新プログラムを要求する。
【００１２】
更新プログラムの要求のタイミングは、更新プログラムのデータ量に基づいて決められる。通信時間に変化はないので、データ量がわかればダウンロードに要する時間を算出でき、各グループのダウンロードを要求するタイミングを決めることができる。これによって、端末装置は、無駄な待ち時間もなく、スムーズにダウンロードできる。
【００１３】
端末装置が有する固有情報に基づいて、各端末装置は複数のグループに分けられる。各グループに万遍なく端末装置を振り分けることができる。
【００１４】
各端末装置が更新する更新プログラムのデータ量が異なるとき、各端末装置は更新プログラムのデータ量に応じて複数のグループに分けられる。グループ毎のダウンロードに要する時間は異なるが、グループ内の各端末装置のダウンロードに要する時間は同じとなり、全体のダウンロードに要する時間を短縮できる。
【００１５】
プログラム提供装置は、更新プログラムのデータ量に応じて各グループのダウンロードの優先順位を決め、各端末装置に優先順位を通知する。各グループの端末装置は、決められたタイミングで更新プログラムをダウンロードする。プログラム提供装置は、複数の更新プログラムを提供するが、更新プログラム毎に提供でき、効率よく処理できる。
【００１６】
プログラム提供装置への最大同時接続数に基づいて、各端末装置は複数のグループに分けられる。プログラム提供装置は、最大同時接続数を超えた端末装置とは一度に通信することができない。１つのグループに属する端末装置は最大同時接続数以下となるので、グループ毎に確実に更新プログラムのダウンロードを行え、ダウンロードに要する時間が延びることはない。
【発明の効果】
【００１７】
本発明によると、複数の端末装置がグループ毎にタイミングをずらして更新プログラムをダウンロードすることにより、各端末装置が一斉にダウンロードするようなことは起こらない。したがって、プログラム提供装置にかかる負荷を軽減できるとともに、端末装置間の通信を不要にでき、システム全体のダウンロードに要する時間を短縮できる。
【図面の簡単な説明】
【００１８】
【図１】本発明のプログラム更新システムの概略構成図
【図２】端末装置の概略構成を示すブロック図
【図３】グループ毎の更新プログラムのダウンロードのシーケンスを示す図
【図４】更新プログラムのデータ量に基づいてグループ分けしたときの更新プログラムのダウンロードのシーケンスを示す図
【図５】最大同時接続数に基づいてグループ分けしたときの更新プログラムのダウンロードのシーケンスを示す図
【発明を実施するための形態】
【００１９】
本実施形態のプログラム更新システムを図１に示す。本システムは、プログラムを提供するプログラム提供装置１と、プログラム提供装置１と通信可能な複数の端末装置２とから構成される。プログラム提供装置１と端末装置２とは、無線通信によりデータを送受信する。
【００２０】
図２に示すように、端末装置２は、ＣＰＵ２１、プログラムメモリ２２、ワークメモリ２３、通信部２４を備え、ＣＰＵ２１とメモリ２２，２３などの周辺機器とがバス２５で接続される。プログラムメモリ２２は、ＣＰＵ２１で実行するためのプログラムを格納する読み書き可能なフラッシュメモリなどの不揮発性メモリである。ワークメモリ２３は、プログラムの実行空間を与えるＲＡＭなどの揮発性メモリである。通信部２４は、特定小電力無線、無線ＬＡＮなどの無線通信を行う。ＣＰＵ２１、プログラムメモリ２２、ワークメモリ２３により、制御部が構成される。制御部は、プログラムにしたがって所定の処理を実行する。なお、プログラム提供装置１はサーバとされ、端末装置２と同じ構成であり、制御部は、端末装置２とのデータ通信を制御する。
【００２１】
ここで、プログラム提供装置１および端末装置２は、メータ等の検針を行う無線テレメータシステムに使用される。プログラム提供装置１は、センタ装置に通信回線を通じて通信可能に接続された無線親機とされる。端末装置２は、住宅に設置される無線子機とされ、メータ、センサなどの端末機器が接続される。端末装置２の制御部は、定期的にプログラムを起動して、メータなどの端末機器から検針値などのデータを収集し、収集したデータをプログラム提供装置１に送信する。プログラム提供装置１は、各端末装置２から受信したデータをセンタ装置に伝送する。また、センタ装置からの電文などのデータは、プログラム提供装置１を通じて端末装置２に伝送される。端末装置２の制御部は、受信したデータに基づいて所定の処理を行う。例えば、端末機器からデータを収集して、データをセンタ装置宛に送信する。
【００２２】
センタ装置からのデータには、更新プログラムも含まれる。すなわち、端末装置２には、プログラムが予めインストールされ、端末装置２が設置される。プログラムのバージョンアップによって更新プログラムが作成されると、更新プログラムは、センタ装置からプログラム提供装置１を通じて各端末装置２に提供される。プログラム提供装置１は、センタ装置から更新プログラムをダウンロードして、ＳＳＤなどの記憶部に更新プログラムを保存する。各端末装置２はこの更新プログラムをダウンロードする。
【００２３】
プログラムの更新に際して、プログラム提供装置１は、各端末装置２にプログラムの更新を通知する。各端末装置２は、プログラム提供装置１に更新プログラムの提供を要求する。この要求に応じて、プログラム提供装置１は更新プログラムを提供する。各端末装置２は、更新プログラムをダウンロードして、プログラムメモリ２２に保存する。
【００２４】
ここで、複数の端末装置２が一斉にプログラムの更新を行うと、プログラム提供装置１からダウンロードを効率よく行えなくなるおそれがある。そこで、複数の端末装置２がグループ分けされ、グループ単位で更新プログラムのダウンロードを行う。したがって、各グループのダウンロードはタイミングをずらして行われる。
【００２５】
グループ分けは、各端末装置２のユニークな固有情報に基づいて行われる。固有情報として、端末装置２の製造番号があげられる。例えば、製造番号の下１桁が同じ番号の端末装置２を１つのグループとする。これにより、複数の端末装置２は１０個のグループに分けられる。あるいは、下２桁毎にグループ分けしてもよい。端末装置２が数百台以上ある場合に、１つのグループに属する端末装置２を少なくできる。製造番号の代わりに、無線通信のために各端末装置２に割り当てられたＩＰアドレスなどのような識別番号を用いてもよい。
【００２６】
このグループ分けは、事前に行われる。端末装置２が設置されたとき、プログラム提供装置１の制御部は、端末装置２の固有情報を各端末装置２から取得し、固有情報に基づいて各端末装置２をグループ分けする。制御部は、各グループに属する端末装置２をリストにしたグループ情報を作成し、グループ情報を記憶部に記憶する。そして、プログラム提供装置１の制御部は、グループ情報を各端末装置２に送信する。端末装置２の制御部は、グループ情報を受け取ると、グループ情報を記憶部に記憶する。端末装置２の制御部は、自装置が属するグループを認識できる。
【００２７】
更新プログラムが提供されるとき、プログラム提供装置１の制御部は、マルチキャストにより全ての端末装置２に更新情報を通知する。更新情報には、更新プログラムのデータ量、更新の開始時期などの情報が含まれる。更新の開始時期は、最初のグループがダウンロードを要求するタイミング（日時）を示す。各グループの更新の順序は、予め決められており、例えば製造番号の下１桁が０のグループから昇順とされる。
【００２８】
図３に示すように、設定された要求タイミングになると、最初のグループに属する各端末装置２の制御部は、プログラム提供装置１にダウンロード指示発呼を行う。プログラム提供装置１の制御部は、この指示を受けると、指示した端末装置２宛に更新プログラムのデータを送信し、端末装置２は、更新プログラムのデータを受信して、更新プログラムのダウンロードが行われる。端末装置２の制御部は、更新プログラムを受け取ると、プログラムメモリ２２に保存する。
【００２９】
最初のグループの端末装置２が更新プログラムをダウンロードした後、次のグループの端末装置２が更新プログラムのダウンロードを要求する。ダウンロードの要求タイミングは、最初のグループの端末装置２がプログラム提供装置１に更新プログラムのダウンロードを要求した時点を基準にして決められる。無線通信の通信速度はほぼ一定であるので、更新プログラムのダウンロードに要する時間は、更新プログラムのデータ量に基づいて算出できる。そこで、端末装置２の制御部は、プログラム提供装置１から更新情報を受け取ったとき、最初のグループのダウンロードの要求タイミングと算出したダウンロードに要する時間とに基づいて、自装置が属するグループの順番を考慮して、ダウンロードの要求タイミングを設定する。具体的には、先のグループのダウンロード終了時間に一定の時間をプラスして、要求タイミングが決められる。
【００３０】
なお、更新情報に、更新の開始時期を含めなくてもよい。各端末装置２がプログラム提供装置１からほぼ同時期に更新情報を受け取る場合、端末装置２の制御部は、更新情報を受け取った時点を基準にして、要求タイミングを設定する。あるいは、プログラム提供装置１が最初のグループの端末装置２からダウンロード指示を受けると、プログラム提供装置１の制御部は、２番目以降のグループの端末装置２に、最初のグループからダウンロード指示があったことを通知する。２番目以降のグループの各端末装置２は、この通知に基づいて要求タイミングを設定する。
【００３１】
２番目のグループの端末装置２の制御部は、設定された要求タイミングになると、プログラム提供装置１にダウンロード指示発呼を行う。端末装置２は、プログラム提供装置１から提供された更新プログラムをダウンロードする。
【００３２】
このようにして、各グループの端末装置２は、ダウンロードのタイミングをずらして、順に更新プログラムをダウンロードしていく。したがって、プログラム提供装置１は一度に多数の端末装置２に更新プログラムを提供する必要がなくなるので、プログラム提供装置１にかかる負荷を軽減できる。
【００３３】
ところで、端末装置２において、適用できるプログラムが異なる場合がある。例えば、古い端末装置２では、最新のプログラムを実行できないことがある。この場合、それぞれの端末装置２における更新プログラムが異なる。すなわち、更新プログラムのデータ量に差が生じる。そこで、各端末装置２において更新される更新プログラムのデータ量が異なるとき、更新プログラムのデータ量に応じて各端末装置２が複数のグループに分けられる。更新プログラムのデータ量が同じ端末装置２は、同一のグループとなる。
【００３４】
プログラム提供装置１の制御部は、各端末装置２に適合する更新プログラムを確認し、更新プログラムのデータ量に応じて端末装置２をグループ化する。例えば、各端末装置２は、更新プログラムのデータ量が大中小の３つのグループに分けられる。また、制御部は、更新のタイミングに対する各グループの優先順位を決める。例えばデータ量が大のグループが１番目、中のグループが２番目、小のグループが３番目とする。
【００３５】
図４に示すように、プログラム提供装置１の制御部は、所属するグループ、グループ毎の更新プログラムのデータ量、グループの優先順位といった更新情報を全ての端末装置２に通知する。端末装置２が更新情報を受信すると、制御部は、自装置が属するグループおよび優先順位を認識し、更新プログラムのダウンロードの要求タイミングを設定する。
【００３６】
優先順位が１番目のグループの端末装置２の制御部は、プログラム提供装置１から更新情報を受け取ると、すぐにプログラム提供装置１にダウンロード指示発呼を行う。プログラム提供装置１の制御部は、この指示を受けると、指示した端末装置２宛に更新プログラムのデータを送信し、更新プログラムのダウンロードが行われる。端末装置２の制御部は、ダウンロードした更新プログラムをプログラムメモリ２２に保存する。
【００３７】
優先順位が１番目以外のグループの端末装置２の制御部は、先のグループの更新プログラムのデータ量に基づいてダウンロードに要する時間を算出し、更新情報を受信した時点を基準にして、先のグループのダウンロードに要する時間分だけ遅い時間にダウンロードの要求タイミングを設定する。
【００３８】
２番目のグループの端末装置２は、１番目のグループのダウンロードが終了した後、設定された要求タイミングになると、プログラム提供装置２にダウンロード指示発呼を行う。２番目のグループのダウンロードが終了すると、３番目のグループの端末装置２は、設定された要求タイミングにしたがって更新プログラムのダウンロードを行う。
【００３９】
同じグループ内では、ダウンロード時間が同じとなり、グループ単位でダウンロードが行われる。これにより、ダウンロードに要する時間が異なっても、各端末装置２のダウンロードの終了時間にはばらつきがない。プログラム提供装置１はまとめて処理でき、プログラム提供装置１の負荷を軽減できる。しかも、プログラム提供装置１は、複数の更新プログラムを提供するが、更新プログラム毎に提供でき、効率よく処理できる。
【００４０】
ここで、プログラム提供装置１と複数の端末装置２との間で無線通信が行われるが、プログラム提供装置１に接続できる端末装置２の台数には制限がある。上記のように、端末装置１の固有情報あるいは更新プログラムのテータ量に基づいてグループ分けしたとき、１つのグループに属する端末装置２の台数がプログラム提供装置１への最大同時接続数を超える場合がある。そこで、この最大同時接続数に基づいて、各端末装置２が複数のグループに分けられる。
【００４１】
通信可能な端末装置２の台数が最大同時接続数を超えている場合、プログラム提供装置１の制御部は、端末装置２のグループ分けを行う。制御部は、端末装置２の固有情報に基づいて最大同時接続数毎にグループ分けする。例えば、最大同時接続数が３０台の場合、端末装置２の製造番号の若い順に３０台の端末装置２が１つのグループとなり、次の３０台が別のグループとなる。また、制御部は、製造番号の若いグループから順に優先順位を設定する。
【００４２】
プログラム提供装置１は、固有情報あるいは更新プログラムのデータ量に基づいて各端末装置２をグループ分けした後、グループ内の端末装置２の台数が最大同時接続数を超えていないかを確認する。越えている場合、プログラム提供装置１は、最大同時接続数を越えないようにグループ分けする。例えば、１グループが最大同時接続数を越えないように、再度グループ分けする。あるいは、最大同時接続数を超えたグループをさらに複数のグループに分けてもよい。
【００４３】
図５に示すように、プログラム提供装置１は、所属するグループ、グループの優先順位といった更新情報を全ての端末装置２に通知する。端末装置２が更新情報を受信すると、制御部は、自装置が属するグループおよび優先順位を認識し、更新プログラムのダウンロードの要求タイミングを設定する。なお、更新プログラムのデータ量は同じとする。そして、優先順位が１番目のグループの端末装置２から更新プログラムがダウンロードされる。以降、各グループの端末装置２は、先のグループのダウンロードが終了した後、設定された要求タイミングになると、更新プログラムのダウンロードを行う。
【００４４】
このように、最大同時接続数に基づいてグループ分けすることにより、グループ内の端末装置２は一斉にダウンロードすることができる。同一グループにおいて、複数回にわたってダウンロードが行われると、決められたタイミングで他のグループの端末装置がダウンロードできなくなるといった事態が生じるが、このような事態を防止できる。
【００４５】
なお、本発明は、上記実施形態に限定されるものではなく、本発明の範囲内で上記実施形態に多くの修正および変更を加え得ることは勿論である。プログラム提供装置と端末装置とは、インターネット、公衆電話回線網などのネットワークを通じて通信可能に接続されていてもよく、無線通信に限らず有線による通信であってもよい。
【００４６】
プログラム提供装置がグループ分けする代わりに、端末装置が自らグループ分けしてもよい。端末装置は、プログラム提供装置から更新情報の通知を受けたとき、自装置の固有情報に基づいてグループを判断する。端末装置の制御部は、例えば製造番号や識別番号の下１桁に基づいて、自装置が属するグループを判断する。そして、制御部は、通知を受けた時点を基準にして、自己のグループの優先順位に基づきダウンロードの要求タイミングを設定する。
【００４７】
端末装置同士が通信可能であるとき、端末装置が他の端末装置にダウンロードの開始を通知してもよい。最初のグループの端末装置は、ダウンロード指示を行ったとき、他のグループの端末装置に指示を行った時間を通知する。他のグループの端末装置は、最初のダウンロードの時間に基づいて、要求タイミングを設定する。
【符号の説明】
【００４８】
１    プログラム提供装置
２    端末装置
２１    ＣＰＵ
２２    プログラムメモリ
２３    ワークメモリ
２４    通信部
２５    バス
【図１】
2014013484.tif 000003
【図２】
2014013484.tif 000004
【図３】
2014013484.tif 000005
【図４】
2014013484.tif 000006
【図５】
2014013484.tif 000007