JP2007515708A - 携帯端末内のデータ更新方法 - Google Patents

携帯端末内のデータ更新方法 Download PDF

Info

Publication number
JP2007515708A
JP2007515708A JP2006540205A JP2006540205A JP2007515708A JP 2007515708 A JP2007515708 A JP 2007515708A JP 2006540205 A JP2006540205 A JP 2006540205A JP 2006540205 A JP2006540205 A JP 2006540205A JP 2007515708 A JP2007515708 A JP 2007515708A
Authority
JP
Japan
Prior art keywords
data
mobile terminal
version
update
stored
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.)
Granted
Application number
JP2006540205A
Other languages
English (en)
Other versions
JP4980064B2 (ja
Inventor
エケル,ヨハン
ゲールマン,クリスチャン
スヴェンソン,ペル
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2007515708A publication Critical patent/JP2007515708A/ja
Application granted granted Critical
Publication of JP4980064B2 publication Critical patent/JP4980064B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Abstract

携帯端末に格納されたデータを第1のデータバージョンから更新データバージョン
に差分的に更新する方法であって、携帯端末に差分的更新命令をロードし、携帯端末
により格納されたデータおよびロードされた差分的更新命令から更新データバージョ
ンを生成することから成り、さらに、携帯端末内に格納されたデータが第1のデータ
バージョンと一致しない1または2以上の汚染された部分を含むかどうかを検出し、
更新データバージョンを生成し、検出された汚染部分を修復することから成ることを
特徴とする。

Description

本発明は携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法に関する。
携帯電話、ページャー(pager)、エレクトロニック・オーガナイザー(electronic organiser)、スマートフォン(smart phone)、PDA(personal digital assistant)などの携帯端末は、ソフトウェア依存型の装置であり、その傾向はますます強まっている。その結果、携帯端末に格納されたソフトウェアの適切なバージョン管理と機能の更新が必要となっている。将来においては、ソフトウェアバグの修正とスタンダードな更新が携帯端末のライフサイクルの当たり前の部分となり、端末の機能を適切に保つための要求項目となるであろう。現在、このような携帯端末のユーザは、新しいシステムのバージョンをアップロードし更新するためには、典型的には、端末をワイヤケーブルでコンピュータに接続できる更新センターを訪問する必要がある。
多くの点から見て、これは満足の行く解決策ではない。端末メーカーにとっては高価につくものであり、ユーザにとっては迷惑な話である。したがって、顧客が実際に更新センターを訪問しなければならないような事態を回避できることが好ましい。さらに、上記解決策は更新時間に不必要に時間がかかるという不利益もある。というのも、現状では、更新のたびに必要であるか、あるいは好ましい作業として、携帯端末のメモリの完全なイメージがロードされているからである。
最近では、携帯端末のOTA(over-the-air)ファームウェアを用いた更新方法の導入が指摘されており、それにより、ユーザは、家の中あるいは街中で、システムのソフトウェアの最新バージョンを取得することが可能となる。更新作業は、ユーザがわざわざ行動を起こす必要はなく、代わりにネットワークオペレータなどがネットワークを通じて開始することができる。たとえば、特定モデルの携帯電話を有するすべてのユーザに対して、重要なパッチ(critical patch)が配布され、ユーザ自身が実際にそれらのパッチを探しに行く必要はない。
このように、OTAによる解決策によれば、追加的な機能やバグの修正を提供する更新を行うソフトウェアや他のデータの更新は、無線インタフェース(air interface)を通じて配布される。なお、本明細書において、携帯端末上に存在する古いソフトウェア版を「ベースバージョン」と称し、新しい更新されたソフトウェア版を「更新バージョン」または「ニューバージョン」と称することにする。単に新しいソフトウェア版のイメージを配布するだけでは、少なくとも二つの理由から満足行くものではないし、あるいは配布自体ができない場合がある。すなわち、ロード時間が非常に長くなる可能性があるし、さらには電話が同時に二つのコピーを保持しなければならならず、メモリの負担が倍になるおそれもある。これらの問題を解決するために、いわゆるデルタファイル内の必要な変更だけを転送する方法も指摘されている。デルタファイルは、携帯端末がベースバージョンとデルタファイルからニューバージョン生成する指示を含むように構成される。かかる指示はベースバージョンのデータの差分的更新に関するもので、それにより、ソフトウェア更新をロードするために必要な帯域幅と携帯端末に要求される記憶装置の容量を減じることが可能となる。
米国特許第6018747号は、ターゲットシステム上のソフトウェアのインプレース(in-place)デルタ更新を生成する方法が開示されている。そこでは、デルタファイルは、ソフトウェアのニューバージョンに到達するためのベースバージョンに対する変更を識別するための「コピー(copy)」コマンドと「追加(add)」コマンドから構成される。すなわち、上記従来方法によれば、ニューバージョンのソフトウェアをリリースする時に、デルタファイルはニューバージョンと以前のバージョンから生成される。デルタファイルは、狭い帯域幅のチャネルでも効果的に配布することができる。
米国特許第6018747号明細書
しかしながら、上記従来システムの問題は、OTAソフトウェア更新に関するいくつかのセキュリティ上の問題に目を向けていない点にある。ソフトウェア更新を安全に行うための要求項目の一つは、更新されるソフトウェアのバージョンが真正なものであることである。すなわち、更新されるソフトウェアがロードされることが予定されたソフトウェアに対応している必要がある。真正でない、あるいは汚染された(corrupted)ソフトウェアは、携帯端末に誤動作を引き起こす可能性があり、最悪、携帯端末を機能不全に陥らせる可能性がある。汚染されたソフトウェアは、ウィルスやウォームなどの悪意の攻撃の結果物であるかもしれないし、ライセンス機能の不正操作のようなハッキングの結果物であるかもしれないし、メモリエラーのようなソフトウェアやハードウェア上のエラーの結果物であるかもしれない。
したがって、本発明の目的は、ハイレベルのセキュリティが確保された携帯端末の更新メカニズムを提供することにある。
上記のおよび他の課題は、携帯端末内において、ソフトウェア上のコマンドを表すデータのような格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法により解決される。この方法は、差分的な更新命令を携帯端末にロードし、格納されたデータとロードされた差分的更新命令から携帯端末によって更新データバージョンを生成し、その際に、携帯端末内に格納されたデータが第1のデータバージョンと一致しない1または2以上の汚染された部分を含むかどうかを検出し、更新データバージョンを生成する際に検出された汚染された部分を修復することから成る。
この結果、ベースバージョンが汚染されていたとしても、格納されたデータの汚染された部分を検出することにより、ニューバージョンを後続生成する時に、ニューバージョンが真正のニューバージョンであることが保証される。
ここで、「格納されたデータの汚染部分を修復する」という用語は、真正の更新バージョンの対応する部分を生成することを含む。
好適な実施形態において、上記方法は、さらに、検出されたデータの汚染部分についての情報に基づいて差分的更新命令を生成することを含む。すなわち、この実施形態によれば、修正されたデルタファイルは、ベースバージョンと、更新バージョンと、格納されたデータのどの部分が汚染されているかに関する情報、すなわち格納されたデータのどの部分が真正のベースバージョンに対応しないか、あるいは少なくとも真正のベースバージョンに対応しないおそれがあるかに関する情報に基づいて生成される。
たとえば、ソフトウェアのベースバージョンがウィルスプログラムに汚染されていたり、あるいはベースバージョンがライセンス保護メカニズムを出し抜くために不正操作されたものであったりした場合には、ソフトウェアの更新により、携帯端末を誤動作させたり、最悪機能不全に陥らせるおそれがある汚染されたメモリイメージが生成される可能性がある。
理解すべきは、汚染された部分が検出されない場合には、標準のデルタファイルが生成されるか、あるいはそのような標準のデルタファイルが以前のある時点においてすでに生成されている場合には、そのデルタファイルが取得されるという点である。かかる標準データファイルは、たとえば米国特許第6018747号に開示されている方法により、デルタファイルを生成する好適な方法を用いて生成される。
さらに好適な実施形態において、差分的更新命令は更新データを含み、更新データバージョンの生成は、前記更新データにより格納されたデータのうち予め決められた部分を置換することを含む。好ましくは、データに汚染された部分が検出された場合に、更新データは更新データバージョンと一致した修正されたデータ部分を含み、修正されたデータ部分は検出されたデータの汚染部分に対応する。
差分的更新命令の生成が、携帯端末に検出された汚染されたデータ部分を除いた格納されたデータからおよび差分的更新命令から更新データバージョンを生成させるコマンドを含む場合、ベースバージョンの汚染されていない部分だけが、差分的更新プロセスのソースとして用いられる。結果として、汚染された部分が更新バージョンの部分に広まってしまうリスクを減じることができる。
ここで、データ部分という用語は、所定のアドレス範囲内のデータとして識別可能なデータ部分や、メモリのセクションや、メモリブロックなどを含む。
好ましくは、差分的更新命令は、ソフトウェア更新サーバなどのような遠隔データ処理システム上で生成される。好ましくは、遠隔データ処理システムと携帯端末との間の通信は、GSMネットワークや、GPRSネットワークや、UMTSネットワークやその他の3Gネットワークのようなセルラー通信ネットワークのような無線通信リンクを介して行われる。また、上記通信は、TCP/IPのようなインターネットプロトコル(IP)や、ショートメッセージサービス(SMS)や、その他の好適なデータ伝送メカニズムなどの好適な通信プロトコルにより行われる。
好適な実施形態において、汚染部分の検出は携帯端末により行われ、検出の結果は遠隔処理システムに報告され、その結果、携帯端末と遠隔データ処理システム間の無線インタフェースを介して通信をする必要があるデータ総量を減じることができる。
他の好適な実施形態において、汚染された部分の検出は、携帯端末と遠隔データ処理システムと協働して行われる。この実施形態によれば、方法は、格納されたデータについて情報を携帯端末から遠隔処理システムに伝送することを含み、伝送された情報から遠隔データ処理システムにより検出が行われる。この実施形態の利点は、携帯端末側において要求される計算能力とメモリ資源を減じることができる点である。この実施形態のさらなる利点は、潜在的に汚染されたデータまたはソフトウェアを含んでいる可能性がある携帯端末側において実施される処理に基づいて検出が行われないので、安全性が増す点である。
さらに好適な実施形態において、検出は、形態端末によりチェックサム数を計算し、その際に、各チェックサムは携帯端末内に格納されたデータの対応部分に対応し、さらに、計算されたチェックサムを汚染されたデータ部分を識別するための参照チェックサム数と比較することにより行われる。
かかる構成により、ベースバージョンの汚染された部分の検出を効果的にかつ高い信頼度で実施できるメカニズムが提供される。たとえば、チェックサムを、所定の寸法の各メモリブロックについてブロック基準で(block wise)で計算することができる。チェックサムの計算を暗号的に強化された一方向ハッシュ関数に基づいて行えば、検出メカニズムの信頼性がさらに高まる。
ある実施形態において、参照チェックサムは携帯端末に格納され、携帯端末において比較動作が行われる。この実施形態によれば、携帯端末はチェックサムを計算して照合し、照合結果が遠隔データ処理システムに送られる。
携帯端末によりそして携帯端末上に格納された参照チェックサムに基づいてすべての検出処理が行われるということは、参照チェックサム自体が不正行為などにより汚染されている可能性があるためセキュリティ上のリスクを含む。この問題は、携帯端末に格納された参照チェックサムがメッセージ真正コードにより完全な状態で保護されている場合に、解決される。
他の好ましい実施形態において、参照チェックサムは遠隔データ処理システム上に格納される。その場合に、伝送される情報には、計算されたチェックサムが含まれる。さらに検出処理には、遠隔データ処理システムが伝送され計算されたチェックサムを遠隔データ処理システム上に格納された参照チェックサム数と比較する処理が含まれる。この場合、参照チェックサムの格納が、携帯端末の記憶容量に負担をかけることはなく、参照チェックサムが、携帯端末に格納されたデータの汚染あるいは不正操作に対して攻撃を受けにくくなる。
さらに好ましい実施形態が従属請求項に開示されている。
上述のまたは以下に説明する方法の特徴は、ソフトウェアに組み込まれ、データ処理システム、その他、コンピュータ上で実行可能なコマンド群のようなプログラムコードを実行する処理手段により実行される。本明細書において、処理手段という用語には、上記機能を実行するように好適に調整されたすべての回路および/またはデバイスを含まれる。特に、処理手段の用語には、一般的なまたは特定用途にプログラムされたマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブルロジックアレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け電子回路などおよびそれらの組み合わせが含まれる。
たとえば、プログラムコード手段は、格納媒体から、または他のコンピュータから、コンピュータネットワークを介して、RAMなどのメモリ内にロード可能である。代替手段として、上述の特徴は、ソフトウェアの変わりにハードウェアに制御された回路およびそれらとソフトウェアとの組み合わせにより実行可能である。
本発明の目的は、上述のおよび以下に述べる方法を含むさまざまな方法により実行することが可能であり、携帯端末、データ処理システムその他の製品手段は、それぞれ、上述した方法に関連して説明する利益および利点のうち1つまたは2以上をもたらすものであり、それぞれ、上述した方法に関連して説明する好適な実施形態に対応する1または2以上の好適な実施形態に実現するものである。
本発明は、さらに、以下の特徴を備えた携帯端末に関連する。この携帯端末は、データを格納するデータメモリと、データメモリ内に格納されたデータを第1のデータバージョンから更新データバージョン更新するための差分的更新命令をデータ処理システムから受信するように構成された通信手段と、格納されたデータからおよび受信した差分的更新データバージョンから更新データバージョンを生成するように構成された処理手段とを含み、処理手段は、さらに、格納されたデータのうち第1のデータバージョンと一致しない1または2以上の部分の存在または不存在の示す情報を格納されたデータから生成し、さらに生成された情報を、通信手段を介して、データ処理システムに通信して差分的更新命令を生成するように構成されている。
本発明は、さらに第1のデータバージョンから更新データバージョンに携帯端末内に格納されたデータを差分的に更新するに適したデータ処理システムに関連する。このデータ処理システムは、差分的更新命令を携帯端末にロードし、差分的更新命令によって携帯端末に格納されたデータとロードされた差分的更新命令から更新データバージョンを生成させる。その場合に、データ処理システムは、さらに、格納されたデータのうち第1のデータバージョンと一致しない1または2以上の部分の存在または不存在を示す情報を携帯端末から受信する手段と、第1のデータバージョンと更新データバージョンと受信した情報から差分的更新命令を生成し、その際に、差分的更新命令に修正コマンドを含ませるように構成され、その場合に、修正コマンドは携帯端末に検出された各汚染部分を修復させるように構成されている。
本発明は、さらに、以下の特徴を備えたコンピュータプログラムに関する。このコンピュータプログラムは、以下に述べるステップを実行して、データ処理システムをして、携帯端末に格納されたデータを第1のデータバージョンから更新データバージョンに差分的更新させるように構成されている。このプログラムがデータ処理システム上で実行される際には、第1のデータバージョンと更新データバージョンと携帯端末から受信した情報から差分的更新命令を生成する処理が行われる。その場合に、受信した情報は格納されたデータのうち第1のデータバージョンと一致しない1または2以上の部分の存在または不存在を示すものであり、さらに、差分的更新命令の生成処理には差分的更新命令に修正コマンドを含ませる処理が含まれ、その修正コマンドは携帯端末に検出された各汚染部分を修正させるように構成されている。さらに、このプログラムがデータ処理システム上で実行される際には、生成された差分的更新命令を携帯端末内にロードする処理が行われる。その場合に、差分的更新命令は、携帯端末に格納されたデータおよびロードした差分的更新命令から更新データバージョンを生成させるように構成されている。
携帯端末という用語には、無線通信用信号などの通信用信号を受信しおよび/または送信してデータ通信を行うための好適な回路を含む、すべての携帯用デバイスが含まれる。かかるデバイスには、携帯用無線通信装置その他の手で保持可能な携帯用デバイスが含まれる。携帯用無線通信という用語には、携帯電話、ページャー、その他の電子オーガナイザー、スマートフォン、パーソナル・デジタル・アシスタント(PDA)などのコミュニケータが含まれる。
上述のおよび他の本発明の観点については、図面に関連して以下において説明される実施形態において明らかに説明される。なお、図面において:
図1は、携帯端末内のソフトウェアを更新するためのシステムの一実施形態にかかるブロック図の概略を示しており;
図2は、本発明の一実施形態による携帯端末のブロック図の概略を示しており;
図3は、ソフトウェア更新プロセスの一実施形態の流れ図を示しており;
図4は、チェックサムの計算と整合性保護の概略を示しており;
図5は、本発明の他の実施形態による携帯端末のブロック図の概略を示しており、
図6は、ソフトウェア更新プロセスの他の実施形態の流れ図を示しており;
図7a−bは、それぞれ、汚染されたメモリブロックが存在しない場合と存在する場合のデルタファイルの生成の一実施形態の概略を示している。
図1は、携帯端末内のソフトウェアを更新するためのシステムの一実施形態のブロック図の概略を示している。このシステムは携帯端末101、たとえば携帯電話などと、ソフトウェア更新システム102と、通信ネットワーク103から構成されている。
ソフトウェア更新システム102は、通信ネットワークにアクセス可能なサーバコンピュータから成る。ある実施形態においては、サーバコンピュータの機能は、複数のコンピュータ、たとえば、LAN(local area network)やWAN(wide area network)やインターネットなどのコンピュータネットワークを介して接続されるコンピュータ群に分散される。ソフトウェア更新システム102は、通信ネットワーク103を介してデータ通信を可能にするネットワークインタフェース104を備えている。たとえば、ネットワークインタフェースは、ネットワークカード、DSLモデム、ゲートウェイコンピュータなどから構成することができる。
ソフトウェア更新システムは、さらに、処理ユニット105、たとえばデルタファイルの生成を含む更新プロセスを制御し実行するように好適にプログラムされたサーバコンピュータのCPUなどから構成される。処理ユニットは、さらに、少なくとも更新されるソフトウェアのベースバージョンと更新バージョンのメモリイメージが格納されたバージョンデータベース106を備えている。ある実施形態においては、バージョンデータベースはさらに、異なる顧客群などに対応するために、異なる携帯端末のモデル用の複数のベースバージョンおよび/または更新バージョンなどの追加的情報を備えることができる。
通信ネットワーク103は、無線通信ベアラ(wireless communications bearer)を用いて、ソフトウェア更新システム102と携帯端末101との間でデータ通信をするに好適な通信ネットワークとして構成される。たとえば、GSMネットワークやUMTSネットワークやGPRSネットワークなどのセルラー通信ネットワークを介して通信を行うように調整された携帯電話の場合には、ソフトウェア更新に関連するソフトウェア更新システムと携帯端末間の通信は好ましくはセルラー通信ネットワークを介して行われ、それにより携帯端末側に追加的な通信インタフェースを設ける必要を回避できる。さらに、理解すべきは、携帯端末とソフトウェア更新システム間の通信には一以上の通信ネットワークが含まれうる点である。たとえば、携帯電話は、ソフトウェア更新システムとインターネットを介して順次通信を行うゲートウェイシステムと、基地局とセルラーテレコムネットワークを介して、通信を行うことも可能である。
このように、携帯端末101上でソフトウェア、すなわち、携帯端末のファームウェアまたはオペレーティングシステムを更新するために、携帯端末はソフトウェア更新システム102に接続する。代わりに、更新ソフトウェアバージョンが有効になると、ソフトウェア更新システムが携帯端末に接続するように構成しても良い。ソフトウェア更新システムに接続すると、携帯端末はソフトウェア更新システムに、現在のソフトウェアバージョンに関する情報とメモリ内に現在格納されているソフトウェアに関する情報を送信する。かかる情報により、ソフトウェア更新システムは汚染されているあるいは少なくとも汚染されるおそれのあるメモリブロックを認識する。通信は、好適な更新プロトコル、たとえばTCP/IP上で構築されたプロトコルにより実行される。携帯端末から受け取った情報に基づいて、ソフトウェア更新システムは、携帯端末に対する差分的更新命令からなる専用の更新メッセージを生成する。差分的更新命令は、携帯端末がすでに携帯端末に格納されている現存のバージョンからおよび更新命令内に含まれる追加的情報から更新ソフトウェアバージョンを生成することができるように、生成される。さらに差分的更新命令は携帯端末内のすべての汚染されたメモリブロックが更新バージョンの真正なブロックに更新されるように、さらにすべての汚染されたメモリ内容が更新バージョンの生成時に携帯端末により使用されないように、生成される。
Figure 2007515708
デルタファイルは必要なものだけ供給されてもよい。かかる構成により、追加的な格納を最小限に抑えることができる。さらに、デルタファイルだけをロードする必要があり、デルタファイルは通常はニューバージョンをかなり小さいものなので、上述の方法によれば、ロード時間を短縮できる。
ある実施形態では、更新プロセスは、携帯端末上で動作する更新エージェントにより起動される。更新エージェントは、デルタファイルの受け入れと検証を制御する。さらに、更新エージェントはパッチモードで携帯端末をネットワークから切り離したりリブートしたりする。パッチモードでは、デルタファイル内の変化は新しいメモリイメージが完了するまで追加的に供給される。
更新プロセスの実施形態の詳細については以下に説明される。
図2は、本発明の一実施形態にかかる携帯端末の概略的なブロック図を示している。携帯端末201は、通信ブロック210と処理ユニット211とメモリユニット212、213、214から構成されている。
通信ブロック210は、セルラー通信ネットワークを介して無線ベースでデータ通信を可能にする回路および/またはデバイスを含んでいる。本発明の目的のためには、通信ブロック210は、データ信号を送受信するために、受信回路と送信回路を備えている。通信ブロックは、さらに、変調、復調、増幅などのように無線通信分野において知られた好適な技法により信号を好適に処理するための回路も備えている。
携帯端末は、さらに好適にプログラムされたマイクロプロセッサなどの処理ユニット211を備えている。処理ユニットは、携帯端末に格納されたソフトウェアのバージョンを決定し、格納されたソフトウェアのチェックサムを計算し、対応する更新命令の受信時にソフトウェアの更新バージョンを生成するように調整されている。
メモリユニット212は、所定のバージョンのソフトウェアおよび/またはその他のデータを格納する。たとえばメモリ212は、処理ユニット210によりロードされ実行された場合に、携帯端末の基本機能を実行する携帯端末のファームウェアを記憶している。ファームウェアは、さらに、ソフトウェアを実行するためのオペレーティングシステムを含んでいる。メモリ212は、さらに追加的な機能を供給するための応用ソフトウェアを記憶することが可能である。メモリ212は、好適なアドレス空間を用いて番地付けされており、それにより処理ユニットはメモリ所定の部分にアクセスすることが可能である。ある実施形態においては、メモリ212は論理的にまたは物理的に複数のメモリブロックに分割されている。たとえば、メモリ212は所定寸法のブロックにデータを書き込むことが可能なフラッシュメモリから構成される。
以下では、メモリ212は、B1、B2、B3、…、BNとして表現される所定寸法の複数のブロックに分割されているものと仮定する。しかし、代わりに、メモリの他のアドレス方法を用いることが可能であることは言うまでもない。さらに、ここで言及される更新処理は、携帯電話のフラッシュメモリの全イメージが更新されるような場合には、メモリ212全体に適用されるし、一または2以上のアプリケーションだけが更新される場合には、メモリの所定部分だけに適用される。
携帯端末201は、さらにメモリブロックが汚染されたかどうかを決定する際に使用される参照チェックサムのリストを格納するためのメモリセクション213を備えている。チェックサムの生成および使用については以下において詳細に説明する。メモリセクション212、213は、物理的に同一のメモリの一部として構成することも可能であるし、物理的に異なるメモリとして構成することも可能であることはもちろんである。
好適な実施形態において、携帯端末は、さらに下記に詳述するように、格納されたチェックサムの整合性保護のために使用される秘密キーをセキュアに保護するためのメモリセクション214を備えることができる。たとえば、秘密キーは、携帯端末の所定回路の外部からはアクセス不能なROMやEPROMなどの内部メモリ内に格納することが可能である。他の実施形態においては、携帯端末は、たとえば電子融合手段により携帯端末の回路に焼き付けられた固有のチップIDを備えている。他の実施形態においては、秘密キーはフラッシュキーのような保護されていないメモリ上に暗号化された格納される。
図3は、ソフトウェア更新プロセスの一実施形態を示す流れ図である。符号321で示す右側の流れ図は、携帯端末により実行されるステップを示しており、符号322で示される左側の流れ図は、ソフトウェア更新システム側に実行されるステップを示している。
図3の流れ図において、ソフトウェア更新システムが更新プロセスを起動するものと仮定する。すなわち、初期化ステップ331において、ソフトウェア更新システムは、ソフトウェアのニューバージョンが使用可能になったことを、たとえばID V2を携帯端末に知らせるメッセージを携帯端末に送信する。ソフトウェア更新システムから受信したこのメッセージに応答して、携帯端末はメモリ312の対応するメモリブロックの内容、あるいは更新されるソフトウェアを含むメモリ部分のチェックサムを計算する。
ステップ333において、携帯端末は、計算されたチェックサムと携帯端末のメモリセクション313内に格納された参照チェックサムのリストを比較する。参照チェックサムは、携帯端末内に現在組み込まれているベースバージョンに対応する真正なメモリ内容のメモリブロックに対応するチェックサムである。どのようにチェックサムが格納され計算されるかについては、図4に関連して以下に説明する。
図4は、チェックサムの計算と整合性保護の様子を示す説明図である。図4は、更新される携帯デバイスのメモリ413を概略的に示している。メモリは、B1、B2、…、BNで示されるようにNブロックに分割されている。この実施形態によれば、携帯端末は、さらに、メモリ413のNメモリブロックの真正なメモリイメージ相当するN+1のメモリブロックが格納されたメモリセクション413を備えている。N+1のNは、各メモリブロックB1、B2、…BNの参照チェックサムが格納されるように、Nメモリブロックのそれぞれについて計算される。個々のメモリブロックのチェックサムはCRC1、CRC2、…、CRCNとして表示されている。好ましくは、各チェックサムは、CRCi=h(Bi)により表現されるハッシュ関数hを用いて対応するメモリブロックから演算される。「暗号的に強い一方向ハッシュ関数」という用語は、関数M→h(M)を含むことを意図するものである。関数M→h(M)は、メッセージ空間から小さなハッシュ空間にメッセージMを誰もコンピュータ的に実行不可能なようにマップすることを意味する。すなわち、MとM’は、h(M)=h(M’)として表現され、任意のmを与えれば、メッセージMは、h(M)=mとして表現される。好適なハッシュ関数としてはSHA−1やMD5を例示できる。
N+1チェックサムの残りの一つは、CRCTと表現され、すべてのメモリ412について計算されるものであり、CRCT=h(B1、B2、…、BN)と表現される。一つの実施形態においては、この総チェックサムは、総チェックサムを計算し比較する初期チェックを実行するために使用される。総チェックサムの検証が成功すると、システムは、汚染されたメモリブロックがないと仮定する。総チェックサムの整合性がとれない場合にのみ、どのブロックが汚染されているか識別するために、個々のチェックサムの計算と比較が行われる。
ある実施形態において、チェックサムリストの不正操作の検出が可能な整合性保護機能を有する携帯端末の場合には、真正なメモリ内容のチェックサムリストが携帯端末内に格納されている。たとえば、チェックサムのリスクは、携帯端末のセキュアなメモリセクション414に格納された秘密キーkを用いたMAC(message authentication code)によって保護することが可能である。MACの一例はHMACである。ある実施形態においては、タグ値t=MACk(CRC1、…、CRCN、CRCT)がMACアルゴリズムと秘密キーkを用いてチェックサムから計算される。計算されたタグ値は参照チェックサムリストに追加され、参照番号415で示されるように、メモリセクション413に格納される。更新プロセスの間、携帯端末は秘密キーkを用いてタグ値を再計算し、計算された値がメモリに格納されたタグ値415と比較される。
MACに基づく整合性保護の高い安全性を十分に得るために、キーkは、図2に関連して既に説明したように、信頼のあるプロセス/ユーザによってのみアクセスまたは読み出しができるようにメモリ414内に格納されることが好ましい。
再び図3を参照すると、ステップ333において、携帯端末は、携帯端末に格納された参照チェックサムと計算されたチェックサムが異なる場合には、そのメモリブロックを識別する。
ステップ334において、携帯端末は、ID_D1で示される現在組み込まれているソフトウェアバージョンの識別子と汚染されたメモリブロックのリストをソフトウェア更新システムに送信する。図3の例では、このリストは、ブロック識別子BC1、…、BCK、0≦K≦Nから成る。
この情報を受け取ると、ソフトウェア更新システムは、好適なデルタファイルを生成する。図3の実施形態において、ステップ335において、ソフトウェア更新システムは、携帯端末が汚染されたブロックを識別したかどうかを決定する。汚染に該当しない場合、すなわち、メモリ内容が、真正なベースバージョンであると携帯端末により検証された場合には、ソフトウェア更新システムは専用デルタフィルを生成する必要はない。この場合、真正なベースバージョンから所望の更新バージョンに更新するための差分的更新命令から成る標準デルタファイルは、ソフトウェア更新システムのバージョンデータベース306内において予め生成し格納しておくことも可能である。このように、汚染されたブロックが識別されない場合には、プロセスはステップ336に進み、ソフトウェア更新システムは、データベース306から対応する標準デルタファイルを取り出し、ステップ338に進む。
1または2以上の汚染されたブロックが識別された場合には、プロセスは337に進み、ソフトウェア更新システムは、専用デルタファイルを生成し、ステップ338に進む。詳細についてはすでに説明したように、専用デルタファイルは、携帯端末に真正な更新バージョンを生成させる更新命令から成る。特に、更新命令は、更新バージョンの生成の間に、汚染されたブロックが再使用されないようにする。このようにして、ソフトウェア更新システムはベースバージョンとニューバージョンをバージョンデータベース306から取り出し、これら二つのバージョンと汚染されたメモリブロックの情報からデルタファイルを生成する。汚染されたブロックが存在している中で専用デルタファイルを生成する例については、図7a〜bに関連して説明する。
ステップ338において、ソフトウェア更新システムは、生成されたデルタファイルを携帯端末に送信する。ステップ339において、携帯端末はメモリ312の内容とデルタファイルから取得したコマンドからソフトウェアの更新バージョンを生成する。
図3に示す実施形態において、メモリ313に格納された参照チェックサムについても更新されたメモリ内容を反映するために更新される。このように、ステップ339において、携帯端末は、さらに更新された参照チェックサムを計算し格納し、その際に、整合性保護が適用される場合には、秘密キーkを用いた更新されたMACについても、計算し格納する。他の実施形態としては、上記構成の代わりに、更新された参照チェックサムとMAC値はソフトウェア更新システムにおいて計算され、携帯端末に送信される。
さらに、ある実施形態においては、携帯端末は、受け取ったデルタファイルを実行する前に受け取ったデルタファイルの検証、たとえば、受け取ったデルタファイルに対して整合性保護を適用したり、ソフトウェア更新システムのユーザ識別(authentication)を適用したりする。
さらに、更新が成功裏に完了した場合には、ステップ340において、携帯端末は、ソフトウェア更新システムに対して成功確認証(an acknowledgment of the successful receipt)を送信する。ステップ341において、ソフトウェア更新システムが確認証を受領すると更新プロセスは完了する。
以下においては、更新プロセスの第2の実施形態について、図5および図6を参照しながら説明する。この実施形態は、汚染されたブロックの検出を携帯端末とソフトウェア更新システムとが協働して実行するものである。
図5は、本発明の別の実施形態に基づく携帯端末のブロック図を概略的に示している。携帯端末501は、図2に関連した実施形態とほぼ同様に、通信ブロック510と、処理ユニット511と、メモリユニと512とを含んでいる。しかし、携帯端末501は、図2の携帯端末とは異なり、参照チェックサムや参照チェックサムの整合性保護のためのキーパラメータを格納するメモリセクションを備えていない。
図5の携帯端末に関連して使用される更新プロセスについては、図6に関連して説明する。図6のプロセスは、図3のプロセスとほぼ同様であるが、図6のプロセスにおいて、携帯端末は、計算されたチェックサムを、チェックサムと参照チェックサムとの比較を行うソフトウェア更新システムに送信することはない。かかる構成により、携帯端末側の記憶容量要求および計算資源を減じることができる。
図6において、符号621で示す右側の部分は、携帯端末によって実行されるステップを示し、符号622で示す左側の部分は、ソフトウェア更新システムによって実行されるステップを示している。
図6において、ソフトウェア更新システムが更新プロセスを開始するものとする仮定する。したがって、最初のステップ631において、ソフトウェア更新システムは、ソフトウェアのニューバージョンが使用可能になったことを携帯端末に知らせるメッセージを携帯端末に送る。ステップ632において、ソフトウェア更新プログラムから受け取ったメッセージに応答して、携帯端末は、詳細についてはすでに説明したように、メモリ612の対応するメモリブロックの内容または更新されるソフトウェアを含むメモリ部分のチェックサムを計算する。
ステップ634において、携帯端末は、現在組み込まれているソフトウェアバージョンの識別子と符号CRC1、…、CRCNで示す計算されたチェックサムのリストをソフトウェア更新システムに送信する。
この情報を受信すると、ステップ633において、ソフトウェア更新システムは、受信したチェックサムをバージョンデータベース606に格納された参照チェックサムのリストと比較する。代わりに、参照チェックサムを別の場所に格納したり、ソフトウェア更新システムが、バージョンデータベース606内に格納された真正のベースバージョンからチェックサムを計算したりするように構成しても良い。参照チェックサム構造およびそれらを計算する方法の詳細についてはすでに説明した。
別の実施形態によれば、携帯端末がソフトウェア更新システムにチェックサムを送信するために整合性保護処理を行うように、たとえば、上述のようにMACタグを追加したり、暗号化処理を施したりするように構成される。
ステップ635においては、ソフトウェア更新システムは、ステップ633の比較により汚染されたブロックが明らかになったかどうかを決定する。汚染されたブロックが同定されない場合には、プロセスはステップ636に進み、ソフトウェア更新システムは、データベース606から対応する標準デルタファイルを引き出し、ステップ638に進む。
1または2以上の汚染されたブロックが同定された場合には、プロセスはステップ637に進み、ソフトウェア更新システムは専用デルタファイルを生成し、ステップ638に進む。
ステップ638において、ソフトウェア更新システムは、データファイルを携帯端末に送信する。ステップ639において、携帯端末は、メモリ612の内容およびデルタファイル内のコマンドからソフトウェアの更新バージョンを生成する。携帯端末は更新バージョンをメモリ612に格納する。
ある実施形態において、携帯端末は、受け取ったデルタファイルを適用する前に受け取ったデルタファイルの検証、たとえば、受け取ったデルタファイルに対して整合性保護を適用したり、ソフトウェア更新システムのユーザ識別(authentication)を適用したりする。
さらに、更新が成功裏に完了した場合には、ステップ640において、携帯端末は、ソフトウェア更新システムに対して成功確認証(an acknowledgment of the successful receipt)を送信する。ステップ641において、ソフトウェア更新システムが確認証を受領すると更新プロセスは完了する。
図6のプロセスの変更例において、携帯端末は、更新すべきすべてのメモリの総チェックサムを最初に計算し、総チェックサムを検証のためにソフトウェア更新サーバに伝送する。総チェックサムの検証が成功すると、ソフトウェア更新システムは、携帯端末に標準更新ファイルを送信する処理を進める。少なくとも1つの汚染されたブロックの存在により総チェックサムの検証が失敗すると、ソフトウェア更新システムは、携帯端末に対して、どのブロックが汚染されているかを同定するために、各ブロックのチェックサムリストを送るように要求する。
図7a−bは、それぞれ、汚染されたブロックが存在しない場合と存在する場合のデルタファイルの生成の実施形態を概略的に示している。
上述のように、デルタファイルはそのファイルのベースラインからファイルの更新バージョンまたは他のメモリ内容を生成するための差分的更新命令を含んでいる。ある実施形態において、デルタファイル生成処理は、ベースラインバージョンと更新バージョンのバイトレベルでの比較として行われる。以下においては、ベースラインバージョンをV1として示し、更新バージョンをV2と示すことにする。
いくつかのデルタファイル生成アルゴリズムは、たとえば米国特許第6018747号に示されている。典型的には、アルゴリズムは、二つのバージョンV1とV2とをスキャンして、可能な限り類似点を見つけ出す。共通データセクションの位置と寸法が記録され格納される。デルタファイルは典型的には、コマンド、たとえば追加コマンドとコピーコマンドの数から成る。コピーコマンドはバージョンV1から再使用されるデータを同定するのに対して、追加コマンドはバージョンV2に導入された、すなわち追加されたデータを表す。
図7a−bの単純な例においては、符号751で示されるファイルまたはメモリエリアのベースラインバージョンは、それぞれ、符号B1、B2、B3、B4およびB5で示される5つのデータブロックから構成される。これらのブロックに格納されるデータは、それぞれ、符号A、B、C、DおよびEとして表示される。符号752で概略的に示されるファイルの更新バージョンは、それぞれ、符号B1、B2、B3、B4およびB5で示される5つのデータブロックから構成される。しかし、各ブロックの内容は対応するベースラインバージョンの内容とは異なっている。更新バージョンにおいて、5つのブロックはそれぞれ、符号D、A、F、GおよびBとして表示される。ここで同じ文字は同一のデータに対応し、異なる文字は異なるデータを示している。
図7a−bにおいて、点線の矢印は、2つのバージョンで共通のブロックを示している。このように、図7a−bの例では、更新ブロックB1が、元のバージョンのブロックB4と同じデータから成り、更新ブロックB2は、元のバージョンのブロックB1と同じデータから成り、更新ブロックB5は、元のバージョンのブロックB2と同じデータから成る。
更新処理の間、バージョンV1はデルタファイル内のコマンドを適用することによってバージョンV2に転送される。デルタファイルには、一例として、ブロックごとのコピーと追加操作を用いてバージョンV1からバージョンV2をどのように構築するかの記述が含まれる。たとえば、図7に示す例では、デルタファイル753は以下の5つのコマンドから成る。
1. B5: CP B2
2. B2: CP B1
3. B1: CP B4
4. B3: AD<F>
5. B4: AD<G>
各コマンドは、更新されるバージョンのブロックとそのブロックをどのように生成するかついてのコマンドを識別する。この例では、第1のコマンドによりブロックB5がブロックB2の元の内容をコピーすることにより生成される。同様に第2および第3のコマンドにより、ブロックB2およびB1がそれぞれ元のブロックB1およびB4のコピーとして生成される。第4および第5のコマンドは、それぞれ、データFをブロックB3に追加し、データGをブロックB4に追加することを特定する追加コマンドである。上記コマンドシーケンスの順番は、ブロックの元の内容が読み出される前にブロックの書き込みが行われてしまうような読み出し/書き込みのコンフリクトを回避するように選択される。
上記更新処理は、デルタ生成アルゴリズムに使用されるバージョンV1のイメージが携帯端末上のバージョンV1のイメージと一致しているという事実によっている。ターゲットノードのイメージが不正操作されていたり、ウィルスに犯されていたり上記場合に該当しない場合には、更新処理が失敗し、完全には機能しないターゲットノードがもたらされるという大きなリスクが存在する。かかる事態を避けるために、デルタファイルが作成される前に、ターゲットイメージのステータスがチェックされ、報告がソフトウェア更新システムに送られる。一致しないブロックが発見された場合、デルタファイルの生成は行われない。これは、汚染されたブロックの新しいコピーを含む追加コマンドがコピーコマンド代わりに使用される可能性があるため、デルタファイルが標準デルタファイルよりも大きい可能性があることを意味する。
図7bは、汚染されたブロックを含むデルタファイル生成の例を示している。図7bにおいては、ブロックB2が汚染されたものと検出されたと仮定することを除き、図7aと同じシナリオを想定することができる。
結果として、修正されたデルタファイルの生成において、汚染されたブロックB2は、バージョンが同じかどうかを比較される際に、除かれ、汚染されたB2は更新ブロックB5の生成には再使用されない。したがって、この場合には、結果として生じるデルタファイル754は、デルタファイル754がブロックB5を更新するための異なるコマンドから成る場合には、以前のデルタファイルは異なる。すなわち、ここでは、コマンドは下記のようになる。
1. B5: AD<B>
ここで、コピーコマンドの代わりに、真正の更新データBは、正確にブロックB5に追加される。さらに、この記述の目的のために、コマンドの順番は維持されることに留意する必要がある。しかしながら、図7bの例において、上述のステップB5:AD<B>は、ブロックB5を修正するためのコマンドは他のブロックの内容には依存していないため、ブロックのシーケンスに沿って、最後のステップとして実行されるように構成することも可能である。ここで、他の実施形態においては、コマンドのシーケンスは(2、3、4、5、1)と成る。
図7a−bのシナリオは、更新処理時の汚染されたイメージの影響を説明するための単なる例示に過ぎないことに留意されたい。
特に、更新ステップはブロックごとの更新とは異なる実行単位で行うことも可能である。コピーと追加コマンドは、より小さいメモリセクションとして構成することも、より大きいメモリセクションとして構成することも可能である。特に、追加コマンドとコピーコマンドの実行単位は、汚染の有無が検出されたブロックのブロック寸法に限定されるものではない。追加コマンドおよびコピーコマンドは、さまざまな寸法のメモリセクションを含むことが可能である。たとえば、各コピーコマンドまたは追加コマンドは、コピーまたは追加される開始アドレスとデータ領域の長さを示すことも可能である。
さらに、デルタファイルは別のコマンドや代わりのコマンド、たとえば削除コマンドなどを含むように構成することも可能である。
さらにデルタファイルは、更新ファイル内のメモリセクションのシーケンスとは異なる更新ステップの順番を指定することも可能である。たとえば、更新ステップのコンフリクトを避けるために、メモリブロックが最初のステップで更新され、メモリブロックの元の内容は後続の更新ステップにおいて再使用されるように構成することもできる。
さらに、別の実施形態においては、別の新しいデータを、コマンドファイルとデータファイルが転送されるように、別のファイルとして送信するように構成することもできる。
以上、本発明の好適な実施形態について説明したが、本発明はこれらに限定されず、特許請求の範囲に規定される主題の範囲内において別の方法で実施することも可能である。たとえば、本発明は、単に、ソフトウェアの更新に関連して説明したが、当業者であれば、本発明を携帯端末に格納された他のデータの更新に適用することも可能である。
ここで説明する更新プロセスの他の修正例によれば、汚染されたメモリブロックが検出された場合に、ソフトウェア更新プログラムは、ライセンス関連データを含むメモリブロックが汚染されている場合には、安全上の理由から、ソフトウェア更新システムがソフトウェアの更新を拒否するように、代替的なまたは追加的なステップを実行するように構成することもできる。
ここで説明する更新プロセスのさらに別の修正例によれば、更新プロセスはソフトウェア更新システムの代わりに携帯端末により起動される。たとえば、携帯端末はソフトウェア更新システムに使用可能な更新があるかどうか照会することができる。ある実施形態においては、この照会には、現在組み込まれているソフトウェアのバージョン情報が含まれる。たとえば、携帯端末は、かかる照会を、規則的な時間間隔で送信したり、ユーザのコマンドに応じて送信したり、その他のイベントに応じて送信したりすることができる。ある実施形態においては、携帯端末は、規則的な時間間隔またはユーザのコマンドなどのイベントをトリガとしてメモリチェックを行うように構成することができる。たとえばメモリチェックは、上述のように、チェックサムを計算し、そのチェックサムと携帯端末に格納された参照チェックサムと比較することにより行うように構成することができる。メモリチェックの結果、汚染されたブロックが明らかになった場合には、ニューバージョンが有効であるかどうかにかかわらず、携帯端末は無条件にソフトウェアの更新を要求するように構成することができる。かかる構成により、汚染されたメモリ内容の修復が可能となる。他の実施形態においては、携帯端末は、規則的にチェックサムを計算し、ソフトウェア更新システムにそれらを送信し、そこで上述のようにそれらを検証するように構成することができる。汚染されたメモリブロックが見つかった場合、あるいはソフトウェアのニューバージョンが使用可能となった場合には、更新システムによりソフトウェアの更新が起動される。
更新プロセスのさらに別の修正例によれば、ソフトウェア更新システムは、それぞれが汚染された単一のブロックに対応するデルタファイルから成るような複数の代替デルタファイルを予め計算するように構成することができる。予め計算された代替デルタファイルは格納され、実際の更新プロセス時に取り出すように構成することができる。かかる構成により、実際の更新プロセス時に必要な処理を減じることができる。代替として、あるいは追加的に、ソフトウェア更新システムは、更新プロセス時に計算されたデルタファイルをキャッシュしたり格納したりするように構成することができる。かかる構成により、同様な汚染ブロックが識別されたような場合の将来の更新時にそれらを利用することができる。かかる構成は、汚染されたメモリがウィルスなどによって引き起こされた場合には、複数の携帯端末が対応する汚染ブロックを含むことが想定されるので、特に有効である。
本発明は、複数の異なる要素から成るハードウェア手段によって、および好適にプログラムされたコンピュータによって実行することが可能である。装置の請求項においては、いくつかの手段を列挙しているが、これらの手段のいくつかは、すでに説明したように、一つのまたは同一構成のハードウェア、たとえば好適にプログラムされたマイクロプロセッサやコンピュータおよび/または1または2以上の通信インタフェースにより実施することが可能であることは言うまでもない。ある手段が、相互に異なる従属請求項において引用されたり、異なる実施形態において記述されたりしている事実は、これらの手段を組み合わせてさらに有利にすることができないということを示すものではない。
特に、明細書において使用される「から成る/を含む」という用語は、言及された特徴、完成品、ステップ、要素を特徴付けるために使用されるものであり、1または2以上の特徴、完成体、ステップ、要素またはそれらの組み合わせの存在または追加を排除するものではないことが強調される。
図1は、携帯端末内のソフトウェアを更新するためのシステムの一実施形態にかかる概略ブロック図である。 本発明の一実施形態による携帯端末の概略ブロック図である。 ソフトウェア更新プロセスの一実施形態の流れ図である。 チェックサムの計算と整合性保護の概略の説明図である。 本発明の他の実施形態による携帯端末の概略ブロック図である。 ソフトウェア更新プロセスの他の実施形態の流れ図である。 それぞれ、汚染されたメモリブロックが存在しない場合と存在する場合のデルタファイルの生成の一実施形態の概略を示す説明図である。
符号の説明
101 携帯端末
102 ソフトウェア更新システム
103 通信ネットワーク
201 携帯端末
211 処理ユニット
212 メモリユニット
213 メモリユニット
214 メモリユニット
210 通信ブロック

Claims (21)

  1. 携帯端末に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法であって、前記方法は、前記携帯端末に差分的更新命令をロードし、前記携帯端末により前記格納されたデータおよび前記ロードされた差分的更新命令から前記更新データバージョンを生成することから成り、
    前記方法は、さらに、前記携帯端末内に格納された前記データが前記第1のデータバージョンと一致しない1または2以上の汚染された部分を含むかどうかを検出し、前記更新データバージョンを生成し、検出された前記汚染部分を修復することから成ることを特徴とする方法。
  2. さらに、前記データに汚染部分が検出された場合に、前記検出された汚染部分についての情報に基づいて前記差分的更新命令が生成されることを特徴とする、請求項1に記載の方法。
  3. 前記差分的更新命令が更新データを含み、前記更新データバージョンの生成は前記更新データにより前記格納データの所定部分を置き換えることから成ることを特徴とする、請求項2に記載の方法。
  4. 前記更新データは前記更新データバージョンと一致するデータの修正部分を含み、前記データの修正部分は前記検出されたデータの汚染部分に対応することを特徴とする、請求項3に記載の方法。
  5. 前記差分的更新命令の生成は、前記携帯電話に、前記検出されたデータの汚染部分がある場合には、前記差分的更新命令からその汚染部分を除いて、前記格納されたデータから前記更新データバージョンを生成するように仕向ける命令を生成することを特徴とする、請求項2〜4のいずれかに記載の方法。
  6. 前記差分的更新命令の生成は、遠隔データ処理システムにより実行されることを特徴とする、請求項2〜4のいずれかに記載の方法。
  7. 前記携帯端末と前記遠隔データ処理システムは無線通信リンクを介して通信を行うことを特徴とする、請求項6に記載の方法。
  8. 前記携帯端末と前記遠隔データ処理システムはインターネットプロトコルを介して通信を行うことを特徴とする、請求項6または7に記載の方法。
  9. 前記検出は、前記携帯端末により実行され、前記検出は、さらに、前記携帯端末から前記検出された汚染部分についての情報を前記遠隔データ処理システムに送信することを含むことを特徴とする、請求項6〜8のいずれかに記載の方法。
  10. 前記方法は、さらに、前記携帯端末から前記格納されたデータについての情報を前記遠隔データ処理システムに送信し、その場合に、前記検出は前記データ処理システムにより前記送信された情報に基づいて実行されることを特徴とする、請求項6〜8のいずれかに記載の方法。
  11. 前記検出は、前記携帯端末により複数のチェックサムを計算し、その場合に、各チェックサムは前記携帯端末に格納された前記データの対応する部分に対応し、前記計算されたチェックサムを複数の参照チェックサムと比較して汚染されたデータを識別することを特徴とする、請求項1〜10のいずれかに記載の方法。
  12. 前記参照チェックサムは前記携帯端末に格納されており、前記比較は前記携帯端末により実行されることを特徴とする、請求項9に従属する請求項11に記載の方法。
  13. 前記携帯端末に格納された前記参照チェックサムはMAC(message authentication code)により整合性保護されていることを特徴とする、請求項12に記載の方法。
  14. 前記参照チェックサムは前記遠隔データ処理システム上に格納されており、前記送信される情報は前記計算されたチェックサムを含み、前記検出は、さらに、前記遠隔データ処理システムにより前記送信された計算されたチェックサムを前記遠隔データ処理システム上に格納された参照チェックサムの数と比較することを含むことを特徴とする、請求項10に従属する請求項11に記載の方法。
  15. 前記計算は、前記チェックサムを前記格納されたデータの対応する部分の暗号的に強化された一方向ハッシュ関数として計算することを含むことを特徴とする、請求項11〜14のいずれかに記載の方法。
  16. データを格納するデータメモリと、
    データ処理システムから差分的更新命令を受信し、前記データメモリ内に格納されたデータを第1のデータバージョンから更新データバージョンに更新するように構成された通信手段と、
    前記更新データバージョンを前記格納されたデータと前記受信された差分的更新命令とから生成するように構成された処理手段と、から成る携帯端末であって、
    前記処理手段は、さらに、前記格納されたデータから、前記第1のデータと一致しない1または2以上の前記データの汚染された部分の存在または不存在を示す情報を生成し、前記生成された情報を、前記通信手段を介して、前記処理システムに送信して前記差分的更新命令を生成するように構成されていることを特徴とする、携帯端末。
  17. 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新させるデータ処理システムであって、前記携帯端末に差分的更新命令をロードする手段と、前記差分的更新命令により前記携帯端末に前記格納されたデータと前記ロードされた差分的更新命令から前記更新データバージョンを生成させることを含むデータ処理システムにおいて、
    前記データ処理システムは、さらに、
    前記第1のデータバージョンと一致しない1または2以上の前記格納されたデータの汚染部分の存在または不存在を示す情報を前記携帯端末から取得する手段と、
    前記第1のデータバージョンと前記更新データバージョンとからおよび前記取得した情報から前記差分的更新命令を生成し、前記差分的更新命令に修正命令を含ませ、その場合に、前記修正命令は前記携帯端末に検出された汚染部分を修正させるものであるように構成された処理手段とを含むことを特徴とするデータ処理システム。
  18. 携帯端末に前記携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに以下のステップにより差分的に更新させるように構成されたプログラムコード手段を含むことを特徴とするコンピュータプログラムであって、
    前記プログラムが前記携帯端末上で実行される場合に、前記ステップは、
    前記第1のデータバージョンと一致しない1または2以上の前記格納されたデータの汚染部分の存在または不存在を示す情報を前記格納されたデータから生成し、
    前記携帯端末に差分的更新命令をロードし、
    前記携帯端末により、前記格納されたデータと検出された汚染部分を修正することを含む前記ロードされた差分的更新命令とから更新されたデータバージョンを生成させることを特徴とする、コンピュータプログラム。
  19. データ処理システムに、携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに以下のステップにより差分的に更新させるように構成されたプログラムコード手段を含むことを特徴とするコンピュータプログラムであって、
    前記プログラムが前記データ処理システム上で実行される場合に、前記ステップは、
    前記第1のデータバージョンおよび前記更新データバージョンと前記携帯端末から取得した情報から差分的更新命令を生成し、その場合に、前記取得した情報は、前記第1のデータバージョンと一致しない1または2以上の前記格納されたデータの汚染部分の存在または不存在を示すものであり、前記差分的更新命令の生成は、前記差分的更新命令に修正命令を含ませ、その場合に、前記修正命令は前記携帯端末に検出された汚染部分を修正させるものであるように構成されており、
    前記生成された差分的更新命令を携帯端末にロードし、前記差分的更新命令により前記携帯端末に前記格納されたデータと前記ロードされた差分的更新命令から前記更新データバージョンを生成させることを特徴とする、コンピュータプログラム。
  20. 請求項18または19に記載のコンピュータプログラムを含むコンピュータ読み取り可能な記録媒体。
  21. 前記携帯端末に格納されたデータを第1のデータバージョンから更新データバージョンに差分的更新することを特徴とする、請求項16に記載された携帯端末の使用方法。





JP2006540205A 2003-11-19 2004-10-14 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法、携帯端末及びコンピュータプログラム Expired - Fee Related JP4980064B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP03388075.8 2003-11-19
EP03388075.8A EP1533695B1 (en) 2003-11-19 2003-11-19 Updating data in a mobile terminal
US52654703P 2003-12-03 2003-12-03
US60/526,547 2003-12-03
PCT/EP2004/011500 WO2005050441A1 (en) 2003-11-19 2004-10-14 Updating data in a mobile terminal

Publications (2)

Publication Number Publication Date
JP2007515708A true JP2007515708A (ja) 2007-06-14
JP4980064B2 JP4980064B2 (ja) 2012-07-18

Family

ID=34429601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006540205A Expired - Fee Related JP4980064B2 (ja) 2003-11-19 2004-10-14 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法、携帯端末及びコンピュータプログラム

Country Status (7)

Country Link
US (1) US20070150524A1 (ja)
EP (1) EP1533695B1 (ja)
JP (1) JP4980064B2 (ja)
KR (1) KR101115066B1 (ja)
CN (1) CN100432932C (ja)
HK (1) HK1103817A1 (ja)
WO (1) WO2005050441A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010508573A (ja) * 2006-10-31 2010-03-18 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー 暗号ハッシュを用いたウィルス位置決定法
JP2010211295A (ja) * 2009-03-06 2010-09-24 Mitsubishi Electric Corp データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム
JP2011164759A (ja) * 2010-02-05 2011-08-25 Nec Corp Biosアップデート方法、biosアップデート装置及びbiosアップデートプログラム
JP2013545193A (ja) * 2010-11-05 2013-12-19 インターデイジタル パテント ホールディングス インコーポレイテッド デバイスの妥当性確認、障害指示、および修復
JP2015534338A (ja) * 2012-09-17 2015-11-26 ゼットティーイー コーポレーション 組み立て型多重モードネットワーク管理パッチパッケージインストール方法及び装置
US9253643B2 (en) 2009-03-05 2016-02-02 Interdigital Patent Holdings, Inc. Method and apparatus for H(e)NB integrity verification and validation
US9826335B2 (en) 2008-01-18 2017-11-21 Interdigital Patent Holdings, Inc. Method and apparatus for enabling machine to machine communication
JP2018503153A (ja) * 2014-11-28 2018-02-01 トムソン ライセンシングThomson Licensing アプリケーションのインテグリティを確かめることを提供する方法及びデバイス
JP2018503157A (ja) * 2014-11-28 2018-02-01 トムソン ライセンシングThomson Licensing アプリケーション整合性の検証を提供する方法及びデバイス
US9924366B2 (en) 2009-03-06 2018-03-20 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
CN112015582A (zh) * 2019-05-28 2020-12-01 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法
JP2020197909A (ja) * 2019-06-03 2020-12-10 コニカミノルタ株式会社 情報処理装置、ファイル不具合対処方法、およびコンピュータプログラム

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
JPWO2005055055A1 (ja) * 2003-12-05 2007-06-28 富士通株式会社 データ管理システム
JP4576130B2 (ja) * 2004-02-12 2010-11-04 パイオニア株式会社 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7979898B2 (en) * 2004-11-10 2011-07-12 Barclays Capital Inc. System and method for monitoring and controlling software usage in a computer
TWI255420B (en) * 2004-12-22 2006-05-21 Mitac Technology Corp Software package system
US20060223496A1 (en) * 2005-03-31 2006-10-05 Lucent Technologies Inc. System and method for detection of mobile handset software corruption
US7926033B2 (en) * 2005-05-27 2011-04-12 Cisco Technology, Inc. Method for supporting new network element software versions in an element management system without upgrading
US7907531B2 (en) * 2005-06-13 2011-03-15 Qualcomm Incorporated Apparatus and methods for managing firmware verification on a wireless device
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513022A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
WO2007012662A1 (fr) * 2005-07-28 2007-02-01 Gemplus Telechargement de donnees initie par des objets communicants portables pendant une campagne
FR2889326A1 (fr) * 2005-07-28 2007-02-02 Gemplus Sa Telechargement de donnees initie par des objets communicants portables pendant une campagne
WO2007023497A1 (en) * 2005-08-23 2007-03-01 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
DE102005059319A1 (de) * 2005-12-09 2007-06-14 Robert Bosch Gmbh Verfahren zum Betreiben einer Einrichtung
DE602005025385D1 (de) * 2005-12-20 2011-01-27 Ericsson Telefon Ab L M Erstellung inkrementeller Programmaktualisierungen
FR2895111B1 (fr) 2005-12-21 2008-02-15 Gl Trade Sa Diffusion de donnees par groupement
US7546492B2 (en) * 2005-12-22 2009-06-09 Sony Corporation Remotely repairing files by hierarchical and segmented cyclic redundancy checks
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
KR101426710B1 (ko) * 2006-07-14 2014-09-23 삼성전자주식회사 휴대단말기의 버전정보 갱신 장치 및 방법
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US7809936B2 (en) * 2006-08-02 2010-10-05 Freescale Semiconductor, Inc. Method and apparatus for reconfiguring a remote device
KR20080025957A (ko) * 2006-09-19 2008-03-24 삼성전자주식회사 휴대용 단말기에서 소프트웨어를 업그레이드하기 위한 장치및 방법
US8055247B1 (en) * 2006-12-21 2011-11-08 Sprint Communications Company L.P. Mobile audible data services
EP1956482B1 (en) * 2007-02-09 2011-08-17 Telefonaktiebolaget LM Ericsson Generating delta updates for a processing device
DE102007007481A1 (de) 2007-02-15 2008-08-21 Giesecke & Devrient Gmbh Verfahren zur Analyse einer Softwarekonfiguration eines tragbaren Datenträgers
WO2008114454A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 更新システム、プログラム実行装置及びコンピュータプログラム
WO2008153416A1 (en) * 2007-06-15 2008-12-18 Murray Mcgovern Mobile device dynamic update
US8413129B1 (en) * 2007-08-17 2013-04-02 Mcafee, Inc. Application repair system, method, and computer program product for generating an alert based on information describing at least one update
CN101127960B (zh) * 2007-09-20 2011-05-11 中兴通讯股份有限公司 一种电子业务指南的差异性更新的系统及方法
US7802129B2 (en) * 2007-10-17 2010-09-21 Hewlett-Packard Development Company, L.P. Mobile handset employing efficient backup and recovery of blocks during update
ATE522861T1 (de) 2007-12-13 2011-09-15 Ericsson Telefon Ab L M Firmware-aktualisierung bei einem elektronischen gerät
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device
US8640244B2 (en) * 2008-06-27 2014-01-28 Microsoft Corporation Declared origin policy
CN102196400A (zh) * 2010-03-02 2011-09-21 高通股份有限公司 移动通信终端信息更新的方法和装置
US9497290B2 (en) * 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US20110320537A1 (en) * 2010-06-24 2011-12-29 Alcatel-Lucent Canada One-way information transfer for performing secure information updates
CN102479093A (zh) * 2010-11-25 2012-05-30 英业达股份有限公司 提供验证并更新原始文件与注册表的软件安装系统及方法
US9158605B2 (en) * 2010-12-01 2015-10-13 Microsoft Technology Licensing, Llc Method, system and device for validating repair files and repairing corrupt software
US8650439B2 (en) * 2010-12-07 2014-02-11 Samsung Electronics Co., Ltd. Apparatus and method for fault tolerant FOTA update
US8924777B2 (en) * 2010-12-23 2014-12-30 Samsung Electronics Co., Ltd. Condensed FOTA backup
GB201021875D0 (en) * 2010-12-23 2011-02-02 Antix Labs Ltd Methods of distributing software
CN102508680B (zh) * 2011-11-09 2014-07-30 惠州Tcl移动通信有限公司 一种基于移动终端的音频参数自动更新方法及系统
CN102413019A (zh) * 2011-12-21 2012-04-11 广东宏海讯科科技发展有限公司 一种基于云计算的网络实时监控系统方法
US9183393B2 (en) * 2012-01-12 2015-11-10 Facebook, Inc. Multiple system images for over-the-air updates
CN102722386B (zh) * 2012-05-28 2015-09-30 华为终端有限公司 生成无线固件升级包的方法和装置
KR20140077435A (ko) * 2012-12-14 2014-06-24 삼성전자주식회사 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치
CN103412777A (zh) * 2013-08-13 2013-11-27 珠海金山网络游戏科技有限公司 一种将打包文件同步到指定版本的更新方法及系统
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
CN104125276A (zh) * 2014-07-21 2014-10-29 中兴通讯股份有限公司 升级方法及装置
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备
US20180295507A1 (en) * 2014-11-12 2018-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Radio Device Hardware Security System for Wireless Spectrum Usage
CN105677375A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 升级控制设备、终端、终端升级方法及系统
CN106161336A (zh) * 2015-03-25 2016-11-23 阿里巴巴集团控股有限公司 一种信息更新方法、装置及系统
CN105045631A (zh) * 2015-07-30 2015-11-11 北京奇虎科技有限公司 一种升级客户端侧应用程序的方法和装置
WO2017039588A1 (en) * 2015-08-28 2017-03-09 Hewlett Packard Enterprise Development Lp Software patch fix based on checksums
CN105589718A (zh) * 2015-12-18 2016-05-18 深圳市万普拉斯科技有限公司 智能设备的系统更新方法与更新装置
WO2017191277A1 (en) * 2016-05-06 2017-11-09 Here Global B.V. Stitching mixed-version map tiles in hybrid navigation for partial map updates
CN107844318B (zh) * 2017-12-11 2021-08-24 维沃移动通信有限公司 一种操作系统的升级方法及移动终端和服务器
CN109831323B (zh) * 2019-01-15 2022-04-05 网宿科技股份有限公司 服务器信息的管理方法、管理系统及服务器
CN113157305B (zh) * 2020-01-23 2022-04-05 华为技术有限公司 一种软件升级方法及设备
US20230006833A1 (en) * 2021-07-01 2023-01-05 Lenovo (Singapore) Pte. Ltd. Ranked hash validation for new software update file
CN114900424A (zh) * 2022-05-27 2022-08-12 网易(杭州)网络有限公司 数据热修复方法、装置、电子设备及存储介质
CN115167902B (zh) * 2022-07-12 2023-03-28 广东全芯半导体有限公司 一种tf卡智能升级方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091454A (ja) * 1996-04-26 1998-04-10 Hewlett Packard Co <Hp> 遠隔的にソフトウェアを実行する方法
JP2001356925A (ja) * 2000-06-12 2001-12-26 Nec Corp 携帯電話機
US20020010910A1 (en) * 2000-07-15 2002-01-24 International Business Machines Corporation Preferable modes of software package deployment
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
JP2002271849A (ja) * 2001-03-06 2002-09-20 Ntt Docomo Inc 無線通信端末、ソフトウェア提供システム、ソフトウェア更新方法、ソフトウェア提供方法、プログラムおよび記録媒体
JP2003296108A (ja) * 2002-03-29 2003-10-17 Fujitsu Ltd 管理プログラム、および方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347579A (en) * 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5699509A (en) * 1995-06-07 1997-12-16 Abbott Laboratories Method and system for using inverted data to detect corrupt data
JPH10221736A (ja) * 1996-12-04 1998-08-21 Ritsuku:Kk シャッター装置およびカメラ装置
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files
US6330715B1 (en) * 1998-05-19 2001-12-11 Nortel Networks Limited Method and apparatus for managing software in a network system
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
US6804778B1 (en) * 1999-04-15 2004-10-12 Gilian Technologies, Ltd. Data quality assurance
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US20050055382A1 (en) * 2000-06-28 2005-03-10 Lounas Ferrat Universal synchronization
EP1168165A3 (en) * 2000-06-30 2005-02-16 International Business Machines Corporation Device and method for updating code
US20020099726A1 (en) * 2001-01-23 2002-07-25 International Business Machines Corporation Method and system for distribution of file updates
JP2003006020A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd 複製データベースアクセス装置とそのアクセス方法
US7203886B2 (en) * 2002-03-27 2007-04-10 Intel Corporation Detecting and correcting corrupted memory cells in a memory
US7085988B1 (en) * 2002-04-08 2006-08-01 Maxtor Corporation Hashing system utilizing error correction coding techniques
EP1652069B1 (en) * 2003-07-07 2010-08-25 Red Bend Ltd. Method and system for updating versions of content stored in a storage device
US7546492B2 (en) * 2005-12-22 2009-06-09 Sony Corporation Remotely repairing files by hierarchical and segmented cyclic redundancy checks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091454A (ja) * 1996-04-26 1998-04-10 Hewlett Packard Co <Hp> 遠隔的にソフトウェアを実行する方法
JP2001356925A (ja) * 2000-06-12 2001-12-26 Nec Corp 携帯電話機
US20020010910A1 (en) * 2000-07-15 2002-01-24 International Business Machines Corporation Preferable modes of software package deployment
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
JP2002271849A (ja) * 2001-03-06 2002-09-20 Ntt Docomo Inc 無線通信端末、ソフトウェア提供システム、ソフトウェア更新方法、ソフトウェア提供方法、プログラムおよび記録媒体
JP2003296108A (ja) * 2002-03-29 2003-10-17 Fujitsu Ltd 管理プログラム、および方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010508573A (ja) * 2006-10-31 2010-03-18 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー 暗号ハッシュを用いたウィルス位置決定法
US9826335B2 (en) 2008-01-18 2017-11-21 Interdigital Patent Holdings, Inc. Method and apparatus for enabling machine to machine communication
US9253643B2 (en) 2009-03-05 2016-02-02 Interdigital Patent Holdings, Inc. Method and apparatus for H(e)NB integrity verification and validation
JP2010211295A (ja) * 2009-03-06 2010-09-24 Mitsubishi Electric Corp データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム
US9924366B2 (en) 2009-03-06 2018-03-20 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
JP2011164759A (ja) * 2010-02-05 2011-08-25 Nec Corp Biosアップデート方法、biosアップデート装置及びbiosアップデートプログラム
US9652320B2 (en) 2010-11-05 2017-05-16 Interdigital Patent Holdings, Inc. Device validation, distress indication, and remediation
KR101622447B1 (ko) * 2010-11-05 2016-05-31 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
KR101703925B1 (ko) 2010-11-05 2017-02-07 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
US8914674B2 (en) 2010-11-05 2014-12-16 Interdigital Patent Holdings, Inc. Device validation, distress indication, and remediation
KR20140079865A (ko) * 2010-11-05 2014-06-27 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
JP2013545193A (ja) * 2010-11-05 2013-12-19 インターデイジタル パテント ホールディングス インコーポレイテッド デバイスの妥当性確認、障害指示、および修復
JP2015534338A (ja) * 2012-09-17 2015-11-26 ゼットティーイー コーポレーション 組み立て型多重モードネットワーク管理パッチパッケージインストール方法及び装置
JP2018503157A (ja) * 2014-11-28 2018-02-01 トムソン ライセンシングThomson Licensing アプリケーション整合性の検証を提供する方法及びデバイス
JP2018503153A (ja) * 2014-11-28 2018-02-01 トムソン ライセンシングThomson Licensing アプリケーションのインテグリティを確かめることを提供する方法及びデバイス
CN112015582A (zh) * 2019-05-28 2020-12-01 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法
JP2020195134A (ja) * 2019-05-28 2020-12-03 新唐科技股▲ふん▼有限公司 メモリエラーを訂正するためのシステム及び方法
JP7160860B2 (ja) 2019-05-28 2022-10-25 新唐科技股▲ふん▼有限公司 メモリエラーを訂正するためのシステム及び方法
CN112015582B (zh) * 2019-05-28 2024-03-12 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法
JP2020197909A (ja) * 2019-06-03 2020-12-10 コニカミノルタ株式会社 情報処理装置、ファイル不具合対処方法、およびコンピュータプログラム
JP7287125B2 (ja) 2019-06-03 2023-06-06 コニカミノルタ株式会社 情報処理装置、ファイル不具合対処方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
KR101115066B1 (ko) 2012-02-28
EP1533695A1 (en) 2005-05-25
HK1103817A1 (en) 2007-12-28
KR20060118464A (ko) 2006-11-23
CN1906574A (zh) 2007-01-31
US20070150524A1 (en) 2007-06-28
WO2005050441A1 (en) 2005-06-02
JP4980064B2 (ja) 2012-07-18
EP1533695B1 (en) 2013-08-07
CN100432932C (zh) 2008-11-12

Similar Documents

Publication Publication Date Title
JP4980064B2 (ja) 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法、携帯端末及びコンピュータプログラム
US9720782B2 (en) Authenticating a backup image with bifurcated storage
JP6595822B2 (ja) 情報処理装置及びその制御方法
US8612398B2 (en) Clean store for operating system and software recovery
JP4898790B2 (ja) ファームウェアへの認証の追加実装
CN111868689A (zh) 区块链账本的运行时自校正
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
US20160267273A1 (en) Software update apparatus and computer-readable storage medium storing software update program
TW201500960A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術
US11775283B2 (en) Resilient software updates in secure storage devices
KR102256249B1 (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
CN115220796A (zh) 安全引导设备
CN115935414A (zh) 基于区块链的数据校验方法、装置、电子设备和存储介质
CN114780122A (zh) 嵌入式设备固件更新方法以及嵌入式设备
CN113360914A (zh) 一种bios更新的方法、系统、设备及介质
US20230129942A1 (en) Method for locking a rewritable non-volatile memory and electronic device implementing said method
WO2021184712A1 (zh) 一种软件升级方法及装置
CN111506897A (zh) 数据处理方法和装置
JP7477990B2 (ja) 情報処理装置、及びプログラム起動方法
CN110874225A (zh) 一种数据校验方法、装置、嵌入式设备及存储介质
US20240070282A1 (en) Firmware update method and apparatus for a mcu of a vehicle
WO2021171906A1 (ja) 情報処理装置、及びプログラム起動方法
US20220343034A1 (en) System on a chip and method guaranteeing the freshness of the data stored in an external memory
CN111090889A (zh) 一种检测elf文件的方法及电子设备
CN117311753A (zh) 一种pos机远程升级管理系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110705

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4980064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees