JP4992587B2 - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP4992587B2
JP4992587B2 JP2007186657A JP2007186657A JP4992587B2 JP 4992587 B2 JP4992587 B2 JP 4992587B2 JP 2007186657 A JP2007186657 A JP 2007186657A JP 2007186657 A JP2007186657 A JP 2007186657A JP 4992587 B2 JP4992587 B2 JP 4992587B2
Authority
JP
Japan
Prior art keywords
program
block
update
stored
memory
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
JP2007186657A
Other languages
English (en)
Other versions
JP2009025937A (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.)
Funai Electric Co Ltd
Original Assignee
Funai Electric Co 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 Funai Electric Co Ltd filed Critical Funai Electric Co Ltd
Priority to JP2007186657A priority Critical patent/JP4992587B2/ja
Publication of JP2009025937A publication Critical patent/JP2009025937A/ja
Application granted granted Critical
Publication of JP4992587B2 publication Critical patent/JP4992587B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Description

本発明は、プログラムに基いて動作する電子機器に係り、プログラムの更新機能を有する電子機器に関するものである。
従来から、電子機器において、電子機器の各種動作をプログラム(電子機器に対する命令や条件、データなどを記述したもの)に基いて制御するようにしたものがある。また、このような電子機器において、プログラムをフラッシュROMなどの書換え可能なメモリに格納しておき、プログラムを更新(新しいプログラムに書換え)できるようにしたものがある。
従来の電子機器では、プログラムの更新は、例えば、電子機器を有線でインターネットに接続し、インターネット経由で更新用プログラム(新しいバージョンのプログラム)を受信することにより、行われるようになっている。すなわち、従来の電子機器では、ユーザが、電子機器をインターネットに接続し、インターネット経由で更新用プログラムを受信する操作をすることにより、プログラムが更新されるようになっている。
一方、ファイルシステムを経由してファイル単位でファームウェアを更新するようにしたファームウェア更新方法が知られている(例えば特許文献1参照)。フラッシュメモリ内のファームウェアをモジュール単位で管理し、旧いバージョンのファームウェアを消去することなく、新しいバージョンのファームウェアの必要なモジュールのみを書き込んで、ファームウェアを更新するようにしたファームウェア更新方法が知られている(例えば特許文献2参照)。また、ダウンロードした新動作プログラムを旧動作プログラムとは別の記憶領域に格納するようにしたプログラム更新方法が知られている(例えば特許文献3参照)。
特開2006−202086号公報 特開2005−321843号公報 特開2002−333990号公報
ところが、上述した従来の電子機器においては、プログラムを更新するには、ユーザがプログラムを更新するための作業(例えば、インターネットへの接続や、インターネット経由で更新用プログラムを受信する操作等)をする必要があり、ユーザにとって、プログラムを更新するための作業は煩わしく、使い勝手が悪かった。
そこで、例えば基地局から更新用プログラムを無線で送信し、無線で送信される更新用プログラムを電子機器が受信すると、電子機器が自動的にプログラムの更新を行うようにする構成が考えられる。しかしながら、このような構成においては、単に更新用プログラムの全てを1つのデータとして基地局から無線で送信したのでは、電子機器が更新用プログラムを受信しているときに、受信環境の変動等により、更新用プログラムの受信が途中で途絶える可能性があり、更新用プログラムの受信が途中で途絶えてしまうと、プログラムの更新に失敗してしまう。従って、電子機器が無線で送信される更新用プログラムを受信して自動的にプログラムの更新を行うという構成においては、受信環境の変動等の影響を考慮して、より確実に、プログラムを更新できるようにすることが望まれる。なお、上述した特許文献1乃至特許文献3に開示の内容を適用したとしても、上記の問題を解決することはできない。
本発明は、上記課題を解決するためになされたものであり、ユーザがプログラムを更新するための作業をすることなく、自動的、かつ、より確実にプログラムを更新することができる電子機器を提供することを目的とする。
上記目的を達成するために請求項1の発明は、プログラムを格納するプログラムメモリと、プログラムメモリに格納されるプログラムの更新を制御する制御手段とを備える電子機器において、無線で送信される更新用プログラムを受信する受信手段を備え、更新用プログラムは、更新用プログラムを複数のブロックに分割したプログラムブロック単位で送信され、プログラムブロックは、該プログラムブロックが構成する更新用プログラムのバージョンを示すバージョン情報、及び該プログラムブロックが更新用プログラムを構成するいずれのブロックのものであるかを示すブロックナンバーが付与された形態で送信され、制御手段は、プログラムメモリに格納されるプログラムの更新中でないときに、受信手段により更新用プログラムを構成する任意のプログラムブロックを受信すると、プログラムブロックと共に受信したバージョン情報を基に、受信したプログラムブロックがプログラムメモリに既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものであるか否かを判断し、受信したプログラムブロックが、プログラムメモリに既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものである場合に、プログラムメモリに格納されるプログラムの更新を開始し、受信したプログラムブロックをプログラムメモリに格納し、プログラムメモリに格納されるプログラムの更新中であるときに、受信手段により更新用プログラムを構成する任意のプログラムブロックを受信すると、プログラムブロックと共に受信したバージョン情報を基に、受信したプログラムブロックが更新中のプログラムを構成するものであるか否かを判断し、プログラムブロックと共に受信したブロックナンバーを基に、受信したプログラムブロックがプログラムメモリに既に格納されているか否かを判断し、受信したプログラムブロックが、更新中のプログラムと同じバージョンのプログラムを構成するものであって、プログラムメモリに未だに格納されていない場合には、更新中のプログラムの更新を継続し、受信したプログラムブロックをプログラムメモリに格納し、受信したプログラムブロックが、更新中のプログラムよりも新しいバージョンのプログラムを構成するものである場合には、更新中のプログラムの更新を中止し、受信したプログラムブロックに対応するバージョンのプログラムの更新を開始し、受信したプログラムブロックをプログラムメモリに格納し、更新中のプログラムを構成する全てのプログラムブロックについてプログラムメモリに格納し終えると、プログラムメモリに格納されるプログラムの更新を完了とし、受信したプログラムブロックをプログラムメモリに格納するとき、プログラムメモリに既に格納されている旧いバージョンのプログラムを消去せずに、プログラムメモリに既に格納されている旧いバージョンのプログラムの格納領域とは別の格納領域に、受信したプログラムブロックを格納するものである。
請求項2の発明は、請求項1に記載の電子機器において、制御手段は、プログラムメモリに格納されるプログラムの更新を完了すると、プログラムメモリに既に格納されている旧いバージョンのプログラムを残し、プログラムメモリに既に格納されている旧いバージョンのプログラムの格納領域をさらに新しいバージョンのプログラムに更新するときのプロクラムブロックの格納領域とするものである。
請求項3の発明は、請求項1又は請求項2に記載の電子機器において、プログラムメモリは、プログラムの更新状況を示す更新状況データをさらに格納し、制御手段は、プログラムメモリに格納されるプログラムの更新を開始すると、プログラムメモリに格納されている更新状況データを更新中のプログラムのバージョンを示す値に書換え、プログラムメモリに格納されるプログラムの更新を完了すると、プログラムメモリに格納されている更新状況データをプログラムの更新中でないことを示す値に書換え、プログラムメモリに格納されている更新状況データを基に、プログラムメモリに格納されるプログラムの更新中であるか否かを判断するものである。
請求項1の発明によれば、無線で送信される更新用プログラムを受信すると、そのプログラムがプログラムメモリに格納されて、プログラムが更新される。すなわち、無線で送信される更新用プログラムを受信するだけで、プログラムを更新することができ、ユーザがプログラムを更新するための作業をすることなく、自動的に、プログラムを更新することができる。従って、使い勝手が良く、利便性が優れている。しかも、更新用プログラムは、複数のブロックに分割したプログラムブロック単位で送信され、プログラムブロック単位で受信されてプログラムメモリに格納され、そして、更新用プログラムを構成する全てのプログラムブロックが受信されてプログラムメモリに格納されると、プログラムの更新の完了となる。従って、更新用プログラムを構成する全てのプログラムブロックを1度に受信できなかった場合には、その受信できなかったプログラムブロックについて、その後に受信できれば、プログラムが更新される。すなわち、更新用プログラムを構成する全てのプログラムブロックを1度に受信すること(更新用プログラムの受信が途中で途絶えないこと)がプログラムの更新に必要な条件とはならず、更新用プログラムを構成する全てのプログラムブロックを1度に受信することができなくても、プログラムの更新が可能となり、より確実に、プログラムを更新することができる。また、同じプログラムブロックが無駄に何度もプログラムメモリに格納されることがなく、プログラムメモリのデータ書換処理を軽減することができ、プログラムメモリの破損を抑えることができる。また、同じバージョンの更新用プログラムが無駄に何度もプログラムメモリに格納されることがなく、プログラムメモリのデータ書換処理を軽減することができ、プログラムメモリの破損を抑えることができる。また、新しいバージョンのプログラムに更新された後も、旧いバージョンのプログラムが残される。従って、新しいバージョンのプログラムが起動しない場合に、旧いバージョンのプログラムに基いて、電子機器の各種動作を制御することができる。
以下、本発明を具体化した実施形態による電子機器について図面を参照して説明する。図1(a)は、本実施形態による電子機器であるナビゲーション装置の構成を示し、図1(b)は、このナビゲーション装置により表示される地図の表示例を示す。
ナビゲーション装置1は、地図を地名と共に表示する装置であり、画像を表示するためのディスプレイ11と、音声を出力するためのスピーカ12と、ユーザによりナビゲーション装置1の各種動作を指示するためにタッチ操作されるタッチパネル13等を備える。タッチパネル13は、例えばユーザが指でタッチパネル13上をタッチすることにより、そのタッチ位置を検出するものであり、透光性を有し、ディスプレイ11上に重ねて配置されている。従って、ディスプレイ11に表示される画像は、タッチパネル13越しに透けて見えるようになっている。ナビゲーション装置1は、例えば自動車内に設置して使用され、また、ユーザが携帯して持ち運びできるようになっている。
ナビゲーション装置1は、GPS(Global Positioning System:全地球測位システム)等を利用してナビゲーション装置1の現在位置と移動方向を検出する機能を有しており、ディスプレイ11に、ナビゲーション装置1の現在位置を含むナビゲーション装置1の現在位置周辺の地図を、地名、及びナビゲーション装置1の現在位置と移動方向と共に表示するようになっている。
図1(b)に示す例では、ディスプレイ11に、地図を表わす地図画像21と、地名を示す地名画像22と、ナビゲーション装置1の現在位置と移動方向を示す矢印画像23とが表示されている。地図画像21は、ナビゲーション装置1の現在位置を含むナビゲーション装置1の現在位置周辺の地図を表わしており、地名画像22は、各々、その表示位置に対応する地域の地名を地名文字列により表示している。矢印画像23は、その表示位置によりナビゲーション装置1の現在位置を示しており、その表示方向によりナビゲーション装置1の移動方向を示している。ナビゲーション装置1は、このように、地図画像21により、ナビゲーション装置1の現在位置を含むナビゲーション装置1の現在位置周辺の地図を表示し、地名画像22により、地名を表示し、矢印画像23により、ナビゲーション装置1の現在位置と移動方向を表示する。
また、ナビゲーション装置1は、ディスプレイ11に、ユーザにナビゲーション装置1を操作させるための操作ボタンを表示し、操作ボタンがユーザによりタッチ操作(操作ボタンの表示箇所に対応するタッチパネル13上の位置がユーザによりタッチ)されることにより、そのタッチ操作に応じて、ナビゲーション装置1の現在位置を含まない別の地域の地図の表示や、表示する地図の拡大、縮小等を行うようになっている。
図1(b)に示す例では、ディスプレイ11に、地図画像21、地名画像22、及び矢印画像23に加え、操作ボタンを表わす画像としてメニューボタン画像24が表示されており、メニューボタン画像24をタッチ操作することにより、各種操作ボタン画像が表示され、それら各種操作ボタン画像をタッチ操作することにより、別の地域の地図の表示や、表示する地図の拡大や縮小等が行われる。ナビゲーション装置1の現在位置を含まない別の地域の地図の表示においては、ナビゲーション装置1の現在位置と移動方向を示す矢印画像23が表示されない以外は、図1(b)に示す例と同様に、地図を表わす地図画像21及び地名を示す地名画像22が表示される。
ナビゲーション装置1は、ナビゲーション装置1を動作させるためのプログラム(ナビゲーション装置1に対する命令や条件、データなどを記述したもの)を格納しており、そのプログラムに基いて、ディスプレイ11に地図を表示する動作等、ナビゲーション装置1の各種動作を制御するようになっている。また、ナビゲーション装置1は、格納しているプログラムを更新(新しいプログラムに書換え)する機能を有している。プログラムの更新は、例えば、道路や施設の新設、地名変更等に対応して地図や地名を表示させるために、また、ナビゲーション装置1の各種機能を向上させるために行われる。
図2は、ナビゲーション装置1のプログラムの更新方法の概略を示す。ナビゲーション装置1のプログラムの更新は、プログラム送信装置(基地局)2が更新用プログラム(新しいバージョンのプログラム)を無線で送信し、その更新用プログラムをナビゲーション装置1で受信することにより行われる。
ナビゲーション装置1は、プログラム送信装置2から無線で送信される更新用プログラムを受信する機能を有しており、プログラム送信装置2から無線で送信される更新用プログラムを受信すると、自動的に、プログラムを更新するようになっている。ナビゲーション装置1は、多数のユーザに使用されるものであり、ユーザの数に応じて多数のものが存在する。
プログラム送信装置2は、更新用プログラムを無線でブロードキャスト(放送)する。すなわち、プログラム送信装置2は、多数のナビゲーション装置1を個別に特定することなく、多数のナビゲーション装置1に対して一斉に更新用プログラムを送信する。プログラム送信装置2は、例えば、コンサート会場、店舗、道路沿い等に設置され、更新用プログラムを定期的に繰り返してブロードキャストする。
従って、各ナビゲーション装置1は、プログラム送信装置2から送信される更新用プログラムの受信エリア30内に入ると、プログラム送信装置2から更新用プログラムを受信し、更新用プログラムを受信したタイミングで、自動的に、プログラムを更新することになる。また、更新用プログラムの受信エリア30内に存在する全てのナビゲーション装置1は、プログラム送信装置2から一斉に更新用プログラムを受信して、一斉にプログラムを更新することになる。プログラム送信装置2による更新用プログラムの送信方法、及びナビゲーション装置1におけるプログラムの更新処理の詳細については後述する。
図3は、ナビゲーション装置1の電気的ブロック構成を示す。ナビゲーション装置1は、上述の構成に加え、位置・方向検出部14と、プログラムメモリ15と、無線受信部16と、ナビゲーション装置1を制御するためのCPU等からなる制御部17等を備える。
ディスプレイ11は、制御部17による制御のもと、画像を表示する。スピーカ12は、制御部17による制御のもと、音声を出力する。タッチパネル13は、マトリックス状に配列された多数の透明な感圧スイッチにより構成されており、制御部17による制御のもと、ユーザによるタッチパネル13上のタッチ位置を検出し、その検出結果を制御部17に出力する。
位置・方向検出部14は、GPS受信機41と、地磁気センサ42と、ジャイロセンサ43とを有している。GPS受信機41は、GPS衛星からの電波を受信して、ナビゲーション装置1の現在位置(緯度及び経度等)を検出する。地磁気センサ42は、地磁気の方向を検出し、その検出した地磁気の方向を基にナビゲーション装置1の移動方向を絶対方位で検出する。ジャイロセンサ43は、ナビゲーション装置1の姿勢の変化を検出し、その検出した姿勢の変化を基にナビゲーション装置1の移動方向を相対方位で検出する。位置・方向検出部14は、これらGPS受信機41、地磁気センサ42、ジャイロセンサ43の検出結果を制御部17に出力する。
プログラムメモリ15は、ナビゲーション装置1を動作させるためのプログラムを格納している。プログラムメモリ15は、例えばフラッシュROMから成っており、プログラムメモリ15に格納しているプログラムは、制御部17による制御のもと、書き換え可能になっている。無線受信部16は、プログラム送信装置2から無線で送信される更新用プログラムを受信する。
制御部17は、プログラムメモリ15に格納されているプログラムに基いて、ディスプレイ11に地図を表示する動作等、ナビゲーション装置1の各種動作を制御する。また、制御部17は、無線受信部16により更新用プログラムを受信したことを受けて、プログラムメモリ15に格納されているプログラムの更新を制御する。
図4(a)(b)は、プログラム送信装置2による更新用プログラムの送信方法を示し、図5(a)(b)、図6(a)(b)(c)、図7(a)(b)(c)は、ナビゲーション装置1におけるプログラムの更新処理を示す。上述のように、ナビゲーション装置1のプログラムの更新は、プログラム送信装置2が更新用プログラムを無線で送信し、その更新用プログラムをナビゲーション装置1で受信することにより行われる。
プログラム送信装置2は、更新用プログラムを複数のブロック(プログラムブロック)に分割して送信データブロック50によって送信する。送信データブロック50は、図4(a)に示すように、プログラムブロック60と、バージョン情報70と、ブロックナンバー80とを含んでいる。プログラムブロック60は、更新用プログラムを複数のブロックに分割したものの中の一つである。バージョン情報70は、プログラムブロック60が構成する更新用プログラムのバージョンを示すデータである。ブロックナンバー80は、プログラムブロック60が更新用プログラムのいずれのブロックのものであるかを示すデータである。
すなわち、更新用プログラムは、複数の送信データブロック50を用いて、更新用プログラムを複数のブロックに分割したプログラムブロック60単位で送信される。そして、各プログラムブロック60は、各プログラムブロック60が更新用プログラムを構成するいずれのブロックのものであるかを示すブロックナンバー80、及びプログラムブロック60が構成する更新用プログラムのバージョンを示すバージョン情報70が付与された形態で送信される。本実施形態では、更新用プログラムは、図4(b)に示すように、10個の送信データブロック50(50−1、50−2、50−3、・・・、50−10)によって、10個のプログラムブロック60(60−1、60−2、60−3、・・・、60−10)に分割して送信される。
プログラム送信装置2は、送信データブロック50−1、送信データブロック50−2、送信データブロック50−3、・・・、送信データブロック50−10の順に各送信データブロック50を送信する。そして、プログラム送信装置2は、常時、これらの送信データブロック50を送信する。すなわち、プログラム送信装置2は、送信データブロック50−10を送信した後、再び、送信データブロック50−1から順に各送信データブロック50を送信することを繰り返す。
送信データブロック50は、ナビゲーション装置1を個別に特定するための情報を含んでいない。従って、送信データブロック50は、不特定のナビゲーション装置1(すなわち送信データブロック50の受信エリア内に存在する全てのナビゲーション装置1)に受信されることになる。
ナビゲーション装置1の制御部17は、無線受信部16により更新用プログラム(送信データブロック50)を受信したことを受けて、プログラムメモリ15に格納されているプログラムの更新を制御する。
プログラムメモリ15は、初期の状態においては、図5(a)に示すように、ナビゲーション装置1を動作させるためのプログラムとして、バージョン「1.0」のプログラム91を格納している。バージョン「1.0」のプログラム91は、プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域に、プログラム91のバージョンが「1.0」であることを示すバージョンデータ(不図示)と共に格納されている。また、プログラムメモリ15は、開始アドレスデータ92、格納アドレスデータ93、更新状況データ94を格納している。開始アドレスデータ92、格納アドレスデータ93、更新状況データ94は、プログラムメモリ15のアドレス「0x0000」〜「0x1000」の領域に格納されている。
開始アドレスデータ92は、ナビゲーション装置1の起動時のプログラムの開始アドレスを示すデータである。図5(a)に示す初期の状態では、開始アドレスデータ92は、「0x1000」となっており、ナビゲーション装置1を動作させるためのプログラムであるバージョン「1.0」のプログラム91の開始アドレスがアドレス「0x1000」であることを示している。
格納アドレスデータ93は、新しいバージョンのプログラムを格納すべきアドレスを示すデータである。図5(a)に示す初期の状態では、格納アドレスデータ93は、「0x3000」となっており、新しいバージョンのプログラムをアドレス「0x3000」〜「0x4000」の領域に格納することを示している。
更新状況データ94は、プログラムの更新状況を示すデータであり、プログラムの更新中でないときは、「0.0」とされ、プログラムの更新中であるときは、更新中のプログラムのバージョンを示す値(例えば、更新中のプログラムのバージョンが「1.1」であれば、その値「1.1」)とされる。図5(a)に示す初期の状態では、更新状況データ94は、「0.0」となっており、プログラムの更新中でないことを示している。
このような状態において、図5(b)に示すように、無線受信部16により送信データブロック50を受信(すなわちプログラムブロック60をバージョン情報70及びブロックナンバー80と共に受信)したとする。図5(b)に示す例では、送信データブロック50には、プログラムブロック60として、バージョン「1.1」のプログラムの4番目のプログラムブロックが含まれており、バージョン情報70は「1.1」となっており、ブロックナンバー80は「4」となっている。
制御部17は、無線受信部16により送信データブロック50を受信したことを受けて、まず、プログラムメモリ15に格納している更新状況データ94を基に、プログラムの更新中であるか否かを判断する。図5(b)に示す状態(図5(a)に示す初期の状態において、送信データブロック50を受信した状態)では、更新状況データ94は「0.0」であり、従って、制御部17は、プログラムの更新中でないと判断する。
続いて、制御部17は、送信データブロック50に含まれる(すなわちプログラムブロック60と共に受信した)バージョン情報70を基に、受信したプログラムブロック60がプログラムメモリ15に既に格納されているバージョン「1.0」のプログラム91よりも新しいバージョンのプログラムを構成するものであるか否かを判断する。この判断は、送信データブロック50に含まれるバージョン情報70と、プログラムメモリ15に格納されているプログラム91のバージョンを示すバージョンデータ(プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域にプログラム91と共に格納されている)と、を比較することにより行われる。
そして、受信したプログラムブロック60がプログラムメモリ15に既に格納されているバージョン「1.0」のプログラム91よりも新しいバージョンのプログラムを構成するものであれば、制御部17は、プログラムの更新が必要であると判断し、プログラムの更新を開始し、受信したプログラムブロック60をプログラムメモリ15に格納する。
図5(b)に示す状態では、送信データブロック50に含まれるバージョン情報70は「1.1」であり、プログラムメモリ15に格納されているバージョンデータは「1.0」であり、従って、受信したプログラムブロック60は、プログラムメモリ15に既に格納されているバージョン「1.0」のプログラム91よりも新しいバージョンのプログラムを構成するものである。従って、制御部17は、プログラムの更新が必要であると判断し、プログラムの更新を開始し、受信したプログラムブロック60をプログラムメモリ15に格納する。
このとき、制御部17は、プログラムメモリ15に格納している格納アドレスデータ93、及び、送信データブロック50に含まれる(プログラムブロック60と共に受信した)ブロックナンバー80を基に、受信したプログラムブロック60をプログラムメモリ15の該当する格納領域に格納する。
図5(b)に示す状態では、格納アドレスデータ93は「0x3000」であり、ブロックナンバー80は「4」である。従って、制御部17は、図6(a)に示すように、受信したプログラムブロック60を、プログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域を10個に分割した領域のうちの、4番目の領域に格納する。すなわち、制御部17は、プログラムメモリ15に既に格納されているバージョン「1.0」のプログラム91を消去せずに、バージョン「1.0」のプログラム91の格納領域とは別の格納領域にプログラムブロック60を格納する。
また、制御部17は、受信したプログラムブロック60をプログラムメモリ15に格納し終えると、プログラムの更新中であるとして、図6(a)に示すように、更新状況データ94を更新中のプログラムのバージョンを示す値に書換える。図6(a)に示す状態では、バージョン「1.1」のプログラムへ更新中であり、従って、制御部17は、更新状況データ94を「1.1」に書換える。
その後、図6(a)に示す状態において、無線受信部16により送信データブロック50を受信すると、その都度、制御部17は、まず、プログラムメモリ15に格納している更新状況データ94を基に、プログラムの更新中であるか否かを判断する。図6(a)に示す状態では、更新状況データ94は「1.1」であり、従って、制御部17は、バージョン「1.1」のプログラムの更新中であると判断する。そして、制御部17は、送信データブロック50に含まれるバージョン情報70が「1.1」であれば、プログラムの更新を継続し、プログラムメモリ15に格納している格納アドレスデータ93、及び、受信した送信データブロック50に含まれるブロックナンバー80を基に、受信したプログラムブロック60をプログラムメモリ15の該当する格納領域に格納する。
すなわち、制御部17は、無線受信部16によりバージョン情報70が「1.1」である送信データブロック50を受信すると、その都度、受信したプログラムブロック60を、上記ブロックナンバー80が「4」であるプログラムブロック60と同様に、プログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域を10個に分割した領域のうちの、該当する領域に格納してゆく。
これにより、図6(b)に示すように、バージョン「1.1」の更新用プログラムを構成する各プログラムブロック60(ブロックナンバー80の異なる各プログラムブロック60)が、プログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域に格納されてゆく。上述のように、送信データブロック50は、プログラム送信装置2から、各ブロックナンバー80のものが順に繰り返して送信される。しかし、受信環境等の影響により、受信できない送信データブロック50がある可能性がある。制御部17は、受信できた送信データブロック50に含まれるプログラムブロック60からプログラムメモリ15に格納してゆく。
図6(b)に示す状態では、ブロックナンバー80が「2」「4」「5」「7」「8」「9」「10」のプログラムブロック60がプログラムメモリ15に格納されており、ブロックナンバー80が「1」「3」「6」のプログラムブロック60が未だプログラムメモリ15に格納されていない。また、図6(b)に示す状態では、バージョン「1.1」の更新用プログラムを構成する全てのプログラムブロック60を格納し終えておらず、従って、制御部17は、プログラムの更新中であるとして、更新状況データ94を「1.1」に保持する。
なお、制御部17は、プログラムブロック60と共に受信したブロックナンバー80を基に、受信したプログラムブロック60と同じプログラムブロック60がプログラムメモリ15に未だに格納されていない場合に、受信したプログラムブロック60をプログラムメモリ15に格納する。すなわち、制御部17は、受信したプログラムブロック60と同じプログラムブロック60がプログラムメモリ15に既に格納されている場合には、受信したプログラムブロック60をもう一度プログラムメモリ15に格納(上書き)することは行わない。
そして、図6(c)に示すように、バージョン「1.1」の更新用プログラムを構成する全てのプログラムブロック60についてプログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域に格納し終えると、バージョン「1.1」のプログラム95(新しいバージョンのプログラム)がアドレス「0x3000」〜「0x4000」の領域に格納されたことになる。なお、「0x3000」〜「0x4000」の領域には、バージョン「1.1」のプログラム95と共に、プログラム95のバージョンが「1.1」であることを示すバージョンデータ(不図示)が格納される。
制御部17は、図6(c)に示すように、バージョン「1.1」の更新用プログラムを構成する全てのプログラムブロック60についてプログラムメモリ15に格納し終えると、開始アドレスデータ92を「0x3000」に書換え、格納アドレスデータ93を「0x1000」に書換え、更新状況データ94を「0.0」に書換えて、バージョン「1.1」のプログラム95の更新を完了とする。バージョン「1.0」のプログラム91(旧いバージョンのプログラム)は、アドレス「0x1000」〜「0x2000」の領域に残される。
開始アドレスデータ92を「0x3000」に書換えることにより、以降は、アドレス「0x3000」〜「0x4000」に格納されているバージョン「1.1」のプログラム95に基いてナビゲーション装置1の各種動作が制御される。また、格納アドレスデータ93を「0x1000」に書換えることにより、バージョン「1.1」よりも新しいバージョンのプログラムは、アドレス「0x1000」〜「0x2000」の格納領域に格納されることになる。また、更新状況データ94を「0.0」に書換えることにより、プログラムの更新中でないことが示される。
その後、図6(c)に示す状態において、図7(a)に示すように、無線受信部16により送信データブロック50を受信したとする。図7(a)に示す例では、送信データブロック50には、プログラムブロック60として、バージョン「1.2」のプログラムの7番目のプログラムブロックが含まれており、バージョン情報70は「1.2」となっており、ブロックナンバー80は「7」となっている。
制御部17は、無線受信部16により送信データブロック50を受信したことを受けて、まず、プログラムメモリ15に格納している更新状況データ94を基に、プログラムの更新中であるか否かを判断する。図7(a)に示す状態(図6(c)に示す状態において、送信データブロック50を受信した状態)では、更新状況データ94は「0.0」であり、従って、制御部17は、プログラムの更新中でないと判断する。
続いて、制御部17は、送信データブロック50に含まれる(すなわちプログラムブロック60と共に受信した)バージョン情報70を基に、受信したプログラムブロック60がプログラムメモリ15に既に格納されているバージョン「1.1」のプログラム95よりも新しいバージョンのプログラムを構成するものであるか否かを判断する。この判断は、送信データブロック50に含まれるバージョン情報70と、プログラムメモリ15に格納されているプログラム95のバージョンを示すバージョンデータ(プログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域にプログラム95と共に格納されている)と、を比較することにより行われる。
そして、受信したプログラムブロック60がプログラムメモリ15に既に格納されているバージョン「1.1」のプログラム95よりも新しいバージョンのプログラムを構成するものであれば、制御部17は、プログラムの更新が必要であると判断し、プログラムの更新を開始し、受信したプログラムブロック60をプログラムメモリ15に格納する。
図7(a)に示す状態では、送信データブロック50に含まれるバージョン情報70は「1.2」であり、プログラムメモリ15に格納されているバージョンデータは「1.1」であり、従って、受信したプログラムブロック60は、プログラムメモリ15に既に格納されているバージョン「1.1」のプログラム95よりも新しいバージョンのプログラムを構成するものである。従って、制御部17は、プログラムの更新が必要であると判断し、プログラムの更新を開始し、受信したプログラムブロック60をプログラムメモリ15に格納する。
このとき、制御部17は、プログラムメモリ15に格納している格納アドレスデータ93、及び、送信データブロック50に含まれる(プログラムブロック60と共に受信した)ブロックナンバー80を基に、受信したプログラムブロック60をプログラムメモリ15の該当する格納領域に格納する。
図7(a)に示す状態では、格納アドレスデータ93は「0x1000」であり、ブロックナンバー80は「7」である。従って、制御部17は、図7(b)に示すように、プログラムメモリ15のアドレス「0x1000」〜「0x2000」に格納されているバージョン「1.0」のプログラム91を消去して、受信したプログラムブロック60を、プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域を10個に分割した領域のうちの、7番目の領域に格納する。すなわち、制御部17は、プログラムメモリ15に既に格納されているバージョン「1.1」のプログラム95を消去せずに、バージョン「1.1」のプログラム95の格納領域とは別の格納領域にプログラムブロック60を格納する。
また、制御部17は、受信したプログラムブロック60をプログラムメモリ15に格納し終えると、プログラムの更新中であるとして、図7(b)に示すように、更新状況データ94を更新中のプログラムのバージョンを示す値に書換える。図7(b)に示す状態では、バージョン「1.2」のプログラムの更新中であり、従って、制御部17は、更新状況データ94を「1.2」に書換える。
その後、制御部17は、無線受信部16によりバージョン情報70が「1.2」である送信データブロック50を受信すると、その都度、受信したプログラムブロック60を、上記ブロックナンバー80が「7」であるプログラムブロック60と同様に、プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域を10個に分割した領域のうちの、該当する領域に格納してゆく。
これにより、バージョン「1.2」の更新用プログラムを構成する各プログラムブロック60(ブロックナンバー80の異なる各プログラムブロック60)が、プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域に格納されてゆく。
そして、図7(c)に示すように、バージョン「1.2」の更新用プログラムを構成する全てのプログラムブロック60についてプログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域に格納し終えると、バージョン「1.2」のプログラム96(新しいバージョンのプログラム)がアドレス「0x1000」〜「0x2000」の領域に格納されたことになる。なお、「0x1000」〜「0x2000」の領域には、バージョン「1.2」のプログラム96と共に、プログラム96のバージョンが「1.2」であることを示すバージョンデータ(不図示)が格納される。
制御部17は、図7(c)に示すように、バージョン「1.2」の更新用プログラムを構成する全てのプログラムブロック60についてプログラムメモリ15に格納し終えると、開始アドレスデータ92を「0x1000」に書換え、格納アドレスデータ93を「0x3000」に書換え、更新状況データ94を「0.0」に書換えて、バージョン「1.2」のプログラム96の更新を完了とする。バージョン「1.1」のプログラム95(旧いバージョンのプログラム)は、アドレス「0x3000」〜「0x4000」の領域に残される。
開始アドレスデータ92を「0x1000」に書換えることにより、以降は、アドレス「0x1000」〜「0x2000」に格納されているバージョン「1.2」のプログラム96に基いてナビゲーション装置1の各種動作が制御される。また、格納アドレスデータ93を「0x3000」に書換えることにより、バージョン「1.2」よりも新しいバージョンのプログラムは、アドレス「0x3000」〜「0x4000」の格納領域に格納されることになる。また、更新状況データ94を「0.0」に書換えることにより、プログラムの更新中でないことが示される。
その後、無線受信部16により送信データブロック50を受信すると、制御部17は、同様の処理を繰り返す。従って、プログラムを更新する都度、新しいバージョンのプログラムは、プログラムメモリ15のアドレス「0x1000」〜「0x2000」の領域とアドレス「0x3000」〜「0x4000」の領域とに交互に格納されてゆく。
なお、図6(c)に示す状態(バージョン「1.1」のプログラム95の更新を完了した状態)において、バージョン「1.1」の更新用プログラムを構成するプログラムブロック60を受信した場合には、制御部17は、プログラムブロック60と共に受信したバージョン情報70を基に、受信したプログラムブロック60がプログラムメモリ15に既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものではないと判断する。従って、この場合には、制御部17は、プログラムの更新を開始せず、同じバージョンのプログラムについての更新を行わない。
また、図6(a)(b)に示す状態(バージョン「1.1」のプログラム95の更新中の状態)において、バージョン「1.2」のプログラムブロック60を受信した場合には、制御部17は、プログラムブロック60と共に受信したバージョン情報70を基に、受信したプログラムブロック60がプログラムメモリ15に既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものであると判断する。従って、この場合には、制御部17は、途中まで進行しているバージョン「1.1」のプログラムの更新を中止して、プログラムメモリ15のアドレス「0x3000」〜「0x4000」の領域に既に格納しているバージョン「1.1」のプログラムブロック60を消去し、そして、バージョン「1.2」のプログラムについての更新を開始して、受信したバージョン「1.2」のプログラムブロック60をプログラムメモリ15の該当する領域に格納すると共に、更新状況データ94を「1.2」に書換える。
このように、制御部17は、無線受信部16により更新用プログラムを構成する任意のプログラムブロック60を受信したとき、そのプログラムブロック60が新しいバージョンのプログラムを構成するものであって、そのバージョンのいずれのプログラムブロック60もプログラムメモリ15に格納していなければ、そのバージョンのプログラムの更新を開始する。そして、制御部17は、無線受信部16により更新用プログラムを構成する任意のプログラムブロック60を受信する都度、そのプログラムブロック60が更新中のプログラムを構成するものであって、未だ格納していないブロックのものである場合に、その受信したプログラムブロック60をプログラムメモリ15に格納してゆく。このとき、制御部17は、プログラムメモリ15に既に格納されているプログラム(旧いバージョンのプログラム)を消去せずに、プログラムメモリ15に既に格納されているプログラムの格納領域とは別の格納領域に、プログラムブロック60を格納してゆく。そして、更新用プログラムを構成する全てのプログラムブロック60についてプログラムメモリ15に格納し終えると、そのバージョンのプログラムの更新を完了とする。
このような構成のナビゲーション装置1によれば、プログラム送信装置2から無線で送信される更新用プログラムを受信することにより、そのプログラムがプログラムメモリ15に格納されて、プログラムが更新される。すなわち、無線で送信される更新用プログラムを受信するだけで、プログラムを更新することができ、ユーザがプログラムを更新するための作業をすることなく、自動的に、プログラムを更新することができる。従って、使い勝手が良く、利便性が優れている。
しかも、更新用プログラムは、複数のブロックに分割したプログラムブロック60単位で送信され、プログラムブロック60単位で受信されてプログラムメモリ15に格納され、そして、更新用プログラムを構成する全てのプログラムブロック60が受信されてプログラムメモリ15に格納されると、プログラムの更新の完了となる。従って、更新用プログラムを構成する全てのプログラムブロック60を1度に受信できなかった場合には、その受信できなかったプログラムブロック60について、その後に受信できれば、プログラムが更新される。すなわち、更新用プログラムを構成する全てのプログラムブロック60を1度に受信すること(更新用プログラムの受信が途中で途絶えないこと)がプログラムの更新に必要な条件とはならず、更新用プログラムを構成する全てのプログラムブロック60を1度に受信することができなくても、プログラムの更新が可能となり、より確実に、プログラムを更新することができる。
また、プログラムブロック60は、プログラムブロック60と共に受信したブロックナンバー80を基に、同じプログラムブロック60がプログラムメモリ15に未だに格納されていないと判断される場合に、プログラムメモリ15に格納される。従って、同じプログラムブロック60が無駄に何度もプログラムメモリ15に格納されることがなく、プログラムメモリ15のデータ書換処理を軽減することができ、プログラムメモリ15の破損を抑えることができる。
また、プログラムブロック60は、プログラムブロック60と共に受信したバージョン情報70を基に、プログラムメモリ15に既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものであると判断される場合に、プログラムメモリ15に格納される。従って、同じバージョンの更新用プログラムが無駄に何度もプログラムメモリ15に格納されることがなく、プログラムメモリ15のデータ書換処理を軽減することができ、プログラムメモリ15の破損を抑えることができる。
さらに、新しいバージョンのプログラムに更新された後も、旧いバージョンのプログラムが残される。従って、新しいバージョンのプログラムが起動しない場合に、旧いバージョンのプログラムに基いて、ナビゲーション装置1の各種動作を制御することができる。
なお、本発明は、上記実施形態の構成に限られず、種々の変形が可能である。例えば、プログラム送信装置は、複数の場所に設置されていてもよい。また、本発明は、ナビゲーション装置に限られず、プログラムに基いて動作する電子機器であれば、どのような電子機器にも適用可能である。
(a)は本発明の一実施形態に係るナビゲーション装置の概略構成を示す斜視図、(b)は同ナビゲーション装置のディスプレイに表示される地図の例を示す図。 同ナビゲーション装置のプログラムの更新方法の概略を説明する図。 同ナビゲーション装置の電気的ブロック構成図。 (a)(b)は本発明のプログラム送信装置による更新用プログラムの送信方法を示す図。 (a)(b)は本発明のナビゲーション装置におけるプログラムの更新処理を説明する図。 (a)(b)(c)は同ナビゲーション装置におけるプログラムの更新処理を説明する図。 (a)(b)(c)は同ナビゲーション装置におけるプログラムの更新処理を説明する図。
符号の説明
1 ナビゲーション装置
2 プログラム送信装置
11 ディスプレイ
12 スピーカ
13 タッチパネル
14 位置・方向検出部
15 プログラムメモリ
16 無線受信部
17 制御部
21 地図画像
22 地名画像
23 矢印画像
24 メニューボタン画像
30 受信エリア
41 GPS受信機
42 地磁気センサ
43 ジャイロセンサ
50、50−1、50−2、50−3、・・・、50−10 送信データブロック
60、60−1、60−2、60−3、・・・、60−10 プログラムブロック
70 バージョン情報
80 ブロックナンバー
91 バージョン「1.0」のプログラム
92 開始アドレスデータ
93 格納アドレスデータ
94 更新状況データ
95 バージョン「1.1」のプログラム
96 バージョン「1.2」のプログラム

