説明

情報配信システム、そのICカード利用機器、プログラム

【課題】オンライン環境利用に制約のある機器の機器動作規定情報の更新の手間を大幅に軽減する。
【解決手段】既に新バージョンの機器動作規定情報へと更新済みの機器は、この新バージョンの機器動作規定情報を複数に分割してなる各プログラムブロックうちの1つを、当該機器を利用するユーザの利用者カード1に記憶させる。旧バージョンで動作している機器は、新バージョンのプログラムブロックを記憶している利用者カード1が自機に対して使用されると、所定の電子マネー決済処理等を行うと共に、この新バージョンのプログラムブロックを取得してプログラムブロック格納領域25に格納する。全てのプログラムブロックを取得したら、今度は上記更新済みの機器として動作することになる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカード利用機器の機器動作規定情報の更新を行うシステム等に関する。
【背景技術】
【0002】
例えば電子マネー決済端末等のような各所に点在する機器に対する機器動作規定情報(そのプログラムや設定情報等)の更新は、通常はセンタ装置と上記各機器間を通信回線で結び、オンラインにて更新される。しかし通信環境、コスト等の要因によってオンライン環境が構築出来ない機器、あるいはオンライン環境の利用を制限したい機器においては、メンテナンス要員が上記機器動作規定情報を記憶した記録媒体等を携帯して機器の設置現場に赴き、機器に直接インストールすることが一般的である。
【0003】
また、特許文献1では、機器内のプログラムの一部をICカード内に保持し、ICカードからプログラムを読み込むことでプログラムを利用可能とすることが提案されている。この提案はカードアクセス用の実行プログラムを、機器内とICカード内に分割して保持させ、カード利用時にカードから読み出して実行プログラムを完成させることにより、機器内からカードアクセス用プログラムが盗み取られて、カードが不正にアクセスされることを防止することを目的としている。
【0004】
しかし、本従来技術では機器内のプログラムを更新することは実現できず、カード内のプログラム情報を更新することで、実行プログラムの更新を実現しようとすると、カード内に多くのメモリ容量が必要となる。
【特許文献1】特開2006−107078号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記のように、オンライン環境利用に制約のある機器に対する機器動作規定情報の更新には、メンテナンス要員が上記記憶媒体等を携帯して機器の設置場所に赴く必要があり、特に全国の各所に多数点在する自販機、電子マネー決済端末等のような機器の場合には、その設定作業には手間とコストを要した。
【0006】
本発明の課題は、オンライン環境利用に制約のある機器に対する機器動作規定情報の更新を、この機器を利用する任意のユーザのICカードを利用して行えるようにすることで、メンテナンス要員の設定作業負担を大幅に軽減できる情報配信システム、そのICカード利用機器、プログラム等を提供することである。
【課題を解決するための手段】
【0007】
本発明の情報配信システムは、複数のICカード利用機器より成り、任意のユーザのICカードを利用するシステムであって、前記各ICカード利用機器は、自機に対して任意の前記ICカードが使用される毎に、該ICカードに記憶されている機器動作規定情報のバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている機器動作規定情報を新バージョンの機器動作規定情報として取得・格納する情報取得手段と、該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報を、前記ICカードに書き込む情報書込手段とを有し、前記ICカードは、少なくとも前記機器動作規定情報とその前記バージ
ョンとを記憶する記憶手段を有する。
【0008】
最初に、メンテナンス要員等が手作業により新バージョンの機器動作規定情報を任意のICカード利用機器にインストールする。このICカード利用機器は、任意のICカードに対して情報書込手段により新バージョンの機器動作規定情報を書き込む。その後、このICカードが他の(旧バージョンで動作している)ICカード利用機器で利用されると、その情報取得手段によって新バージョンの機器動作規定情報が取得され更新が行われることになる。新バージョンの機器動作規定情報へと更新されたICカード利用機器は、未だ新バージョンの機器動作規定情報が記憶されていないICカードが自機に対して使用されると、このICカードに対して情報書込手段により新バージョンの機器動作規定情報を書き込む。これを繰返すことで、新バージョンの機器動作規定情報が任意のICカードを介して機器から機器へと伝達(配信)されることになる。
【0009】
また、本発明の情報配信システムは、複数のICカード利用機器より成り、任意の複数のユーザのICカードを利用するシステムであって、前記各ICカード利用機器は、自機に対して任意の前記ICカードが使用される毎に、該ICカードに機器動作規定情報の一部である分割データと該機器動作規定情報のバージョンとが記憶されている場合、このバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている前記分割データを新バージョンの機器動作規定情報の一部として取得・格納する情報取得手段と、該情報取得手段によって前記分割データを取得したことで前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該新バージョンの機器動作規定情報を新たな現行バージョンの機器動作規定情報とする機器動作規定情報更新手段と、前記バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報の一部を前記分割データとして前記ICカードに書き込む情報書込手段とを有し、前記ICカードは、少なくとも前記分割データとそのバージョンとを記憶する記憶手段を有する。
【0010】
機器動作規定情報のデータ全てが1枚のICカードに記憶できない場合も想定できるので、この場合には、機器動作規定情報を複数に分割して、各分割データを各ICカードに記憶する。
【0011】
例えば、前記情報書込手段は、前記ICカードへ前記分割データとバージョンを書き込む際、該分割データの識別番号と該分割データの総数も前記ICカードに書き込み、前記情報取得手段は、該識別番号に基づいて前記ICカードに記憶されている分割データが既に取得済みであるか否かを判定し、取得済みである場合には該分割データの取得は行わず、前記機器動作規定情報更新手段は、前記分割データの総数と識別番号とに基づいて、前記新バージョンの機器動作規定情報の全ての分割データを取得できたか否かを判別する。
【0012】
また、例えば、前記各ICカード利用機器は、前記総数と取得済みの分割データの識別番号とに基づいて未取得の分割データの識別番号を判別し、該未取得の分割データの識別番号をリクエスト番号として前記ICカードに登録するリクエスト登録手段を更に有し、前記情報書込手段は、前記ICカードに任意の前記リクエスト番号が登録されている場合には、該リクエスト番号に対応する分割データを前記ICカードに書き込む。
【0013】
機器動作規定情報を分割して成る複数の分割データのうち、どの分割データをICカードに書き込むのかは、任意に(ランダムに)決定してもよいが、各受け取り側機器で必要とする(未取得の)分割データが書き込まれるとは限らず、効率が悪くなる可能性がある
。この為、上記の通り、各受け取り側機器が自機が未取得の分割データをICカードを介してリクエストできるようにする。
【0014】
また、例えば、前記ICカードの記憶手段には更に任意の前記ICカード利用機器の機器IDが登録可能となっており、前記各ICカード利用機器は、前記自機に対して使用された任意の前記ICカードに前記機器IDが登録されていない場合には自機の機器IDを登録可能であり、自機の機器IDが登録されているICカード利用機器だけが前記リクエスト番号の登録を行えるようにしてもよい。
【0015】
そして、例えば、前記自機の機器IDを任意の前記ICカードに登録したICカード利用機器は、前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該ICカードに登録した自機の機器IDを消去する。
【0016】
但し、何等かの理由により(引越し等)上記登録が行われたICカードのユーザが、登録元の機器を利用しなくなる可能性も考えられ、その場合には登録抹消できなくなり、他の機器が新たに登録することができなくなることが想定される。
【0017】
これに対して、例えば、任意の前記ICカードに登録された任意の前記機器IDは、該機器IDの登録元のICカード利用機器以外のICカード利用機器であっても、該登録元のICカード利用機器に対して一定期間以上前記ICカードが使用されなかった場合には、消去できるようにしてもよい。
【発明の効果】
【0018】
本発明の情報配信システム、そのICカード利用機器、プログラム等によれば、特別な装置を追加することなく、各所に点在しているオンライン環境利用に制約のあるカード利用機器に関して、当該核機器の機器動作規定情報更新に要するメンテナンス要員の手間を軽減することが可能となる。
【0019】
すなわち、メンテナンス要員は、多数のICカード利用機器のうちの一部の機器に対してのみ、直接機器の設置場所に赴いて機器動作規定情報を更新する作業を行えばよく、以降は各ICカード利用機器を利用するユーザのICカードを介して、機器から機器へ更新版の機器動作規定情報が伝達されることとなり、メンテナンス要員は全ての機器に対して更新作業を実施する必要はなくなり、大幅な運用コスト削減を実現することが可能となる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本例のカード利用機器の構成例を示す。
図示のカード利用機器10は、CPU11、プログラムメモリ12、プログラム・情報更新メモリ13、設定情報管理メモリ14、カード利用機器機能制御部15、ICカードR/W(リーダ/ライタ)16、アンテナ17等から成る。
【0021】
上記構成のうち、プログラム・情報更新メモリ13以外の構成は、既存の一般的なカード利用機器としての動作を実現するための構成であるので、ここでは特に説明しない。但し、CPU11は、既存の一般的な処理(電子マネー決済処理等)を実行する他に、所定のアプリケーションプログラムを実行することで、本手法によるプログラム更新に係る処理(例えば図4、図6、図9のフローチャートの処理等、後述する各種処理)も実行するものである。
【0022】
尚、カード利用機器10とは、上述したように例えば店舗のレジ横等に設置される電子
マネー決済端末やICカードによる料金支払いが行える自動販売機等、様々な装置であってよいが、少なくとも上記ICカードR/W(リーダ/ライタ)16及びアンテナ17を有することで、任意の各ユーザが所持するICカード(以下、利用者カード1という)との非接触型の通信を行う機能を有する機器(任意の一般ユーザによるICカードの利用が行われる機器;ICカード利用機器)であることが前提となる。尚、非接触型に限らず、接触型であってよい。
【0023】
以上述べたことから、以下、主に、本例のカード利用機器10の特徴であるプログラム・情報更新メモリ13及び上記CPU11によって実行される各種処理について説明していくものとする。
【0024】
ここで、まず、上記各カード利用機器10が上記各利用者カード1を利用して機器動作規定情報を更新する、という本手法のシステムについて概略的に説明する。
まず、前提として、上記の通りカード利用機器10は既存の電子マネー決済端末等に本例の各種機能が追加されたものであり、例えば各種店舗等、様々な場所に設置されており、多数台存在することになる。また、上記利用者カード1は、この様なカード利用機器10を利用して電子マネーによる精算等を行う任意の多数のユーザがそれぞれ所持するICカード等である。よって、以下の説明では逐一述べないが、カード利用機器10は、本例の処理以外にも通常の電子マネー決済処理等も行っている。
【0025】
また、利用者カード1は既存の一般的なICカード等であるが、そのメモリには本例の後述するプログラムブロック等を格納可能な空き領域があるものとする。
そして、上記システムでは、上記多数のカード利用機器10の機器動作規定情報の更新を、当該各カード利用機器10を利用する多数の一般ユーザの利用者カード1を利用して行うものである。すなわち、最初に、メンテナンス要員等が、上記各所に点在する多数のカード利用機器10のうちの一部の機器10に対して、上記従来通りに直接、新たな(更新版の;新バージョンの)機器動作規定情報をインストールする作業を行う。その後は、詳しくは後述する処理により、この更新版の機器動作規定情報が、利用者カード1を介して、他の(未だ更新されていない)各カード利用機器10に伝達(配信)されることになる。
【0026】
尚、本手法では、機器動作規定情報をネットワークを介して配信するものではなく、利用者カード1を介するものであるが、この様なものであっても上記の通り“配信”というものとする。
【0027】
これにより、メンテナンス要員は、全てのカード利用機器10に対して更新作業を実施する必要はなくなり、大幅な運用コスト削減を実現することが可能となる。
尚、上記「機器動作規定情報」とは、例えば機器10に組み込まれている所定のアプリケーションプログラム(プログラムメモリ12に格納されているプログラム;カード利用機器10はこのプログラムを実行することで所定の処理(電子マネー決済処理等)を実現する)、あるいは機器10の動作に必要な設定パラメータ(設定情報管理メモリ14に格納されている)等であるが、これら以外にも例えば鍵情報、利用するカードを制限するためのカードID情報等であってもよい。
【0028】
以下の説明では、一例として、上記プログラムメモリ12に格納されているプログラムをバージョンアップする場合を例にして説明するが、上記の通り、この様な例に限るものではない。
【0029】
更に、上記の通り本手法では利用者カード1のメモリの空いている未使用領域を使用するため、その容量には制限があることが想定される。よって機器動作規定情報全てを1枚
の利用者カード1に記憶させることが出来ない状況も考えられる。
【0030】
これより、以下の説明では、機器動作規定情報を複数に分割して複数の利用者カード1に分けて記憶させる手法を提案するが、この例に限らない。機器動作規定情報全てを1枚の利用者カード1に記憶させることが可能な場合であれば、分割せずに、機器動作規定情報全てを利用者カード1に記憶させて他のカード利用機器10に伝達(配信)させるようにしてもよい。
【0031】
上記の通り、本例では、機器動作規定情報全てを1枚の利用者カード1に記憶させることが出来ない場合に対応して、機器動作規定情報を複数に分割することで、各利用者カード1には機器動作規定情報の一部を記憶させて他のカード利用機器10に伝達(配信)
させる。すなわち、あたかもネットワーク上のパケット伝送のように、情報を分割して伝達(配信)させる。
【0032】
これにより、少ないメモリ容量しか持たないカードであっても、複数のカードを利用して、分割した情報を機器間で伝達することによって、例えば更新版の機器動作規定情報を保持するカード利用機器10から、他のカード利用機器10(旧バージョンの機器動作規定情報を保持している)に対して、複数のユーザの利用者カード1を介して、更新版(新バージョン)の機器動作規定情報を伝達(配信)させることで、メンテナンス要員の手を煩わせることなく、全てのカード利用機器10の機器動作規定情報のバージョンアップを行うことができる。
【0033】
更に、後述するように、上記機器動作規定情報の複数の分割データを効率的に伝達させる為に、カード内に登録する付加情報を利用したリクエスト&レスポンス的な情報交換を可能とし、これら情報交換によって必要な情報を効率的に伝達することが可能となる。
【0034】
以上概略的に説明した本システムの機能を実現する為に、まず、図1に示すプログラム・情報更新メモリ13を設けるようにしている。図1に示すように、プログラム・情報更新メモリ13には、現行プログラム情報と次期プログラム情報とが格納される。
【0035】
現行プログラム情報としては現行プログラムのバージョン21が格納される。尚、現行プログラムとは、現行動作中のプログラムである。すなわち、プログラムメモリ12に格納されて当該機器10の各種処理の実行に用いられる上記所定のアプリケーションプログラムである。
【0036】
次期プログラム情報としては次期プログラムのバージョン22、及び次期プログラム情報テーブル23が格納される。次期プログラムとは例えば上記現行プログラムの更新版の(新バージョン/次期バージョンの)プログラムである。例えば現行プログラムのバージョン21が1.0であった場合、次期プログラムのバージョン22は2.0等となる。但し、これは、次期プログラム情報テーブル23に格納される次期プログラムが完成していない(後述するプログラムブロック格納領域25に全てのプログラムブロックが格納済みの状態になっていない)場合である。次期プログラム情報テーブル23に次期プログラムに係るプログラムブロックが全て格納された場合、この次期プログラムを新たな現行プログラムとしてプログラムメモリ12に格納すると共に、現行プログラムのバージョン21を当該新たな現行プログラムのバージョンに更新する(上記の例ではバージョン21を2.0にする)。よって、この状態では、現行プログラムのバージョン21と次期プログラムのバージョン22は、同じになっていることになる。
【0037】
また、上記のように次期プログラムが完成してこれをプログラムメモリ12に格納した後も、次期プログラム情報テーブル23のプログラムブロックは消去せずに残しておく。
これは、それまでは次期プログラムの受け取り側であったものを、今度は次期プログラムの配信側として動作するので、その為に必要となるからである。詳しくは後述する。
【0038】
上記次期プログラム情報テーブル23について説明する。
図1に示すように、次期プログラム情報テーブル23は、プログラムブロックNo.24、プログラムブロック格納領域25、及びプログラム更新フラグ26から成る複数のレコードから構成される。
【0039】
各プログラムブロック格納領域25には、上述した機器動作規定情報の分割データ(ここでは上記次期プログラムを複数に分割してなる各分割プログラム(プログラムブロックと呼ぶものとする))が格納される。換言すれば、プログラムブロック格納領域25は、次期プログラムの分割データを順次格納するための記憶領域である。
【0040】
プログラムブロックNo.24はこれら各プログラムブロックの識別番号である。プログラム更新フラグ26は、上記各プログラムブロック格納領域25に上記次期プログラムのプログラムブロックが格納されたか否かを示すフラグ情報である。
【0041】
図2は、利用者カード1を介したプログラム配信(伝達)動作を概略的に示す図である。換言すれば、図2は、上記図1に示す構成の各カード利用機器10が、他のカード利用機器10及び上記一般ユーザの利用者カード1を利用して、自己のプログラムを次期プログラムへとバージョンアップする動作について概略的に示す図である。
【0042】
尚、図2では、複数のカード利用機器10の一例として、図示のカード利用機器A,B,Cを示し、また各一般ユーザがそれぞれ所持する利用者カード1の一例として図示の利用者カードa,b,cを示すが、これら以外にも多数のカード利用機器10、利用者カード1が存在するものである。
【0043】
図示の例では、カード利用機器A,Cが新バージョンプログラム(バージョンアップされたプログラム)で動作中であり、カード利用機器Bが旧バージョンプログラムで動作中であるものとする。尚、カード利用機器A,Cにおける新バージョンプログラムは、メンテナンス要員によって直接インストールされたものかもしれないし、以下に説明するカード利用機器Bの場合のように他のカード利用機器10から利用者カード1を介して伝達されたものかもしれない。
【0044】
他のカード利用機器から利用者カード1を介して伝達されたものである場合、上記の通り、各プログラムブロック格納領域25に新バージョンのプログラムの各プログラムブロックが格納された状態になっているので、これをそのまま使用する。メンテナンス要員によって直接インストールされたものである場合には、この新バージョンのプログラムをプログラムメモリ12からコピーして、これを上記複数のプログラムブロックに分割して上記各プログラムブロック格納領域25に格納する処理を行う。その際、プログラム更新フラグ26は全て“更新済”(例えばフラグON)とする。
【0045】
尚、各プログラムブロックの大きさ(データ容量)は予め決められて各カード利用機器10に設定されている。また、プログラムブロックNo.24も、例えば図1に示す1,2,3・・・というように所定の規則を用いて決定されるようになっている。よって、同一のプログラムに関してどのカード利用機器10で上記分割処理を実行しても、プログラムブロックの大きさやブロック数やプログラムブロックNo.は同一となる。また、上記各プログラムブロックの大きさ(データ容量)を、利用者カード1のメモリの空き領域に格納可能なデータ容量とすること等は当然のことである。
【0046】
上記のように新バージョンプログラムで動作しておりこの新バージョンプログラムの複数のプログラムブロックを保持しているカード利用機器A,Cは、任意のユーザが電子マネー決済等の為に自己の利用者カード1をICカードR/W16(そのアンテナ17)に翳す毎に、一般的な電子マネー決済等を行うと共に、上記複数のプログラムブロックのうちの1つをこの利用者カード1のメモリの空き領域に書き込む。利用者カード1に書き込むプログラムブロックは、その都度ランダムに選択される。その際、以前に選択されたプログラムブロックを除外してランダムに選択するようにしてもよい。これにより、使用される利用者カード1毎に異なるプログラムブロックが書き込まれる。
【0047】
上記のように利用者カード1に書き込むプログラムブロックをランダムに選択することで、複数のバージョンアップされたカード利用機器10から利用者カード1にプログラムブロックが書き込まれる場合においても、カード毎に異なるプログラムブロックが書き込まれる確率を上げることができる。
【0048】
上記のようにして、各利用者カードa,b,cには、それぞれ、カード利用機器AやCによって任意のプログラムブロックが書き込まれることになる。
そして、上記のように(そして図2にイメージを示すように)任意のプログラムブロックが記憶された各利用者カードa,b,cのユーザが、上記旧バージョンプログラムで動作中のカード利用機器Bを利用する(電子マネーによる精算等を行う)毎に、カード利用機器Bは、一般的な電子マネー決済等を行うと共に、利用者カードa,b,cに記憶されているプログラムブロックを読み出して、これをプログラムブロック格納領域25に格納する処理を行う。尚、図示していないが、各利用者カード1には、記憶されるプログラムブロックに対応するプログラムブロックNo.24やバージョン等も記憶される。
【0049】
カード利用機器Bには、更に不図示の他のカード利用機器によって任意のプログラムブロックが書き込まれた他の利用者カード1等も提示され、その都度、上記の通り、この利用者カード1に記憶されたプログラムブロックを取得してプログラムブロック格納領域25に格納することになる(但し、既に取得済みのものは再度格納する必要はない)。
【0050】
この様にしてカード利用機器Bは、新バージョンプログラムを分割して成る複数のプログラムブロックを、複数の利用者カード1を介して順次取得していき、全てのプログラムブロック(例えば図1に示すプログラムブロックNo.24が‘1’〜‘N’の全てのプログラムブロック)を取得してプログラムブロック格納領域25に格納したら、新バージョンプログラムを取得できたことになる。よって、上述した通り、この新バージョンプログラムを新たな現行プログラムとしてプログラムメモリ12に格納すると共に、現行プログラムのバージョン21を新バージョンプログラムのバージョンに更新する。
【0051】
以下、図3以降を参照して更に詳しく説明する。
図3には利用者カード1に記憶される情報の具体例を示す。
既に述べた通り利用者カード1には任意のプログラムブロックが格納されるだけでなく、そのバージョン情報等の各種情報が格納され、例えば図3に示す情報が格納される。
【0052】
図3に示す例では、利用者カード1のメモリに記憶される各種情報は、プログラムバージョン31、プログラムブロック総数32、プログラムブロックNo.33、プログラムブロック34、プログラムブロックチェックデータ35等である。
【0053】
プログラムブロック34は上記任意のプログラムブロック(新バージョンプログラムの一部)であり、プログラムバージョン31はこのプログラムブロック34(新バージョンプログラム)のバージョン情報であり、プログラムブロックNo.33はこのプログラムブロック34に対応する識別番号(上記プログラムブロックNo.24に相当)である。
プログラムバージョン31とプログラムブロックNo.33は、それぞれ図示の例では、バージョン‘Y’とNo.‘4’となっている。
【0054】
また、プログラムブロック総数32は新バージョンプログラムの分割数であり、図1に示す例ではプログラムブロックNo.24が‘1’〜‘N’になっているように分割数は‘N’個である。また、プログラムブロックチェックデータ35は、プログラムブロック34が破壊や改竄がされていないかのチェックを行う為の情報であり、例えばプログラムブロック34に基づくハッシュ値等である。
【0055】
また、図示の例のカード利用機器10は、現行プログラムのバージョン21は‘X’、次期プログラムのバージョン22は‘Y’となっている。つまり、このカード利用機器10は、現在、バージョンXのプログラムで動作しており、次期プログラムとしてバージョンYのプログラムに更新途中の状態である。また、少なくともプログラムブロックNo.=‘4’のプログラムブロックは、図示の通りそのプログラム更新フラグ26が“未”であることから、未だ取得していないことになる。尚、バージョンが上記一例のように数値で表される場合には、Y>Xの関係となる。
【0056】
この状態で図示の利用者カード1を図示のカード利用機器10で使用すると、カード利用機器10は、利用者カード1に記憶されている上記プログラムバージョン31及びプログラムブロックNo.33を参照することで、この利用者カード1に記憶されているプログラムブロック34が、自己が現在更新中のバージョンの未取得のプログラムブロックであると判定できる(バージョン31が次期プログラムのバージョン22と同じ(=‘Y’)であり(換言すればバージョン31が現行プログラムのバージョン21より大きい)且つプログラムブロックNo.33=‘4’に対応するプログラム更新フラグ26が‘未’(未取得)となっているので)。よって、利用者カード1からプログラムブロック34を読み出して、これを該当する(NO.24=‘4’の)レコードのプログラムブロック格納領域25に格納する。
【0057】
尚、その際、プログラムブロックチェックデータ35によって、既存の一般的な改竄チェック方法により、読み出したプログラムブロック34の情報が破壊や改竄がされていないかのチェックを行い、チェック結果が正常であれば上記該当するプログラムブロック格納領域25への格納を行い、チェック結果が異常であればプログラムブロック34を破棄するようにしてもよい。
【0058】
図4、図5は、カード利用機器10により実行される処理のフローチャート図(その1)、(その2)である。尚、図示のフローチャートの処理は、上記の通り、CPU11が予め記憶されている所定のアプリケーションプログラム(プログラム更新プログラムと呼ぶものとする)を実行することにより実現される。
【0059】
図4において、カード利用機器10は、利用者カード1を検出すると(ステップS11)、一旦、この利用者カード1に記憶されている情報を全て取り込む(ステップS12)。
【0060】
そして、まず、利用者カード1に記憶されたプログラムブロック34のプログラムバージョン31と、次期プログラムのプログラムバージョン22とを比較して、次期プログラムバージョン値の方が大きければ(ステップS13,NO)、すなわち次期プログラムの方がバージョンが新しい場合には、この利用者カード1のプログラムブロック34は取り込む必要はないと判定し(ステップS23)、図5に示す書き込み処理へと移行する。
【0061】
尚、利用者カード1にプログラムブロックが記憶されていない場合にも、ステップS1
3の判定はNOとなるものとする。
一方、バージョンが同じである場合には(ステップS13,YES、且つステップS14,YES)、プログラム更新フラグ26をチェックし、全てが“済”である場合、すなわち次期プログラムは既に取得済みである場合にも(ステップS22,YES)、この利用者カード1のプログラムブロック34は取り込む必要はないと判定し(ステップS23)、図5に示す書き込み処理へと移行する。但し、この場合には図5の処理を実行せずにそのまま本処理を終了させてもよい。
【0062】
バージョンが同じで(ステップS14,YES)且つ未だ次期プログラムの全てのプログラムブロックを取得していない場合には(ステップS22,NO)、ステップS17以降の処理に移行する。
【0063】
また、次期プログラムバージョン値の方がプログラムバージョン31よりも小さければ(ステップS13,YES、且つステップS14,NO)、すなわち利用者カード1に記憶されたプログラムブロック34の方がバージョンが新しい場合には、ステップS15、S16の処理を実行後、ステップS17以降の処理に移行する。
【0064】
尚、ここでは、例えば現行プログラムのバージョンが‘1.0’で、次期プログラムのバージョンが‘2.0’とし、次期プログラムのプログラムブロックが未だ全て取得されていない状態で例えば利用者カード1のプログラムバージョン31が‘3.0’であるような事態は、生じないものとする。
【0065】
よって、もしカード利用機器10が次期プログラムを更新中の(未だ全てのプログラムブロックを取得していない)状態であるならば、上記「ステップS13,YES、且つステップS14,NO」の判定になることは無い。上記「ステップS13,YES、且つステップS14,NO」の判定になるのは、前回の次期プログラムの更新処理が完了して当該次期プログラムがプログラムメモリ12に格納されて現行プログラムとして動作中の状態である。この場合、既に述べた通り、現行プログラムのバージョン21と次期プログラムのバージョン22とが一致している状態となっている。
【0066】
よって、上記「ステップS13,YES、且つステップS14,NO」の判定になるということは、現行プログラムに対するバージョンアップ版(新バージョン)のプログラムに係るプログラムブロックのうちの1つを始めて取得する状況であることになるので、バージョンアップのために更新プログラムの取込み準備動作を行なうことになり、これがステップS15、S16の処理である。
【0067】
すなわち、まず現在の次期プログラム情報テーブル23を消去して、新たな次期プログラム情報テーブル23を格納する記憶領域を確保する(ステップS15)。例えば、利用者カード1のプログラムブロック総数32を参照することで、このブロック総数分(本例では‘N’個分)のプログラムブロック取込み用の領域を確保する。この状態では未だ各プログラムブロック格納領域25には何も格納されていないが、各プログラムブロックNo.24には‘1’から上記ブロック総数(=N)まで順に番号を付し、更にプログラム更新フラグ26は全て‘未’(未取得)とする。
【0068】
更に、次期プログラムのバージョン22には、利用者カード1のプログラムバージョン31を記憶する(ステップS16)。
ステップS17以降の処理は、既に図3で説明した通りである。
【0069】
すなわち、利用者カード1に記憶されているプログラムブロック34が既に取得済みのものであるか否かを、プログラムブロックNo.33の番号に対応するプログラム更新フ
ラグ26を参照することで判定する(ステップS17)。そして、既に取得済みである場合には(ステップS17,YES)、取り込み不要と判定し(ステップS24)、本処理を終了する。
【0070】
一方、未取得である場合には(ステップS17,NO)、上記の通りプログラムブロックチェックデータ35を用いて改竄等がされていないかをチェックし、チェック結果がNGである場合にも(ステップS18,NO)取り込み不要と判定し(ステップS24)、本処理を終了する。チェック結果がOKであれば(ステップS18,YES)、利用者カード1に記憶されていたプログラムブロック34を、該当するプログラムブロック格納領域25に格納すると共に(ステップS19)、そのプログラム更新フラグ26を“済”(取得済み)にする(ステップS20)。
【0071】
尚、図4に示すステップS13,S14の処理では、利用者カード1に記憶されたバージョンと次期プログラムバージョンとを比較して判定したが、この例に限らず、利用者カード1に記憶されたバージョンと現行プログラムバージョンとを比較して同様の判定を行っても良い。
【0072】
この場合、カードの方が旧バージョンの場合には当然取り込み不要(ステップS23)となり、書き込む処理に移ることになる。一方、カードの方が新バージョンの場合には、ステップS17以降の処理に移行することになる(未取得であれば取り込むことになる)。もし未だ新バージョンのプログラムブロックを1つも取得していない状態であれば(ステップS14の判定を行ってもよいし、他の方法を用いても良い)、ステップS15,S16の処理を行う。また、カードのバージョンが現行プログラムバージョンと同じである場合には、当然取り込み不要(ステップS23)となり、書き込む処理に移ることになる。
【0073】
また、プログラムを分割しなくても1枚のカード1に格納可能であれば、次期プログラム情報は必要ない。そして、現行プログラムバージョンとカード1に記憶されているプログラムのバージョンとを比較して、カード1の方が新バージョンであればカード1のプログラムの取り込みを行ってこれを新たな現行プログラムとする。一方、カード1の方が旧バージョンであれば現行プログラムをカード1に記憶する。バージョンが同じであれば何も行わない。
【0074】
続いて、図5の利用者カード1へのプログラムブロック書き込み処理について説明する。
まず、既に説明してあるように、カード利用機器10においては、任意の次期プログラムへの更新が完了した時点から次の次期プログラムへの更新が開始されるまでの間は、現行プログラムバージョンと次期プログラムバージョンが一致している。また、動作しているプログラムと同じプログラムデータが、ブロックに分割化されてプログラム・情報更新メモリ13内に記録されている。この時、全てのプログラムブロックのプログラム更新フラグ26は、“済”(更新済み)となっている。つまり、次期プログラムを取得完了して当該次期プログラムを現行プログラムとした後も、プログラム・情報更新メモリ13内の次期プログラム情報テーブル23はそのまま残してある(当該次期プログラムの各プログラムブロックは残してある)。
【0075】
上記ステップS14がYESでステップS22がYESとなる場合には、以上述べた状態で、図5の処理を行うことになる。また、ステップS13がNOとなる場合には、以上述べた状態又は未だ次期プログラム更新途中の状態で、図5の処理を行うことになる。何れにしても、次期プログラム情報テーブル23には1つ以上のプログラムブロックが格納されていることになる。
【0076】
図5の処理は、任意のカード利用機器10がプログラム配信側となる場合の処理であり、次期プログラム情報テーブル23に記憶されているプログラムブロックのうちの任意の1つのプログラムブロック(次期プログラムの分割データ)を、その識別番号やバージョン情報、分割数などの情報と共に、利用者カード1のメモリに記憶させる処理である。
【0077】
すなわち、図5に示すように、まず、カード利用機器10内の次期プログラムバージョン22を、利用者カード1内のプログラムバージョン31に書き込み(ステップS31)、プログラムブロック総数(ここではN個)を利用者カード1内のプログラムブロック総数32へ書込む(ステップS32)。更に、任意のプログラムブロックNo.24をランダムに選択する(ステップS33)。すなわち、利用者カード1に書き込むべきプログラムブロックをランダムに選択する。そして、選択したプログラムブロックのチェックデータを生成し(ステップS34)、当該選択されたプログラムブロック、そのチェックデータ、及びプログラムブロックNo.24を、それぞれ、利用者カード1内に上記プログラムブロック34、プログラムブロックチェックデータ35、及びプログラムブロックNo.33として書き込む(ステップS35)。
【0078】
尚、図示していないが、ステップS33で選択したプログラムブロックNo.を記録しておき、次回にステップS33の処理を行う際には、記録されているプログラムブロックNo.、すなわち以前に選択されたプログラムブロックNo.は除外して、これ以外のプログラムブロックNo.をランダムに選択するようにしてもよい。
【0079】
また、上記のように利用者カード1にプログラムブロック総数32及びプログラムブロックNo.33を書込むことで、上記プログラムブロック34の受け取り側となるカード利用機器10では、図4で説明したように、ブロック総数32に基づき必要な情報記録エリアを確保すると共に必要なプログラムブロックの数を認識し、プログラムブロックNo.33によって利用者カード1に記憶されているプログラムブロックの格納位置を判断すると共に、未取得のプログラムブロック(その番号)を認識することが可能となる。
【0080】
図6に、図5の処理の様子を示す。
図6に示す例では、カード利用機器10において、次期プログラムバージョンYに関してプログラムブロックNo.24が‘1’〜‘N’の全てのプログラムブロック格納領域25にプログラムブロックが格納されており、従ってプログラム更新フラグ26は全て“済”となっている状態である。よって、プログラムメモリ12にはバージョンYのプログラムが格納されており、このバージョンYのプログラムで動作しており、当然、現行プログラムのバージョンもYとなっている。
【0081】
尚、通常、バージョンは1.0、1.1、2.0等のように数値で表され、一般的に、より新しいバージョンはより値が大きくなるので、これによりバージョンの新旧を判別できる。
【0082】
この状態で提示された利用者カード1のプログラムバージョン31が“X”であり、ここではY>X(つまり、Yの方が新しいバージョン)であるとすると、上記図5の処理が実行されることになり、図示の通り、プログラムバージョン31がXからYへと変更され、更にここでは仮にランダムな選択によりプログラムブロックNo.=‘4’のプログラムブロックが選択されるとした場合、利用者カード1におけるプログラムブロック総数32にはNが、プログラムブロックNo.33には‘4’がそれぞれ格納され、更に選択されたプログラムブロックが新たなプログラムブロック34として記憶されることになる。
【0083】
これまで説明した手法では、プログラムブロックの配信側のカード利用機器10、すな
わち図5の処理を行うカード利用機器10は、上述した通り利用者カード1に書き込むプログラムブロックをランダムに決定している為、利用者カード1に書き込まれるプログラムブロックが、プログラム受け取り側のカード利用機器10で必要としている情報とは限らないことになる。この為、全体的なプログラム配信処理効率がよいものとは言えないことになる。
【0084】
以下、上記問題を解決する本手法の変形例(以下、変形例1という)について説明する。
変形例1では、図7(a)、(b)に示すように、プログラム受け取り側の(旧バージョンプログラムで動作している)カード利用機器10が、新バージョンプログラム(次期プログラム)に関して未取得のプログラムブロックのプログラムブロックNo.を、リクエストブロック番号として利用者カード1に記録する。これにより、プログラム配信側の(新バージョンプログラムで動作している)カード利用機器10が、このリクエストブロック番号のプログラムブロックを利用者カード1に記録することで、プログラム受け取り側の機器10は、効率的にプログラムの取得・収集を行うことができる。
【0085】
上記の通り、そして図7(a)、(b)に示すように、変形例1では、利用者カード1のメモリ内に、上記リクエストブロック番号を書き込み可能な記憶領域(図示のリクエスト番号格納領域37)が設けられている。また、プログラム取込み済みフラグ36が記憶されている。
【0086】
リクエスト番号格納領域37には、任意のプログラム受け取り側の機器10が、自己が未取得のプログラムブロックのプログラムブロックNo.を、1つ以上書き込む領域である。プログラム取込み済みフラグ36は、利用者カード1内に記憶されているプログラムブロック34を、プログラム受け取り側の機器10が取り込んだか否かを示すフラグである。本例では取り込み済みの場合はフラグOFF(図示の“済”)、未だ取り込んでいない場合はフラグON(図示の“未”)であるものとする。
【0087】
上記利用者カード1を用いる上記プログラム受け取り側の処理について図7(a)を参照して説明し、プログラム配信側の処理については図7(b)を参照して説明する。
まず、図7(a)を参照して上記プログラム受け取り側のカード利用機器10の処理について説明する。図4においてステップS17以降の処理に進むカード利用機器10が、プログラム受け取り側の機器10であり、例えば図4のステップS20の処理実行後、以下に説明する処理を実行するものである。
【0088】
すなわち、ステップS19によって利用者カード1内に記憶されているプログラムブロック34を取り込んだ機器10は、上記ステップS20の処理後、まず、当該取り込んだプログラムブロックのプログラムブロックNo.が、自己が以前にこの利用者カード1のリクエスト番号格納領域37に登録した番号である場合には(リクエスト登録の際に、登録した番号やこれを書き込んだカードのカードID等を記憶しておくことで判断できる)、上記プログラム取込み済みフラグ36を、ON(未)→OFF(済)にする。更に、取り込んだプログラムブロックのプログラムブロックNo.をリクエスト番号格納領域37から削除するようにしてもよい。
【0089】
また、利用者カード1のプログラムブロックを取り込んだか否かや、取り込んだプログラムブロックが自己がリクエストしたものであるか否かに係らず、未取得の(フラグ26が“未”となっている)プログラムブロックがある場合には、そのうちの任意の1つ以上のプログラムブロック(例えばランダムに選択する)のプログラムブロックNo.を、上記リクエスト番号格納領域37に書き込む。
【0090】
例えば図7(a)に示す例では、カード利用機器10における次期プログラムのバージョン22及び利用者カード1に格納されているプログラムブロックのバージョン31は、共にバージョン“Y”であり、利用者カード1にはプログラムブロックNo.33=‘4’のプログラムブロック34が格納されており、図示のカード利用機器10はNo.33=‘4’のプログラムブロックは未取得の状態である。
【0091】
よって、図示のカード利用機器10は、利用者カード1からNo.33=‘4’のプログラムブロックを取得して、これを該当する(ブロックNo.24=‘4’の)プログラムブロック格納領域25に格納し、そのフラグ26を“済”にする。更に図示の例では、自己が未取得のプログラムブロックのプログラムブロックNo.=‘1’、‘3’、‘N’を、上記リクエストブロック番号(No.)として、リクエスト番号格納領域37に格納する。
【0092】
そして、ここでは図示のカード利用機器10がNo.33=‘4’のリクエスト元の機器であったとすると、図示の機器10は更に、利用者カード1のプログラム取込み済みフラグ36をON(未)からOFF(済)にする。また、リクエスト番号格納領域37からリクエストブロックNo.=‘4’を削除する。なお、削除と同時に新たなリクエストブロック番号を追加格納する場合もある。
【0093】
一方、プログラム提供側の機器10、すなわち図5の処理を実行する機器10は、図5の処理におけるステップS33の代わりに(ランダムに選択する代わりに)、プログラムブロック格納領域25を参照することで、利用者カード1に書き込むべきプログラムブロックを決定する。例えば、プログラムブロック格納領域25に格納されているリクエストブロック番号が1つのみであれば、この番号のプログラムブロックを利用者カード1に書き込むことになり、複数のリクエストブロック番号が格納されていれば(上記の例では、ブロックNo.=‘1’、‘3’、‘N’)、そのうちの任意の1つを選択して(たとえばランダムに決定する)、選択された番号のプログラムブロックを利用者カード1に書き込むことになる。
【0094】
但し、その前に、プログラム取込み済みフラグ36を参照して、フラグがON(未)である場合には、現在カード1に登録されているプログラムブロック34は、まだリクエストブロック番号の登録元の機器10に取り込まれていないことを示すので、新規のプログラムブロックの書き込みは行なわない。
【0095】
一方、プログラム取込み済みフラグ36がOFF(済)である場合には、上述した利用者カード1に書き込むべきプログラムブロックの決定とカード1への書き込み処理を行うことになるが、その際、プログラム取込み済みフラグ36をOFF(済)からON(未)へと変更する。
【0096】
この様にすることで、利用者カード1に記憶されたプログラムブロック34は、リクエストブロック番号の登録元の機器10で取り込まれるまでは書き換えられないことになる。
【0097】
図7(a)の説明においてフラグ36がOFF(済)にされた利用者カード1が、任意のプログラム提供側の機器10で使用された場合、プログラム取込み済みフラグ36がOFF(済)であることから、リクエスト番号格納領域37を参照して新たなプログラムブロックを利用者カード1に書き込むことになる。
【0098】
図7(b)に示す例では、リクエスト番号格納領域37に格納されたリクエストブロック番号=‘1’、‘3’、‘N’のうち‘3’が選択されて、プログラムブロックNo.
=‘3’のプログラムブロックが、利用者カード1に記憶されると共に、プログラム取込み済みフラグ36をOFF(済)からON(未)へと変更する。尚、当然、プログラムブロックNo.33は‘4’から‘3’へと変更される。
【0099】
上記のように、変形例1では、より効率的に必要な情報を収集することが可能となる。
尚、リクエスト番号格納領域37は複数のカード利用機器10が共有することができる。従って、図7には示していないが、上記リクエストブロック番号=‘1’、‘3’、‘N’を書き込んだカード利用機器10以外の他のカード利用機器10が、同様にして、自己が必要とする(未取得の)リクエストブロック番号をリクエスト番号格納領域37に格納することができる。但し、この手法では、状況によってはリクエスト番号格納領域37に格納されるリクエストブロック番号の数が非常に多くなってしまう可能性もある。つまり、プログラムブロック収集効率が落ちる可能性がある。
【0100】
この為、以下に説明する他の変形例(変形例2という)は、任意のカード利用機器10が、任意の利用者カード1を、自己が欲しい情報を優先的に運ぶ専用の情報キャリアカードにすることができる。
【0101】
図8に、当該変形例2における利用者カード1のデータ格納例を示す。
図示の例で利用者カード1に格納される各種データのうち、図7(a)、(b)に示すものと同一のものには同一符号を付して、その説明は省略し、異なる点のみ説明する。図8に示す利用者カード1が図7(a)、(b)に示す利用者カード1と異なる点は、図示の主インストール先機器ID41が更に格納される点である。
【0102】
そして、当該変形例2においては、任意の利用者カード1の主インストール先機器ID41に自己の識別IDを登録したカード利用機器10のみが、この利用者カード1のリクエスト番号格納領域37に任意のリクエストブロック番号を記憶させることが可能となっている。これにより、後述するように、当該利用者カード1を、主インストール先機器ID41に登録した機器10の必要とするリクエストブロックを優先的に集めるカードとすることができる。
【0103】
尚、他のカード利用機器10は、リクエストブロック番号の登録は行えないが、図4と同様の処理は行える。すなわち、カード利用機器10に記憶されているプログラムブロック34が、自己が未取得のものであれば、これを取り込むこと等はできる。但し、他のカード利用機器10がプログラムブロック34を取り込んだ場合、リクエスト元の機器10が取り込んだわけではないので、プログラム取込み済みフラグ36の変更は行われない。
【0104】
図9に、当該変形例2におけるカード利用機器10の処理フローチャート図を示す。
尚、図9において、図4に示す処理と略同一の処理については同一符号を付してある。
図9の処理では、上記図4のステップS11、S12の処理を実行後、まず、ステップS40の処理を行う。このステップS40の処理(現行プログラムバージョン≧カード内プログラムバージョン?)は、図4のステップS13、S14、S22の処理と略同様と考えてよい。
【0105】
すなわち、ステップS40の判定がYESとなる場合とは、ステップS13がNO、又はステップS14がYES且つステップS22がYESの場合と考えてよく、この場合には図4でも説明した通り、ステップS23の処理に移り、更に図5の処理へ移行してもよい。同様に、ステップS40の判定がNOになる場合とは、ステップS13がYESになることを前提として更に、図4のステップS14がNO、又はステップS14がYES且つステップS22がNOの場合と考えてよい。よって、ステップS14の判定がNOに相当する状況の場合、ステップS15、S16の処理を行ってもよい。
【0106】
尚、ステップS40の処理では、上記の通り、現行プログラムのバージョン21とカード内のプログラムバージョン31との比較を行っているが、これは図4でも説明した通り、カード内のプログラムバージョン31と比較するのは、次期プログラムのバージョン22であってもよいし現行プログラムのバージョン21であってもよいからである。
【0107】
そして、ステップS40の判定がNOの場合には、ステップS41以降の処理を行う。
まず、利用者カード1の主インストール先機器ID41に既にIDが登録されているか否かを判定し(ステップS41)、登録済みの場合には(ステップS41,YES)、それが自己のIDであるか否かを判定し(ステップS45)、もし他の機器10のIDである場合には(ステップS45,NO)、この利用者カード1は既に他の機器10専用の情報キャリアカードとなっていることになるので、ステップS46の処理を実行する。
【0108】
ステップS46の処理は、図4のステップS17、S18,S19,S20,及びS24の処理に相当する処理である。すなわち、他の機器10専用の情報キャリアカードであるので、自己のIDの登録やリクエストブロック番号の登録は行えないが、上記の通り、そのプログラムブロック34の取込み等は行える。すなわち、そのカード1が記憶しているプログラムブロック情報が未取得のものであれば、カード1内のプログラムブロック34を取り込んで処理を終了する。
【0109】
一方、登録済みの主インストール先機器ID41が自身の機器IDと一致していた場合(ステップS45,YES)、このカード1は既に自機専用の情報キャリアカードとなっていることになる。
【0110】
よって、この場合には、まず、ステップS43の処理を行う。ステップS43の処理では、まず、ステップS46と略同様の処理を行う。そして、プログラム取込み済フラグ36を“済”とする。また、今回取り込んだプログラムブロック34のブロックNo.をリクエスト番号格納領域37から削除する。
【0111】
続いて、図7(a)で説明した処理と同様にして、自己が未取得の1以上のプログラムブロックNoを利用者カード1のリクエスト番号格納領域37に登録する(ステップS44)。尚、ステップS43の処理の際に、プログラム取込み済フラグ36が“済”の状態であった場合は、自身は既に取り込んだプログラムブロックが記憶されたままで、新たに必要なプログラムブロックはまだカード1に記憶されていないことを意味するため、プログラムブロックの取り込みは行なわず処理を終了する。
【0112】
一方、主インストール先機器ID41が未登録であった場合には(ステップS41,NO)、当該カード1を自機の情報キャリアカードとするために、主インストール先機器ID41に自機の機器IDを登録する(ステップS42)。そして、上記ステップS43,S44の処理を実行する。
【0113】
また、図9には示していないが、その主インストール先機器ID41に自機の機器IDを登録された利用者カード1から、任意のプログラムブロックを取得した結果、全てのプログラムブロックを取得した状態となった場合には、これ以上プログラムブロックを取得する必要はないので、主インストール先機器ID41に登録されている自身の機器IDを削除する。つまり、当該カード1を他の機器10が自己の情報キャリアカードとして利用出来るように解放する。
【0114】
上記の通り、変形例2において、任意のカード1を自己の情報キャリアカードとしている機器10は、更新版プログラムに関する全てのプログラムブロックを取得したならば、
当該カード1を他の機器10が自己の情報キャリアカードとして利用出来るように解放することができる。
【0115】
しかしながら、状況によっては、いつまでもカード1が解放されることなく、そのままとなる場合もあり得る。例えば何らかの理由で任意の利用者カード1を自己の情報キャリアカードとした機器10を、当該利用者カード1のユーザが使用しなくなった(例えば引越し等で利用場所が変わった場合等)場合などである。
【0116】
この様な場合に対応して、主インストール先機器ID41に登録した機器10が上記解放を行わなくても、他の機器10においてカード1を解放できるようにする変形例(以下、変形例3という)、換言すれば主インストール先機器IDによる情報キャリアカード化の権限を抹消することができる変形例3について、以下に説明する。
【0117】
まず、図10(a)、(b)に、変形例3において利用者カード1のメモリに格納される各種情報のデータ構成を示す。図10(a)には変形例3における第1の手法、図10(b)には変形例3における第2の手法に係る上記データ構成を示す。
【0118】
以下の第1、第2の手法は、その方法は異なるものの、基本的に、任意のカード1に対して自機の機器IDを登録した機器10が、一定期間以上このカード1に利用されなかった場合には、他の機器10であってもこのカード1から登録を抹消できるようにする、という点では同じである。
【0119】
まず、図10(a)を参照して、変形例3における第1の手法について説明する。
当該第1の手法では、利用者カード1のメモリには、図8に示す各種情報に加えて更に図10(a)に示す通り利用機器IDログ51が格納される。
【0120】
この利用者カード1が使用された機器10は、その都度自身の機器IDを上記利用機器IDログ51として当該利用者カード1のメモリに記録しておく。この処理は、例えば図9におけるステップS12の処理後等に実行する。利用機器IDログ51はサイクリックに記録することとし、記録容量を越えた場合は古い記録から上書きされて削除されていく。
【0121】
これより、この複数の利用機器IDログ51のなかに主インストール先機器ID41と同一のIDが無い場合は、この利用者カード1が主インストール先機器ID41の機器10で一定の利用回数の期間使用されなかったことを意味する。これはこの利用者カード1の利用者が他の生活エリアに移動してしまったり利用習慣が変わったこと等によって、当該機器10での利用が行なわれなくなった可能性を示し、このままこの利用者カード1が当該機器10の専用キャリアとして使用されることは、情報の更新効率を低下させることを意味する。
【0122】
よって、特に処理フロー等は図示しないが、例えば図9の処理中に、上記利用者カード1に記憶されている複数の利用機器IDログ51のなかに主インストール先機器ID41と同一のIDがあるか否かを判定し、無い場合には、主インストール先機器ID41を削除する処理を追加する。この様に、自己の機器IDを主インストール先機器ID41として登録した機器10以外の機器であっても、上記判定結果に応じて主インストール先機器ID41を削除することを許可されるようにすることで、上記登録元の機器10以外の他の機器10が、この利用者カード1を自身の専用キャリアカードとして登録することが可能となり(あるいは専用キャリアカードとしないで使用してもよい)、情報の更新効率を低下させることはなくなる。
【0123】
以下に説明する第2の手法も、上記第1の手法とはやり方が異なるだけであり、目的・効果は略同様である。
すなわち、第2の手法では、上記利用機器IDログ51を記録する方法の代わりに、図10(b)に示すように、利用者カード1のメモリに「主インストール先機器最終利用日時」61を記録する。
【0124】
上記利用機器IDログ51は基本的に全ての機器10が記憶するものであったが、「主インストール先機器最終利用日時」61は、自己の機器IDを主インストール先機器ID41として登録した機器10(以下、専用キャリア化登録機器10という)のみが、記録・更新することができる。
【0125】
すなわち、上記専用キャリア化登録機器10は、図10(b)に示す利用者カード1のユーザが当該専用キャリア化登録機器10を利用する毎に、その都度、そのときの日時を(利用日時)を「主インストール先機器最終利用日時」61に記録する処理を行う。この為、この利用者カード1のユーザが当該専用キャリア化登録機器10を利用しないと、「主インストール先機器最終利用日時」61の日時は更新されないことになる。
【0126】
これより、全ての機器10は、例えば図9の処理の際に以下の処理も実行することで、この利用者カード1のユーザが専用キャリア化登録機器10を長期間利用していない場合等には、専用キャリア化登録機器10以外の他の機器10であっても主インストール先機器ID41を削除できるようにする。
【0127】
すなわち、各機器10は、例えば図9の処理の際等に、利用者カード1から上記「主インストール先機器最終利用日時」61を読み出してこれと現在日時とを差を求める。すなわち最後に利用日時61が更新されたときからの経過時間を求める。そして、この経過時間が、予め設定される所定期間を越えたか否かを判定し、超えている場合には主インストール先機器ID41を削除する。
【0128】
この様にすることで、上記第1の手法と同様、情報の更新効率を低下させることはなくなる。
尚、上述した説明では、利用者カード1に記録・登録される情報、カード利用機器10内に保管されている情報に対する、暗号化・秘匿化等のデータ処理については言及していないが、基本的に、これらデータ処理も実行されること前提としている。但し、この点は特に本手法に影響するものではなく、上記の通り、特に説明していない。
【0129】
以上説明したように、本例の情報配信システム、そのICカード利用機器、プログラム等によれば、特別な装置を追加することなく、各所に点在しているオンライン環境利用に制約のあるカード利用機器に関して、当該核機器の機器動作規定情報更新に要するメンテナンス要員の手間を軽減することが可能となる。
【0130】
すなわち、メンテナンス要員は、多数のICカード利用機器のうちの一部の機器に対してのみ、直接機器の設置場所に赴いて機器動作規定情報を更新する作業を行えばよく、以降は各ICカード利用機器を利用するユーザのICカードを介して、機器から機器へ更新版の機器動作規定情報が伝達されることとなり、メンテナンス要員は全ての機器に対して更新作業を実施する必要はなくなり、大幅な運用コスト削減を実現することが可能となる。
【0131】
更に、プログラム受け取り側(旧バージョンで動作している)機器が、カード1を介して未取得のプログラムブロックをリクエストできるので、プログラム取得効率が向上する。あるいは、任意のカード1を自機用のカードにしてプログラム取得効率を上げることが
できる。
【図面の簡単な説明】
【0132】
【図1】カード利用機器の構成例である。
【図2】利用者カードを介したプログラム配信(伝達)動作を概略的に示す図である。
【図3】利用者カードに記憶される情報の具体例を示す図である。
【図4】カード利用機器により実行される処理のフローチャート図(その1)である。
【図5】カード利用機器により実行される処理のフローチャート図(その2)である。
【図6】図5の処理の様子を示す図である。
【図7】変形例1の動作を示す図であり、(a)はリクエスト側、(b)はプログラム提供側の動作を示す図である。
【図8】変形例2における利用者カードのデータ格納例を示す図である。
【図9】変形例2におけるカード利用機器の処理フローチャート図である。
【図10】(a)、(b)は、変形例3において利用者カードのメモリに格納される各種情報のデータ構成例である。
【符号の説明】
【0133】
1 利用者カード
10 カード利用機器
11 CPU
12 プログラムメモリ
13 プログラム・情報更新メモリ
14 設定情報管理メモリ
15 カード利用機器機能制御部
16 ICカードR/W(リーダ/ライタ)
17 アンテナ
21 現行プログラムのバージョン
22 次期プログラムのバージョン
23 次期プログラム情報テーブル
24 プログラムブロックNo.
25 プログラムブロック格納領域
26 プログラム更新フラグ
31 プログラムバージョン
32 プログラムブロック総数
33 プログラムブロックNo.
34 プログラムブロック
35 プログラムブロックチェックデータ
36 プログラム取込み済みフラグ
37 リクエスト番号格納領域
41 主インストール先機器ID
51 利用機器IDログ
61 主インストール先機器最終利用日時

