説明

バージョンダウン管理装置

【課題】プログラムのバージョンダウンとファイルのバージョンダウンのタイミングを同期させることのできるバージョンダウン管理装置を得る。
【解決手段】プログラム管理部15は、プログラムのバージョンダウンを行う場合、プログラムバージョンダウン通知を発行する。データバージョンダウン部13は、プログラムバージョンダウン通知を受けた場合、バージョンダウンされるプログラムが使用するデータを、バージョンダウン後のプログラムが使用可能な形式にバージョンダウンする。プログラム管理部15は、データバージョンダウン部13でバージョンダウンが完了した後に、バージョンダウンするプログラムを起動用プログラムとして設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置内で動作するプログラムのバージョンアップとバージョンダウンを自動で行う組込み系装置において、バージョンダウンを管理するバージョンダウン管理装置に関する。
【背景技術】
【0002】
ネットワークに接続して動作する組込み系装置では、機能拡張や不具合修正のためネットワーク経由でプログラムサーバにアクセスして機器内で動作するプログラムをバージョンアップすることが可能である。一方で、例えばバージョンアップしたプログラムに重大な問題が発生した場合など、ネットワーク経由で過去に実績のあるバージョンにバージョンダウンする場合がある。
【0003】
プログラムのバージョンアップでは、機能拡張なども伴うため、組込み系装置の不揮発メモリに蓄積しているデータファイルの形式がしばしば変更される。一方で、例えばバージョンアップしたプログラムに問題が発生した場合など、過去の実績あるバージョンにバージョンダウンする場合がある。しかしながら、一度バージョンアップを行い、データファイルのファイル形式変更が行われた場合にはバージョンダウン先の過去のバージョンではそのファイル形式が認識できず、正しくデータファイルを読み込めない。
【0004】
このような問題に対処するため、例えば特許文献1に記載されたような方法では、新バージョンソフトウェアで生成した新バージョンファイル形式を、旧バージョンファイル形式のみ読み込み可能な旧バージョンソフトウェアで読み込むようにしている。即ち、このような方法とは、新バージョンソフトウェアで新バージョンファイルを旧バージョンファイルに変換する方法と、旧バージョンソフトウェアで新バージョンファイルを旧バージョンファイルに変換する方法である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−11271号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ファイル変換の実行は利用者の操作によるものであり、ファイル変換のタイミングについては任意となる。一方、組込み系装置がソフトウェアのバージョンダウンに伴い、ファイルのバージョンダウンを行う場合は、ファイル形式の変換処理を単独で行うだけでは、ファイル変換失敗時などにファイル変換できずにプログラムバージョンダウンのみ実施されるという問題点がある。これを解決するにはプログラムのバージョンダウンとファイルのバージョンダウンのタイミングを同期させる必要がある。ところが、上記従来の特許文献等にはこのようなプログラムとデータファイルのバージョンダウンを同期させて行うようなファイル変換方法については開示されていなかった。
【0007】
この発明は上記のような課題を解決するためになされたもので、プログラムのバージョンダウンとファイルのバージョンダウンのタイミングを同期させることのできるバージョンダウン管理装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るバージョンダウン管理装置は、起動するプログラムの管理を行うと共に、プログラムのバージョンダウンを行う場合、プログラムバージョンダウン通知を発行するプログラム管理部と、プログラムバージョンダウン通知を受信した場合、バージョンダウンされるプログラムが使用するデータを、バージョンダウン後のプログラムが使用可能な形式にバージョンダウンするデータバージョンダウン部とを備え、プログラム管理部は、データバージョンダウン部でバージョンダウンが完了した後に、バージョンダウンするプログラムを起動用プログラムとして設定するようにしたものである。
【発明の効果】
【0009】
この発明のバージョンダウン管理装置は、プログラム管理部は、データバージョンダウン部でバージョンダウンが完了した後に、バージョンダウンするプログラムを起動用プログラムとして設定するようにしたので、プログラムのバージョンダウンとファイルのバージョンダウンのタイミングを同期させることができる。
【図面の簡単な説明】
【0010】
【図1】この発明の実施の形態1のバージョンダウン管理装置を適用したデータ蓄積装置を示す構成図である。
【図2】この発明の実施の形態1のバージョンダウン管理装置におけるデータ蓄積部のデータを示す説明図である。
【図3】この発明の実施の形態1のバージョンダウン管理装置におけるデータ蓄積部の複数のデータファイルバージョンを示す説明図である。
【図4】この発明の実施の形態1のバージョンダウン管理装置の動作を示すフローチャートである。
【図5】この発明の実施の形態1のバージョンダウン管理装置におけるプログラム蓄積部のプログラムを示す説明図である。
【図6】この発明の実施の形態1のバージョンダウン管理装置の他の例を示す構成図である。
【図7】この発明の実施の形態1のバージョンダウン管理装置の他の例におけるファイルバージョン蓄積部のデータを示す説明図である。
【図8】この発明の実施の形態1のバージョンダウン管理装置の他の例における動作を示すフローチャートである。
【図9】この発明の実施の形態1のバージョンダウン管理装置の更に他の例におけるプログラム蓄積部を示す説明図である。
【図10】この発明の実施の形態1のバージョンダウン管理装置の更に他の例における動作を示すフローチャートである。
【図11】この発明の実施の形態2のバージョンダウン管理装置を適用したデータ蓄積装置を示す構成図である。
【図12】この発明の実施の形態2のバージョンダウン管理装置による予約データ蓄積部のデータを示す説明図である。
【図13】この発明の実施の形態2のバージョンダウン管理装置によるユーザ設定蓄積部のデータを示す説明図である。
【図14】この発明の実施の形態2のバージョンダウン管理装置における動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
実施の形態1.
実施の形態1では、データ管理部が一つのみで構成されているデータ蓄積装置について説明を行う。
図1は、実施の形態1のバージョンダウン管理装置を適用したデータ蓄積装置を含むシステムを示す構成図である。
図示のシステムは、データ蓄積装置1とプログラム配信サーバ2がIPネットワーク3を介して接続され、構成されている。
【0012】
本実施の形態のデータ蓄積装置1は、複数の電話番号を不揮発メモリに保存している装置であり、装置内で動作しているプログラムデータをIPネットワーク3経由で更新可能な機能を具備している。プログラム配信サーバ2は、データ蓄積装置1で動作するプログラムを提供するサーバであり、配信するバージョンのプログラムを1バージョン提供する。プログラム配信サーバ2はプログラム更新チェック機能とプログラム配信機能の2機能をデータ蓄積装置1に対して提供する。データ蓄積装置1は、HTTPを用いてプログラム配信サーバ2にアクセスする。
【0013】
プログラム更新チェック機能では、データ蓄積装置1が、データ蓄積装置1内で動作しているプログラムのバージョンを格納したプログラム更新チェックメッセージをプログラム配信サーバ2に送信すると、プログラム配信サーバ2は、格納されているプログラムバージョンがプログラム配信サーバ2の提供するプログラムバージョンと異なる場合は、更新プログラムありとして提供しているプログラムのバージョンをデータ蓄積装置1に対して送信する。プログラム配信機能については、更新チェックにより更新すべきプログラムの存在を検知したデータ蓄積装置1が更新すべきプログラムをプログラム配信サーバ2からダウンロードし、自身の不揮発メモリ領域内にプログラムを保存後、再起動してプログラムバージョンを更新する。ここで、ダウンロードした更新用プログラムがデータ蓄積装置1内で動作しているプログラムのバージョンより大きい場合はバージョンアップ、ダウンロードした更新用プログラムがデータ蓄積装置1内で動作しているプログラムバージョンより小さい場合にはバージョンダウンが行われる。プログラム更新チェックで更新すべきプログラムが存在しないことを検知したデータ蓄積装置1はプログラム更新を行わない。
【0014】
以下、データ蓄積装置1の内部構成について説明する。
データ蓄積装置1は、通信処理部10、アプリケーション部11、データ管理部12、データバージョンダウン部13、データバージョンアップ部14、プログラム管理部15、データ蓄積部16、プログラム蓄積部17、ブートローダ18を備え、通信処理部10〜プログラム管理部15でプログラム更新管理部19を構成している。
【0015】
通信処理部10は、IPネットワーク3を通じてHTTP通信を行う処理部である。アプリケーション部11は、データ蓄積装置1内のアプリケーション機能を提供する部分であり、本装置では装置内に蓄積している電話番号データの入力機能、編集機能、検索機能、表示機能を提供するが、これらの機能については、本発明の特徴部分とは直接関係しないため、本実施の形態では詳細な説明は省略する。データ管理部12は、アプリケーション部11から要求されるデータを、データ蓄積部16から読み出してCRCチェックでその正当性を判断してアプリケーション部11に引き渡す機能を有している。また、アプリケーション部11から蓄積要求されるデータに対してCRCデータを付与しデータ蓄積部16に蓄積する。更に、アプリケーション部11が複数のファイルデータを扱う場合でも書き込み時にCRCをデータに付与して蓄積することや、蓄積ファイルのCRCチェックで正当性を確認する機能は共通であるため、データ蓄積装置1は共通機能として一つのデータ管理部12を設ける。データバージョンダウン部13はデータ蓄積部16のデータのバージョンダウンを行う機能であり、プログラムのバージョンダウンが発生すると、バージョンダウン先のプログラムで読み込み可能な形式にデータファイルをバージョンダウンする。データバージョンアップ部14は、データ蓄積部16に蓄積されているデータの形式が古いバージョンだった場合にファイル形式をバージョンアップし、自身のプログラムが使用する形式に変換する。
【0016】
プログラム管理部15は、データ蓄積装置1内で動作するプログラムのバージョンとそのプログラムデータをプログラム蓄積部17に蓄積、管理している。また、プログラム管理部15は、定期的にIPネットワーク3を通じてプログラム配信サーバ2に対してプログラム更新チェックを行い、更新プログラムを検知するとダウンロードにより装置内のプログラムデータを更新する。データ蓄積部16は不揮発メモリの一部の領域を用いて実現され、アプリケーション部11で使用するデータを蓄積している。プログラム蓄積部17も不揮発メモリ内の一部の領域を用いて実現され、装置内で動作するプログラムデータを蓄積している。プログラム更新対象部19に含まれている通信処理部10、アプリケーション部11、データ管理部12、データバージョンダウン部13、データバージョンアップ部14、プログラム管理部15はプログラム更新において更新対象となる部分である。ブートローダ18はプログラム蓄積部17に格納されているプログラムデータを起動させる。
【0017】
次に、実施の形態1のバージョンダウン管理装置の動作について説明する。
今、データ蓄積装置1ではプログラムバージョン“2”のプログラムが動作しているとし、これをプログラムバージョン“1”にバージョンダウンする処理について説明を行う。
プログラムバージョン“2”ではデータ蓄積部16に蓄積する各データファイルにCRCを付与し、データ蓄積部16の破損等が原因でファイルが壊れていることを検知可能としている。データ管理部12において、アプリケーション部11から入力された電話番号データをデータ蓄積部16に蓄積する際にデータ全体に対するCRCを計算し、データファイルに付与してデータ蓄積部16に蓄積する。
【0018】
図2にデータ蓄積部16に蓄積している電話番号データの例を示す。
図中、バージョン20は、そのデータファイルのバージョン、ID21は各データの識別ID、名前22は各データの名前、電話番号23は、各データの電話番号、CRC24は、誤り検出符号である。バージョン20は、データファイル形式のバージョンを示しており、本バージョンはバージョン“2”とする。電話番号情報は、ID21、名前22、電話番号23で一つの情報を構成している。ID21は本ファイル中で電話番号について固有となるIDである。名前22は電話番号23が対応する電話の使用者名である。CRC24はファイル全体に対して計算したCRCである。CRCの生成方法は一般的な方法を使用しているため、本実施の形態で特に詳細な説明は省略する。
【0019】
アプリケーション部11から要求を受け、データ管理部12がデータファイルをデータ蓄積部16から読み出すときはデータファイルに付与されているCRC24を用いて読み出したデータのチェックを行う。具体的には、読み出したデータ(図2のCRC24以外のデータ)から計算したCRCと、ファイルに蓄積されていたCRCが一致していたら、読み込んだデータに異常はないとしてアプリケーション部11に引渡し、読み出したデータから計算したCRCと読み出したCRC24が不一致の場合は、蓄積したデータに異常が発生していることをアプリケーション部11に通知して、ファイル読み込みエラーとする。
【0020】
プログラムバージョン“2”では前記の通り電話番号データにCRC24が付与された形式で蓄積しているが、プログラムバージョン“1”では電話番号データにCRC24が付与されていない形式で蓄積している。図3にプログラムバージョン“1”が使用する電話番号データファイルのファイル形式と、プログラムバージョン“2”が使用する電話番号データのファイル形式を示す。プログラムバージョン“1”が使用する電話番号データファイルバージョンは“1”、プログラムバージョン2が使用する電話番号データファイルバージョンは“2”とする。
【0021】
図3において、データファイルバージョン1におけるバージョン30はデータファイルのバージョン、ID31は各データの識別ID、名前32は、各データの名前、電話番号33は、各データの電話番号である。データファイルバージョン2については図2に示したデータファイルと同様である。バージョン30、ID31、名前32、電話番号33については、データファイルバージョン“1”とデータファイルバージョン“2”は同様に設けられているが、データファイルバージョン“1”にはCRCが存在しない。そのため、プログラムバージョン“1”のプログラムがデータファイルバージョン“2”のファイルを読み込む場合、CRC24の部分をIDが“5”の次の電話番号データと誤って読み込み、動作異常となる場合がある。そのため、プログラムバージョン“2”からプログラムバージョン“1”へのプログラムバージョンダウンを行うためには同時にデータ蓄積部16の電話番号データファイルのバージョンも“2”から“1”へバージョンダウンする必要がある。
【0022】
図4は、プログラムバージョン“2”からプログラムバージョン“1”へプログラムバージョンダウンを行う際の動作を示すフローチャートである。
プログラム管理部15は、データ蓄積装置1が動作中は定期的に、例えば12時間毎にプログラム配信サーバ2に対してプログラム更新チェックを行う。プログラム更新チェックはHTTPを用いて行う。プログラム更新チェックを行うためのURLは固定であり、データ蓄積装置1内に予め埋めこまれているものとする。図5はプログラム蓄積部17の内部構造である。プログラム蓄積部17にはプログラムデータを格納する領域が2面用意されている。第1面40にはプログラムAが格納されており、第2面41にはプログラムBが格納されている。起動フラグ42は、プログラムAの起動フラグ、バージョン43は、プログラムAのバージョン、プログラムデータ44は、プログラムAのプログラムデータ、起動フラグ45は、プログラムBの起動フラグ、バージョン46は、プログラムBのバージョン、プログラムデータ47はプログラムBのプログラムデータである。
【0023】
データ蓄積装置1は起動フラグが“1”に設定されている面のプログラムで起動する。図5では起動フラグ42が“1”に設定されており、起動フラグ45が“0”に設定されているため、次回起動時はプログラムAで起動する。バージョンはプログラムバージョンを表しており、プログラムAはバージョン“2”、プログラムBはバージョン“1”である。プログラムデータ44、プログラムデータ47には実行可能なプログラムバイナリデータが格納されている。
【0024】
プログラム管理部15は、プログラム蓄積部17のデータを読み出し、起動フラグ42と起動フラグ45をチェックし、次回起動するプログラム(今回の場合は第1面のプログラムAが該当)バージョンを取得し、プログラム更新チェックを実施するため、HTTPリクエストを通信処理部10経由でプログラム配信サーバ2に送信する(ステップST1)。プログラム管理部15はプログラム更新チェックの応答をプログラム配信サーバ2から通信処理部10経由で受信する。ここで更新有の場合は200 OK通知が返り、更新なしの場合は404 Not Foundが返るとする。この応答によりプログラム管理部15は更新プログラムの有無を確認する(ステップST2)。更新プログラムが存在しない場合(ステップST2のNO)は、次回のプログラム更新チェックを行うまで一定時間待機する(ステップST4)。プログラム更新チェックで更新プログラムが存在した場合(ステップST2のYES)には、プログラム管理部15は通信処理部10経由で更新プログラムをダウンロードし、バージョン番号とプログラムデータを入手する(ステップST3)。
【0025】
ダウンロードしたプログラムは、起動フラグが0の面(現在の例ではプログラムデータ41側の第2面)に蓄積する。ダウンロードしたタイミングでは起動フラグは0のままとする(ステップST5)。プログラム管理部15は、ダウンロードしたプログラムのバージョンと、現在起動しているプログラムのバージョンを比較する。今回のプログラム更新がバージョンダウンの場合(ステップST6のYES)、プログラム管理部15からデータ管理部12に対してプログラムバージョンダウン通知が送信される(ステップST7)。データ管理部12は、プログラムバージョン“2”ではデータ蓄積部16に格納するデータファイルにCRC24を付与するように変更したので、バージョンダウンの場合はデータファイルについてもバージョンダウンする必要があることを知っており、データ蓄積部16に格納されている電話番号データを読み出し、データバージョンダウン部13に送信する(ステップST8)。
【0026】
データバージョンダウン部13は読み出したデータからCRC24を削除したデータを生成し、ファイルのバージョンを“1”に変更し、データ管理部12に送信する(ステップST9)。データ管理部12はデータ蓄積部16のバージョン“2”の電話番号データファイルを削除して、バージョンダウンしたバージョン“1”の電話番号データファイルを書きこむ(ステップST10)。データ管理部12は、データ蓄積部16への書き込みを終了すると、プログラム管理部15にデータバージョンダウン終了通知を行う(ステップST11)。プログラム管理部15はデータバージョンダウン終了通知を受けると、プログラム蓄積部17に蓄積した更新プログラムの起動フラグ45を“1”に変更し、逆面のプログラムの起動フラグ42を“0”に変更し(ステップST12)、再起動を行う(ステップST13)。再起動後はブートローダ18がプログラム蓄積部17の起動フラグが1のプログラムを用いてデータ蓄積装置1を起動する。今回の例ではプログラム更新によりダウンロードしたプログラムバージョン“1”で起動する(ステップST14)。データ蓄積部16のデータファイルはプログラムバージョン“1”で使用可能なデータファイルバージョン“1”に変換されており、バージョンダウンは完了する。尚、ステップST6において、プログラムバージョンダウンではなかった場合は、ステップST12に移行する。
【0027】
また、データバージョンアップ部14については公知の動作と同様であるため、その詳細説明は省略する。即ち、データバージョンアップ部14は、プログラムバージョンアップ後の起動時に、データ蓄積部16のファイルバージョンをチェックし、自身が読み込み可能なデータファイルバージョンよりも小さいバージョンのデータファイルについては、自身が読み書き可能な最新バージョンのファイル形式に変換する機能を提供する。ただし、このような動作は、本発明とは直接関係が無いため、フローチャート等の詳細説明は省略する。
【0028】
このようにプログラムバージョンダウンの際にプログラム管理部15からデータ管理部12に対してプログラム変更通知を送信し、データ管理部12にて必要なデータファイルの変更を行った後にデータバージョンダウン終了通知をプログラム管理部15に通知し、その後に更新したプログラムの起動フラグをオンすることにより扱えるファイル形式が異なるバージョンへのバージョンダウンを完了することが可能となる。
【0029】
以上では、データファイルバージョン“1”を利用するプログラムバージョン“1”と、データファイルバージョン“2”を利用するプログラムバージョン“2”の間でバージョンダウンすることが可能な構成について説明を行った。次に各プログラムバージョンで使用可能なデータファイルバージョンをデータ蓄積装置1内で管理しているデータ蓄積装置1aの説明を行う。
【0030】
図6は、図1のデータ蓄積装置1に対して、ファイルバージョン蓄積部50を追加したデータ蓄積装置1aを示している。図1の構成と異なる部分は、データ管理部12a、データバージョンダウン部13a、プログラム管理部15aと、追加されたファイルバージョン蓄積部50を含むプログラム更新管理部19aの構成である。
【0031】
図7は、ファイルバージョン蓄積部50の説明図である。
ファイルバージョン蓄積部50は、プログラムバージョン60と、そのプログラムが使用可能なデータファイルバージョン61を記載したデータテーブルを蓄積する不揮発メモリの一部である。図示例ではプログラムバージョン60が“1”では、データファイルバージョン61の“1”が使用可能であり、プログラムバージョン60が“2”では、データファイルバージョン61の“2”が使用可能である。本例ではプログラムバージョン“1”と“2”の2バージョンのみが記載されているが、さらにバージョンデータを登録することにより三つ以上の複数のバージョンを管理することが可能である。
【0032】
図8は、図6のデータ蓄積装置1aの動作を示すフローチャートである。
図8において、図4の動作と異なるのは、図4のステップST7〜ST9を図8のステップST20〜ST23に置き換えた部分である。他の処理は図4と同様であるため、ここでは変更部分についてのみ説明する。
プログラム管理部15aは、データ管理部12aに対して更新ダウンロードしたプログラムのプログラムバージョンを付与してプログラムバージョンダウン通知を行う(ステップST20)。データ管理部12aはデータ蓄積部16から電話番号データを読み出し、バージョンダウンするプログラムのバージョン番号と共にデータバージョンダウン部13aへ送信する(ステップST21)。データバージョンダウン部13aはファイルバージョン蓄積部50からバージョンダウン先のプログラムが使用可能なファイルデータバージョンを検索する。本実施の形態の場合、プログラムバージョン“1”がバージョンダウン先のため、図7の例によるとデータファイルバージョンは“1”となる(ステップST22)。データバージョンダウン部13aはデータ形式をプログラムバージョンダウン先のプログラムが使用可能なデータファイルバージョンにバージョンダウンする(ステップST23)。
【0033】
このように、データ蓄積装置1aを図6の構成に変更することにより、各バージョンのプログラムが使用可能なデータファイルバージョンを管理することができ、三つ以上の複数のデータファイルバージョンを有しているプログラムについて任意のプログラムバージョンにバージョンダウンすることが可能となる。
【0034】
次にファイルバージョン蓄積部50は有さないが、プログラム配信サーバ2からダウンロードする更新用プログラムと共にその更新用プログラムが使用可能なデータファイルバージョンを取得可能とすることで同様の効果が得られる例について説明を行う。データ蓄積装置の図面上の構成は図1と同様である。ただし、プログラム管理部15がプログラム更新チェックにより更新プログラムの存在を検知し、更新プログラムをダウンロードする際に更新プログラムのバージョンだけでなく、更新プログラムが使用可能なデータファイルのバージョンもプログラム配信サーバ2から取得可能とする。
【0035】
図9は、プログラム配信サーバ2から入手したプログラムが使用可能なデータファイル形式バージョンを追加したプログラム蓄積部17を示す構成図である。2面のプログラムデータにデータバージョン70とデータバージョン71が追加されている。
図10は、プログラム配信サーバ2から更新プログラムをダウンロードする際に、該更新プログラムが使用可能なデータファイルバージョン情報を付与して配信する場合のフローチャートである。図10のフローチャートにおいて、図4とは異なる処理は、先ず、ステップST3が図10のステップST30に変更されている点である。ステップST30では、プログラム管理部15がプログラム配信サーバ2からプログラムをダウンロードする際に更新プログラムが使用可能なデータファイルのバージョンを同時に入手するように変更している。また、図4のステップST7〜ST9は、図10ではステップST31〜ST33に変更されている。プログラム管理部15からデータ管理部12にデータバージョンを付与したプログラムバージョンダウン通知を行い(ステップST31)。データ管理部12はデータ蓄積部16から電話番号データを読み出し、バージョンダウンするプログラムが使用可能なデータファイルバージョンと共にデータバージョンダウン部13へ送信する(ステップST32)。データバージョンダウン部13はデータ形式をプログラムバージョンダウン先が使用可能なデータファイルバージョンにバージョンダウンする(ステップST33)。
【0036】
このようにダウンロードする更新プログラムと共にそのプログラムが使用可能なデータファイルバージョンを受信可能とすることで、バージョンアップと共に複数のデータファイルバージョンを有しているプログラムについて任意のプログラムバージョンにバージョンダウンすることが可能となる。
【0037】
以上説明したように、実施の形態1のバージョンダウン管理装置によれば、起動するプログラムの管理を行うと共に、プログラムのバージョンダウンを行う場合、プログラムバージョンダウン通知を発行するプログラム管理部と、プログラムバージョンダウン通知を受信した場合、バージョンダウンされるプログラムが使用するデータを、バージョンダウン後のプログラムが使用可能な形式にバージョンダウンするデータバージョンダウン部とを備え、プログラム管理部は、データバージョンダウン部でバージョンダウンが完了した後に、バージョンダウンするプログラムを起動用プログラムとして設定するようにしたので、プログラムのバージョンダウンとファイルのバージョンダウンのタイミングを同期させることができる。
【0038】
また、実施の形態1のバージョンダウン管理装置によれば、プログラムバージョンとプログラムバージョンのプログラムが使用するデータファイルのデータバージョンとの対応関係を示すファイルバージョン蓄積部を備えると共に、プログラム管理部は、バージョンダウンするプログラムのプログラムバージョンを含めて通知し、データバージョンダウン部は、プログラムバージョンダウン通知を受信した場合、バージョンダウンするプログラムが使用するデータファイルのバージョンをデータバージョン蓄積部から検索し、検索して得たバージョンになるようデータファイルのバージョンダウンを行うようにしたので、三つ以上の複数のデータファイルバージョンを有しているプログラムについて任意のプログラムバージョンにバージョンダウンすることが可能となる。
【0039】
また、実施の形態1のバージョンダウン管理装置によれば、プログラムとプログラムが使用するデータファイルのデータバージョンとの関係を示すプログラム蓄積部を備え、プログラム管理部は、プログラムのバージョンダウンを行う場合、プログラムが使用するデータバージョンをプログラム蓄積部から取得し、プログラムバージョンダウン通知に使用可能なデータバージョンを含め、データバージョンダウン部は、プログラムバージョンダウン通知のデータバージョンになるようデータファイルのバージョンダウンを行うようにしたので、三つ以上の複数のデータファイルバージョンを有しているプログラムについて任意のプログラムバージョンにバージョンダウンすることが可能となる。
【0040】
実施の形態2.
実施の形態1では、データファイル形式としてファイルにCRC付与の有無という、アプリケーションが扱う複数のデータファイルに共通な処理を行うデータ管理部12の例について説明を行った。実施の形態2では、アプリケーションが扱うデータファイルの内容に変更が発生した場合でも正しくバージョンダウン可能であるデータ蓄積装置について説明を行う。
【0041】
実施の形態2では、IPTV受信端末をデータ蓄積装置の例として説明を行う。IPTV受信端末とは、IPネットワークで映像ストリームを受信、再生する端末であり、IPネットワークに接続して映像ストリームを受信、再生してIP放送、地デジ再送信等のサービス行う。国内ではIPTVフォーラムの仕様書が開示されている。
【0042】
図11は、実施の形態2のバージョンダウン管理装置を示すシステム構成図である。
図示のシステムは、データ蓄積装置100、プログラム配信サーバ101、ストリーム配信サーバ102、IPネットワーク103、TV104、リモコン105を備えている。データ蓄積装置100はIPネットワーク103に接続されており、ストリーム配信サーバ102から送信される映像ストリームを受信して、映像コンテンツの再生を行う。再生した映像はコンポジットケーブル(図示省略)でTV104に表示される。TV104は公知のテレビ受像器であり、リモコン105は、ユーザがデータ蓄積装置100に対して各種操作を行うためのリモコンである。また、プログラム配信サーバ101は、データ蓄積装置100で動作するプログラムを提供するサーバ装置であり、配信するバージョンのプログラムが1バージョン提供される。プログラム配信サーバ101については、実施の形態1のプログラム配信サーバ2と同様の機能を提供する。データ蓄積装置100はIPTVフォーラムのIP放送と地デジ再送信サービスに対応している。
【0043】
図11は、データ蓄積装置100の内部構造も示している。
データ蓄積装置100は、通信処理部110、Demux部(デマルチプレクサ)111、映像デコード部112、映像出力部113、音声デコード部114、音声出力部115、プログラム管理部116、全体制御部117、予約部118、予約データ管理部119、予約データバージョンアップ部120、予約データバージョンダウン部121、ユーザデータ管理部122、ユーザデータバージョンアップ部123、ユーザデータバージョンダウン部124、ブートローダ125、プログラム蓄積部126、ユーザ設定蓄積部127、予約データ蓄積部128、データ管理部リスト129、リモコン受信部130、GUI部131を備えている。
【0044】
図1におけるアプリケーション部11に相当する機能部は、Demux部111、映像デコード部112、映像出力部113、音声デコード部114、音声出力部115、全体制御部117、予約部118、GUI部131、リモコン受信部130に該当する。図1におけるデータ管理部12に相当する機能部は、予約データ管理部119とユーザデータ管理部122に相当する。図1におけるデータバージョンダウン部13に相当する機能部は、予約データバージョンダウン部121とユーザデータバージョンダウン部124に該当する。図1のデータ蓄積部16に相当する機能部は、予約データ蓄積部128、ユーザ設定蓄積部127に該当する。
【0045】
また、図11のプログラム管理部116の機能、ブートローダ125の機能、プログラム蓄積部126の構造は、それぞれ実施の形態1のプログラム管理部15の機能、ブートローダ18の機能、プログラム蓄積部17と同一である。
【0046】
データ蓄積装置100は視聴予約機能とGUI機能を有しており、視聴予約機能は予約データ、GUI機能はユーザ設定データを不揮発メモリに保存している。実施の形態2では、この予約データとユーザ設定データの二つのデータファイル形式についてプログラムバージョンダウンが発生した場合の処理について説明を行う。
【0047】
予約部118は、ユーザがGUI部131の画面からリモコン105の操作によりリモコン受信部130経由で入力された予約データを予約データ管理部119に送信して予約データ蓄積部128に蓄積することや、予約データ管理部119経由で予約データ蓄積部128から読み出した予約データを管理し、予約時間に到達すると全体制御部117に対してチャンネル切り替え要求を送信する。チャンネル切り替え要求には、切り替え先としてIP放送か地デジ再送信のどちらのモードであるか示す放送モード、切り替え先のチャンネル番号が付与されている。
【0048】
全体制御部117は、チャンネル切り替え要求を受信すると、放送モードとチャンネル番号から内部に有しているストリーム受信のための情報から切り替え先のマルチキャストアドレスとポート番号を検索し、通信処理部110にマルチキャストアドレスとポート番号を渡す。通信処理部110はマルチキャストアドレスとポート番号に対してストリームのリクエストをIPネットワーク103の図示しないルータに対して行う。これによりストリーム配信サーバ102が送信するRTPマルチキャスト映像ストリームを通信処理部110が受信する。
【0049】
通信処理部110は、受信した映像ストリームの通信プロトコルヘッダを取り除き、MPEG−2システムのTS(トランスポートストリーム)形式でDemux部111に入力する。Demux部111ではTS多重された映像と音声データを分離し、映像ストリームを映像デコード部112、音声ストリームを音声デコード部114に入力する。
【0050】
映像デコード部112ではMPEG形式で圧縮された映像ストリームをデコードして映像データに変換する。音声デコード部114もMPEG形式で圧縮された音声ストリームをデコードし、音声データに変換する。映像デコード部112は映像データを映像出力部113に送信し、音声デコード部114は音声データを音声出力部115に転送する。
映像出力部113は、GUI部131で生成したGUI画像データと映像デコード部112でデコードした映像データを重畳した映像データを生成してNTSC信号に変換し、出力端子から出力する。音声出力部115はデコードした音声データをアナログ音声に変換し、出力端子から出力する。このようにして、データ蓄積装置100はIPネットワーク103から受信した映像ストリームを再生し、視聴予約した番組の再生を行う。
【0051】
データ蓄積装置100のユーザがリモコン105を用いて入力したユーザ設定データを、GUI部131がリモコン受信部130経由で受信し、ユーザデータ管理部122経由でユーザ設定蓄積部127に保存する。設定したデータは起動時にユーザ設定蓄積部127から読み出され、ユーザデータ管理部122で管理する。
【0052】
以下、実施の形態1と同様に、プログラムバージョン“2”で動作しているデータ蓄積装置100がプログラムバージョン“1”にバージョンダウンする処理について説明を行う。
図12は、予約データ蓄積部128内のデータファイルバージョン“1”とデータファイルバージョン“2”の予約データの構造を示している。
プログラムバージョン“1”はデータファイルバージョン“1”の形式を使用可能であり、プログラムバージョン“2”はデータファイルバージョン“2”の形式を使用可能である。図中、予約データ200は、データファイルバージョン“1”の予約データであり、ID201、放送モード202、チャンネル203、開始時間204、終了時間205、データファイルバージョン206の情報を有している。また、予約データ210は、データファイルバージョン“2”の予約データであり、ID211、モード212、チャンネル213、開始時間214、終了時間215、データファイルバージョン216、番組のタイトル217、番組概要218の情報を有している。データファイルバージョン“1”と“2”の相違点は、データファイルバージョン “2”において、予約する番組のタイトル217と番組概要218を予約データに蓄積可能としたことである。番組のタイトル217と番組概要218は映像ストリームに多重されている番組情報から取得する。番組情報の構造等はIPTVフォーラムの仕様に記載されており、本実施の形態では番組情報から開始時間を元に番組のタイトルと番組の概要情報を取得するのみであるため、これらの情報取得処理についての詳細な説明は省略する。
【0053】
図13は、ユーザ設定蓄積部127内のデータファイルバージョン“1”とデータファイルバージョン“2”のユーザデータの構造を示している。プログラムバージョン“1”はデータファイルバージョン“1”の形式を使用可能であり、プログラムバージョン“2”はデータファイルバージョン“2”の形式を使用可能である。ユーザ設定データ250は、データファイルバージョン“1”のユーザ設定データであり、データファイルバージョン251、音声多重設定252、二ヶ国語設定253、字幕設定254、映像設定255、光デジタル音声出力設定256の情報を有している。ユーザ設定データ260は、データファイルバージョン“2”のユーザ設定データであり、データファイルバージョン261、音声多重設定262、二ヶ国語設定263、字幕設定264、映像設定265、光デジタル音声出力設定266、パレンタルコントロール設定267、パレンタルコントロール設定パスワード268の情報を有している。音声多重設定252/262、二ヶ国語設定253/263、字幕設定254/264、映像設定255/265、光デジタル音声出力設定256/266については、データファイルバージョン“1”とデータファイルバージョン“2”で同一であり、パレンタルコントロール設定267とパレンタルコントロール設定パスワード268が、データファイルバージョン“2”で付加されている。
【0054】
音声多重設定252/262は音声多重番組の視聴時にデフォルトで主音声、副音声のどちらを出力するかの設定を行う項目であり、二ヶ国語設定253/263は二ヶ国語番組の視聴時にデフォルトで出力する言語の設定を行う項目である。字幕設定254/264は字幕あり番組視聴時にデフォルトで字幕を表示するか否かを設定し、映像設定255/265は映像の明るさの設定を行う。光デジタル音声出力設定256/266は光デジタル音声の出力フォーマットの設定である。
パレンタルコントロール設定267はデータ蓄積装置100の視聴年齢を設定しており、視聴年齢制限設定されている番組の場合、データ蓄積装置100に設定されている視聴年齢と同一もしくは低い視聴年齢制限設定の番組は視聴可能であるが、データ蓄積装置100に設定されている視聴年齢よりも高い視聴年齢制限設定の番組は視聴することができない。268はパレンタルコントロール設定パスワードであり、データ蓄積装置100の視聴年齢設定を設定する前にチェックするパスワードが蓄積されている。
【0055】
次に、実施の形態2のバージョンダウン管理装置におけるバージョンダウン動作について説明する。
図14は、プログラムバージョン“2”からプログラムバージョン“1”へのプログラムバージョンダウンを行う場合の動作を示すフローチャートである。
プログラム管理部116はデータ蓄積装置100が電源オンしている間は定期的にプログラム配信サーバ101に対してプログラム更新チェックを行う。プログラム更新チェックにはHTTPを用いる。プログラム更新チェックを行うためのURLは固定であり、データ蓄積装置100に内に予め埋めこまれている。プログラム蓄積部126の内部構造は図5に示したプログラム蓄積部17と同一である。
【0056】
図14のフローチャートにおいて、ステップST101からステップST106までは実施の形態1における図4のフローチャートのステップST1からステップST6までの動作と同一であるため、これらの説明は省略する。
今回のプログラム更新がバージョンダウンの場合(ステップST106のYES)だとすると、プログラム管理部116はデータ管理部リスト129を検索し、プログラムバージョンダウン通知を送信する必要があるデータ管理部は予約データ管理部119とユーザデータ管理部122であることを認識する。プログラム管理部116は全体制御部117を経由して予約部118とGUI部131に対してプログラムバージョンダウン通知を送信する。
【0057】
予約部118は予約データ管理部119にプログラムバージョンダウン通知を送信する(ステップST107)。予約データ管理部119はプログラムバージョンダウン通知を受け取ると、予約データ蓄積部128から予約データを読み出し、予約データバージョンダウン部121に送信する(ステップST108)。予約データバージョンダウン部121はプログラムバージョン“2”で使用可能なデータファイルバージョン“2”の各データからタイトル217と番組概要218を削除し、プログラムバージョン“1”で使用可能なデータファイルバージョン“1”のデータを生成して予約データ管理部119に送信する(ステップST109)。予約データ管理部119はデータファイルバージョン“2”のデータを削除して、データファイルバージョン“1”のデータを予約データ蓄積部128に書き込む(ステップST110)。予約データ管理部119は、予約部118と全体制御部117を介してプログラム管理部116に対してデータバージョンダウン終了通知を送信する(ステップST111)。データバージョンダウン終了通知は発行元が記載されており、これにより予約データ管理部119が送信したデータバージョンダウン通知であることが認識可能である。
【0058】
GUI部131はユーザデータ管理部122にプログラムバージョンダウン通知を送信する(ステップST107)。ユーザデータ管理部122はプログラムバージョンダウン通知を受け取ると、ユーザ設定蓄積部127からユーザデータを読み出し、ユーザデータバージョンダウン部124に送信する(ステップST108)。ユーザデータバージョンダウン部124はプログラムバージョン“2”で使用可能なデータファイルバージョン“2”のデータからパレンタルコントロール設定267とパレンタルコントロール設定パスワード268を削除し、プログラムバージョン“1”で使用可能なデータファイルバージョン“1”のデータを生成してユーザデータ管理部122に送信する(ステップST109)。ユーザデータ管理部122はデータファイルバージョン“2”のデータを削除して、データファイルバージョン“1”のデータをユーザ設定蓄積部127に書き込む(ステップST110)。ユーザデータ管理部122は、GUI部131と全体制御部117を介してプログラム管理部116に対してデータバージョンダウン終了通知を送信する(ステップST111)。データバージョンダウン終了通知は発行元が記載されており、これによりユーザデータ管理部122が送信したデータバージョンダウン通知であることが認識可能である。
【0059】
予約データ管理部119とユーザデータ管理部122からデータバージョンダウン通知を受信した(ステップST112)プログラム管理部116は、全てのデータバージョンダウンが完了したことを認識し、プログラム蓄積部126に蓄積した更新プログラムの起動フラグ45を“1”に変更し、既存のプログラムの起動フラグ42を“0”に変更し(ステップST113)、再起動を行う(ステップST114)。再起動後はブートローダ125がプログラム蓄積部126の起動フラグが1のプログラムを用いてデータ蓄積装置100を起動する。今回はプログラム更新によりダウンロードしたプログラムバージョン“1”のプログラムにより起動する(ステップST115)。起動後はプログラムバージョン“1”のプログラムで起動し、また、予約データ蓄積部128とユーザ設定蓄積部127のデータはプログラムバージョン“1”で使用可能なデータファイルバージョン“1”に変換されているため、問題なくバージョンダウンを完了させることができる。
【0060】
ここで、予約データバージョンアップ部120とユーザデータバージョンアップ部123については詳細な説明を省略するが、予約データバージョンアップ部120とユーザデータバージョンアップ部123は、プログラムバージョンアップ後の起動時に、予約データ蓄積部128とユーザ設定蓄積部127のファイルバージョンをチェックし、自身が読み込み可能なデータファイルバージョンよりも小さいバージョンのデータファイルについては、自身が読み書き可能なバージョンのファイル形式にバージョンアップする機能を提供する。ただし、本発明とは直接関係が無いため、フローチャート等を用いた説明は省略する。
【0061】
このようにプログラムバージョンダウンの際にプログラム管理部116から予約データ管理部119とユーザデータ管理部122に対してプログラム変更通知を送信し、予約データ管理部119とユーザデータ管理部122にて必要なデータファイルの変更を行った後にデータバージョンダウン通知をプログラム管理部116に通知し、全てのデータバージョンダウン終了通知を受けた後に、更新したプログラムの起動フラグをONすることにより、複数のデータ管理部が存在する場合でもファイル形式が異なるバージョンへのバージョンダウンを実現することが可能となる。
【0062】
以上説明したように、実施の形態2のバージョンダウン管理装置によれば、バージョンダウンされるプログラムが使用するデータをそれぞれ管理する複数のデータ管理部を備え、複数のデータ管理部は、プログラムバージョンダウン通知を受信した場合は、管理するデータに対応したデータバージョンダウン部によりバージョンダウンを行った後、ファイルバージョンダウン終了通知を行い、プログラム管理部は、プログラムのバージョンダウンを行う場合は、複数のデータ管理部にプログラムバージョンダウン通知を行い、かつ、全てのデータ管理部からファイルバージョンダウン終了通知を受けた場合に、バージョンダウンするプログラムを起動用プログラムとして設定するようにしたので、複数のデータ管理部が存在する場合でもファイル形式が異なるバージョンへのバージョンダウンを実現することが可能となる。
【0063】
尚、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0064】
1,1a,100 データ蓄積装置、2,101 プログラム配信サーバ、3,103 IPネットワーク、10,110 通信処理部、11 アプリケーション部、12,12a データ管理部、13,13a データバージョンダウン部、14 データバージョンアップ部、15,15a,116 プログラム管理部、16 データ蓄積部、17,126 プログラム蓄積部、18,125 ブートローダ、19,19a プログラム更新管理部、50 ファイルバージョン蓄積部、102 ストリーム配信サーバ、104 TV、105 リモコン、111 Demux部、112 映像デコード部、113 映像出力部、114 音声デコード部、115 音声出力部、117 全体制御部、118 予約部、119 予約データ管理部、120 予約データバージョンアップ部、121 予約データバージョンダウン部、122 ユーザデータ管理部、123 ユーザデータバージョンアップ部、124 ユーザデータバージョンダウン部、127 ユーザ設定蓄積部、128 予約データ蓄積部、129 データ管理部リスト、130 リモコン受信部、131 GUI部。