Claims (3)

  1. プログラムを格納するプログラムメモリと、前記プログラムメモリに格納されるプログラムの更新を制御する制御手段とを備える電子機器において、
    無線で送信される更新用プログラムを受信する受信手段を備え、
    前記更新用プログラムは、前記更新用プログラムを複数のブロックに分割したプログラムブロック単位で送信され、
    前記プログラムブロックは、該プログラムブロックが構成する更新用プログラムのバージョンを示すバージョン情報、及び該プログラムブロックが前記更新用プログラムを構成するいずれのブロックのものであるかを示すブロックナンバーが付与された形態で送信され、
    前記制御手段は、
    前記プログラムメモリに格納されるプログラムの更新中でないときに、前記受信手段により前記更新用プログラムを構成する任意のプログラムブロックを受信すると、
    プログラムブロックと共に受信したバージョン情報を基に、受信したプログラムブロックが前記プログラムメモリに既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものであるか否かを判断し、
    受信したプログラムブロックが、前記プログラムメモリに既に格納されているプログラムよりも新しいバージョンのプログラムを構成するものである場合に、前記プログラムメモリに格納されるプログラムの更新を開始し、受信したプログラムブロックを前記プログラムメモリに格納し、
    前記プログラムメモリに格納されるプログラムの更新中であるときに、前記受信手段により前記更新用プログラムを構成する任意のプログラムブロックを受信すると、
    プログラムブロックと共に受信したバージョン情報を基に、受信したプログラムブロックが更新中のプログラムを構成するものであるか否かを判断し、プログラムブロックと共に受信したブロックナンバーを基に、受信したプログラムブロックが前記プログラムメモリに既に格納されているか否かを判断し、
    受信したプログラムブロックが、更新中のプログラムと同じバージョンのプログラムを構成するものであって、前記プログラムメモリに未だに格納されていない場合には、更新中のプログラムの更新を継続し、受信したプログラムブロックを前記プログラムメモリに格納し、
    受信したプログラムブロックが、更新中のプログラムよりも新しいバージョンのプログラムを構成するものである場合には、更新中のプログラムの更新を中止し、受信したプログラムブロックに対応するバージョンのプログラムの更新を開始し、受信したプログラムブロックを前記プログラムメモリに格納し、
    更新中のプログラムを構成する全てのプログラムブロックについて前記プログラムメモリに格納し終えると、前記プログラムメモリに格納されるプログラムの更新を完了とし、
    受信したプログラムブロックを前記プログラムメモリに格納するとき、前記プログラムメモリに既に格納されている旧いバージョンのプログラムを消去せずに、前記プログラムメモリに既に格納されている旧いバージョンのプログラムの格納領域とは別の格納領域に、受信したプログラムブロックを格納する、
    ことを特徴とする電子機器。
  2. 前記制御手段は、
    前記プログラムメモリに格納されるプログラムの更新を完了すると、前記プログラムメモリに既に格納されている旧いバージョンのプログラムを残し、前記プログラムメモリに既に格納されている旧いバージョンのプログラムの格納領域をさらに新しいバージョンのプログラムに更新するときのプロクラムブロックの格納領域とする、
    ことを特徴とする請求項1に記載の電子機器。
  3. 前記プログラムメモリは、プログラムの更新状況を示す更新状況データをさらに格納し、
    前記制御手段は、
    前記プログラムメモリに格納されるプログラムの更新を開始すると、前記プログラムメモリに格納されている更新状況データを更新中のプログラムのバージョンを示す値に書換え、前記プログラムメモリに格納されるプログラムの更新を完了すると、前記プログラムメモリに格納されている更新状況データをプログラムの更新中でないことを示す値に書換え、
    前記プログラムメモリに格納されている更新状況データを基に、前記プログラムメモリに格納されるプログラムの更新中であるか否かを判断する、
    ことを特徴とする請求項1又は請求項2に記載の電子機器。
