JP2015153160A - プログラム更新システムおよびプログラム更新方法 - Google Patents

プログラム更新システムおよびプログラム更新方法 Download PDF

Info

Publication number
JP2015153160A
JP2015153160A JP2014026559A JP2014026559A JP2015153160A JP 2015153160 A JP2015153160 A JP 2015153160A JP 2014026559 A JP2014026559 A JP 2014026559A JP 2014026559 A JP2014026559 A JP 2014026559A JP 2015153160 A JP2015153160 A JP 2015153160A
Authority
JP
Japan
Prior art keywords
data
software program
update
terminal device
code value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014026559A
Other languages
English (en)
Inventor
龍一 粟屋
Ryuichi Awaya
龍一 粟屋
大樹 堤
Daiki Tsutsumi
大樹 堤
慎哉 佐藤
Shinya Sato
慎哉 佐藤
知之 新井
Tomoyuki Arai
知之 新井
史彦 鈴木
Fumihiko Suzuki
史彦 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2014026559A priority Critical patent/JP2015153160A/ja
Publication of JP2015153160A publication Critical patent/JP2015153160A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができるプログラム更新システムおよびプログラム更新方法を提供する。【解決手段】 本発明のプログラム更新方法では、携帯端末装置10に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準のチェックサム値をサーバ装置20に記憶しておき、符号誤りの検出をサーバ装置20が行う。検出結果に応じてサーバ装置20が、差分による更新を行うか、ソフトウェアプログラム全体の上書きにより更新を行うかを携帯端末装置10に指示し、携帯端末装置10はその指示に応じてソフトウェアプログラムの更新を行う。【選択図】 図1

Description

