JP6120551B2 - 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体 - Google Patents

通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体 Download PDF

Info

Publication number
JP6120551B2
JP6120551B2 JP2012272549A JP2012272549A JP6120551B2 JP 6120551 B2 JP6120551 B2 JP 6120551B2 JP 2012272549 A JP2012272549 A JP 2012272549A JP 2012272549 A JP2012272549 A JP 2012272549A JP 6120551 B2 JP6120551 B2 JP 6120551B2
Authority
JP
Japan
Prior art keywords
communication
main body
data
communication target
body data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012272549A
Other languages
English (en)
Other versions
JP2014120810A (ja
Inventor
菅原 淳
淳 菅原
達広 白井
達広 白井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2012272549A priority Critical patent/JP6120551B2/ja
Priority to US13/937,836 priority patent/US9307348B2/en
Priority to EP13175712.2A priority patent/EP2744232B1/en
Publication of JP2014120810A publication Critical patent/JP2014120810A/ja
Application granted granted Critical
Publication of JP6120551B2 publication Critical patent/JP6120551B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、通信対象との間で近距離無線通信を行うための通信プログラム、情報処理装置、通信システム、通信方法、および、記憶媒体に関する。
従来、例えばNFC(Near Field Communication)等の近距離無線通信によって装置間で通信を行う技術がある(例えば、特許文献1参照)。近距離無線通信では、通信装置に対して通信対象が接近したことに応じて、通信装置と通信対象との間で通信が開始される。
特開2000−163524号公報
従来の近距離無線通信においては、通信を行う情報処理装置(例えばNFCリーダ・ライタ)に対して任意の通信対象(例えばNFCタグ)が接近する毎に、通信が確立されてデータの送受信が行われる。従来においては、同一の通信対象について不要な通信が行われ、近距離無線通信が効率良く行われない場合があった。
それ故、本発明の目的は、近距離無線通信を効率良く行うことができる通信プログラム、情報処理装置、通信システム、通信方法、および、記憶媒体を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)〜(13)の構成を採用した。
(1)
本発明の一例は、通信対象との間で近距離無線通信を行うことが可能な情報処理装置のコンピュータにおいて実行される通信プログラムである。
通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶している。
通信プログラムは、第1読出手段と、判定手段としてコンピュータを機能させる。
第1読出手段は、通信対象が情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、通信対象の識別情報と、ステータス情報とを通信対象から読み出す。判定手段は、読み出された識別情報とステータス情報とに基づいて、本体データの読み出しの要否を判定する。
上記(1)の構成によれば、情報処理装置と通信可能な通信対象が発生した場合(通信対象が接近した場合)、情報処理装置は、識別情報およびステータス情報を読み出し、識別情報およびステータス情報に基づいて本体データの読み出しの要否を判定する。これによって、情報処理装置は要否に応じた適切な処理をとることができ、効率良く通信を行うことができる。
(2)
判定手段は、読み出された識別情報とステータス情報とに基づいて、通信可能となった通信対象からの本体データが取得済みであるか否かを判定することによって、当該本体データの読み出しの要否を判定してもよい。
上記(2)の構成によれば、通信対象からの本体データが取得済みであるか否かを識別情報とステータス情報とに基づいて判定することができるので、本体データの読み出しの要否を正確に判定することができる。
(3)
通信プログラムは、第2読出手段としてコンピュータをさらに機能させてもよい。第2読出手段は、本体データが取得済みであると判定される場合、通信対象から本体データの読み出しを行わず、本体データが取得済みでないと判定される場合、通信対象から本体データを読み出す。
上記(3)の構成によれば、不要な本体データの読み出し処理を省略することができる。これによって、本体データの読み出しに関するアプリケーションにおける処理速度を向上したり、あるいは、近距離無線通信に要する電力消費を低減したりすることができる。
(4)
通信プログラムは、第1保存手段としてコンピュータをさらに機能させてもよい。第1保存手段は、通信対象から本体データが読み出された場合、読み出された本体データを情報処理装置の記憶部に保存しておく。第2読出手段は、本体データが取得済みであると判定される場合、記憶部に保存されている本体データを通信対象から読み出した本体データとして用いる。
上記(4)の構成によれば、情報処理装置は、通信対象から本体データを再度読み出す代わりに、予め保存しておいた本体データを用いる。これによれば、通信対象からのデータの読み出しを省略しても、情報処理装置は当該本体データを用いた処理を実行することができる。
(5)
第1保存手段は、通信対象に本体データが書き込まれる場合、当該本体データを記憶部に保存してもよい。
上記(5)の構成によれば、通信対象に書き込まれた本体データは情報処理装置においても保存される。したがって、書き込み後において、情報処理装置が通信対象から当該本体データを読み出す際に読み出しが省略されても、情報処理装置は当該本体データを用いた処理を実行することができる。
(6)
通信プログラムは、第2保存手段としてコンピュータをさらに機能させてもよい。第2保存手段は、第1読出手段によって読み出されたステータス情報を、通信対象毎に識別情報と関連づけて情報処理装置の記憶部に保存しておく。判定手段は、通信対象から読み出された識別情報に対応する通信対象に関して、読み出されたステータス情報と記憶部に保存されたステータス情報とが一致すれば本体データの読み出しが不要と判定し、読み出されたステータス情報と記憶部に保存されたステータス情報とが不一致であれば本体データの読み出しが必要と判定する。
上記(6)の構成によれば、ステータス情報が一致するか否かによって読み出しの要否を判定することによって、判定を容易に行うことができる。また、識別情報を用いることによって、複数の通信対象を区別して判定を行うことができるので、情報処理装置が複数の通信対象と通信を行うことが想定される場合でも、判定を正確に行うことができる。
(7)
通信プログラムは、更新手段としてコンピュータをさらに機能させてもよい。更新手段は、通信対象に本体データが書き込まれる場合、当該通信対象に記憶されているステータス情報の内容を更新する。
上記(7)の構成によれば、通信対象に本体データが書き込まれる場合には、当該通信対象に記憶されているステータス情報の内容が更新される。これによって、通信対象におけるステータス情報は、本体データの書き込み回数を正確に表すものとなる。したがって、ステータス情報を用いた読み出しの要否の判定を正確に行うことができる。
(8)
情報処理装置において実行されるアプリケーションから、通信対象との通信を行う旨の指示があった場合、第1読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、情報処理装置において実行されるアプリケーションから、通信対象との通信を行う旨の指示があった場合、第2読出手段は、本体データが取得済みであると判定される場合には、通信対象から本体データの読み出しを行わなくてもよい。
上記(8)の構成によれば、通信対象の本体データを取得済みであるかどうかの管理をアプリケーション側で行わなくても、効率の良い通信を行うことができる。また、アプリケーション側で上記の管理を行わなくてよいので、アプリケーションの作成が容易になる。
(9)
通信対象から本体データを読み出す指示がアプリケーションからあった場合、第1読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、通信対象から本体データを読み出す指示がアプリケーションからあった場合、第2読出手段は、本体データが取得済みであると判定される場合には、通信対象から本体データの読み出しを行わなくてもよい。
上記(9)の構成によれば、通信対象から本体データを読み出す旨の指示がアプリケーションからある場合において、効率の良い通信を行うことができる。
(10)
通信対象に対して本体データを書き換える指示がアプリケーションからあった場合、第1読出手段は、識別情報およびステータス情報を通信対象から読み出してもよい。また、通信対象に対して本体データを書き換える指示がアプリケーションからあった場合において、第2読出手段は、本体データが取得済みでないと判定される場合、書き換えの対象となる本体データを通信対象から読み出し、本体データが取得済みであると判定される場合、通信対象から当該本体データの読み出しを行わなくてもよい。
上記(10)の構成によれば、通信対象に本体データを書き込む旨の指示がアプリケーションからある場合において、効率の良い通信を行うことができる。
(11)
ステータス情報は、通信対象へのデータの書き込み回数に応じて一意に設定される情報であってもよい。
上記(11)の構成によれば、ステータス情報は書き込み回数に応じて一意に設定されるので、このようなステータス情報を用いることによって、本体データの読み出しの要否をより正確に判定することができる。
(12)
ステータス情報は、通信対象に対する書き込み回数を表すカウンタ情報、および、通信対象に対する書き込みがあった時刻を表す時刻情報のうち少なくとも1つであってもよい。
上記(12)の構成によれば、通信対象への本体データの書き込み回数に応じて一意に設定されるように、ステータス情報を容易に設定することができる。
(13)
識別情報とステータス情報とを合わせたデータサイズは、本体データのデータサイズよりも小さく設定されてもよい。
上記(13)の構成によれば、情報処理装置は、相対的に小さいデータサイズの情報(識別情報およびステータス情報)を読み出すことで、相対的に大きいデータサイズである本体データの読み出しの要否を判定することができる。したがって、本体データの読み出しを省略する場合には、通信対象から読み出す本体データのデータサイズを大きく低減することができる。
なお、本発明の別の一例は、上記(1)〜(13)の情報処理装置と同等の機能を備える情報処理装置であってもよいし、上記(1)〜(13)の通信対象(通信対象装置)と情報処理装置とを含む通信システムであってもよい。また、本発明の別の一例は、上記(1)〜(13)の情報処理装置において実行される通信方法であってもよい。
また、本発明の別の一例は、上記(1)〜(13)における通信対象と同等の機能を備える記憶媒体であってもよい。ここで、上記記憶媒体は、例えばICカードのように、主に記憶手段として用いられる形態であってもよいし、情報処理装置(例えば、NFCのカードエミュレーション機能を有する情報処理装置)に内蔵される形態であってもよい。
本発明によれば、通信対象から読み出した識別情報およびステータス情報に基づいてデータの読み出しの要否を判定することによって、近距離無線通信を効率良く行うことができる。
本実施形態に係る通信システムの一例の構成を示す図 情報処理装置と通信対象とが最初に通信を行う場合における通信システムの動作前後の状態の一例を示す図 情報処理装置と通信対象とが最初に通信を行う場合における通信システムの動作の流れの一例を示す図 情報処理装置が通信対象から本体データを取得済みである場合における通信システムの動作前後の状態の一例を示す図 情報処理装置が通信対象から本体データを取得済みである場合における通信システムの動作の流れの一例を示す図 情報処理装置が通信対象に対してデータを書き込む場合における通信システムの動作前後の状態の一例を示す図 情報処理装置が通信対象に対してデータを書き込む場合における通信システムの動作の流れの一例を示す図 他の装置によって通信対象の本体データが書き換えられている場合における通信システムの動作前後の状態の一例を示す図 ステータス情報テーブルの一例を示す図 情報処理装置のメモリに設定されるデータ領域の一例を示す図 情報処理装置が実行する読出指示処理の流れの一例を示すフローチャート 情報処理装置が実行する書込指示処理の流れの一例を示すフローチャート
[1.通信システムの構成]
以下、本実施形態の一例に係る通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体について説明する。まず、通信システムの構成について説明する。図1は、本実施形態に係る通信システムの一例の構成を示す図である。図1に示すように、通信システム1は、情報処理装置2と、通信対象3とを含む。情報処理装置2は、通信対象3との間で近距離無線通信が可能な任意の情報処理装置である。
本実施形態においては、近距離無線通信の一例として、情報処理装置2と通信対象3との間でNFC規格に基づく通信が行われる場合を例として説明する。ここで、本明細書において近距離無線通信とは、一方の装置からの電波によって(例えば電磁誘導によって)他方の装置に起電力を発生させる通信方式を指す。他方の装置は、発生した起電力によって動作することが可能である(他方の装置は、電源を有していてもよいし有していなくてもよい)。近距離無線通信においては、情報処理装置2と通信対象3とが接近した場合(典型的には両者の距離が十数センチ以下となった場合)に通信可能となる。また、近距離無線通信では、2つの通信装置の通信が確立している間(通信装置に他の通信対象が接近している間)は電波が送出され続ける。
情報処理装置2は、近距離無線通信が可能な任意の情報処理装置である。本実施形態においては、情報処理装置2は、例えば携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型(可搬型とも言う)の装置である。例えば、情報処理装置2は、NFCリーダライタの機能を有する携帯機器である。
通信対象3は、情報処理装置2との間で近距離無線通信が可能な任意の装置である。本実施形態においては、通信対象3は、NFCタグの機能を有する記憶媒体(例えばICカード)である。以下では、通信対象がICカードである場合を例として説明する。ただし、通信対象3は、ICカード等の記憶媒体に限らず、例えばNFCのカードエミュレーション機能を有する情報処理装置(携帯機器)であってもよい。
以下、情報処理装置2の構成について説明する。図1に示すように、情報処理装置2は通信部11を備える。通信部11は、近距離無線通信に用いられるアンテナである。また、情報処理装置2は通信チップ12を備える。通信チップ12は、後述するCPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成する。生成された信号が通信部11から送出される。通信チップ12は、例えばNFCチップである。
図1に示すように、情報処理装置2は、CPU13およびメモリ14を備える。CPU13は、情報処理装置2で実行される各種の情報処理を実行するための情報処理部である。CPU13は、メモリ14を用いて上記各種の情報処理を実行する。なお、図示しないが、情報処理装置2は、ユーザによる指示を受け付ける入力部(ボタンやタッチパネル等)、および/または、上記情報処理によって生成される画像を表示する表示装置を備えていてもよい。
なお、情報処理装置2は、複数の装置によって構成されてもよい。例えば、他の実施形態においては、情報処理装置2において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。また例えば、情報処理装置2は、CPU13およびメモリ14を備える装置に対して、上記通信部11および通信チップ12を備える装置が着脱可能に装着される構成であってもよい。
本実施形態においては、情報処理装置2では、少なくともアプリケーションプログラムおよび通信プログラム(図10参照)という2種類のプログラムがCPU13によって実行される。アプリケーションプログラムは、通信対象(ICカード)3との間でデータ通信を行う任意のアプリケーションを実行するためのプログラムである。アプリケーションプログラムは、例えば、ICカード3からゲームデータを読み出して当該ゲームデータを用いてゲーム処理を行うゲームプログラムであってもよい。通信プログラムは、ICカード3との間で近距離無線通信を行うためのプログラムである。例えば、通信プログラムは、通信チップ12を動作させるためのファームウェアである。詳細は後述するが、通信プログラムは、アプリケーションからの指示を受けて通信のための動作を通信チップ12に行わせる。なお、情報処理装置2において複数のアプリケーションプログラムが実行可能である場合、通信プログラムは、各アプリケーションで共通に使用される。つまり、通信プログラム(後述する通信制御部)は、複数のアプリケーションから通信に関する指示を受け付けることが可能である。
図1に示すように、情報処理装置2は、バッテリー16および電源IC15を備える。電源IC15は、バッテリー16の電力を情報処理装置2の各部へ供給する。本実施形態においては、電源IC15は、少なくとも通信チップ12、CPU13、およびメモリ14へ電力を供給する。したがって、近距離無線通信が行われる場合においてこれら通信チップ12、CPU13、およびメモリ14における電力消費を抑えることによって、バッテリー16の電力消費を抑えることができる。
また、ICカード3は、識別情報17およびステータス情報18を記憶している。識別情報17は、個別の通信対象(ICカード)を識別可能な情報である。換言すれば、識別情報17は、通信対象毎に固有の(個別に付与される)情報である。本実施形態においては、識別情報17は、NFCにおけるUID(Unique ID)である。
ステータス情報18は、ICカード3へのデータの書き込みに応じて設定される情報(データが書き込まれたことに応じて変更される情報)である。本実施形態においては、ステータス情報18は、ICカード3に対する書き込み回数を表すカウンタである。
また、ICカード3には、上記識別情報17およびステータス情報18の他に、情報処理装置2による読み出しの対象となるデータ(本体データと呼ぶ)19が記憶される。本体データ19は、ICカード3に予め記憶されていたり、あるいは、近距離無線通信の相手装置(情報処理装置2を含む)によって書き込まれたりしたデータである。本体データ19は、上記識別情報17およびステータス情報18とは異なる情報を表すデータである。本実施形態において、本体データ19は、情報処理装置2で実行されるアプリケーションにおいて用いられる。すなわち、情報処理装置2は、アプリケーションの実行中に、ICカード3から本体データを読み出したり、本体データとして記憶されるべきデータを書き込んだりする。
なお、本実施形態においては、ICカード3に対するデータの書き込みおよび読み出しは、本体データの全体を一単位として行われるものとする。つまり、本体データを読み出す場合には、(本体データの一部のみが必要である場合であっても)本体データの全体が読み出される。また、ICカード3に対してデータを書き込む(本体データを書き換える)場合には、(本体データの一部のみを書き換える場合であっても)本体データの全体が書き換えられる。
[2.通信システムにおける動作]
(2−1:動作の概要)
次に、図2〜図8を参照して、通信システム1における通信に関する動作について説明する。なお、図2〜図8に示すように、本実施形態においては、情報処理装置2内における動作を、機能的にアプリケーション部21と通信制御部22とに分けて説明する。本実施形態において、アプリケーション部21は、上述のアプリケーションプログラムを実行するCPU13である。通信制御部22は、通信プログラムを実行するCPU13と、通信チップ12および通信部11とによって実現される。なお、他の実施形態においては、情報処理装置2における情報処理は、アプリケーションプログラムと通信プログラムという2種類のプログラムによって実現される必要は無く、単一のプログラムによって実現されてもよい。
(ケースA:最初に通信を行う場合)
本欄では、いくつかのケースにおける通信システム1の動作例について説明する。まず、図2および図3を参照して、情報処理装置2とICカード3とが最初に通信を行う場合(ケースA)における動作を説明する。図2は、ケースAにおける通信システム1の動作前後の状態を示す図である。図3は、ケースAにおける通信システム1の動作の流れを示す図である。図2および図3においては、情報処理装置2がICカード3から本体データ19であるデータAを読み出す場合を考える。
図2に示す状態(a)は、情報処理装置2とICカード3とが通信を行う前の状態である。状態(a)においては、ICカード3は、本体データとして“データA”を記憶するとともに、ステータス情報であるカウンタCの値として“n(nは自然数)”を記憶している。また、情報処理装置2はICカード3と通信を行ったことがないので、情報処理装置2は、ICカード3の本体データ(データA)を記憶しておらず、ICカード3のステータス情報(カウンタC)を記憶していない(図2参照)。
状態(a)において、まず、アプリケーション部21が通信制御部22に対してデータの読出指示を送る(図3参照)。読出指示に応じて、通信制御部22は、接続処理を実行する(ステップS1)。接続処理の具体的な内容は任意である。例えば、通信制御部22は、通信部11の周囲に存在するICカード3を検知する処理(例えばポーリング処理)と、検知されたICカード3との間で通信を確立するための処理(例えば、データ通信に必要な情報をICカード3から取得する処理)とを実行する。
接続処理によって通信が確立すると、図3に示すように、通信制御部22は判定処理を実行する(ステップS2)。判定処理においては、通信制御部22はまず、識別情報とステータス情報とをICカード3から読み出す。このように、情報処理装置2(通信制御部22)は、ICカード3が情報処理装置2に接近した結果、当該ICカード3との間で近距離無線通信が可能となったことに応じて、ICカード3の識別情報とステータス情報とをICカード3から読み出す(後述するケースB〜Dにおいても同様)。
通信制御部22は、読み出した識別情報とステータス情報とに基づいて、ICカード3から本体データを読み出すことの要否を判定する。この判定は、通信可能となったICカード3から本体データが取得済みであるか否かを判定する処理である。詳細は後述するが、上記判定は、情報処理装置2がICカード3に以前にアクセスした際に取得されたステータス情報と、今回ICカード3から読み出されたステータス情報とが一致するか否かによって行われる。なお、識別情報は、ICカード3を識別するために用いられる(詳細は後述する)。
なお、本体データが取得済みである場合とは、ICカード3に記憶されている本体データを情報処理装置2が読み出したことがある場合(後述するケースB)、あるいは、ICカード3に記憶されている本体データが情報処理装置2によって以前に書き込まれたものである場合(後述するケースC)である。ケースAにおいては、情報処理装置2においてICカード3のステータス情報が取得されていないので(図2参照)、上記2つのステータス情報は不一致であると判定される。その結果、通信制御部22は、本体データの読み出しが必要であると判定する。
判定処理の後、通信制御部22は、データ読出処理を実行する(ステップS3)。データ読出処理は、本体データをICカード3から必要に応じて読み出し、読み出したデータをアプリケーションに渡す処理である。図2に示す状態(b)は、状態(a)からデータ読出処理が実行された後の状態を示す。上記のように、ケースAでは、本体データの読み出しが必要であると判定されるので、データ読出処理において、通信制御部22はICカード3から本体データ(データA)を読み出す(図2、図3参照)。そして、通信制御部22は、読み出した本体データをアプリケーション部21へ渡す。また、このとき、通信制御部22は、ICカード3から読み出した識別情報と、ステータス情報(C=n)と、本体データ(データA)とを保存しておく。
以上の動作によって、ケースAにおいては、ICカード3から本体データが読み出されてアプリケーション部21によって利用される。なお、アプリケーション部21は、取得した本体データを適宜のタイミングで削除する。例えば、本体データを用いた処理が完了した場合、あるいは、アプリケーションが終了された場合等に、本体データを削除する。したがって、アプリケーション部21は、ICカード3から一度取得した本体データを再度取得しようとする場合がある。一方、通信制御部22は、アプリケーション部21が本体データを削除したか否かにかかわらず(アプリケーション部21が本体データを削除しても)、本体データを保存しておく。
なお、本実施形態において、アプリケーション部21と通信制御部22とのデータの受け渡しは、データを実際に相手側へ送信(出力)することによって行われてもよいし、受け渡しを行うべきデータが発生した旨の通知を相手側へ行うことによって行われてもよい。例えば、データ読出処理においては、通信制御部22は、本体データを読み出した旨(メモリ14の所定の場所に本体データが記憶された旨)を通知してもよい。また、アプリケーション部21と通信制御部22とで同じデータ(例えば、図2に示す“データA”)を保存する場合、実際には、両者で別々にデータを保存する必要はなく、メモリ14に1つのデータのみを保存してもよい。このとき、「アプリケーション部21がデータを削除する」とは、メモリ14に記憶されているデータをアプリケーション部21が管理しなくなることを意味し、メモリ14からデータが削除されることを意味しない。
(ケースB:以前にデータを読み出し済みである場合)
次に、図4および図5を参照して、情報処理装置2がICカード3から本体データを取得済み(読み出し済み)である場合(ケースB)における動作を説明する。図4は、ケースBにおける通信システム1の動作前後の状態を示す図である。図5は、ケースBにおける通信システム1の動作の流れを示す図である。ケースBにおいては、上述の図3に示す動作によって本体データが情報処理装置2に取得された後で、アプリケーション部21が通信制御部22に対してデータの読出指示を再度送る場合を考える。
図4に示す状態(c)は、情報処理装置2とICカード3とが通信を行う前の状態である。状態(c)においては、アプリケーション部21は、本体データ(データA)を保持していない(状態(b)の後、本体データを削除した)ものとする。一方、通信制御部22およびICカード3が記憶するデータは、状態(b)と状態(c)とで同じである。
状態(c)において、アプリケーション部21が通信制御部22に対してデータの読出指示を送ると、ケースAと同様に接続処理が実行される(図5に示すステップS1)。これによって、通信制御部22とICカード3との間で通信が確立する。通信が確立すると、通信制御部22は、ケースAと同様に判定処理を実行する(図5に示すステップS2)。すなわち、通信制御部22は、識別情報とステータス情報とをICカード3から読み出し、ICカード3からの本体データの読み出しの要否を判定する。
ここで、ケースBにおいては、今回読み出されたステータス情報と、以前にアクセスした際に取得されたステータス情報(通信制御部22に保存されるステータス情報)とが一致する(図4参照)。その結果、ケースBにおいて実行される判定処理では、本体データの読み出しは不要であると判定される。
判定処理の後、通信制御部22は、データ読出処理を実行する(図5に示すステップS3)。なお、図4に示す状態(d)は、状態(c)からデータ読出処理が実行された後の状態を示す。上記のように、ケースBでは、本体データの読み出しが不要であると判定されるので、データ読出処理において、通信制御部22はICカード3から本体データ(データA)の読み出しを行わない(図4、図5参照)。ケースBでは、本体データが以前に読み出されて保存されているため、読み出す必要が無いからである。したがって、通信制御部22は、ICカード3から読み出した本体データとして、保存されている本体データを用いる。つまり、保存されている本体データがアプリケーション部21へ渡される。このように、情報処理装置2において本体データが取得済みである場合には、ICカードからのデータの読み出しが省略される。
なお、判定処理における判定結果がいずれの場合であっても(ケースAおよびケースBのいずれの場合であっても)、データ読出処理の後の情報処理装置2の動作は任意である。例えば、通信制御部22は、データ読出処理の後、ICカード3との通信を終了してアプリケーション部21からの指示を待ってもよい。また例えば、通信制御部22は、上記ステップS1〜S3の一連の処理を繰り返し実行してもよい。なお、このとき、上記ステップS1〜S3の一連の処理における2回目以降の繰り返しにおいては、ICカード3が変更されなければ、ICカード3からのデータの読み出しは省略されることになる。
以上のケースAおよびケースBを例として説明したように、本実施形態においては、通信可能なICカード3が発生した場合(ICカード3が接近した場合)、情報処理装置2は、識別情報およびステータス情報を読み出し、識別情報およびステータス情報に基づいて本体データの読み出しの要否を判定する(ステップS2)。これによれば、読み出しが不要と判定された場合、情報処理装置2は例えば通信を省略する等の適切な処理を行うことができるので、情報処理装置2とICカード3との間で効率良く通信を行うことができる。
具体的には、本実施形態においては、通信制御部22は、本体データが取得済みであると判定される場合、ICカード3から当該本体データの読み出しを行わず(ケースB)、本体データが取得済みでないと判定される場合、ICカード3から本体データを読み出す(ケースA)。これによれば、不要なデータの読み出し処理を省略することができる。これによって、データの読み出しに関するアプリケーションにおける処理速度を向上したり、あるいは、近距離無線通信に要する電力消費を低減したりすることができる。
また、本実施形態においては、通信制御部22は、ICカード3からデータ(本体データ)が読み出された場合、読み出されたデータを情報処理装置の記憶部に保存しておく(図2、図3)。そして、その後の判定処理において、ICカード3から上記データが取得済みであると判定される場合、通信制御部22は、記憶部(メモリ14)に保存されているデータを、ICカード3から読み出したデータとして用いる(図4、図5)。これによれば、ICカード3からの本体データの読み出しを省略しても、情報処理装置2(アプリケーション部21)は本体データを用いて処理を実行することができる。
(ケースC:データを書き込む場合)
次に、図6および図7を参照して、情報処理装置2がICカード3に対してデータを書き込む場合(ケースC)における動作を説明する。図6は、ケースCにおける通信システム1の動作前後の状態を示す図である。図7は、ケースCにおける通信システム1の動作の流れを示す図である。ケースCにおいては、アプリケーション部21が通信制御部22に対してデータの書込指示を送る場合を考える。
図4に示す状態(e)は、情報処理装置2とICカード3とが通信を行う前の状態である。状態(e)において通信制御部22およびICカード3が記憶するデータは、状態(b)と同じであるとする。
状態(e)において、アプリケーション部21が通信制御部22に対してデータの書込指示を送ると、読出指示の場合と同様に接続処理(ステップS1)が実行される。
ここで、上述のように、本実施形態においては、ICカード3に対するデータの書き込み(および読み出し)は、本体データの全体を一単位として行われる。つまり、ICカード3に対してデータを書き込む場合、通信制御部22は、まずICカード3から本体データを読み出す。次に、アプリケーション部21は、読み出された本体データの必要な部分に対して書き換えを行う。最後に、通信制御部22は、読み出したデータに代えて、書き換え後のデータを本体データとしてICカード3に書き込む。
このように、本実施形態においては、データの書き込み時においてもまずICカード3から本体データを読み出す処理(データ読出処理)が行われる。また、データの書き込み時におけるデータ読出処理においてもICカード3からのデータの読み出しを省略するべく、データ読出処理(ステップS3)の前に判定処理(ステップS2)が実行される(図7参照)。すなわち、接続処理の後、通信制御部22は、読出指示の場合と同様に判定処理(ステップS2)およびデータ読出処理(ステップS3)を実行する。なお、ケースCではケースBと同様、通信制御部22が保存しているステータス情報とICカード3のステータス情報とが一致するので、通信制御部22は本体データの読み出しを省略することができる。なお、通信制御部22が保存しているステータス情報とICカード3のステータス情報とが一致しない場合におけるデータ読出処理の動作は、ケースAと同様である。
上記のように、本実施形態においては、情報処理装置2がICカード3に対して本体データを書き込む動作に先だって本体データを読み出す場合においても、ICカード3からの本体データの読み出しを省略することができ、通信システム1は効率良く通信を行うことができる。
ケースCにおいて、通信制御部22から本体データを取得すると、アプリケーション部21は、取得された本体データを用いて書き換え後の本体データ(図6においては“データB”)を生成する。また、データ読出処理の後、通信制御部22は、データ書込処理を実行する(図7に示すステップS4)。なお、図6に示す状態(f)は、状態(e)からデータ書込処理が実行された後の状態を示す。新たな本体データを書き込む場合、通信制御部22は、書き込むべき本体データ(書き換え後の本体データである“データB”)をアプリケーション部21から受け取り、ICカード3へ書き込む。
また、ICカード3にデータが書き込まれる場合、通信制御部22は、当該ICカード3に記憶されているステータス情報の内容を更新する(図6、図7参照)。すなわち、通信制御部22は、更新後のステータス情報をICカード3に書き込む。図6に示す例では、ICカード3におけるカウンタCの値が1だけインクリメントされる(“n”から“n+1”に更新される)。これによって、ICカード3におけるステータス情報18を、データの書き込み回数を正確に表すものにすることができる。また、次に情報処理装置2がICカード3から本体データを読み出す場合には、ケースBと同様、通信制御部22が保存しているステータス情報とICカード3のステータス情報とが一致するので、通信制御部22は本体データの読み出しを省略することができる。
なお、ステータス情報18の更新は、情報処理装置2に限らず、ICカード3に対してデータの書き込みを行う任意の情報処理装置において行われる。つまり、情報処理装置2とは異なる他の情報処理装置によってデータが書き込まれた場合においても、ICカード3におけるステータス情報18が更新される。その結果、ステータス情報18は、ICカード3におけるデータの書き込み回数を正確に表すものとなる。
また、ICカード3にデータが書き込まれる場合、通信制御部22は、当該データを記憶部(メモリ14)に保存する。図6に示す例では、通信制御部22は、書き込まれたデータBをメモリ14に保存しておく。これによって、次に情報処理装置2がICカード3から本体データを読み出す際に読み出しが省略されても、情報処理装置2(アプリケーション部21)は当該本体データを用いて処理を実行することができる。
(ケースD:他の装置によってデータが書き換えられている場合)
次に、図8を参照して、他の装置によってICカード3の本体データが書き換えられている場合(ケースD)における動作を説明する。図8は、ケースDにおける通信システム1の動作前後の状態を示す図である。ケースDにおいては、ケースAにおける動作によってICカード3の本体データが情報処理装置2に取得された後でICカード3の本体データが他の装置によって書き換えられ、その後、情報処理装置2がICカード3から再度データを読み出す場合を考える。
図8に示す状態(g)は、情報処理装置2とICカード3とが通信を行う前の状態である。状態(g)においては、アプリケーション部21は、本体データを保持していない(状態(b)の後、本体データを削除した)ものとする。通信制御部22が記憶するデータは、状態(b)と状態(g)とで同じである。また、ICカード3は、他の装置によって本体データが書き換えられた結果、本体データとしてデータBを記憶するとともに、ステータス情報であるカウンタCの値として“n+1”を記憶しているとする。
ケースDにおける通信システム1の動作の流れは、ケースAにおける動作(図3)と同じである。すなわち、状態(g)において、アプリケーション部21が通信制御部22に対してデータの読出指示を送ると、通信制御部22は、状態(a)の場合と同様に接続処理(ステップS1)および判定処理(ステップS2)を実行する。ここで、ケースDにおいては、今回読み出されたステータス情報(カウンタC=n+1)と、以前にアクセスした際に取得されたステータス情報(通信制御部22に保存されるステータス情報(カウンタC=n)とが一致しない。その結果、ケースDにおいては、本体データの読み出しが必要であると判定される。
図8に示す状態(h)は、状態(g)から読出指示に応じた動作が行われた後の状態を示す。上記のように、ケースDでは、本体データの読み出しが必要であると判定されるので、データ読出処理(ステップS3)における動作は、ケースA(図2および図3)における動作と同様となる。すなわち、通信制御部22は、ICカード3から本体データを読み出し、読み出した本体データをアプリケーション部21へ渡す(図8参照)。また、このとき、通信制御部22は、ICカード3から読み出した識別情報と、ステータス情報(C=n+1)と、本体データ(データB)とを保存しておく。したがって、次に情報処理装置2がICカード3から本体データを読み出す場合には、図4に示す状態(c)と同様、通信制御部22が保存しているステータス情報とICカード3のステータス情報とが一致する。そのため、通信制御部22は本体データの読み出しを省略することができる。
以上のように、本実施形態においては、通信制御部22は、情報処理装置2において実行されるアプリケーション(アプリケーション部21)から、ICカード3との通信を行う旨の指示(読出指示および/または書込指示)があった場合、識別情報およびステータス情報をICカード3から読み出す。そして、ICカード3のデータ(本体データ)が取得済みであると判定される場合には、通信制御部22は、アプリケーションからの指示にかかわらず、ICカードからデータの読み出しを行わない。したがって、本実施形態においては、アプリケーション側では、ICカード3のデータを取得済みであるかどうかの管理を行わなくてもよいので、アプリケーションの作成が容易になる。なお、本実施形態においては、アプリケーションからの指示として読出指示および書込指示があった場合、アプリケーションからの指示にかかわらず、データの読み出しが省略され得る。したがって、本実施形態においては、アプリケーションは、読出指示および書込指示を行う場合に上記の管理を行うことなく容易に、効率良い近距離無線通信を行うことができる。
(2−2:ステータス情報)
本実施形態においては、上記ステータス情報18は、ICカード3に対する書き込み回数を表すカウンタ情報である。より具体的には、ステータス情報18は、ICカード3に対する通算の書き込み回数を表す。つまり、ICカード3に対してデータの書き込みが行われた場合、ICカード3におけるステータス情報18は1だけインクリメントされる。
なお、ステータス情報18は、ICカードへのデータの書き込み回数に応じて一意に設定される任意の情報であってよい。例えば、他の実施形態においては、ステータス情報18は、ICカード3に対する書き込みがあった時刻を表す時刻情報(例えばタイムスタンプ)であってもよい。ステータス情報18が上記カウンタ情報および/または時刻情報である場合には、情報処理装置2は、ステータス情報18を容易に設定することができる。なお、「書き込み回数に応じて一意に設定される」とは、書き込み回数によって異なる値を表すことを意味し、厳密な意味で一意性を要求するものではない。例えば、ステータス情報18は、書き込み回数に応じて実質的に一意に設定される情報であってもよく、例えば、ハッシュ値あるいはCRC(Cyclic Redundancy Check)の出力値等であってもよい。
また、本実施形態においては、識別情報17とステータス情報18とを合わせたデータサイズは、本体データのデータサイズよりも小さい。したがって、情報処理装置2は、相対的に小さいデータサイズの情報(識別情報17およびステータス情報18)を読み出すことで、相対的に大きいデータサイズである本体データの読み出しの要否を判定することができる。これによれば、本体データの読み出しを省略する場合には、ICカード3から読み出すデータのデータサイズを大きく低減することができる。
(2−3:判定方法)
次に、上記判定処理(ステップS2)における判定方法について説明する。判定処理における判定方法は任意であるが、本実施形態においては、情報処理装置2がICカード3から以前に読み出したステータス情報と、今回読み出したステータス情報とが一致するか否かによって行われる。
具体的には、まず、通信制御部22は、ICカード3から読み出されたステータス情報のうち最新のものを、ICカード毎に識別情報と関連づけて情報処理装置2の記憶部(メモリ14)に保存しておく。すなわち、上述したように、下記(a)〜(c)のいずれかの場合には、通信制御部22は、ICカード3から新たに取得したステータス情報を保存する。
(a)通信制御部22がICカード3のステータス情報を保存していない場合(ケースA)
(b)データの書き込みに応じてICカード3のステータス情報を更新する場合(ケースC)
(c)通信制御部22が保存しているステータス情報とICカード3のステータス情報とが異なる場合(ケースD)
本実施形態においては、通信制御部22は、ICカード3から読み出した識別情報とステータス情報との組を、ステータス情報テーブルとして保存しておく。図9は、ステータス情報テーブルの一例を示す図である。図9に示すように、ステータス情報テーブルにおいては、ICカードを表す識別情報と、当該ICカードのステータス情報(カウンタ情報)とがICカード毎に関連づけて格納される。
判定処理においてICカード3から識別情報およびステータス情報を読み出した場合、通信制御部22は、読み出された識別情報に対応するICカードに関して、読み出されたステータス情報と保存されたステータス情報とが一致するか否かを判定する。本実施形態においては、通信制御部22は、読み出したステータス情報の値が、ステータス情報テーブルにおいて読み出した識別情報に関連づけられるステータス情報の値に一致するか否かを判定する。なお、読み出した識別情報がステータス情報テーブルに含まれていない場合には、通信制御部22は、読み出されたステータス情報と保存されたステータス情報とが一致しないと判定する。
読み出されたステータス情報と保存されたステータス情報とが一致する場合、通信制御部22は、本体データの読み出しが不要と判定する。一方、読み出されたステータス情報と保存されたステータス情報とが一致しない場合、通信制御部22は、本体データの読み出しが必要と判定する。これによって、本体データの読み出しの要否を容易に判定することができる。
なお、上記(a)〜(c)のいずれかの場合、識別情報およびステータス情報の組が更新して保存される。本実施形態においては、通信制御部22は、上記ステータス情報テーブルの内容を更新する。すなわち、新しい識別情報とステータス情報との組がステータス情報テーブルに新たに追加される。このとき、新しい識別情報と同じ識別情報がステータス情報テーブルにすでに含まれている場合には、古い識別情報とステータス情報との組が削除される。これによって、通信制御部22は、ICカード3から読み出されたステータス情報のうち最新のものを、ICカード毎に識別情報と関連づけてメモリ14に保存することができる。
[3.通信システムにおける情報処理の詳細]
(3−1)情報処理に用いられるデータ
以下、図10〜図12を参照して、本実施形態において通信システム1(情報処理装置2)で実行される具体的な処理の一例について説明する。図10は、本実施形態において情報処理装置2のメモリ14に設定されるデータ領域の一例を示す図である。図10に示すように、情報処理装置2のメモリ14は、プログラム格納領域31および処理用データ格納領域34を有する。
プログラム格納領域31は、情報処理装置2で実行される各種プログラムが記憶される。本実施形態においては、プログラム格納領域31には、上述のアプリケーションプログラム32および通信プログラム33が記憶される。なお、図10では、アプリケーションプログラムは1種類であるが、情報処理装置2には複数種類のアプリケーションプログラムが記憶されていてもよい。なお、アプリケーションプログラム32(通信プログラム33も同様)は、情報処理装置2内の記憶装置に予め記憶されていてもよいし、情報処理装置2に着脱可能な記憶媒体から取得されてメモリ14に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ14に記憶されてもよい。CPU13は、メモリ14に記憶されたプログラム(アプリケーションプログラム32および/または通信プログラム33)を実行する。
処理用データ格納領域34には、情報処理装置2において実行される情報処理(図11および図12に示す情報処理)において用いられる各種のデータが記憶される。本実施形態においては、処理用データ格納領域34には、識別情報データ35、ステータス情報データ36、ステータス情報テーブルデータ37、および、保存データ38が少なくとも記憶される。
識別情報データ35は、ICカード3から読み出される上述の識別情報を表すデータである。ステータス情報データ36は、ICカード3から読み出される上述のステータス情報を表すデータである。ステータス情報テーブルデータ37は、情報処理装置2において保存される上述のステータス情報テーブルを表すデータである。保存データ38は、情報処理装置2において保存される、ICカード3の本体データである。すなわち、ICカード3から読み出された本体データ、あるいは、ICカード3に書き込まれた本体データが保存データ38としてメモリ14に記憶される。なお、図10では保存データ38は1種類であるが、情報処理装置2が通信を行ったことがあるICカード毎に保存データ38がメモリ14に記憶される。また、ステータス情報テーブルデータ37および保存データ38は、情報処理装置2の電源がオフになっても記憶内容が保持される記憶装置に記憶されてもよい。
(3−2)情報処理の具体例
次に、図11および図12を参照して、本実施形態における情報処理の詳細な流れを説明する。図11は、本実施形態において上記読出指示が行われた場合に情報処理装置2(CPU13)が実行する情報処理(読出指示処理)の流れの一例を示すフローチャートである。本実施形態においては、図11に示す一連の処理は、CPU13が上記通信プログラム33を実行することによって行われる。また、読出指示処理が開始されるタイミングは任意である。本実施形態においては、アプリケーションからの(近距離無線通信に関する)読出指示が発生したことに応じて読出指示処理が開始される。
なお、図11および図12に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU13が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU以外のプロセッサや専用回路が実行するようにしてもよい。
本実施形態においては、まずステップS11において、CPU13は、上記の接続処理(図2等に示すステップS1)を実行する。これによって、情報処理装置2とICカード3との近距離無線通信が確立する。続くステップS12において、CPU13は、ICカード3から識別情報およびステータス情報を取得する(図3、図5、図7に示すステップS2)。このとき、CPU13は、取得した識別情報のデータを識別情報データ35としてメモリ14に記憶し、取得したステータス情報のデータをステータス情報データ36としてメモリ14に記憶する。
ステップS13において、CPU13は、ICカード3からの本体データの読み出しの要否を判定する(図3、図5、図7に示すステップS2)。すなわち、CPU13は、識別情報データ35、ステータス情報データ36、および、ステータス情報テーブルデータ37をメモリ14から読み出し、読み出したデータ35〜37を用いて判定を行う。なお、本実施形態においては、上記判定は、上記“(2−3:判定方法)”で示した方法で行われる。上記ステップS13における判定が肯定である場合、すなわち、本体データの読み出しが必要と判定される場合、ステップS14〜S16に示す一連の処理が実行される。一方、上記ステップS13における判定が否定である場合、すなわち、本体データの読み出しが不要と判定される場合、ステップS17の処理が実行される。
ステップS14において、CPU13は、ICカード3から本体データを読み出す(図3、図7に示すステップS3)。続くステップS15において、CPU13は、読み出した本体データをアプリケーションに渡す(図3、図7に示すステップS3)。これによって、アプリケーションは、ICカード3の本体データを用いた情報処理を実行することができる。
ステップS16において、CPU13は、ステップS12およびS14で取得したデータを保存する。すなわち、CPU13は、ステップS14で取得した本体データを保存データ38としてメモリ14に記憶する。また、ステップS12で取得された識別情報およびステータス情報の組を含むように、ステータス情報テーブルが更新される。具体的には、CPU13は、メモリ14に記憶されている識別情報データ35およびステータス情報データ36に基づいて、ステータス情報テーブルデータ37を更新する。ステップS16の後、CPU13は、図11に示す読出指示処理を終了する。
一方、ステップS17において、CPU13は、ICカード3に記憶されている本体データとして、保存されている本体データをアプリケーションに渡す(図5に示すステップS3)。すなわち、CPU13は、メモリ14に保存データ38として本体データが記憶されている旨の通知をアプリケーションに対して行う。あるいは、CPU13は、メモリ14から保存データ38を読み出してアプリケーションに出力する。ステップS17の後、CPU13は、図11に示す読出指示処理を終了する。
次に、上記書込指示が行われた場合に情報処理装置2(CPU13)が実行する情報処理(書込指示処理)について説明する。図12は、本実施形態において情報処理装置2(CPU13)が実行する書込指示処理の流れの一例を示すフローチャートである。本実施形態においては、図12に示す一連の処理は、CPU13が上記通信プログラム33を実行することによって行われる。また、書込指示処理が開始されるタイミングは任意である。本実施形態においては、アプリケーションからの(近距離無線通信に関する)読出指示が発生したことに応じて書込指示処理が開始される。
書込指示処理においても上記読出指示処理と同様、ステップS11〜S13の処理が実行される。また、ステップS13における判定結果が肯定である場合、上記読出指示処理と同様、ステップS14およびS15の処理が実行される。なお、書込指示処理においては、ステップS16の処理は実行されない。一方、ステップS13における判定結果が否定である場合には、上記読出指示処理と同様、ステップS17の処理が実行される。書込指示処理においては、ステップS15またはS17の後、CPU13は、後述するステップS21の処理を実行する。
ステップS21において、CPU13は、ICカード3に対してデータの書き込みを行う(図5に示すステップS4)。すなわち、書込指示処理においては、ステップS15またはS17によってアプリケーションに渡されたデータを用いてアプリケーションが書き換え後のデータを生成する。ステップS21においてCPU13は、アプリケーションによって書き換えられた本体データをICカード3に書き込む。続くステップS22において、CPU13は、ICカード3に記憶されているステータス情報の内容を更新する(図5に示すステップS4)。
ステップS23において、CPU13は、ステップS12で取得した各情報と、ステップS22で書き込んだデータとを保存する(図6および図7参照)。ステップS12で取得した識別情報およびステータス情報を保存する処理についてはステップS16と同じである。また、CPU13は、ステップS22でICカード3に書き込んだ本体データを保存データ38としてメモリ14に記憶する。ステップS23の後、CPU13は、図12に示す書込指示処理を終了する。
以上のように、本実施形態においては、読出指示が行われた場合、および、書込指示が行われた場合に、ICカード3からデータの読み出しを省略することができる。なお、他の実施形態においては、上記読出指示および書込指示に限らず、アプリケーションによる指示はどのような内容であってもよい。本実施形態における通信方法によれば、指示に応じてICカード3からデータ(本体データ)を読み出す動作を行う任意の場合に、ICカード3からデータの読み出しを省略することによって通信の効率化を図ることができる。
[4.変形例]
上記実施形態においては、通信対象(ICカード)3に対するデータの読み出しおよび書き込みは、本体データの全体を単位として行われた。ここで、他の実施形態においては、通信対象3に対するデータの読み出しおよび書き込みは、複数個の所定の単位毎に行われてもよい。換言すれば、通信対象3は、データの読み出しおよび書き込みが行われる一単位である本体データを複数個記憶していてもよい。このとき、上記識別情報およびステータス情報はそれぞれ、上記所定の単位毎(本体データ毎)に設定されてもよい。これによれば、情報処理装置2は、本体データが取得済みであるか否かの判定を複数の記憶単位毎に行うことができる。
以上のように、本発明は、通信対象との間で近距離無線通信を効率良く行うこと等を目的として、例えば、通信対象との間で近距離無線通信を行う携帯機器、あるいは、携帯機器において実行される通信プログラム等として利用することができる。
1 通信システム
2 情報処理装置
3 通信対象(ICカード)
11 通信部
12 通信チップ
13 CPU
14 メモリ
15 電源IC
16 バッテリー
17 識別情報
18 ステータス情報
19 本体データ
21 アプリケーション部
22 通信制御部
32 通信プログラム

Claims (16)

  1. 通信対象との間で近距離無線通信を行うことが可能な情報処理装置のコンピュータにおいて実行される通信プログラムであって、
    前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
    前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第1読出手段と、
    読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定手段として前記コンピュータを機能させる、通信プログラム。
  2. 前記判定手段は、読み出された前記識別情報と前記ステータス情報とに基づいて、通信可能となった前記通信対象からの前記本体データが取得済みであるか否かを判定することによって、当該本体データの読み出しの要否を判定する、請求項1に記載の通信プログラム。
  3. 前記本体データが取得済みであると判定される場合、前記通信対象から前記本体データの読み出しを行わず、前記本体データが取得済みでないと判定される場合、前記通信対象から前記本体データを読み出す第2読出手段として前記コンピュータをさらに機能させる、請求項2に記載の通信プログラム。
  4. 前記通信対象から前記本体データが読み出された場合、読み出された本体データを前記情報処理装置の記憶部に保存しておく第1保存手段として前記コンピュータをさらに機能させ、
    前記第2読出手段は、前記本体データが取得済みであると判定される場合、前記記憶部に保存されている本体データを前記通信対象から読み出した本体データとして用いる、請求項3に記載の通信プログラム。
  5. 前記第1保存手段は、前記通信対象に本体データが書き込まれる場合、当該本体データを前記記憶部に保存する、請求項4に記載の通信プログラム。
  6. 前記第1読出手段によって読み出された前記ステータス情報を、通信対象毎に識別情報と関連づけて前記情報処理装置の記憶部に保存しておく第2保存手段として前記コンピュータをさらに機能させ、
    前記判定手段は、前記通信対象から読み出された識別情報に対応する通信対象に関して、読み出されたステータス情報と前記記憶部に保存されたステータス情報とが一致すれば前記本体データの読み出しが不要と判定し、読み出されたステータス情報と前記記憶部に保存されたステータス情報とが不一致であれば前記本体データの読み出しが必要と判定する、請求項1から請求項5のいずれか1項に記載の通信プログラム。
  7. 前記通信対象に本体データが書き込まれる場合、当該通信対象に記憶されている前記ステータス情報の内容を更新する更新手段として前記コンピュータをさらに機能させる、請求項1から請求項6のいずれか1項に記載の通信プログラム。
  8. 前記情報処理装置において実行されるアプリケーションから、前記通信対象との通信を行う旨の指示があった場合、
    前記第1読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
    前記第2読出手段は、前記本体データが取得済みであると判定される場合には、前記通信対象から本体データの読み出しを行わない、請求項3から請求項5のいずれか1項に記載の通信プログラム。
  9. 前記通信対象から本体データを読み出す指示が前記アプリケーションからあった場合、
    前記第1読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
    前記第2読出手段は、前記本体データが取得済みであると判定される場合には、前記通信対象から本体データの読み出しを行わない、請求項8に記載の通信プログラム。
  10. 前記通信対象に対して本体データを書き換える指示が前記アプリケーションからあった場合、
    前記第1読出手段は、前記識別情報および前記ステータス情報を前記通信対象から読み出し、
    前記第2読出手段は、前記本体データが取得済みでないと判定される場合、書き換えの対象となる本体データを前記通信対象から読み出し、前記本体データが取得済みであると判定される場合、前記通信対象から当該本体データの読み出しを行わない、請求項8または請求項9に記載の通信プログラム。
  11. 前記ステータス情報は、前記通信対象へのデータの書き込み回数に応じて一意に設定される情報である、請求項1から請求項10のいずれか1項に記載の通信プログラム。
  12. 前記ステータス情報は、前記通信対象に対する書き込み回数を表すカウンタ情報、および、前記通信対象に対する書き込みがあった時刻を表す時刻情報のうち少なくとも1つである、請求項11に記載の通信プログラム。
  13. 前記識別情報と前記ステータス情報とを合わせたデータサイズは、前記本体データのデータサイズよりも小さい、請求項1から請求項12のいずれか1項に記載の通信プログラム。
  14. 通信対象との間で近距離無線通信を行うことが可能な情報処理装置であって、
    前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
    前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第1読出部と、
    読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定部と備える、情報処理装置。
  15. 情報処理装置と、当該情報処理装置との間で近距離無線通信を行うことが可能な通信対象とを含む通信システムであって、
    前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
    前記情報処理装置は、
    前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出す第1読出部と、
    読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する判定部と備える、通信システム。
  16. 通信対象との間で近距離無線通信を行うことが可能な情報処理装置において実行される通信方法であって、
    前記通信対象は、読み出し対象となる本体データと、通信対象毎に固有の識別情報と、当該通信対象への本体データの書き込みに応じて設定されるステータス情報とを記憶しており、
    前記通信対象が前記情報処理装置に接近した結果、当該通信対象との間で近距離無線通信が可能となったことに応じて、前記通信対象の識別情報と、前記ステータス情報とを前記通信対象から読み出し、
    読み出された前記識別情報と前記ステータス情報とに基づいて、前記本体データの読み出しの要否を判定する、通信方法。
JP2012272549A 2012-12-13 2012-12-13 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体 Active JP6120551B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012272549A JP6120551B2 (ja) 2012-12-13 2012-12-13 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体
US13/937,836 US9307348B2 (en) 2012-12-13 2013-07-09 Storage medium having stored therein communication program, information processing apparatus, communication system, communication method, and storage medium having communication function
EP13175712.2A EP2744232B1 (en) 2012-12-13 2013-07-09 Communication program, information processing apparatus, communication system, communication method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012272549A JP6120551B2 (ja) 2012-12-13 2012-12-13 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体

Publications (2)

Publication Number Publication Date
JP2014120810A JP2014120810A (ja) 2014-06-30
JP6120551B2 true JP6120551B2 (ja) 2017-04-26

Family

ID=48782231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012272549A Active JP6120551B2 (ja) 2012-12-13 2012-12-13 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体

Country Status (3)

Country Link
US (1) US9307348B2 (ja)
EP (1) EP2744232B1 (ja)
JP (1) JP6120551B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10088327B2 (en) * 2015-11-30 2018-10-02 Telenav, Inc. Navigation system with communication mechanism and method of operation thereof

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163524A (ja) 1998-11-26 2000-06-16 Hitachi Maxell Ltd 非接触型情報記憶媒体情報処理システム
JP2007183790A (ja) * 2006-01-06 2007-07-19 Hitachi Ltd Rfid装置、rfidシステム及びアクセス制御方法
JP2008043422A (ja) * 2006-08-11 2008-02-28 Dainippon Printing Co Ltd ゲームシステム
WO2009047939A1 (en) * 2007-10-11 2009-04-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system for operating a display system in a public place
ATE554593T1 (de) * 2008-03-27 2012-05-15 Motorola Mobility Inc Verfahren und vorrichtung für die automatische nahfeld-kommunikations-anwendungsauswahl in einem elektronischen gerät
US8731583B2 (en) 2010-01-04 2014-05-20 Alcatel Lucent Interactive ID system using mobile devices
US8224246B2 (en) 2010-05-10 2012-07-17 Nokia Corporation Device to device connection setup using near-field communication
JP5450673B2 (ja) * 2012-01-13 2014-03-26 株式会社東芝 電子機器および通信制御方法
US20140065957A1 (en) * 2012-09-05 2014-03-06 Shishir Gupta Method to implement One Time Readability on NFC Tags
KR102041452B1 (ko) * 2013-01-03 2019-11-06 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 근거리 무선 통신(nfc) 기능을 지원하는 화상형성장치 및 nfc 디바이스를 이용하여 화상 작업의 설정을 수행하는 방법

Also Published As

Publication number Publication date
EP2744232A1 (en) 2014-06-18
US9307348B2 (en) 2016-04-05
US20140170973A1 (en) 2014-06-19
JP2014120810A (ja) 2014-06-30
EP2744232B1 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
US10965455B2 (en) Device and method for secure connection
US10242356B2 (en) Host-formatted select proximity payment system environment response
CN107105073B (zh) 电子装置、辅助设备及使用该辅助设备的信息显示方法
CN108292934B (zh) 电子设备
EP3376476A1 (en) Electronic device for controlling door lock and method thereof
EP3472897B1 (en) Electronic device and method thereof for grip recognition
KR102213190B1 (ko) 홈스크린 구성 방법 및 이를 이용한 전자 장치
US10657522B2 (en) Apparatus and method for processing card application in electronic device
KR102498502B1 (ko) 커버 장치와 상기 커버 장치를 포함하는 전자 장치
KR102332136B1 (ko) 다수의 프로세서들을 가지는 전자장치에서 디스플레이 제어 방법 및 장치
JP2015027788A5 (ja)
WO2019179093A1 (zh) 一种nb-iot网络中获取设备标识的方法和设备
WO2023056775A1 (zh) 扩展nfc卡模拟功能的方法、nfc扩展设备和nfc终端
US9604150B2 (en) Information processing system, information processing device, storage medium storing information processing program, information processing method, and storage device
JP2015023450A (ja) 近距離無線通信をする方法および電子機器
JP6120551B2 (ja) 通信プログラム、情報処理装置、通信システム、通信方法、および記憶媒体
US10762493B2 (en) User equipment and method for searching mobile card based on pattern recognition and non-transitory computer readable storage medium having computer program recorded thereon
JP6128986B2 (ja) 通信システム、通信端末装置、通信プログラム、および通信方法
US20170344999A1 (en) Payment method and electronic device using loop antennas
KR20150112252A (ko) 전자 장치 및 이의 연결 방법
JP6096497B2 (ja) 通信プログラム、情報処理装置、通信システム、および通信方法
US20120252361A1 (en) Wireless data transfer
KR20180050938A (ko) 전자 장치 및 전자 장치에서 nfc 통신 방법
JP2007104247A (ja) 無線通信装置及び無線通信方法
KR20160127501A (ko) 전자 장치의 동적 언어를 처리하는 방법 및 이를 사용하는 전자 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170328

R150 Certificate of patent or registration of utility model

Ref document number: 6120551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250