JP2007186657A 2007-07-18 2007-07-18 電子機器 Expired - Fee Related JP4992587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007186657A JP4992587B2 (ja) 2007-07-18 2007-07-18 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007186657A JP4992587B2 (ja) 2007-07-18 2007-07-18 電子機器

Publications (2)

Publication Number Publication Date
JP2009025937A JP2009025937A (ja) 2009-02-05
JP4992587B2 true JP4992587B2 (ja) 2012-08-08

Family

ID=40397705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007186657A Expired - Fee Related JP4992587B2 (ja) 2007-07-18 2007-07-18 電子機器

Country Status (1)

Country Link
JP (1) JP4992587B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6081049B2 (ja) * 2011-09-20 2017-02-15 富士通テン株式会社 画像処理装置、携帯機器、車両用装置、画像処理方法、及び、プログラム
EP2955629B1 (en) * 2014-06-11 2021-10-27 Home Control Singapore Pte. Ltd. System for installing new firmware on a small-memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3772054B2 (ja) * 1999-08-24 2006-05-10 株式会社東芝 無線システム、ソフトウェアダウンロード方法及び無線端末
JP4520671B2 (ja) * 2001-08-07 2010-08-11 ソフトバンクモバイル株式会社 ダウンロードシステム
JP4079899B2 (ja) * 2004-03-05 2008-04-23 埼玉日本電気株式会社 携帯無線通信端末のソフトウェア変更方法およびシステム