本発明は、情報端末装置が、サーバ装置から更新データを取得してソフトウェアプログラムを更新するプログラム更新システムおよびプログラム更新方法に関する。
スマートフォンなど無線通信機能およびタッチパネル機能などを備えた情報端末装置は、その使い易さから広く普及し始めている。
このような情報端末装置は、たとえば移動体通信網に無線接続することで、使用場所および使用時間に制限を受けずに、自由に無線通信を行うことができる。
無線通信によって、情報端末装置で電子メールを送受信したり、インターネット上のサイトにアクセスして、ウェブページを閲覧したり、音楽データをダウンロードしたり、動画データをストリーミング再生したり、多種多様なコンテンツを利用することができる。
またスマートフォンなどの情報端末装置は、ソフトウェアプログラムをOTA(Over The Air)で更新する機能が搭載されている。「OTAで」とは、通信機能を利用して、無線通信でという意味である。これにより、ユーザや販売店等に負担を掛けることなく、ソフトウェアプログラムの更新を行うことができる。
ソフトウェアの更新は、情報端末装置が更新前後のソフトウェアの差分データをサーバ装置からダウンロードし、その差分データを解釈してソフトウェアを更新している。
差分形式の更新データを使用してソフトウェアを更新する方法では、更新前のソフトウェアは誤りの無い正しい状態である必要があり、たとえば、メモリデバイスの劣化などにより現用のソフトウェアが破損している場合、ソフトウェアの更新は失敗する。
スマートフォンでの主要な更新対象は、OS(Operating System)を含む数ギガバイトにもなるデータである。このような大容量データのメモリデバイスとしては、NAND型フラッシュROMを用いる場合が多い。NAND型フラッシュROMは経時変化による劣化であるRead Disturbによってデータ破壊が発生しやすいことが知られており、複数ビットが反転してしまうほど破損してしまっている場合は、誤りを訂正することはできない。
特許文献1記載のソフトウェア更新方法は、無線端末のROMに記憶された現用の制御ソフトウエアおよび、RAMに記憶された差分ファイルをRAMのソフトウエア更新プログラムワークメモリに読み出し、ソフトウエア更新プログラムを実行する。実行の過程で制御ソフトウエアに異常を検知した場合、ROMに記憶された現用の制御ソフトウエアをリカバリー用ソフトウエアに上書し、リカバリー用ソフトウエアに整合する新たな差分ファイルを取得して、新制御ソフトウエアに書き換える。
特開2010−079382号公報
特許文献1記載のソフトウェア更新方法では、現用の制御プログラムに異常を検知する方法は、無線端末が現用の制御プログラムのサム値を演算し、無線端末のメモリデバイスに予め保持しておいた基準のサム値と比較し、不一致であれば現用の制御プログラムに異常があるものと判断する。
しかし、メモリデバイスに予め保持しておいた基準のサム値もまた、現用の制御プログラムと同様に、経時変化により破損している可能性がある。基準のサム値が破損していると、現用の制御プログラムに異常があるかどうかの判断精度が大きく低下する。
また、現用の制御プログラムが破損している場合の更新について、特許文献1記載のソフトウェア更新方法は、まず現用の制御ソフトウエアをリカバリー用ソフトウエアへ上書し、差分ファイルを取得し、差分ファイルを使用して新制御ソフトウエアへ書き換える、という手順であり、2つのファイルをダウンロードし、上書き処理、書き換え処理が必要となる。
本発明の目的は、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができるプログラム更新システムおよびプログラム更新方法を提供することである。
本発明は、情報端末装置が実行するソフトウェアプログラムを更新するための更新データを、サーバ装置が情報端末装置に送信し、情報端末装置が前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新方法において、
前記情報端末装置が、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出ステップと、
前記情報端末装置が、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とを前記サーバ装置に送信する端末送信ステップと、
前記サーバ装置が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信ステップと、
前記サーバ装置が、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断ステップと、
前記サーバ装置が、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する取得指示ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得ステップと、
前記情報端末装置が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新ステップと、を含むことを特徴とするプログラム更新方法である。
また本発明は、前記誤り検出符号値は、チェックサム値であることを特徴とする。
また本発明は、前記更新データの取得の指示は、前記差分データのURLまたは前記全体データのURLを含むことを特徴とする。
また本発明は、前記端末記憶部は、NAND型フラッシュメモリで構成されることを特徴とする。
また本発明は、ソフトウェアプログラムを実行する情報端末装置と、該情報端末装置とデータ通信可能であり、該情報端末装置が実行するソフトウェアプログラムを更新するための更新データを記憶するサーバ装置とを含み、前記サーバ装置が、前記更新データを前記情報端末装置に送信し、前記情報端末装置が、前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新システムにおいて、
前記情報端末装置は、
ソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶する端末記憶部と、
前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出部と、
前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する端末送信部と、
前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信する端末受信部と、
前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得部と、
前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新部と、を有し、
前記サーバ装置は、
前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶するサーバ記憶部と、
前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信部と、
前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断部と、
基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示する取得指示部と、
前記差分データまたは前記全体データを前記情報端末装置に送信するデータ送信部と、を有することを特徴とするプログラム更新システムである。
本発明によれば、情報端末装置が、符号値算出ステップで、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出し、端末送信ステップで、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とをサーバ装置に送信する。
前記サーバ装置は、サーバ受信ステップで、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信し、誤り判断ステップで、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断し、取得指示ステップで、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する。
前記情報端末装置は、更新データ取得ステップで、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得し、ソフトウェア更新ステップで、前記差分データを取得したときは、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記全体データを取得したときは、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成する。
このように、本発明のプログラム更新方法では、情報端末装置に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準の誤り検出符号値をサーバ装置に記憶しておき、符号誤りの検出をサーバ装置が行うので、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができる。また、ソフトウェアプログラムに異常があった場合には、差分データではなく更新後のソフトウェアプログラムの全体データを情報端末装置が取得して、上書きすることでソフトウェアプログラムを更新するので、1度の処理で更新することが可能となる。
また本発明によれば、前記誤り検出符号値として、チェックサム値を用いることができる。
また本発明によれば、前記更新データの取得の指示は、前記差分データのURLまたは前記全体データのURLを含む。情報端末装置は、指示に含まれるURLを指定することで容易に更新データを取得することができる。
また本発明によれば、前記端末記憶部は、NAND型フラッシュメモリで構成される。NAND型フラッシュメモリは、特に経時変化により破損しやすいが、基準の誤り検出符号値をサーバ装置に記憶しておくことで、符号誤り検出の精度を高く維持することができる。
また本発明によれば、情報端末装置は、端末記憶部にソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶し、符号値算出部が、前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出すると、端末送信部が、前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する。また端末受信部が、前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信し、更新データ取得部が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得すると、ソフトウェア更新部が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成する。
サーバ装置は、サーバ記憶部に前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶し、サーバ受信部が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信すると、誤り判断部が、前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する。また、取得指示部が、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示し、データ送信部が、前記差分データまたは前記全体データを前記情報端末装置に送信する。
このように、本発明のプログラム更新システムでは、情報端末装置に記憶されているソフトウェアプログラムの符号誤りの検出に用いる基準の誤り検出符号値をサーバ装置に記憶しておき、符号誤りの検出をサーバ装置が行うので、情報端末装置のソフトウェアプログラムに異常があるかどうかの判断精度を低下させることなく維持することができる。また、ソフトウェアプログラムに異常があった場合には、差分データではなく更新後のソフトウェアプログラムの全体データを情報端末装置が取得して、上書きすることでソフトウェアプログラムを更新するので、1度の処理で更新することが可能となる。
本発明の一実施形態に係る情報通信システム1の概略的な構成を示す概略構成図である。 情報通信システム1を構成する携帯端末装置10の構成の一例を示すブロック図である。 携帯端末装置10の外観を示す平面図である。 本実施形態に係る情報通信システム1を構成するサーバ装置20の構成の一例を示すブロック図である。 携帯端末装置10およびサーバ装置20の機能を示す機能ブロック図である。 携帯端末装置10の更新処理を示すフローチャートである。 携帯端末装置10の更新処理を示すフローチャートである。 サーバ装置20の更新処理を示すフローチャートである。
図1は、本発明の一実施形態に係る情報通信システム1の概略的な構成を示す概略構成図である。本実施形態に係る情報通信システム1は、通信ネットワーク2を介して互いに通信可能な携帯端末装置10とサーバ装置20とを含んで構成される。
携帯端末装置10は、通信ネットワーク2を介してサーバ装置20と通信可能に構成されるとともに、サーバ装置20から更新データをダウンロードすることにより、自装置に記憶されている装置制御システムやアプリケーションなどの各種ソフトウェアプログラムの更新が可能な情報端末装置である。
本実施形態では、携帯端末装置10として、スマートフォンなどの携帯電話機を想定しているが、これに限定されることはなく、他の実施形態では、たとえばタブレット端末などでもよく、またPC(パーソナルコンピュータ)のように電話通信機能を備えていない端末装置によって実現されてもよい。
図2は、情報通信システム1を構成する携帯端末装置10の構成の一例を示すブロック図である。図3は、携帯端末装置10の外観を示す平面図である。本実施形態に係る携帯端末装置10は、表示部11と、操作部12と、音声入出力部13と、第1無線通信部14と、第2無線通信部15と、制御部16と、記憶部17とを含んで構成され、たとえば前記のようにスマートフォンによって実現される。
表示部11は、画像を表示可能に構成され、たとえば液晶パネルおよびバックライトユニットを備える液晶ディスプレイによって実現される。表示部11には、電話機能や電子メール機能を使用する際の操作画面やウェブブラウザによるウェブサイト閲覧画面などの各種画面が表示される。
操作部12は、制御部16に対し指令やデータを入力するための操作を受け付ける部分であり、ユーザによる操作に応答して、指令信号や入力データを制御部16へ出力する。操作部12は、本実施形態では、タッチパネル12aと、複数の操作ボタン12bとによって実現される。
音声入出力部13は、電話機能を実現するための構成を含む部分であり、具体的には、電話・電子メールの着信音などのサウンドや通話時の音声を出力するスピーカと、サウンド出力および音声出力を制御する音声出力制御部と、通話時の音声が入力されるマイクと、マイクに対して音声入力を制御する音声入力制御部とを含んで構成される。
第1無線通信部14は、他の携帯端末装置との容量の小さいデータを通信したり、テレビジョン受像機などの外部機器を遠隔操作するための各種のコマンド信号を、無線通信によって送信する機能を有する。各種のコマンド信号は、ユーザによる操作部12への所定の入力操作に応答して、制御部16によって生成される。
第1無線通信部14は、制御部16によって生成される各種のコマンド信号を、赤外線通信によって外部へ送信するように構成されてもよく、IEEE802.11、Bluetooth(登録商標)およびZigbee(登録商標)などの無線通信によって外部へ送信するように構成されてもよい。
本実施形態では、第1無線通信部14は、各種のコマンド信号を、赤外線通信によって外部へ送信する機能と、IEEE802.11による無線通信によって外部へ送信する機能との両方を備えて構成されている。
第2無線通信部15は、通信制御部とアンテナとを含んで構成される。通信制御部は、アンテナを介して、携帯電話基地局との間で無線通信を行い、電話機能を備える他の端末装置との電話通信による音声通話を実現させる。また、通信制御部は、携帯電話網およびインターネットを含む通信ネットワーク2を介して、サーバ装置20との間でデータ通信を実現させる。
制御部16は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)などを備え、ROMや記憶部17に記憶される各種ソフトウェアプログラムに従って携帯端末装置10全体の制御を行う。記憶部17には、各種ソフトウェアプログラム、これらソフトウェアプログラムを更新するための更新プログラムなどが記憶されている。
記憶部17は、フラッシュメモリおよびHDD(Hard Disk Drive)などによって実現され、各種プログラムやデータが記憶される。本実施形態では、記憶部17には、NAND型フラッシュメモリが用いられている。
図4は、本実施形態に係る情報通信システム1を構成するサーバ装置20の構成の一例を示すブロック図である。サーバ装置20は、通信部21と、操作部22と、制御部23と、記憶部24とを含んで構成される。
通信部21は、たとえばイーサネット(登録商標)インターフェイスによって実現され、インターネットに接続され、インターネットを介して携帯端末装置10やPC(Personal Computer)などの他の機器との間の双方向通信を行う。
操作部22は、制御部23に対し指令やデータを入力するための操作を受け付ける部分であり、たとえばキーボードやマウスなどによって実現される。制御部23は、CPU、ROMおよびRAMなどを備え、ROMや記憶部24に記憶される各種プログラムに従って、サーバ装置20全体の制御を行う。
記憶部24は、フラッシュメモリおよびHDDなどによって実現され、各種プログラムやデータが記憶される。
本実施形態に係る情報通信システム1において、携帯端末装置10は、各種のソフトウェアを実行し、サーバ装置20は、携帯端末装置10が実行するソフトウェアを更新するための更新データを携帯端末装置10に提供するように構成される。
図5は、携帯端末装置10およびサーバ装置20の機能を示す機能ブロック図である。図には、ソフトウェアプログラム(単にソフトウェアという場合がある)の更新に関連する機能を機能ブロックとして示している。
携帯端末装置10のサム値計算部101は、携帯端末装置10に記憶されているソフトウェアのうち、更新の対象となるソフトウェアに基づいて、誤り検出符号値としてチェックサム値(以下では単にサム値という)を算出する。デバイス情報送信部102は、サーバ装置20へ、更新対象のソフトウェアのバージョンを示すバージョン情報と、算出されたサム値とを送信する。データ受信部103は、サーバ装置20からソフトウェアを更新するための更新データを受信する。データ記憶部104は、受信した更新データ105を記憶する。受信データ種別格納部106は、受信した更新データを解析して、差分データか全体データかの種別を格納する。差分データは、現在、携帯端末装置10に記憶されている更新対象のソフトウェアと更新後のソフトウェアとの差分情報からなる更新データである。全体データは、更新対象のソフトウェアを上書きするための更新データであり、更新後のソフトウェア全体を符号化したデータである。
受信データ種別を格納した後、現在実行しているソフトウェアの処理を完全に終了して、差分データによる差分更新処理または全体データによる全体更新処理を開始する目的で、再起動処理部107が、携帯端末装置10を再起動する。受信データ種別判定部108は、格納された種別に基づいて、受信した更新データが差分データであるか全体データであるかを判断する。差分更新処理部109は、差分データを受信した場合に、受信した差分データを用いて更新対象のソフトウェアを更新する。全体更新処理部110は、受信した全体データを用いて更新対象のソフトウェアを更新する。
サーバ装置20のサム値判断部201は、バージョン情報と基準サム値との対応表202を予め記憶し、携帯端末装置10から送られてきたバージョン情報に基づいて、基準サム値を読み出し、受信したサム値と比較して、一致の有無を判断する。データ送信部203は、携帯端末装置10に差分データ204または全体データ205を送信する。
図6Aおよび図6Bは、携帯端末装置10の更新処理を示すフローチャートであり、図7は、サーバ装置20の更新処理を示すフローチャートである。
情報通信システム1の更新処理は、ユーザが携帯端末装置10を操作することによりソフトウェアの更新処理を開始するよう指示を入力した場合や、サーバ装置20から携帯端末装置10に対してソフトウェアを更新するよう通知を出力した場合などをトリガーとして開始する。
図6AのステップA1で携帯端末装置10は、サム値計算部101が、更新対象のソフトウェアに関連するすべてのデータファイルまたはディレクトリのオーナー情報、パーミッション情報、および内容データの読出しを実行するとともに、オーナー情報、パーミッション情報、および内容データのサム値を算出する。ステップA2では、デバイス情報送信部102が、更新対象のソフトウェアの現在のバージョンを示すバージョン情報と、算出したサム値とをHTTP(Hypertext Transfer Protocol)またはHTTPS(Hypertext Transfer Protocol over SSL)通信によりサーバ装置20へ送信する。
図7のステップB1で、サーバ装置20は、携帯端末装置10から受信したバージョン情報に基づいて、より新しいバージョンのソフトウェアがあるかどうかを判断する。新しいバージョンが有ればステップB3に進み、無ければステップB2に進む、ステップB2では、携帯端末装置10に対して処理要求が無いことを示すメッセージを送信する。
ステップB3では、サム値判断部201が、バージョン情報と基準サム値との対応表202を参照し、携帯端末装置10から受信したバージョン情報に基づく基準サム値を読み出し、読み出した基準サム値と携帯端末装置10から受信したサム値とを比較し、一致するかどうかを判断する。一致すれば、ステップB5に進み一致しなければステップB6に進む。
サム値が基準のサム値と一致するということは、携帯端末装置10に記憶されているソフトウェアには符号誤りが無いことを表し、その場合は差分データによる更新が可能であるので、携帯端末装置10に対して差分データを取得して更新するように指示するソフトウェア更新要求のメッセージを送信する。
サム値が基準のサム値と一致しなければ、携帯端末装置10に記憶されているソフトウェアに符号誤りがあることを表し、その場合は差分データによる更新ができないので、携帯端末装置10に対して全体データを取得して更新するように指示するソフトウェア更新要求のメッセージを送信する。
差分データによる更新を指示するソフトウェア更新要求のメッセージは、差分データのURL(Uniform Resource Locator)を含み、全体データによる更新を指示するソフトウェア更新要求のメッセージは、全体データのURLを含む。
図6AのステップA3で、携帯端末装置10がサーバ装置20からメッセージを受信すると、ステップA4で、メッセージの内容が処理要求有りかどうかを判断する。受信したメッセージが、ステップB2で送信された処理要求が無いことを示すメッセージであれば、処理要求が無いものとしてソフトウェアの更新処理を終了する。受信したメッセージが、ステップB5またはステップB6で送信されたソフトウェア更新要求のメッセージを含む何らかの処理を要求する内容のメッセージであれば、ステップA5に進み、受信したメッセージの処理要求の内容がソフトウェアの更新要求であるかどうかを判断する。
受信したメッセージが、ステップB5またはステップB6で送信されたソフトウェア更新要求のメッセージであれば、図6BのステップA7に進み、その他の処理要求であれば、ステップA6でその他の処理を実行する。
ステップA7では、受信したソフトウェア更新要求のメッセージに含まれるURLを指定してサーバ装置20に対して更新データの取得を要求する。サーバ装置20は、携帯端末装置10からの取得要求に応じて、更新データを携帯端末装置10に送信する。URLが差分データを指定するものであれば、サーバ装置20は該当する差分データを更新データとして携帯端末装置10に送信し、URLが全体データを指定するものであれば、サーバ装置20は該当する全体データを更新データとして情報端末装置に送信する。
ステップA8では、データ受信部103が、URLから更新データをダウンロードし、ステップA9で、受信した更新データ105をデータ記憶部104へ記憶する。
ステップA10では、受信データ種別格納部106は、受信した更新データ105を解析し、更新データが差分データであるか全体データであるかを判断して更新データの種別を格納する。ステップA11では、差分更新処理または全体更新処理を行うために再起動処理部107が携帯端末装置10を再起動する。
ステップA12では、受信データ種別判定部108が、受信データ種別格納部106に格納された種別に基づいて、受信した更新データ105が、差分データであるか全体データであるかを判断する。
受信した更新データ105が差分データであればステップA13に進み、受信した更新データ105が全体データであればステップA14に進む。
ステップA13では、差分更新処理部109が、差分データを用いて、記憶されている更新対象のプログラムに対して差分のみを書き換えることでソフトウェアを更新する。ステップA14では、全体更新処理部110が、更新対象のソフトウェア全体を記憶部から消去する。記憶部がNAND型フラッシュメモリであれば、メモリ内に構成されたデータファイルシステムを構成するパーティション内のすべてのブロックをERASEする。ステップA15では、全体更新処理部110が、全体データで記憶部のソフトウェア記憶領域を上書きする。記憶部がNAND型フラッシュメモリであれば、ERASE後のパーティションをデータファイルシステムとして初期化し、受信した全体データを復号して解析し、ソフトウェア全体の書き込みを行う。
本発明の情報通信システム1は、上記のような更新処理により、基準のサム値をサーバ装置20に記憶しているので、基準のサム値に符号誤りが生じる可能性が低く、携帯端末装置10に記憶されているソフトウェアにデータ破壊が発生しているかどうかを判断する判断精度を維持することができる。
また、サーバ装置20は、携帯端末装置10に記憶されたソフトウェアにデータ破壊が発生していることを検出すると、差分データによる更新が不可能であるので、差分データではなく、更新後のソフトウェア全体を符号化した全体データを送信するので、携帯端末装置10は、1回の書き換え処理で更新することができる。
また、記憶部がNAND型フラッシュメモリである場合、全体データを上書きすることで、Read Disturbによる経時的な劣化がリセットされ次回のソフトウェア更新の際に差分データによって、ソフトウェアの更新を可能とすることができる。
1 情報通信システム
2 通信ネットワーク
10 携帯端末装置
11 表示部
12 操作部
12a タッチパネル
12b 操作ボタン
13 音声入出力部
14 第1無線通信部
15 第2無線通信部
16 制御部
17 記憶部
20 サーバ装置
21 通信部
22 操作部
23 制御部
24 記憶部
101 サム値計算部
102 デバイス情報送信部
103 データ受信部
104 データ記憶部
105 更新データ
106 受信データ種別格納部
107 再起動処理部
108 受信データ種別判定部
109 差分更新処理部
110 全体更新処理部
201 サム値判断部
203 データ送信部
204 差分データ
205 全体データ

