(57)【要約】【課題】非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることが可能な情報処理装置、ソフトウェア更新制御方法、プログラム、および情報処理システムを提供する。【解決手段】ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置であって、少なくとも１以上の更新対象データと更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部と、ＩＣチップ搭載装置に対して更新対象データのバージョンに関する情報を要求し、要求に応じて送信されたバージョンに関する情報と差分判定用データとに基づいて、記憶部に記憶された更新対象データとＩＣチップ搭載装置に記憶された更新対象データとの差分を判定する差分判定部と、差分判定部の判定結果に応じて差分データをＩＣチップ搭載装置へ送信する差分データ送信部とを備える情報処理装置が提供される。【選択図】図２
2009070158.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置であって：
少なくとも１以上の更新対象データと、前記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部と；
前記ＩＣチップ搭載装置に対して前記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求し、前記要求に応じて前記ＩＣチップ搭載装置から送信された前記バージョンに関する情報と前記差分判定用データとに基づいて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定する差分判定部と；
前記差分判定部の判定結果に応じて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、前記ＩＣチップ搭載装置へ送信する差分データ送信部と；
を備えることを特徴とする、情報処理装置。
【請求項２】
前記差分データの送信の完了を判定する送信完了判定部と；
前記ＩＣチップ搭載装置との間で行われるサービス処理を行う処理部と；
をさらに備え、
前記処理部は、前記送信完了判定部の判定結果に応じてサービス処理を開始することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記差分判定部は、前記更新対象データのバージョンに関する情報として、前記ＩＣチップ搭載装置に記憶された各更新対象データのバージョン番号を要求することを特徴とする、請求項１に記載の情報処理装置。
【請求項４】
前記記憶部は、前記記憶部に記憶された更新対象データのバージョンと、前記更新対象データのその他のバージョンとの間の差分情報が記憶されたテーブルを前記差分判定用データとして記憶し、
前記差分判定部は、前記ＩＣチップ搭載装置から送信されたバージョン番号と前記テーブルとに基づいて、前記差分を判定することを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記差分判定部は、前記更新対象データのバージョンに関する情報として、前記ＩＣチップ搭載装置に記憶された更新対象データのデータブロックの情報が記録されたブロック情報を要求することを特徴とする、請求項１に記載の情報処理装置。
【請求項６】
前記記憶部は、前記記憶部に記憶された更新対象データごとにデータブロックの情報が記録されたブロック情報を、前記差分判定用データとして記憶し、
前記差分判定部は、前記ＩＣチップ搭載装置から送信されたブロック情報と前記記憶部に記憶されたブロック情報とに基づいて、前記差分を判定することを特徴とする、請求項５に記載の情報処理装置。
【請求項７】
前記ＩＣチップ搭載装置に対して前記ＩＣチップ搭載装置の装置種別を規定する装置種別情報を要求し、前記要求に応じて前記ＩＣチップ搭載装置から送信される装置種別情報に基づいて前記ＩＣチップ搭載装置の装置種別を判定する通信対象判定部をさらに備え、
前記差分判定部は、前記通信対象判定部の判定結果に応じて前記更新対象データのバージョンに関する情報の要求を行うことを特徴とする、請求項１に記載の情報処理装置。
【請求項８】
前記差分判定部は、
前記通信対象判定部が前記ＩＣチップ搭載装置をＩＣカードと判定した場合には、前記更新対象データのバージョンに関する情報の要求を行い、
前記通信対象判定部が前記ＩＣチップ搭載装置をＩＣカードではないと判定した場合には、前記更新対象データのバージョンに関する情報の要求を行わないことを特徴とする、請求項７に記載の情報処理装置。
【請求項９】
前記差分判定部は、前記ＩＣチップ搭載装置のＩＣチップ内の内部メモリ、および／または、ＩＣチップ外の外部メモリに記憶された更新対象データのバージョンに関する情報を要求することを特徴とする、請求項１に記載の情報処理装置。
【請求項１０】
前記差分判定部は、前記ＩＣチップ搭載装置のＩＣチップ内の内部メモリにおけるアクセス制限が設定可能なアクセス制限領域に記憶された更新対象データのバージョンに関する情報を要求することを特徴とする、請求項１に記載の情報処理装置。
【請求項１１】
少なくとも１以上の更新対象データと、前記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部を備え、ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置におけるソフトウェア更新制御方法であって：
前記ＩＣチップ搭載装置に対して前記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求するステップと；
前記要求するステップに応じて前記ＩＣチップ搭載装置から送信された前記更新対象データのバージョンに関する情報と、前記差分判定用データとに基づいて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定するステップと；
前記判定するステップにおける判定結果に応じて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、前記ＩＣチップ搭載装置へ送信するステップと；
を有することを特徴とする、ソフトウェア更新制御方法。
【請求項１２】
少なくとも１以上の更新対象データと、前記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部を備え、ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置に用いることが可能なプログラムであって：
前記ＩＣチップ搭載装置に対して前記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求するステップ；
前記要求するステップに応じて前記ＩＣチップ搭載装置から送信された前記更新対象データのバージョンに関する情報と、前記差分判定用データとに基づいて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定するステップ；
前記判定するステップにおける判定結果に応じて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、前記ＩＣチップ搭載装置へ送信するステップ；
をコンピュータに実行させるためのプログラム。
【請求項１３】
情報処理装置と、前記情報処理装置と非接触通信可能なＩＣチップを搭載したＩＣチップ搭載装置とを有する情報処理システムであって：
前記情報処理装置は、
少なくとも１以上の更新対象データと、前記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部と；
前記ＩＣチップ搭載装置に対して前記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求し、前記要求に応じて前記ＩＣチップ搭載装置から送信された前記バージョンに関する情報と前記差分判定用データとに基づいて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定する差分判定部と；
前記差分判定部の判定結果に応じて、前記記憶部に記憶された前記更新対象データと前記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、前記ＩＣチップ搭載装置へ送信する差分データ送信部と；
を備え、
前記ＩＣチップ搭載装置は、
前記ＩＣチップの内部に設けられ、前記情報処理装置から送信される前記バージョンに関する情報の要求、または前記差分データを受信し、前記バージョンに関する情報の要求に応じた更新対象データのバージョンに関する情報を前記情報処理装置へ送信するチップ内通信部と；
前記ＩＣチップの内部に設けられ、更新対象データを記憶可能な内部メモリと；
前記ＩＣチップの外部に設けられ、更新対象データを記憶可能な外部メモリと；
前記チップ内通信部が受信した前記バージョンに関する情報の要求に応じて、前記内部メモリ、および／または、前記外部メモリから前記更新対象データのバージョンに関する情報を読み出して送信させ、前記チップ内通信部が受信した前記差分データに基づいて、前記内部メモリ、および／または、前記外部メモリに記憶された更新対象データを更新するメモリ管理部と；
を備えることを特徴とする、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ソフトウェア更新制御方法、プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
近年、非接触式ＩＣ（Integrated  Circuit）カードや、非接触式ＩＣチップを搭載した携帯電話など、リーダ／ライタ（または、リーダ／ライタ機能を有する情報処理装置）と非接触式に通信可能なＩＣチップ搭載装置が普及している。
【０００３】
上記のようなリーダ／ライタと非接触式に通信可能なＩＣチップ搭載装置は、耐タンパ性を有するＩＣチップを備えることにより、例えば、電子マネーなどデータの改竄が問題となるデータの送受信や更新を安全に行うことができる。したがって、上記のようなリーダ／ライタと非接触式に通信可能な非接触式ＩＣチップを搭載したＩＣチップ搭載装置を利用した様々なサービスの提供が社会的に広がっている。そして、サービスの提供の広がりに伴い、非接触式ＩＣチップを搭載した携帯電話などのＩＣチップ搭載装置の普及がさらに進んでいる。
【０００４】
また、携帯電話などのＩＣチップ搭載装置は、年々多機能、高機能化が進んでいる。例えば、ＩＣチップ搭載装置に搭載されたＩＣチップの中には、交通機関向けのサービスや電子マネーサービス、あるいは入退室管理などのセキュリティサービスなど複数のサービスに対応するものが登場している。また、ＩＣチップ搭載装置には、例えば、「携帯電話・移動体端末向けの１セグメント部分受信サービス」などに対応した地上デジタル放送受信機能や、音楽再生機能、あるいはＷｅｂページを閲覧するためのブラウザ（Browser）機能が搭載され、またその強化が図られている。
【０００５】
例えば、上記のように複数のサービスに対応したＩＣチップを搭載したＩＣチップ搭載装置に対してサービスを提供する技術としては、特許文献１が挙げられる。
【０００６】
【特許文献１】特開２００５−５６１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＩＣチップ搭載装置の多機能、高機能化が進むにつれ、ＩＣチップ搭載装置に搭載された機能を実現するためのソフトウェアにはより多くの不具合（いわゆる、バグ）が生じるようになった。そのため、ＩＣチップ搭載装置のメーカー（製造者）は、ＩＣチップ搭載装置のユーザが所有するＩＣチップ搭載装置内のソフトウェアの不具合などの修正、あるいは、機能追加や機能の強化を行うために、例えば、携帯電話の基地局からの電波を介して、あるいはインターネット（Internet）を通じて書き換え用のソフトウェアを提供している。
【０００８】
しかしながら、例えば、ＩＣチップ搭載装置が基地局からの電波を受信できない場合には、ＩＣチップ搭載装置は書き換え用のソフトウェアを受信できず、ＩＣチップ外に記憶されるソフトウェアの書き換えを行うことはできない。例えば、インターネットへの接続環境がない場合にも同様である。
【０００９】
さらに、メーカーから提供される書き換え用のソフトウェアをＩＣチップ搭載装置が受信するためには、例えば、ユーザがアップデート（update）操作（ソフトウェアの更新操作）を手動で行わなければならない、あるいは、ユーザが自動的にアップデートを行う設定やアップデートの予約設定を行わなければならないなど、ユーザに所定の操作を強いていた。
【００１０】
また、従来のＩＣチップを搭載したＩＣチップ搭載装置に対してサービスを提供する技術では、例えば、ＩＣチップ搭載装置が基地局からの電波を受信できない場所であっても、ＩＣチップ搭載装置が搭載するＩＣチップを用いて非接触式にサービスを提供することはできる。しかしながら、従来のＩＣチップを搭載したＩＣチップ搭載装置に対してサービスを提供する技術では、ＩＣチップ搭載装置に搭載された機能を実現するためにＩＣチップ内、および／または、ＩＣチップ外に記憶されるソフトウェアの書き換えについては、何らの考慮もなされていない。したがって、従来のＩＣチップを搭載したＩＣチップ搭載装置に対してサービスを提供する技術では、ＩＣチップ搭載装置に搭載された機能を実現するためにＩＣチップ内、および／または、ＩＣチップ外に記憶されるソフトウェアの書き換えを行うことはできない。
【００１１】
したがって、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることが可能な仕組みが希求されていた。
【００１２】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることが可能な、新規かつ改良された情報処理装置、ソフトウェア更新制御方法、プログラム、および情報処理システムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の第１の観点によれば、ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置であって、少なくとも１以上の更新対象データと、上記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部と、上記ＩＣチップ搭載装置に対して上記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求し、上記要求に応じて上記ＩＣチップ搭載装置から送信された上記バージョンに関する情報と上記差分判定用データとに基づいて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定する差分判定部と、上記差分判定部の判定結果に応じて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、上記ＩＣチップ搭載装置へ送信する差分データ送信部とを備える情報処理装置が提供される。
【００１４】
上記情報処理装置は、記憶部と、差分判定部と、差分データ送信部とを備えることができる。記憶部は、書き換えの対象（更新対象）となる少なくとも１以上の更新対象データと、差分の判定に用いることが可能な更新対象データそれぞれに対応する差分判定用データとを記憶することができる。差分判定部は、ＩＣチップ搭載装置に対してＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求することができる。また、差分判定部は、送信したバージョンに関する情報の要求に対して返信されたバージョンに関する情報と、記憶部に記憶された差分判定用データとに基づいて、記憶部に記憶された更新対象データとＩＣチップ搭載装置に記憶された更新対象データとの差分を判定することができる。差分データ送信部は、差分判定部における判定結果に応じて、差分に対応する差分データをＩＣチップ搭載装置へ送信することができる。かかる構成により、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【００１５】
また、上記差分データの送信の完了を判定する送信完了判定部と、上記ＩＣチップ搭載装置との間で行われるサービス処理を行う処理部とをさらに備え、上記処理部は、上記送信完了判定部の判定結果に応じてサービス処理を開始してもよい。
【００１６】
かかる構成により、ソフトウェアの書き換え処理とサービス処理とを連続して行うことができるので、ユーザが各種サービスの提供を受けるための操作を行うだけで、ＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる
【００１７】
また、上記差分判定部は、上記更新対象データのバージョンに関する情報として、上記ＩＣチップ搭載装置に記憶された各更新対象データのバージョン番号を要求してもよい。
【００１８】
かかる構成により、ＩＣチップ搭載装置に記憶された各更新対象データのバージョンを把握することができる。
【００１９】
また、上記記憶部は、上記記憶部に記憶された更新対象データのバージョンと、上記更新対象データのその他のバージョンとの間の差分情報が記憶されたテーブルを上記差分判定用データとして記憶し、上記差分判定部は、上記ＩＣチップ搭載装置から送信されたバージョン番号と上記テーブルとに基づいて、上記差分を判定してもよい。
【００２０】
かかる構成により、差分を判定し、差分に相当するデータの書き換えを行わせることができるので、全てのデータを書き換える処理を用いる場合と比べてより短い時間で書き換え処理を完了させることができる。
【００２１】
また、上記差分判定部は、上記更新対象データのバージョンに関する情報として、上記ＩＣチップ搭載装置に記憶された更新対象データのデータブロックの情報が記録されたブロック情報を要求してもよい。
【００２２】
かかる構成により、ＩＣチップ搭載装置に記憶された各更新対象データのバージョンを把握することができる。
【００２３】
また、上記記憶部は、上記記憶部に記憶された更新対象データごとにデータブロックの情報が記録されたブロック情報を、上記差分判定用データとして記憶し、
上記差分判定部は、上記ＩＣチップ搭載装置から送信されたブロック情報と上記記憶部に記憶されたブロック情報とに基づいて、上記差分を判定してもよい。
【００２４】
かかる構成により、差分を判定し、差分に相当するデータの書き換えを行わせることができるので、全てのデータを書き換える処理を用いる場合と比べてより短い時間で書き換え処理を完了させることができる。
【００２５】
また、上記ＩＣチップ搭載装置に対して上記ＩＣチップ搭載装置の装置種別を規定する装置種別情報を要求し、上記要求に応じて上記ＩＣチップ搭載装置から送信される装置種別情報に基づいて上記ＩＣチップ搭載装置の装置種別を判定する通信対象判定部をさらに備え、上記差分判定部は、上記通信対象判定部の判定結果に応じて上記更新対象データのバージョンに関する情報の要求を行ってもよい。
【００２６】
かかる構成により、ＩＣチップ搭載装置の装置種別に応じてＩＣチップ搭載装置に記憶された更新対象データの更新をフレキシブルに制御することができる。
【００２７】
また、上記差分判定部は、上記通信対象判定部が上記ＩＣチップ搭載装置をＩＣカードと判定した場合には、上記更新対象データのバージョンに関する情報の要求を行い、上記通信対象判定部が上記ＩＣチップ搭載装置をＩＣカードではないと判定した場合には、上記更新対象データのバージョンに関する情報の要求を行わなくてもよい。
【００２８】
かかる構成により、例えば、他のソフトウェアの更新手段を有さないＩＣカードに対しては、ソフトウェア（更新対象データ）の書き換えを行い、また、他のソフトウェアの更新手段を有する携帯電話などに対しては、ソフトウェア（更新対象データ）の書き換えを行わないなど、ＩＣチップ搭載装置の装置種別に応じてＩＣチップ搭載装置に記憶された更新対象データの更新をフレキシブルに制御することができる。
【００２９】
また、上記差分判定部は、上記ＩＣチップ搭載装置のＩＣチップ内の内部メモリ、および／または、ＩＣチップ外の外部メモリに記憶された更新対象データのバージョンに関する情報を要求してもよい。
【００３０】
かかる構成により、ＩＣチップ搭載装置が備えるＩＣチップの内外を問わず、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【００３１】
また、上記差分判定部は、上記ＩＣチップ搭載装置のＩＣチップ内の内部メモリにおけるアクセス制限が設定可能なアクセス制限領域に記憶された更新対象データのバージョンに関する情報を要求してもよい。
【００３２】
かかる構成により、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたセキュア（secure）なソフトウェアの書き換えを行わせることができる。
【００３３】
また、上記目的を達成するために、本発明の第２の観点によれば、少なくとも１以上の更新対象データと、上記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部を備え、ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置におけるソフトウェア更新制御方法であって、上記ＩＣチップ搭載装置に対して上記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求するステップと、上記要求するステップに応じて上記ＩＣチップ搭載装置から送信された上記更新対象データのバージョンに関する情報と、上記差分判定用データとに基づいて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定するステップと、上記判定するステップにおける判定結果に応じて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、上記ＩＣチップ搭載装置へ送信するステップとを有するソフトウェア更新制御方法が提供される。
【００３４】
かかる方法を用いることにより、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【００３５】
また、上記目的を達成するために、本発明の第３の観点によれば、少なくとも１以上の更新対象データと、上記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部を備え、ＩＣチップを搭載したＩＣチップ搭載装置と非接触通信可能な情報処理装置に用いることが可能なプログラムであって、上記ＩＣチップ搭載装置に対して上記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求するステップ、上記要求するステップに応じて上記ＩＣチップ搭載装置から送信された上記更新対象データのバージョンに関する情報と、上記差分判定用データとに基づいて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定するステップ、上記判定するステップにおける判定結果に応じて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、上記ＩＣチップ搭載装置へ送信するステップをコンピュータに実行させるためのプログラムが提供される。
【００３６】
かかるプログラムにより、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【００３７】
また、上記目的を達成するために、本発明の第４の観点によれば、情報処理装置と、上記情報処理装置と非接触通信可能なＩＣチップを搭載したＩＣチップ搭載装置とを有する情報処理システムであって、上記情報処理装置は、少なくとも１以上の更新対象データと、上記更新対象データそれぞれに対応する差分判定用データとを記憶する記憶部と、上記ＩＣチップ搭載装置に対して上記ＩＣチップ搭載装置に記憶された更新対象データのバージョンに関する情報を要求し、上記要求に応じて上記ＩＣチップ搭載装置から送信された上記バージョンに関する情報と上記差分判定用データとに基づいて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分を判定する差分判定部と、上記差分判定部の判定結果に応じて、上記記憶部に記憶された上記更新対象データと上記ＩＣチップ搭載装置に記憶された更新対象データとの差分に対応する差分データを、上記ＩＣチップ搭載装置へ送信する差分データ送信部とを備え、上記ＩＣチップ搭載装置は、上記ＩＣチップの内部に設けられ、上記情報処理装置から送信される上記バージョンに関する情報の要求、または上記差分データを受信し、上記バージョンに関する情報の要求に応じた更新対象データのバージョンに関する情報を上記情報処理装置へ送信するチップ内通信部と、上記ＩＣチップの内部に設けられ、更新対象データを記憶可能な内部メモリと、上記ＩＣチップの外部に設けられ、更新対象データを記憶可能な外部メモリと、上記チップ内通信部が受信した上記バージョンに関する情報の要求に応じて、上記内部メモリ、および／または、上記外部メモリから上記更新対象データのバージョンに関する情報を読み出して送信させ、上記チップ内通信部が受信した上記差分データに基づいて、上記内部メモリ、および／または、上記外部メモリに記憶された更新対象データを更新するメモリ管理部とを備える情報処理システムが提供される。
【００３８】
かかる構成により、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【発明の効果】
【００３９】
本発明によれば、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【発明を実施するための最良の形態】
【００４０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００４１】
（本発明の実施形態が対象とする問題の一例）
本発明の実施形態に係る情報処理システムについて説明する前に、まず、本発明の実施形態に係る情報処理システムが対象とする問題の一例について説明する。
【００４２】
図１は、本発明の実施形態に係る情報処理システムが対象とする問題の一例を説明するための説明図であり、ユーザがＩＣチップを搭載した携帯電話を使用する場合を例に挙げている。
【００４３】
図１（ａ）に示すように、携帯電話のユーザは、所定の画面からアップデート操作を行うことによって、携帯電話の基地局を介してサーバ（Server）と通信を行い、例えば、ファームウェア（firmware）などの各種ソフトウェアの書き換え（更新）を行うことができる。
【００４４】
しかしながら、各種ソフトウェアの書き換えを行うためには、ユーザは、例えば、手動でアップデートを開始する（図１（ａ）の「アップデート開始」）、自動的にアップデートを行うための設定を行う（図１（ａ）の「自動設定」）、あるいは、自動的にアップデートを行う時間などを予約するための設定を行う（図１（ａ）の「予約設定」）など、所定の操作を行わなければならない。
【００４５】
また、基地局からの電波が届かない場所では携帯電話は通信を行えないことから、たとえ、ユーザが各種ソフトウェアの書き換えに係る所定の操作を行ったとしても、携帯電話内の各種ソフトウェアの書き換えを行うことができるとは限らない。
【００４６】
一方、図１（ｂ）に示すように、ユーザがサービス提供場所に設置されているリーダ／ライタ（情報処理装置）へＩＣチップを搭載した携帯電話をかざすことにより、当該サービス提供場所が基地局からの電波が届かない場所であったとしても、リーダ／ライタと携帯電話とは通信を行うことができる。これは、リーダ／ライタと携帯電話に搭載されたＩＣチップとが、リーダ／ライタから送信される、例えば１３．５６ＭＨｚなど所定周波数の磁界（以下、「搬送波」という。）を用いて通信を行うことができるためである。より具体的には、リーダ／ライタが搬送波信号をのせた搬送波を送信し、搬送波をアンテナで受信したＩＣチップが負荷変調によって受信した搬送波信号に対する応答信号を返信することによって、リーダ／ライタと携帯電話とは通信を行うことができる。したがって、ユーザは、サービス提供場所に設置されているリーダ／ライタへ携帯電話をかざすことにより、例えば、電子マネーを用いた決済を行うことができる。
【００４７】
しかしながら、従来のリーダ／ライタと携帯電話との間の通信は、例えば、図１（ｂ）に示すような電子マネーを用いた決済サービスや、自動改札機を用いた交通機関向けのサービス、あるいは入退室管理などのセキュリティサービスなど、リーダ／ライタ側が提供しているサービスに関する処理（サービス処理）を行うことを目的としたものである。したがって、図１（ｂ）に示すような所定のサービス処理を提供するリーダ／ライタと携帯電話との間の通信においては、図１（ａ）に示すような携帯電話内の各種ソフトウェアを書き換えることについて、何らの考慮もなされていない。したがって、例えば、ユーザがサービス提供場所に設置されているリーダ／ライタへ携帯電話をかざしたとしても、携帯電話内の各種ソフトウェアは更新されない。
【００４８】
（本発明の実施形態の解決アプローチ）
そこで、本発明の実施形態に係る情報処理システムでは、上記のような問題を解決するためのアプローチとして、図１（ｂ）に示すように、非接触式ＩＣチップを搭載したＩＣチップ搭載装置をリーダ／ライタ（情報処理装置）へかざすだけで非接触式にＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを可能とさせる。本発明の実施形態に係る情報処理システムは、上記のアプローチをとることによって、例えば、ユーザが、図１（ａ）に示すような従来の操作を行わなくとも、ユーザが所定のサービスを受けるための操作（例えば、図１（ｂ）に示す「かざす」操作）を行うだけでＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。また、本発明の実施形態に係る情報処理システムは、たとえ、基地局からの電波が届かない場所であってもＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。
【００４９】
以下、本発明の実施形態に係る情報処理システムについて説明する。
【００５０】
（第１の実施形態）
図２は、本発明の第１の実施形態に係る情報処理システムを示すブロック図である。なお、以下では、本発明の第１の実施形態に係る情報処理システムを構成する情報処理装置として、リーダ／ライタを例に挙げて説明するが、本発明の実施形態に係る情報処理装置は、リーダ／ライタに限られない。例えば、本発明の第１の実施形態に係る情報処理装置は、リーダ／ライタ機能（すなわち、搬送波を主体的に送信する機能）を備えた携帯電話などの携帯型通信装置や、リーダ／ライタ機能を備えたＰＣ（Personal  Computer）などのコンピュータ、交通機関の自動改札機、入館や入室などに用いられるセキュリティ装置などに適用することができる。
【００５１】
[リーダ／ライタ１００（情報処理装置）]
リーダ／ライタ１００は、リーダ／ライタ通信部１０２と、記憶部１０４と、差分判定部１０６と、差分データ送信部１０８と、送信完了判定部１１０と、処理部１１２とを備えることができる。
【００５２】
また、リーダ／ライタ１００は、ＭＰＵ（Micro  Processing  Unit）などで構成され、制御用プログラムなどを用いて様々な演算処理を行いリーダ／ライタ１００全体を制御するリーダ／ライタ制御部（図示せず）、リーダ／ライタ制御部（図示せず）が使用するプログラムや演算パラメータなどの制御用データが記録されたＲＯＭ（Read  Only  Memory；図示せず）、リーダ／ライタ制御部（図示せず）により実行されるプログラムなどを一次記憶するＲＡＭ（Random  Access  Memory；図示せず）、ユーザが操作可能な操作部（図示せず）、表示部（図示せず）、外部装置（図示せず）と通信を行うための外部通信部（図示せず）などを備えてもよい。リーダ／ライタ１００は、例えば、データの伝送路としてのバス（bus）で各構成要素間を接続することができる。
【００５３】
ここで、操作部（図示せず）としては、例えば、キーボードやマウスなどの操作入力デバイスや、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられるが、上記に限られない。また、表示部（図示せず）としては、例えば、ＬＣＤ（Liquid  Crystal  Display；液晶ディスプレイ）、有機ＥＬディスプレイ（organic  ElectroLuminescence  display；または、ＯＬＥＤディスプレイ（Organic  Light  Emitting  Diode  display）とも呼ばれる。）などが挙げられるが、上記に限られない。なお、操作部（図示せず）と表示部（図示せず）とは、例えば、タッチスクリーン（touch  screen）で構成された一体の部とすることもできる。
【００５４】
また、リーダ／ライタ１００と外部装置（図示せず）とは、例えば、ＵＳＢ（Universal  Serial  Bus）端子やＩＥＥＥ１３９４規格の端子などを介して物理的に接続されてもよいし、また、ＷＵＳＢ（Wireless  Universal  Serial  Bus）やＩＥＥＥ８０２．１１などを利用して無線で接続することもできる。さらに、リーダ／ライタ１００と外部装置（図示せず）とは、例えば、ネットワークを介して接続することもできる。ネットワークとしては、例えば、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）など有線ネットワーク、ＭＩＭＯ（Multiple-Input  Multiple-Output）を用いたＷＬＡＮ（Wireless  Local  Area  Network）などの無線ネットワーク、あるいは、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）などの通信プロトコルを用いたインターネットなどが挙げられるが、上記に限られない。したがって、外部通信部（図示せず）は、外部装置（図示せず）との接続形態に応じたインタフェースを有することができる。
【００５５】
また、リーダ／ライタ１００は、例えば、リーダ／ライタ制御部（図示せず）、差分判定部１０６、差分データ送信部１０８、送信完了判定部１１０、および処理部１１２が、それぞれ別体のＭＰＵなどを備える構成とすることができるが、かかる構成に限られない。例えば、リーダ／ライタ１００は、リーダ／ライタ制御部（図示せず）、差分判定部１０６、差分データ送信部１０８、送信完了判定部１１０、および処理部１１２を、ＭＰＵなどで構成された一体の部とすることもできる。
【００５６】
リーダ／ライタ通信部１０２は、ＩＣチップ搭載装置１５０と、搬送波を用いて通信を行うための部である。リーダ／ライタ通信部１０２は、例えば、ＩＣチップ搭載装置１５０が備えるＩＣチップ内に記憶されるデータに対するデータ読み出し命令やデータ書き込み命令などの各種命令の送信や、後述する更新対象データのバージョンに関する情報の要求の送信などの各種命令の送信、およびＩＣチップ搭載装置１５０との間でのデータの送受信を行う。
【００５７】
リーダ／ライタ通信部１０２は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルと所定の静電容量をもつキャパシタとからなる共振回路、当該共振回路から搬送波信号をのせた搬送波を送信するためにＡＳＫ変調（Amplitude  Shift  Keying）を行う変調回路、変調回路の出力を増幅する増幅回路、および当該共振回路のアンテナ端における電圧の振幅変化を包絡線検波してＩＣチップ搭載装置１５０からの応答信号の復調を行う復調回路とで構成することができる。また、リーダ／ライタ通信部１０２が送信する各種命令やデータの生成、送信制御は、例えば、後述する差分データ送信部１０８や処理部１１２が行うことができるが、上記に限られず、リーダ／ライタ制御部（図示せず）が行うこともできる。
【００５８】
記憶部１０４は、リーダ／ライタ１００が備える記憶手段であり、各種の情報を記憶することができる。ここで、記憶部１０４に記憶される情報としては、例えば、以下の（Ａ）〜（Ｅ）が挙げられる。なお、記憶部１０４に記憶される情報が以下の（Ａ）〜（Ｅ）に限られないことは、言うまでもない。
（Ａ）リーダ／ライタ１００が対応するサービスを表すコード（例えば、サービスコード、システムコードなど）
（Ｂ）リーダ／ライタ１００が対応するサービスに関するデータ（例えば、クーポンのデータなど）
（Ｃ）ＩＣチップ搭載装置１５０から取得したデータ
（Ｄ）更新対象データ
（Ｅ）差分判定用データ
【００５９】
ここで、上記（Ｄ）に示す更新対象データとは、リーダ／ライタ１００がＩＣチップ搭載装置１５０に対してソフトウェアの書き換えを行わせることが可能な、書き換えの対象となるデータである。つまり、ＩＣチップ搭載装置１５０には、リーダ／ライタ１００の記憶部１０４に記憶された更新対象データと同種のデータが記憶されている場合があり、また、記憶されていない場合もある。以下では、ＩＣチップ搭載装置１５０に記憶された、リーダ／ライタ１００が記憶する更新対象データと同種のデータも「更新対象データ」とよぶ。
【００６０】
本発明の実施形態に係る更新対象データとしては、例えば、地上デジタル放送受信機能を実現するアプリケーションソフトウェア（application  software；以下、「アプリケーション」という。）、音楽再生機能を実現するアプリケーション、あるいはＷｅｂページを閲覧するためのブラウザ機能を実現するアプリケーションなどの各種アプリケーションや、ハードウェアの基本的な制御を行なうためにＩＣチップ搭載装置１５０に組み込まれたファームウェアなどが挙げられるが、上記に限られない。図２では、アプリケーションＡ１２０、アプリケーションＢ１２２、ファームウェア１２４、…が記憶部１０４に記憶された例を示している。
【００６１】
また、上記（Ｅ）に示す差分判定用データとは、リーダ／ライタ１００に記憶された更新対象データと、ＩＣチップ搭載装置１５０に記憶された更新対象データとの差分を判定するためのデータである。リーダ／ライタ１００は、記憶する更新対象データごとにそれぞれ対応する差分判定用データを記憶することができる。図２では、アプリケーションＡ１２０に対応する差分判定用データＡ１２６、アプリケーションＢ１２２に対応する差分判定用データＢ１２８、ファームウェア１２４に対応する差分判定用データＣ１３０、…が記憶部１０４に記憶された例を示している。
【００６２】
また、記憶部１０４としては、例えば、ハードディスク（Hard  Disk）などの磁気記録媒体や、ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）、フラッシュメモリ（flash  memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）、ＰＲＡＭ(Phase  change  Random  Access  Memory)などの不揮発性メモリ（nonvolatile  memory）が挙げられるが、上記に限られない。
【００６３】
差分判定部１０６は、ＩＣチップ搭載装置１５０に記憶された更新対象データと、記憶部１０４に記憶された更新対象データとの間の差分を判定する。より具体的には、差分判定部１０６は、以下の〔１〕、〔２〕の処理を行うことができる。
【００６４】
〔１〕ＩＣチップ搭載装置１５０に対する更新対象データのバージョンに関する情報の要求
差分判定部１０６は、ＩＣチップ搭載装置１５０に対して、記憶部１０４に記憶された各更新対象データに対応するＩＣチップ搭載装置１５０に記憶された更新対象データのバージョンに関する情報を要求する（すなわち、リーダ／ライタ通信部１０２に当該要求を送信させる。）。ここで、更新対象データのバージョンに関する情報とは、更新対象データのバージョンを特定するために用いる情報である。差分判定部１０６が要求する更新対象データのバージョンに関する情報としては、例えば、各更新対象データのバージョン番号、更新対象データそれぞれにおけるブロックの情報が記録されたブロック情報が挙げられるが、上記に限られない。
【００６５】
また、差分判定部１０６は、ポーリング（polling）に対してＩＣチップ搭載装置１５０からの返答があった場合（すなわち、通信対象としてのＩＣチップ搭載装置１５０が検出された場合）に、更新対象データのバージョンに関する情報の要求を、リーダ／ライタ通信部１０２を介して送信することができる。なお、上記ポーリングは、例えば、リーダ／ライタ制御部（図示せず）がリーダ／ライタ通信部１０２を介して送信することができるが、上記に限られない。
【００６６】
さらに、差分判定部１０６は、上記要求において、記憶部１０４に記憶された各更新対象データごとにＩＣチップ搭載装置１５０内の記憶場所を指定することもできる。ここで、差分判定部１０６が指定するＩＣチップ搭載装置１５０内の記憶場所としては、例えば、ＩＣチップ搭載装置１５０が備えるＩＣチップ内の内部メモリのアクセス制限がかかった領域、ＩＣチップ搭載装置１５０が備えるＩＣチップ内の内部メモリのアクセス制限がかかっていない領域、あるいは、ＩＣチップ搭載装置１５０が備えるＩＣチップ外の外部メモリが挙げられるが、上記に限られない。また、ＩＣチップ内の内部メモリのアクセス制限がかかった領域を指定する場合には、差分判定部１０６は、当該アクセス制限がかかった領域にアクセスするための鍵情報（例えば、暗号鍵情報）を上記要求と併せて送信することができる。差分判定部１０６は、例えば、リーダ／ライタ１００の記憶部１０４に記憶された鍵情報（図示せず）を読み出すことによって、当該鍵情報を送信することができるが、上記に限られず、例えば、外部装置としての鍵管理装置（図示せず）から当該鍵情報を取得して送信することもできる。
【００６７】
〔２〕差分の判定
差分判定部１０６は、送信した更新対象データのバージョンに関する情報の要求に対してＩＣチップ搭載装置１５０から送信（返信）された、ＩＣチップ搭載装置１５０に記憶された更新対象データのバージョンに関する情報と、記憶部１０４に記憶された差分判定用データとに基づいて、ＩＣチップ搭載装置１５０に記憶された更新対象データと、記憶部１０４に記憶された更新対象データとの間の差分を判定する。
【００６８】
〔２−１〕更新対象データのバージョンに関する情報が更新対象データのバージョン番号の場合
差分判定部１０６が要求する更新対象データのバージョンに関する情報が更新対象データのバージョン番号である場合、記憶部１０４には、差分判定用データとして、例えば、記憶部１０４に記憶された更新対象データのバージョンと更新対象データのその他のバージョンとの間の差分を特定するための情報（以下、「差分情報」という。）が記憶されたテーブルが、更新対象データごとに記憶される。
【００６９】
差分判定部１０６は、ＩＣチップ搭載装置１５０から送信された更新対象データのバージョン番号によってＩＣチップ搭載装置１５０に記憶された更新対象データのバージョンを特定し、上記テーブルを用いることにより差分情報を一意に特定することができる。
【００７０】
〔２−２〕更新対象データのバージョンに関する情報が更新対象データのブロック情報である場合
差分判定部１０６が要求する更新対象データのバージョンに関する情報が更新対象データのブロック情報である場合、記憶部１０４には、差分判定用データとして、例えば、記憶部１０４に記憶された更新対象データのブロック情報が、更新対象データごとに記憶される。
【００７１】
差分判定部１０６は、ＩＣチップ搭載装置１５０から送信された更新対象データのブロック情報と、ＩＣチップ搭載装置１５０から送信された更新対象データに対応する記憶部１０４に記憶された更新対象データのブロック情報とを比較することによって、差分情報を特定することができる。
【００７２】
差分判定部１０６は、例えば、上記の〔１〕、〔２〕の処理によって、ＩＣチップ搭載装置１５０に記憶された更新対象データと、記憶部１０４に記憶された更新対象データとの間の差分を判定することができる。
【００７３】
なお、上記では、差分判定部１０６が、ＩＣチップ搭載装置１５０に対して、記憶部１０４に記憶された各更新対象データに対応するＩＣチップ搭載装置１５０に記憶された更新対象データのバージョンに関する情報を要求することを示したが、上記に限られない。例えば、差分判定部１０６は、ＩＣチップ搭載装置１５０に対して、記憶部１０４に記憶された各更新対象データに対応するか否かを問わず、ＩＣチップ搭載装置１５０に記憶された全てのアプリケーション、ファームウェアなどのバージョンに関する情報を要求することもできる。
【００７４】
また、差分判定部１０６は、記憶部１０４に記憶された更新対象データに対応する更新対象データが、ＩＣチップ搭載装置１５０に記憶されていない場合、すなわち、差分判定部１０６が送信する更新対象データのバージョンに関する情報の要求に対して、ＩＣチップ搭載装置１５０からバージョン番号やブロック情報が返信されない場合にも、差分を判定することができる。上記の場合には、差分判定部１０６は、例えば、記憶部１０４に記憶された更新対象データそのものを差分と判定し、また、差分データ送信部１０８は、記憶部１０４に記憶された更新対象データそのものを差分に対応するデータ（差分データ）として送信することができる。したがって、リーダ／ライタ１００は、書き換え処理の前においてＩＣチップ搭載装置１５０に記憶されていなかったソフトウェアを、ＩＣチップ搭載装置１５０に新規に記憶させる（すわなち、ソフトウェアの移行を行う）こともできる。
【００７５】
差分データ送信部１０８は、差分判定部１０６の判定結果に基づいて、ＩＣチップ搭載装置１５０に記憶された更新対象データと、記憶部１０４に記憶された更新対象データとの間の差分に対応するデータ（以下、「差分データ」という。）をリーダ／ライタ通信部１０２を介して送信する（すなわち、リーダ／ライタ通信部１０２に差分データを送信させる。）。より具体的には、差分データ送信部１０８は、例えば、差分判定部１０６が特定した差分情報に基づいて、差分情報が示す更新対象データの所定のブロックを差分データとして送信する。また、差分データ送信部１０８は、差分データとともに、例えば、差分データがどの更新対象データのどのブロックのデータであるかを示す差分ブロック情報を送信することもできる。
【００７６】
送信完了判定部１１０は、差分データ送信部１０８が送信する各更新対象データの差分データの送信の完了を判定する。ここで、送信完了判定部１１０は、例えば、差分データの送信に対するＩＣチップ搭載装置１５０からの応答（例えば、ＩＣチップ搭載装置１５０における書き換え処理の処理結果）に応じて完了を判定することができるが、上記に限られない。また、送信完了判定部１１０は、判定結果を、例えば、各更新対象データを特定する所定ビット（bit）のデータと、ＩＣチップ搭載装置１５０における差分データの書き換え処理が完了したか否かを示す２ビットのデータ（例えば「００」が未判定、「０１」が差分データの送信対象外、「１０」が差分データの書き換え処理が未完、「１１」が差分データの書き換え処理が完了）とで表すことができるが、上記に限られない。ここで、上記判定結果の情報は、例えば、送信完了判定部１１０が記憶手段を備え、当該記憶手段に記録、保持されてもよい。送信完了判定部１１０が備える記憶手段としては、例えば、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）などの揮発性メモリ（volatile  memory）が挙げられるが、上記に限られず、例えば、フラッシュメモリなどの不揮発性メモリであってもよい。なお、上記判定結果の情報は、例えば、記憶部１０４に記録されてもよいことは、言うまでもない。
【００７７】
処理部１１２は、リーダ／ライタ１００とＩＣチップ搭載装置１５０との間の通信を介して提供されるサービスに関するデータ処理（以下、「サービス処理」という。）を行うことができる。ここで、サービス処理としては、例えば、ＩＣチップ搭載装置１５０に記憶された電子マネーを用いた決済に係るデータ処理（例えば、電子マネーの残金確認処理、電子マネーの引き落とし処理）、ＩＣチップ搭載装置１５０に記憶されたチケットの確認処理（例えば、日時の確認などの照合処理）、入館・入室時のセキュリティチェックのための照合処理などが挙げられるが、上記に限られない。
【００７８】
また、処理部１１２は、送信完了判定部１１０が保持する判定結果の情報を読み出すことによって、送信完了判定部１１０の判定結果に基づいて、サービス処理を開始することができる。例えば、処理部１１２は、記憶部１０４に記憶された更新対象データそれぞれの判定結果の情報が、「０１」（送信対象外）、あるいは、「１１」（送信完了）のときにサービス処理を開始することができるが、上記に限られない。
【００７９】
本発明の第１の実施形態に係るリーダ／ライタ１００は、例えば、図２に示す構成により、ＩＣチップ搭載装置１５０に記憶された更新対象データと、記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信することができる。また、リーダ／ライタ１００は、差分データの送信が完了した後に所定のサービス処理を行うことができる。
【００８０】
[ＩＣチップ搭載装置１５０]
次に、本発明の第１の実施形態に係るＩＣチップ搭載装置１５０の構成例について説明する。
【００８１】
ＩＣチップ搭載装置１５０は、ＩＣチップ１５２と、外部メモリ１６０と、外部メモリ管理部１６２と、通信部１６４とを備えることができる。
【００８２】
また、ＩＣチップ搭載装置１５０は、ＭＰＵなどで構成され、制御用プログラムなどを用いて様々な演算処理を行いＩＣチップ搭載装置１５０全体を制御する制御部（図示せず）や、制御部（図示せず）が使用するプログラムや演算パラメータなどの制御用データが記録されたＲＯＭ、制御部（図示せず）により実行されるプログラムなどを一次記憶するＲＡＭ、ユーザが操作可能な操作部（図示せず）、表示部（図示せず）、ＩＣチップ搭載装置１５０の各構成要素に電力を供給するための内部電源（図示せず）などを備えてもよい。ＩＣチップ搭載装置１５０は、例えば、データの伝送路としてのバスで各構成要素間を接続することができる。
【００８３】
ここで、操作部（図示せず）としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられるが、上記に限られない。また、表示部（図示せず）としては、例えば、ＬＣＤ、有機ＥＬディスプレイなどが挙げられるが、上記に限られない。なお、操作部（図示せず）と表示部（図示せず）とは、例えば、タッチスクリーンで構成された一体の部とすることもできる。
【００８４】
また、ＩＣチップ搭載装置１５０は、例えば、制御部（図示せず）および外部メモリ管理部１６２が、それぞれ別体のＭＰＵなどを備える構成とすることができるが、かかる構成に限られない。例えば、ＩＣチップ搭載装置１５０は、制御部（図示せず）および外部メモリ管理部１６２を、ＭＰＵなどで構成された一体の部とすることもできる。
【００８５】
ＩＣチップ１５２は、リーダ／ライタ１００との通信に係る様々な部を集積回路にて実現したものであり、耐タンパ性を有することができる。また、ＩＣチップ１５２は、リーダ／ライタ１００からの各種命令、または、ＩＣチップ搭載装置１５０内のＩＣチップ１５２以外の構成要素（例えば、制御部（図示せず）など）からの命令など、ＩＣチップ１５２の外部からの命令に応じて様々なデータ処理を行うことができる。
【００８６】
〔ＩＣチップ１５２〕
ＩＣチップ１５２は、チップ内通信部１５４と、内部メモリ１５６と、内部メモリ管理部１５８とを備えることができる。また、ＩＣチップ１５２は、チップ内通信部１５４が受信した搬送波からハイレベル（High）とローレベル（Low）との２値化されたデータ信号を取り出す（復調する）データ受信部（図示せず）や、チップ内通信部１５４が受信した搬送波に基づいて内部メモリ管理部１５８などを駆動させるための駆動電圧を出力するチップ内電源部（図示せず）、矩形のクロック信号を生成するクロック生成部（図示せず）、内部メモリ管理部１５８が使用する管理用データなどが記憶されるＲＯＭ、ＩＣチップ１５２外の構成要素との間のインタフェースとしての役割を果たすＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）などを備えることもできる。
【００８７】
チップ内通信部１５４は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルと、所定の静電容量をもつキャパシタとからなる共振回路を有し、リーダ／ライタ１００から送信される搬送波を受信することができる。また、チップ内通信部１５４は、例えば、負荷変調回路を備えて負荷変調を行いリーダ／ライタ１００からみたＩＣチップ搭載装置１５０のインピーダンスを変化させることにより、搬送波を介してリーダ／ライタ１００と通信を行うことができる。なお、図２では、チップ内通信部１５４がＩＣチップ１５２の内部に備えられる構成を示しているが、本発明の第１の実施形態に係るＩＣチップ搭載装置の構成は、上記に限られない。例えば、本発明の第１の実施形態に係るＩＣチップ搭載装置は、送受信アンテナをＩＣチップ１５２の外部に備えることもできるし、送受信アンテナとＩＣチップとを一体のパッケージとして備えることもできる。
【００８８】
内部メモリ１５６は、ＩＣチップ１５２内に備わる記憶部であり、耐タンパ性を有することができる。内部メモリ１５６には、例えば、ＩＣチップ搭載装置１５０が有する機能を実現するためのアプリケーションや、ＩＣチップ搭載装置１５０が備えるＩＣチップを用いてサービスを受けるためのデータ（以下、「サービスデータ」という。）、ＩＣチップ１５２が対応するサービスを表すコード（例えば、サービスコード、システムコードなど；図示せず）などを記憶することができる。また、内部メモリ１５６には、記憶されるアプリケーションそれぞれのブロック内の情報が記録されたブロック情報（図示せず）が記憶されていてもよい。ここで、サービスデータとしては、例えば、電子マネーバリューのデータ、個人認証のためのデータ、チケットのデータ、割引券に相当するデータなどが挙げられるが、上記に限られない。
【００８９】
また、内部メモリ１５６は、図２に示すように、アクセス制限領域Ｘを有することができる。ここで、アクセス制限領域Ｘとは、アクセス制限領域Ｘ内に記憶されるアプリケーションやサービスデータに対する読み出し処理や書き込み処理において、例えば、ＰＩＮ（Personal  Identification  Number）や暗号鍵による認証などが必要なアクセス制限を設定（および解除）可能な記憶領域である。図２では、内部メモリ１５６にアプリケーションＢ１７０、サービスデータ１７２、１７４が記憶され、そのうち、アプリケーションＢ１７０、サービスデータ１７２がアクセス制限領域Ｘに記憶されている例を示している。ここで、図２では、例えば、内部メモリ１５６に記憶されたデータのうちアプリケーションＢ１７０が更新対象データに該当する。
【００９０】
また、内部メモリ１５６としては、例えば、ＥＥＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭなどの不揮発性メモリが挙げられるが、上記に限られない。
【００９１】
内部メモリ管理部１５８は、リーダ／ライタ１００から送信されるデータ読み出し命令やデータ書き込み命令、更新対象データのバージョンに関する情報の要求などの各種命令、または、ＩＣチップ搭載装置１５０の制御部（図示せず）からの各種命令などに基づいて、内部メモリ１５６に対する各種処理の制御を行うことができる。
【００９２】
例えば、チップ内通信部１５４を介してリーダ／ライタ１００から更新対象データのバージョンに関する情報の要求を受けた場合には、内部メモリ管理部１５８は、当該要求に応じてアクセス制限領域Ｘ内のアプリケーションＢ１７０（または、アプリケーションＢ１７０に対応するブロック情報（図示せず））からバージョンに関する情報を読み出し、読み出したバージョンに関する情報をリーダ／ライタ１００へ送信させる。
【００９３】
より具体的には、リーダ／ライタ１００から送信される更新対象データのバージョンに関する情報の要求が、更新対象データのバージョン番号を要求している場合には、内部メモリ管理部１５８は、例えば、内部メモリ１５６に記憶された更新対象データからバージョン番号を読み出し、読み出したバージョン番号をリーダ／ライタ１００へ送信させる。また、リーダ／ライタ１００から送信される更新対象データのバージョンに関する情報の要求が、ブロック情報を要求している場合には、内部メモリ管理部１５８は、例えば、内部メモリ１５６に記憶された更新対象データに対応するブロック情報（図示せず）を読み出し、読み出したブロック情報をリーダ／ライタ１００へ送信させる。
【００９４】
また、内部メモリ管理部１５８は、リーダ／ライタ１００から送信された更新対象データのバージョンに関する情報の要求が指定する更新対象データが、内部メモリにないデータである場合には、当該要求を外部メモリ管理部１６２へと伝達することができる。そして、外部メモリ管理部１６２から上記要求に応じた更新対象データのバージョンに関する情報が伝達された場合には、外部メモリ管理部１６２から伝達されたバージョンに関する情報をリーダ／ライタ１００へ送信させる。
【００９５】
さらに、内部メモリ管理部１５８は、リーダ／ライタ１００から送信される差分データに応じて、内部メモリ１５６に記憶された差分データに対応する更新対象データの更新を行うこともできる。また、リーダ／ライタ１００から送信される差分データが指定する更新対象データが、内部メモリにないデータである場合には、当該要求を外部メモリ管理部１６２へと伝達することができる。
【００９６】
ＩＣチップ１５２は、上記のような構成により、リーダ／ライタ１００と非接触式に通信し、リーダ／ライタ１００から送信された更新対象データのバージョンに関する情報の要求に応じたバージョンに関する情報をリーダ／ライタ１００へ送信することができる。また、ＩＣチップ１５２は、上記のような構成により、リーダ／ライタ１００から送信された差分データに基づいて、更新対象データの更新を行うことができる。ここで、ＩＣチップ１５２のハードウェア構成の概略的な例を示す。図３は、本発明の実施形態に係るＩＣチップ搭載装置１５０が備えるＩＣチップ１５２のハードウェア構成の概略的な一例を示す説明図である。
【００９７】
図３を参照すると、ＩＣチップ１５２は、例えば、無線通信アンテナ１９０と、ＭＰＵ１９１と、ＲＯＭ１９２と、ＲＡＭ１９３と、不揮発性メモリ１９４と、ＵＡＲＴ１９５とを備えることができ、また各構成要素はチップ内部バス１９６で接続される。また、ＩＣチップ１５２は、ＵＡＲＴ１９５を介してＩＣチップ搭載装置側（ＩＣチップ外）のバス１９７と接続される。図３では、例えば、無線通信アンテナ１９０が図２のチップ内通信部１５４に対応し、ＭＰＵ１９１が図２の内部メモリ管理部１５８、不揮発性メモリ１９４が図２の内部メモリ１５６にそれぞれ対応することができる。
【００９８】
ＭＰＵ１９１は、ＵＡＲＴ１９５を介して、リーダ／ライタ１００から送信された更新対象データのバージョンに関する情報の要求や、差分データをＩＣチップ１５２外のバス１９７へ伝達することができる。したがって、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０においてＩＣチップ１５２外に記憶された更新対象データのバージョンに関する情報を取得することができ、また、ＩＣチップ搭載装置１５０においてＩＣチップ１５２外に記憶された差分データに対応する更新対象データを更新させることができる。
【００９９】
また、ＲＯＭ１９２は、ＭＰＵ１９１が使用するプログラムや演算パラメータなどの制御用データを記憶することができ、またＲＡＭ１９３は、ＭＰＵ１９１により実行されるプログラムなどを一次記憶することができる。なお、本発明の実施形態に係るＩＣチップ１５２のハードウェア構成が図３に限られないことは、言うまでもない。
【０１００】
再度図２を参照して、ＩＣチップ搭載装置１５０について説明する。外部メモリ１６０は、ＩＣチップ搭載装置１５０がＩＣチップ１５２の外部に備える記憶部である。図２では、外部メモリ１６０にアプリケーションＡ１８０、アプリケーションＣ１８２、ファームウェア１８４が記憶されている。ここで、図２では、リーダ／ライタ１００の記憶部１０４に記憶されていないアプリケーションＣ１８２がＩＣチップ搭載装置１５０の外部メモリ１６０に記憶されている。したがって、ＩＣチップ搭載装置１５０の外部メモリ１６０に記憶されたデータのうち、例えば、アプリケーションＡ１８０、ファームウェア１８４が更新対象データに該当し、アプリケーションＣ１８２は更新対象データに該当しないこととなる（つまり、リーダ／ライタ１００が更新を制御する更新対象ではない。）。
【０１０１】
外部メモリ管理部１６２は、例えば、リーダ／ライタ１００からの更新対象データのバージョンに関する情報の要求、または、ＩＣチップ搭載装置１５０の制御部（図示せず）からのデータ読み出しや書き込みなどの各種命令などに基づいて、外部メモリ１６０に対する各種処理の制御を行うことができる。
【０１０２】
例えば、リーダ／ライタ１００から送信された更新対象データのバージョンに関する情報の要求が、ＩＣチップ１５２から伝達された場合には、外部メモリ管理部１６２は、当該要求に応じてアプリケーションＡ１８０（または、アプリケーションＡ１８０に対応するブロック情報（図示せず））およびファームウェア１８４（または、ファームウェア１８４に対応するブロック情報（図示せず））からバージョンに関する情報を読み出し、読み出したバージョンに関する情報をＩＣチップ１５２へと伝達する。
【０１０３】
より具体的には、リーダ／ライタ１００から送信される更新対象データのバージョンに関する情報の要求が、更新対象データのバージョン番号を要求している場合には、外部メモリ管理部１６２は、例えば、外部メモリ１６０に記憶された更新対象データからバージョン番号を読み出し、読み出したバージョン番号をＩＣチップ１５２へ伝達する。また、リーダ／ライタ１００から送信される更新対象データのバージョンに関する情報の要求が、ブロック情報を要求している場合には、外部メモリ管理部１６２は、例えば、外部メモリ１６０に記憶された更新対象データに対応するブロック情報（図示せず）を読み出し、読み出したブロック情報をＩＣチップ１５２へ伝達する。
【０１０４】
また、外部メモリ管理部１６２は、例えば、リーダ／ライタ１００から送信された差分データがＩＣチップ１５２から伝達された場合には、伝達された差分データに応じて、外部メモリ１６０に記憶された差分データに対応する更新対象データの更新を行うことができる。
【０１０５】
通信部１６４は、外部装置（図示せず）と通信を行う部である。ＩＣチップ搭載装置１５０は通信部１６４を備えることにより、例えば、電波を用いて基地局などの外部装置（図示せず）と通信を行うことができ、また、例えば、ネットワークを通じてサーバなどの外部装置と通信を行うことができる。また、ＩＣチップ搭載装置１５０は、通信部１６４を用いて外部装置と通信を行うことにより、例えば、図１（ａ）に示すように、基地局を介してファームウェアなどの更新を行うこともできる。
【０１０６】
本発明の第１の実施形態に係るＩＣチップ搭載装置１５０は、例えば、図２に示す構成により、リーダ／ライタ１００との間で搬送波を用いた通信を行い、リーダ／ライタ１００から送信される更新対象データのバージョンに関する情報の要求に応じて、記憶している更新対象データそれぞれのバージョンに関する情報をリーダ／ライタ１００へ送信（返信）することができる。また、ＩＣチップ搭載装置１５０は、リーダ／ライタ１００から送信される差分データに基づいて、内部メモリ１５６または外部メモリ１６０に記憶される差分データに対応する更新対象データの更新を行うことができる。さらに、ＩＣチップ搭載装置１５０は、ＩＣチップ１５２を備えることにより、リーダ／ライタ１００との間で所定のサービス処理を行うことができる。なお、図２に示すように、ＩＣチップ搭載装置１５０は、内部メモリ管理部１５８および外部メモリ管理部１６２を備えることができるが、これらを総称してＩＣチップ搭載装置１５０のメモリ管理部と捉えることもできる。
【０１０７】
[ソフトウェア更新制御方法]
次に、本発明の第１の実施形態に係る情報処理システムにおけるソフトウェア更新制御方法の一例について説明する。
【０１０８】
〔ソフトウェア更新制御方法の第１の例〕
図４は、本発明の実施形態に係るソフトウェア更新制御方法の第１の例を示す説明図である。ここで、図４に示すリーダ／ライタ１００（情報処理装置）とＩＣチップ搭載装置１５０との間における通信は、例えば、１３．５６ＭＨｚの搬送波を用いて行われる。
【０１０９】
リーダ／ライタ１００とＩＣチップ搭載装置１５０との間で通信が開始されると（Ｓ１００）、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０に対してサービスコードの取得要求を行う（Ｓ１０２）。ここで、ステップＳ１００における通信の開始は、例えば、リーダ／ライタ１００が搬送波を送信し続けることによって、常時、または定期的にポーリングを行い、ＩＣチップ搭載装置１５０が検出されることにより行うことができる。また、ステップＳ１０２の処理において要求される対象は、サービスコードに限られず、システムコードやＩＣチップＩＤなど、ＩＣチップ搭載装置１５０が対応するサービスやＩＣチップ搭載装置１５０を特定するための情報であってもよい。
【０１１０】
ステップＳ１０２において送信されたサービスコードの取得要求を受信したＩＣチップ搭載装置１５０は、サービスコードを応答する（Ｓ１０４）。
【０１１１】
ステップＳ１０４において送信されたサービスコードを受信したリーダ／ライタ１００は、受信したサービスコードによりＩＣチップ搭載装置１５０が対応するサービスを特定することができる。そして、リーダ／ライタ１００は、ソフトウェアの書き換え処理の開始をＩＣチップ搭載装置１５０へ伝えるための書き換え処理開始要求（更新処理開始要求）を送信する（Ｓ１０６）。
【０１１２】
ステップＳ１０６において送信された書き換え処理開始要求を受信したＩＣチップ搭載装置１５０は、当該要求に対する応答を行う（Ｓ１０８）。ここで、ステップＳ１０８における応答は、例えば、書き換え処理開始の準備ができたか否かを示す１ビットのデータ（例えば「０」が準備未完、「１」が準備完了）とすることができるが、上記に限られない。
【０１１３】
ステップＳ１０８において送信された応答を受信したリーダ／ライタ１００は、書き換え処理を開始し、バージョン番号の取得要求（更新対象データのバージョンに関する情報の要求）を送信する（Ｓ１１０）。
【０１１４】
ステップＳ１１０において送信されたバージョン番号の取得要求を受信したＩＣチップ搭載装置１５０は、当該要求に応じて、内部メモリ１５６および／または外部メモリ１６０に記憶された各更新対象データのバージョン番号を返信する（Ｓ１１２）。
【０１１５】
ステップＳ１１２において送信された各更新対象データのバージョン番号を受信したリーダ／ライタ１００は、差分判定用データを用いて、リーダ／ライタ１００に記憶された更新対象データと、ＩＣチップ搭載装置１５０に記憶された更新対象データとの差分を判定する（Ｓ１１４；差分判定処理）。
【０１１６】
そして、リーダ／ライタ１００は、ステップＳ１１４の差分判定処理の判定結果に基づいて、差分に対応するブロックを示す差分ブロック情報と、書き換え用のデータである差分データとを送信する（Ｓ１１６）。
【０１１７】
ステップＳ１１６において送信された差分ブロック情報および差分データを受信したＩＣチップ搭載装置１５０は、差分ブロック情報に基づいて、書き換える対象となる更新対象データを特定し、特定された更新対象データを差分データを用いて書き換える（Ｓ１１８；データ書き込み処理）。
【０１１８】
ステップＳ１１８のデータ書き込み処理が行われると、ＩＣチップ搭載装置１５０は、処理結果を送信する（Ｓ１２０）。ここで、ステップＳ１２０において送信される処理結果は、例えば、各更新対象データを特定する所定ビットのデータと、書き換えが成功したかか否かを示す１ビットのデータ（例えば「０」が書き換え失敗、「１」が書き換え成功）とを組み合わせた、データ書き込み処理が行われた更新対象データごとのデータとすることができるが、上記に限られない。
【０１１９】
ステップＳ１２０において送信された処理結果を受信したリーダ／ライタ１００は、記憶部１０４に記憶された更新対象データそれぞれに対して送信完了の判定を行う（Ｓ１２２；送信完了判定処理）。ここで、リーダ／ライタ１００は、例えば、記憶部１０４に記憶されているがＩＣチップ搭載装置１５０には記憶されていない更新対象データについて、ステップＳ１２２の判定対象から除外することもできる。
【０１２０】
ステップＳ１２２において処理が完了していないと判定された更新対象データがある場合には、リーダ／ライタ１００は、完了していないと判定された更新対象データに対応する差分ブロック情報および差分データを再度送信する（Ｓ１１６）。
【０１２１】
また、ステップＳ１２２において処理が完了したと判定された場合には、リーダ／ライタ１００は、ソフトウェアの書き換え処理の終了をＩＣチップ搭載装置１５０へ伝えるための書き換え処理終了要求（更新処理終了要求）を送信する（Ｓ１２４）。
【０１２２】
ステップＳ１２４において送信された書き換え処理終了要求を受信したＩＣチップ搭載装置１５０は、当該要求に対する応答を行う（Ｓ１２６）。ここで、ステップＳ１２６における応答は、例えば、書き換え処理が終了したか否かを示す１ビットのデータ（例えば「０」が処理未終了、「１」が処理終了済み）とすることができるが、上記に限られない。
【０１２３】
ステップＳ１２６において送信された応答を受信したリーダ／ライタ１００は、書き換え処理を終了し、ＩＣチップ搭載装置１５０との間におけるデータ処理（サービス処理）を行う（Ｓ１２８）。そして、ステップＳ１２８のデータ処理が完了すると、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０との間における通信を終了する（Ｓ１３０）。
【０１２４】
図４に示すような本発明の実施形態に係るソフトウェア更新制御方法を用いることによって、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０に記憶された更新対象データと、リーダ／ライタ１００の記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）を制御することができる。また、リーダ／ライタ１００は、差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）が完了した後に所定のサービス処理を行うことができる。
【０１２５】
なお、図４では、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）が完了した後に、リーダ／ライタ１００とＩＣチップ搭載装置１５０との間で所定のサービス処理が行われる方法を示したが、本発明の実施形態に係るソフトウェア更新制御方法は、上記に限られない。例えば、本発明の実施形態に係るソフトウェア更新制御方法は、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）が完了した後に終了することもできる。
【０１２６】
〔ソフトウェア更新制御方法の第２の例〕
図４に示したソフトウェア更新制御方法の第１の例では、リーダ／ライタ１００が、更新対象データのバージョン番号を用いて、ＩＣチップ搭載装置１５０に記憶された更新対象データの更新を制御する方法を示した。しかしながら、本発明の実施形態に係るソフトウェア更新制御方法は、上記に限られない。そこで、次に、本発明の実施形態に係るソフトウェア更新制御方法の第２の例について説明する。図５は、本発明の実施形態に係るソフトウェア更新制御方法の第２の例を示す説明図である。
【０１２７】
リーダ／ライタ１００とＩＣチップ搭載装置１５０との間で通信が開始されると（Ｓ２００）、図４に示す第１の例と同様に、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０に対してサービスコードの取得要求を行う（Ｓ２０２）。
【０１２８】
ステップＳ２０２において送信されたサービスコードの取得要求を受信したＩＣチップ搭載装置１５０は、サービスコードを応答する（Ｓ２０４）。ステップＳ２０４において送信されたサービスコードをリーダ／ライタ１００が受信することにより、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０が対応するサービスを特定することができる。そして、リーダ／ライタ１００は、図４に示す第１の例と同様に、ソフトウェアの書き換え処理の開始をＩＣチップ搭載装置１５０へ伝えるための書き換え処理開始要求（更新処理開始要求）を送信する（Ｓ２０６）。そして、ステップＳ２０６において送信された書き換え処理開始要求を受信したＩＣチップ搭載装置１５０は、当該要求に対する応答を行う（Ｓ２０８）。
【０１２９】
ステップＳ２０８において送信された応答を受信したリーダ／ライタ１００は、書き換え処理を開始し、ブロック情報の取得要求（更新対象データのバージョンに関する情報の要求）を送信する（Ｓ２１０）。
【０１３０】
ステップＳ２１０において送信されたブロック情報の取得要求を受信したＩＣチップ搭載装置１５０は、当該要求に応じて、内部メモリ１５６および／または外部メモリ１６０に記憶された各更新対象データのブロック情報を送信する（Ｓ２１２）。
【０１３１】
ステップＳ２１２において送信された各更新対象データのブロック情報を受信したリーダ／ライタ１００は、差分判定用データを用いて、リーダ／ライタ１００に記憶された更新対象データと、ＩＣチップ搭載装置１５０に記憶された更新対象データとの差分を判定する（Ｓ２１４；差分判定処理）。
【０１３２】
そして、リーダ／ライタ１００は、ステップＳ２１４の差分判定処理の判定結果に基づいて、図４に示す第１の例と同様に、差分に対応するブロックを示す差分ブロック情報と、書き換え用のデータである差分データとを送信する（Ｓ２１６）。
【０１３３】
ステップＳ２１６において送信された差分ブロック情報および差分データを受信したＩＣチップ搭載装置１５０は、図４に示す第１の例と同様に、差分ブロック情報に基づいて、書き換える対象となる更新対象データを特定し、特定された更新対象データを差分データを用いて書き換える（Ｓ２１８；データ書き込み処理）。そして、ステップＳ２１８のデータ書き込み処理が行われると、ＩＣチップ搭載装置１５０は、処理結果を送信する（Ｓ２２０）。
【０１３４】
ステップＳ２２０において送信された処理結果を受信したリーダ／ライタ１００は、図４に示す第１の例と同様に、記憶部１０４に記憶された更新対象データそれぞれに対して送信完了の判定を行う（Ｓ２２２；送信完了判定処理）。ステップＳ２２２において処理が完了していないと判定された更新対象データがある場合には、リーダ／ライタ１００は、完了していないと判定された更新対象データに対応する差分ブロック情報および差分データを再度送信する（Ｓ２１６）。
【０１３５】
ステップＳ２２２において処理が完了したと判定された場合には、リーダ／ライタ１００は、図４に示す第１の例と同様に、ソフトウェアの書き換え処理の終了をＩＣチップ搭載装置１５０へ伝えるための書き換え処理終了要求（更新処理終了要求）を送信する（Ｓ２２４）。そして、ステップＳ２２４において送信された書き換え処理終了要求を受信したＩＣチップ搭載装置１５０は、図４に示す第１の例と同様に、当該要求に対する応答を行う（Ｓ２２６）。
【０１３６】
ステップＳ２２６において送信された応答を受信したリーダ／ライタ１００は、書き換え処理を終了し、ＩＣチップ搭載装置１５０との間におけるデータ処理（サービス処理）を行う（Ｓ２２８）。そして、ステップＳ２２８のデータ処理が完了すると、リーダ／ライタ１００は、ＩＣチップ搭載装置１５０との間における通信を終了する（Ｓ２３０）。
【０１３７】
図５に示すように、本発明の実施形態に係るソフトウェア更新制御方法の第２の例は、更新対象データのブロック情報を用いてＩＣチップ搭載装置１５０に記憶された更新対象データと、リーダ／ライタ１００の記憶部１０４に記憶された更新対象データとの間の差分を判定する点が、図４に示す本発明の実施形態に係るソフトウェア更新制御方法の第１の例と異なる。しかしながら、更新対象データのブロック情報を用いたとしても差分を判定することができるので、本発明の実施形態に係るソフトウェア更新制御方法の第２の例を用いるリーダ／ライタ１００は、図４に示す第１の例を用いる場合と同様に、ＩＣチップ搭載装置１５０に記憶された更新対象データと、リーダ／ライタ１００の記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）を制御することができる。また、図５に示す第２の例を用いるリーダ／ライタ１００は、図４に示す第１の例を用いる場合と同様に、差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）が完了した後に所定のサービス処理を行うことができる。
【０１３８】
以上のように、本発明の第１の実施形態に係る情報処理システムは、リーダ／ライタ１００（情報処理装置）とＩＣチップ搭載装置１５０との間で行われる搬送波を用いた近距離無線通信を利用して、ＩＣチップ搭載装置１５０が備えるＩＣチップ１５２内の内部メモリ１５６および／またはＩＣチップ１５２外の外部メモリ１６０に記憶された更新対象データの書き換え（更新）を行うことができる。したがって、第１の実施形態に係る情報処理システムを用いることにより、たとえ、基地局からの電波が届かない場所であってもＩＣチップ搭載装置１５０内に記憶されたソフトウェアの書き換えを行わせることができる。また、第１の実施形態に係る情報処理システムは、搬送波を用いた近距離無線通信を利用してソフトウェアの書き換えを行うので、耐タンパ性を有するＩＣチップ１５２内の内部メモリ１５６に記憶された更新対象データを安全に更新することもできる。さらに、第１の実施形態に係る情報処理システムは、搬送波を用いた近距離無線通信を利用してソフトウェアの書き換えを行うので、機器認証や個人認証などを簡易に行うこともできる。よって、例えば、ＩＣチップ搭載装置１５０が備えるＩＣチップ１５２内のアクセス制限領域に更新対象データが記憶されていたとしても、更新対象データの更新を行うことができる。
【０１３９】
また、第１の実施形態に係る情報処理システムは、例えば、図４、図５に示すように、ソフトウェアの書き換え処理と、サービス処理とを連続して行うことができる。したがって、第１の実施形態に係る情報処理システムを用いることにより、例えば、ユーザが、図１（ａ）に示すような従来の操作を行わなくとも、図１（ｂ）に示すようにユーザが各種サービスの提供を受けるための操作を行うだけで（すなわち、リーダ／ライタ１００にＩＣチップ搭載装置１５０をかざすだけで）ＩＣチップ搭載装置１５０内に記憶されたソフトウェアの書き換えを行わせることができるので、ユーザへの負担を減らすことができる。
【０１４０】
また、第１の実施形態に係る情報処理システムを用いることにより、ユーザが各種サービスの提供を受けるだけで、ＩＣチップ搭載装置１５０内のソフトウェアを更新させることができる。したがって、例えば、ＩＣチップ搭載装置１５０内のソフトウェアに不具合が見つかった場合であっても、図１（ａ）に示すような従来の操作を必ずしも必要とはしないので、ＩＣチップ搭載装置１５０のメーカーは、より確実にＩＣチップ搭載装置１５０内のソフトウェアの不具合を解消させることができる。
【０１４１】
さらに、第１の実施形態に係る情報処理システムは、リーダ／ライタ１００が、例えば、更新対象データのバージョン番号やブロック情報を用いることによって、ＩＣチップ搭載装置１５０に記憶された更新対象データと、リーダ／ライタ１００の記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）を制御することができる。したがって、ＩＣチップ搭載装置１５０では、差分に相当するデータの書き換えが行われるので、第１の実施形態に係る情報処理システムを用いることによって、全てのデータを書き換える処理に比べてより短い時間で書き換え処理を完了させることができる。
【０１４２】
（第１の実施形態に係るプログラム）
第１の実施形態に係るリーダ／ライタ１００をコンピュータとして機能させるためのプログラムによって、非接触式ＩＣチップを搭載したＩＣチップ搭載装置１５０内に記憶されたソフトウェア（更新対象データ）の書き換えを行わせることができる。
【０１４３】
また、第１の実施形態に係るＩＣチップ搭載装置１５０をコンピュータとして機能させるためのプログラムによって、ＩＣチップ搭載装置１５０内のＩＣチップ内の内部メモリおよび／またはＩＣチップ外の外部メモリに記憶されたソフトウェア（更新対象データ）を書き換えることができる。
【０１４４】
（第２の実施形態）
上記では、第１の実施形態に係る情報処理システムとして、リーダ／ライタ１００（情報処理装置）が更新対象データのバージョンに関する情報を要求し、ＩＣチップ搭載装置１５０から返信された更新対象データのバージョンに関する情報に基づいて、リーダ／ライタ１００がＩＣチップ搭載装置１５０に記憶された更新対象データを更新させる構成を示した。しかしながら、本発明の実施形態に係る情報処理システムは限られない。そこで、次に、本発明の第２の実施形態に係る情報処理システムとして、リーダ／ライタ（情報処理装置）がＩＣチップ搭載装置の種別に応じて、ＩＣチップ搭載装置に記憶された更新対象データの更新を制御する構成について説明する。
【０１４５】
図６は、本発明の第２の実施形態に係る情報処理システムを示すブロック図である。なお、以下では、本発明の第２の実施形態に係る情報処理システムを構成する情報処理装置として、リーダ／ライタを例に挙げて説明するが、本発明の実施形態に係る情報処理装置は、リーダ／ライタに限られない。例えば、本発明の第２の実施形態に係る情報処理装置は、第１の実施形態に係る情報処理装置と同様に、リーダ／ライタ機能を備えた携帯電話などの携帯型通信装置や、リーダ／ライタ機能を備えたＰＣなどのコンピュータ、交通機関の自動改札機、入館や入室などに用いられるセキュリティ装置などに適用することができる。また、図６では、ＩＣチップ搭載装置として、搬送波を用いた通信以外の別途の通信機能を有さないＩＣカード２５０を例に挙げて説明するが、本発明の第２の実施形態に係るＩＣチップ搭載装置が上記に限られないことは、言うまでもない。
【０１４６】
[ＩＣカード２５０（ＩＣチップ搭載装置）]
ＩＣカード２５０は、第１の実施形態に係るＩＣチップ搭載装置１５０と同様に、ＩＣチップ１５２を備えることができる。したがって、ＩＣカード２５０は、リーダ／ライタ２００と搬送波を用いた近距離無線通信を行い、リーダ／ライタ２００から送信される各種要求や命令、差分データに基づいて、ＩＣカード２５０の内部メモリ１５６に記憶された更新対象データを更新することができる。
【０１４７】
[リーダ／ライタ２００（情報処理装置）]
リーダ／ライタ２００は、リーダ／ライタ通信部１０２と、記憶部１０４と、通信対象判定部２０２と、差分判定部２０４と、差分データ送信部１０８と、送信完了判定部１１０と、処理部１１２とを備えることができる。
【０１４８】
また、リーダ／ライタ２００は、ＭＰＵなどで構成され、制御用プログラムなどを用いて様々な演算処理を行いリーダ／ライタ２００全体を制御するリーダ／ライタ制御部（図示せず）、リーダ／ライタ制御部（図示せず）が使用するプログラムや演算パラメータなどの制御用データが記録されたＲＯＭ（図示せず）、リーダ／ライタ制御部（図示せず）により実行されるプログラムなどを一次記憶するＲＡＭ（図示せず）、ユーザが操作可能な操作部（図示せず）、表示部（図示せず）、外部装置（図示せず）と通信を行うための外部通信部（図示せず）などを備えてもよい。リーダ／ライタ２００は、例えば、データの伝送路としてのバスで各構成要素間を接続することができる。
【０１４９】
ここで、リーダ／ライタ２００は、例えば、リーダ／ライタ制御部（図示せず）、通信対象判定部２０２、差分判定部２０４、差分データ送信部１０８、送信完了判定部１１０、および処理部１１２が、それぞれ別体のＭＰＵなどを備える構成とすることができるが、かかる構成に限られない。例えば、リーダ／ライタ２００は、リーダ／ライタ制御部（図示せず）、通信対象判定部２０２、差分判定部２０４、差分データ送信部１０８、送信完了判定部１１０、および処理部１１２を、ＭＰＵなどで構成された一体の部とすることもできる。
【０１５０】
リーダ／ライタ２００が備えるリーダ／ライタ通信部１０２、記憶部１０４、差分データ送信部１０８、送信完了判定部１１０、および処理部１１２は、第１の実施形態に係るリーダ／ライタ１００が備える各部と同様の機能を有し、それぞれ同様の構成をとることができる。
【０１５１】
通信対象判定部２０２は、ポーリングに対してＩＣカード２５０からの返答があった場合（すなわち、通信対象としてのＩＣカード２５０が検出された場合）に、ＩＣカード２５０に対して装置種別を規定する情報である装置種別情報を要求し、ＩＣカード２５０から送信される装置種別情報に基づいて、更新対象データを更新させる対象（ＩＣチップ搭載装置）の装置種別を判定する。ここで、装置種別情報とは、例えば、ＩＣチップ搭載装置がＩＣカード（すなわち、搬送波を用いた通信以外の別途の通信機能を有さないＩＣチップ搭載装置）であるか、または、搬送波を用いた通信以外の通信機能（例えば、基地局を介した通信や、赤外線を用いた通信、無線ＬＡＮスポットを利用した通信など）を有するＩＣチップ搭載装置であるかを判定するための情報である。装置種別情報としては、例えば、ＩＣチップのチップＩＤが挙げられるが、上記に限られないことは、言うまでもない。
【０１５２】
また、通信対象判定部２０２は、装置種別情報を用いた判定の結果に応じて、例えば、以下の（Ｉ）、（ＩＩ）のように処理を切り替えることができる。
【０１５３】
（Ｉ）装置種別情報がＩＣカードを示していると判定された場合
通信対象判定部２０２は、装置種別情報がＩＣカードを示していると判定した場合には、差分判定部２０４が更新対象データのバージョンに関する情報を要求することを許可する（すなわち、差分判定部２０４の機能を有効にする。）。したがって、リーダ／ライタ２００は、第１の実施形態に係るリーダ／ライタ１００と同様に、ＩＣカード２５０に記憶された更新対象データを更新させることができる。
【０１５４】
（ＩＩ）装置種別情報がＩＣカードを示していないと判定された場合
通信対象判定部２０２は、装置種別情報がＩＣカードを示していないと判定した場合には、差分判定部２０４が更新対象データのバージョンに関する情報を要求することを許可しない（すなわち、差分判定部２０４の機能を有効にはしない。）。したがって、リーダ／ライタ２００は、ＩＣチップを搭載したＩＣチップ搭載装置がかざされてＩＣチップ搭載装置と通信が行える場合であっても更新データの更新に係る処理を行わない。
【０１５５】
リーダ／ライタ２００は、上記のように、ＩＣチップ搭載装置から装置種別情報を取得し、取得された装置種別情報を用いることができる。したがって、リーダ／ライタ２００は、例えば、別途の通信機能を有さないＩＣカードに対しては更新対象データの更新を行わせ、また、別途の通信機能を有するＩＣチップ搭載装置に対しては更新対象データの更新を行わないなど、通信対象の種別に応じてフレキシブルにＩＣチップ搭載装置内に記憶されたソフトウェア（更新対象データ）の書き換えを行わせることができる。
【０１５６】
差分判定部２０４は、第１の実施形態に係るリーダ／ライタ１００が備える差分判定部１０６と同様の機能を有することができるが、通信対象判定部２０２からの命令に応じて更新対象データのバージョンに関する情報の要求をＩＣチップ搭載装置へ送信する点が、第１の実施形態に係るリーダ／ライタ１００が備える差分判定部１０６と異なる。より具体的には、差分判定部２０４は、更新対象データのバージョンに関する情報の要求を送信してよい旨の命令が通信対象判定部２０２から伝達された場合に、更新対象データのバージョンに関する情報の要求を送信することができる。
【０１５７】
本発明の第２の実施形態に係る情報処理システムは、例えば、リーダ／ライタ２００が図６に示す構成を有することによって、ＩＣチップ搭載装置の装置種別に応じて、ＩＣチップ搭載装置に記憶された更新対象データの更新を制御することができる。したがって、リーダ／ライタ２００は、例えば、他のソフトウェアの更新手段を有さないＩＣカードに対しては、ソフトウェア（更新対象データ）の書き換えを行い、また、他のソフトウェアの更新手段を有する携帯電話などのＩＣチップ搭載装置に対しては、ソフトウェア（更新対象データ）の書き換えを行わないなど、ＩＣチップ搭載装置に記憶された更新対象データの更新をフレキシブルに制御することができる。
【０１５８】
[第２の実施形態に係る処理の概要]
ここで、本発明の第２の実施形態に係るリーダ／ライタ２００における処理の概要を示す。図７は、本発明の第２の実施形態に係るリーダ／ライタ２００における処理の概要の一例を示す流れ図である。
【０１５９】
リーダ／ライタ２００は、ＩＣチップ搭載装置との間での通信が開始されると（Ｓ３００）、通信対象がＩＣカードか否かを判定する（Ｓ３０２）。ここで、リーダ／ライタ２００は、リーダ／ライタ２００のポーリングに対してＩＣカード２５０からの返答があった場合にステップＳ３００における通信を開始することができる。また、ステップＳ３０２における判定は、通信対象のＩＣチップ搭載装置から装置種別情報を取得することにより行うことができる。
【０１６０】
ステップＳ３０２において通信対象がＩＣカードであると判定された場合には、リーダ／ライタ２００は、第１の実施形態に係るリーダ／ライタ１００と同様に、例えば、図４または図５に示すソフトウェア更新制御方法を用いてアップデート処理（ソフトウェアの更新処理）を行う（Ｓ３０４）。そして、ステップＳ３０４においてアップデート処理が完了すると、リーダ／ライタ２００は、ＩＣチップ搭載装置との間で所定のサービスに係るデータ処理（サービス処理）を行う（Ｓ３０８）。
【０１６１】
また、ステップＳ３０２において通信対象がＩＣカードではないと判定された場合には、リーダ／ライタ２００は、アップデート処理（ソフトウェアの更新処理）を行わず（Ｓ３０６）、ＩＣチップ搭載装置との間で所定のサービスに係るデータ処理（サービス処理）を行う（Ｓ３０８）。
【０１６２】
ステップＳ３０８における所定のサービスに係るデータ処理が完了すると、リーダ／ライタ２００は、ＩＣチップ搭載装置との間の通信を終了する（Ｓ３１０）。
【０１６３】
リーダ／ライタ２００が、例えば、図７に示すような処理を行うことにより、リーダ／ライタ２００は、ＩＣチップ搭載装置内に記憶されたソフトウェア（更新対象データ）の書き換えをフレキシブルに制御することができる。
【０１６４】
以上のように、本発明の第２の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、リーダ／ライタ２００（情報処理装置）とＩＣチップ搭載装置との間で行われる搬送波を用いた近距離無線通信を利用して、ＩＣチップ搭載装置が備えるＩＣチップ内の内部メモリおよび／またはＩＣチップ外の外部メモリに記憶された更新対象データの書き換え（更新）を行うことができる。したがって、第２の実施形態に係る情報処理システムを用いることにより、たとえ、基地局からの電波が届かない場所であってもＩＣチップ搭載装置内に記憶されたソフトウェアの書き換えを行わせることができる。また、第２の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、耐タンパ性を有するＩＣチップ内の内部メモリに記憶された更新対象データを安全に更新することもできる。さらに、第２の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、機器認証や個人認証などを簡易に行うことができるので、例えば、ＩＣチップ搭載装置が備えるＩＣチップ１５２内のアクセス制限領域に更新対象データが記憶されていたとしても、更新対象データの更新を行うことができる。
【０１６５】
また、本発明の第２の実施形態に係る情報処理システムは、リーダ／ライタ２００がＩＣチップ搭載装置の種別を判定し、当該判定の結果に応じて、処理を切り替えることができる。したがって、リーダ／ライタ２００は、例えば、他のソフトウェアの更新手段を有さないＩＣカードに対しては、ソフトウェア（更新対象データ）の書き換えを行い、また、他のソフトウェアの更新手段を有する携帯電話などのＩＣチップ搭載装置に対しては、ソフトウェア（更新対象データ）の書き換えを行わないなど、ＩＣチップ搭載装置に記憶された更新対象データの更新をフレキシブルに制御することができる。
【０１６６】
また、第２の実施形態に係る情報処理システムを用いることにより、ユーザが各種サービスの提供を受けるだけで、ＩＣチップ搭載装置内のソフトウェアを更新させることができる。したがって、例えば、ＩＣチップ搭載装置が他のソフトウェアの更新手段を有さないＩＣカードである場合であっても、ユーザが各種サービスの提供を受けるための操作を行うだけで、ＩＣカード内のソフトウェアの不具合を解消させたり、ＩＣカードに機能を追加させたり、またはＩＣカードに備わる機能の強化を行うことを容易に行うことができる。
【０１６７】
さらに、第２の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、リーダ／ライタ２００が、ＩＣチップ搭載装置に記憶された更新対象データと、リーダ／ライタ２００の記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信し、ＩＣチップ搭載装置におけるソフトウェアの書き換え（更新）を制御することができる。したがって、ＩＣチップ搭載装置では差分に相当するデータの書き換えが行われるので、第２の実施形態に係る情報処理システムを用いることによって、全てのデータを書き換える処理に比べてより短い時間で書き換え処理を完了させることができる。
【０１６８】
（第２の実施形態に係るプログラム）
第２の実施形態に係るリーダ／ライタ２００をコンピュータとして機能させるためのプログラムによって、非接触式ＩＣチップを搭載したＩＣチップ搭載装置内に記憶されたソフトウェア（更新対象データ）の書き換えを、ＩＣチップ搭載装置の種別に応じて行わせることができる。
【０１６９】
また、第２の実施形態に係るＩＣチップ搭載装置をコンピュータとして機能させるためのプログラムによって、ＩＣチップ搭載装置内のＩＣチップ内の内部メモリおよび／またはＩＣチップ外の外部メモリに記憶されたソフトウェア（更新対象データ）を書き換えることができる。
【０１７０】
（第３の実施形態）
上記では、第１、第２の実施形態の情報処理システムを構成する情報処理装置としてリーダ／ライタを挙げ、情報処理装置自身が搬送波を送信する機能を有する構成を示した。しかしながら、本発明の実施形態に係る情報処理システムを構成する情報処理装置は、情報処理装置自身が搬送波を送信する機能を有する構成に限られない。そこで次に、情報処理装置が別体のリーダ／ライタと接続され、当該情報処理装置が当該リーダ／ライタを介してＩＣチップ搭載装置に記憶されたソフトウェア（更新対象データ）を書き換えさせることが可能な、第３の実施形態に係る情報処理システムについて説明する。
【０１７１】
図８は、本発明の第３の実施形態に係る情報処理システムを示すブロック図である。図８を参照すると、第３の実施形態に係る情報処理システムは、リーダ／ライタ３０２と接続された情報処理装置３００と、ＩＣチップ搭載装置１５０とを有する。ここで、情報処理装置３００とリーダ／ライタ３０２とは、図８に示すように有線で直接接続されてもよいし、または、ネットワーク回線（図示せず）で接続されてもよい。ここで、ネットワーク回線は、例えば、ＬＡＮやＷＡＮなど有線ネットワークであってもよいし、もしくは、ＭＩＭＯを用いたＷＬＡＮなどの無線ネットワーク、あるいは、ＴＣＰ／ＩＰなどの通信プロトコルを用いたインターネットであってもよいが、上記に限られない。
【０１７２】
ＩＣチップ搭載装置１５０は、図２に示す第１の実施形態に係るＩＣチップ搭載装置１５０と同様の構成、機能を有し、リーダ／ライタ３０２と非接触式に通信を行うことができる。したがって、ＩＣチップ搭載装置１５０は、リーダ／ライタ３０２から送信される各種要求や命令、差分データに基づいて、ＩＣチップ搭載装置１５０の内部メモリ１５６に記憶された更新対象データを更新することができる。また、ＩＣチップ搭載装置１５０は、リーダ／ライタ３０２との間で（または、リーダ／ライタ３０２を介して情報処理装置３００との間で）データ処理（サービス処理）を行うことができる。
【０１７３】
情報処理装置３００は、記憶部１０４と、差分判定部１０６と、差分データ送信部１０８と、送信完了判定部１１０とを備え、接続されたリーダ／ライタ３０２を介してＩＣチップ搭載装置１５０と通信を行うことができる。
【０１７４】
また、情報処理装置３００は、ＭＰＵなどで構成され、制御用プログラムなどを用いて様々な演算処理を行い情報処理装置３００全体を制御する制御部（図示せず）、制御部（図示せず）が使用するプログラムや演算パラメータなどの制御用データが記録されたＲＯＭ（図示せず）、制御部（図示せず）により実行されるプログラムなどを一次記憶するＲＡＭ（図示せず）、ユーザが操作可能な操作部（図示せず）、表示部（図示せず）、外部装置（図示せず）と通信を行うための外部通信部（図示せず）などを備えてもよい。情報処理装置３００は、例えば、データの伝送路としてのバスで各構成要素間を接続することができる。
【０１７５】
ここで、情報処理装置３００は、例えば、制御部（図示せず）、差分判定部１０６、差分データ送信部１０８、および送信完了判定部１１０が、それぞれ別体のＭＰＵなどを備える構成とすることができるが、かかる構成に限られない。例えば、情報処理装置３００は、制御部（図示せず）、差分判定部１０６、差分データ送信部１０８、および送信完了判定部１１０を、ＭＰＵなどで構成された一体の部とすることもできる。
【０１７６】
情報処理装置３００が備える記憶部１０４は、図２に示す第１の実施形態に係るリーダ／ライタ１００と同様に、更新対象データや差分判定用データなど、各種の情報を記憶することができる。
【０１７７】
同様に、情報処理装置３００が備える差分判定部１０６、差分データ送信部１０８、および送信完了判定部１１０は、図２に示す第１の実施形態に係るリーダ／ライタ１００が備える各部と同様の機能を有し、それぞれ同様の構成をとることができる。
【０１７８】
したがって、情報処理装置３００は、リーダ／ライタ３０２を介して更新対象データのバージョンに関する情報をＩＣチップ搭載装置１５０へ要求し、ＩＣチップ搭載装置１５０から返信された更新対象データのバージョンに関する情報に基づいて、ＩＣチップ搭載装置１５０に記憶された更新対象データを更新させることができる。また、情報処理装置３００は、ＩＣチップ搭載装置１５０に記憶された更新対象データの更新を、例えば、図４または図５に示すソフトウェア更新制御方法を用いることによって行うことができる。
【０１７９】
以上のように、本発明の第３の実施形態に係る情報処理システムは、リーダ／ライタ３０２を介して情報処理装置３００とＩＣチップ搭載装置１５０との間で行われる搬送波を用いた近距離無線通信を利用して、ＩＣチップ搭載装置１５０が備えるＩＣチップ１５２内の内部メモリ１５６および／またはＩＣチップ１５２外の外部メモリ１６０に記憶された更新対象データの書き換え（更新）を行うことができる。したがって、第３の実施形態に係る情報処理システムを用いることにより、たとえ、基地局からの電波が届かない場所であってもＩＣチップ搭載装置１５０内に記憶されたソフトウェアの書き換えを行わせることができる。また、第３の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、耐タンパ性を有するＩＣチップ内の内部メモリに記憶された更新対象データを安全に更新することもできる。さらに、第３の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、機器認証や個人認証などを簡易に行うことができるので、例えば、ＩＣチップ搭載装置１５０が備えるＩＣチップ１５２内のアクセス制限領域に更新対象データが記憶されていたとしても、更新対象データの更新を行うことができる。
【０１８０】
また、第３の実施形態に係る情報処理システムは、第１の実施形態に係る情報処理システムと同様に、例えば、図４、図５に示すように、ソフトウェアの書き換え処理と、サービス処理とを連続して行うことができる。したがって、第３の実施形態に係る情報処理システムを用いることにより、例えば、ユーザが、図１（ａ）に示すような従来の操作を行わなくとも、図１（ｂ）に示すようにユーザが各種サービスの提供を受けるための操作を行うだけで（すなわち、リーダ／ライタ３０２にＩＣチップ搭載装置１５０をかざすだけで）ＩＣチップ搭載装置１５０内に記憶されたソフトウェアの書き換えを行わせることができるので、ユーザへの負担を減らすことができる。
【０１８１】
また、第３の実施形態に係る情報処理システムを用いることにより、第１の実施形態に係る情報処理システムと同様に、ユーザが各種サービスの提供を受けるだけで、ＩＣチップ搭載装置１５０内のソフトウェアを更新させることができる。したがって、例えば、ＩＣチップ搭載装置１５０内のソフトウェアに不具合が見つかった場合であっても、図１（ａ）に示すような従来の操作を必ずしも必要とはしないので、ＩＣチップ搭載装置１５０のメーカーは、より確実にＩＣチップ搭載装置１５０内のソフトウェアの不具合を解消させることができる。
【０１８２】
さらに、第３の実施形態に係る情報処理システムは、情報処理装置３００が、例えば、更新対象データのバージョン番号やブロック情報を用いることによって、ＩＣチップ搭載装置１５０に記憶された更新対象データと、情報処理装置３００の記憶部１０４に記憶された更新対象データとの間の差分を判定して差分データを送信し、ＩＣチップ搭載装置１５０におけるソフトウェアの書き換え（更新）を制御することができる。したがって、ＩＣチップ搭載装置１５０では、差分に相当するデータの書き換えが行われるので、第３の実施形態に係る情報処理システムを用いることによって、全てのデータを書き換える処理に比べてより短い時間で書き換え処理を完了させることができる。
【０１８３】
また、本発明の第３の実施形態に係る情報処理システムを構成する構成要素として、情報処理装置３００を挙げて説明したが、本発明の第３の実施形態は、係る形態に限られず、例えば、ＰＣやサーバなどのコンピュータ、店頭に設置されたＰＯＳ（Point  Of  Sales）システムのＰＯＳ端末などに適用することができる。
【０１８４】
（第３の実施形態に係るプログラム）
第３の実施形態に係る情報処理装置３００をコンピュータとして機能させるためのプログラムによって、非接触式ＩＣチップを搭載したＩＣチップ搭載装置１５０内に記憶されたソフトウェア（更新対象データ）の書き換えを行わせることができる。
【０１８５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１８６】
例えば、上述した本発明の第１〜第３の実施形態に係る情報処理システムでは、例えば図５に示すように、情報処理システムを構成する情報処理装置（例えば、リーダ／ライタ）側がブロック情報を用いて差分を判定する例を示した（ソフトウェア更新制御方法の第２の例）が、本発明の実施形態は、かかる構成に限られない。例えば、本発明の実施形態に係る情報処理システムは、情報処理システムを構成するＩＣチップ搭載装置側がブロック情報を用いて差分を判定することもできる。かかる構成であっても、上述した第１〜第３の実施形態に係る情報処理システムと同様の効果を奏することができる。
【０１８７】
上述した構成は、本発明の実施形態の一例を示すものであり、当然に、本発明の技術的範囲に属するものである。
【図面の簡単な説明】
【０１８８】
【図１】本発明の実施形態に係る情報処理システムが対象とする問題の一例を説明するための説明図である。
【図２】本発明の第１の実施形態に係る情報処理システムを示すブロック図である。
【図３】本発明の実施形態に係るＩＣチップ搭載装置が備えるＩＣチップのハードウェア構成の概略的な一例を示す説明図である。
【図４】本発明の実施形態に係るソフトウェア更新制御方法の第１の例を示す説明図である。
【図５】本発明の実施形態に係るソフトウェア更新制御方法の第２の例を示す説明図である。
【図６】本発明の第２の実施形態に係る情報処理システムを示すブロック図である。
【図７】本発明の第２の実施形態に係るリーダ／ライタにおける処理の概要の一例を示す流れ図である。
【図８】本発明の第３の実施形態に係る情報処理システムを示すブロック図である。
【符号の説明】
【０１８９】
１００、２００、３０２  リーダ／ライタ
１０２    リーダ／ライタ通信部
１０４    記憶部
１０６、２０４  差分判定部
１０８    差分データ送信部
１１０    送信完了判定部
１１２    処理部
１５０    ＩＣチップ搭載装置
１５２    ＩＣチップ
１５４    チップ内通信部
１５６    内部メモリ
１５８    内部メモリ管理部
１６０    外部メモリ
１６２    外部メモリ管理部
２０２通信対象判定部
２５０    ＩＣカード
３００    情報処理装置
【図１】
2009070158.tif 000003
【図２】
2009070158.tif 000004
【図３】
2009070158.tif 000005
【図４】
2009070158.tif 000006
【図５】
2009070158.tif 000007
【図６】
2009070158.tif 000008
【図７】
2009070158.tif 000009
【図８】
2009070158.tif 000010