Also Published As

Publication number Publication date
JP2009025937A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
JP4882319B2 (ja) 情報表示装置
JP2006292522A (ja) 経路案内装置
JP2008216268A (ja) 地図情報管理システム、地図情報管理方法及び車載用地図情報管理装置
US8311735B2 (en) Navigation system
JP6754215B2 (ja) 地図表示システム、ナビゲーションシステム及びコンピュータプログラム
JP4992587B2 (ja) 電子機器
JP2011163951A (ja) ナビゲーション装置、ナビゲーションシステム
JP2011047662A (ja) ナビゲーション装置
JP5189339B2 (ja) 地図表示装置、地図表示方法、及び地図表示プログラム
JP2010197168A (ja) 経路案内装置及びプログラム
JPWO2007023897A1 (ja) 地図表示装置、地図表示方法、地図表示プログラムおよびコンピュータに読み取り可能な記録媒体
JP2008111693A (ja) 移動体装置および目標物情報検索方法
JP5255893B2 (ja) ナビゲーション装置
JP2008026181A (ja) 車載機器制御システム及び車載機器
JP2006003664A (ja) 地図表示装置及びナビゲーション装置
JP2009014630A (ja) ナビゲーション装置
JP2005308708A (ja) ナビゲーション装置
JP5508051B2 (ja) ナビゲーション装置
JP5061872B2 (ja) 地図データ利用装置、地図データ利用装置用のプログラム、および外部記憶媒体用データ
JP2010038589A (ja) 車載ナビゲーション装置、ナビゲーションシステム及びその制御方法
JP2009264875A (ja) ナビゲーション装置
JP5145107B2 (ja) ナビゲーション装置、地図配信システム
JP3511478B2 (ja) ナビゲーション装置、ナビゲーション装置における目的地座標指定方法
WO2012032619A1 (ja) 地図データ処理装置、更新地図データ配信装置、地図データ更新システム、地図データ更新方法
JP5355611B2 (ja) メニュー表示装置、メニュー表示方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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

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

Free format text: PAYMENT UNTIL: 20150518

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