Claims (5)

  1. 情報端末装置が実行するソフトウェアプログラムを更新するための更新データを、サーバ装置が情報端末装置に送信し、情報端末装置が前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新方法において、
    前記情報端末装置が、端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出ステップと、
    前記情報端末装置が、算出された誤り検出符号値と、前記ソフトウェアプログラムのバージョンを示すバージョン情報とを前記サーバ装置に送信する端末送信ステップと、
    前記サーバ装置が、前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信ステップと、
    前記サーバ装置が、受信した前記バージョン情報に関連付けられてサーバ記憶部に記憶されている基準の誤り検出符号値と、受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断ステップと、
    前記サーバ装置が、基準の誤り検出符号値と、受信した誤り検出符号値とが一致するときは、前記ソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、受信した誤り検出符号値とが一致しないときは、更新後のソフトウェアプログラムの全体データを取得するように前記情報端末装置に指示する取得指示ステップと、
    前記情報端末装置が、前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得ステップと、
    前記情報端末装置が、前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新ステップと、を含むことを特徴とするプログラム更新方法。
  2. 前記誤り検出符号値は、チェックサム値であることを特徴とする請求項1記載のプログラム更新方法。
  3. 前記更新データの取得の指示は、前記差分データのURLまたは前記全体データのURLを含むことを特徴とする請求項1または2記載のプログラム更新方法。
  4. 前記端末記憶部は、NAND型フラッシュメモリで構成されることを特徴とする請求項1〜3のいずれか1つの記載のプログラム更新方法。
  5. ソフトウェアプログラムを実行する情報端末装置と、該情報端末装置とデータ通信可能であり、該情報端末装置が実行するソフトウェアプログラムを更新するための更新データを記憶するサーバ装置とを含み、前記サーバ装置が、前記更新データを前記情報端末装置に送信し、前記情報端末装置が、前記更新データに基づいてソフトウェアプログラムを更新するプログラム更新システムにおいて、
    前記情報端末装置は、
    ソフトウェアプログラムと、該ソフトウェアプログラムのバージョンを示すバージョン情報とを記憶する端末記憶部と、
    前記端末記憶部に記憶されているソフトウェアプログラムの誤り検出符号値を算出する符号値算出部と、
    前記符号値算出部が算出した誤り検出符号値と、前記バージョン情報とを前記サーバ装置に送信する端末送信部と、
    前記サーバ装置から、前記端末記憶部に記憶されているソフトウェアプログラムの更新データの取得の指示を受信する端末受信部と、
    前記更新データの取得の指示に応じて、前記端末記憶部に記憶されているソフトウェアプログラムと更新後のソフトウェアプログラムとの差分データ、または更新後のソフトウェアプログラムの全体データを、前記サーバ装置から取得する更新データ取得部と、
    前記更新データの取得の指示に応じて、前記差分データを取得すると、前記差分データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムを部分的に書き換えて更新後のソフトウェアプログラムを作成し、前記更新データの取得の指示に応じて、前記全体データを取得すると、前記全体データに基づいて前記端末記憶部に記憶されているソフトウェアプログラムの全体を書き換えて更新後のソフトウェアプログラムを作成するソフトウェア更新部と、を有し、
    前記サーバ装置は、
    前記バージョン情報と、基準の誤り検出符号値と、前記差分データと、前記全体データとを互いに関連付けて記憶するサーバ記憶部と、
    前記情報端末装置から、前記誤り検出符号値と、前記バージョン情報とを受信するサーバ受信部と、
    前記サーバ受信部が受信した前記バージョン情報に関連付けられた基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とを比較し、一致するかどうかを判断する誤り判断部と、
    基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致するときは、前記差分データを取得するように前記情報端末装置に指示し、基準の誤り検出符号値と、前記サーバ受信部が受信した誤り検出符号値とが一致しないときは、前記全体データを取得するように前記情報端末装置に指示する取得指示部と、
    前記差分データまたは前記全体データを前記情報端末装置に送信するデータ送信部と、を有することを特徴とするプログラム更新システム。