【特許請求の範囲】
【請求項1】
起動するプログラムの管理を行うと共に、当該プログラムのバージョンダウンを行う場合、プログラムバージョンダウン通知を発行するプログラム管理部と、
前記プログラムバージョンダウン通知を受信した場合、当該バージョンダウンされるプログラムが使用するデータを、バージョンダウン後のプログラムが使用可能な形式にバージョンダウンするデータバージョンダウン部とを備え、
前記プログラム管理部は、
前記データバージョンダウン部でバージョンダウンが完了した後に、前記バージョンダウンするプログラムを起動用プログラムとして設定することを特徴とするバージョンダウン管理装置。
【請求項2】
プログラムバージョンと当該プログラムバージョンのプログラムが使用するデータファイルのデータバージョンとの対応関係を示すファイルバージョン蓄積部を備えると共に、プログラム管理部は、バージョンダウンするプログラムのプログラムバージョンを含めて通知し、
データバージョンダウン部は、プログラムバージョンダウン通知を受信した場合、バージョンダウンするプログラムが使用するデータファイルのバージョンをデータバージョン蓄積部から検索し、当該検索して得たバージョンになるようデータファイルのバージョンダウンを行うことを特徴とする請求項1記載のバージョンダウン管理装置。
【請求項3】
プログラムと当該プログラムが使用するデータファイルのデータバージョンとの関係を示すプログラム蓄積部を備え、
プログラム管理部は、プログラムのバージョンダウンを行う場合、当該プログラムが使用するデータバージョンを前記プログラム蓄積部から取得し、プログラムバージョンダウン通知に当該使用可能なデータバージョンを含め、
データバージョンダウン部は、前記プログラムバージョンダウン通知のデータバージョンになるようデータファイルのバージョンダウンを行うことを特徴とする請求項1記載のバージョンダウン管理装置。
【請求項4】
バージョンダウンされるプログラムが使用するデータをそれぞれ管理する複数のデータ管理部を備え、
前記複数のデータ管理部は、プログラムバージョンダウン通知を受信した場合は、管理するデータに対応したデータバージョンダウン部によりバージョンダウンを行った後、ファイルバージョンダウン終了通知を行い、
前記プログラム管理部は、プログラムのバージョンダウンを行う場合は、前記複数のデータ管理部にプログラムバージョンダウン通知を行い、かつ、全てのデータ管理部から前記ファイルバージョンダウン終了通知を受けた場合に、バージョンダウンするプログラムを起動用プログラムとして設定するようにしたことを特徴とする請求項1から請求項3のうちのいずれか1項記載のバージョンダウン管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−256300(P2012−256300A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−130331(P2011−130331)
【出願日】平成23年6月10日(2011.6.10)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】