【特許請求の範囲】
【請求項1】
複数のICカード利用機器より成り、任意のユーザのICカードを利用するシステムであって、
前記各ICカード利用機器は、
自機に対して任意の前記ICカードが使用される毎に、該ICカードに記憶されている機器動作規定情報のバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている機器動作規定情報を新バージョンの機器動作規定情報として取得・格納する情報取得手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報を、前記ICカードに書き込む情報書込手段とを有し、
前記ICカードは、少なくとも前記機器動作規定情報とその前記バージョンとを記憶する記憶手段を有することを特徴とする情報配信システム。
【請求項2】
複数のICカード利用機器より成り、任意の複数のユーザのICカードを利用するシステムであって、
前記各ICカード利用機器は、
自機に対して任意の前記ICカードが使用される毎に、該ICカードに機器動作規定情報の一部である分割データと該機器動作規定情報のバージョンとが記憶されている場合、このバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている前記分割データを新バージョンの機器動作規定情報の一部として取得・格納する情報取得手段と、
該情報取得手段によって前記分割データを取得したことで前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該新バージョンの機器動作規定情報を新たな現行バージョンの機器動作規定情報とする機器動作規定情報更新手段と、
前記バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報の一部を前記分割データとして前記ICカードに書き込む情報書込手段とを有し、
前記ICカードは、少なくとも前記分割データとそのバージョンとを記憶する記憶手段を有することを特徴とする情報配信システム。
【請求項3】
前記情報書込手段は、前記ICカードへ前記分割データとバージョンを書き込む際、該分割データの識別番号と該分割データの総数も前記ICカードに書き込み、
前記情報取得手段は、該識別番号に基づいて前記ICカードに記憶されている分割データが既に取得済みであるか否かを判定し、取得済みである場合には該分割データの取得は行わず、
前記機器動作規定情報更新手段は、前記分割データの総数と識別番号とに基づいて、前記新バージョンの機器動作規定情報の全ての分割データを取得できたか否かを判別することを特徴とする請求項2記載の情報配信システム。
【請求項4】
前記各ICカード利用機器は、
前記総数と取得済みの分割データの識別番号とに基づいて未取得の分割データの識別番号を判別し、該未取得の分割データの識別番号をリクエスト番号として前記ICカードに
登録するリクエスト登録手段を更に有し、
前記情報書込手段は、前記ICカードに任意の前記リクエスト番号が登録されている場合には、該リクエスト番号に対応する分割データを前記ICカードに書き込むことを特徴とする請求項3記載の情報配信システム。
【請求項5】
前記ICカードの記憶手段には更に任意の前記ICカード利用機器の機器IDが登録可能となっており、
前記各ICカード利用機器は、前記自機に対して使用された任意の前記ICカードに前記機器IDが登録されていない場合には自機の機器IDを登録可能であり、自機の機器IDが登録されているICカード利用機器だけが前記リクエスト番号の登録を行えることを特徴とする請求項4記載の情報配信システム。
【請求項6】
前記自機の機器IDを任意の前記ICカードに登録したICカード利用機器は、前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該ICカードに登録した自機の機器IDを消去することを特徴とする請求項5記載の情報配信システム。
【請求項7】
任意の前記ICカードに登録された任意の前記機器IDは、該機器IDの登録元のICカード利用機器以外のICカード利用機器であっても、該登録元のICカード利用機器に対して一定期間以上前記ICカードが使用されなかった場合には、消去できることを特徴とする請求項5又は6記載の情報配信システム。
【請求項8】
自機に対して任意の前記ICカードが使用される毎に、該ICカードに記憶されている機器動作規定情報のバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている機器動作規定情報を新バージョンの機器動作規定情報として取得・格納する情報取得手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報を、前記ICカードに書き込む情報書込手段と、
を有することを特徴とするICカード利用機器。
【請求項9】
自機に対して任意の前記ICカードが使用される毎に、該ICカードに機器動作規定情報の一部である分割データと該機器動作規定情報のバージョンとが記憶されている場合、このバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている前記分割データを新バージョンの機器動作規定情報の一部として取得・格納する情報取得手段と、
該情報取得手段によって前記分割データを取得したことで前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該新バージョンの機器動作規定情報を新たな現行バージョンの機器動作規定情報とする機器動作規定情報更新手段と、
前記バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報の一部を前記分割データとして前記ICカードに書き込む情報書込手段と、
を有することを特徴とするICカード利用機器。
【請求項10】
ICカード利用機器のコンピュータを、
自機に対して任意の前記ICカードが使用される毎に、該ICカードに記憶されている機器動作規定情報のバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている機器動作規定情報を新バージョンの機器動作規定情報として取得・格納する情報取得手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報を、前記ICカードに書き込む情報書込手段、
として機能させるためのプログラム。
【請求項11】
ICカード利用機器のコンピュータを、
自機に対して任意の前記ICカードが使用される毎に、該ICカードに機器動作規定情報の一部である分割データと該機器動作規定情報のバージョンとが記憶されている場合、このバージョンと、自機の現在の動作に用いている機器動作規定情報のバージョンである現行バージョンとを比較して、該2つのバージョンの新旧を判定するバージョン新旧判定手段と、
該バージョン新旧判定手段の判定の結果、前記ICカードのバージョンの方が前記現行バージョンよりも新しい場合には、該ICカードに記憶されている前記分割データを新バージョンの機器動作規定情報の一部として取得・格納する情報取得手段と、
該情報取得手段によって前記分割データを取得したことで前記新バージョンの機器動作規定情報の全ての分割データを取得できた場合、該新バージョンの機器動作規定情報を新たな現行バージョンの機器動作規定情報とする機器動作規定情報更新手段と、
前記バージョン新旧判定手段の判定の結果、前記ICカードのバージョンが前記現行バージョンよりも旧い場合には、前記現行バージョンの機器動作規定情報の一部を前記分割データとして前記ICカードに書き込む情報書込手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate