JP5782698B2 - 通信装置、プログラム、および通信方法 - Google Patents

通信装置、プログラム、および通信方法 Download PDF

Info

Publication number
JP5782698B2
JP5782698B2 JP2010229899A JP2010229899A JP5782698B2 JP 5782698 B2 JP5782698 B2 JP 5782698B2 JP 2010229899 A JP2010229899 A JP 2010229899A JP 2010229899 A JP2010229899 A JP 2010229899A JP 5782698 B2 JP5782698 B2 JP 5782698B2
Authority
JP
Japan
Prior art keywords
message
interface
data
format
communication
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
JP2010229899A
Other languages
English (en)
Other versions
JP2011130414A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010229899A priority Critical patent/JP5782698B2/ja
Priority to US12/942,401 priority patent/US9083679B2/en
Priority to EP12159607.6A priority patent/EP2469794B1/en
Priority to EP10190820A priority patent/EP2326061B1/en
Priority to CN201010543166XA priority patent/CN102075305A/zh
Publication of JP2011130414A publication Critical patent/JP2011130414A/ja
Priority to US14/740,628 priority patent/US9661479B2/en
Application granted granted Critical
Publication of JP5782698B2 publication Critical patent/JP5782698B2/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/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/08Protocols for interworking; Protocol conversion
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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

Description

本発明は、通信装置、プログラム、および通信方法に関し、特に、装置内におけるメッセージの伝送をより正確に行うことができるようにした通信装置、プログラム、および通信方法に関する。
従来、近距離無線通信を行うNFC(Near Field Communication)デバイス内部における、CLF(Contactless Front End)とUICC(Universal Integrated Circuit Card)との間のロジカルインタフェースを規定する仕様であるETSI(European Telecommunications Standards Institute)SCP(Smart Card Platform)HCI(Host Controller Interface)規格(TS 102 622 V7.5.0)においては、メッセージをパイプ上で送信する際に、1つのメッセージを分割し、それを分割メッセージ(fragmented message)として送信し、受信側でその分割メッセージを1つのメッセージに組み立てるという仕様がある。
また、未達(NAK)が発生した場合、パケットを複数に分割して送信する方法も考えられている(例えば、特許文献1参照)。
特開2008−219323号公報
しかしながら、例えば、分割メッセージ送信中において、イベントが発生し、そのイベントを通知するイベントメッセージの伝送が優先されると、受信側は、そのイベントメッセージを分割メッセージの一部と認識してしまい、そのイベントメッセージを認識することができない恐れがあった。
イベントメッセージが正しく認識されないと、例えば、非接触通信を行うRF(Radio Frequency)部の状態とNFCデバイスの内部状態に不整合が生じ、NFCデバイスの処理が正しく行われなくなってしまう恐れがあった。
本発明は、このような状況に鑑みて提案されたものであり、装置内におけるメッセージの伝送をより正確に行うことができるようにすることを目的とする。
本発明の一側面は、他の装置と近距離無線通信を行う通信手段と、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段とを備え、前記通信手段は、前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記処理手段に送信し、前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する通信装置である。
前記所定のサイズは、前記フォーマットにおけるデータサイズの上限値であることができる。
前記フォーマットのパケットは、パケットヘッダと前記分割メッセージとにより構成されるようにすることができる。
前記通信手段は、前記メッセージの最後の部分でない前記分割メッセージに、最後以外の分割メッセージであることを示す情報を含む前記パケットヘッダを付加し、前記メッセージの最後の部分の前記分割メッセージに、最後の分割メッセージであることを示す情報を含む前記パケットヘッダを付加することができる。
前記通信手段は、前記終端メッセージに、最後の分割メッセージであることを示す情報を含む前記パケットヘッダを付加することができる。
前記終端メッセージは、前記メッセージを終端する理由を示す情報を含むようにすることができる。
前記他のメッセージは、発生したイベントを通知するイベントメッセージであるようにすることができる。
前記処理手段は、前記通信手段から送信される前記パケットを受信し、受信した前記パケットが前記分割メッセージを含む場合、受信した前記分割メッセージを受信済みの前記分割メッセージに合成し、受信した前記パケットが前記終端メッセージを含む場合、受信した前記終端メッセージを受信済みの前記分割メッセージに合成し、合成結果を1つの前記メッセージとして把握し、前記終端メッセージを受信後、前記他のメッセージを含む前記パケットを受信した場合、前記他のメッセージを前記メッセージと異なるメッセージとして把握することができる。
前記処理手段は、前記他の装置に送信するメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記通信手段に送信し、前記メッセージの送信中に、前記通信手段から他のメッセージを受信した場合、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記通信手段に送信することができる。
前記終端メッセージのパケットは、最後の分割メッセージであることを示す情報を含むパケットヘッダと空メッセージとにより構成されるようにすることができる。
本発明の一側面は、また、コンピュータを、他の装置と近距離無線通信を行い、前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して処理手段に送信し、前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する通信手段と、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段として機能させるためのプログラムである。
本発明の一側面は、さらに、他の装置と近距離無線通信を行う通信手段と、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段とを備える通信装置の通信手段が、前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記処理手段に送信し、前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する通信方法である。
本発明の他の側面は、他の装置と近距離無線通信を行う通信手段と、所定の規格の第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、前記第1のインターフェイスと異なる規格の第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段とを備え、前記通信手段は、前記第1の処理手段から前記第1のインターフェイスを介して、前記第2の処理手段へのメッセージである第1のメッセージを受信し、受信された前記第1のメッセージを前記第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマット前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する通信装置である。
前記通信手段は、前記第1の処理手段から前記第1のインターフェイスを介して受信された前記第1のメッセージのサイズと前記第2のインターフェイスのフォーマットにおけるデータの最大サイズとを比較し、前記第1のメッセージのサイズが前記最大サイズより大きい場合、前記最大サイズに応じて前記第1のメッセージを分割して前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された各分割メッセージを、1つずつ、前記第2のインターフェイスを介して前記第2の処理手段に送信し、前記第1のメッセージのサイズが前記最大サイズより小さい場合、前記最大サイズに応じて複数の前記第1のメッセージを合成して前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された複数の前記第1のメッセージを、一度に、前記第2のインターフェイスを介して前記第2の処理手段に送信することができる。
前記通信手段は、前記第1の処理手段から前記第1のインターフェイスを介して受信された前記第1のメッセージに付加されたフラグ情報に基づいて、前記第1のメッセージと同じ意味のあるデータから分割された後続のメッセージが存在するか否かを判定し、前記後続のメッセージが存在しないと判定された場合、複数の前記第1のメッセージの和のサイズが前記最大サイズより小さくても、更なる合成を終了して前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された複数の前記第1のメッセージを、一度に、前記第2のインターフェイスを介して前記第2の処理手段に送信することができる。
前記通信手段は、前記第2の処理手段から前記第2のインターフェイスを介して、前記第1の処理手段へのメッセージである第2のメッセージを受信し、受信された前記第2のメッセージを前記第1のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第2のメッセージのフォーマットを前記第2のインターフェイスのフォーマットから前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された前記第2のメッセージを、前記第1のインターフェイスを介して前記第1の処理手段に送信することができる。
前記通信手段は、前記第2の処理手段から前記第2のインターフェイスを介して受信された前記第2のメッセージのサイズと前記第1のインターフェイスのフォーマットにおけるデータの最大サイズとを比較し、前記第2のメッセージのサイズが前記最大サイズより大きい場合、前記最大サイズに応じて前記第2のメッセージを分割して前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された各分割メッセージを、1つずつ、前記第1のインターフェイスを介して前記第1の処理手段に送信し、前記第2のメッセージのサイズが前記最大サイズより小さい場合、前記最大サイズに応じて複数の前記第2のメッセージを合成して前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された複数の前記第2のメッセージを、一度に、前記第1のインターフェイスを介して前記第1の処理手段に送信することができる。
前記通信手段は、前記第2の処理手段から前記第2のインターフェイスを介して受信された前記第2のメッセージに付加されたフラグ情報に基づいて、前記第2のメッセージと同じ意味のあるデータから分割された後続のメッセージが存在するか否かを判定し、前記後続のメッセージが存在しないと判定された場合、複数の前記第2のメッセージの和のサイズが前記最大サイズより小さくても、更なる合成を終了して前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された複数の前記第2のメッセージを、一度に、前記第1のインターフェイスを介して前記第1の処理手段に送信することができる。
本発明の他の側面は、また、コンピュータを、他の装置と近距離無線通信を行い、第1の処理手段から所定の規格の第1のインターフェイスを介して、第2の処理手段へのメッセージである第1のメッセージを受信し、受信された前記第1のメッセージを前記第1のインターフェイスと異なる規格の第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマットを前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する通信手段と、前記第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、前記第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段として機能させるためのプログラムである。
本発明の他の側面は、さらに、他の装置と近距離無線通信を行う通信手段と、所定の規格の第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、前記第1のインターフェイスと異なる規格の第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段とを備える通信装置の通信手段が、前記第1の処理手段から前記第1のインターフェイスを介して、前記第2の処理手段へのメッセージである第1のメッセージを受信し、受信された前記第1のメッセージを前記第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマットを前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する通信方法である。
本発明の一側面においては、他の装置から受信したメッセージが所定のサイズ毎に分割され、得られた分割メッセージが順次所定のフォーマットでパケット化されて処理手段に送信され、メッセージの送信中に、他のメッセージを送信する場合、他のメッセージの前に、メッセージを終端するメッセージである終端メッセージがそのフォーマットでパケット化されて処理手段に送信される。
本発明の他の側面においては、第1の処理手段から第1のインターフェイスを介して、第2の処理手段へのメッセージである第1のメッセージが受信され、受信された第1のメッセージが第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成され、その第1のメッセージのフォーマットが第1のインターフェイスのフォーマットから第2のインターフェイスのフォーマットに変換され、第2のインターフェイスのフォーマットに変換された第1のメッセージが、第2のインターフェイスを介して第2の処理手段に送信される
本発明によれば、メッセージを授受することができる。特に、装置内におけるメッセージの伝送をより正確に行うことができる。
本発明を適用した通信装置の主な構成例を示すブロック図である。 HCPパケットの構成例を示す図である。 メッセージのオプショナルデータの構成例を示す図である。 メッセージの分割の様子の例を説明する図である。 イベントの例を説明する図である。 正常終了する場合のメッセージ授受例を説明するフローチャートである。 異常終了する場合の従来のメッセージ授受例を説明するフローチャートである。 制御部およびUICC OSの主な構成例を示す機能ブロック図である。 メッセージ授受例を説明するフローチャートである。 制御部およびUICC OSの他の構成例を示す機能ブロック図である。 メッセージ授受の他の例を説明するフローチャートである。 制御部、UICC OS、およびカードOSの構成例を示す機能ブロック図である。 メッセージ授受の、さらに他の例を説明するフローチャートである。 本発明を適用した通信装置の、他の構成例を示すブロック図である。 制御部およびUICC OSの、さらに他の構成例を示す機能ブロック図である。 メッセージ授受の、さらに他の例を説明するフローチャートである。 本発明を適用した通信装置の、さらに他の構成例を示すブロック図である。 NCIメッセージフォーマットの構成例を示す図である。 制御部の構成例を示す機能ブロック図である。 IDの対応表の例を示す図である。 HCIメッセージフォーマットにNCIデータを含める場合の例を説明する図である。 NCIメッセージフォーマットにHCIデータを含める場合の例を説明する図である。 NCI-HCI変換処理の流れの例を説明するフローチャートである。 NCI-HCI変換処理の流れの例を説明する、図23に続くフローチャートである。 NCI-HCI変換処理の流れの例を説明する、図23に続くフローチャートである。 HCPメッセージ受信処理の流れの例を説明するフローチャートである。 NCIからHCIへの変換例を説明する図である。 NCIからHCIへの変換例を説明する図である。 NCIからHCIへの変換例を説明する図である。 HCI-NCI変換処理の流れの例を説明するフローチャートである。 HCI-NCI変換処理の流れの例を説明する、図30に続くフローチャートである。 HCI-NCI変換処理の流れの例を説明する、図31に続くフローチャートである。 NCIメッセージ受信処理の流れの例を説明するフローチャートである。 HCIからNCIへの変換例を説明する図である。 HCIからNCIへの変換例を説明する図である。 HCIからNCIへの変換例を説明する図である。 本発明を適用したコンピュータの主な構成例を示すブロック図である。
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(通信装置)
2.第2の実施の形態(通信装置)
3.第3の実施の形態(通信装置)
4.第4の実施の形態(コンピュータ)
<1.第1の実施の形態>
[通信装置の構成]
図1は、本発明を適用した通信装置の主な構成例を示すブロック図である。
図1に示される通信装置100は、非接触近距離無線通信機能を有するNFCデバイスである。例えば、通信装置100は、携帯電話機、スマートフォン、PDA(Personal Digital Assistants)、パーソナルコンピュータ、UMPC(Ultra Mobile Personal Computer)、オーディオ機器、カーナビゲーションシステム等であり、所謂非接触ICカードとしての機能を有する電子機器である。
図1に示されるように、通信装置100は、装置全体を制御する制御部であるターミナルホスト101、非接触近距離無線通信を行うCLF102、および、そのCLF102による非接触近距離無線通信を制御する制御部であるUICC103を有する。
CLF102とUICC103は、バス104により接続される。例えば、バス104は、物理的な1本の線からなる。また、ターミナルホスト101とCLF102は、バス105により接続される。例えば、バス105は、物理的な2本の線からなる。なお、ターミナルホスト101とUICC103も、例えばバス106により接続される。
CLF102は、アンテナ111、RF部112、制御部113、並びに、カードRFゲート114−1乃至カードRFゲート114−3を有する。
アンテナ111は、リーダ/ライタ(R/W)等の外部の装置に対して非接触近距離無線通信信号を送受信するためのアンテナである。アンテナ111として例えばループアンテナが採用される。
RF部112は、非接触近距離無線通信信号の送受信を行なう。例えば、RF部112は、制御部113から供給されるメッセージを非接触近距離無線通信信号として、アンテナ111から送信したり、外部の装置から送信される非接触近距離無線通信信号を、アンテナ111を介して受信し、その信号に含まれるメッセージを制御部113に供給したりする。
制御部113は、RF部112を制御し、非接触近距離無線通信信号の送受信を制御する。また、制御部113は、カードRFゲート114−1乃至カードRFゲート114−3を制御し、UICC103とのメッセージの授受を制御する。
ここで、CLF102とUICC103とは、ETSI SCP HCI規格により規定されるロジカルインタフェースにより接続される。このHCI規格のインタフェースでは、ゲートと称するエンドポイント同士が、パイプと称する通信路により接続される。
カードRFゲート114−1乃至カードRFゲート114−3は、このHCI規格のインタフェースにおけるCLF102側のゲートである。
カードRFゲート114−1は、このHCI規格のインタフェースにおいて送受信されるメッセージ等を格納するレジストリ115−1を有する。また、カードRFゲート114−1は、パイプ131−1を介して、UICC103側のゲートであるカードアプリケーションゲート(以下、カードAPPゲートと称する)121−1に接続される。つまり、カードRFゲート114−1およびカードAPPゲート121−1は、パイプ131−1を介して互いにメッセージ等を授受する。
同様に、カードRFゲート114−2は、レジストリ115−2を有し、パイプ131−2を介して、カードAPPゲート121−2に接続される。つまり、カードRFゲート114−2およびカードAPPゲート121−2は、パイプ131−2を介して互いにメッセージ等を授受する。
同様に、カードRFゲート114−3は、レジストリ115−3を有し、パイプ131−3を介して、カードAPPゲート121−3に接続される。つまり、カードRFゲート114−3およびカードAPPゲート121−3は、パイプ131−3を介して互いにメッセージ等を授受する。
以下において、カードRFゲート114−1乃至カードRFゲート114−3を互いに区別して説明する必要の無い場合、単にカードRFゲート114と称する。また、レジストリ115−1乃至レジストリ115−3を互いに区別して説明する必要の無い場合、単にレジストリ115と称する。
UICC103は、カードAPPゲート121−1乃至カードAPPゲート121−3、UICC OS(Operating System)123、カードOS124、並びに、アプリケーション125−1乃至アプリケーション125−Nを有する。
カードAPPゲート121−1乃至カードAPPゲート121−3は、上述したHCI規格のインタフェースにおけるUICC103側のゲートである。
カードAPPゲート121−1は、パイプ131−1を介して、カードRFゲート114−1に接続され、送受信されるメッセージ等を格納するレジストリ122−1を有する。
同様に、カードAPPゲート121−2は、パイプ131−2を介して、カードRFゲート114−2に接続され、送受信されるメッセージ等を格納するレジストリ122−2を有する。
同様に、カードAPPゲート121−3は、パイプ131−3を介して、カードRFゲート114−3に接続され、送受信されるメッセージ等を格納するレジストリ122−3を有する。
以下において、カードAPPゲート121−1乃至カードAPPゲート121−3を互いに区別して説明する必要の無い場合、単にカードAPPゲート121と称する。また、レジストリ122−1乃至レジストリ122−3を互いに区別して説明する必要の無い場合、単にレジストリ122と称する。
さらに、パイプ131−1乃至パイプ131−3を互いに区別して説明する必要の無い場合、単にパイプ131と称する。
このようなゲートおよびパイプよりなるHCI規格のインタフェースは、機能やアプリケーション毎に設けられる。CLF102およびUICC103が有するHCI規格のインタフェースの数は任意である。また、CLF102およびUICC103が、図1に示される以外のゲートやパイプを有するようにしてもよい。例えば、CLF102およびUICC103が、非接触近距離無線通信のリーダ/ライタとしての動作を実現するためのアプリケーション用のゲートやパイプを備えるようにしてもよい。
UICC OS123は、UICC103のハードウェアのインタフェースをソフトウェアに提供する基本ソフトウェアである。カードOS124は、非接触近距離無線通信を行う非接触ICカード機能に関するインタフェースをソフトウェアに提供する基本ソフトウェアである。
アプリケーション125−1乃至アプリケーション125−Nは、それぞれ、非接触近距離無線通信を用いる、互いに異なる機能を実現するためのソフトウェアである。
なお、以上においては、CLF102とUICC103との間のロジカルインタフェースについて説明したが、ターミナルホスト101とCLF102との間のロジカルインタフェース、および、ターミナルホスト101とUICC103との間のロジカルインタフェースも、それぞれ、HCI規格のインタフェースにより構成されるようにしてもよい。
[HCPパケット]
次に、HCI規格について説明する。図2は、HCP(Host Controller Protocol)パケットの構成例を示す図である。パイプを送受信されるメッセージは、データリンク層においてホストコントローラにより、図2に示されるようにパケット化される。
図2に示されるように、パケットはヘッダ(header)とメッセージ(message)とにより構成される。
ヘッダ(header)には、CB(Chaining bit)およびPID(Pipe Identifier)が含まれる。
CBは、そのパケットのメッセージが、最後以外の分割メッセージであるか否かを示すフラグ情報である。
例えば、そのパケットのメッセージが、分割(細分化)されたメッセージ(分割メッセージ)であり、かつ、その複数に分割されたメッセージの最後の部分ではない(すなわち、最後以外の分割メッセージである)場合、CBは「0」をとる。
また、例えば、そのパケットのメッセージが、分割されたメッセージではない、または、分割されたメッセージの最後の部分であると判定された場合、CBは、「1」をとる。
PIDは、パケットの伝送に使用されるパイプを識別する識別情報である。つまり、PIDは、パケットの送信先ゲートを示す情報でもある。
メッセージ(message)には、nバイトのメッセージが格納される。
[HCPメッセージ]
ところで、メッセージは、図3に示されるように、メッセージヘッダ(header)とデータ(data)により構成される。
メッセージヘッダ(header)には、タイプ(TYPE)と指示(INSTRUCTION)が含まれる。
タイプ(TYPE)は、指示の種類を示す識別情報である。指示には、例えば、「命令(commands)」(TYPE=0)、「イベント(events)」(TYPE=1)、および「(命令に対する)応答(responses to commands)」(TYPE=2)がある。また、リザーブ(RFU)としてTYPE=3もある。
指示の種類によらず、データを付加することができる。使用可能なイベントや命令の内容は、ゲートによって予め決められている。ゲートは、パイプが開放されているときのみイベントや命令を許可する。また、ゲートは、パイプが命令に対する応答待ちの状態の場合、イベントや命令を許可しない。
指示(INSTRUCTION)は、指示の識別情報を示す。
[分割メッセージ]
図4は、メッセージの分割の様子の例を説明する図である。メッセージは、そのサイズが、データリンク層で認められているサイズより大きい場合、分割される。以下においてこの分割されたメッセージを分割メッセージと称する。
図4に示されるように、メッセージは、メッセージヘッダ(message header)の先頭から、データ伝送の規格において定められるデータサイズの最大値(例えば、データリンク層で認められている伝送可能な所定のデータサイズの最大値)毎に分割される。したがって、メッセージヘッダ(message header)は、このような分割により生成された分割メッセージのうち、最初の分割メッセージにのみ付加されている。
しかしながら、パケットヘッダ(packet header)は、図2を参照して説明したように、全ての分割メッセージに付加される。
上述したように、1つのメッセージから生成された分割メッセージのうち、最後の分割メッセージのみ、CBの値が「1」となり、それ以外は、「0」となる。
[イベント]
図5に、カードAPPゲート121が対応可能なイベントの一覧を示す。
イベント「EVT_FIELD_ON」は、通信装置100の外部のリーダ等のデバイスから供給されるRF信号がCLF102において検知された場合、CLF102からUICC103へ送信される。
イベント「EVT_CARD_DEACTIVATED」は、CLF102が、ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)14443-3 for Type B、若しくは、ISO/IEC14443-4 for Type Aにおいて定義される「deactivated」となる場合、CLF102からUICC103へ送信される。
イベント「EVT_CARD_ACTIVATED」は、CLF102が、ISO/IEC14443-3 for Type B、若しくは、ISO/IEC14443-4 for Type Aにおいて定義される「activated」となる場合、CLF102からUICC103へ送信される。
イベント「EVT_FIELD_OFF」は、通信装置100の外部のリーダ等のデバイスから供給されるRF信号がCLF102において検知されなくなった場合、CLF102からUICC103へ送信される。
イベント「EVT_SEND_DATA」は、CLF102からUICC103にデータを送信する際に、CLF102からUICC103へ送信される。
[処理の流れ]
携帯電話等の、HCIを使用するNFCデバイスが、非接触ICカードとして動作するカードエミュレーションモードで動作するときは、リーダ/ライタ等が出力する外部のRFフィールドから電力を得て、そのリーダ/ライタからRFフィールドの変調で送信されるコマンドを受信して処理し、負荷変調によりレスポンスを返す。
リーダ/ライタからのコマンドは、CLF102で受信し、パイプ131を通じて、UICC103へ転送される。
このとき、リーダ/ライタから送信されるコマンドが、上述したように、パイプ上を流すデータの最大長よりも長く、複数の分割メッセージを送信しなければならない状況がある。
図6のフローチャートを参照して、分割メッセージ送信が正常終了する場合の処理の流れの例を説明する。
外部からRFデータを受信したRF部112は、ステップS101において、そのRFデータを制御部113に供給する。
制御部113は、ステップS111においてそのRFデータを受信すると、そのRFデータを分割し、各分割メッセージをステップS112乃至ステップS115において、カードRFゲート114を介して送信する。
ステップS112乃至ステップS114において送信される分割メッセージ(RF data 1、RF data 2、RF data 3)のCBは、「0」である。ステップS115において送信される最後の分割メッセージ(RF data 4)のCBは、「1」である。
CLF102から送信されたこれらの分割メッセージは、パイプ131を介してUICC103に供給される。
UICC OS123は、ステップS121乃至ステップS124において、カードAPPゲート121を介して、それらの分割メッセージを受信する。
CBの値が1の分割メッセージを取得すると、UICC OS123は、その分割メッセージを最後の分割メッセージと認識し、ステップS125において、それまでに取得した分割メッセージを組み立て、分割前のメッセージを復元する。
このような分割メッセージの送信中に、イベントが発生する場合がある。従来の方法では、そのイベントの発生により、例えば、図7に示されるフローチャートの例のように、分割メッセージの送信が異常終了してしまう恐れがあった。
例えば、図7に示されるように、図6の場合と同様に、ステップS131において、RF部112が、外部から受信したRFデータを制御部113に供給する。制御部113は、図6の場合と同様に、ステップS141においてそのRFデータを受信し、そのRFデータを分割し、各分割メッセージを順次送信しようとする(ステップS142乃至ステップS144)。
CLF102から送信されたこれらの分割メッセージは、パイプ131を介してUICC103に供給され、UICC OS123は、ステップS151乃至ステップS153において、カードAPPゲート121を介して、それらの分割メッセージを受信する。
このとき(最後の分割メッセージ(RF data 4)を送信する前)、ステップS132において、RF部112が、外部のリーダ/ライタからの信号を検出できなくなると、制御部113は、ステップS145において、その旨を把握する。制御部113は、ステップS146において、リーダ/ライタからの信号を検出できなくなったことを示すイベント「EVT_FIELD_OFF」を分割メッセージと同様にUICC OS123に送信する。
このイベントメッセージは分割メッセージで無いのでCBは「1」である。UICC OS123は、ステップS154において、そのイベントメッセージを受信する。CBが「1」であるのでUICC OS123は、その分割メッセージを最後の分割メッセージと認識し、ステップS155において、それまでに取得した分割メッセージを組み立て、分割前のメッセージを復元しようとする。
したがってUICC OS123は、イベント「EVT_FIELD_OFF」を認識できなくなる。これにより、RFの状態とNFCデバイスの内部状態に不整合が生じ、NFCデバイスの処理が正しく行われない恐れがあった。
カードOS124は、モードと呼ばれる状態を管理し、その状態に応じて対応できるコマンドを制御する。例えば、カードOS124は、モードによって、ポーリングに応答するか否かを制御する。しかしながら、例えば、リーダ/ライタからのコマンドによってカードOS124のモードが2(ポーリングに応答しない状態)になっているときに、上述したようにイベント「EVT_FIELD_OFF」を認識できないと、カードOS124は、モードが0(ポーリングに応答する状態)に戻らずに、その後のポーリングに応答することができなくなり、リーダ/ライタはNFCデバイスを検出することができなくなる恐れがあった。
以上においては、イベント「EVT_FIELD_OFF」について説明したが、これ以外にも、例えば、UICC103上で1つのカードAPPゲート121およびパイプ131を複数のアプリケーション125(カードアプリケーション)で共有することも考えられる。このように、複数のカードアプリケーションを同時にアクティベートするような場合、CLF102がイベント「EVT_ACTIVATED」やイベント「EVT_DEACTIVATED」を他のメッセージとして送信することがある。
このような場合、分割メッセージの後ろに、そのメッセージが追加されることになり、受信側(UICC OS123)は、分割メッセージの次のメッセージを正しく認識することができない恐れがあった。
イベント「EVT_ACTIVATED」を認識することができない場合、UICC103上のアプリケーションが起動していないにも関わらず、リーダ/ライタからアプリケーション用のコマンドが送信され、そのコマンドに対してレスポンスを返すことができず、アプリケーションが実行できなくなる恐れがあった。
イベント「EVT_DEACTIVATED」を認識できない場合、UICC103上のアプリケーションを終了していないにも関わらず、次のアプリケーション起動(EVT_ACTIVATED)のメッセージが送信されることになる。前回実行したアプリケーションの状態が残っている可能性があり、その状態がアプリケーションの動作に影響を与える場合もあり得る。たとえば、前回実行したアプリケーションで生成したセッション鍵がそのまま残っていて、次のアプリケーションのセッション鍵を誤って利用するなどが考えられる。
[機能ブロックの構成例]
そこで、制御部113およびUICC OS123は、図8に示されるような機能ブロックを有する。
図8Aに示されるように、制御部113は、機能ブロックとして、メッセージ分割部301、メッセージ送信部302、異常検出部303、終端メッセージ送信部304、およびイベント送信部305を有する。
また、図8Bに示されるように、UICC OS123は、機能ブロックとして、メッセージ受信部311、フラグ判定部312、メッセージ合成部313、およびメッセージ確認部314を有する。
[処理の流れ]
この場合の分割メッセージ授受の例を図9のフローチャートを参照して説明する。
図6の場合と同様に、ステップS201において、RF部112が、外部から受信したRFデータを制御部113に供給する。制御部113のメッセージ分割部301は、図6の場合と同様に、ステップS211においてそのRFデータを受信し、そのRFデータを、所定のサイズごとに分割する。
メッセージ送信部302は、得られた分割メッセージを1つずつ、カードRFゲート114を介してUICC103に送信する。CLF102から送信されたこれらの分割メッセージは、パイプ131を介してUICC103に供給される。UICC OS123は、カードAPPゲート121を介して、それらの分割メッセージを受信する。
例えば、メッセージ分割部301が、RFデータを4つの分割メッセージに分割するとする。メッセージ送信部302は、ステップS212において、最初の分割メッセージ(RF data 1)を送信する。UICC OS123のメッセージ受信部311は、ステップS221においてこの分割メッセージ(RF data 1)を受信する。このパケットのCBは「0」である。フラグ判定部312は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 1)をメッセージ合成部313に供給する。
次に、メッセージ送信部302は、ステップS213において、2番目の分割メッセージ(RF data 2)を送信する。UICC OS123のメッセージ受信部311は、ステップS222においてこの分割メッセージ(RF data 2)を受信する。このパケットのCBは「0」である。フラグ判定部312は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 2)をメッセージ合成部313に供給する。
さらに、メッセージ送信部302は、ステップS214において、3番目の分割メッセージ(RF data 3)を送信する。UICC OS123のメッセージ受信部311は、ステップS223においてこの分割メッセージ(RF data 3)を受信する。このパケットのCBは「0」である。フラグ判定部312は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 3)をメッセージ合成部313に供給する。
このとき(最後の分割メッセージ(RF data 4)が送信される前)、ステップS202において、RF部112が、外部のリーダ/ライタからの信号を検出できなくなる(近距離無線通信が切断される)と、制御部113の異常検出部303は、ステップS215において、その旨を検出する。
終端メッセージ送信部304は、ステップS216において、イベントメッセージを送信する前に、RFエラー(RF error)を通知するとともに、分割メッセージを終端させる終端メッセージを送信する。つまり、この終端メッセージは、分割メッセージを終端させるとともに、その理由が近距離無線通信の切断によるものであることを示す。この終端メッセージ(RF error)は、他の分割メッセージと同様に、カードRFゲート114からパイプ131を介してカードAPPゲート121に供給される。
UICC OS123のメッセージ受信部311は、ステップS222においてこの終端メッセージ(RF error)を受信する。このパケットのCBは「1」である。フラグ判定部312は、CBの値が「1」であると判定すると、この終端メッセージ(RF error)をメッセージ合成部313に供給する。
また、終端メッセージが伝送されると、イベント送信部305は、ステップS217において、イベント「EVT_FIELD_OFF」を分割メッセージと同様にUICC OS123に送信する。
このイベントメッセージは分割メッセージで無いのでCBは「1」である。UICC OS123のメッセージ受信部311は、ステップS225において、そのイベントメッセージを受信する。CBが「1」であるのでフラグ判定部312は、そのイベントメッセージを分割メッセージでないと認識し、メッセージ確認部314に供給する。
メッセージ合成部313は、ステップS226において、取得した分割メッセージ(RF data 1 乃至 RF data 3)と終端メッセージ(RF error)を合成する。メッセージ合成部313は、その合成結果をメッセージ確認部314に供給する。
したがってメッセージ確認部314は、その合成結果を1つのメッセージとして把握することができ、さらに、その合成結果とは別に供給されたイベントメッセージ「EVT_FIELD_OFF」を認識することができる。
これにより、カードOS124は、イベントメッセージ「EVT_FIELD_OFF」に基づいて、動作モードを、モード0に戻すことができる。つまり、CLF102は、その後のポーリングに応答することができるようになる。
つまり、イベント送信部305が他のメッセージを送信する前に、終端メッセージ送信部304が、分割メッセージを終端させる終端メッセージを送信するので、UICC OS123は、正しく分割メッセージを受信することができる。
以上のように、通信装置100は、装置内におけるメッセージの伝送をより正確に行うことができる。
なお、分割メッセージの送信中に割り込み、送信する他のメッセージは、任意のメッセージであり、イベントメッセージ以外のメッセージであってももちろんよい。すなわち、CLF102は、任意の状況において、分割メッセージを送信中に(分割メッセージの送信終了を待たずに)、任意の他のメッセージを送信する場合、分割メッセージを終端させる終端メッセージを送信することにより、装置内におけるメッセージの伝送をより正確に行うことができる。
[機能ブロックの他の構成例]
なお、以上においては、制御部113が、RF部112が受信するデータをUICC103へ分割して転送する場合について説明したが、UICC103がCLF102に対して分割メッセージを送信する場合も考えられる。
その場合も、上述した場合と基本的に同様に、終端メッセージによって分割メッセージを終端させることができる。
この場合、制御部113およびUICC OS123は、図10に示されるような機能ブロックを有する。
図10Aに示されるように、制御部113は、機能ブロックとして、メッセージ受信部401、フラグ判定部402、メッセージ合成部403、メッセージ確認部404、異常検出部405、およびイベント送信部406を有する。
また、図10Bに示されるように、UICC OS123は、機能ブロックとして、メッセージ分割部421、メッセージ送信部422、イベント受信部423、および終端メッセージ送信部424を有する。
[処理の流れ]
この場合の分割メッセージ授受の例を図11のフローチャートを参照して説明する。
UICC OS123のメッセージ分割部421は、CLF102に送信するメッセージを所定のサイズ毎に分割する。メッセージ送信部422は、得られた分割メッセージを1つずつ、カードAPPゲート121を介してCLF102に送信する。UICC103から送信されたこれらの分割メッセージは、パイプ131を介してCLF102に供給される。制御部113は、カードRFゲート114を介して、それらの分割メッセージを受信する。
例えば、メッセージ分割部421が、メッセージを4つの分割メッセージに分割するとする。メッセージ送信部422は、ステップS321において、最初の分割メッセージ(RF data 1)を送信する。制御部113のメッセージ受信部401は、ステップS311においてこの分割メッセージ(RF data 1)を受信する。このパケットのCBは「0」である。フラグ判定部402は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 1)をメッセージ合成部403に供給する。
次に、メッセージ送信部422は、ステップS322において、2番目の分割メッセージ(RF data 2)を送信する。制御部のメッセージ受信部401は、ステップS312においてこの分割メッセージ(RF data 2)を受信する。このパケットのCBは「0」である。フラグ判定部402は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 2)をメッセージ合成部403に供給する。
さらに、メッセージ送信部422は、ステップS323において、3番目の分割メッセージ(RF data 3)を送信する。制御部113のメッセージ受信部401は、ステップS313においてこの分割メッセージ(RF data 3)を受信する。このパケットのCBは「0」である。フラグ判定部402は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 3)をメッセージ合成部403に供給する。
このとき(最後の分割メッセージ(RF data 4)が送信される前)、ステップS301において、RF部112が、外部のリーダ/ライタからの信号を検出できなくなると、制御部113の異常検出部405は、ステップS314において、その旨を把握する。
イベント送信部406は、ステップS315において、イベント「EVT_FIELD_OFF」を分割メッセージと同様にUICC OS123に送信する。UICC OS123のイベント受信部423は、ステップS324において、そのイベントメッセージを受信する。
イベント「EVT_FIELD_OFF」により、リーダ/ライタとの通信が不可能となったことが判明したので、終端メッセージ送信部424は、ステップS325において、CBが「1」のメッセージを制御部113に送信する。
このUICC OS123から制御部113へ向かうメッセージの場合、RFエラー(RF error)を示すフィールドが規定されていないため、エラーであることを示すことができない。しかしながら、上述したように、終端メッセージ送信部424は、CBが「1」の空メッセージを送信することで分割メッセージを終端させる指示を行うことができる。
制御部113のメッセージ受信部401は、ステップS316において、この空メッセージを受信する。
メッセージ合成部403は、ステップS317において、取得した分割メッセージ(RF data 1 乃至 RF data 3)と空メッセージを合成する。メッセージ合成部403は、その合成結果をメッセージ確認部404に供給する。
したがってメッセージ確認部404は、その合成結果を1つのメッセージとして解釈することができる。つまり、次に新たなメッセージ(若しくは分割メッセージ)が送信されてきても、メッセージ確認部404は、それを、上述した合成結果とは異なる新たなメッセージとして解釈することができる。
つまり、CLF102は、新たに供給されたメッセージを正しく受信することができる。
以上のように、通信装置100は、装置内におけるメッセージの伝送をより正確に行うことができる。
[機能ブロックの、さらに他の構成例]
なお、例えば、リーダ/ライタとの近距離無線通信が不通になると、UICC OS123がイベント「EVT_FIELD_OFF」を受信しなくても、CLF102は、リーダ/ライタからのコマンド等を受信しない状態が続く。つまり、UICC OS123も同様にCLF102からのメッセージを受信しない状態が続く。
したがって、UICC OS123は、予め定められた所定の時間をタイムアウト時間と定め、CLF102からのメッセージを受信しない時間がそのタイムアウト時間以上になった場合、リーダ/ライタとの近距離無線通信が不通になったと判定し、カードOS124の動作モードを0に戻し、その後のポーリングに応答することができるようにするようにしてもよい。
なお、リーダ/ライタから送信されるコマンドとコマンドの間隔はアプリケーションにも依存する。したがって、NFCデバイス内でタイムアウト時間を自由に設定できるようにすることが望ましい。
図12は、制御部、UICC OS、およびカードOSの構成例を示す機能ブロック図である。
図12Aに示されるように、制御部113は、機能ブロックとして、イベント送信部501、メッセージ分割部502、メッセージ送信部503、およびメッセージ受信部504を有する。
図12Bに示されるように、UICC OS123は、メッセージ受信部511、RFフィールド更新部512、フラグ判定部513、メッセージ合成部514、メッセージ供給部515、メッセージ取得部516、メッセージ送信部517、タイムアウト判定部518、およびRFフィールド通知部519を有する。
図12Cに示されるように、カードOS124は、メッセージ取得部531、モード切替部532、メッセージ送信部533、およびRFフィールド通知取得部534を有する。
[処理の流れ]
この場合の分割メッセージ授受の例を図13のフローチャートを参照して説明する。
なお、UICC OS123は、タイムアウト時間とRFフィールドの現在の状態を保持する。RFフィールドの状態の初期値はOFFである。
また、カードOS124は、動作モードの設定値を保持する。カードOS124のモードの初期値は0である。
図13において、リーダ/ライタによりRFフィールドが生成されると、RF部112は、ステップS401において、制御部113に対してその旨通知する。ステップS411において、その通知を取得すると、制御部113のイベント送信部501は、ステップS412において、イベント「EVT_FIELD_ON」をUICC OS123に送信する。
このイベントメッセージは分割メッセージで無いのでCBは「1」である。UICC OS123のメッセージ受信部511は、ステップS421において、そのイベントメッセージを受信する。RFフィールド更新部512は、ステップS422において、RFフィールドの状態をOFFからONに更新する。
リーダ/ライタからコマンド1を受信するとRF部112は、ステップS402において、制御部113に対して、そのコマンド1を供給する。制御部113は、ステップS413においてそのコマンド1を取得すると、ステップS414において、そのコマンド1をUICC OS123に送信する。UICC OS123のメッセージ受信部511は、ステップS423において、そのコマンド1を受信する。このコマンド1は、上述したように分割メッセージとして送信するようにしてもよい。
フラグ判定部513がコマンド1のメッセージが分割メッセージでないと判定すると、ステップS424において、メッセージ供給部515は、コマンド1をカードOS124に供給する。
カードOS124のメッセージ取得部531は、ステップS441において、そのコマンド1を取得する。モード切替部532は、ステップS442において、モードを0から2に切り替える。ステップS443において、メッセージ送信部533は、コマンド1に対する応答であるレスポンス1をUICC OS123に供給する。
ステップS425において、メッセージ取得部516は、レスポンス1を取得する。ステップS426において、メッセージ送信部517は、レスポンス1を制御部113に送信する。制御部113のメッセージ受信部504は、ステップS415においてそのレスポンス1を受信する。このレスポンス1は、上述したように分割メッセージとして送信するようにしてもよい。
制御部113は、ステップS416においてそのレスポンス1をRF部112に供給する。RF部112は、ステップS403においてそのレスポンス1を取得すると、そのレスポンス1をリーダ/ライタに送信する。
その後、リーダ/ライタが不通になり、RFフィールドが非活性化するなどして、UICC・OS123がタイムアウト時間以上、制御部113からコマンドが供給されない場合、タイムアウト判定部518は、タイムアウトが発生したと判定する。
タイムアウトが成立すると、RFフィールド更新部512は、ステップS427において、RFフィールドの状態をONからOFFに更新する。また、ステップS428において、RFフィールド通知部519は、RFフィールドの状態を更新した旨をカードOS124に通知する。
カードOS124のメッセージ取得部531は、ステップS444においてその通知を取得する。ステップS444においてモード切替部532は、モードを2から0に切り替える。
以上のようにタイムアウト時間を設け、それに基づいた制御を行うことにより、イベント「EVT_FIELD_OFF」を授受しなくても、カードOS124の動作を切り替えるようにし、次のメッセージに対して備えることができる。
以上のように、通信装置100は、装置内におけるメッセージの伝送をより正確に行うことができる。
なお、以上のようなタイムアウトを用いた制御を、上述した終端メッセージを用いる方法に組み合わせるようにしてもよい。その場合、終端メッセージを用いて分割メッセージ送信の中断を適切に処理するとともに、終端メッセージの送信ができなかった場合であっても、タイムアウト制御によって早期に次のメッセージの受信を正しく行うことができるようにすることができる。
すなわち、通信装置100は、装置内におけるメッセージの伝送をより正確に行うことができる。
<2.第2の実施の形態>
[概要]
CLFとUICC間で、別のハードウェアのラインを接続しておき、EVT_FIELD_OFFを受信できない場合については、CLFがRFフィールドの消失を検出した時点で、EVT_FIELD_OFFメッセージを送信するとともに、このラインへ信号を送出するようにしてもよい。
EVT_ACTIVATED、EVT_DEACTIVATEDについても同じライン上で信号を送出する。送出する信号は、メッセージごとに定義する必要がある。
以下により具体的に説明する。
[通信装置の構成]
図14は、本発明を適用した通信装置の、他の構成例を示すブロック図である。
図14に示されるように、通信装置600も、基本的に通信装置100と同様の構成を有し、同様の処理を行う。つまり、通信装置600は、ターミナルホスト601に対応するターミナルホスト601、CLF102に対応するCLF602、および、UICC103に対応するUICC603、バス104に対応するバス604、バス105に対応するバス605を有する。例えば、バス604は、物理的な1本の線からなる。また、例えば、バス605は、物理的な2本の線からなる。なお、ターミナルホスト601とUICC603も、例えばバス106に対応するバス606により接続される。
CLF602は、アンテナ111に対応するアンテナ611、RF部112に対応するRF部612、制御部113に対応する制御部613、並びに、カードRFゲート114−1乃至カードRFゲート114−3に対応するカードRFゲート614−1乃至カードRFゲート614−3を有する。
また、カードRFゲート614−1乃至カードRFゲート614−3は、それぞれ、レジストリ115−1乃至レジストリ115−3に対応するレジストリ615−1乃至レジストリ615−3を有する。
また、カードRFゲート614−1乃至カードRFゲート614−3は、それぞれ、パイプ131−1乃至パイプ131−3に対応するパイプ631−1乃至パイプ631−3に接続される。
UICC603は、カードAPPゲート121−1乃至カードAPPゲート121−3にそれぞれ対応するカードAPPゲート621−1乃至カードAPPゲート621−3、UICC OS123に対応するUICC OS623、カードOS124に対応するカードOS624、並びに、アプリケーション125−1乃至アプリケーション125−Nにそれぞれ対応するアプリケーション625−1乃至アプリケーション625−Nを有する。
また、カードAPPゲート621−1乃至カードAPPゲート621−3は、それぞれ、レジストリ122−1乃至レジストリ122−3に対応するレジストリ622−1乃至レジストリ622−3を有する。
また、カードAPPゲート621−1乃至カードAPPゲート621−3は、それぞれ、パイプ631−1乃至パイプ631−3に接続される。
つまり、カードRFゲート614−1乃至カードRFゲート614−3と、カードAPPゲート621−1乃至カードAPPゲート621−3とは、それぞれ、パイプ631−1乃至パイプ631−3を介して互いに接続される。
以下において、カードRFゲート614−1乃至カードRFゲート614−3を互いに区別して説明する必要の無い場合、単にカードRFゲート621と称する。また、レジストリ615−1乃至レジストリ615−3を互いに区別して説明する必要の無い場合、単にレジストリ622と称する。
さらに、パイプ631−1乃至パイプ631−3を互いに区別して説明する必要の無い場合、単にパイプ631と称する。
同様に、カードAPPゲート621−1乃至カードAPPゲート621−3を互いに区別して説明する必要の無い場合、単にカードAPPゲート621と称する。また、レジストリ622−1乃至レジストリ622−3を互いに区別して説明する必要の無い場合、単にレジストリ622と称する。
CLF602およびUICC603は、上述したパイプ631の他に、さらにライン641により接続される。このライン641においては、パイプ631を介してイベントメッセージが伝送されることを示す制御信号が授受される。この制御信号は、イベントメッセージ毎に定義される信号であってもよい。その場合、制御信号を解析することにより、イベントメッセージの種類が識別可能となる。
[機能ブロックの構成例]
制御部613およびUICC OS623は、図15に示されるような機能ブロックを有する。
図15Aに示されるように、制御部613は、機能ブロックとして、メッセージ分割部701、メッセージ送信部702、異常検出部703、イベント送信部704、および制御信号送信部705を有する。
また、図15Bに示されるように、UICC OS623は、機能ブロックとして、メッセージ受信部721、フラグ判定部722、メッセージ合成部723、メッセージ確認部724、制御信号受信部725を有する。
[処理の流れ]
この場合の分割メッセージ授受の例を図16のフローチャートを参照して説明する。
ステップS501において、RF部612が、外部から受信したRFデータを制御部613に供給する。制御部613のメッセージ分割部701は、ステップS511においてそのRFデータを受信し、そのRFデータを、所定のサイズごとに分割する。
メッセージ送信部702は、得られた分割メッセージを1つずつ、カードRFゲート614を介してUICC603に送信する。CLF602から送信されたこれらの分割メッセージは、パイプ631を介してUICC603に供給される。UICC OS623は、カードAPPゲート621を介して、それらの分割メッセージを受信する。
例えば、メッセージ分割部701が、RFデータを4つの分割メッセージに分割するとする。メッセージ送信部702は、ステップS512において、最初の分割メッセージ(RF data 1)を送信する。UICC OS623のメッセージ受信部721は、ステップS531においてこの分割メッセージ(RF data 1)を受信する。このパケットのCBは「0」である。フラグ判定部722は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 1)をメッセージ合成部723に供給する。
次に、メッセージ送信部702は、ステップS513において、2番目の分割メッセージ(RF data 2)を送信する。UICC OS623のメッセージ受信部721は、ステップS532においてこの分割メッセージ(RF data 2)を受信する。このパケットのCBは「0」である。フラグ判定部722は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 2)をメッセージ合成部723に供給する。
さらに、メッセージ送信部702は、ステップS514において、3番目の分割メッセージ(RF data 3)を送信する。UICC OS623のメッセージ受信部721は、ステップS533においてこの分割メッセージ(RF data 3)を受信する。このパケットのCBは「0」である。フラグ判定部722は、CBの値が「0」であると判定すると、この分割メッセージ(RF data 3)をメッセージ合成部723に供給する。
このとき(最後の分割メッセージ(RF data 4)が送信される前)、ステップS502において、RF部612が、外部のリーダ/ライタからの信号を検出できなくなると、制御部613の異常検出部703は、ステップS515において、その異常を検出する。
イベント送信部704は、ステップS516において、イベントメッセージを、カードRFゲート614およびパイプ631を介して、UICC603に送信する。このとき、制御信号送信部705は、ステップS517において、イベントメッセージの送信と同時に、そのイベントメッセージに対応する制御信号を、ライン641を介してUICC603に送信する。
UICC OS623は、ステップS535において、その制御信号を受信する。UICC OS623は、その制御信号を解析することにより、パイプ631を介して送信されるメッセージがイベントメッセージであることを把握することができる。
つまり、UICC OS623は、以上のように、分割メッセージの送信が途中で中断されて、イベントメッセージが送信されるような場合であっても、制御信号を用いることにより、イベントメッセージを正しく検出し、その内容を把握することができる。
以上のように、通信装置600は、装置内におけるメッセージの伝送をより正確に行うことができる。
<3.第3の実施の形態>
[概要]
以上においては、通信装置が外部の装置と非接触近距離無線通信を行う際の、CLFとUICCとの間のHCI仕様の通信について説明した。
ところで、CLF(NFCC)がUICCとNFC全体の制御を行うDH(Device Host)に接続される場合、CLF(NFCC)−UICC間のインターフェイスではETSI SCP HCI規格の仕様によるデータ交換が行われ、CLF(NFCC)−DH間のインターフェイスではNFC FORUM NCI(NFC Controller Interface)規格の仕様によるデータ交換が行われる。
このような場合、CLF(NFCC)は、DH−UICC間通信のために、その2つの仕様の間での変換機能を有する必要がある。しかしながら、実際には、このような変換処理を定義する規格は存在せず、ベンダにより独自のインターフェイスが設けられていた。
そこで、本実施の形態においては、このHCIとNCIの2つの規格の間の変換処理を定義し、UICCとDHがこれらの2つのインターフェイスを介して容易にデータ交換を行うことができるようにする。
[通信装置]
図17は、本発明を適用した通信装置の主な構成例を示すブロック図である。通信装置800は、図1の通信装置100と同様の非接触近距離無線通信機能を有するNFCデバイスである。
図17に示されるように、通信装置800は、基本的に、図1の通信装置100と同様の構成を有し、同様の処理を行う。すなわち、通信装置800は、CLF102と同様のCLF802と、UICC103と同様のUICC803を有する。ただし、通信装置800は、ベンダ独自のインターフェイスを介してCLF102やUICC103と通信を行うターミナルホスト101の代わりに、NCI規格のインターフェイスを介してCLF802と通信を行うデバイスホスト801を有する。
デバイスホスト(DH)801は、通信装置800全体の制御等を行う。デバイスホスト801は、バス811を介してCLF802と接続されており、このバス811を介してCLF802と通信を行う。デバイスホスト801は、NCI規格に従って、CLF802と通信を行う。
図18に、NCI規格に準拠したNCIメッセージフォーマットの構成例を示す。図18に示されるように、NCIメッセージは、24バイトのヘッダ情報(NCIメッセージヘッダ)と、LバイトのNCIメッセージデータにより構成される。
NCIメッセージヘッダには、PBF、ConnID、Credit_Avail、およびData Length(L)が含まれる。PBFは、NCIメッセージデータが、NCIのバッファサイズ(一度に伝送可能なデータ最大長)毎に分割された分割メッセージであって、このデータに後続するデータが存在するか否かを示すフラグ情報である。PBF=1の場合、後続のデータが存在する。なお、NCIバッファサイズ(NCI buffer size)は、コネクション作成時に指定される。
ConnIDは、コネクションを識別する識別情報である。なお、ConnIDは、コネクション作成時にCLF802によって割り当てられる。Credit_Availは、CLF802によるNCIのフロー制御に使用される。Data Length(L)は、NCIメッセージデータのデータ長を示す。
デバイスホスト801は、CLF802を介して、UICC803ともメッセージの授受を行う。例えば、デバイスホスト801は、通信装置800において、非接触ICカードとしての機能を実現するアプリケーションを実行する。例えば、デバイスホスト801は、電子マネーの入出金や管理等を行うアプリケーション等を実行する。これに対して、例えば、UICC803に、電子マネーのデータ(入金(チャージ)された電子マネーの残高や入出金データ等)が記憶されるとする。デバイスホスト801のアプリケーションが、例えば、チャージされている電子マネーの残高確認の要求を行うと、その要求は、CLF802を介してUICC803に供給される。UICC803は、その要求に対して、残高情報を、CLF802を介してデバイスホスト801に供給する。
もちろん、授受されるデータ(メッセージ)の内容は任意である。デバイスホスト801とUICC803は、CLF802を介して例えばこのようなデータ(メッセージ)の授受を行うことができる。
CLF802は、アンテナ821、RF部822、制御部823、ゲート部824、およびゲート部825を有する。
アンテナ821は、アンテナ111と同様のアンテナであり、リーダ/ライタ(R/W)等の外部の装置に対して非接触近距離無線通信信号を送受信するためのアンテナである。アンテナ821として例えばループアンテナが採用される。
RF部822は、RF部112と同様の処理部であり、非接触近距離無線通信信号の送受信を行なう。例えば、RF部822は、制御部823から供給されるメッセージを非接触近距離無線通信信号として、アンテナ821から送信したり、外部の装置から送信される非接触近距離無線通信信号を、アンテナ821を介して受信し、その信号に含まれるメッセージを制御部823に供給したりする。
制御部823は、制御部113と基本的に同様の処理部であり、RF部822を制御し、非接触近距離無線通信信号の送受信を制御する。また、制御部823は、カードRFゲート114と同様のゲート部824を制御し、UICC803とのメッセージの授受を制御する。ここで、CLF802とUICC803とは、物理的にはバス812により接続されるが、論理的には、ETSI SCP HCI規格により規定されるロジカルインタフェースにより接続される。このHCI規格のインタフェースでは、ゲートと称するエンドポイント同士が、パイプと称する通信路により接続される。ゲート部824は、このHCI規格のインタフェースにおけるCLF802側のゲートである。ゲート部824は、パイプを介してUICC803とメッセージ等を授受する。つまり、制御部823は、このゲート部824を介してUICC803と通信を行う。
さらに、制御部823は、ゲート部825を制御し、デバイスホスト801とのメッセージの授受を制御する。ここで、CLF802とデバイスホスト801とは、物理的にはバス811により接続されるが、論理的には、NFC FORUM NCI規格により規定されるロジカルインタフェースにより接続される。このNCI規格のインタフェースでは、ゲートと称するエンドポイント同士が、パイプと称する通信路により接続される。ゲート部825は、このNCI規格のインタフェースにおけるCLF802側のゲートである。ゲート部825は、パイプを介してデバイスホスト801とメッセージ等を授受する。つまり、制御部823は、このゲート部825を介してデバイスホスト801と通信を行う。
つまり、制御部823は、ゲート部825を介して行われるデバイスホスト801との通信と、ゲート部824を介して行われるUICC803との通信との両方を制御する。さらに、制御部823は、HCI規格およびNCI規格の間で、メッセージのフォーマット変換を行うことができる。
例えば、制御部823は、デバイスホスト801から取得したNCI規格のメッセージを、フォーマット変換し、HCI規格のメッセージとしてUICC803に供給する。また、例えば、制御部823は、UICC803から取得したHCI規格のメッセージを、フォーマット変換し、NCI規格のメッセージとしてデバイスホスト801に供給する。
制御部823が、このような変換処理を行うことにより、デバイスホスト801は、容易に、既存のNCI規格のインターフェイスを用いてUICC803と通信を行うことができる。同様に、UICC803は、容易に、既存のHCI規格のインターフェイスを用いてデバイスホスト801と通信を行うことができる。
[制御部]
図19は、制御部823の主な構成例を示す機能ブロック図である。図19に示されるように、制御部823は、接続確立部841、受信部842、変換部843、および送信部844を有する。
接続確立部841は、デバイスホスト801との通信やUICC803との通信の接続を確立する。その際、接続確立部841は、例えば、図20に示されるような、デバイスホスト801とのパイプ(コネクション)、UICC803とのパイプ(コネクション)、並びに、各通信の一度に伝送するデータ量であるバッファサイズの対応関係を示す対応表を生成し、管理する。
受信部842は、ゲート部824を制御して、UICC803からのHCIメッセージ受信に関する処理を行う。また、受信部842は、ゲート部825を制御して、デバイスホスト801からのNCIメッセージ受信に関する処理を行う。
変換部843は、受信部842の処理により受信されたNCIメッセージをHCIメッセージに変換する処理、若しくは、受信部842の処理により受信されたHCIメッセージをNCIメッセージに変換する処理を行う。
変換部843は、NCIメッセージをHCIメッセージに変換する場合、図21に示されるように、HCPパケットのHCPメッセージデータ(Data)に、NCIメッセージのPBFとNCIメッセージデータ(NCI Data)を格納する。例えば、PBFのサイズは1バイトであり、0x10をPBF=1とみなし、0x00をPBF=0とみなす。
また、変換部843は、HCIメッセージをNCIメッセージに変換する場合、図22に示されるように、NCIメッセージのNCIメッセージデータ(Data)に、HCPパケットのHCPメッセージデータ(HCI Data)を格納する。
HCI規格およびNCI規格においては、それぞれ、一度に送信可能なデータ長の最大値(バッファサイズ)が予め定められており、そのデータ長より長い意味のあるデータは、分割されて伝送される。また、両規格のバッファサイズが、互いに異なる場合も考えられる。
したがって、変換部843は、HCI規格とNCI規格との間の変換処理において、単にフォーマットを変換するだけでなく、データ長等に応じてデータを分割したり合成したりする。
変換部843は、サイズ判定部851、フラグ判定部852、分割部853、合成部854、および生成部855を有する。
サイズ判定部851は、NCIメッセージデータやHCPメッセージデータのデータサイズ(データ長)についての判定を行う。フラグ判定部852は、PBFやCB等のフラグの値を判定する。
分割部853は、メッセージデータの分割に関する処理を行う。合成部854は、複数のメッセージデータを1つに繋げる処理(メッセージデータの合成)に関する処理を行う。生成部855は、ヘッダ情報等、フォーマット変換の際に必要な情報を生成する。
送信部844は、ゲート部824を制御して、UICC803へのメッセージ送信に関する処理を行う。また、送信部844は、ゲート部825を制御して、デバイスホスト801へのメッセージ送信に関する処理を行う。
[変換処理の流れ]
次に、この制御部823により実行される、NCIフォーマットをHCIフォーマットに変換するNCI-HCI変換処理の流れの例を、図23乃至図25のフローチャートを参照して説明する。
制御部823は、デバイスホスト801から供給されるメッセージをUICC803に供給する際に、このNCI-HCI変換処理を実行する。
NCI-HCI変換処理が開始されると、ステップS601において、接続確立部841が、NCIの通信(デバイス801との通信)およびHCIの通信(UICC803との通信)の接続(コネクション)を確立する。このとき、接続確立部841は、例えば図20に示されるような、各接続の識別情報およびバッファサイズの対応関係を示す対応表を生成し、管理する。その際、接続確立部841は、必要に応じて、識別情報やバッファサイズの設定も行う。以降の処理においては、この情報が利用される。
ステップ602において、受信部842は、ゲート部825を制御し、デバイスホスト802からNCIメッセージを受信する。ステップS603において、変換部843は、複数のNCIメッセージデータを合成して1つのHCPパケットを生成する場合も考慮し、今回受信したNCIメッセージがHCPパケットの最初のNCIメッセージデータであるか否かを判定する。
HCPパケットの最初のNCIメッセージデータであると判定した場合、受信部842は、処理をステップS604に進める。つまり、NCIメッセージデータを合成しない場合や、NCIメッセージデータを合成する場合の、その最初のNCIメッセージデータについては、図23のステップS604以降の各処理、若しくは、図24の各処理が行われる。
ステップS604において、サイズ判定部851は、PBFとNCIメッセージデータの合計データサイズがHCIバッファサイズ(HCI規格のコネクションにおいて一度に伝送可能なデータ長の最大値)より大きいか否かを判定する。例えば、HCI Transport layerがSWP(Single Wire Protocol)の場合、HCIバッファサイズ(SWP buffer size)は30バイトである。
PBFとNCIメッセージデータの合計データサイズがHCIバッファサイズより大きい場合、NCIメッセージデータをHCIバッファサイズ毎に分割する必要がある。PBFとNCIメッセージデータの合計データサイズがHCIバッファサイズより大きいと判定された場合、サイズ判定部851は、処理をステップS605に進める。
ステップS605において、生成部855は、図3に示されるheaderのようなHCPメッセージヘッダ(図4のmessage header)を生成し、PBFとNCIメッセージデータに付加する。
ステップS606において、分割部853は、PBFとNCIメッセージデータを、HCPメッセージデータ(図4のdata)とし、HCPメッセージ(HCPメッセージヘッダおよびHCPメッセージデータ)をHCIバッファサイズ毎に分割する。以下において、分割された各HCPメッセージを分割HCPメッセージとも称する。
ステップS607において、生成部855は、図2に示されるheaderのようなHCPパケットヘッダ(図4のpacket header)を生成し、各分割HCPメッセージに付加する。また、生成部855は、ステップS608において、HCPメッセージの最後(最後の分割HCPメッセージ)を含むHCPパケット(HCPパケットヘッダが付加された分割HCPメッセージ)のCBを、CB=1とし、それ以外のHCPパケットのCBをCB=0とする。CB=1は、その分割HCPメッセージに続く他の分割HCPメッセージが存在することを示す。CB=0は、その分割HCPメッセージに続く他の分割HCPメッセージが存在しないこと、すなわち、HCPメッセージの最後を示す。
ステップS609において、送信部844は、各HCPパケットを所定順(例えば、分割HCPメッセージの並び順)に、ゲート部824を介してUICC803に送信する。
PBFおよびNCIメッセージデータの合計のデータサイズがHCIバッファサイズより大きい場合、このようにNCIメッセージデータは、このように複数に分割されて送信される。
ステップS610において、制御部823は、NCI-HCI変換処理を終了するか否かを判定する。まだデバイスホスト801からのNCIメッセージ群の受信が終了しておらず、NCI-HCI変換処理を終了しないと判定した場合、処理対象を次のNCIメッセージに更新し、処理をステップS602に戻す。
また、ステップS610において、全てのNCIメッセージの変換が終了し、NCI-HCI変換処理を終了すると判定された場合、制御部823は、NCI-HCI変換処理を終了する。
また、ステップS604において、PBFおよびNCIメッセージデータの合計のデータサイズがHCIバッファサイズより大きくないと判定された場合、サイズ判定部851は、処理を図24のステップS621に進める。
図24のステップS621において、サイズ判定部851は、PBFおよびNCIメッセージデータの合計のデータサイズがHCIバッファサイズと一致するか否かを判定する。一致すると判定された場合、複数のNCIメッセージデータを合成する必要が無いので、サイズ判定部851は、処理をステップS622に進め、図24のステップS622乃至ステップS625の処理を実行させる。
つまり、ステップS622において、生成部855は、PBFおよびNCIメッセージデータをHCPメッセージデータとし、HCPメッセージヘッダを生成して付加することによりHCPメッセージを生成する。さらに、ステップS623において、生成部855は、そのHCPメッセージにHCPパケットヘッダを生成して付加することによりHCPパケットを生成する。つまり、この場合、HCPパケットには、1つのNCIメッセージデータが格納される。
したがって、後続の分割データは存在しないので、生成部855は、ステップS624において、そのHCPパケットのCBをCB=1に設定する。ステップS625において、送信部844は、そのHCPパケットを、ゲート部824を介してUICC803に送信する。
HCPパケットが送信されると、制御部823は、処理を図23のステップS610に戻し、それ以降の処理を繰り返す。
また、図24のステップS621において、PBFおよびNCIメッセージデータの合計のデータサイズがHCIバッファサイズと一致しないと判定された場合、サイズ判定部851は、処理をステップS626に進める。この場合、PBFおよびNCIメッセージデータの合計のデータサイズがHCIバッファサイズより小さいことになる。
制御部823は、NCIメッセージデータとして供給された意味のあるデータをできるだけ少ないHCPパケットでUICC803に供給させる。つまり、制御部823は、1つの意味のあるデータが分割された複数のNCIメッセージデータを、HCIバッファサイズを超えない範囲で合成する(つなぎ合わせる)。
例えば、1つの意味のあるデータがデバイスホスト801により分割されて、それぞれがHCIバッファサイズよりも小さな複数のNCIメッセージデータとして送信された場合、制御部323は、それらのNCIメッセージデータを、HCIバッファサイズを超えない範囲で合成する(つなぎ合わせる)。
このようにすることにより、制御部823は、HCPパケット数を低減させることができ、不要にバス812の帯域を消費することを抑制し、効率よくメッセージをUICC803に供給することができる。
なお、複数の意味のあるデータを1つのHCPパケットに含めるようにしてもよいが、UICC803がそのメッセージを意味のあるデータ毎に分割する必要が生じるので、制御部823は、どこでメッセージを分割すべきか(意味のあるデータの切れ目)を示す必要がある。
ステップS626において、変換部843は、PBFおよびNCIメッセージデータをHCPメッセージデータとして保持する。ステップS626の処理が終了すると、制御部823は、処理を図23のステップS610に戻し、それ以降の処理を繰り返す。
つまり、次のNCIメッセージデータが存在する場合、そのNCIメッセージデータを合成するか否かを判定する必要があるので、制御部823は、今回受信したNCIメッセージデータを送信せずに、次のNCIメッセージデータの受信を行う。
図23のステップS603において、HCPパケットの最初のNCIメッセージデータでは無いと判定された場合、制御部823は、処理を図25のステップS631に進める。つまり、未送信のHCPメッセージデータ(少なくとも前回受信したNCIメッセージデータを含むHCPメッセージデータ)が存在すると判定された場合、制御部823は、図25の各処理を実行し、HCPメッセージデータがHCIバッファサイズを超えるか、若しくは、意味のあるデータの最後を含むNCIメッセージデータを受信するまで、NCIメッセージデータを合成する。
ステップS631において、サイズ判定部851は、PBFおよび今回までのNCIメッセージデータの和の合計サイズがHCIバッファサイズより小さいか否かを判定する。PBFおよび今回までのNCIメッセージデータの和の合計サイズがHCIバッファサイズより小さいと判定された場合、サイズ判定部851は、処理をステップS632に進める。
ステップS632において、合成部854は、今回のNCIメッセージデータを、制御部823が保持しているHCPメッセージデータに追加する。ステップS633において、フラグ判定部852は、今回受信したNCIメッセージのPBFがPBF=0であるか否かを判定する。PBF=0である、すなわち、今回取得したNCIメッセージデータが意味のあるデータの最後を含む(後続のNCIメッセージデータが存在しない)と判定された場合、フラグ判定部852は、処理をステップS634に進める。
ステップS634において、生成部855は、HCPメッセージヘッダを生成し、制御部823が保持しているHCPメッセージデータに付加する。なお、このとき、生成部855は、HCPメッセージデータのPBFをPBF=0に設定する。さらに、生成部855は、ステップS635において、HCPパケットヘッダを生成し、ステップS634において生成したHCPメッセージに付加する。
このように生成されたHCPパケットに含まれるNCIメッセージデータに後続するNCIメッセージデータは存在しないので、ステップS636において、生成部855は、そのHCPパケットのCBをCB=1とする。ステップS637において、送信部844は、このように生成されたHCPパケットを、ゲート部824を介してUICC803に送信する。送信部844は、HCPパケットを送信すると、処理を図23のステップS610に戻し、それ以降の処理を繰り返す。
また、図25のステップS633において、PBF=1である、すなわち、今回取得したNCIメッセージデータが意味のあるデータの最後を含まない(後続のNCIメッセージデータが存在する)と判定された場合、フラグ判定部852は、HCPメッセージデータを送信させずに、処理を図23のステップS602に進める。つまり、NCIメッセージデータの合成を継続する。
また、図25のステップS631において、PBFおよび今回までのNCIメッセージデータの和の合計サイズが、HCIバッファサイズ以上であると判定された場合、サイズ判定部851は、処理をステップS638に進める。ステップS638において、サイズ判定部851は、PBFおよび今回までのNCIメッセージデータの和がHCIバッファサイズと一致するか否かを判定する。一致すると判定された場合、サイズ判定部851は、処理をステップS639に進める。
ステップS639において、合成部854は、今回のNCIメッセージデータをHCPメッセージデータに追加する。ステップS640において、生成部855は、HCPメッセージヘッダを生成し、HCPメッセージデータに付加する。ステップS641において、生成部855は、HCPパケットヘッダを生成し、ステップS640において生成されたHCPメッセージに付加することにより、HCPパケットを生成する。
ステップS642において、フラグ判定部852は、今回受信したNCIメッセージのPBFがPBF=0であるか否かを判定する。PBF=0であると判定された場合、生成部855は、処理をステップS643に進め、HCPパケットのCBをCB=1に設定し、処理をステップS645に進める。また、ステップS642においてPBF=1であると判定された場合、生成部855は、処理をステップS644に進め、HCPパケットのCBをCB=0に設定し、処理をステップS645に進める。
ステップS645において、送信部844は、ゲート部824を介してUICC803に送信する。送信部844は、HCPパケットを送信すると、処理を図23のステップS610に戻し、それ以降の処理を繰り返す。
さらに、図25のステップS638において、PBFおよび今回までのNCIメッセージデータの和がHCIバッファサイズと一致しないと判定された場合、すなわち、PBFおよび今回までのNCIメッセージデータの和がHCIバッファサイズより大きいと判定された場合、サイズ判定部851は、処理をステップS646に進める。
この場合、今回受信したNCIメッセージデータをHCPメッセージデータに追加することができないので、制御部823は、前回までのNCIメッセージデータをHCPメッセージデータとして送信させる。
すなわち、ステップS646において、生成部855は、今回受信したNCIメッセージデータをHCPメッセージデータに追加させずに、HCPメッセージヘッダを生成し、HCPメッセージデータに付加する。ステップS647において、生成部855は、HCPパケットヘッダを生成し、ステップS646において生成されたHCPメッセージに付加する。この場合、今回受信したNCIメッセージデータの後続のNCIメッセージデータが存在するので、生成部855は、さらに、ステップS648において、ステップS647において生成されたHCPパケットのCBをCB=0とする。
ステップS649において、送信部844は、ゲート部824を介してUICC803に送信する。送信部844は、HCPパケットを送信すると、処理を図23のステップS610に戻し、それ以降の処理を繰り返す。
以上のように各処理を行うことにより、制御部823は、NCIフォーマットからHCIフォーマットの変換を、NCIメッセージデータを受信する度に行うことができ、例えば、意味のあるデータを全て受信してから、フォーマット変換して送信するよりも、容易かつ高速に行うことができる。
これにより、デバイスホスト801およびUICC803は、既存のNCIインターフェイスおよびHCIインターフェイスを用いて容易にメッセージの授受を行うことができる。
[HCPメッセージ受信処理の流れ]
このようにCLF802によりフォーマット変換されて供給されるメッセージを受信するHCPメッセージ受信処理の流れの例を、図26のフローチャートを参照して説明する。
UICC803は、CLF802から送信されるHCPパケットを受信するために、HCPメッセージ受信処理を実行する。
ステップS661において、UICC803は、HCPパケットを受信する。ステップS662において、UICC803は、受信したHCPパケットのCBがCB=1であるか否かを判定する。CB=1であると判定された場合、UICC803は、処理をステップS663に進める。
この場合、後続のHCPメッセージデータは存在しないので、ステップS663において、UICC803は、今回受信したHCPパケットに含まれるHCPメッセージデータを抽出する。例えば、分割HCPメッセージを保持している場合、UICC803は、今回受信したHCPパケットに含まれる分割HCPメッセージを抽出し、それを、保持している分割HCPメッセージと合成し、HCPメッセージデータを抽出する。
ステップS664において、UICC803は、ステップS663において生成されたHCPメッセージデータのPBFがPBF=0であるか否かを判定する。PBF=0であると判定された場合、UICC803は、処理をステップS665に進め、HCPメッセージデータから、意味のあるデータ毎のNCIメッセージデータである有意NCIメッセージデータを生成する。例えば、保持しているNCIメッセージデータが存在する場合、すなわち、有意NCIメッセージデータが複数のNCIメッセージデータに分割されている場合、UICC803は、その複数のNCIメッセージデータを合成し、有意NCIメッセージデータを生成する。
有意NCIメッセージデータを生成するとUICC803は、HCPメッセージ受信処理を終了する。
また、ステップS664において、PBF=1であると判定された場合、UICC803は、処理をステップS666に進め、NCIメッセージデータを保持し、HCPメッセージ受信処理を終了する。
さらに、ステップS662において、CB=0であると判定された場合、UICC803は、処理をステップS667に進め、今回受信した分割HCPメッセージを保持し、HCPメッセージ受信処理を終了する。
HCPメッセージ受信処理は、各HCPパケットを受信するために、繰り返し実行される。
このようにすることにより、UICC802は、CLF802を介して、デバイスホスト801から送信されるメッセージを、外部の装置との非接触近距離無線通信の場合と同様に、HCIインターフェイスにより受信することができる。
[分割の例]
例えば、NCIメッセージデータがHCIバッファサイズ(例えばSWPバッファサイズ)より大きい場合、メッセージは、図27のフローチャートに示されるように伝送される。
つまり、ステップS711、ステップS721、およびステップS731において、接続が確立されると、ステップS712において送信されたNCIメッセージデータ(data 1a)は、ステップS722においてCLF802に受信され、変換されて、例えば、ステップS723乃至ステップS725のように複数のHCPパケット(data 1a-1乃至data 1a-m)に分割されてUICC803に伝送される。UICC803は、それらのHCPパケットを、ステップS732乃至ステップS734のように受信し、それらを合成してNCIメッセージデータ(data 1a)を生成する。
同様に、ステップS713において送信されたNCIメッセージデータ(data 1b)は、ステップS726においてCLF802に受信され、変換されて、例えば、ステップS727乃至ステップS729のように複数のHCPパケット(data 1b-1乃至data 1b-n)に分割されてUICC803に伝送される。UICC803は、それらのHCPパケットを、ステップS735乃至ステップS737のように受信し、それらを合成してNCIメッセージデータ(data 1b)を生成する。
UICC803は、NCIメッセージデータ(data 1a)とNCIメッセージデータ(data 1b)とを合成し、意味のあるデータ(data 1)を生成する。
data 1a = data 1a-1 + data 1a-2 + … + data 1a-m
data 1b = data 1b-1 + data 1b-2 + … + data 1b-n
意味のあるデータdata 1 = data 1a + data 1b
[一致の例]
例えば、NCIメッセージデータがHCIバッファサイズ(例えばSWPバッファサイズ)に一致する場合、メッセージは、図28のフローチャートに示されるように伝送される。つまり、1つのNCIメッセージが1つのHCPパケットに変換されて伝送される。
つまり、ステップS741、ステップS751、およびステップS761において、接続が確立されると、ステップS742において送信されたNCIメッセージデータ(data 1a)は、ステップS752においてCLF802に受信され、変換されて、ステップS753において、HCPパケットとして、UICC803に伝送される。UICC803は、そのHCPパケットを、ステップS762において受信する。
また、ステップS743において送信されたNCIメッセージデータ(data 1b)は、ステップS754においてCLF802に受信され、変換されて、ステップS755において、HCPパケットとして、UICC803に伝送される。UICC803は、そのHCPパケットを、ステップS763において受信する。
UICC803は、NCIメッセージデータ(data 1a)とNCIメッセージデータ(data 1b)とを合成し、意味のあるデータ(data 1)を生成する。
意味のあるデータdata 1 = data 1a + data 1b
[合成の例]
例えば、NCIメッセージデータがHCIバッファサイズ(例えばSWPバッファサイズ)より小さい場合、メッセージは、図29のフローチャートに示されるように伝送される。
つまり、ステップS771、ステップS781、およびステップS791において、接続が確立されると、ステップS772乃至ステップS774のように複数のNCIメッセージデータ(data 1a乃至data 1x)がデバイスホスト801から送信され、それらが、ステップS782乃至ステップS784のようにCLF802に受信される。それらのデータは、CLF802において変換されて、1つのHCPパケット(data 1)にまとめられ、ステップS785において、UICC803に伝送される。UICC803は、そのHCPパケットを、ステップS792において受信する。
意味のあるデータdata 1 = data 1a + data 1b
なお、図29においては、意味のあるデータdata 1のデータサイズがHCIバッファサイズ(例えばSWP buffer size)より小さい場合を例に説明したが、例えば、意味のあるデータdata 1のデータサイズがHCIバッファサイズより大きい場合、意味のあるデータdata 1は、複数のHCPパケットとしてUICC803に送信される。この場合、CLF802は、HCIバッファサイズを超えるまでNCIメッセージデータを合成してから送信するようにしてもよいし、合成せずに1つのNCIメッセージデータを1HCPパケットとして送信するようにしてもよい。また、例えば、NCIメッセージデータを、各分割NCIメッセージデータのサイズがHCIバッファサイズを超えないように等分するようにしてもよい。さらに、その他の分割方法であってもよい。
また、このような合成や送信は、NCIメッセージデータを受信する毎に行うようにしてもよいし、意味のあるデータを全て受信してから行うようにしてもよい。さらに、その他のタイミングに行われるようにしてもよい。
以上のように、CLF208は、多様な場合において、NCIフォーマットをHCIフォーマットに適切に変換することができる。これにより、UICC803は、メッセージの分割や合成が必要な場合であっても、既存のHCIインターフェイスを用いて、外部の装置と非接触近距離無線通信を行う場合と同様に、容易にデバイスホスト802からメッセージ受信することができる。
[変換処理の流れ]
次に、制御部823により実行される、HCIフォーマットをNCIフォーマットに変換するHCI-NCI変換処理の流れの例を、図30乃至図32のフローチャートを参照して説明する。
制御部823は、UICC803から供給されるメッセージをデバイスホスト801に供給する際に、このHCI-NCI変換処理を実行する。
HCI-NCI変換処理が開始されると、ステップS801において、接続確立部841が、NCIの通信(デバイス801との通信)およびHCIの通信(UICC803との通信)の接続(コネクション)を確立する。このとき、接続確立部841は、例えば図20に示されるような、各接続の識別情報およびバッファサイズの対応関係を示す対応表を生成し、管理する。その際、接続確立部841は、必要に応じて、識別情報やバッファサイズの設定も行う。以降の処理においては、この情報が利用される。
ステップ802において、受信部842は、ゲート部824を制御し、UICC803からHCPパケットを受信する。ステップS803において、変換部843は、複数のHCPパケットを合成して1つのNCIメッセージを生成する場合も考慮し、今回受信したHCPパケットがNCIメッセージデータの最初のHCPパケットであるか否かを判定する。
NCIメッセージデータの最初のHCPパケットであると判定した場合、受信部842は、処理をステップS804に進める。つまり、HCPパケットを合成しない場合や、HCPパケットを合成する場合の、その最初のHCPパケットについては、図30のステップS804以降の各処理、若しくは、図31の各処理が行われる。
ステップS804において、サイズ判定部851は、HCPメッセージデータのデータサイズがNCIバッファサイズ(NCI規格のコネクションにおいて一度に伝送可能なデータ長の最大値)より大きいか否かを判定する。
HCPメッセージデータのサイズがNCIバッファサイズより大きい場合、HCPメッセージデータをNCIバッファサイズ毎に分割する必要がある。HCPメッセージデータのサイズがNCIバッファサイズより大きいと判定された場合、サイズ判定部851は、処理をステップS805に進める。
ステップS805において、分割部853は、HCPメッセージデータを、NCIメッセージデータとし、そのNCIメッセージデータをNCIバッファサイズ毎に分割する。以下において、分割された各NCIメッセージを分割NCIメッセージとも称する。
ステップS806において、生成部855は、NCIメッセージヘッダを生成し、各分割NCIメッセージデータに付加する。ステップS807において、フラグ判定部852は、受信したHCPパケットのCBがCB=1であるか否かを判定する。
CB=1であると判定された場合、フラグ判定部852は、処理をステップS808に進める。この場合、同じ意味あるデータから分割された後続のHCPパケットは存在しない。したがって、ステップS808において、生成部855は、分割NCIメッセージデータのうち、NCIメッセージデータの最後を含むNCIメッセージのPBFをPBF=0とし、それ以外のNCIメッセージのPBFをPBF=1とする。ステップS808の処理が終了すると、生成部855は、処理をステップS810に進める。
また、ステップS807において、CB=0と判定された場合、フラグ判定部852は、処理をステップS809に進める。この場合、同じ意味あるデータから分割された後続のHCPパケットが存在する。したがって、ステップS809において、生成部855は、全てのNCIメッセージのPBFをPBF=1とする。ステップS809の処理が終了すると、生成部855は、処理をステップS810に進める。
ステップS810において、送信部844は、各NCIメッセージを所定順(例えば、分割NCIメッセージの並び順)に、ゲート部825を介してデバイスホスト801に送信する。
HCPメッセージデータのサイズがNCIバッファサイズより大きい場合、このようにHCPメッセージデータは、複数に分割されて送信される。
ステップS811において、制御部823は、HCI-NCI変換処理を終了するか否かを判定する。まだUICC803からのHCIパケット群の受信が終了しておらず、HCI-NCI変換処理を終了しないと判定した場合、処理対象を次のHCPパケットに更新し、処理をステップS802に戻す。
また、ステップS811において、全てのHCPパケットの変換が終了し、HCI-NCI変換処理を終了すると判定された場合、制御部823は、HCI-NCI変換処理を終了する。
また、ステップS804において、HCPメッセージデータのサイズがNCIバッファサイズより大きくないと判定された場合、サイズ判定部851は、処理を図31のステップS821に進める。
図31のステップS821において、サイズ判定部851は、HCPメッセージデータのサイズがNCIバッファサイズと一致するか否かを判定する。一致すると判定された場合、複数のHCPメッセージデータを合成する必要が無いので、サイズ判定部851は、処理をステップS822に進め、図31のステップS822乃至ステップS826の処理を実行させる。
つまり、ステップS822において、生成部855は、HCPメッセージデータをNCIメッセージデータとし、NCIメッセージヘッダを生成して付加することによりNCIメッセージを生成する。
ステップS823において、フラグ判定部852は、今回受信されたHCPメッセージデータのCBがCB=0であるか否かを判定する。CB=0であり、後続のHCPメッセージデータが存在すると判定された場合、生成部855は、ステップS824において、ステップS822において生成したNCIメッセージのPBFをPBF=1に設定し、処理をステップS826に進める。
また、ステップS823において、CB=1であり、後続のHCPメッセージデータが存在しないと判定された場合、生成部855は、ステップS825において、ステップS822において生成したNCIメッセージのPBFをPBF=0に設定し、処理をステップS826に進める。
ステップS826において、送信部844は、そのNCIメッセージを、ゲート部825を介してデバイスホスト801に送信する。
NCIメッセージが送信されると、制御部823は、処理を図30のステップS811に戻し、それ以降の処理を繰り返す。
また、図31のステップS821において、HCPメッセージデータの合計のデータサイズがNCIバッファサイズと一致しないと判定された場合、サイズ判定部851は、処理をステップS827に進める。この場合、HCPメッセージデータのサイズがNCIバッファサイズより小さいことになる。
制御部823は、HCPパケットとして供給された意味のあるデータをできるだけ少ないNCIメッセージでデバイスホスト801に送信する。つまり、制御部823は、1つの意味のあるデータが分割された複数のHCPメッセージデータを、NCIバッファサイズを超えない範囲で合成する(つなぎ合わせる)。
例えば、1つの意味のあるデータがUICC803により分割されて、それぞれがNCIバッファサイズよりも小さな複数のHCPメッセージデータとして送信された場合、制御部323は、それらのHCPメッセージデータを、NCIバッファサイズを超えない範囲で合成する(つなぎ合わせる)。
このようにすることにより、制御部823は、NCIメッセージ数を低減させることができ、不要にバス811の帯域を消費することを抑制し、効率よくメッセージをデバイスホスト801に供給することができる。
なお、複数の意味のあるデータを1つのNCIメッセージに含めるようにしてもよいが、デバイスホスト801がそのメッセージを意味のあるデータ毎に分割する必要が生じるので、制御部823は、どこでメッセージを分割すべきか(意味のあるデータの切れ目)を示す必要がある。
ステップS827において、変換部843は、HCPメッセージデータをNCIメッセージデータとして保持する。ステップS828において、フラグ判定部852は、HCPメッセージデータのCBがCB=0であるか否かを判定する。CB=0であり、後続のHCPメッセージが存在すると判定された場合、制御部823は、処理を図30のステップS802に戻し、それ以降の処理を繰り返す。
つまり、次のHCPメッセージデータが存在する場合、そのHCPメッセージデータを合成するか否かを判定する必要があるので、制御部823は、今回受信したHCPメッセージデータを送信せずに、次のHCPメッセージデータの受信を行う。
また、図31のステップS828において、CB=1であり、後続のHCPメッセージが存在しないと判定された場合、生成部855は、ステップS829に処理を進め、NCIメッセージヘッダをNCIメッセージデータに付加し、NCIメッセージを生成する。ステップS830において、生成部855は、そのNCIメッセージのPBFをPBF=0に設定する。ステップS831において、送信部844は、そのNCIメッセージを、ゲート部825を介してデバイスホスト801に送信する。
NCIメッセージが送信されると、制御部823は、処理を図30のステップS811に戻し、それ以降の処理を繰り返す。
図30のステップS803において、NCIメッセージの最初のHCPパケットでは無いと判定された場合、制御部823は、処理を図32のステップS841に進める。つまり、未送信のNCIメッセージデータ(少なくとも前回受信したHCPメッセージデータを含むNCIメッセージデータ)が存在すると判定された場合、制御部823は、図32の各処理を実行し、NCIメッセージデータがNCIバッファサイズを超えるか、若しくは、意味のあるデータの最後を含むHCPメッセージデータを受信するまで、HCPメッセージデータを合成する。
ステップS841において、サイズ判定部851は、今回までのHCPメッセージデータの和の合計サイズがNCIバッファサイズより小さいか否かを判定する。今回までのHCPメッセージデータの和の合計サイズがNCIバッファサイズより小さいと判定された場合、サイズ判定部851は、処理をステップS842に進める。
ステップS842において、合成部854は、今回のHCPメッセージデータを、制御部823が保持しているNCIメッセージデータに追加する。ステップS843において、フラグ判定部852は、今回受信したHCPメッセージのCBがCB=0であるか否かを判定する。CB=0である、すなわち、今回取得したHCPメッセージデータが意味のあるデータの最後を含まない(後続のNCIメッセージデータが存在する)と判定された場合、フラグ判定部852は、処理を図30のステップS802に戻し、それ以降の処理を繰り返す。
また、図32のステップS843において、CB=1、すなわち、今回取得したHCPメッセージデータが意味のあるデータの最後を含む(後続のNCIメッセージデータが存在しない)と判定された場合、生成部855は、NCIメッセージヘッダを生成し、制御部823が保持しているNCIメッセージデータに付加し、NCIメッセージを生成する。ステップS845において、生成部855は、そのNCIメッセージのPBFをPBF=0に設定する。
ステップS846において、送信部844は、このように生成されたNCIメッセージを、ゲート部825を介してデバイスホスト801に送信する。送信部844は、NCIメッセージを送信すると、処理を図30のステップS811に戻し、それ以降の処理を繰り返す。
また、図32のステップS841において、今回までのHCPメッセージデータの合計サイズが、NCIバッファサイズ以上であると判定された場合、サイズ判定部851は、処理をステップS847に進める。ステップS847において、サイズ判定部851は、今回までのHCPメッセージデータの和のサイズがNCIバッファサイズと一致するか否かを判定する。一致すると判定された場合、サイズ判定部851は、処理をステップS848に進める。
ステップS848において、合成部854は、今回のHCPメッセージデータを制御部823が保持しているNCIメッセージデータに追加する。ステップS849において、生成部855は、NCIメッセージヘッダを生成し、NCIメッセージデータに付加し、NCIメッセージを生成する。
ステップS850において、フラグ判定部852は、今回受信したHCPパケットのCBがCB=0であるか否かを判定する。CB=0であると判定された場合、すなわち、後続のHCPメッセージデータが存在すると判定された場合、生成部855は、処理をステップS851に進め、ステップS848において生成したNCIメッセージのPBFをPBF=1に設定し、処理をステップS853に進める。
また、ステップS850においてCB=1であると判定された場合、すなわち、後続のHCPメッセージデータが存在しないと判定された場合、生成部855は、処理をステップS852に進め、ステップS848において生成したNCIメッセージのPBFをPBF=0に設定し、処理をステップS853に進める。
ステップS853において、送信部844は、以上のように生成されたNCIメッセージを、ゲート部825を介してデバイスホスト801に送信する。送信部844は、NCIメッセージを送信すると、処理を図30のステップS811に戻し、それ以降の処理を繰り返す。
さらに、図32のステップS847において、今回までのHCPメッセージデータの和のデータサイズがNCIバッファサイズと一致しないと判定された場合、すなわち、今回までのHCPメッセージデータの和のデータサイズがNCIバッファサイズより大きいと判定された場合、サイズ判定部851は、処理をステップS854に進める。
この場合、今回受信したHCPメッセージデータをNCIメッセージデータに追加することができないので、制御部823は、前回までのHCPメッセージデータをNCIメッセージデータとして送信させる。
すなわち、ステップS854において、生成部855は、今回受信したHCPメッセージデータをNCIメッセージデータに追加させずに、NCIメッセージヘッダを生成し、NCIメッセージデータに付加する。ステップS855において、生成部855は、そのNCIメッセージのPBFを、PBF=1とする。
ステップS856において、送信部844は、ゲート部825を介してデバイスホスト801に送信する。送信部844は、NCIメッセージを送信すると、処理を図30のステップS811に戻し、それ以降の処理を繰り返す。
以上のように各処理を行うことにより、制御部823は、HCIフォーマットからNCIフォーマットの変換を、HCIメッセージデータを受信する度に行うことができ、例えば、意味のあるデータを全て受信してから、フォーマット変換して送信するよりも、容易かつ高速に行うことができる。
これにより、デバイスホスト801およびUICC803は、既存のHCIインターフェイスおよびNCIインターフェイスを用いて容易にメッセージの授受を行うことができる。
[NCIメッセージ受信処理の流れ]
このようにCLF802によりフォーマット変換されて供給されるメッセージを受信するNCIメッセージ受信処理の流れの例を、図33のフローチャートを参照して説明する。
デバイスホスト801は、CLF802から送信されるNCIメッセージを受信するために、NCIメッセージ受信処理を実行する。
ステップS871において、デバイスホスト801は、NCIメッセージを受信する。ステップS872において、デバイスホスト801は、受信したNCIメッセージのPBFがPBF=0であるか否かを判定する。PBF=0であると判定された場合、デバイスホスト801は、処理をステップS873に進める。
この場合、後続のNCIメッセージデータは存在しないので、ステップS873において、デバイスホスト801は、今回受信したNCIメッセージに含まれるHCPメッセージデータを抽出し、例えば、保持している他のHCP分割HCPメッセージデータと適宜合成し、意味のあるHCPメッセージデータである有意HCPメッセージデータを生成する。
また、ステップS872において、PBF=1であると判定された場合、デバイスホスト801は、処理をステップS874に進める。ステップS874において、デバイスホスト801は、NCIメッセージから抽出されたHCPメッセージデータ保持する。
ステップS873若しくはステップS874の処理が終了すると、デバイスホスト801は、NCIメッセージ受信処理を終了する。
NCIメッセージ受信処理は、各NCIメッセージを受信するために、繰り返し実行される。
このようにすることにより、デバイスホスト801は、CLF802を介して、UICC803から送信されるメッセージを、既存のNCIインターフェイスにより受信することができる。つまり、UICC803は、CLF802を介して、デバイスホスト801に送信するメッセージを、外部の装置との非接触近距離無線通信の場合と同様に、HCIインターフェイスにより送信することができる。
[分割の例]
例えば、HCPメッセージデータがNCIバッファサイズより大きい場合、メッセージは、図34のフローチャートに示されるように伝送される。
つまり、ステップS911、ステップS921、およびステップS931において、接続が確立されると、ステップS932においてUICC803から送信されたHCPパケット(data 1)は、ステップS922においてCLF802に受信され、変換されて、例えば、ステップS923乃至ステップS925のように複数のNCIメッセージ(data 1-1乃至data 1-n)に分割されてホストデバイス801に伝送される。ホストデバイス801は、それらのNCIメッセージを、ステップS912乃至ステップS914のように受信し、それらを合成してHCPメッセージデータ(data 1)を生成する。
意味のあるデータdata 1 = data 1-1 + data 1-2 + … + data 1-n
[一致の例]
例えば、HCPメッセージデータがNCIバッファサイズに一致する場合、メッセージは、図35のフローチャートに示されるように伝送される。つまり、1つのHCPパケットが1つのNCIメッセージに変換されて伝送される。
つまり、ステップS941、ステップS951、およびステップS961において、接続が確立されると、ステップS962においてUICC803から送信されたHCPパケット(data 1)は、ステップS952においてCLF802により受信され、変換されて、ステップS953において、NCIメッセージ(data 1)として、デバイスホスト801に伝送される。デバイスホスト801は、そのNCIメッセージを、ステップS942において受信する。
また、同様に、ステップS963においてUICC803から送信されたHCPパケット(data 2)は、ステップS954においてCLF802により受信され、変換されて、ステップS955において、NCIメッセージ(data 2)として、デバイスホスト801に伝送される。デバイスホスト801は、そのNCIメッセージを、ステップS943において受信する。
この場合、NCIメッセージ(data 1)およびNCIメッセージ(data 2)は、ともに意味のあるデータである。
[合成の例]
例えば、HCPメッセージデータがNCIバッファサイズより小さい場合、メッセージは、図36のフローチャートに示されるように伝送される。
つまり、ステップS971、ステップS981、およびステップS991において、接続が確立されると、ステップS992乃至ステップS994のように複数のHCPパケット(data 1-1乃至data 1-m)がUICC803から送信され、それらが、ステップS982乃至ステップS984のようにCLF802に受信される。それらのデータは、CLF802において変換されて、1つのNCIメッセージ(data 1)にまとめられ、ステップS985において、デバイスホスト801に伝送される。デバイスホスト801は、そのNCIメッセージを、ステップS972において受信する。
意味のあるデータdata 1 = data 1-1 + data 1-2 + … + data 1-m
なお、図36においては、意味のあるデータdata 1のデータサイズがNCIバッファサイズより小さい場合を例に説明したが、例えば、意味のあるデータdata 1のデータサイズがNCIバッファサイズより大きい場合、意味のあるデータdata 1は、複数のNCIメッセージとしてデバイスホスト801に送信される。この場合、CLF802は、NCIバッファサイズを超えるまでHCPメッセージデータを合成してから送信するようにしてもよいし、合成せずに1つのHCPメッセージデータを1つのNCIメッセージとして送信するようにしてもよい。また、例えば、HCPメッセージデータを、各分割HCPメッセージデータのサイズがNCIバッファサイズを超えないように等分するようにしてもよい。さらに、その他の分割方法であってもよい。
また、このような合成や送信は、HCPメッセージデータを受信する毎に行うようにしてもよいし、意味のあるデータを全て受信してから行うようにしてもよい。さらに、その他のタイミングに行われるようにしてもよい。
以上のように、CLF208は、多様な場合において、HCIフォーマットをNCIフォーマットに適切に変換することができる。これにより、UICC803は、メッセージの分割や合成が必要な場合であっても、既存のHCIインターフェイスを用いて、外部の装置と非接触近距離無線通信を行う場合と同様に、容易にデバイスホスト801にメッセージを送信することができる。
<4.第4の実施の形態>
[コンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図37に示されるようなコンピュータとして構成されるようにしてもよい。
図37において、コンピュータ900のCPU(Central Processing Unit)901は、ROM(Read Only Memory)902に記憶されているプログラム、または記憶部913からRAM(Random Access Memory)903にロードされたプログラムに従って各種の処理を実行する。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU901、ROM902、およびRAM903は、バス904を介して相互に接続されている。このバス904にはまた、入出力インタフェース910も接続されている。例えば、バス904は、物理的な1本または2本の線からなる。
入出力インタフェース910には、キーボード、マウスなどよりなる入力部911、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部912、ハードディスクなどより構成される記憶部913、モデムなどより構成される通信部914が接続されている。通信部914は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース910にはまた、必要に応じてドライブ915が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア921が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部913にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図37に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア921により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM902や、記憶部913に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
100 通信装置, 101 ターミナルホスト, 102 CLF, 103 UICC, 112 RF部, 113 制御部, 114 カードRFゲート, 115 レジストリ, 121 カードAPPゲート, 122 レジストリ, 123 UICC OS, 124 カードOS, 125 アプリケーション, 303 異常検出部, 304 終端メッセージ送信部, 305 イベント送信部, 424 終端メッセージ送信部, 512 RFフィールド更新部, 518 タイムアウト判定部, 641 ライン, 705 制御信号送信部, 725 制御信号受信部

Claims (20)

  1. 他の装置と近距離無線通信を行う通信手段と、
    前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段と
    を備え、
    前記通信手段は、
    前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記処理手段に送信し、
    前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する
    通信装置。
  2. 前記所定のサイズは、前記フォーマットにおけるデータサイズの上限値である
    請求項1に記載の通信装置。
  3. 前記フォーマットのパケットは、パケットヘッダと前記分割メッセージとにより構成される
    請求項1に記載の通信装置。
  4. 前記通信手段は、
    前記メッセージの最後の部分でない前記分割メッセージに、最後以外の分割メッセージであることを示す情報を含む前記パケットヘッダを付加し、
    前記メッセージの最後の部分の前記分割メッセージに、最後の分割メッセージであることを示す情報を含む前記パケットヘッダを付加する
    請求項3に記載の通信装置。
  5. 前記通信手段は、
    前記終端メッセージに、最後の分割メッセージであることを示す情報を含む前記パケットヘッダを付加する
    請求項4に記載の通信装置。
  6. 前記終端メッセージは、前記メッセージを終端する理由を示す情報を含む
    請求項1に記載の通信装置。
  7. 前記他のメッセージは、発生したイベントを通知するイベントメッセージである
    請求項1に記載の通信装置。
  8. 前記処理手段は、
    前記通信手段から送信される前記パケットを受信し、
    受信した前記パケットが前記分割メッセージを含む場合、受信した前記分割メッセージを受信済みの前記分割メッセージに合成し、
    受信した前記パケットが前記終端メッセージを含む場合、受信した前記終端メッセージを受信済みの前記分割メッセージに合成し、合成結果を1つの前記メッセージとして把握し、
    前記終端メッセージを受信後、前記他のメッセージを含む前記パケットを受信した場合、前記他のメッセージを前記メッセージと異なるメッセージとして把握する
    請求項1に記載の通信装置。
  9. 前記処理手段は、
    前記他の装置に送信するメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記通信手段に送信し、
    前記メッセージの送信中に、前記通信手段から他のメッセージを受信した場合、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記通信手段に送信する
    請求項1に記載の通信装置。
  10. 前記終端メッセージのパケットは、最後の分割メッセージであることを示す情報を含むパケットヘッダと空メッセージとにより構成される
    請求項1に記載の通信装置。
  11. コンピュータを、
    他の装置と近距離無線通信を行い、
    前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して処理手段に送信し、
    前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する
    通信手段と、
    前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段
    として機能させるためのプログラム。
  12. 他の装置と近距離無線通信を行う通信手段と、
    前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う処理手段と
    を備える通信装置の通信手段が、
    前記他の装置から受信したメッセージを所定のサイズ毎に分割し、得られた分割メッセージを順次所定のフォーマットでパケット化して前記処理手段に送信し、
    前記メッセージの送信中に、他のメッセージを送信する場合、前記他のメッセージの前に、前記メッセージを終端するメッセージである終端メッセージを前記フォーマットでパケット化して前記処理手段に送信する
    通信方法。
  13. 他の装置と近距離無線通信を行う通信手段と、
    所定の規格の第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、
    前記第1のインターフェイスと異なる規格の第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段
    を備え、
    前記通信手段は、
    前記第1の処理手段から前記第1のインターフェイスを介して、前記第2の処理手段へのメッセージである第1のメッセージを受信し、
    受信された前記第1のメッセージを前記第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマット前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、
    前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する
    通信装置。
  14. 前記通信手段は、
    前記第1の処理手段から前記第1のインターフェイスを介して受信された前記第1のメッセージのサイズと前記第2のインターフェイスのフォーマットにおけるデータの最大サイズとを比較し、
    前記第1のメッセージのサイズが前記最大サイズより大きい場合、前記最大サイズに応じて前記第1のメッセージを分割して前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された各分割メッセージを、1つずつ、前記第2のインターフェイスを介して前記第2の処理手段に送信し、
    前記第1のメッセージのサイズが前記最大サイズより小さい場合、前記最大サイズに応じて複数の前記第1のメッセージを合成して前記第2のインターフェイスのフォーマットに変換し、前記第2のインターフェイスのフォーマットに変換された複数の前記第1のメッセージを、一度に、前記第2のインターフェイスを介して前記第2の処理手段に送信する
    請求項13に記載の通信装置。
  15. 前記通信手段は、
    前記第1の処理手段から前記第1のインターフェイスを介して受信された前記第1のメッセージに付加されたフラグ情報に基づいて、前記第1のメッセージと同じ意味のあるデータから分割された後続のメッセージが存在するか否かを判定し、
    前記後続のメッセージが存在しないと判定された場合、複数の前記第1のメッセージの和のサイズが前記最大サイズより小さくても、更なる合成を終了して前記第2のインターフェイスのフォーマットに変換し、
    前記第2のインターフェイスのフォーマットに変換された複数の前記第1のメッセージを、一度に、前記第2のインターフェイスを介して前記第2の処理手段に送信する
    請求項14に記載の通信装置。
  16. 前記通信手段は、
    前記第2の処理手段から前記第2のインターフェイスを介して、前記第1の処理手段へのメッセージである第2のメッセージを受信し、
    受信された前記第2のメッセージを前記第1のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第2のメッセージのフォーマットを前記第2のインターフェイスのフォーマットから前記第1のインターフェイスのフォーマットに変換し、
    前記第1のインターフェイスのフォーマットに変換された前記第2のメッセージを、前記第1のインターフェイスを介して前記第1の処理手段に送信する
    請求項13に記載の通信装置。
  17. 前記通信手段は、
    前記第2の処理手段から前記第2のインターフェイスを介して受信された前記第2のメッセージのサイズと前記第1のインターフェイスのフォーマットにおけるデータの最大サイズとを比較し、
    前記第2のメッセージのサイズが前記最大サイズより大きい場合、前記最大サイズに応じて前記第2のメッセージを分割して前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された各分割メッセージを、1つずつ、前記第1のインターフェイスを介して前記第1の処理手段に送信し、
    前記第2のメッセージのサイズが前記最大サイズより小さい場合、前記最大サイズに応じて複数の前記第2のメッセージを合成して前記第1のインターフェイスのフォーマットに変換し、前記第1のインターフェイスのフォーマットに変換された複数の前記第2のメッセージを、一度に、前記第1のインターフェイスを介して前記第1の処理手段に送信する
    請求項16に記載の通信装置。
  18. 前記通信手段は、
    前記第2の処理手段から前記第2のインターフェイスを介して受信された前記第2のメッセージに付加されたフラグ情報に基づいて、前記第2のメッセージと同じ意味のあるデータから分割された後続のメッセージが存在するか否かを判定し、
    前記後続のメッセージが存在しないと判定された場合、複数の前記第2のメッセージの和のサイズが前記最大サイズより小さくても、更なる合成を終了して前記第1のインターフェイスのフォーマットに変換し、
    前記第1のインターフェイスのフォーマットに変換された複数の前記第2のメッセージを、一度に、前記第1のインターフェイスを介して前記第1の処理手段に送信する
    請求項17に記載の通信装置。
  19. コンピュータを、
    他の装置と近距離無線通信を行い、
    第1の処理手段から所定の規格の第1のインターフェイスを介して、第2の処理手段へのメッセージである第1のメッセージを受信し、
    受信された前記第1のメッセージを前記第1のインターフェイスと異なる規格の第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマットを前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、
    前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する
    通信手段と、
    前記第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、
    前記第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段
    として機能させるためのプログラム。
  20. 他の装置と近距離無線通信を行う通信手段と、
    所定の規格の第1のインターフェイスを介して前記通信手段と通信を行うことにより、前記通信手段による前記近距離無線通信を介して前記他の装置とメッセージの授受を行う第1の処理手段と、
    前記第1のインターフェイスと異なる規格の第2のインターフェイスを介して前記通信手段と通信を行う第2の処理手段と
    を備える通信装置の通信手段が、
    前記第1の処理手段から前記第1のインターフェイスを介して、前記第2の処理手段へのメッセージである第1のメッセージを受信し、
    受信された前記第1のメッセージを前記第2のインターフェイスのフォーマットにおけるデータの最大サイズに応じて分割若しくは合成し、前記第1のメッセージのフォーマットを前記第1のインターフェイスのフォーマットから前記第2のインターフェイスのフォーマットに変換し、
    前記第2のインターフェイスのフォーマットに変換された前記第1のメッセージを、前記第2のインターフェイスを介して前記第2の処理手段に送信する
    通信方法。
JP2010229899A 2009-11-20 2010-10-12 通信装置、プログラム、および通信方法 Active JP5782698B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2010229899A JP5782698B2 (ja) 2009-11-20 2010-10-12 通信装置、プログラム、および通信方法
US12/942,401 US9083679B2 (en) 2009-11-20 2010-11-09 Communication device, program, and communication method for accurately transmitting a message in a device
EP12159607.6A EP2469794B1 (en) 2009-11-20 2010-11-11 Conversion Communication Device, Program, and Communication Method
EP10190820A EP2326061B1 (en) 2009-11-20 2010-11-11 Communication device, program, and communication method including fragmenting of messages inside a device
CN201010543166XA CN102075305A (zh) 2009-11-20 2010-11-12 通信设备、程序及通信方法
US14/740,628 US9661479B2 (en) 2009-11-20 2015-06-16 Communication device, program, and communication method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009264880 2009-11-20
JP2009264880 2009-11-20
JP2010229899A JP5782698B2 (ja) 2009-11-20 2010-10-12 通信装置、プログラム、および通信方法

Publications (2)

Publication Number Publication Date
JP2011130414A JP2011130414A (ja) 2011-06-30
JP5782698B2 true JP5782698B2 (ja) 2015-09-24

Family

ID=43618619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010229899A Active JP5782698B2 (ja) 2009-11-20 2010-10-12 通信装置、プログラム、および通信方法

Country Status (4)

Country Link
US (2) US9083679B2 (ja)
EP (2) EP2326061B1 (ja)
JP (1) JP5782698B2 (ja)
CN (1) CN102075305A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101583093B1 (ko) * 2010-07-08 2016-01-07 주식회사 케이티 서로 다른 타입의 uicc 카드들을 지원하는 방법 및 이를 위한 단말
JP5633336B2 (ja) * 2010-11-29 2014-12-03 ソニー株式会社 通信装置および通信方法、通信制御装置および通信制御方法、並びにプログラム
JP2012243139A (ja) * 2011-05-20 2012-12-10 Fujitsu Ltd 無線通信装置及び通信制御プログラム
US9113284B2 (en) * 2011-08-26 2015-08-18 Qualcomm Incorporated Methods and apparatus for improving management of NFC logical connections
KR101875222B1 (ko) * 2011-09-20 2018-07-05 주식회사 케이티 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러
JP5911376B2 (ja) * 2012-05-30 2016-04-27 三菱電機株式会社 通信システム
JP5983073B2 (ja) 2012-06-15 2016-08-31 ソニー株式会社 情報処理装置および方法、並びにプログラム
US10592890B2 (en) 2014-09-03 2020-03-17 Intel Corporation Methods and arrangements to complete online transactions
US9319088B2 (en) * 2013-05-09 2016-04-19 Intel Corporation Radio communication devices and methods for controlling a radio communication device
CN105379171B (zh) * 2013-08-12 2019-01-04 英特尔公司 用于安全近场通信架构的方法、设备及系统
US10181117B2 (en) 2013-09-12 2019-01-15 Intel Corporation Methods and arrangements for a personal point of sale device
TWI538425B (zh) 2014-04-14 2016-06-11 微晶片科技公司 藍牙介面的資料傳輸系統及傳輸方法
US9634838B2 (en) * 2014-06-05 2017-04-25 International Business Machines Corporation Complex format-preserving encryption scheme
US20160127857A1 (en) * 2014-10-30 2016-05-05 Qualcomm Incorporated Enhanced interoperability between host card emulation and a secure element
WO2016163945A1 (en) * 2015-04-10 2016-10-13 Razer (Asia-Pacific) Pte. Ltd. Mobile radio communication devices, communication devices, methods for controlling a mobile radio communication device, and methods for controlling a communication device
JP6332356B2 (ja) * 2016-08-04 2018-05-30 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN115022972B (zh) * 2018-09-21 2023-04-07 华为技术有限公司 用户终端的能力信息传输方法和相关装置
FR3089382B1 (fr) * 2018-11-30 2020-11-27 St Microelectronics Rousset Traitement nfc rapide
WO2023050045A1 (zh) * 2021-09-28 2023-04-06 华为技术有限公司 数据传输方法、装置以及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226151A (ja) * 1986-10-15 1988-09-20 Fujitsu Ltd 多重パケット通信システム
AU6721096A (en) * 1995-08-14 1997-03-19 Ericsson Inc. Method and apparatus for modifying a standard internetwork protocol layer header
JPH11266314A (ja) * 1998-03-18 1999-09-28 Ricoh Co Ltd 音楽演奏システム
JP2000341399A (ja) * 1999-05-31 2000-12-08 Canon Inc 通信装置
DE69923981T2 (de) * 1999-12-06 2006-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Anordnung in einem Telekommunikationsnetz
US6643522B1 (en) * 2000-03-27 2003-11-04 Sharp Laboratories Of America, Inc. Method and apparatus providing simultaneous dual mode operations for radios in the shared spectrum
JP2002290459A (ja) * 2001-03-27 2002-10-04 Nec Corp パケット転送装置および方法
JP2002344455A (ja) * 2001-05-14 2002-11-29 Matsushita Electric Ind Co Ltd 通信装置、通信方法および記録媒体
US7298745B2 (en) * 2001-11-01 2007-11-20 Intel Corporation Method and apparatus to manage packet fragmentation with address translation
JP3914036B2 (ja) * 2001-11-19 2007-05-16 富士通株式会社 Pon通信の親機及び子機
US7298746B1 (en) * 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
JP2003289351A (ja) * 2002-03-28 2003-10-10 Matsushita Electric Ind Co Ltd 加入者認証カードリードライト装置および無線通信装置
JP3891145B2 (ja) * 2003-05-16 2007-03-14 ソニー株式会社 無線通信装置、無線通信方法及びプログラム
US20050014468A1 (en) * 2003-07-18 2005-01-20 Juha Salokannel Scalable bluetooth multi-mode radio module
JP4367349B2 (ja) * 2005-01-31 2009-11-18 ソニー株式会社 通信装置、通信方法、およびプログラム
EP1907976B1 (en) * 2005-07-25 2017-03-15 Nokia Technologies Oy Method and device for operating a multifunctional near-field communication device supporting several data formats
EP1946526A4 (en) * 2005-11-07 2009-12-09 Lg Electronics Inc NEAR FIELD COMMUNICATION HOST CONTROL INTERFACE
US20070106804A1 (en) * 2005-11-10 2007-05-10 Iona Technologies Inc. Method and system for using message stamps for efficient data exchange
JP2007288746A (ja) * 2006-04-20 2007-11-01 Ntt Docomo Inc 通信端末及びデータ送信方法
GB2444798B (en) 2006-12-15 2010-06-30 Innovision Res & Tech Plc Communications devices comprising near field RF communicators
JP2008219323A (ja) 2007-03-02 2008-09-18 Tietech Co Ltd パケット通信方法
EP1967990B1 (en) * 2007-03-06 2010-12-29 Vodafone Holding GmbH Adapter for a subscriber module of a mobile terminal
EP2034428B1 (en) * 2007-09-07 2017-12-13 Vodafone Holding GmbH NFC capable mobile communication device
JP5233289B2 (ja) * 2008-01-18 2013-07-10 ソニー株式会社 遠隔操作装置、電気機器及び通信システム
JP2009264880A (ja) 2008-04-24 2009-11-12 Equos Research Co Ltd ドライバモデル作成装置
US20090274099A1 (en) * 2008-05-02 2009-11-05 Qualcomm Incorporated Methods and apparatus for communicating transmitter information in a communication network
JP2010229899A (ja) 2009-03-27 2010-10-14 Keihin Corp 燃料遮断弁およびこれを用いたフィルタ装置

Also Published As

Publication number Publication date
US9661479B2 (en) 2017-05-23
EP2469794A3 (en) 2012-12-05
US20150281922A1 (en) 2015-10-01
EP2326061B1 (en) 2013-02-13
CN102075305A (zh) 2011-05-25
US9083679B2 (en) 2015-07-14
EP2326061A3 (en) 2011-09-14
EP2469794B1 (en) 2016-02-03
US20110124285A1 (en) 2011-05-26
EP2469794A2 (en) 2012-06-27
EP2326061A2 (en) 2011-05-25
JP2011130414A (ja) 2011-06-30

Similar Documents

Publication Publication Date Title
JP5782698B2 (ja) 通信装置、プログラム、および通信方法
JP4624110B2 (ja) 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法
EP1498822B1 (en) State migration in multiple NIC RDMA enabled devices
CN102045772B (zh) 一种数据传输方法及装置
US6185607B1 (en) Method for managing network data transfers with minimal host processor involvement
JP5321708B2 (ja) 移動式無線通信装置及びその接続状態の管理方法
AU2011370439A1 (en) Method and apparatus for rapid data distribution
JP5527045B2 (ja) 情報処理装置および方法、並びにプログラム
WO2010149576A1 (en) Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access, and network station set up to operate in the method as a transmitting or, respectively, receiving station
CN102938783A (zh) 一种Socket处理方法、装置和Web服务器
US9832279B2 (en) Station, target apparatus, initiator apparatus, communication system, and communication method
CN101005504B (zh) 网络协议栈隔离方法和系统
KR20050083861A (ko) 데이터 처리 시스템
JP5999461B2 (ja) インターネット・プロトコル・アドレスを取得するための方法、装置、およびシステム
US20150334047A1 (en) Initiator terminal, target terminal, method of interrupting access of initiator terminal, and method of interrupting access of target terminal
US20110280122A1 (en) Signaling processor and link switching method
JP2015528260A (ja) モバイルデバイス内で複数の候補アプリケーションのための通信接続を提供するための方法及びデバイス
JP2003169058A (ja) ローカルエリアネットワークにおける回線切替システム、サーバ及び端末装置
CN112019450A (zh) 设备间流式通信
CN102055602B (zh) 一种执行结果获取方法和装置及系统
JP3690303B2 (ja) 分散オブジェクト環境に適用される通信システムおよび通信プログラム
US20080214194A1 (en) Radio network controller and transport network control method for performing relocation
JPS5811146B2 (ja) ポ−リングエミュレ−タを用いた通信方式
TW201502841A (zh) 基於安全載體主動式命令的安全資訊交互系統、設備及方法
JPH05336123A (ja) ネットワーク管理パケット受信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150323

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150706

R151 Written notification of patent or utility model registration

Ref document number: 5782698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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