(57)【要約】【課題】情報処理装置と通信対象との間で近距離無線通信を効率良く行う。【解決手段】情報処理装置は、通信対象との間で近距離無線通信を行う。通信対象は、読み出し対象となる本体データと、識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶している。通信対象が情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、情報処理装置は、識別情報とステータス情報とを通信対象から読み出す。さらに情報処理装置は、読み出された識別情報とステータス情報とに基づいて本体データの読み出しの要否を判定する。【選択図】図５
2014120810.tif 000002
【特許請求の範囲】
【請求項１】
通信対象との間で近距離無線通信を行うことが可能な情報処理装置のコンピュータにおいて実行される通信プログラムであって、
前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第１読出手段と、
読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定手段として前記コンピュータを機能させる、通信プログラム。
【請求項２】
前記判定手段は、読み出された前記識別情報と前記ステータス情報とに基づいて、通信可能となった前記通信対象からの前記本体データが取得済みであるか否かを判定することによって、当該本体データの読み出しの要否を判定する、請求項１に記載の通信プログラム。
【請求項３】
前記本体データが取得済みであると判定される場合、前記通信対象から前記本体データの読み出しを行わず、前記本体データが取得済みでないと判定される場合、前記通信対象から前記本体データを読み出す第２読出手段として前記コンピュータをさらに機能させる、請求項２に記載の通信プログラム。
【請求項４】
前記通信対象から前記本体データが読み出された場合、読み出された本体データを前記情報処理装置の記憶部に保存しておく第１保存手段として前記コンピュータをさらに機能させ、
前記第２読出手段は、前記本体データが取得済みであると判定される場合、前記記憶部に保存されている本体データを前記通信対象から読み出した本体データとして用いる、請求項３に記載の通信プログラム。
【請求項５】
前記第１保存手段は、前記通信対象に本体データが書き込まれる場合、当該本体データを前記記憶部に保存する、請求項４に記載の通信プログラム。
【請求項６】
前記第１読出手段によって読み出された前記ステータス情報を、通信対象毎に識別情報と関連づけて前記情報処理装置の記憶部に保存しておく第２保存手段として前記コンピュータをさらに機能させ、
前記判定手段は、前記通信対象から読み出された識別情報に対応する通信対象に関して、読み出されたステータス情報と前記記憶部に保存されたステータス情報とが一致すれば前記所定のデータの読み出しが不要と判定し、読み出されたステータス情報と前記記憶部に保存されたステータス情報とが不一致であれば前記所定のデータの読み出しが必要と判定する、請求項１から請求項５のいずれか１項に記載の通信プログラム。
【請求項７】
前記通信対象に本体データが書き込まれる場合、当該通信対象に記憶されている前記ステータス情報の内容を更新する更新手段として前記コンピュータをさらに機能させる、請求項１から請求項６のいずれか１項に記載の通信プログラム。
【請求項８】
前記情報処理装置において実行されるアプリケーションから、前記通信対象との通信を行う旨の指示があった場合、
前記第１読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
前記第２読出手段は、前記本体データが取得済みであると判定される場合には、前記通信対象から本体データの読み出しを行わない、請求項３から請求項５のいずれか１項に記載の通信プログラム。
【請求項９】
前記通信対象から本体データを読み出す指示が前記アプリケーションからあった場合、
前記第１読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
前記第２読出手段は、前記所定のデータが取得済みであると判定される場合には、前記通信対象から本体データの読み出しを行わない、請求項８に記載の通信プログラム。
【請求項１０】
前記通信対象に対して本体データを書き換える指示が前記アプリケーションからあった場合、
前記第１読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
前記第２読出手段は、前記本体データが取得済みでないと判定される場合、書き換えの対象となる本体データを前記通信対象から読み出し、前記本体データが取得済みであると判定される場合、前記通信対象から当該本体データの読み出しを行わない、請求項８または請求項９に記載の通信プログラム。
【請求項１１】
前記ステータス情報は、前記通信対象へのデータの書き込み回数に応じて一意に設定される情報である、請求項１から請求項１０のいずれか１項に記載の通信プログラム。
【請求項１２】
前記ステータス情報は、前記通信対象に対する書き込み回数を表すカウンタ情報、および、前記通信対象に対する書き込みがあった時刻を表す時刻情報のうち少なくとも１つである、請求項１１に記載の通信プログラム。
【請求項１３】
前記識別情報と前記ステータス情報とを合わせたデータサイズは、前記本体データのデータサイズよりも小さい、請求項１から請求項１２のいずれか１項に記載の通信プログラム。
【請求項１４】
通信対象との間で近距離無線通信を行うことが可能な情報処理装置であって、
前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第１読出部と、
読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定部と備える、情報処理装置。
【請求項１５】
情報処理装置と、当該情報処理装置との間で近距離無線通信を行うことが可能な通信対象とを含む通信システムであって、
前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
前記情報処理装置は、
前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第１読出部と、
読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定部と備える、通信システム。
【請求項１６】
通信対象との間で近距離無線通信を行うことが可能な情報処理装置において実行される通信方法であって、
前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出し、
読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する、通信方法。
【請求項１７】
情報処理装置との間で近距離無線通信を行うことが可能な記憶媒体であって、
前記情報処理装置による読み出し対象となる本体データと、
記憶媒体毎に固有の識別情報と、
前記記憶媒体への本体データの書き込み回数に応じて設定されるステータス情報とを記憶する、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信対象との間で近距離無線通信を行うための通信プログラム、情報処理装置、通信システム、通信方法、および、記憶媒体に関する。
【背景技術】
【０００２】
従来、例えばＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の近距離無線通信によって装置間で通信を行う技術がある（例えば、特許文献１参照）。近距離無線通信では、通信装置に対して通信対象が接近したことに応じて、通信装置と通信対象との間で通信が開始される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の近距離無線通信においては、通信を行う情報処理装置（例えばＮＦＣリーダ・ライタ）に対して任意の通信対象（例えばＮＦＣタグ）が接近する毎に、通信が確立されてデータの送受信が行われる。従来においては、同一の通信対象について不要な通信が行われ、近距離無線通信が効率良く行われない場合があった。
【０００５】
それ故、本発明の目的は、近距離無線通信を効率良く行うことができる通信プログラム、情報処理装置、通信システム、通信方法、および、記憶媒体を提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の（１）〜（１３）の構成を採用した。
【０００７】
（１）
本発明の一例は、通信対象との間で近距離無線通信を行うことが可能な情報処理装置のコンピュータにおいて実行される通信プログラムである。
通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶している。
通信プログラムは、第１読出手段と、判定手段としてコンピュータを機能させる。
第１読出手段は、通信対象が情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、通信対象の識別情報と、ステータス情報とを通信対象から読み出す。判定手段は、読み出された識別情報とステータス情報とに基づいて、本体データの読み出しの要否を判定する。
【０００８】
上記（１）の構成によれば、情報処理装置と通信可能な通信対象が発生した場合（通信対象が接近した場合）、情報処理装置は、識別情報およびステータス情報を読み出し、識別情報およびステータス情報に基づいて本体データの読み出しの要否を判定する。これによって、情報処理装置は要否に応じた適切な処理をとることができ、効率良く通信を行うことができる。
【０００９】
（２）
判定手段は、読み出された識別情報とステータス情報とに基づいて、通信可能となった通信対象からの本体データが取得済みであるか否かを判定することによって、当該本体データの読み出しの要否を判定してもよい。
【００１０】
上記（２）の構成によれば、通信対象からの本体データが取得済みであるか否かを識別情報とステータス情報とに基づいて判定することができるので、本体データの読み出しの要否を正確に判定することができる。
【００１１】
（３）
通信プログラムは、第２読出手段としてコンピュータをさらに機能させてもよい。第２読出手段は、本体データが取得済みであると判定される場合、通信対象から本体データの読み出しを行わず、本体データが取得済みでないと判定される場合、通信対象から本体データを読み出す。
【００１２】
上記（３）の構成によれば、不要な本体データの読み出し処理を省略することができる。これによって、本体データの読み出しに関するアプリケーションにおける処理速度を向上したり、あるいは、近距離無線通信に要する電力消費を低減したりすることができる。
【００１３】
（４）
通信プログラムは、第１保存手段としてコンピュータをさらに機能させてもよい。第１保存手段は、通信対象から本体データが読み出された場合、読み出された本体データを情報処理装置の記憶部に保存しておく。第２読出手段は、本体データが取得済みであると判定される場合、記憶部に保存されている本体データを通信対象から読み出した本体データとして用いる。
【００１４】
上記（４）の構成によれば、情報処理装置は、通信対象から本体データを再度読み出す代わりに、予め保存しておいた本体データを用いる。これによれば、通信対象からのデータの読み出しを省略しても、情報処理装置は当該本体データを用いた処理を実行することができる。
【００１５】
（５）
第１保存手段は、通信対象に本体データが書き込まれる場合、当該本体データを記憶部に保存してもよい。
【００１６】
上記（５）の構成によれば、通信対象に書き込まれた本体データは情報処理装置においても保存される。したがって、書き込み後において、情報処理装置が通信対象から当該本体データを読み出す際に読み出しが省略されても、情報処理装置は当該本体データを用いた処理を実行することができる。
【００１７】
（６）
通信プログラムは、第２保存手段としてコンピュータをさらに機能させてもよい。第２保存手段は、第１読出手段によって読み出されたステータス情報を、通信対象毎に識別情報と関連づけて情報処理装置の記憶部に保存しておく。判定手段は、通信対象から読み出された識別情報に対応する通信対象に関して、読み出されたステータス情報と記憶部に保存されたステータス情報とが一致すれば所定のデータの読み出しが不要と判定し、読み出されたステータス情報と記憶部に保存されたステータス情報とが不一致であれば所定のデータの読み出しが必要と判定する。
【００１８】
上記（６）の構成によれば、ステータス情報が一致するか否かによって読み出しの要否を判定することによって、判定を容易に行うことができる。また、識別情報を用いることによって、複数の通信対象を区別して判定を行うことができるので、情報処理装置が複数の通信対象と通信を行うことが想定される場合でも、判定を正確に行うことができる。
【００１９】
（７）
通信プログラムは、更新手段としてコンピュータをさらに機能させてもよい。更新手段は、通信対象に本体データが書き込まれる場合、当該通信対象に記憶されているステータス情報の内容を更新する。
【００２０】
上記（７）の構成によれば、通信対象に本体データが書き込まれる場合には、当該通信対象に記憶されているステータス情報の内容が更新される。これによって、通信対象におけるステータス情報は、本体データの書き込み回数を正確に表すものとなる。したがって、ステータス情報を用いた読み出しの要否の判定を正確に行うことができる。
【００２１】
（８）
情報処理装置において実行されるアプリケーションから、通信対象との通信を行う旨の指示があった場合、第１読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、情報処理装置において実行されるアプリケーションから、通信対象との通信を行う旨の指示があった場合、第２読出手段は、本体データが取得済みであると判定される場合には、通信対象から本体データの読み出しを行わなくてもよい。
【００２２】
上記（８）の構成によれば、通信対象の本体データを取得済みであるかどうかの管理をアプリケーション側で行わなくても、効率の良い通信を行うことができる。また、アプリケーション側で上記の管理を行わなくてよいので、アプリケーションの作成が容易になる。
【００２３】
（９）
通信対象から本体データを読み出す指示がアプリケーションからあった場合、第１読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、通信対象から本体データを読み出す指示がアプリケーションからあった場合、第２読出手段は、所定のデータが取得済みであると判定される場合には、通信対象から本体データの読み出しを行わなくてもよい。
【００２４】
上記（９）の構成によれば、通信対象から本体データを読み出す旨の指示がアプリケーションからある場合において、効率の良い通信を行うことができる。
【００２５】
（１０）
通信対象に対して本体データを書き換える指示がアプリケーションからあった場合、第１読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、通信対象に対して本体データを書き換える指示がアプリケーションからあった場合において、第２読出手段は、本体データが取得済みでないと判定される場合、書き換えの対象となる本体データを通信対象から読み出し、本体データが取得済みであると判定される場合、通信対象から当該本体データの読み出しを行わなくてもよい。
【００２６】
上記（１０）の構成によれば、通信対象に本体データを書き込む旨の指示がアプリケーションからある場合において、効率の良い通信を行うことができる。
【００２７】
（１１）
ステータス情報は、通信対象へのデータの書き込み回数に応じて一意に設定される情報であってもよい。
【００２８】
上記（１１）の構成によれば、ステータス情報は書き込み回数に応じて一意に設定されるので、このようなステータス情報を用いることによって、本体データの読み出しの要否をより正確に判定することができる。
【００２９】
（１２）
ステータス情報は、通信対象に対する書き込み回数を表すカウンタ情報、および、通信対象に対する書き込みがあった時刻を表す時刻情報のうち少なくとも１つであってもよい。
【００３０】
上記（１２）の構成によれば、通信対象への本体データの書き込み回数に応じて一意に設定されるように、ステータス情報を容易に設定することができる。
【００３１】
（１３）
識別情報とステータス情報とを合わせたデータサイズは、本体データのデータサイズよりも小さく設定されてもよい。
【００３２】
上記（１３）の構成によれば、情報処理装置は、相対的に小さいデータサイズの情報（識別情報およびステータス情報）を読み出すことで、相対的に大きいデータサイズである本体データの読み出しの要否を判定することができる。したがって、本体データの読み出しを省略する場合には、通信対象から読み出す本体データのデータサイズを大きく低減することができる。
【００３３】
なお、本発明の別の一例は、上記（１）〜（１３）の情報処理装置と同等の機能を備える情報処理装置であってもよいし、上記（１）〜（１３）の通信対象（通信対象装置）と情報処理装置とを含む通信システムであってもよい。また、本発明の別の一例は、上記（１）〜（１３）の情報処理装置において実行される通信方法であってもよい。
【００３４】
また、本発明の別の一例は、上記（１）〜（１３）における通信対象と同等の機能を備える記憶媒体であってもよい。ここで、上記記憶媒体は、例えばＩＣカードのように、主に記憶手段として用いられる形態であってもよいし、情報処理装置（例えば、ＮＦＣのカードエミュレーション機能を有する情報処理装置）に内蔵される形態であってもよい。
【発明の効果】
【００３５】
本発明によれば、通信対象から読み出した識別情報およびステータス情報に基づいてデータの読み出しの要否を判定することによって、近距離無線通信を効率良く行うことができる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態に係る通信システムの一例の構成を示す図
【図２】情報処理装置と通信対象とが最初に通信を行う場合における通信システムの動作前後の状態の一例を示す図
【図３】情報処理装置と通信対象とが最初に通信を行う場合における通信システムの動作の流れの一例を示す図
【図４】情報処理装置が通信対象から本体データを取得済みである場合における通信システムの動作前後の状態の一例を示す図
【図５】情報処理装置が通信対象から本体データを取得済みである場合における通信システムの動作の流れの一例を示す図
【図６】情報処理装置が通信対象に対してデータを書き込む場合における通信システムの動作前後の状態の一例を示す図
【図７】情報処理装置が通信対象に対してデータを書き込む場合における通信システムの動作の流れの一例を示す図
【図８】他の装置によって通信対象の本体データが書き換えられている場合における通信システムの動作前後の状態の一例を示す図
【図９】ステータス情報テーブルの一例を示す図
【図１０】情報処理装置のメモリに設定されるデータ領域の一例を示す図
【図１１】情報処理装置が実行する読出指示処理の流れの一例を示すフローチャート
【図１２】情報処理装置が実行する書込指示処理の流れの一例を示すフローチャート
【発明を実施するための形態】
【００３７】
［１．通信システムの構成］
以下、本実施形態の一例に係る通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体について説明する。まず、通信システムの構成について説明する。図１は、本実施形態に係る通信システムの一例の構成を示す図である。図１に示すように、通信システム１は、情報処理装置２と、通信対象３とを含む。情報処理装置２は、通信対象３との間で近距離無線通信が可能な任意の情報処理装置である。
【００３８】
本実施形態においては、近距離無線通信の一例として、情報処理装置２と通信対象３との間でＮＦＣ規格に基づく通信が行われる場合を例として説明する。ここで、本明細書において近距離無線通信とは、一方の装置からの電波によって（例えば電磁誘導によって）他方の装置に起電力を発生させる通信方式を指す。他方の装置は、発生した起電力によって動作することが可能である（他方の装置は、電源を有していてもよいし有していなくてもよい）。近距離無線通信においては、情報処理装置２と通信対象３とが接近した場合（典型的には両者の距離が十数センチ以下となった場合）に通信可能となる。また、近距離無線通信では、２つの通信装置の通信が確立している間（通信装置に他の通信対象が接近している間）は電波が送出され続ける。
【００３９】
情報処理装置２は、近距離無線通信が可能な任意の情報処理装置である。本実施形態においては、情報処理装置２は、例えば携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型（可搬型とも言う）の装置である。例えば、情報処理装置２は、ＮＦＣリーダライタの機能を有する携帯機器である。
【００４０】
通信対象３は、情報処理装置２との間で近距離無線通信が可能な任意の装置である。本実施形態においては、通信対象３は、ＮＦＣタグの機能を有する記憶媒体（例えばＩＣカード）である。以下では、通信対象がＩＣカードである場合を例として説明する。ただし、通信対象３は、ＩＣカード等の記憶媒体に限らず、例えばＮＦＣのカードエミュレーション機能を有する情報処理装置（携帯機器）であってもよい。
【００４１】
以下、情報処理装置２の構成について説明する。図１に示すように、情報処理装置２は通信部１１を備える。通信部１１は、近距離無線通信に用いられるアンテナである。また、情報処理装置２は通信チップ１２を備える。通信チップ１２は、後述するＣＰＵ１３からの指示に従い、通信部１１から送出すべき信号（電波）を生成する。生成された信号が通信部１１から送出される。通信チップ１２は、例えばＮＦＣチップである。
【００４２】
図１に示すように、情報処理装置２は、ＣＰＵ１３およびメモリ１４を備える。ＣＰＵ１３は、情報処理装置２で実行される各種の情報処理を実行するための情報処理部である。ＣＰＵ１３は、メモリ１４を用いて上記各種の情報処理を実行する。なお、図示しないが、情報処理装置２は、ユーザによる指示を受け付ける入力部（ボタンやタッチパネル等）、および／または、上記情報処理によって生成される画像を表示する表示装置を備えていてもよい。
【００４３】
なお、情報処理装置２は、複数の装置によって構成されてもよい。例えば、他の実施形態においては、情報処理装置２において実行される情報処理の少なくとも一部が、ネットワーク（広域ネットワークおよび／またはローカルネットワーク）によって通信可能な複数の装置によって分散して実行されてもよい。また例えば、情報処理装置２は、ＣＰＵ１３およびメモリ１４を備える装置に対して、上記通信部１１および通信チップ１２を備える装置が着脱可能に装着される構成であってもよい。
【００４４】
本実施形態においては、情報処理装置２では、少なくともアプリケーションプログラムおよび通信プログラム（図１０参照）という２種類のプログラムがＣＰＵ１３によって実行される。アプリケーションプログラムは、通信対象（ＩＣカード）３との間でデータ通信を行う任意のアプリケーションを実行するためのプログラムである。アプリケーションプログラムは、例えば、ＩＣカード３からゲームデータを読み出して当該ゲームデータを用いてゲーム処理を行うゲームプログラムであってもよい。通信プログラムは、ＩＣカード３との間で近距離無線通信を行うためのプログラムである。例えば、通信プログラムは、通信チップ１２を動作させるためのファームウェアである。詳細は後述するが、通信プログラムは、アプリケーションからの指示を受けて通信のための動作を通信チップ１２に行わせる。なお、情報処理装置２において複数のアプリケーションプログラムが実行可能である場合、通信プログラムは、各アプリケーションで共通に使用される。つまり、通信プログラム（後述する通信制御部）は、複数のアプリケーションから通信に関する指示を受け付けることが可能である。
【００４５】
図１に示すように、情報処理装置２は、バッテリー１６および電源ＩＣ１５を備える。電源ＩＣ１５は、バッテリー１６の電力を情報処理装置２の各部へ供給する。本実施形態においては、電源ＩＣ１５は、少なくとも通信チップ１２、ＣＰＵ１３、およびメモリ１４へ電力を供給する。したがって、近距離無線通信が行われる場合においてこれら通信チップ１２、ＣＰＵ１３、およびメモリ１４における電力消費を抑えることによって、バッテリー１６の電力消費を抑えることができる。
【００４６】
また、ＩＣカード３は、識別情報１７およびステータス情報１８を記憶している。識別情報１７は、個別の通信対象（ＩＣカード）を識別可能な情報である。換言すれば、識別情報１７は、通信対象毎に固有の（個別に付与される）情報である。本実施形態においては、識別情報１７は、ＮＦＣにおけるＵＩＤ（Ｕｎｉｑｕｅ  ＩＤ）である。
【００４７】
ステータス情報１８は、ＩＣカード３へのデータの書き込みに応じて設定される情報（データが書き込まれたことに応じて変更される情報）である。本実施形態においては、ステータス情報１８は、ＩＣカード３に対する書き込み回数を表すカウンタである。
【００４８】
また、ＩＣカード３には、上記識別情報１７およびステータス情報１８の他に、情報処理装置２による読み出しの対象となるデータ（本体データと呼ぶ）１９が記憶される。本体データ１９は、ＩＣカード３に予め記憶されていたり、あるいは、近距離無線通信の相手装置（情報処理装置２を含む）によって書き込まれたりしたデータである。本体データ１９は、上記識別情報１７およびステータス情報１８とは異なる情報を表すデータである。本実施形態において、本体データ１９は、情報処理装置２で実行されるアプリケーションにおいて用いられる。すなわち、情報処理装置２は、アプリケーションの実行中に、ＩＣカード３から本体データを読み出したり、本体データとして記憶されるべきデータを書き込んだりする。
【００４９】
なお、本実施形態においては、ＩＣカード３に対するデータの書き込みおよび読み出しは、本体データの全体を一単位として行われるものとする。つまり、本体データを読み出す場合には、（本体データの一部のみが必要である場合であっても）本体データの全体が読み出される。また、ＩＣカード３に対してデータを書き込む（本体データを書き換える）場合には、（本体データの一部のみを書き換える場合であっても）本体データの全体が書き換えられる。
【００５０】
［２．通信システムにおける動作］
（２−１：動作の概要）
次に、図２〜図８を参照して、通信システム１における通信に関する動作について説明する。なお、図２〜図８に示すように、本実施形態においては、情報処理装置２内における動作を、機能的にアプリケーション部２１と通信制御部２２とに分けて説明する。本実施形態において、アプリケーション部２１は、上述のアプリケーションプログラムを実行するＣＰＵ１３である。通信制御部２２は、通信プログラムを実行するＣＰＵ１３と、通信チップ１２および通信部１１とによって実現される。なお、他の実施形態においては、情報処理装置２における情報処理は、アプリケーションプログラムと通信プログラムという２種類のプログラムによって実現される必要は無く、単一のプログラムによって実現されてもよい。
【００５１】
（ケースＡ：最初に通信を行う場合）
本欄では、いくつかのケースにおける通信システム１の動作例について説明する。まず、図２および図３を参照して、情報処理装置２とＩＣカード３とが最初に通信を行う場合（ケースＡ）における動作を説明する。図２は、ケースＡにおける通信システム１の動作前後の状態を示す図である。図３は、ケースＡにおける通信システム１の動作の流れを示す図である。図２および図３においては、情報処理装置２がＩＣカード３から本体データ１９であるデータＡを読み出す場合を考える。
【００５２】
図２に示す状態（ａ）は、情報処理装置２とＩＣカード３とが通信を行う前の状態である。状態（ａ）においては、ＩＣカード３は、本体データとして“データＡ”を記憶するとともに、ステータス情報であるカウンタＣの値として“ｎ（ｎは自然数）”を記憶している。また、情報処理装置２はＩＣカード３と通信を行ったことがないので、情報処理装置２は、ＩＣカード３の本体データ（データＡ）を記憶しておらず、ＩＣカード３のステータス情報（カウンタＣ）を記憶していない（図２参照）。
【００５３】
状態（ａ）において、まず、アプリケーション部２１が通信制御部２２に対してデータの読出指示を送る（図３参照）。読出指示に応じて、通信制御部２２は、接続処理を実行する（ステップＳ１）。接続処理の具体的な内容は任意である。例えば、通信制御部２２は、通信部１１の周囲に存在するＩＣカード３を検知する処理（例えばポーリング処理）と、検知されたＩＣカード３との間で通信を確立するための処理（例えば、データ通信に必要な情報をＩＣカード３から取得する処理）とを実行する。
【００５４】
接続処理によって通信が確立すると、図３に示すように、通信制御部２２は判定処理を実行する（ステップＳ２）。判定処理においては、通信制御部２２はまず、識別情報とステータス情報とをＩＣカード３から読み出す。このように、情報処理装置２（通信制御部２２）は、ＩＣカード３が情報処理装置２に接近した結果、当該ＩＣカード３との間で近距離無線通信が可能となったことに応じて、ＩＣカード３の識別情報とステータス情報とをＩＣカード３から読み出す（後述するケースＢ〜Ｄにおいても同様）。
【００５５】
通信制御部２２は、読み出した識別情報とステータス情報とに基づいて、ＩＣカード３から本体データを読み出すことの要否を判定する。この判定は、通信可能となったＩＣカード３から本体データが取得済みであるか否かを判定する処理である。詳細は後述するが、上記判定は、情報処理装置２がＩＣカード３に以前にアクセスした際に取得されたステータス情報と、今回ＩＣカード３から読み出されたステータス情報とが一致するか否かによって行われる。なお、識別情報は、ＩＣカード３を識別するために用いられる（詳細は後述する）。
【００５６】
なお、本体データが取得済みである場合とは、ＩＣカード３に記憶されている本体データを情報処理装置２が読み出したことがある場合（後述するケースＢ）、あるいは、ＩＣカード３に記憶されている本体データが情報処理装置２によって以前に書き込まれたものである場合（後述するケースＣ）である。ケースＡにおいては、情報処理装置２においてＩＣカード３のステータス情報が取得されていないので（図２参照）、上記２つのステータス情報は不一致であると判定される。その結果、通信制御部２２は、本体データの読み出しが必要であると判定する。
【００５７】
判定処理の後、通信制御部２２は、データ読出処理を実行する（ステップＳ３）。データ読出処理は、本体データをＩＣカード３から必要に応じて読み出し、読み出したデータをアプリケーションに渡す処理である。図２に示す状態（ｂ）は、状態（ａ）からデータ読出処理が実行された後の状態を示す。上記のように、ケースＡでは、本体データの読み出しが必要であると判定されるので、データ読出処理において、通信制御部２２はＩＣカード３から本体データ（データＡ）を読み出す（図２、図３参照）。そして、通信制御部２２は、読み出した本体データをアプリケーション部２１へ渡す。また、このとき、通信制御部２２は、ＩＣカード３から読み出した識別情報と、ステータス情報（Ｃ＝ｎ）と、本体データ（データＡ）とを保存しておく。
【００５８】
以上の動作によって、ケースＡにおいては、ＩＣカード３から本体データが読み出されてアプリケーション部２１によって利用される。なお、アプリケーション部２１は、取得した本体データを適宜のタイミングで削除する。例えば、本体データを用いた処理が完了した場合、あるいは、アプリケーションが終了された場合等に、本体データを削除する。したがって、アプリケーション部２１は、ＩＣカード３から一度取得した本体データを再度取得しようとする場合がある。一方、通信制御部２２は、アプリケーション部２１が本体データを削除したか否かにかかわらず（アプリケーション部２１が本体データを削除しても）、本体データを保存しておく。
【００５９】
なお、本実施形態において、アプリケーション部２１と通信制御部２２とのデータの受け渡しは、データを実際に相手側へ送信（出力）することによって行われてもよいし、受け渡しを行うべきデータが発生した旨の通知を相手側へ行うことによって行われてもよい。例えば、データ読出処理においては、通信制御部２２は、本体データを読み出した旨（メモリ１４の所定の場所に本体データが記憶された旨）を通知してもよい。また、アプリケーション部２１と通信制御部２２とで同じデータ（例えば、図２に示す“データＡ”）を保存する場合、実際には、両者で別々にデータを保存する必要はなく、メモリ１４に１つのデータのみを保存してもよい。このとき、「アプリケーション部２１がデータを削除する」とは、メモリ１４に記憶されているデータをアプリケーション部２１が管理しなくなることを意味し、メモリ１４からデータが削除されることを意味しない。
【００６０】
（ケースＢ：以前にデータを読み出し済みである場合）
次に、図４および図５を参照して、情報処理装置２がＩＣカード３から本体データを取得済み（読み出し済み）である場合（ケースＢ）における動作を説明する。図４は、ケースＢにおける通信システム１の動作前後の状態を示す図である。図５は、ケースＢにおける通信システム１の動作の流れを示す図である。ケースＢにおいては、上述の図３に示す動作によって本体データが情報処理装置２に取得された後で、アプリケーション部２１が通信制御部２２に対してデータの読出指示を再度送る場合を考える。
【００６１】
図４に示す状態（ｃ）は、情報処理装置２とＩＣカード３とが通信を行う前の状態である。状態（ｃ）においては、アプリケーション部２１は、本体データ（データＡ）を保持していない（状態（ｂ）の後、本体データを削除した）ものとする。一方、通信制御部２２およびＩＣカード３が記憶するデータは、状態（ｂ）と状態（ｃ）とで同じである。
【００６２】
状態（ｃ）において、アプリケーション部２１が通信制御部２２に対してデータの読出指示を送ると、ケースＡと同様に接続処理が実行される（図５に示すステップＳ１）。これによって、通信制御部２２とＩＣカード３との間で通信が確立する。通信が確立すると、通信制御部２２は、ケースＡと同様に判定処理を実行する（図５に示すステップＳ２）。すなわち、通信制御部２２は、識別情報とステータス情報とをＩＣカード３から読み出し、ＩＣカード３からの本体データの読み出しの要否を判定する。
【００６３】
ここで、ケースＢにおいては、今回読み出されたステータス情報と、以前にアクセスした際に取得されたステータス情報（通信制御部２２に保存されるステータス情報）とが一致する（図４参照）。その結果、ケースＢにおいて実行される判定処理では、本体データの読み出しは不要であると判定される。
【００６４】
判定処理の後、通信制御部２２は、データ読出処理を実行する（図５に示すステップＳ３）。なお、図４に示す状態（ｄ）は、状態（ｃ）からデータ読出処理が実行された後の状態を示す。上記のように、ケースＢでは、本体データの読み出しが不要であると判定されるので、データ読出処理において、通信制御部２２はＩＣカード３から本体データ（データＡ）の読み出しを行わない（図４、図５参照）。ケースＢでは、本体データが以前に読み出されて保存されているため、読み出す必要が無いからである。したがって、通信制御部２２は、ＩＣカード３から読み出した本体データとして、保存されている本体データを用いる。つまり、保存されている本体データがアプリケーション部２１へ渡される。このように、情報処理装置２において本体データが取得済みである場合には、ＩＣカードからのデータの読み出しが省略される。
【００６５】
なお、判定処理における判定結果がいずれの場合であっても（ケースＡおよびケースＢのいずれの場合であっても）、データ読出処理の後の情報処理装置２の動作は任意である。例えば、通信制御部２２は、データ読出処理の後、ＩＣカード３との通信を終了してアプリケーション部２１からの指示を待ってもよい。また例えば、通信制御部２２は、上記ステップＳ１〜Ｓ３の一連の処理を繰り返し実行してもよい。なお、このとき、上記ステップＳ１〜Ｓ３の一連の処理における２回目以降の繰り返しにおいては、ＩＣカード３が変更されなければ、ＩＣカード３からのデータの読み出しは省略されることになる。
【００６６】
以上のケースＡおよびケースＢを例として説明したように、本実施形態においては、通信可能なＩＣカード３が発生した場合（ＩＣカード３が接近した場合）、情報処理装置２は、識別情報およびステータス情報を読み出し、識別情報およびステータス情報に基づいて本体データの読み出しの要否を判定する（ステップＳ２）。これによれば、読み出しが不要と判定された場合、情報処理装置２は例えば通信を省略する等の適切な処理を行うことができるので、情報処理装置２とＩＣカード３との間で効率良く通信を行うことができる。
【００６７】
具体的には、本実施形態においては、通信制御部２２は、本体データが取得済みであると判定される場合、ＩＣカード３から当該本体データの読み出しを行わず（ケースＢ）、本体データが取得済みでないと判定される場合、ＩＣカード３から本体データを読み出す（ケースＡ）。これによれば、不要なデータの読み出し処理を省略することができる。これによって、データの読み出しに関するアプリケーションにおける処理速度を向上したり、あるいは、近距離無線通信に要する電力消費を低減したりすることができる。
【００６８】
また、本実施形態においては、通信制御部２２は、ＩＣカード３からデータ（本体データ）が読み出された場合、読み出されたデータを情報処理装置の記憶部に保存しておく（図２、図３）。そして、その後の判定処理において、ＩＣカード３から上記データが取得済みであると判定される場合、通信制御部２２は、記憶部（メモリ１４）に保存されているデータを、ＩＣカード３から読み出したデータとして用いる（図４、図５）。これによれば、ＩＣカード３からの本体データの読み出しを省略しても、情報処理装置２（アプリケーション部２１）は本体データを用いて処理を実行することができる。
【００６９】
（ケースＣ：データを書き込む場合）
次に、図６および図７を参照して、情報処理装置２がＩＣカード３に対してデータを書き込む場合（ケースＣ）における動作を説明する。図６は、ケースＣにおける通信システム１の動作前後の状態を示す図である。図７は、ケースＣにおける通信システム１の動作の流れを示す図である。ケースＣにおいては、アプリケーション部２１が通信制御部２２に対してデータの書込指示を送る場合を考える。
【００７０】
図４に示す状態（ｅ）は、情報処理装置２とＩＣカード３とが通信を行う前の状態である。状態（ｅ）において通信制御部２２およびＩＣカード３が記憶するデータは、状態（ｂ）と同じであるとする。
【００７１】
状態（ｅ）において、アプリケーション部２１が通信制御部２２に対してデータの書込指示を送ると、読出指示の場合と同様に接続処理（ステップＳ１）が実行される。
【００７２】
ここで、上述のように、本実施形態においては、ＩＣカード３に対するデータの書き込み（および読み出し）は、本体データの全体を一単位として行われる。つまり、ＩＣカード３に対してデータを書き込む場合、通信制御部２２は、まずＩＣカード３から本体データを読み出す。次に、アプリケーション部２１は、読み出された本体データの必要な部分に対して書き換えを行う。最後に、通信制御部２２は、読み出したデータに代えて、書き換え後のデータを本体データとしてＩＣカード３に書き込む。
【００７３】
このように、本実施形態においては、データの書き込み時においてもまずＩＣカード３から本体データを読み出す処理（データ読出処理）が行われる。また、データの書き込み時におけるデータ読出処理においてもＩＣカード３からのデータの読み出しを省略するべく、データ読出処理（ステップＳ３）の前に判定処理（ステップＳ２）が実行される（図７参照）。すなわち、接続処理の後、通信制御部２２は、読出指示の場合と同様に判定処理（ステップＳ２）およびデータ読出処理（ステップＳ３）を実行する。なお、ケースＣではケースＢと同様、通信制御部２２が保存しているステータス情報とＩＣカード３のステータス情報とが一致するので、通信制御部２２は本体データの読み出しを省略することができる。なお、通信制御部２２が保存しているステータス情報とＩＣカード３のステータス情報とが一致しない場合におけるデータ読出処理の動作は、ケースＡと同様である。
【００７４】
上記のように、本実施形態においては、情報処理装置２がＩＣカード３に対して本体データを書き込む動作に先だって本体データを読み出す場合においても、ＩＣカード３からの本体データの読み出しを省略することができ、通信システム１は効率良く通信を行うことができる。
【００７５】
ケースＣにおいて、通信制御部２２から本体データを取得すると、アプリケーション部２１は、取得された本体データを用いて書き換え後の本体データ（図６においては“データＢ”）を生成する。また、データ読出処理の後、通信制御部２２は、データ書込処理を実行する（図７に示すステップＳ４）。なお、図６に示す状態（ｆ）は、状態（ｅ）からデータ書込処理が実行された後の状態を示す。新たな本体データを書き込む場合、通信制御部２２は、書き込むべき本体データ（書き換え後の本体データである“データＢ”）をアプリケーション部２１から受け取り、ＩＣカード３へ書き込む。
【００７６】
また、ＩＣカード３にデータが書き込まれる場合、通信制御部２２は、当該ＩＣカード３に記憶されているステータス情報の内容を更新する（図６、図７参照）。すなわち、通信制御部２２は、更新後のステータス情報をＩＣカード３に書き込む。図６に示す例では、ＩＣカード３におけるカウンタＣの値が１だけインクリメントされる（“ｎ”から“ｎ＋１”に更新される）。これによって、ＩＣカード３におけるステータス情報１８を、データの書き込み回数を正確に表すものにすることができる。また、次に情報処理装置２がＩＣカード３から本体データを読み出す場合には、ケースＢと同様、通信制御部２２が保存しているステータス情報とＩＣカード３のステータス情報とが一致するので、通信制御部２２は本体データの読み出しを省略することができる。
【００７７】
なお、ステータス情報１８の更新は、情報処理装置２に限らず、ＩＣカード３に対してデータの書き込みを行う任意の情報処理装置において行われる。つまり、情報処理装置２とは異なる他の情報処理装置によってデータが書き込まれた場合においても、ＩＣカード３におけるステータス情報１８が更新される。その結果、ステータス情報１８は、ＩＣカード３におけるデータの書き込み回数を正確に表すものとなる。
【００７８】
また、ＩＣカード３にデータが書き込まれる場合、通信制御部２２は、当該データを記憶部（メモリ１４）に保存する。図６に示す例では、通信制御部２２は、書き込まれたデータＢをメモリ１４に保存しておく。これによって、次に情報処理装置２がＩＣカード３から本体データを読み出す際に読み出しが省略されても、情報処理装置２（アプリケーション部２１）は当該本体データを用いて処理を実行することができる。
【００７９】
（ケースＤ：他の装置によってデータが書き換えられている場合）
次に、図８を参照して、他の装置によってＩＣカード３の本体データが書き換えられている場合（ケースＤ）における動作を説明する。図８は、ケースＤにおける通信システム１の動作前後の状態を示す図である。ケースＤにおいては、ケースＡにおける動作によってＩＣカード３の本体データが情報処理装置２に取得された後でＩＣカード３の本体データが他の装置によって書き換えられ、その後、情報処理装置２がＩＣカード３から再度データを読み出す場合を考える。
【００８０】
図８に示す状態（ｇ）は、情報処理装置２とＩＣカード３とが通信を行う前の状態である。状態（ｇ）においては、アプリケーション部２１は、本体データを保持していない（状態（ｂ）の後、本体データを削除した）ものとする。通信制御部２２が記憶するデータは、状態（ｂ）と状態（ｇ）とで同じである。また、ＩＣカード３は、他の装置によって本体データが書き換えられた結果、本体データとしてデータＢを記憶するとともに、ステータス情報であるカウンタＣの値として“ｎ＋１”を記憶しているとする。
【００８１】
ケースＤにおける通信システム１の動作の流れは、ケースＡにおける動作（図３）と同じである。すなわち、状態（ｇ）において、アプリケーション部２１が通信制御部２２に対してデータの読出指示を送ると、通信制御部２２は、状態（ａ）の場合と同様に接続処理（ステップＳ１）および判定処理（ステップＳ２）を実行する。ここで、ケースＤにおいては、今回読み出されたステータス情報（カウンタＣ＝ｎ＋１）と、以前にアクセスした際に取得されたステータス情報（通信制御部２２に保存されるステータス情報（カウンタＣ＝ｎ）とが一致しない。その結果、ケースＤにおいては、本体データの読み出しが必要であると判定される。
【００８２】
図８に示す状態（ｈ）は、状態（ｇ）から読出指示に応じた動作が行われた後の状態を示す。上記のように、ケースＤでは、本体データの読み出しが必要であると判定されるので、データ読出処理（ステップＳ３）における動作は、ケースＡ（図２および図３）における動作と同様となる。すなわち、通信制御部２２は、ＩＣカード３から本体データを読み出し、読み出した本体データをアプリケーション部２１へ渡す（図８参照）。また、このとき、通信制御部２２は、ＩＣカード３から読み出した識別情報と、ステータス情報（Ｃ＝ｎ＋１）と、本体データ（データＢ）とを保存しておく。したがって、次に情報処理装置２がＩＣカード３から本体データを読み出す場合には、図４に示す状態（ｃ）と同様、通信制御部２２が保存しているステータス情報とＩＣカード３のステータス情報とが一致する。そのため、通信制御部２２は本体データの読み出しを省略することができる。
【００８３】
以上のように、本実施形態においては、通信制御部２２は、情報処理装置２において実行されるアプリケーション（アプリケーション部２１）から、ＩＣカード３との通信を行う旨の指示（読出指示および／または書込指示）があった場合、識別情報およびステータス情報をＩＣカード３から読み出す。そして、ＩＣカード３のデータ（本体データ）が取得済みであると判定される場合には、通信制御部２２は、アプリケーションからの指示にかかわらず、ＩＣカードからデータの読み出しを行わない。したがって、本実施形態においては、アプリケーション側では、ＩＣカード３のデータを取得済みであるかどうかの管理を行わなくてもよいので、アプリケーションの作成が容易になる。なお、本実施形態においては、アプリケーションからの指示として読出指示および書込指示があった場合、アプリケーションからの指示にかかわらず、データの読み出しが省略され得る。したがって、本実施形態においては、アプリケーションは、読出指示および書込指示を行う場合に上記の管理を行うことなく容易に、効率良い近距離無線通信を行うことができる。
【００８４】
（２−２：ステータス情報）
本実施形態においては、上記ステータス情報１８は、ＩＣカード３に対する書き込み回数を表すカウンタ情報である。より具体的には、ステータス情報１８は、ＩＣカード３に対する通算の書き込み回数を表す。つまり、ＩＣカード３に対してデータの書き込みが行われた場合、ＩＣカード３におけるステータス情報１８は１だけインクリメントされる。
【００８５】
なお、ステータス情報１８は、ＩＣカードへのデータの書き込み回数に応じて一意に設定される任意の情報であってよい。例えば、他の実施形態においては、ステータス情報１８は、ＩＣカード３に対する書き込みがあった時刻を表す時刻情報（例えばタイムスタンプ）であってもよい。ステータス情報１８が上記カウンタ情報および／または時刻情報である場合には、情報処理装置２は、ステータス情報１８を容易に設定することができる。なお、「書き込み回数に応じて一意に設定される」とは、書き込み回数によって異なる値を表すことを意味し、厳密な意味で一意性を要求するものではない。例えば、ステータス情報１８は、書き込み回数に応じて実質的に一意に設定される情報であってもよく、例えば、ハッシュ値あるいはＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）の出力値等であってもよい。
【００８６】
また、本実施形態においては、識別情報１７とステータス情報１８とを合わせたデータサイズは、本体データのデータサイズよりも小さい。したがって、情報処理装置２は、相対的に小さいデータサイズの情報（識別情報１７およびステータス情報１８）を読み出すことで、相対的に大きいデータサイズである本体データの読み出しの要否を判定することができる。これによれば、本体データの読み出しを省略する場合には、ＩＣカード３から読み出すデータのデータサイズを大きく低減することができる。
【００８７】
（２−３：判定方法）
次に、上記判定処理（ステップＳ２）における判定方法について説明する。判定処理における判定方法は任意であるが、本実施形態においては、情報処理装置２がＩＣカード３から以前に読み出したステータス情報と、今回読み出したステータス情報とが一致するか否かによって行われる。
【００８８】
具体的には、まず、通信制御部２２は、ＩＣカード３から読み出されたステータス情報のうち最新のものを、ＩＣカード毎に識別情報と関連づけて情報処理装置２の記憶部（メモリ１４）に保存しておく。すなわち、上述したように、下記（ａ）〜（ｃ）のいずれかの場合には、通信制御部２２は、ＩＣカード３から新たに取得したステータス情報を保存する。
（ａ）通信制御部２２がＩＣカード３のステータス情報を保存していない場合（ケースＡ）
（ｂ）データの書き込みに応じてＩＣカード３のステータス情報を更新する場合（ケースＣ）
（ｃ）通信制御部２２が保存しているステータス情報とＩＣカード３のステータス情報とが異なる場合（ケースＤ）
【００８９】
本実施形態においては、通信制御部２２は、ＩＣカード３から読み出した識別情報とステータス情報との組を、ステータス情報テーブルとして保存しておく。図９は、ステータス情報テーブルの一例を示す図である。図９に示すように、ステータス情報テーブルにおいては、ＩＣカードを表す識別情報と、当該ＩＣカードのステータス情報（カウンタ情報）とがＩＣカード毎に関連づけて格納される。
【００９０】
判定処理においてＩＣカード３から識別情報およびステータス情報を読み出した場合、通信制御部２２は、読み出された識別情報に対応するＩＣカードに関して、読み出されたステータス情報と保存されたステータス情報とが一致するか否かを判定する。本実施形態においては、通信制御部２２は、読み出したステータス情報の値が、ステータス情報テーブルにおいて読み出した識別情報に関連づけられるステータス情報の値に一致するか否かを判定する。なお、読み出した識別情報がステータス情報テーブルに含まれていない場合には、通信制御部２２は、読み出されたステータス情報と保存されたステータス情報とが一致しないと判定する。
【００９１】
読み出されたステータス情報と保存されたステータス情報とが一致する場合、通信制御部２２は、本体データの読み出しが不要と判定する。一方、読み出されたステータス情報と保存されたステータス情報とが一致しない場合、通信制御部２２は、本体データの読み出しが必要と判定する。これによって、本体データの読み出しの要否を容易に判定することができる。
【００９２】
なお、上記（ａ）〜（ｃ）のいずれかの場合、識別情報およびステータス情報の組が更新して保存される。本実施形態においては、通信制御部２２は、上記ステータス情報テーブルの内容を更新する。すなわち、新しい識別情報とステータス情報との組がステータス情報テーブルに新たに追加される。このとき、新しい識別情報と同じ識別情報がステータス情報テーブルにすでに含まれている場合には、古い識別情報とステータス情報との組が削除される。これによって、通信制御部２２は、ＩＣカード３から読み出されたステータス情報のうち最新のものを、ＩＣカード毎に識別情報と関連づけてメモリ１４に保存することができる。
【００９３】
［３．通信システムにおける情報処理の詳細］
（３−１）情報処理に用いられるデータ
以下、図１０〜図１２を参照して、本実施形態において通信システム１（情報処理装置２）で実行される具体的な処理の一例について説明する。図１０は、本実施形態において情報処理装置２のメモリ１４に設定されるデータ領域の一例を示す図である。図１０に示すように、情報処理装置２のメモリ１４は、プログラム格納領域３１および処理用データ格納領域３４を有する。
【００９４】
プログラム格納領域３１は、情報処理装置２で実行される各種プログラムが記憶される。本実施形態においては、プログラム格納領域３１には、上述のアプリケーションプログラム３２および通信プログラム３３が記憶される。なお、図１０では、アプリケーションプログラムは１種類であるが、情報処理装置２には複数種類のアプリケーションプログラムが記憶されていてもよい。なお、アプリケーションプログラム３２（通信プログラム３３も同様）は、情報処理装置２内の記憶装置に予め記憶されていてもよいし、情報処理装置２に着脱可能な記憶媒体から取得されてメモリ１４に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ１４に記憶されてもよい。ＣＰＵ１３は、メモリ１４に記憶されたプログラム（アプリケーションプログラム３２および／または通信プログラム３３）を実行する。
【００９５】
処理用データ格納領域３４には、情報処理装置２において実行される情報処理（図１１および図１２に示す情報処理）において用いられる各種のデータが記憶される。本実施形態においては、処理用データ格納領域３４には、識別情報データ３５、ステータス情報データ３６、ステータス情報テーブルデータ３７、および、保存データ３８が少なくとも記憶される。
【００９６】
識別情報データ３５は、ＩＣカード３から読み出される上述の識別情報を表すデータである。ステータス情報データ３６は、ＩＣカード３から読み出される上述のステータス情報を表すデータである。ステータス情報テーブルデータ３７は、情報処理装置２において保存される上述のステータス情報テーブルを表すデータである。保存データ３８は、情報処理装置２において保存される、ＩＣカード３の本体データである。すなわち、ＩＣカード３から読み出された本体データ、あるいは、ＩＣカード３に書き込まれた本体データが保存データ３８としてメモリ１４に記憶される。なお、図１０では保存データ３８は１種類であるが、情報処理装置２が通信を行ったことがあるＩＣカード毎に保存データ３８がメモリ１４に記憶される。また、ステータス情報テーブルデータ３７および保存データ３８は、情報処理装置２の電源がオフになっても記憶内容が保持される記憶装置に記憶されてもよい。
【００９７】
（３−２）情報処理の具体例
次に、図１１および図１２を参照して、本実施形態における情報処理の詳細な流れを説明する。図１１は、本実施形態において上記読出指示が行われた場合に情報処理装置２（ＣＰＵ１３）が実行する情報処理（読出指示処理）の流れの一例を示すフローチャートである。本実施形態においては、図１１に示す一連の処理は、ＣＰＵ１３が上記通信プログラム３３を実行することによって行われる。また、読出指示処理が開始されるタイミングは任意である。本実施形態においては、アプリケーションからの（近距離無線通信に関する）読出指示が発生したことに応じて読出指示処理が開始される。
【００９８】
なお、図１１および図１２に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵ１３が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよい。
【００９９】
本実施形態においては、まずステップＳ１１において、ＣＰＵ１３は、上記の接続処理（図２等に示すステップＳ１）を実行する。これによって、情報処理装置２とＩＣカード３との近距離無線通信が確立する。続くステップＳ１２において、ＣＰＵ１３は、ＩＣカード３から識別情報およびステータス情報を取得する（図３、図５、図７に示すステップＳ２）。このとき、ＣＰＵ１３は、取得した識別情報のデータを識別情報データ３５としてメモリ１４に記憶し、取得したステータス情報のデータをステータス情報データ３６としてメモリ１４に記憶する。
【０１００】
ステップＳ１３において、ＣＰＵ１３は、ＩＣカード３からの本体データの読み出しの要否を判定する（図３、図５、図７に示すステップＳ２）。すなわち、ＣＰＵ１３は、識別情報データ３５、ステータス情報データ３６、および、ステータス情報テーブルデータ３７をメモリ１４から読み出し、読み出したデータ３５〜３７を用いて判定を行う。なお、本実施形態においては、上記判定は、上記“（２−３：判定方法）”で示した方法で行われる。上記ステップＳ１３における判定が肯定である場合、すなわち、本体データの読み出しが必要と判定される場合、ステップＳ１４〜Ｓ１６に示す一連の処理が実行される。一方、上記ステップＳ１３における判定が否定である場合、すなわち、本体データの読み出しが不要と判定される場合、ステップＳ１７の処理が実行される。
【０１０１】
ステップＳ１４において、ＣＰＵ１３は、ＩＣカード３から本体データを読み出す（図３、図７に示すステップＳ３）。続くステップＳ１５において、ＣＰＵ１３は、読み出した本体データをアプリケーションに渡す（図３、図７に示すステップＳ３）。これによって、アプリケーションは、ＩＣカード３の本体データを用いた情報処理を実行することができる。
【０１０２】
ステップＳ１６において、ＣＰＵ１３は、ステップＳ１２およびＳ１４で取得したデータを保存する。すなわち、ＣＰＵ１３は、ステップＳ１４で取得した本体データを保存データ３８としてメモリ１４に記憶する。また、ステップＳ１２で取得された識別情報およびステータス情報の組を含むように、ステータス情報テーブルが更新される。具体的には、ＣＰＵ１３は、メモリ１４に記憶されている識別情報データ３５およびステータス情報データ３６に基づいて、ステータス情報テーブルデータ３７を更新する。ステップＳ１６の後、ＣＰＵ１３は、図１１に示す読出指示処理を終了する。
【０１０３】
一方、ステップＳ１７において、ＣＰＵ１３は、ＩＣカード３に記憶されている本体データとして、保存されている本体データをアプリケーションに渡す（図５に示すステップＳ３）。すなわち、ＣＰＵ１３は、メモリ１４に保存データ３８として本体データが記憶されている旨の通知をアプリケーションに対して行う。あるいは、ＣＰＵ１３は、メモリ１４から保存データ３８を読み出してアプリケーションに出力する。ステップＳ１７の後、ＣＰＵ１３は、図１１に示す読出指示処理を終了する。
【０１０４】
次に、上記書込指示が行われた場合に情報処理装置２（ＣＰＵ１３）が実行する情報処理（書込指示処理）について説明する。図１２は、本実施形態において情報処理装置２（ＣＰＵ１３）が実行する書込指示処理の流れの一例を示すフローチャートである。本実施形態においては、図１２に示す一連の処理は、ＣＰＵ１３が上記通信プログラム３３を実行することによって行われる。また、書込指示処理が開始されるタイミングは任意である。本実施形態においては、アプリケーションからの（近距離無線通信に関する）読出指示が発生したことに応じて書込指示処理が開始される。
【０１０５】
書込指示処理においても上記読出指示処理と同様、ステップＳ１１〜Ｓ１３の処理が実行される。また、ステップＳ１３における判定結果が肯定である場合、上記読出指示処理と同様、ステップＳ１４およびＳ１５の処理が実行される。なお、書込指示処理においては、ステップＳ１６の処理は実行されない。一方、ステップＳ１３における判定結果が否定である場合には、上記読出指示処理と同様、ステップＳ１７の処理が実行される。書込指示処理においては、ステップＳ１５またはＳ１７の後、ＣＰＵ１３は、後述するステップＳ２１の処理を実行する。
【０１０６】
ステップＳ２１において、ＣＰＵ１３は、ＩＣカード３に対してデータの書き込みを行う（図５に示すステップＳ４）。すなわち、書込指示処理においては、ステップＳ１５またはＳ１７によってアプリケーションに渡されたデータを用いてアプリケーションが書き換え後のデータを生成する。ステップＳ２１においてＣＰＵ１３は、アプリケーションによって書き換えられた本体データをＩＣカード３に書き込む。続くステップＳ２２において、ＣＰＵ１３は、ＩＣカード３に記憶されているステータス情報の内容を更新する（図５に示すステップＳ４）。
【０１０７】
ステップＳ２３において、ＣＰＵ１３は、ステップＳ１２で取得した各情報と、ステップＳ２２で書き込んだデータとを保存する（図６および図７参照）。ステップＳ１２で取得した識別情報およびステータス情報を保存する処理についてはステップＳ１６と同じである。また、ＣＰＵ１３は、ステップＳ２２でＩＣカード３に書き込んだ本体データを保存データ３８としてメモリ１４に記憶する。ステップＳ２３の後、ＣＰＵ１３は、図１２に示す書込指示処理を終了する。
【０１０８】
以上のように、本実施形態においては、読出指示が行われた場合、および、書込指示が行われた場合に、ＩＣカード３からデータの読み出しを省略することができる。なお、他の実施形態においては、上記読出指示および書込指示に限らず、アプリケーションによる指示はどのような内容であってもよい。本実施形態における通信方法によれば、指示に応じてＩＣカード３からデータ（本体データ）を読み出す動作を行う任意の場合に、ＩＣカード３からデータの読み出しを省略することによって通信の効率化を図ることができる。
【０１０９】
［４．変形例］
上記実施形態においては、通信対象（ＩＣカード）３に対するデータの読み出しおよび書き込みは、本体データの全体を単位として行われた。ここで、他の実施形態においては、通信対象３に対するデータの読み出しおよび書き込みは、複数個の所定の単位毎に行われてもよい。換言すれば、通信対象３は、データの読み出しおよび書き込みが行われる一単位である本体データを複数個記憶していてもよい。このとき、上記識別情報およびステータス情報はそれぞれ、上記所定の単位毎（本体データ毎）に設定されてもよい。これによれば、情報処理装置２は、本体データが取得済みであるか否かの判定を複数の記憶単位毎に行うことができる。
【産業上の利用可能性】
【０１１０】
以上のように、本発明は、通信対象との間で近距離無線通信を効率良く行うこと等を目的として、例えば、通信対象との間で近距離無線通信を行う携帯機器、あるいは、携帯機器において実行される通信プログラム等として利用することができる。
【符号の説明】
【０１１１】
１  通信システム
２  情報処理装置
３  通信対象（ＩＣカード）
１１  通信部
１２  通信チップ
１３  ＣＰＵ
１４  メモリ
１５  電源ＩＣ
１６  バッテリー
１７  識別情報
１８  ステータス情報
１９  本体データ
２１  アプリケーション部
２２  通信制御部
３２  通信プログラム
【図１】
2014120810.tif 000003
【図２】
2014120810.tif 000004
【図３】
2014120810.tif 000005
【図４】
2014120810.tif 000006
【図５】
2014120810.tif 000007
【図６】
2014120810.tif 000008
【図７】
2014120810.tif 000009
【図８】
2014120810.tif 000010
【図９】
2014120810.tif 000011
【図１０】
2014120810.tif 000012
【図１１】
2014120810.tif 000013
【図１２】
2014120810.tif 000014