JP2014026559A 2014-02-14 2014-02-14 プログラム更新システムおよびプログラム更新方法 Pending JP2015153160A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014026559A JP2015153160A (ja) 2014-02-14 2014-02-14 プログラム更新システムおよびプログラム更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014026559A JP2015153160A (ja) 2014-02-14 2014-02-14 プログラム更新システムおよびプログラム更新方法

Publications (1)

Publication Number Publication Date
JP2015153160A true JP2015153160A (ja) 2015-08-24

Family

ID=53895327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014026559A Pending JP2015153160A (ja) 2014-02-14 2014-02-14 プログラム更新システムおよびプログラム更新方法

Country Status (1)

Country Link
JP (1) JP2015153160A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117446A (ja) * 2015-12-22 2017-06-29 インテル コーポレイション 動的なデータ差分生成および配送
WO2020032119A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
CN110825411A (zh) * 2019-10-31 2020-02-21 歌尔股份有限公司 Tws耳机系统的升级方法、设备及计算机可读存储介质
JP2022511856A (ja) * 2019-03-19 2022-02-01 エルジー エナジー ソリューション リミテッド 固体電解質膜、その製造方法及び固体電解質膜を選定する方法
US11604637B2 (en) 2018-08-10 2023-03-14 Denso Corporation Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117446A (ja) * 2015-12-22 2017-06-29 インテル コーポレイション 動的なデータ差分生成および配送
US9940122B2 (en) 2015-12-22 2018-04-10 Intel Corporation Dynamic data difference generation and distribution
WO2020032119A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
US11604637B2 (en) 2018-08-10 2023-03-14 Denso Corporation Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product
JP7354631B2 (ja) 2018-08-10 2023-10-03 株式会社デンソー 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
JP2022511856A (ja) * 2019-03-19 2022-02-01 エルジー エナジー ソリューション リミテッド 固体電解質膜、その製造方法及び固体電解質膜を選定する方法
JP7090808B2 (ja) 2019-03-19 2022-06-24 エルジー エナジー ソリューション リミテッド 固体電解質膜、その製造方法及び固体電解質膜を選定する方法
CN110825411A (zh) * 2019-10-31 2020-02-21 歌尔股份有限公司 Tws耳机系统的升级方法、设备及计算机可读存储介质
CN110825411B (zh) * 2019-10-31 2022-03-22 歌尔股份有限公司 Tws耳机系统的升级方法、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11711432B1 (en) Remote management of application settings
US8732691B2 (en) Method for installing application in portable terminal
KR101759451B1 (ko) 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체
KR101885133B1 (ko) 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
KR102356349B1 (ko) 파일 처리 방법 및 이동 단말
US9904507B2 (en) Method and system for synchronizing functions of music player in smart device and bluetooth earphone
KR101678932B1 (ko) 웹페이지 액세스 방법, 장치, 서버, 단말기, 프로그램 및 저장매체
US20120260202A1 (en) Customized launching of applications
JP2015153160A (ja) プログラム更新システムおよびプログラム更新方法
JP6316536B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US9363623B2 (en) Communication system, communication method, and non-transitory computer-readable medium
US10067756B2 (en) Communication apparatus, communication system, and communication method
EP3657326B1 (en) Broadcast event processing method and device
WO2019076293A1 (zh) 一种差分升级的方法、装置及系统
CN106843932B (zh) 虚拟现实设备固件的升级方法及系统
CN111124753A (zh) 一种应用程序控制方法、电子设备及服务器
CN105446768B (zh) 系统升级方法及装置
CN110888688B (zh) 一种电子设备的设置还原方法及电子设备
KR20110047711A (ko) 전자 장치 및 그 업그레이드용 펌웨어의 생성방법
CN104462469A (zh) 网站静态文件的更新方法和装置
US11853743B2 (en) Safe modular upgrades
CN105700895B (zh) 一种终端系统的适配方法和终端以及系统服务器
US20140137092A1 (en) Information processing apparatus, information processing system, non-transitory computer-readable storage medium having stored therein information processing program, and information processing method
CN106230919B (zh) 一种文件上传的方法和装置
JP2005229279A (ja) 携帯端末装置、携帯端末装置の使用方法およびプログラム