(57)【要約】【課題】  情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができるプログラム更新システムおよびプログラム更新方法を提供する。【解決手段】  本発明のプログラム更新方法では、携帯端末装置１０に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準のチェックサム値をサーバ装置２０に記憶しておき、符号誤りの検出をサーバ装置２０が行う。検出結果に応じてサーバ装置２０が、差分による更新を行うか、ソフトウェアプログラム全体の上書きにより更新を行うかを携帯端末装置１０に指示し、携帯端末装置１０はその指示に応じてソフトウェアプログラムの更新を行う。【選択図】      図１
2015153160.tif 000002
【特許請求の範囲】
【請求項１】
情報端末装置が実行するソフトウェアプログラムを更新するための更新データを、サーバ装置が情報端末装置に送信し、情報端末装置が前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新方法において、
前記情報端末装置が、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出ステップと、
前記情報端末装置が、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とを前記サーバ装置に送信する端末送信ステップと、
前記サーバ装置が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信ステップと、
前記サーバ装置が、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断ステップと、
前記サーバ装置が、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する取得指示ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新ステップと、を含むことを特徴とするプログラム更新方法。
【請求項２】
前記誤り検出符号値は、チェックサム値であることを特徴とする請求項１記載のプログラム更新方法。
【請求項３】
前記更新データの取得の指示は、前記差分データのＵＲＬまたは前記全体データのＵＲＬを含むことを特徴とする請求項１または２記載のプログラム更新方法。
【請求項４】
前記端末記憶部は、ＮＡＮＤ型フラッシュメモリで構成されることを特徴とする請求項１〜３のいずれか１つの記載のプログラム更新方法。
【請求項５】
ソフトウェアプログラムを実行する情報端末装置と、該情報端末装置とデータ通信可能であり、該情報端末装置が実行するソフトウェアプログラムを更新するための更新データを記憶するサーバ装置とを含み、前記サーバ装置が、前記更新データを前記情報端末装置に送信し、前記情報端末装置が、前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新システムにおいて、
前記情報端末装置は、
ソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶する端末記憶部と、
前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出部と、
前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する端末送信部と、
前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信する端末受信部と、
前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得部と、
前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新部と、を有し、
前記サーバ装置は、
前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶するサーバ記憶部と、
前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信部と、
前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断部と、
基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示する取得指示部と、
前記差分データまたは前記全体データを前記情報端末装置に送信するデータ送信部と、を有することを特徴とするプログラム更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報端末装置が、サーバ装置から更新データを取得してソフトウェアプログラムを更新するプログラム更新システムおよびプログラム更新方法に関する。
【背景技術】
【０００２】
スマートフォンなど無線通信機能およびタッチパネル機能などを備えた情報端末装置は、その使い易さから広く普及し始めている。
【０００３】
このような情報端末装置は、たとえば移動体通信網に無線接続することで、使用場所および使用時間に制限を受けずに、自由に無線通信を行うことができる。
【０００４】
無線通信によって、情報端末装置で電子メールを送受信したり、インターネット上のサイトにアクセスして、ウェブページを閲覧したり、音楽データをダウンロードしたり、動画データをストリーミング再生したり、多種多様なコンテンツを利用することができる。
【０００５】
またスマートフォンなどの情報端末装置は、ソフトウェアプログラムをＯＴＡ（Ｏｖｅｒ Ｔｈｅ Ａｉｒ）で更新する機能が搭載されている。「ＯＴＡで」とは、通信機能を利用して、無線通信でという意味である。これにより、ユーザや販売店等に負担を掛けることなく、ソフトウェアプログラムの更新を行うことができる。
【０００６】
ソフトウェアの更新は、情報端末装置が更新前後のソフトウェアの差分データをサーバ装置からダウンロードし、その差分データを解釈してソフトウェアを更新している。
【０００７】
差分形式の更新データを使用してソフトウェアを更新する方法では、更新前のソフトウェアは誤りの無い正しい状態である必要があり、たとえば、メモリデバイスの劣化などにより現用のソフトウェアが破損している場合、ソフトウェアの更新は失敗する。
【０００８】
スマートフォンでの主要な更新対象は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を含む数ギガバイトにもなるデータである。このような大容量データのメモリデバイスとしては、ＮＡＮＤ型フラッシュＲＯＭを用いる場合が多い。ＮＡＮＤ型フラッシュＲＯＭは経時変化による劣化であるＲｅａｄ Ｄｉｓｔｕｒｂによってデータ破壊が発生しやすいことが知られており、複数ビットが反転してしまうほど破損してしまっている場合は、誤りを訂正することはできない。
【０００９】
特許文献１記載のソフトウェア更新方法は、無線端末のＲＯＭに記憶された現用の制御ソフトウエアおよび、ＲＡＭに記憶された差分ファイルをＲＡＭのソフトウエア更新プログラムワークメモリに読み出し、ソフトウエア更新プログラムを実行する。実行の過程で制御ソフトウエアに異常を検知した場合、ＲＯＭに記憶された現用の制御ソフトウエアをリカバリー用ソフトウエアに上書し、リカバリー用ソフトウエアに整合する新たな差分ファイルを取得して、新制御ソフトウエアに書き換える。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−０７９３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１記載のソフトウェア更新方法では、現用の制御プログラムに異常を検知する方法は、無線端末が現用の制御プログラムのサム値を演算し、無線端末のメモリデバイスに予め保持しておいた基準のサム値と比較し、不一致であれば現用の制御プログラムに異常があるものと判断する。
【００１２】
しかし、メモリデバイスに予め保持しておいた基準のサム値もまた、現用の制御プログラムと同様に、経時変化により破損している可能性がある。基準のサム値が破損していると、現用の制御プログラムに異常があるかどうかの判断精度が大きく低下する。
【００１３】
また、現用の制御プログラムが破損している場合の更新について、特許文献１記載のソフトウェア更新方法は、まず現用の制御ソフトウエアをリカバリー用ソフトウエアへ上書し、差分ファイルを取得し、差分ファイルを使用して新制御ソフトウエアへ書き換える、という手順であり、２つのファイルをダウンロードし、上書き処理、書き換え処理が必要となる。
【００１４】
本発明の目的は、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができるプログラム更新システムおよびプログラム更新方法を提供することである。
【課題を解決するための手段】
【００１５】
本発明は、情報端末装置が実行するソフトウェアプログラムを更新するための更新データを、サーバ装置が情報端末装置に送信し、情報端末装置が前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新方法において、
前記情報端末装置が、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出ステップと、
前記情報端末装置が、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とを前記サーバ装置に送信する端末送信ステップと、
前記サーバ装置が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信ステップと、
前記サーバ装置が、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断ステップと、
前記サーバ装置が、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する取得指示ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新ステップと、を含むことを特徴とするプログラム更新方法である。
【００１６】
また本発明は、前記誤り検出符号値は、チェックサム値であることを特徴とする。
また本発明は、前記更新データの取得の指示は、前記差分データのＵＲＬまたは前記全体データのＵＲＬを含むことを特徴とする。
【００１７】
また本発明は、前記端末記憶部は、ＮＡＮＤ型フラッシュメモリで構成されることを特徴とする。
【００１８】
また本発明は、ソフトウェアプログラムを実行する情報端末装置と、該情報端末装置とデータ通信可能であり、該情報端末装置が実行するソフトウェアプログラムを更新するための更新データを記憶するサーバ装置とを含み、前記サーバ装置が、前記更新データを前記情報端末装置に送信し、前記情報端末装置が、前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新システムにおいて、
前記情報端末装置は、
ソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶する端末記憶部と、
前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出部と、
前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する端末送信部と、
前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信する端末受信部と、
前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得部と、
前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新部と、を有し、
前記サーバ装置は、
前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶するサーバ記憶部と、
前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信部と、
前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断部と、
基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示する取得指示部と、
前記差分データまたは前記全体データを前記情報端末装置に送信するデータ送信部と、を有することを特徴とするプログラム更新システムである。
【発明の効果】
【００１９】
本発明によれば、情報端末装置が、符号値算出ステップで、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出し、端末送信ステップで、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とをサーバ装置に送信する。
【００２０】
前記サーバ装置は、サーバ受信ステップで、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信し、誤り判断ステップで、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断し、取得指示ステップで、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する。
【００２１】
前記情報端末装置は、更新データ取得ステップで、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得し、ソフトウェア更新ステップで、前記差分データを取得したときは、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記全体データを取得したときは、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成する。
【００２２】
このように、本発明のプログラム更新方法では、情報端末装置に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準の誤り検出符号値をサーバ装置に記憶しておき、符号誤りの検出をサーバ装置が行うので、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができる。また、ソフトウェアプログラムに異常があった場合には、差分データではなく更新後のソフトウェアプログラムの全体データを情報端末装置が取得して、上書きすることでソフトウェアプログラムを更新するので、１度の処理で更新することが可能となる。
【００２３】
また本発明によれば、前記誤り検出符号値として、チェックサム値を用いることができる。
【００２４】
また本発明によれば、前記更新データの取得の指示は、前記差分データのＵＲＬまたは前記全体データのＵＲＬを含む。情報端末装置は、指示に含まれるＵＲＬを指定することで容易に更新データを取得することができる。
【００２５】
また本発明によれば、前記端末記憶部は、ＮＡＮＤ型フラッシュメモリで構成される。ＮＡＮＤ型フラッシュメモリは、特に経時変化により破損しやすいが、基準の誤り検出符号値をサーバ装置に記憶しておくことで、符号誤り検出の精度を高く維持することができる。
【００２６】
また本発明によれば、情報端末装置は、端末記憶部にソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶し、符号値算出部が、前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出すると、端末送信部が、前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する。また端末受信部が、前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信し、更新データ取得部が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得すると、ソフトウェア更新部が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成する。
【００２７】
サーバ装置は、サーバ記憶部に前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶し、サーバ受信部が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信すると、誤り判断部が、前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する。また、取得指示部が、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示し、データ送信部が、前記差分データまたは前記全体データを前記情報端末装置に送信する。
【００２８】
このように、本発明のプログラム更新システムでは、情報端末装置に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準の誤り検出符号値をサーバ装置に記憶しておき、符号誤りの検出をサーバ装置が行うので、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができる。また、ソフトウェアプログラムに異常があった場合には、差分データではなく更新後のソフトウェアプログラムの全体データを情報端末装置が取得して、上書きすることでソフトウェアプログラムを更新するので、１度の処理で更新することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る情報通信システム１の概略的な構成を示す概略構成図である。
【図２】情報通信システム１を構成する携帯端末装置１０の構成の一例を示すブロック図である。
【図３】携帯端末装置１０の外観を示す平面図である。
【図４】本実施形態に係る情報通信システム１を構成するサーバ装置２０の構成の一例を示すブロック図である。
【図５】携帯端末装置１０およびサーバ装置２０の機能を示す機能ブロック図である。
【図６Ａ】携帯端末装置１０の更新処理を示すフローチャートである。
【図６Ｂ】携帯端末装置１０の更新処理を示すフローチャートである。
【図７】サーバ装置２０の更新処理を示すフローチャートである。
【発明を実施するための形態】
【００３０】
図１は、本発明の一実施形態に係る情報通信システム１の概略的な構成を示す概略構成図である。本実施形態に係る情報通信システム１は、通信ネットワーク２を介して互いに通信可能な携帯端末装置１０とサーバ装置２０とを含んで構成される。
【００３１】
携帯端末装置１０は、通信ネットワーク２を介してサーバ装置２０と通信可能に構成されるとともに、サーバ装置２０から更新データをダウンロードすることにより、自装置に記憶されている装置制御システムやアプリケーションなどの各種ソフトウェアプログラムの更新が可能な情報端末装置である。
【００３２】
本実施形態では、携帯端末装置１０として、スマートフォンなどの携帯電話機を想定しているが、これに限定されることはなく、他の実施形態では、たとえばタブレット端末などでもよく、またＰＣ（パーソナルコンピュータ）のように電話通信機能を備えていない端末装置によって実現されてもよい。
【００３３】
図２は、情報通信システム１を構成する携帯端末装置１０の構成の一例を示すブロック図である。図３は、携帯端末装置１０の外観を示す平面図である。本実施形態に係る携帯端末装置１０は、表示部１１と、操作部１２と、音声入出力部１３と、第１無線通信部１４と、第２無線通信部１５と、制御部１６と、記憶部１７とを含んで構成され、たとえば前記のようにスマートフォンによって実現される。
【００３４】
表示部１１は、画像を表示可能に構成され、たとえば液晶パネルおよびバックライトユニットを備える液晶ディスプレイによって実現される。表示部１１には、電話機能や電子メール機能を使用する際の操作画面やウェブブラウザによるウェブサイト閲覧画面などの各種画面が表示される。
【００３５】
操作部１２は、制御部１６に対し指令やデータを入力するための操作を受け付ける部分であり、ユーザによる操作に応答して、指令信号や入力データを制御部１６へ出力する。操作部１２は、本実施形態では、タッチパネル１２ａと、複数の操作ボタン１２ｂとによって実現される。
【００３６】
音声入出力部１３は、電話機能を実現するための構成を含む部分であり、具体的には、電話・電子メールの着信音などのサウンドや通話時の音声を出力するスピーカと、サウンド出力および音声出力を制御する音声出力制御部と、通話時の音声が入力されるマイクと、マイクに対して音声入力を制御する音声入力制御部とを含んで構成される。
【００３７】
第１無線通信部１４は、他の携帯端末装置との容量の小さいデータを通信したり、テレビジョン受像機などの外部機器を遠隔操作するための各種のコマンド信号を、無線通信によって送信する機能を有する。各種のコマンド信号は、ユーザによる操作部１２への所定の入力操作に応答して、制御部１６によって生成される。
【００３８】
第１無線通信部１４は、制御部１６によって生成される各種のコマンド信号を、赤外線通信によって外部へ送信するように構成されてもよく、ＩＥＥＥ８０２．１１、Ｂｌｕｅｔｏｏｔｈ（登録商標）およびＺｉｇｂｅｅ（登録商標）などの無線通信によって外部へ送信するように構成されてもよい。
【００３９】
本実施形態では、第１無線通信部１４は、各種のコマンド信号を、赤外線通信によって外部へ送信する機能と、ＩＥＥＥ８０２．１１による無線通信によって外部へ送信する機能との両方を備えて構成されている。
【００４０】
第２無線通信部１５は、通信制御部とアンテナとを含んで構成される。通信制御部は、アンテナを介して、携帯電話基地局との間で無線通信を行い、電話機能を備える他の端末装置との電話通信による音声通話を実現させる。また、通信制御部は、携帯電話網およびインターネットを含む通信ネットワーク２を介して、サーバ装置２０との間でデータ通信を実現させる。
【００４１】
制御部１６は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）などを備え、ＲＯＭや記憶部１７に記憶される各種ソフトウェアプログラムに従って携帯端末装置１０全体の制御を行う。記憶部１７には、各種ソフトウェアプログラム、これらソフトウェアプログラムを更新するための更新プログラムなどが記憶されている。
【００４２】
記憶部１７は、フラッシュメモリおよびＨＤＤ（Hard Disk Drive）などによって実現され、各種プログラムやデータが記憶される。本実施形態では、記憶部１７には、ＮＡＮＤ型フラッシュメモリが用いられている。
【００４３】
図４は、本実施形態に係る情報通信システム１を構成するサーバ装置２０の構成の一例を示すブロック図である。サーバ装置２０は、通信部２１と、操作部２２と、制御部２３と、記憶部２４とを含んで構成される。
【００４４】
通信部２１は、たとえばイーサネット（登録商標）インターフェイスによって実現され、インターネットに接続され、インターネットを介して携帯端末装置１０やＰＣ（Personal Computer）などの他の機器との間の双方向通信を行う。
【００４５】
操作部２２は、制御部２３に対し指令やデータを入力するための操作を受け付ける部分であり、たとえばキーボードやマウスなどによって実現される。制御部２３は、ＣＰＵ、ＲＯＭおよびＲＡＭなどを備え、ＲＯＭや記憶部２４に記憶される各種プログラムに従って、サーバ装置２０全体の制御を行う。
【００４６】
記憶部２４は、フラッシュメモリおよびＨＤＤなどによって実現され、各種プログラムやデータが記憶される。
【００４７】
本実施形態に係る情報通信システム１において、携帯端末装置１０は、各種のソフトウェアを実行し、サーバ装置２０は、携帯端末装置１０が実行するソフトウェアを更新するための更新データを携帯端末装置１０に提供するように構成される。
【００４８】
図５は、携帯端末装置１０およびサーバ装置２０の機能を示す機能ブロック図である。図には、ソフトウェアプログラム（単にソフトウェアという場合がある）の更新に関連する機能を機能ブロックとして示している。
【００４９】
携帯端末装置１０のサム値計算部１０１は、携帯端末装置１０に記憶されているソフトウェアのうち、更新の対象となるソフトウェアに基づいて、誤り検出符号値としてチェックサム値（以下では単にサム値という）を算出する。デバイス情報送信部１０２は、サーバ装置２０へ、更新対象のソフトウェアのバージョンを示すバージョン情報と、算出されたサム値とを送信する。データ受信部１０３は、サーバ装置２０からソフトウェアを更新するための更新データを受信する。データ記憶部１０４は、受信した更新データ１０５を記憶する。受信データ種別格納部１０６は、受信した更新データを解析して、差分データか全体データかの種別を格納する。差分データは、現在、携帯端末装置１０に記憶されている更新対象のソフトウェアと更新後のソフトウェアとの差分情報からなる更新データである。全体データは、更新対象のソフトウェアを上書きするための更新データであり、更新後のソフトウェア全体を符号化したデータである。
【００５０】
受信データ種別を格納した後、現在実行しているソフトウェアの処理を完全に終了して、差分データによる差分更新処理または全体データによる全体更新処理を開始する目的で、再起動処理部１０７が、携帯端末装置１０を再起動する。受信データ種別判定部１０８は、格納された種別に基づいて、受信した更新データが差分データであるか全体データであるかを判断する。差分更新処理部１０９は、差分データを受信した場合に、受信した差分データを用いて更新対象のソフトウェアを更新する。全体更新処理部１１０は、受信した全体データを用いて更新対象のソフトウェアを更新する。
【００５１】
サーバ装置２０のサム値判断部２０１は、バージョン情報と基準サム値との対応表２０２を予め記憶し、携帯端末装置１０から送られてきたバージョン情報に基づいて、基準サム値を読み出し、受信したサム値と比較して、一致の有無を判断する。データ送信部２０３は、携帯端末装置１０に差分データ２０４または全体データ２０５を送信する。
【００５２】
図６Ａおよび図６Ｂは、携帯端末装置１０の更新処理を示すフローチャートであり、図７は、サーバ装置２０の更新処理を示すフローチャートである。
【００５３】
情報通信システム１の更新処理は、ユーザが携帯端末装置１０を操作することによりソフトウェアの更新処理を開始するよう指示を入力した場合や、サーバ装置２０から携帯端末装置１０に対してソフトウェアを更新するよう通知を出力した場合などをトリガーとして開始する。
【００５４】
図６ＡのステップＡ１で携帯端末装置１０は、サム値計算部１０１が、更新対象のソフトウェアに関連するすべてのデータファイルまたはディレクトリのオーナー情報、パーミッション情報、および内容データの読出しを実行するとともに、オーナー情報、パーミッション情報、および内容データのサム値を算出する。ステップＡ２では、デバイス情報送信部１０２が、更新対象のソフトウェアの現在のバージョンを示すバージョン情報と、算出したサム値とをＨＴＴＰ（Hypertext Transfer Protocol）またはＨＴＴＰＳ（Hypertext Transfer Protocol over SSL）通信によりサーバ装置２０へ送信する。
【００５５】
図７のステップＢ１で、サーバ装置２０は、携帯端末装置１０から受信したバージョン情報に基づいて、より新しいバージョンのソフトウェアがあるかどうかを判断する。新しいバージョンが有ればステップＢ３に進み、無ければステップＢ２に進む、ステップＢ２では、携帯端末装置１０に対して処理要求が無いことを示すメッセージを送信する。
【００５６】
ステップＢ３では、サム値判断部２０１が、バージョン情報と基準サム値との対応表２０２を参照し、携帯端末装置１０から受信したバージョン情報に基づく基準サム値を読み出し、読み出した基準サム値と携帯端末装置１０から受信したサム値とを比較し、一致するかどうかを判断する。一致すれば、ステップＢ５に進み一致しなければステップＢ６に進む。
【００５７】
サム値が基準のサム値と一致するということは、携帯端末装置１０に記憶されているソフトウェアには符号誤りが無いことを表し、その場合は差分データによる更新が可能であるので、携帯端末装置１０に対して差分データを取得して更新するように指示するソフトウェア更新要求のメッセージを送信する。
【００５８】
サム値が基準のサム値と一致しなければ、携帯端末装置１０に記憶されているソフトウェアに符号誤りがあることを表し、その場合は差分データによる更新ができないので、携帯端末装置１０に対して全体データを取得して更新するように指示するソフトウェア更新要求のメッセージを送信する。
【００５９】
差分データによる更新を指示するソフトウェア更新要求のメッセージは、差分データのＵＲＬ（Uniform Resource Locator）を含み、全体データによる更新を指示するソフトウェア更新要求のメッセージは、全体データのＵＲＬを含む。
【００６０】
図６ＡのステップＡ３で、携帯端末装置１０がサーバ装置２０からメッセージを受信すると、ステップＡ４で、メッセージの内容が処理要求有りかどうかを判断する。受信したメッセージが、ステップＢ２で送信された処理要求が無いことを示すメッセージであれば、処理要求が無いものとしてソフトウェアの更新処理を終了する。受信したメッセージが、ステップＢ５またはステップＢ６で送信されたソフトウェア更新要求のメッセージを含む何らかの処理を要求する内容のメッセージであれば、ステップＡ５に進み、受信したメッセージの処理要求の内容がソフトウェアの更新要求であるかどうかを判断する。
【００６１】
受信したメッセージが、ステップＢ５またはステップＢ６で送信されたソフトウェア更新要求のメッセージであれば、図６ＢのステップＡ７に進み、その他の処理要求であれば、ステップＡ６でその他の処理を実行する。
【００６２】
ステップＡ７では、受信したソフトウェア更新要求のメッセージに含まれるＵＲＬを指定してサーバ装置２０に対して更新データの取得を要求する。サーバ装置２０は、携帯端末装置１０からの取得要求に応じて、更新データを携帯端末装置１０に送信する。ＵＲＬが差分データを指定するものであれば、サーバ装置２０は該当する差分データを更新データとして携帯端末装置１０に送信し、ＵＲＬが全体データを指定するものであれば、サーバ装置２０は該当する全体データを更新データとして情報端末装置に送信する。
【００６３】
ステップＡ８では、データ受信部１０３が、ＵＲＬから更新データをダウンロードし、ステップＡ９で、受信した更新データ１０５をデータ記憶部１０４へ記憶する。
【００６４】
ステップＡ１０では、受信データ種別格納部１０６は、受信した更新データ１０５を解析し、更新データが差分データであるか全体データであるかを判断して更新データの種別を格納する。ステップＡ１１では、差分更新処理または全体更新処理を行うために再起動処理部１０７が携帯端末装置１０を再起動する。
【００６５】
ステップＡ１２では、受信データ種別判定部１０８が、受信データ種別格納部１０６に格納された種別に基づいて、受信した更新データ１０５が、差分データであるか全体データであるかを判断する。
【００６６】
受信した更新データ１０５が差分データであればステップＡ１３に進み、受信した更新データ１０５が全体データであればステップＡ１４に進む。
【００６７】
ステップＡ１３では、差分更新処理部１０９が、差分データを用いて、記憶されている更新対象のプログラムに対して差分のみを書き換えることでソフトウェアを更新する。ステップＡ１４では、全体更新処理部１１０が、更新対象のソフトウェア全体を記憶部から消去する。記憶部がＮＡＮＤ型フラッシュメモリであれば、メモリ内に構成されたデータファイルシステムを構成するパーティション内のすべてのブロックをＥＲＡＳＥする。ステップＡ１５では、全体更新処理部１１０が、全体データで記憶部のソフトウェア記憶領域を上書きする。記憶部がＮＡＮＤ型フラッシュメモリであれば、ＥＲＡＳＥ後のパーティションをデータファイルシステムとして初期化し、受信した全体データを復号して解析し、ソフトウェア全体の書き込みを行う。
【００６８】
本発明の情報通信システム１は、上記のような更新処理により、基準のサム値をサーバ装置２０に記憶しているので、基準のサム値に符号誤りが生じる可能性が低く、携帯端末装置１０に記憶されているソフトウェアにデータ破壊が発生しているかどうかを判断する判断精度を維持することができる。
【００６９】
また、サーバ装置２０は、携帯端末装置１０に記憶されたソフトウェアにデータ破壊が発生していることを検出すると、差分データによる更新が不可能であるので、差分データではなく、更新後のソフトウェア全体を符号化した全体データを送信するので、携帯端末装置１０は、１回の書き換え処理で更新することができる。
【００７０】
また、記憶部がＮＡＮＤ型フラッシュメモリである場合、全体データを上書きすることで、Ｒｅａｄ Ｄｉｓｔｕｒｂによる経時的な劣化がリセットされ次回のソフトウェア更新の際に差分データによって、ソフトウェアの更新を可能とすることができる。
【符号の説明】
【００７１】
１      情報通信システム
２      通信ネットワーク
１０    携帯端末装置
１１    表示部
１２    操作部
１２ａ  タッチパネル
１２ｂ  操作ボタン
１３    音声入出力部
１４    第１無線通信部
１５    第２無線通信部
１６    制御部
１７    記憶部
２０    サーバ装置
２１    通信部
２２    操作部
２３    制御部
２４    記憶部
１０１  サム値計算部
１０２  デバイス情報送信部
１０３  データ受信部
１０４  データ記憶部
１０５  更新データ
１０６  受信データ種別格納部
１０７  再起動処理部
１０８  受信データ種別判定部
１０９  差分更新処理部
１１０  全体更新処理部
２０１  サム値判断部
２０３  データ送信部
２０４  差分データ
２０５  全体データ
【図１】
2015153160.tif 000003
【図２】
2015153160.tif 000004
【図３】
2015153160.tif 000005
【図４】
2015153160.tif 000006
【図５】
2015153160.tif 000007
【図６Ａ】
2015153160.tif 000008
【図６Ｂ】
2015153160.tif 000009
【図７】
2015153160.tif 000010