JP5113699B2 - ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置 - Google Patents

ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置 Download PDF

Info

Publication number
JP5113699B2
JP5113699B2 JP2008244731A JP2008244731A JP5113699B2 JP 5113699 B2 JP5113699 B2 JP 5113699B2 JP 2008244731 A JP2008244731 A JP 2008244731A JP 2008244731 A JP2008244731 A JP 2008244731A JP 5113699 B2 JP5113699 B2 JP 5113699B2
Authority
JP
Japan
Prior art keywords
image
update
firmware
version
update image
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.)
Expired - Fee Related
Application number
JP2008244731A
Other languages
English (en)
Other versions
JP2010079438A (ja
Inventor
雄一 中村
伸之 大浜
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2008244731A priority Critical patent/JP5113699B2/ja
Priority to US13/063,212 priority patent/US20110173603A1/en
Priority to EP09816014A priority patent/EP2330508A4/en
Priority to PCT/JP2009/064605 priority patent/WO2010035597A1/ja
Priority to CN2009801356966A priority patent/CN102150136A/zh
Publication of JP2010079438A publication Critical patent/JP2010079438A/ja
Application granted granted Critical
Publication of JP5113699B2 publication Critical patent/JP5113699B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Description

本発明は、ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置に関する。
組込み機器をリリース後、ソフトウェアに不具合が見つかった場合、従来のファームウェアを、不具合を解決したファームウェアに書き換えることで、問題を解決するという方法が一般に行われている。このようなファームウェア更新に関する文献として、例えば次の特許文献1や特許文献2がある。なお、ここでファームウェアとは、組み込み機器の不揮発性記憶領域にあらかじめ記憶されているデータすべてを指すものとする。
特許文献1には、ファームウェアを全て交換するファームウェア更新方式が記載されている。また、非特許文献1には、Linuxでよく使われているソフトウェア更新プログラムであって、パッケージ単位でソフトウェアを管理し、更新のあったソフトウェアパッケージを配布することが開示されている。
特開平11−110218号公報 Yum: Yellow dog Updater, Modified:http://linux.duke.edu/projects/yum/
しかしながら、特許文献1のような方式では、ファームウェアを全て交換するため、ファームウェア交換には時間がかかってしまう。また、非特許文献1のような方式では、ファームウェア全ての交換は発生しないものの、ファームウェアの開発者がパッケージ単位でソフトウェアを管理しなければならないという手間が生じてしまう。
本発明はこのような状況に鑑みてなされたものであり、ファームウェアを交換する時間が短く、かつファームウェア開発者の負担が少ない、ファームウェア交換を実現するものである。
上記課題を解決するために、新しいバージョンのファームウェアのイメージ(新ファームイメージ)を受け取り、古いバージョンのファームウェアのイメージ(旧ファームイメージ)と比較し、更新があったファイルだけを取り出し、旧ファームイメージから新ファームイメージに更新するための手順および更新データから構成される更新イメージを作成する機能を備えたサーバを設置する。上記機能で必要になる更新イメージ数を減らすために、頻繁にアクセスされる更新イメージのみをキャッシュする手段を備える。組込み機器には、更新イメージ中の更新手順に従って機器上の旧ファームイメージを新ファームイメージにバージョンアップする機能を設ける。また、旧ファームイメージから新ファームイメージへの更新後にサービスの再起動が必要になることがある。どんなファイルに更新があった場合にどんなサービスの再起動が必要かというDB(再起動DB)を用意し、更新イメージ中の更新手順に、サービスの再起動指示を挿入可能にする。さらに、再起動DBの作成を自動化する手段も備え、ファームウェア開発者の負担を少なくする。
即ち、本発明によるファームウェア更新システムは、機器のソフトウェアとその構成データを含むファームウェアのイメージを更新するファームウェア更新システムであって、ファームウェアで動作する機器と、ファームウェアを更新するための更新イメージを生成し、機器に送信する更新イメージ生成・配布サーバと、を備える。ここで、更新イメージ生成・配布サーバは、機器が使用中のバージョンのファームウェアイメージ(第1のファームウェアイメージ)を新しいバージョンのファームウェアイメージ(第2のファームウェアイメージ)に更新するために必要なデータである更新イメージを生成する更新イメージ生成部と、更新イメージを前記機器に送信するデータ通信部と、を有し、機器は、更新イメージに基づいて、古いバージョンのファームウェアイメージを更新する。
更新イメージ生成・配布サーバは、さらに、最古のバージョンのファームウェアイメージと最新のバージョンのファームウェアイメージとの間における各隣接したバージョンの更新イメージである隣接バージョン更新イメージを格納する更新イメージ格納部を備え、更新イメージ生成部は、第1のファームウェアイメージから第2のファームウェアイメージに更新するために必要なデータを更新イメージ格納部から取得し、更新イメージを生成する。第1のファームウェアイメージから第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージが更新イメージ格納部に存在する場合、更新イメージ生成部は、当該隣接バージョン更新イメージを更新イメージとする。一方、第1のファームウェアイメージから第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージが更新イメージ格納部に無い場合、更新イメージ生成部は、第1のファームウェアイメージを第2のファームイメージに更新するのに必要な全ての隣接バージョン更新イメージを取得してマージすることにより、更新イメージを生成する。
更新イメージ生成・配布サーバは、さらに、使用頻度の多い前記更新イメージを所定数個格納する更新イメージキャッシュ部を備える。このとき、更新イメージ生成部は、最新の更新イメージを生成した場合、更新イメージキャッシュ部の最下位の更新イメージと最新の更新イメージとを入れ替える。
更新イメージ生成・配布サーバは、さらに、どんなファイルに更新があった場合にどんなサービスの再起動が必要かを示す情報を格納する再起動指示DBを備え、更新イメージ生成部は、再起動指示DBを参照して、送信すべき更新イメージにサービスの再起動指示を挿入する。さらに、再起動指示DBは、ファイルが利用するライブラリに対応してサービスの再起動の必要性を示す情報を格納し、更新イメージ生成部は、さらに、送信すべき更新イメージにライブラリに対応するサービスの再起動指示をする。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
本発明によれば、ファームウェアを交換する時間を短くし、かつファームウェア開発者の負担が少ない、ファームウェア交換を実現することができるようになる。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
以下、本発明の一実施形態を図面を参照しながら説明する。
<ファームウェア更新システムの構成>
図1は、本発明の実施形態によるファームウェア更新システムの概略構成を示す図である。図1に示されるように、開発者110は、機器160のソフトウェアを開発し、開発したソフトウェアおよび構成ファイルをファームウェアイメージ120にまとめる。ファームウェアイメージ120は、開発者110が開発したソフトウェアと構成ファイルを一つのファイルとしてアーカイブしたものである(詳細な構成については図4参照)。そして、開発者110は、機器160のソフトウェア更新が必要になった時に、ファームウェアイメージ120を、自身のコンピュータ(図示せず)を用いて更新作成・配布サーバ130に送信する。
更新作成・配布サーバ130は、ネットワーク機能を備えたコンピュータとしてのハードウェアを備える。つまり、更新作成・配布サーバ130は、様々な制御処理を実行するCPU131と、RAM132と、ネットワークインタフェース133と、各種データ・パラメータやプログラム等を格納するHDD134と、を備えている。
HDD134の中には、旧版ファームウェアイメージ135が格納されている。そして、更新作成・配布サーバ130(CPU131)は、開発者が開発した新しいファームウェアイメージ120と旧版ファームウェアイメージ135を比較し、更新された部分だけを取り出し、更新イメージ140を作成し、ネットワーク150を通じて機器160に送信する。更新イメージ140の詳細な構成は図2に示す通りであり、後述する。
機器160は、ネットワーク機能を備えたコンピュータとしてのハードウェアを備える。この機器160の例としては、ネット家電(TV)やブロードバンドルータ等が挙げられる。機器160が最低限備える構成は、CPU161、RAM162、ネットワークインタフェース163、フラッシュメモリ164である。ファームウェア更新の際には、機器160が、ソフトウェア更新リクエストを更新作成・配布サーバ130に送信し、更新イメージ160を受信し、フラッシュメモリ164に格納されたファームウェアを更新することになる。このように、プル型の構成にしてもよいし、更新作成・配布サーバ130から各機器160に対して更新イメージを適時送信するプッシュ型の構成にしてもよい。プッシュ型構成の場合には、予め機器160のアドレスが登録されている必要がある。
<更新作成・配布サーバのHDD134の内部構成>
図2は、本実施形態における更新作成・配布サーバ130のHDD134内部に格納されているデータやプログラムの構成を示す図である。HDD134は、ファームウェアイメージ集135と、更新イメージ集220と、再起動指示DB230と、更新イメージキャッシュデータ240と、サービス名・ファイル対応データ250と、更新作成機能プログラム260と、再起動指示作成機能プログラム270と、更新配布機能プログラム280と、を含んでいる。
ファームウェアイメージ集135は旧版のファームウェアイメージであり、開発者110が過去に送信したファームウェアイメージのうち、最も古いバージョンのものと、最新のバージョンのものの2種類を保存されている。211の例では、バージョン1と最新のバージョン50のファームウェアイメージが保存されていることが示されている。
更新イメージ集220には、最古のファームウェアイメージから、最新のファームウェアイメージに至るまでの更新が一バージョンごとに保存されている。つまり、最新のバージョンが50ならば、「ファームウェアイメージバージョン1から、ファームウェアイメージバージョン2への更新を表す更新イメージ(更新イメージ1⇒2と表記する)」、「更新イメージ2⇒3」、「更新イメージ3⇒4」、「更新イメージ4⇒5」…<中略>…「更新イメージ49⇒50」が保存されている。例えば、更新イメージ2⇒5のように1つ飛び以外のケースは、そのイメージが頻繁に使用されるものである等の例外的な場合を除き、基本的に格納されていない。なお、更新イメージの構成は図5に示されるようなものである。
再起動指示DB230は、CPU131が再起動指示作成機能(プログラム)270を実行する際に使うデータを保存している。詳細なデータ構成は図6に示されている。
更新イメージキャッシュデータ240は、更新イメージ221に対するアクセス頻度および更新イメージのデータ(例えば、アクセス頻度が多いトップ10のデータ)が記録されている。詳細な構成は図7に示されているようなものである。
サービス名ファイル名対応データ250は、サービス名とそれに対応する実行ファイルの組を示す情報である。詳細な構成は図8に示されているようなものである。
更新作成機能プログラム260は、更新イメージ140を作成するためのプログラムである。機能の詳細については図9を用いて後述する。また、再起動指示作成機能プログラム270は、再起動指示DB230を作成するプログラムである。機能の詳細については図10を用いて後述する。更新配布機能プログラム280は、機器160からのリクエストに応じて、更新イメージ集220に格納された更新イメージを配布するプログラムである。機能の詳細については図11を用いて後述する。これらのプログラムは、CPU131によって実行され、各機能が実現される。
<機器のフラッシュメモリ164の内部構成>
図3は本実施形態における機器160のフラッシュメモリ164に格納されているデータやプログラム等の構成を示す図である。フラッシュメモリ164は、機器160で使用中のファームウェアイメージ310と、バージョン番号320と、オペレーティングシステム330と、更新適用プログラム340と、を格納している。
ファームウェアイメージ310は、機器で動作するソフトウェアおよび構成ファイル一式が格納されたイメージデータである。バージョン番号320は、ファームウェアイメージ310のバージョンを表している。
オペレーティングシステム330は、ファームウェアイメージ310に格納されたソフトウェアを実行するための機能を備えている。更新適用プログラム340は、更新作成・配布サーバ130から、更新イメージ140を受信し、更新イメージ140に記述された更新をファームウェアイメージ310に適用する機能を備え、CPU161によって実行されるプログラムである。当該機能の処理の詳細は図12を用いて後述する。
<ファームウェアイメージの構成>
図4は、本実施形態によるファームウェアイメージ120の構成を示す図である。図4に示されるように、ファームウェアイメージ120は、バージョン番号410と、ファームウェアのデータ本体420で構成される。
バージョン番号410は、ファームウェアイメージ120のバージョンを表す。バージョン番号は、開発者110に管理されている、ファームウェアイメージ120のバージョン番号である。ファームウェアのデータ本体420は、例えば、UNIX系オペレーティングシステムで広く使われているtarなどを使って、ファイルシステムの構造をアーカイブすることにより生成される。
<更新イメージの構成>
図5は、本実施形態における更新イメージ140の構成を示す図である。更新イメージ140において、510は更新前のイメージのバージョン番号を表す。520は更新後のイメージのバージョン番号を表す。例えば、510が「49」、520が「50」の場合は、ファームウェアイメージのバージョン49から、バージョン50への更新であることを表す。
530〜560には、更新手順が記されている。530は、更新操作を表す。540は、操作対象ファイルのフルパスを表す。550は、該当する更新をした場合の再起動指示が記されている。560には、フルパス540に対応するファイルのデータが記録されている。例えば、行571は、「ファイル名/usr/sbin/httpdに対して、560に格納されたデータで上書きを行い、httpサービスの再起動を行う」という更新手順を表している。
つまり、図5は、バージョン番号49のファームウェアイメージからバージョン番号50のファームウェアに更新するにはどのような処理手順がなされたかを示しているのである。このような更新イメージが、隣同士のバージョンのファームウェアの全ての組み合せについて更新イメージ集220として更新作成・配布サーバ130のHDD134に格納されている。
<再起動指示DBの構成>
図6は、本実施形態における再起動指示DB230の構成を示す図である。図6に示されるように、再起動指示DB230には、ファイル名610と再起動指示620の対応が格納されている。つまり、ファイル名610に示されるファイルに更新が発生した場合には、再起動指示620で示されるサービスの再起動が必要となるのである。
再起動指示DB230のデータは、後述のサービス名ファイル名対応データ250(図8)を基にして生成されるものである。
<更新イメージキャッシュの構成>
図7は、本実施形態における更新イメージキャッシュデータ240の構成を示す図である。更新イメージキャッシュデータは、更新種別710と、アクセス数720と、更新イメージデータ730と、によって構成される。
更新種別710は、リクエストされた更新のバージョンを示している。例えば、「49⇒50」は、バージョン49から50への更新リクエストを表す。アクセス数720は、更新種別710のリクエストされた頻度を示す。730は、更新イメージへのデータである。730のフォーマットは図5に示した通りである。更新イメージキャッシュデータは、720のアクセス数順に上位のデータ730のみが格納される。例えば、上位10種類のデータ730のみが格納されるようにする。
<サービス名ファイル名対応データ>
図8は、本実施形態におけるサービス名ファイル名対応データ250の構成を示す図である。この対応データは、例えば機器メーカが予め用意する。
サービス名ファイル名対応データは、サービス名810とそれを構成する実行ファイル名820の組で構成されている。例えば、行831は、httpサービスを構成する実行ファイル名は/sbin/httpdであることを表している。機器のシステム構成によっては、これを自動的に用意することもできる。
多くのLinuxシステムではサービス名ごとに起動スクリプトが用意されている。例えば、/etc/init.d/httpdはhttpdサービスの起動スクリプトである。この起動スクリプトを解析し、中に含まれる実行ファイルをサービス名ファイル名対応250に登録する。例えば、/etc/init.d/httpdを解析し、/sbin/httpdが含まれると分かったら、810にhttpdサービス、820に/sbin/httpdが登録される。
<更新作成機能>
図9は、更新作成機能260における処理を説明するためのフローチャートである。図9によって作成されるデータは、図5に示される更新イメージである。なお、ここでは、特に断らない限り、各ステップの動作主体はCPU131である。つまり、CPU131が、更新作成機能プログラム260をRAM132に展開して当該プログラム中の各ステップを実行していく。
開発者110から取得したファームウェアイメージ120を、ネットワークインタフェース133を介して受信する(ステップS910)と、CPU131は、取得したばかりのファームウェアイメージ(新バージョン)と、1バージョン古いファームウェアイメージとを比較し、操作の種類、フルパス(ファイルパス)、ファイルのデータを抽出する(ステップS920)。より具体的には、ファームウェアイメージ集210には、ステップ910で受信したファームウェアイメージ(新ファームウェアイメージと呼ぶ)より1バージョン古いファームウェアイメージ(旧ファームウェアイメージと呼ぶ)が保存されている。例えば、ステップS910で、バージョン50を受信したらならば、旧ファームウェアイメージのバージョンは49である。そして、CPU131は、更新イメージ(図5)の旧バージョン番号510、新バージョン番号520を埋める。例えば、ステップ910で受信したファームウェアイメージのバージョンが50ならば、510は「49」、520は「50」となる。次に、CPU131は、新ファームウェアイメージと旧ファームウェアイメージのファイルシステム構造を比較し、更新されているファイル、削除されているファイル、追加されているファイルを取り出す。そして、更新イメージの530、540、560を埋める(図5)。例えば、新ファームウェアイメージにて、/usr/sbin/httpdが更新されていた場合は、操作530には「更新」、フルパス540には「/usr/sbin/httpd」、ファイルのデータ560には、新ファームウェアイメージに含まれる/usr/sbin/httpdのデータが格納される。
続いて、CPU131は、ファームウェアイメージ集135の最新のバージョンのファームウェアイメージを削除し、代わりに、ステップS910で受信したファームウェアイメージ120を最新バージョンとして保存する(ステップS930)。
また、CPU131は、再起動DB230を参照し、フルパス540に対応する再起動指示620を見出し、更新イメージの550の列を埋める(ステップS940)。例えば、フルパス540が「/usr/sbin/httpd」となっていた場合は、ファイル名610が一致する行は631である。行631の再起動指示は「httpdサービス」となっているため、再起動指示550は、「httpdサービス」と記録する。なお、対応する再起動指示620が再起動指示DB230から見つからない場合は、550には「無し」が格納される。
さらに、CPU131は、作成された更新イメージを、更新イメージ集220に保存する(ステップS950)。
<再起動指示作成機能>
図10は、再起動指示作成機能270における処理を説明するためのフローチャートである。図10によって作成されるデータは、図6に示されるデータである。ここでも、特に断らない限り、各ステップの動作主体はCPU131である。つまり、CPU131が、再起動指示作成機能プログラム270をRAM132に展開して当該プログラム中の各ステップを実行していく。なお、サービス名ファイル名対応250の各行(図8参照)についてステップS1020からS1040の処理が実行される。
まず、CPU131は、図8のサービス名ファイル名対応データ250を参照し、該当する行(831、832・・・等)のファイル名820及びサービス名810を再起動指示DB230のファイル名610及び再起動指示620にそれぞれ登録する(ステップS1020)。
次に、CPU131は、ファイル名820が利用している共有ライブラリを解析する(ステップS1030)。ファイル名の中身(バイナリ)を見ると、どんなライブラリを使用しているかの依存関係が判明する。つまり、このステップでは、関連するライブラリをサーチしている。例えば、ファイル名が/usr/sbin/httpdの場合、httpdのバイナリを解析し、利用している共有ライブラリの名前を取り出す。例えば、httpdのバイナリから、共有ライブラリの名前がlibhttpd.soが取り出されたとする。共有ライブラリの検索パスから、libhttpd.soのフルパスを取り出す。共有ライブラリの検索パスが/libの場合は、フルパスは/lib/libhttpd.soとなる。
続いて、CPU131は、ステップS1030で得たライブラリのフルパスを再起動指示DB230のファイル名610に登録し、再起動指示620については、ステップS1020で登録したサービス名を登録する(ステップS1040)。このステップでは、ステップS1030で使用していると判明したライブラリもファイル名に対応してサービスに関係しているので、再起動の対象とするためにライブラリのファイル名及びサービス名を登録する。ステップS1030の例で言うと、ファイル名610には、「/lib/libhttpd.so」が登録され、再起動指示620には「httpdサービス」が登録される。
<更新配布機能>
図11は、本実施形態における更新配布機能280の処理を説明するためのフローチャートである。ここでも、特に断らない限り、各ステップの動作主体はCPU131である。つまり、CPU131が、更新配布機能プログラム280をRAM132に展開して当該プログラム中の各ステップを実行していく。なお、ファームウェアイメージ集135に格納されている最新のファームウェアイメージのバージョンは「50」として、以下のステップを説明する。
まず、CPU131は、ネットワークインタフェース133を介して、機器160よりアップデートリクエストを受け取る(ステップS1110)。アップデートリクエストの中には、ファームウェアイメージのバージョン番号320が含まれている。なお、ここではプル型を例に説明をするが、プッシュ型の更新配布であってもよい。
次に、CPU131は、更新イメージキャッシュの更新種別710を参照し、リクエストされたアップデートが更新イメージキャッシュに含まれるか判別する(ステップS1120)。図7の例だと、ステップS1110で受け取ったバージョン番号が「48」だったならば、機器のファームウェアイメージのバージョンは48であり、最新のバージョンである50へのアップデートは742にあるように、更新イメージキャッシュに含まれることになる。
ステップS1120で、リクエストされたアップデートが更新イメージキャッシュに含まれると判断した場合は、CPU131は、更新イメージキャッシュ中の対応する更新イメージ730を機器160に配信する(ステップS1130)。ステップS1110で受け取ったバージョン番号が「48」だったならば、行742の更新イメージ730を配信する。同時に更新イメージキャッシュの対応するアクセス数720をインクリメントする。
一方、ステップS1120で、リクエストされたバージョンの更新イメージが、更新イメージキャッシュに含まれない場合には、処理はステップS1140に移行する。例えば、図7の例で、ステップ1110で受け取ったバージョン番号が「47」だったならば、更新イメージキャッシュに含まれない。そして、CPU131は、更新イメージ集220に含まれる更新イメージのマージを行い、必要な更新イメージを生成する(ステップS1140)。
このマージ処理の手順を、ステップ1110で受け取ったバージョン番号が「47」だったとして説明する。更新イメージ集220に含まれる「更新イメージ47⇒48」、「更新イメージ48⇒49」、「更新イメージ49⇒50」をマージし、「更新イメージ47⇒50」を作成する。具体的には、「更新イメージ47⇒48」の530、540、550、560の組からなる行に対して、「更新イメージ48⇒49」の530、540、550、560の組からなる行を追加、同様に「更新イメージ49⇒50」の530、540,550、560の組からなる行を追加する。そして、新バージョン番号520を「50」に書き換える。
続いて、CPU131は、更新イメージキャッシュデータを更新する(ステップS1150)。より詳細には、更新イメージキャッシュデータのうち、アクセス数720が最も少ない行を削除し、代わりにステップS1140で作成した更新イメージを追加する。例えば、更新種別710には「47⇒50」、アクセス数720には「1」、更新イメージデータ730には、作成した更新イメージが格納される。
そして、CPU131は、ステップS1140で作成した更新イメージを、ネットワークインタフェース133を介して機器160に配信する。
<更新適用処理>
図12は、機器160における更新適用プログラム340の処理を説明するためのフローチャートである。ここでは、特に断らない限り、各ステップの動作主体はCPU161である。つまり、CPU161が、更新適用プログラム340をRAM162に展開して当該プログラム中の各ステップを実行していく。
まず、CPU161は、アップデートリクエストを更新作成・配布サーバ130に送信する(ステップS1210)。アップデートリクエストには、バージョン番号320が含まれている。
そして、CPU161は、更新イメージを更新作成・配布サーバ130より受信する(ステップ1220)。ここで受信する更新イメージは、更新配布機能280を実行することによって作成されたものである。
次に、CPU161は、受信した更新イメージを使い、ファームウェアイメージ310を更新する(ステップS1230)。例えば、図5のような更新イメージを受信した場合、行571〜573の操作530に従い、ファームウェアイメージを更新する。つまり、/usr/sbin/httpdを560のデータで上書きし、/lib/libfoo.so.1を削除し、/usr/sbin/namedを560の内容で作成する。また、バージョン番号320が、520に書かれたバージョン番号に更新される。
続いて、CPU161は、再起動指示550に従い、再起動処理を行う(ステップS1240)。図5の例では、httpdサービスの再起動を行う。
<まとめ>
以上により、ファームウェア更新を実現できる。システム全体の処理をまとめると、まず開発者110は、最新のファームウェアイメージ120を更新作成・配布サーバ130に送信する。機器160は、更新適用プログラム340を使い、ファームウェア更新リクエストを更新作成・配布サーバ130に対して送信する。更新作成・配布サーバ130は、更新作成機能260を使い、更新イメージ140を作成し、更新イメージ140を機器160に送信する。機器160は、更新イメージ140を受け取り、更新適用プログラム340を使って、ファームウェアを最新のものに更新する。
以上説明した本発明の実施形態を適用することにより、ファームウェアを更新する際、更新イメージ140に含まれるファイルのみが更新されるため、ファームウェア全てを交換するよりも、ファームウェアを更新するための時間は短くて済む。さらに、ファームウェア開発者110が、ファームウェアイメージ120を更新作成・配布サーバ130に送付するだけで、更新イメージ140が自動的に作成されるため、ファームウェア開発者110の負担は少ない。
副次的な効果として、更新イメージを格納するための領域も少なくなっている。例えば、ファームウェアの最新版のバージョンが50ならば、更新1⇒50、更新2⇒50、更新3⇒50、更新4⇒50……更新49⇒50の49種類の更新イメージが必要になるだけで、全ての組合せを格納しておく必要はない。更新1⇒50は、49バージョン分の差分、更新2⇒50は48バージョン分の差分であるため、サイズが大きい。これらを保管する代わりに、221のように、1バージョンずつの差分を49個保管するようにしているため、更新イメージを格納する領域は少なくて済むようになる。
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
本発明の実施形態によるファームウェア更新システムの全体概略構成を示す図である。 更新作成・配布サーバのHDDの内部データ構成を示す図である。 機器のメモリの内部データ構成を示す図である。 ファームウェアイメージの構成例を示す図である。 更新イメージの構成例を示す図である。 再起動指示DBの構成例を示す図である。 更新イメージキャッシュの構成例を示す図である。 サービスファイル名対応の構成例を示す図である。 更新作成機能の処理動作を説明するためのフローチャートである。 再起動指示作成機能の処理動作を説明するためのフローチャートである。 更新配布機能の処理動作を説明するためのフローチャートである。 更新適用プログラムの処理動作を説明するためのフローチャートである。
符号の説明
110・・・開発者
120・・・ファームウェアイメージ
130・・・更新作成・配布サーバ
140・・・更新イメージ
150・・・ネットワーク
160・・・機器
131・・・CPU
132・・・RAM
133・・・ネットワークインタフェース
134・・・HDD
135・・・旧版ファームウェアイメージ
161・・・CPU
162・・・RAM
163・・・ネットワークインタフェース
164・・・フラッシュメモリ

Claims (8)

  1. 機器のソフトウェアとその構成データを含むファームウェアのイメージを更新するファームウェア更新システムであって、
    前記ファームウェアで動作する機器と、前記ファームウェアを更新するための更新イメージを生成し前記機器に送信する更新イメージ生成・配布サーバと、を備え、
    前記更新イメージ生成・配布サーバは、前記機器が使用中のバージョンのファームウェアイメージ(第1のファームウェアイメージ)を新しいバージョンのファームウェアイメージ(第2のファームウェアイメージ)に更新するために必要なデータである更新イメージを生成する更新イメージ生成部と、前記更新イメージを前記機器に送信するデータ通信部と、最古のバージョンのファームウェアイメージと最新のバージョンのファームウェアイメージとの間における各隣接したバージョンの更新イメージである隣接バージョン更新イメージを格納する更新イメージ格納部と、隣接したバージョン及び離間したバージョンのファームウェアイメージ間の更新イメージである離間バージョン更新イメージのうちで、使用頻度数が多い所定数の更新イメージを格納する高使用頻度更新イメージ格納部と、を有し、
    前記更新イメージ格納部が、前記第1のファームウェアイメージから前記第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージを保持する場合、前記更新イメージ生成部は、当該隣接バージョン更新イメージを前記更新イメージとし、
    前記更新イメージ格納部が、前記第1のファームウェアイメージから前記第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージを保持せず、かつ、前記高使用頻度更新イメージ格納部が、前記第1のファームイメージから前記第2のファームイメージの更新に直接対応する離間バージョン更新イメージを保持しない場合、前記更新イメージ生成部は、前記第1のファームウェアイメージを前記第2のファームイメージに更新するのに必要な全ての隣接バージョン更新イメージを取得してマージすることにより、前記更新イメージを生成し、
    前記高使用頻度更新イメージ格納部が、前記第1のファームイメージから前記第2のファームイメージの更新に直接対応する離間バージョン更新イメージを保持する場合、前記更新イメージ生成部は、前記離間バージョン更新イメージを前記更新イメージとし、
    前記機器は、前記更新イメージに基づいて、前記古いバージョンのファームウェアイメージを更新する、
    ことを特徴とするファームウェア更新システム。
  2. 前記ファームウェアは、複数の構成ファイルを含み、
    前記更新イメージ生成・配布サーバは、さらに、どんな構成ファイルに更新があった場合にどんなサービスの再起動が必要かを示す情報を格納する再起動指示DBを備え、
    前記更新イメージ生成部は、前記再起動指示DBを参照して、前記送信すべき更新イメージにサービスの再起動指示を挿入することを特徴とする請求項1に記載のファームウェア更新システム。
  3. 前記再起動指示DBは、前記ファイルが利用するライブラリに対応してサービスの再起動の必要性を示す情報を格納し、
    前記更新イメージ生成部は、さらに、前記送信すべき更新イメージに前記ライブラリに対応するサービスの再起動指示をすることを特徴とする請求項に記載のファームウェア更新システム。
  4. 機器のソフトウェアとその構成データを含むファームウェアのイメージを更新するファームウェア更新システムにおいて動作し、前記ファームウェアを更新するための更新イメージを生成し前記機器に送信する更新イメージ生成・配布サーバ装置であって、
    前記機器が使用中のバージョンのファームウェアイメージ(第1のファームウェアイメージ)を新しいバージョンのファームウェアイメージ(第2のファームウェアイメージ)に更新するために必要なデータである更新イメージを生成する更新イメージ生成部と、
    最古のバージョンのファームウェアイメージと最新のバージョンのファームウェアイメージとの間における各隣接したバージョンの更新イメージである隣接バージョン更新イメージを格納する更新イメージ格納部と、
    隣接したバージョン及び離間したバージョンのファームウェアイメージ間の更新イメージである離間バージョン更新イメージのうちで、アクセス数が多い所定数の更新イメージを格納する高使用頻度更新イメージ格納部と、
    前記更新イメージを、前記ファームウェアを使用する機器に送信するデータ通信部と、
    を備え
    前記更新イメージ格納部が、前記第1のファームウェアイメージから前記第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージを保持する場合、前記更新イメージ生成部は、当該隣接バージョン更新イメージを前記更新イメージとし、
    前記更新イメージ格納部が、前記第1のファームウェアイメージから前記第2のファームウェアイメージの更新に直接対応する隣接バージョン更新イメージを保持せず、かつ、前記高使用頻度更新イメージ格納部が、前記第1のファームイメージから前記第2のファームイメージの更新に直接対応する離間バージョン更新イメージを保持しない場合、前記更新イメージ生成部は、前記第1のファームウェアイメージを前記第2のファームイメージに更新するのに必要な全ての隣接バージョン更新イメージを取得してマージすることにより、前記更新イメージを生成し、
    前記高使用頻度更新イメージ格納部が、前記第1のファームイメージから前記第2のファームイメージの更新に直接対応する離間バージョン更新イメージを保持する場合、前記更新イメージ生成部は、前記離間バージョン更新イメージを前記更新イメージとすることを特徴とする更新イメージ生成・配布サーバ装置。
  5. 前記ファームウェアは、複数の構成ファイルを含み、
    さらに、どんな構成ファイルに更新があった場合にどんなサービスの再起動が必要かを示す情報を格納する再起動指示DBを備え、
    前記更新イメージ生成部は、前記再起動指示DBを参照して、前記送信すべき更新イメージにサービスの再起動指示を挿入することを特徴とする請求項に記載の更新イメージ生成・配布サーバ装置。
  6. 前記再起動指示DBは、前記ファイルが利用するライブラリに対応してサービスの再起動の必要性を示す情報を格納し、
    前記更新イメージ生成部は、さらに、前記送信すべき更新イメージに前記ライブラリに対応するサービスの再起動指示をすることを特徴とする請求項に記載の更新イメージ生成・配布サーバ装置。
  7. 機器のソフトウェアと複数の構成ファイルを含むファームウェアのイメージを更新するファームウェア更新システムであって、
    前記ファームウェアで動作する機器と、前記ファームウェアを更新するための更新イメージを生成し前記機器に送信する更新イメージ生成・配布サーバと、を備え、
    前記更新イメージ生成・配布サーバは、前記機器が使用中のバージョンのファームウェアイメージ(第1のファームウェアイメージ)を新しいバージョンのファームウェアイメージ(第2のファームウェアイメージ)に更新するために必要なデータである更新イメージを生成する更新イメージ生成部と、どんな構成ファイルに更新があった場合にどんなサービスの再起動が必要かを示す情報を格納する再起動指示DBと、前記更新イメージを前記機器に送信するデータ通信部と、を有し、
    前記更新イメージ生成部は、前記再起動指示DBを参照して、前記送信すべき更新イメージにサービスの再起動指示を挿入し、
    前記機器は、前記更新イメージに基づいて、前記古いバージョンのファームウェアイメージを更新する、
    ことを特徴とするファームウェア更新システム。
  8. 機器のソフトウェアと複数の構成ファイルを含むファームウェアのイメージを更新するファームウェア更新システムにおいて動作し、前記ファームウェアを更新するための更新イメージを生成し前記機器に送信する更新イメージ生成・配布サーバ装置であって、
    前記機器が使用中のバージョンのファームウェアイメージ(第1のファームウェアイメージ)を新しいバージョンのファームウェアイメージ(第2のファームウェアイメージ)に更新するために必要なデータである更新イメージを生成する更新イメージ生成部と、
    どんな構成ファイルに更新があった場合にどんなサービスの再起動が必要かを示す情報を格納する再起動指示DBと、
    前記更新イメージを、前記ファームウェアを使用する機器に送信するデータ通信部と、を備え、
    前記更新イメージ生成部は、前記再起動指示DBを参照して、前記送信すべき更新イメージにサービスの再起動指示を挿入することを特徴とする更新イメージ生成・配布サーバ装置。
JP2008244731A 2008-09-24 2008-09-24 ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置 Expired - Fee Related JP5113699B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008244731A JP5113699B2 (ja) 2008-09-24 2008-09-24 ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置
US13/063,212 US20110173603A1 (en) 2008-09-24 2009-08-21 Firmware update system and update image generation/distribution server apparatus
EP09816014A EP2330508A4 (en) 2008-09-24 2009-08-21 FIRMWARE UPDATE SYSTEM AND DISTRIBUTION SERVER FOR PRODUCING UPDATE IMAGES
PCT/JP2009/064605 WO2010035597A1 (ja) 2008-09-24 2009-08-21 ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置
CN2009801356966A CN102150136A (zh) 2008-09-24 2009-08-21 固件更新系统、以及更新镜像生成/分发服务器装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008244731A JP5113699B2 (ja) 2008-09-24 2008-09-24 ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置

Publications (2)

Publication Number Publication Date
JP2010079438A JP2010079438A (ja) 2010-04-08
JP5113699B2 true JP5113699B2 (ja) 2013-01-09

Family

ID=42059604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008244731A Expired - Fee Related JP5113699B2 (ja) 2008-09-24 2008-09-24 ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置

Country Status (5)

Country Link
US (1) US20110173603A1 (ja)
EP (1) EP2330508A4 (ja)
JP (1) JP5113699B2 (ja)
CN (1) CN102150136A (ja)
WO (1) WO2010035597A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI349882B (en) * 2007-09-04 2011-10-01 Quanta Comp Inc Firmware update system and method for update the same
US9098635B2 (en) * 2008-06-20 2015-08-04 Cadence Design Systems, Inc. Method and system for testing and analyzing user interfaces
JP5478986B2 (ja) * 2009-08-21 2014-04-23 株式会社日立ソリューションズ 情報機器及びプログラム
JP5669431B2 (ja) * 2010-05-06 2015-02-12 キヤノン株式会社 情報処理装置、ファームウェア適用方法、及びコンピュータプログラム
US8799867B1 (en) 2010-06-08 2014-08-05 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronizing software verification flows
US8904358B1 (en) * 2010-06-08 2014-12-02 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronizing software verification flows
JP2012080292A (ja) * 2010-09-30 2012-04-19 Toshiba Corp 電子機器及び情報処理方法
JP5559001B2 (ja) * 2010-10-15 2014-07-23 株式会社日立ソリューションズ 組込プログラム更新方法、組込プログラム更新プログラム、電子機器、ネットワークシステム
CN102316439B (zh) * 2011-09-09 2017-11-24 中兴通讯股份有限公司 一种实现用户侧设备的固件升级方法和系统
JP2013077085A (ja) 2011-09-29 2013-04-25 Fujitsu Ltd 生成装置、生成方法、生成プログラム、及び実行プログラム
KR101675444B1 (ko) * 2012-03-29 2016-11-11 한화테크윈 주식회사 펌웨어 업데이트 장치 및 펌웨어 업데이트 방법.
US20130339934A1 (en) * 2012-06-13 2013-12-19 Josef Troch Updating virtualized services
US20140033188A1 (en) * 2012-07-26 2014-01-30 Microsoft Corporation System updates from cloud blob storage using vhd differentials
US9851980B1 (en) * 2012-10-22 2017-12-26 Amazon Technologies, Inc. Distributed update service enabling update requests
US10061574B2 (en) * 2013-03-14 2018-08-28 Ford Global Technologies, Llc Method and apparatus for multiple vehicle software module reflash
CN103530148B (zh) * 2013-09-18 2016-09-07 国云科技股份有限公司 一种大型Linux软件包的发布方法
CN103490929B (zh) * 2013-09-25 2017-05-10 浪潮电子信息产业股份有限公司 一种服务器多适应性固件制作和实施方法
JP6280009B2 (ja) * 2014-09-16 2018-02-14 京セラ株式会社 通信機器およびプログラム更新方法
JP6345568B2 (ja) * 2014-10-16 2018-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ネットワーク対応の家電機器
WO2016073973A1 (en) * 2014-11-07 2016-05-12 Iac Search & Media, Inc. System and method for providing answers to requests
JP6314893B2 (ja) * 2015-03-31 2018-04-25 コニカミノルタ株式会社 画像処理システム、画像処理装置、配信サーバー、管理サーバー、および、プログラム
CN106325909B (zh) * 2015-07-02 2021-03-23 株式会社日立制作所 对私有云系统中的多个镜像进行更新的方法和系统
US10089101B2 (en) * 2016-05-11 2018-10-02 Haier Us Appliance Solutions, Inc. Updating a software configuration of an appliance
US10521218B2 (en) * 2017-10-09 2019-12-31 Microsoft Technology Licensing, Llc Enhanced techniques for updating software
EP3756335B1 (en) * 2018-02-23 2023-07-19 InterDigital Patent Holdings, Inc. Device-initiated service deployment through mobile application packaging
JP7069826B2 (ja) 2018-02-27 2022-05-18 株式会社リコー 情報処理装置、ファームウェア更新方法、プログラム
US10503489B1 (en) * 2018-05-22 2019-12-10 Quanta Computer Inc. Updating firmware via a remote utility
US20200117443A1 (en) * 2018-10-15 2020-04-16 Ca, Inc. Selective application updates based on usage analytics
CN111104149A (zh) * 2018-10-25 2020-05-05 华为技术有限公司 一种固件升级方法、装置及终端
JP7082386B1 (ja) 2021-11-30 2022-06-08 株式会社オーイーシー ソフトウェアの更新方法及びその更新システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110218A (ja) 1997-10-03 1999-04-23 Hitachi Ltd ファームウェア書き換え装置
US6289511B1 (en) * 1998-09-29 2001-09-11 Telephonaktiebolaget Lm Ericsson Method and system for distributing software in a telecommunications network
JP2001202234A (ja) * 2000-01-19 2001-07-27 Fujitsu Ltd ダウンロード方式
AU2001294099A1 (en) * 2000-08-31 2002-03-13 Docubase Reconfiguration and preservation of setup data
JP2004013782A (ja) * 2002-06-11 2004-01-15 Sankyo Seiki Mfg Co Ltd ファームウェアのダウンロード方法
JP3841169B2 (ja) * 2002-08-21 2006-11-01 ソニー株式会社 通信システム、データ処理装置およびデータ処理方法、並びにプログラム
US8370825B2 (en) * 2003-10-22 2013-02-05 Hewlett-Packard Development Company, L.P. Program-update prioritization according to program-usage tracking
JPWO2005055055A1 (ja) * 2003-12-05 2007-06-28 富士通株式会社 データ管理システム
JP2005321843A (ja) * 2004-05-06 2005-11-17 Hitachi Ltd ファームウェアの書換え方法
US7711706B2 (en) * 2004-11-08 2010-05-04 Innopath Software, Inc. Reorganizing images in static file system differencing and updating
JP4825416B2 (ja) * 2004-11-30 2011-11-30 富士通株式会社 差分ファイル生成プログラムおよび差分ファイル配信プログラム
JP4770242B2 (ja) * 2005-04-07 2011-09-14 三菱電機株式会社 ソフトウェア更新情報配布システム及びソフトウェア更新情報配布方法
JP2007226740A (ja) * 2006-02-27 2007-09-06 Kyocera Corp 通信システム、ソフトウェア更新方法、通信装置、管理サーバ装置、およびプログラム
US8397264B2 (en) * 2006-12-29 2013-03-12 Prodea Systems, Inc. Display inserts, overlays, and graphical user interfaces for multimedia systems

Also Published As

Publication number Publication date
EP2330508A4 (en) 2012-05-02
US20110173603A1 (en) 2011-07-14
CN102150136A (zh) 2011-08-10
JP2010079438A (ja) 2010-04-08
EP2330508A1 (en) 2011-06-08
WO2010035597A1 (ja) 2010-04-01

Similar Documents

Publication Publication Date Title
JP5113699B2 (ja) ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置
JP5342302B2 (ja) ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
JP5478986B2 (ja) 情報機器及びプログラム
JP4467623B2 (ja) アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム
US8316224B2 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US8245217B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US8347263B1 (en) Repository including installation metadata for executable applications
US8443361B2 (en) Systems and methods for tracking a history of changes associated with software packages in a computing system
US20100070967A1 (en) Recording medium of network administration program
US9367302B2 (en) Generating client qualification to execute package update manager
WO2009154272A1 (ja) 版管理システム、方法、及び、プログラム
WO2017036197A1 (zh) 一种网元模型管理方法及装置
JP2009163760A (ja) 情報処理装置とその方法及びプログラム
WO2022097605A1 (ja) 情報処理装置
CN116401262B (zh) 数据库升级方法及装置
KR20040083236A (ko) 메모리의 프로그램 업그레이드 방법
US20230367573A1 (en) Information processing apparatus, settings applying method, and medium
EP1507219A2 (en) Computer system and program for improved file system performance
KR101866086B1 (ko) 재사용 기반의 가상 클러스터 구축 방법 및 장치
CN112114837A (zh) 固件更新方法及摄像机
JP2009301472A (ja) 情報端末、アプリケーション管理システム、端末アプリケーション管理方法及びアプリケーション管理方法
JP2008310570A (ja) 電文解析方法、電文解析装置、及び電文解析プログラム
JP2007183953A (ja) ログ情報管理システムおよび方法
JP2006338606A (ja) ファイル管理手続実行システム
JP2018032119A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

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: 20121002

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: 20121012

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees