Nothing Special   »   [go: up one dir, main page]

JP4869259B2 - System and method for data communication allowing a slave device to become a network peer - Google Patents

System and method for data communication allowing a slave device to become a network peer Download PDF

Info

Publication number
JP4869259B2
JP4869259B2 JP2007555292A JP2007555292A JP4869259B2 JP 4869259 B2 JP4869259 B2 JP 4869259B2 JP 2007555292 A JP2007555292 A JP 2007555292A JP 2007555292 A JP2007555292 A JP 2007555292A JP 4869259 B2 JP4869259 B2 JP 4869259B2
Authority
JP
Japan
Prior art keywords
resource
peer
communication
constrained
network
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
JP2007555292A
Other languages
Japanese (ja)
Other versions
JP2008538458A (en
Inventor
ルー,ホンチヤン・カレン
モンゴメリー,マイケル・アンドリユウ
Original Assignee
ジエマルト・エス・アー
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 ジエマルト・エス・アー filed Critical ジエマルト・エス・アー
Publication of JP2008538458A publication Critical patent/JP2008538458A/en
Application granted granted Critical
Publication of JP4869259B2 publication Critical patent/JP4869259B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A system and method for peer-to-peer communication between a slave device and network resources wherein the slave device, for example, a smart card, communicates using a protocol designed to allow the smart card to communicate over a half-duplex serial communications link while appearing to applications and network nodes as being a full-fledged network node in a manner that conserves power so as to be suitable for deployment on small portable devices.

Description

本発明は、米国特許法第119条(35 U.S.C.119)に従って、2005年2月11日に出願した米国特許仮出願第60/652291号の優先権を主張する。この仮出願は、参照により全体が本明細書に組み込まれている。   The present invention claims priority from US Provisional Application No. 60 / 65,291, filed on Feb. 11, 2005, in accordance with 35 USC 119 (35 USC 119). This provisional application is incorporated herein by reference in its entirety.

本発明の譲受人に譲渡され、この参照により本明細書に組み込まれている、2004年5月19日に出願した「Secure Networking Using a Resource−Constrained Device」という名称の同時係属の米国出願第10/848738号において、半二重通信チャネルを使用して通信するリソース制約のあるデバイスと、ネットワークに接続されたリモートノード群との間で通信を提供するためのシステムおよび方法が、説明されている。本発明は、上記の明細書で説明される発明に改良をもたらす。   No. 10 of copending US application entitled “Secure Networking Using a Resource-Constrained Device” filed on May 19, 2004, assigned to the assignee of the present invention and incorporated herein by reference. No. 848738 describes a system and method for providing communication between resource-constrained devices that communicate using a half-duplex communication channel and remote nodes connected to a network. . The present invention provides improvements to the invention described in the above specification.

本発明の譲受人に譲渡され、参照により本明細書に組み込まれている、2005年9月23日に出願した「Communications of UICC in mobile devices using Internet Protocols」という名称の同時係属の米国特許出願第11/234577号において、移動デバイスにおけるUICCが、ネットワークピアとして動作することを可能にするシステムおよび方法が、説明されている。   A co-pending US patent application entitled “Communications of UICC in mobile devices using Internet Protocol” filed on September 23, 2005, assigned to the assignee of the present invention and incorporated herein by reference. In 11/234777, systems and methods are described that allow a UICC in a mobile device to operate as a network peer.

現在は米国特許第6157966号である、1998年6月29日に出願した米国特許出願第09/107033号の継続出願である、2000年11月30日に出願した「Smart Card Control of Terminal and Network Resources」という名称の同時係属の米国特許出願第09/727174号において、リソース制約のあるデバイスと、半二重通信チャネル上で通信しているが、それでも、リソース制約のあるデバイスが、ホストデバイスに対してピアとして動作することを可能にするホストデバイスとの間の非同期通信のためのシステムおよび方法が、説明されている。   “Smart Card Control of Terminal and Network” filed on Nov. 30, 2000, which is a continuation of U.S. Patent Application No. 09/107033, filed on June 29, 1998, currently US Pat. No. 6,157,966. In co-pending U.S. patent application Ser. No. 09/727174 entitled “Resources”, a resource-constrained device is communicating on a half-duplex communication channel, but the resource-constrained device is still A system and method for asynchronous communication with a host device that enables it to act as a peer with respect to it has been described.

本発明は、ネットワークベースの電子デバイスの動作に関し、より詳細には、従来はスレーブであるデバイスが、ネットワークピアとなることを可能にするためのシステムおよび方法に関する。   The present invention relates to the operation of network-based electronic devices, and more particularly to a system and method for allowing a device that is conventionally a slave to become a network peer.

新たな情報時代において、コンピューティングが、普及してきている。これまで、完全に「ダム」マシンであったクラスのマシンが、あるレベルの「インテリジェンス」を獲得している。この傾向が続くにつれ、それらのマシンにはまた、より高いレベルの期待もかけられている。例えば、前の世代のマシンが、全くコンピューティング能力を有することを期待されていなかったのに対して、後続の世代では、ある程度のコンピュータ化を得ている。この進化におけるさらなるステップは、マシンをネットワークに接続することである。しかし、しばしば、物理的サイズの制約のため、またはコンピューティング能力およびデータ格納がマシンの主な機能ではないため、計算能力およびメモリサイズは、非常に限られている可能性がある。それらの制約は、そのようなリソース制約のあるデバイスが、ネットワーク上の他のノードと対話する能力に、大きい影響を与える。   In a new information era, computing is becoming popular. Until now, machines of the class that were completely “dumb” machines have gained a certain level of “intelligence”. As this trend continues, the machines are also expected to a higher level. For example, previous generation machines were not expected to have any computing power, but subsequent generations have gained some degree of computerization. A further step in this evolution is to connect the machine to the network. However, often computing power and memory size can be very limited because of physical size constraints or because computing power and data storage are not the main functions of a machine. These constraints have a significant impact on the ability of such resource-constrained devices to interact with other nodes on the network.

そのようなリソース制約のあるデバイスの例が、スマートカードである。スマートカードは、単に、いくらかのメモリと、マイクロプロセッサとを有する集積回路を含むプラスチックカードである。通常、メモリは、6KバイトのRAMに限られる。スマートカードRAMは、今後数年間に、数キロバイト増加する可能性があるものと予期されている。しかし、メモリサイズが、引き続き、スマートカードアプリケーションの障害となる可能性が非常に高い。ほとんどのスマートカードは、8ビットマイクロプロセッサを有する。   An example of such a resource-constrained device is a smart card. A smart card is simply a plastic card that contains an integrated circuit with some memory and a microprocessor. Usually, the memory is limited to 6K bytes of RAM. Smart card RAM is expected to grow by several kilobytes over the next few years. However, the memory size is very likely to continue to be an obstacle for smart card applications. Most smart cards have an 8-bit microprocessor.

通信インフラストラクチャが、スマートカード、および同様のデバイスに別のリソース制約をもたらす。スマートカードは、最高速度のUSB通信を有さず、全二重シリアルインタフェースを欠いている。現行では、スマートカードは、半二重で動作するISO−7816インタフェースを使用する。   The communications infrastructure introduces another resource constraint for smart cards and similar devices. Smart cards do not have the highest speed USB communication and lack a full-duplex serial interface. Currently, smart cards use an ISO-7816 interface that operates in half duplex.

同様のリソース制限を有する他のデバイスが、存在する。それらのデバイスには、USBドングル(メリーランド州ベルキャンプ所在のセイフネット社によって販売されるiKeyデバイスなど)、またはSDカード、またはPCマザーボードに直接にはんだ付けされたセキュア集積回路チップが含まれる。   There are other devices that have similar resource limits. These devices include USB dongles (such as iKey devices sold by SafeNet, Inc., Bell Camp, Maryland), or SD cards, or secure integrated circuit chips that are soldered directly to a PC motherboard.

本明細書では、同様のリソース制限を共通に有するデバイス、例えば、64K未満に限られたRAMを、「リソース制約のあるデバイス」と呼ぶものとする。リソース制約のあるデバイスには、スマートカード、USBドングル、SDカード、およびPCマザーボードに直接に取り付けられたセキュア集積回路チップが含まれる。さらに、リソース制約のあるデバイスという用語には、以上に列挙したデバイスと同様のリソース制約を有する、他のあらゆるデバイスが含まれるものとする。明快にするため、本発明を、本明細書では、主にスマートカードの文脈で説明する。このことは、本発明の範囲または適用可能性を限定するものと解釈されてはならない。というのは、本発明は、他のリソース制約のあるデバイスにも同様に適用可能だからである。   In this specification, devices having similar resource limitations in common, for example, RAM limited to less than 64K, are referred to as “resource-constrained devices”. Resource constrained devices include smart cards, USB dongles, SD cards, and secure integrated circuit chips attached directly to a PC motherboard. Furthermore, the term resource constrained device shall include any other device having resource constraints similar to those listed above. For clarity, the present invention is described herein primarily in the context of smart cards. This should not be construed as limiting the scope or applicability of the present invention. This is because the present invention is applicable to other resource-constrained devices as well.

スマートカードは、スマートカードリーダ、またはセル電話機、またはその他のデバイスを有するコンピュータであることが可能な端末装置またはホストで使用されてきた。スマートカードが、コンピュータに接続された場合、ホストアプリケーションは、標準の主流のネットワークインタフェースを使用して、スマートカードと通信することができない。スマートカードリーダデバイスドライバおよびミドルウェアアプリケーションの形態の特定のハードウェアおよびソフトウェアが、カードサービスにアクセスするのに必要とされる。   Smart cards have been used in terminal devices or hosts, which can be smart card readers or computers with cell phones or other devices. When a smart card is connected to a computer, the host application cannot communicate with the smart card using a standard mainstream network interface. Specific hardware and software in the form of smart card reader device drivers and middleware applications are required to access card services.

「Secure Networking Using a Resource Constraint Device」という名称の同時係属の、本発明の譲受人に譲渡された特許出願第10/848738号が、半二重シリアルコマンド/応答通信プロトコルを使用するスマートカード、およびその他のリソース制約のあるデバイスが、全二重ピアツーピア通信を扱うことができるようにする、ピアI/Oと呼ばれる新たなプロトコルを説明している(以降、「738」出願)。このため、ピアI/Oを導入するそのようなデバイスは、ネットワークピアとしてネットワークに加わることができる。   Patent application Ser. No. 10/848738, assigned to the assignee of the present invention, entitled “Secure Networking a Resource Constraint Device”, uses a half-duplex serial command / response communication protocol, and Describes a new protocol called Peer I / O that allows other resource-constrained devices to handle full-duplex peer-to-peer communications (hereinafter “738” application). Thus, such devices that introduce peer I / O can join the network as network peers.

半二重シリアルコマンド/応答通信プロトコルを使用して通信するデバイスが、非同期の全二重ピアツーピア通信を扱うことができるようにするように、一般に適用可能なシステムおよび方法を得ることが、有用であろう。   It would be useful to have a generally applicable system and method to allow devices communicating using a half-duplex serial command / response communication protocol to handle asynchronous full-duplex peer-to-peer communication. I will.

この先もおそらく続く、電子通信デバイスをポータブルで、小型で、無線にするという現在の傾向が、存在する。この傾向からもたらされる1つの課題は、無線であることにより、デバイスが、独自の電源、通常、バッテリを所持しなければならないことである。そのバッテリは、デバイスが、有線の電源に再び接続されるまで、漸減するリソースであるため、利用可能な電力の持続時間、つまり、簡単には、バッテリ寿命が、大きな問題である。ポータブルデバイスの売れる要因は、デバイスのサイズである。もちろん、デバイスが小さいほど、バッテリは小さく、したがって、バッテリ寿命が、より短い。   There is a current trend to make electronic communication devices portable, compact, and wireless that will probably continue. One challenge arising from this trend is that by being wireless, the device must have its own power source, usually a battery. Since the battery is a resource that tapers until the device is reconnected to a wired power source, the duration of available power, or simply battery life, is a major issue. The selling factor for portable devices is the size of the device. Of course, the smaller the device, the smaller the battery and thus the shorter the battery life.

1つの非常に一般的な、リソース制約のあるデバイスが、移動電話機のためのSIMモジュールである。ここ数年の間、移動電話機は、多くの新たな特徴および機能を与えられてきた。「Communications of UICC in mobile devices using Internet Protocols」という名称の同時係属の、本発明の譲受人に譲渡された特許出願第11/234577号は、SIMカードが、例えば、SIMカード上でWebサーバを実行することにより、ネットワークピアとして動作することができる応用先を説明している。電力消費、および電力消費に関連する結果であるバッテリ寿命は、移動電話機の文脈において非常に重要である。したがって、半二重シリアルコマンド/応答を使用して通信する電子デバイスが、電力を節約し、それにより、移動デバイスのバッテリ寿命を延ばしながら、非同期の全二重ピアツーピア通信を扱うことを可能にするためのシステムおよび方法を有することが、望ましい。   One very common, resource-constrained device is the SIM module for mobile phones. Over the last few years, mobile phones have been given many new features and functions. Patent application 11 / 234,77, assigned to the assignee of the present invention, entitled "Communications of UICC in mobile devices using Internet Protocols", is a SIM card running a web server on a SIM card, for example. By doing so, application destinations that can operate as network peers are described. Power consumption, and battery life, the consequences associated with power consumption, are very important in the context of mobile phones. Thus, electronic devices that communicate using half-duplex serial commands / responses can handle asynchronous full-duplex peer-to-peer communications while conserving power and thereby extending the battery life of mobile devices. It would be desirable to have a system and method for

以上のことから、半二重シリアルコマンド/応答通信リンクを使用して通信するネットワーク接続されたリソース制約のあるデバイスによる全二重ピアツーピア通信を、そのリソース制約のあるデバイスによって、そのリソース制約のあるデバイスが接続された移動デバイスに課せられる電力消費を節約しながら、可能にする、改良されたシステムおよび方法の必要性が、依然として存在することが、明白であろう。   From the above, full-duplex peer-to-peer communication by a network-connected resource-constrained device that communicates using a half-duplex serial command / response communication link is performed by the resource-constrained device. It will be apparent that there is still a need for improved systems and methods that allow for the power consumption imposed on mobile devices to which the device is connected.

好ましい実施形態では、本発明は、スレーブデバイス、例えば、スマートカードが、小型ポータブルデバイス上に導入するのに適しているように電力を節約する形で、アプリケーション群およびネットワークノード群には、本格的なネットワークノードであるように見えながら、スマートカードが半二重シリアル通信リンクを介して通信することを可能にするように設計されたプロトコルを使用して通信する、スレーブデバイスとネットワークリソースの間のピアツーピア通信のためのシステムおよび方法を提供する。   In a preferred embodiment, the present invention provides a full-fledged application and network node set in a manner that saves power so that slave devices, eg, smart cards, are suitable for deployment on small portable devices. Between a slave device and a network resource that communicate using a protocol designed to allow smart cards to communicate over a half-duplex serial communication link while appearing to be a secure network node Systems and methods for peer-to-peer communication are provided.

本発明の他の態様および利点は、本発明の諸原理を例として示す、添付の図面と併せて解釈される、以下の詳細な説明から明白となろう。   Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.

以下の詳細な説明では、本発明が実施されることが可能な特定の諸実施形態を例として示す、添付の図面を参照する。それらの実施形態は、当業者が、本発明を実施できるようにするだけ十分に詳細に説明される。本発明の様々な実施形態は、異なるものの、必ずしも互いに排他的ではないことを理解されたい。例えば、一実施形態に関連して本明細書で説明される、ある特定の特徴、構造、または特性は、本発明の趣旨および範囲を逸脱することなく、他の諸実施形態の範囲内で実施されてもよい。さらに、開示される各実施形態の範囲内の個々の要素の位置または構成は、本発明の趣旨および範囲を逸脱することなく、変更されることが可能であることを理解されたい。したがって、以下の詳細な説明は、限定する意味で解釈されるべきではなく、本発明の範囲は、適切に解釈された、添付の特許請求の範囲、ならびに特許請求の範囲に認められる均等物の完全な範囲だけによって定義される。図面では、同様の符号は、いくつかの図のすべてで同一の機能、または同様の機能を参照する。   In the following detailed description, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the invention are different but not necessarily mutually exclusive. For example, certain features, structures, or characteristics described herein in connection with one embodiment may be practiced within the scope of other embodiments without departing from the spirit and scope of the invention. May be. Further, it is to be understood that the position or configuration of individual elements within the scope of each disclosed embodiment can be changed without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims as well as the equivalents found in the claims as appropriate Defined only by full range. In the drawings, like numerals refer to the same or similar functionality in all of the several views.

例示の目的で図面に示されるとおり、本発明は、電力消費を最小限に抑えながら、ネットワーク対応型電子デバイスにピアツーピア通信をもたらす能力を備えた、ネットワーク対応型電子デバイス、例えば、ネットワークスマートカードにおいて実施される。   As shown in the drawings for purposes of illustration, the present invention is in a network-enabled electronic device, eg, a network smart card, with the ability to provide peer-to-peer communication to a network-enabled electronic device while minimizing power consumption. To be implemented.

図1は、本発明によるネットワーク接続された電子デバイスが導入されることが可能な動作環境を示す概略図である。   FIG. 1 is a schematic diagram illustrating an operating environment in which a networked electronic device according to the present invention can be installed.

一例では、ネットワーク対応型電子デバイス101は、ハンドセット103に実装されたネットワークスマートカードである。ハンドセット103は、キーボード105、ディスプレイ107、マイク109、およびスピーカ111などの移動電話機の通常の装備品を有する移動電話機であることが可能である。代替の諸実施形態では、ハンドセット103は、SIMカードを使用する、パーソナルデジタルアシスタント、または他の任意の移動デバイスであることが可能である。また、ハンドセット103は、中央処理装置とメモリとを含む電子回路(図示せず)も含む。さらに、Web対応型電話機、スマートホン、PDA、ハンドヘルドPC、およびタブレットPCなどの、様々なスマート移動デバイスが、利用可能である。スマートホンおよびPDAの多くは、セル電話機機能とPDA機能を併せ持つ。スマート移動デバイス向けの普及したオペレーティングシステムには、Symbian(登録商標)、Palm(登録商標) OS、およびMicrosoft(登録商標) Smartphoneが含まれる。本明細書で説明される本発明は、そのようなデバイスが、ネットワークスマートカード101であるSIMデバイスを有する場合、そのようなデバイスに適用可能である。   In one example, the network compatible electronic device 101 is a network smart card implemented in the handset 103. The handset 103 can be a mobile phone having normal mobile phone equipment such as a keyboard 105, a display 107, a microphone 109, and a speaker 111. In alternative embodiments, the handset 103 can be a personal digital assistant, or any other mobile device that uses a SIM card. The handset 103 also includes an electronic circuit (not shown) that includes a central processing unit and a memory. In addition, various smart mobile devices are available, such as web-enabled phones, smart phones, PDAs, handheld PCs, and tablet PCs. Many smart phones and PDAs have both a cell phone function and a PDA function. Popular operating systems for smart mobile devices include Symbian (R), Palm (R) OS, and Microsoft (R) Smartphone. The invention described herein is applicable to such a device if it has a SIM device that is a network smart card 101.

電子回路は、無線電話アンテナ119への無線リンクを介して、無線ネットワーク117との通信機能をハンドセット103にもたらす。また、マイクロプロセッサは、ハンドセット103の動作を管理することや、無線ネットワーク117と通信するのに使用される通信プロトコルを管理することなどの、ハンドセット103の制御機能のいくらかを提供する。ネットワークスマートカード101は、ネットワークスマートカード101とハンドセット193の間の通信を可能にするように、電子回路に接続される。   The electronic circuitry provides the handset 103 with a communication function with the wireless network 117 via a wireless link to the wireless telephone antenna 119. The microprocessor also provides some of the control functions of the handset 103, such as managing the operation of the handset 103 and managing the communication protocol used to communicate with the wireless network 117. The network smart card 101 is connected to an electronic circuit so as to allow communication between the network smart card 101 and the handset 193.

無線ネットワーク117は、他の局への、例えば、他の移動局または地上ベースの電話システムへの接続を提供するための複雑な通信インフラストラクチャから成る。1つのそのような局が、インターネット125への無線ネットワーク117アクセスを与える、インターネットゲートウェイ121であることが可能である。一般に知られているとおり、非常に多くのコンピュータが、インターネットを介して接続されている。本明細書で提示されるシナリオでは、ハンドセットの、例えば、移動電話機またはPDAのユーザは、図1に示されるインフラストラクチャを使用して、インターネット125に接続されたハンドセット103または他の何らかのコンピュータを介して、ネットワークスマートカード101と通信する。この通信の何らかの態様は、例えば、ネットワークスマートカード101上に格納されたいくらかの情報をリモートエンティティ127に通信する目的で、ネットワークスマートカード101とリモートエンティティ127の間で直接の通信を使用する。   The wireless network 117 consists of a complex communication infrastructure for providing connections to other stations, for example to other mobile stations or ground-based telephone systems. One such station can be an Internet gateway 121 that provides wireless network 117 access to the Internet 125. As is generally known, a large number of computers are connected via the Internet. In the scenario presented herein, a user of a handset, eg, a mobile phone or PDA, uses a handset 103 or some other computer connected to the Internet 125 using the infrastructure shown in FIG. To communicate with the network smart card 101. Some aspect of this communication uses direct communication between the network smart card 101 and the remote entity 127 for the purpose of communicating some information stored on the network smart card 101 to the remote entity 127, for example.

ネットワーク接続された電子デバイス101’の別の例が、クレジットカードフォームファクタを有し、ホストコンピュータ103’を介してインターネット125に接続されたネットワークスマートカードである。   Another example of a networked electronic device 101 'is a network smart card that has a credit card form factor and is connected to the Internet 125 via a host computer 103'.

ネットワークスマートカード101または101’は、自律型インターネットノードとして動作することができるスマートカードである。ネットワークスマートカードは、参照により開示の全体が本明細書に組み込まれている、2004年5月19日に出願した同時係属の特許出願第10/848738号、「SECURE NETWORKING USING A RESOURCE−CONSTRAINED DEVICE」において説明されている。ネットワークスマートカード101は、カードに組み込まれたインターネットプロトコル(TCP/IP)およびセキュリティプロトコル(SSL/TLS)を実施し、本明細書の後段で説明する、他の通信プロトコルを実施することもできる。ネットワークスマートカード101は、他のインターネットノードに対して、セキュリティで保護されたインターネット接続を確立し、維持することができる。ネットワークスマートカード101は、インターネット通信を可能にするのに、ホスト上のプロキシに依存しない。さらに、ネットワークスマートカード101は、ローカルまたはリモートのインターネットクライアントまたはインターネットサーバが、スマートカードと通信するために変更されることを要求しない。   The network smart card 101 or 101 'is a smart card that can operate as an autonomous Internet node. A network smart card is a co-pending patent application 10/848738 filed May 19, 2004, “SECURE NETWORKING USING A RESOURCE-CONSTRAINED DEVICE,” filed May 19, 2004, the entire disclosure of which is incorporated herein by reference. Described in. The network smart card 101 implements the Internet protocol (TCP / IP) and security protocol (SSL / TLS) embedded in the card and can implement other communication protocols described later in this specification. The network smart card 101 can establish and maintain a secure internet connection to other internet nodes. The network smart card 101 does not rely on a proxy on the host to enable Internet communication. Furthermore, the network smart card 101 does not require a local or remote internet client or internet server to be modified to communicate with the smart card.

また、本発明は、他のネットワーク対応型のリソース制約のあるデバイスを含めた、他のデバイスにおける使用にも適用可能であり、用途において、リソース制約のあるデバイスに必ずしも限定されない。例えば、本発明によるネットワーク対応型電子デバイスは、コンピュータ101’’であることが可能である。本明細書で、ネットワーク対応型デバイスという用語は、ネットワークを介して他の電子デバイスに接続され、そのような他のデバイスと電子的に通信することができる任意の電子デバイスを指す。同様に、符号101も、いずれか1つのそのようなデバイスを具体的に指すのではなく、任意のそのようなデバイスを指すのに使用される。   The present invention is also applicable to use in other devices, including other network-capable resource-constrained devices, and is not necessarily limited to resource-constrained devices in use. For example, a network-enabled electronic device according to the present invention can be a computer 101 ″. As used herein, the term network-enabled device refers to any electronic device that is connected to and can electronically communicate with other electronic devices over a network. Similarly, reference numeral 101 is used to refer to any such device, rather than specifically to any one such device.

ネットワーク接続された電子デバイスは、ネットワークスマートカード、例えば、スマートカード101’であることが可能である。参照により開示の全体が本明細書に組み込まれている、2004年5月19日に出願した同時係属の特許出願第10/848738号、「SECURE NETWORKING USING A RESOURCE−CONSTRAINED DEVICE」において説明されているネットワークスマートカードは、ネットワーク通信のために使用される通信プロトコルスタックを実施することにより、従来のスマートカードの機能と、自律型ネットワークノードとして動作する能力とを併せ持つ。ネットワーク接続された電子デバイス101が、ホストコンピュータ103’を介してネットワークに接続した場合、ホストコンピュータ103’は、例えばリフレクタとして、または何らかのマルウェアがインストールされていることにより、攻撃コンピュータとなることがある。   The networked electronic device can be a network smart card, eg, smart card 101 '. As described in copending patent application Ser. No. 10/848738, filed May 19, 2004, “SECURE NETWORKING USING A RESOURCE-CONSTRAINED DEVICE,” filed May 19, 2004, the entire disclosure of which is incorporated herein by reference. A network smart card combines the functions of a conventional smart card and the ability to operate as an autonomous network node by implementing a communication protocol stack used for network communication. When the electronic device 101 connected to the network is connected to the network via the host computer 103 ′, the host computer 103 ′ may become an attack computer, for example, as a reflector or when some malware is installed. .

図2は、本発明と併せて使用されることが可能な、ネットワーク接続された電子デバイス101のハードウェアの例示的なアーキテクチャの概略図である。図2の例による、ネットワーク接続された電子デバイス101は、中央処理装置203と、ROM(読み取り専用メモリ)205と、RAM(ランダムアクセスメモリ)207と、NVM(不揮発性メモリ)209と、入力を受け取り、ネットワーク接続された電子デバイス101が接続されているコンピュータネットワーク、例えば、インターネットに、直接に、またはホストコンピュータ103’のような中間デバイスを介して、出力を送出するための通信インタフェース211とを有する。以上の様々な構成要素は、例えば、バス213で互いに接続される。本発明の一実施形態では、通信モジュール321(以下で図3において紹介され、図3および本明細書における他の図に関連して、本明細書の後段で説明される)、および本明細書の後段で説明される他のソフトウェアモジュール群が、リソース制約のあるデバイス101上でROM205の中に格納される。代替の諸実施形態では、ROM205の中に格納されたソフトウェアモジュール群は、フラッシュメモリまたは他のタイプの不揮発性メモリの中に格納される。例示の目的で、本発明を、ROMの例を使用して説明する。しかし、そのことは、本発明の範囲の限定と解釈されるべきではなく、ROMが使用される場合はいつでも、フラッシュメモリおよび他のタイプの不揮発性メモリが、代替として代用されることが可能である。   FIG. 2 is a schematic diagram of an exemplary architecture of the hardware of a networked electronic device 101 that can be used in conjunction with the present invention. 2, the network-connected electronic device 101 has a central processing unit 203, a ROM (read only memory) 205, a RAM (random access memory) 207, an NVM (nonvolatile memory) 209, and inputs. A communication interface 211 for receiving and sending output directly to a computer network to which the networked electronic device 101 is connected, eg, the Internet, or via an intermediate device such as the host computer 103 ′; Have. The various components described above are connected to each other by a bus 213, for example. In one embodiment of the invention, a communication module 321 (introduced in FIG. 3 below and described later in connection with FIG. 3 and other figures herein), and Another software module group described later is stored in the ROM 205 on the resource-constrained device 101. In alternative embodiments, software modules stored in ROM 205 are stored in flash memory or other types of non-volatile memory. For illustrative purposes, the present invention will be described using a ROM example. However, it should not be construed as a limitation on the scope of the present invention, and flash memory and other types of non-volatile memory can be substituted instead whenever a ROM is used. is there.

また、ROM205は、何らかのタイプのオペレーティングシステム、例えば、Java(登録商標)仮想マシンも含む。代替方法として、通信モジュール321は、オペレーティングシステムの一部である。動作中、CPU203は、ROM205またはNVM209の中に格納された様々なソフトウェアモジュールにおける命令に従って動作する。   The ROM 205 also includes some type of operating system, such as a Java virtual machine. As an alternative, the communication module 321 is part of the operating system. During operation, the CPU 203 operates in accordance with instructions in various software modules stored in the ROM 205 or NVM 209.

このため、本発明によれば、CPU203は、通信モジュール321における命令に従って動作して、本明細書の後段で説明される通信モジュール321の様々な動作を実行する。   For this reason, according to the present invention, the CPU 203 operates according to instructions in the communication module 321 and executes various operations of the communication module 321 described later in this specification.

図3は、リソース制約のあるデバイス301およびホストコンピュータ303に関するソフトウェアアーキテクチャの概略図である。図1および図2の文脈において、リソース制約のあるデバイス301は、SIMカード101またはネットワークスマートカード101’であることが可能であり、ハンドセット303は、ハンドセット103またはホストコンピュータ103’であることが可能である。   FIG. 3 is a schematic diagram of the software architecture for the resource-constrained device 301 and host computer 303. In the context of FIGS. 1 and 2, the resource-constrained device 301 can be a SIM card 101 or a network smart card 101 ′, and the handset 303 can be a handset 103 or a host computer 103 ′. It is.

ホストコンピュータ303には、いくつかのネットワークアプリケーション305a、305b、および305cがロードされている。(以下に留意されたい。すなわち、ハンドセット103のケースでは、ハンドセット物理アーキテクチャは、コンピュータのアーキテクチャとほぼ同様である。このため、ハンドセット103は、メモリとプロセッサとを有する。メモリは、RAM、ROM、EEPROMなどから成ることが可能である。メモリは、プロセッサの挙動を制御するソフトウェアモジュール群を含む。このため、ホストコンピュータ303の一部として図3に示される様々なソフトウェアモジュールは、通常、移動デバイスの何らかの不揮発性メモリの中に格納され、実行される間、RAMにロードされる。RAMから、ソフトウェアモジュール命令は、プロセッサの挙動を制御し、移動デバイスに、いくつかの事をさせる、例えば、ネットワーク接続を確立させる。)そのようなアプリケーションの例には、Webブラウザ、およびネットワークコンタクトリストアプリケーションが含まれる。Webブラウザのケースでは、アプリケーション305aは、リソース制約のあるデバイス301にアクセスするのに、または、より正確には、リソース制約のあるデバイス301上で実行されるWebサーバ、例えば、SIMカードネットワークアプリケーション307aと通信するのに使用されることが可能である。   The host computer 303 is loaded with several network applications 305a, 305b, and 305c. (Note that, in the case of the handset 103, the handset physical architecture is substantially similar to the architecture of the computer. For this reason, the handset 103 has a memory and a processor. The memory can be RAM, ROM, The memory can include a group of software modules that control the behavior of the processor, etc. Thus, the various software modules shown in FIG. Stored in some non-volatile memory and loaded into RAM while executing, from which software module instructions control the behavior of the processor and cause the mobile device to do a number of things, for example Established network connection That.) Examples of such applications include Web browsers, and network contact list application. In the case of a web browser, the application 305a accesses the resource-constrained device 301 or, more precisely, a web server that runs on the resource-constrained device 301, eg, a SIM card network application 307a. Can be used to communicate with.

ホストコンピュータ303とリソース制約のあるデバイス301は、いくつかのレイヤの通信プロトコルを介して通信する。一実施形態では、それらのレイヤは、いくつかの通信ソフトウェアモジュール、例えば、ホストコンピュータ303上のTCP/IPレベルで通信を扱うためのTCP/IPモジュール317、ならびにリソース制約のあるデバイス301上の対応するTCP/IPモジュール327と、PPPレベルで通信を扱うためのPPPモジュール318および329と、ピアI/Oプロトコルに従って通信するための、ホストコンピュータ303上のI/Oサーバモジュール315、ならびにリソース制約のあるデバイス301上の対応するピアI/Oクライアントモジュール325とによって代表されることが可能である。ピアI/Oクライアントモジュール325およびピアI/Oサーバモジュール315の動作は、本明細書の後段でより詳細に説明する。   The host computer 303 and the resource-constrained device 301 communicate via several layers of communication protocols. In one embodiment, the layers include several communication software modules, eg, a TCP / IP module 317 for handling communication at the TCP / IP level on the host computer 303, as well as a correspondence on the resource-constrained device 301. An I / O server module 315 on the host computer 303 for communicating with a TCP / IP module 327, a PPP module 318 and 329 for handling communication at the PPP level, and a peer I / O protocol, and resource constraints It can be represented by a corresponding peer I / O client module 325 on a device 301. The operations of the peer I / O client module 325 and the peer I / O server module 315 are described in more detail later in this document.

また、リソース制約のあるデバイス301とホストコンピュータ303は、ハードウェアレイヤとして、例えば、USB接続または無線接続を介しても接続され、それに応じて、ハードウェアレベル通信を管理するためのハードウェア通信モジュール318および319を有する。   Also, the resource-constrained device 301 and the host computer 303 are connected as a hardware layer, for example, via USB connection or wireless connection, and a hardware communication module for managing hardware level communication accordingly 318 and 319.

ホストコンピュータ303は、外部データネットワークとの通信を確立することができ、いくつかのアプリケーション305a〜cをサポートすることができる。ホストコンピュータ上のアプリケーションプログラムは、通信モジュール311を使用して、ネットワーク外部への接続を確立し、リソース制約のあるデバイス301上のアプリケーション307a〜cと通信する。   The host computer 303 can establish communication with an external data network and can support several applications 305a-c. The application program on the host computer uses the communication module 311 to establish a connection to the outside of the network and communicate with the applications 307a-c on the resource-constrained device 301.

ホストコンピュータ303を介する、リソース制約のあるデバイス301とネットワークの間の通信は、参照により本明細書に組み込まれている、2004年5月19日に出願した「SECURE NETWORKING USING A RESOURCE−CONSTRAINED DEVICE」という名称の、前段で引用した同時係属の特許出願第10/848738号において、より詳細に説明されている。仮想シリアルポート313は、ハンドセット303のオペレーティングシステムによって定義されるシリアルポートインタフェースを実施する。ネットワークSIMカード(ネットワークUICCカードとしても知られる)間の通信は、参照により本明細書に組み込まれている、2005年9月23日に出願した同時係属の特許出願第11/234577号「COMMUNICATIONS OF UICC IN MOBILE DEVICES USING INTERNET PROTOCOLS」において、より詳細に説明されている。   Communication between the resource-constrained device 301 and the network via the host computer 303 is “SECURE NETWORKING USING A RESOURCE-CONSTRATED DEVICE” filed May 19, 2004, which is incorporated herein by reference. Is described in more detail in co-pending patent application Ser. No. 10/848738, cited above. Virtual serial port 313 implements a serial port interface defined by the operating system of handset 303. Communication between network SIM cards (also known as network UICC cards) is described in co-pending patent application Ser. No. 11 / 234,777, “COMMUNICATIONS OF, filed Sep. 23, 2005, incorporated herein by reference. This is described in more detail in “UICC IN MOBILE DEVICES USING INTERNET PROTOCOLS”.

ピアI/Oインプリメンテーションは、ホスト303とデバイス301の両方の上に存在する。ホスト側で、ピアI/Oは、デバイス301とネットワーク117の間でメッセージを転送するサービスを提供する。本明細書では、このサービスモジュールを、ピアI/Oサーバ315と呼ぶ。デバイス301は、コマンド/応答モードで動作している低レベルの半二重シリアル通信プロトコル318より上位に位置し、かつPPP329のような全二重プロトコルより下位に位置するピアI/Oクライアント325を含む。そのような全二重通信は、通信チャネルの両方の終端が、いつでも、他方の終端との同期、またはタイミング調整なしで送信することができるので、非同期である。ピアI/Oプロトコルは、このプロトコルが伝送する、より高いレベルのプロトコルとは独立である。上位レイヤプロトコルから見て、ピアI/Oは、両方の方向で行き来するメッセージを伝送することができる。例えば、ピアI/Oを使用して、PPPフレーム、またはイーサネット(登録商標)フレーム、またはIPデータグラムを伝送することができる。つまり、リソース制約のあるデバイス301とホスト303の間のデータ通信が、半二重シリアルコマンド/応答リンクを介して実行されるということは、リソース制約のあるデバイス301上でも、ホスト303上でも、リソース制約のあるデバイス301と通信している可能性があるその他のネットワークノード上でも、より高いレベルのアプリケーションおよび通信プロトコルには、トランスペアレントである。   A peer I / O implementation exists on both the host 303 and the device 301. On the host side, peer I / O provides a service for transferring messages between device 301 and network 117. In this specification, this service module is referred to as a peer I / O server 315. Device 301 has a peer I / O client 325 located above a low-level half-duplex serial communication protocol 318 operating in command / response mode and below a full-duplex protocol such as PPP 329. Including. Such full-duplex communication is asynchronous because both ends of the communication channel can be transmitted at any time without synchronization or timing adjustment with the other end. The peer I / O protocol is independent of the higher level protocol it transmits. From the upper layer protocol perspective, peer I / O can transmit messages back and forth in both directions. For example, peer I / O can be used to transmit PPP frames, Ethernet frames, or IP datagrams. That is, data communication between the resource-constrained device 301 and the host 303 is performed via a half-duplex serial command / response link, both on the resource-constrained device 301 and on the host 303. Even on other network nodes that may be communicating with resource-constrained device 301, it is transparent to higher level applications and communication protocols.

ネットワーク上のコンピュータ(または単に「ネットワーク」と呼ぶ)がデバイスにメッセージを送信すると、ピアI/Oサーバ315が、そのメッセージを含むコマンド/応答通信プロトコルの1つまたは複数のコマンドをデバイス301に送信することにより、そのメッセージを転送する。デバイス301が、送信する必要がある場合にはいつでもメッセージをネットワーク117に送信することができるようにするために、ピアI/Oサーバ315は、デバイス301に定期的にポーリングする。デバイスがメッセージを有する場合、ピアI/Oサーバ315は、デバイスのメッセージを獲得してそのメッセージをネットワークに転送する、1つまたは複数のコマンドを発行する。デバイス301および303が、これらのデバイスを接続する半二重シリアルコマンド/応答リンクを介して通信を実行する動作は、ピアI/Oサーバ315およびピアI/Oクライアント325によって制御される。本発明の一実施形態では、この挙動は、リソース制約のあるデバイス301上、およびホストデバイス303上の有限状態マシンに従って実施される。ピアI/O有限状態マシンは、通信が、明示的な細分化−組み立て機構を使用することなしに、任意の長さの上位レベルメッセージを使用して実行されることを可能にする。   When a computer on the network (or simply referred to as a “network”) sends a message to the device, the peer I / O server 315 sends one or more commands of a command / response communication protocol containing the message to the device 301. To forward the message. The peer I / O server 315 periodically polls the device 301 to allow the device 301 to send a message to the network 117 whenever it needs to send it. If the device has a message, the peer I / O server 315 issues one or more commands that acquire the device's message and forward the message to the network. The operation of devices 301 and 303 performing communications over the half-duplex serial command / response link connecting these devices is controlled by peer I / O server 315 and peer I / O client 325. In one embodiment of the invention, this behavior is implemented according to a finite state machine on the resource-constrained device 301 and on the host device 303. The peer I / O finite state machine allows communication to be performed using any length of high-level message without using an explicit fragmentation-assembly mechanism.

(ピアI/Oプロトコルフォーマット)
ピアI/Oプロトコルは、3つのコマンド、Put Packet、Get Packet、およびPollを定義する。Put Packetコマンドは、ホストからデバイスにデータを送信する。Get Packetコマンドは、デバイスからホストにデータを獲得する。Pollコマンドは、デバイスが、送信すべきデータを有するかどうか、ホストがデバイスに確認するのに使用される。以上のコマンドの実施は、プロトコル依存である。実現可能な場合、Pollコマンドは、データなしのPut Packetコマンドとして実施されることが可能である。そのケースでは、ピアI/Oプロトコルは、2つのコマンド、Put PacketおよびGet Packetだけを要求する。
(Peer I / O protocol format)
The peer I / O protocol defines three commands: Put Packet, Get Packet, and Poll. The Put Packet command transmits data from the host to the device. The Get Packet command acquires data from the device to the host. The Poll command is used by the host to check with the device whether the device has data to send. The implementation of the above commands is protocol dependent. If feasible, the Poll command can be implemented as a Put Packet command without data. In that case, the peer I / O protocol requires only two commands, Put Packet and Get Packet.

ピアI/Oコマンドタイプは、基礎をなすプロトコルに依存して、1バイトで表される、または2ビットで表される、または1ビットで表されることさえ可能である。Put Packetコマンドは、通常、以下のフォーマットを有する。

Figure 0004869259
ただし、Lengthは、ホストからデバイスに送信されるべきデータの長さである。ホストからPut Packetコマンドを受信した後、デバイスは、データを獲得し、ステータスを戻す。 Peer I / O command types can be represented by 1 byte, or 2 bits, or even 1 bit, depending on the underlying protocol. The Put Packet command usually has the following format.
Figure 0004869259
Here, Length is the length of data to be transmitted from the host to the device. After receiving the Put Packet command from the host, the device acquires data and returns a status.

Get Packetコマンドは、通常、以下のフォーマットを有し、ただし、Lengthは、デバイスからホストに獲得されるべきデータの長さである。

Figure 0004869259
The Get Packet command typically has the following format, where Length is the length of data to be acquired from the device to the host.
Figure 0004869259

ホストからGet Packetコマンドを受信した後、デバイスは、要求される長さのデータをホストに送信し、次に、ステータスを送信する。   After receiving a Get Packet command from the host, the device sends the requested length of data to the host and then sends a status.

Pollコマンドは、通常、パラメータを要さない。ホストからPollコマンドを受信した後、デバイスは、ステータスを送信する。   The Poll command usually does not require parameters. After receiving the Poll command from the host, the device sends a status.

デバイスからホストに戻されるステータスは、以下を含め、いくつかの事を表すことが可能である。すなわち、
送信されるべき長さnのデータを有する。
送信されるべきデータが存在しない。
送信されるべきデータが存在せず、ポーリング間隔を設定する。ポーリング間隔は、無限であることが可能であり、これは、「ポーリングしないでください、私はデータを待っています」を意味する。
The status returned from the device to the host can represent several things, including: That is,
It has length n data to be transmitted.
There is no data to be sent.
There is no data to be sent and set the polling interval. The polling interval can be infinite, which means "Don't poll, I'm waiting for data".

基礎をなすプロトコルは、通常、データの長さをパケット内に制限する。例えば、何らかのプロトコルが、データを256バイトに制限する。ピアI/Oプロトコルは、基礎をなすプロトコルの制限を守る。ピアI/Oプロトコルは、必要に応じて、複数のプットコマンドおよびゲットコマンドを発行することにより、より大きいパケットを送受信することを可能にする。ピアI/Oプロトコルは、上位レイヤプロトコルが、ピアI/Oプロトコルのパケットの境界を知っているものと想定する。   Underlying protocols typically limit the length of data within a packet. For example, some protocol limits the data to 256 bytes. The peer I / O protocol observes the limitations of the underlying protocol. The peer I / O protocol allows larger packets to be sent and received by issuing multiple put and get commands as needed. The peer I / O protocol assumes that the upper layer protocol knows the boundaries of the peer I / O protocol packet.

(ピアI/Oプロトコルの動作)
このセクションは、ピアI/Oプロトコルのいくつかの通常の動作を説明する。ネットワークがデータをデバイスに送信する際、ピアI/Oサーバ315が、Put Packetコマンドをデバイスに発行する。

Figure 0004869259
(Operation of peer I / O protocol)
This section describes some normal operations of the peer I / O protocol. When the network sends data to the device, the peer I / O server 315 issues a Put Packet command to the device.
Figure 0004869259

デバイスは、データをネットワークに送信することを望む場合、機会を待たなければならない。ピアI/Oサーバ315は、デバイスに定期的にポーリングを行って、送信する機会をデバイスに与える。サーバは、POLLコマンドを発行する。

Figure 0004869259
If a device wants to send data to the network, it must wait for the opportunity. The peer I / O server 315 periodically polls the device and gives the device an opportunity to transmit. The server issues a POLL command.
Figure 0004869259

ピアI/Oサーバ315からコマンドを受信した後、デバイスが送信すべきデータを全く有さない場合、デバイスは、そのことを示すステータスを送信する。デバイスが、送信すべきデータを有する場合、デバイスは、「データを有する」ステータス、およびデバイスが送信しようとするデータの長さを送信する。   After receiving a command from the peer I / O server 315, if the device has no data to send, the device sends a status indicating that. If the device has data to send, the device sends a “has data” status and the length of the data that the device intends to send.

ピアI/Oサーバ315は、送信すべきデータをデバイスが有することを示すステータスを受信すると、Get Packetコマンドを発行する。

Figure 0004869259
When receiving a status indicating that the device has data to be transmitted, the peer I / O server 315 issues a Get Packet command.
Figure 0004869259

デバイスは、データを含む応答で応答する。

Figure 0004869259
The device responds with a response containing data.
Figure 0004869259

Statusが、送信されるべきさらなるデータを示す場合、ピアI/Oサーバ315は、別のGet Packetコマンドを発行することができる。   If the Status indicates additional data to be transmitted, the peer I / O server 315 can issue another Get Packet command.

(抑制されたポーリング)
ホストにおけるピアI/Oサーバ315は、デバイスに定期的にポーリングして、デバイスが、送信すべきデータを有するかどうかを調べる。このポーリングは、無限であることが可能なポーリング間隔によって抑制される。そのような抑制されたポーリングは、デバイス301が、ホスト303によって絶えずポーリングされた場合に生じることになる電力消費を抑える。
(Suppressed polling)
A peer I / O server 315 at the host periodically polls the device to see if it has data to send. This polling is suppressed by a polling interval that can be infinite. Such suppressed polling reduces the power consumption that will occur if the device 301 is constantly polled by the host 303.

ピアI/Oは、ポーリング間隔を指定することを可能にする新たなリターンステータスを定義する。デフォルトのポーリング間隔は、「可能な限り頻繁に」である。間隔は、秒数、分数、または時間数で指定されることが可能である。ピアI/Oサーバ315は、可能な限りポーリング間隔に近くポーリングを行う。また、ポーリング間隔は、無限であることも可能である。デバイスは、データを受信するのを待っている際、無限のポーリング間隔を指定することができる。そのケースでは、ピアI/Oサーバ315は、デバイスにポーリングを行わず、デバイス向けにデータが用意されている場合にだけ、デバイスに連絡する。例えば、デバイスが、Webサーバである場合、クライアント接続を待つ際、デバイスは、ポーリング間隔を無限に設定することができる。ピアI/Oへの、この新たな追加は、移動体の応用先に関して、例えば、ホストが、バッテリで駆動している小型の移動デバイスであり、デバイスが、ホストによって供給される電力を消費する場合に、非常に重要である。   Peer I / O defines a new return status that allows a polling interval to be specified. The default polling interval is “as often as possible”. The interval can be specified in seconds, minutes, or hours. The peer I / O server 315 performs polling as close to the polling interval as possible. Also, the polling interval can be infinite. When the device is waiting to receive data, it can specify an infinite polling interval. In that case, the peer I / O server 315 does not poll the device and contacts the device only if data is available for the device. For example, if the device is a web server, the device can set the polling interval to infinity when waiting for a client connection. This new addition to peer I / O is related to mobile applications, for example, the host is a small mobile device powered by a battery and the device consumes the power supplied by the host. In case it is very important.

例として、リターンステータスは、2つのオクテットで表現されることが可能である。最上位の4ビットは、「データを有する」または「データなし」を表す。「データを有する」ケースに関しては、残りのビットは、データの長さを表すことが可能である。「データなし」のケースに関しては、残りすべてのビットは、0であり、これは、デフォルトのポーリングであることが可能な「現在のポーリング間隔を使用する」を意味する。残りすべてのビットが1である場合、これは、「ポーリングを行わないでください」を意味する。それ以外の場合、次の2ビットは、秒、分、または時間などのポーリング間隔の単位を表す。残りの10ビットは、ポーリング間隔を表す。   As an example, the return status can be expressed in two octets. The most significant 4 bits represent “having data” or “no data”. For the “having data” case, the remaining bits can represent the length of the data. For the “no data” case, all remaining bits are 0, meaning “use current polling interval”, which can be the default poll. If all remaining bits are 1, this means "don't poll". Otherwise, the next two bits represent a unit of polling interval such as seconds, minutes or hours. The remaining 10 bits represent the polling interval.

例えば、以下の図は、データなしのケースに関するリターンステータスを示す。

Figure 0004869259
For example, the following figure shows the return status for a case with no data.
Figure 0004869259

以下の図は、データを有するケースに関するリターンステータスを示す。

Figure 0004869259
The following figure shows the return status for the case with data.
Figure 0004869259

ピアI/Oサーバ315およびピアI/Oクライアント325の動作は、2つの有限状態マシンによって、それぞれ、制御される。   The operations of peer I / O server 315 and peer I / O client 325 are controlled by two finite state machines, respectively.

図9は、ピアI/Oサーバ315の挙動を制御する有限状態マシン901の概略図である。   FIG. 9 is a schematic diagram of a finite state machine 901 that controls the behavior of the peer I / O server 315.

FSM(有限状態マシン)901は、以下の5つのステータスを有する。すなわち、
初期状態902、
ポーリング903、
クライアントから獲得する905、
クライアントにデータをプットする909、および
データがないかネットワークをチェックする907。
The FSM (Finite State Machine) 901 has the following five statuses. That is,
Initial state 902,
Polling 903,
905 acquired from the client,
Put data 909 on the client and check 907 for data.

以下の4つのイベントが存在する。すなわち、
クライアントからの4種類のリターンステータス、すなわち、
クライアントが、データを有する。(cd)
クライアントが、データを有さない、ポーリング間隔を変更しない。(cnd)
クライアントが、データを有さない、ポーリング間隔を変更する。(cnd+p)
クライアントが、データを有さない、ポーリングしない。(cnd+np)
ネットワークをチェックしたことの2つの結果。すなわち、
ネットワークが、データを有さない。(nnd)
ネットワークが、データを有する。(nd)
以下の4つのアクションが、存在する。すなわち、
クライアントからパケットを獲得する。
クライアントにパケットをプットする。
ネットワークからパケットを獲得する。
ネットワークにパケットをプットする。
There are four events: That is,
Four types of return status from clients, ie
The client has data. (Cd)
The client has no data and does not change the polling interval. (Cnd)
The client changes the polling interval without data. (Cnd + p)
The client has no data and does not poll. (Cnd + np)
Two results of checking the network. That is,
The network has no data. (Nnd)
The network has data. (Nd)
There are four actions: That is,
Get packet from client.
Put the packet on the client.
Get a packet from the network.
Put a packet on the network.

ピアI/Oサーバ315は、ピアI/Oクライアント325にポーリングすることから始める。そのポーリングに応答して、クライアント325は、クライアント325が、データ伝送を有するかどうか、およびピアI/Oクライアント325に再び伝送するのに先立って、ピアI/Oサーバ315が待つべきポーリング間隔を示すことができる。   Peer I / O server 315 begins by polling peer I / O client 325. In response to that polling, client 325 determines whether client 325 has data transmission and a polling interval that peer I / O server 315 should wait before retransmitting to peer I / O client 325. Can show.

ピアI/Oクライアント325が、ステータス(cd)を戻す場合はいつでも、遷移401であり、それは、クライアント325が、送信すべきデータを有することの指示である。その指示に応答して、ピアI/Oサーバ315は、クライアント325からデータを獲得し、データをネットワーク117に転送する。サーバ325は、Get_Packetアクションを発行することにより、クライアント315からデータを獲得することを続け(状態905)、クライアント315がステータスcdを戻す限り、ネットワークにデータを転送する(遷移403)。   Whenever the peer I / O client 325 returns a status (cd), it is a transition 401, which is an indication that the client 325 has data to send. In response to the instruction, the peer I / O server 315 acquires data from the client 325 and transfers the data to the network 117. The server 325 continues to acquire data from the client 315 by issuing a Get_Packet action (state 905), and transfers data to the network as long as the client 315 returns status cd (transition 403).

クライアントが、値cnd、または、受信する準備ができていることを戻すことにより、送信すべきデータを有さないことを示すステータスを戻すと、ピアI/Oサーバ315は、ネットワークを調べる(状態907への遷移407)。ネットワークが、データを有する場合、ピアI/Oサーバ315は、ネットワークからデータを獲得し、そのデータをクライアント325に転送する(状態909への遷移409)。ネットワークが、データを有さない場合(nnd)、ピアI/Oサーバ315は、ポーリング間隔設定に依存して、クライアント325にポーリングすることも、しないことも可能である。例えば、ポーリング間隔が、設定されており(pintv)、クライアント325への前回の伝送以来、経過した時間が、ポーリング間隔(timeout)に達している場合、ピアI/Oサーバ315は、クライアント325にポーリングを行い(状態903への遷移411)、さもなければ、すなわち、ポーリング間隔に達していない場合(timeout)、サーバ315は、「ネットワークをチェックする」状態907に留まる(遷移413)。   When the client returns a value cnd or a status indicating that it has no data to send by returning ready to receive, the peer I / O server 315 examines the network (state Transition to 907 407). If the network has data, peer I / O server 315 obtains data from the network and forwards the data to client 325 (transition 409 to state 909). If the network does not have data (nnd), the peer I / O server 315 may or may not poll the client 325 depending on the polling interval setting. For example, if the polling interval is set (pintv) and the time elapsed since the previous transmission to the client 325 has reached the polling interval (timeout), the peer I / O server 315 sends the client 325 Polling is performed (transition 411 to state 903), otherwise, if the polling interval has not been reached (timeout), the server 315 remains in the “check network” state 907 (transition 413).

図5は、ピアI/Oクライアント325の挙動を制御する有限状態マシン501の概略図である。   FIG. 5 is a schematic diagram of a finite state machine 501 that controls the behavior of the peer I / O client 325.

ピアI/Oクライアント状態マシンは、以下の4つの状態を有する。すなわち、
初期状態、状態503
上位レイヤ命令(読み取りまたは書き込み)待ち、状態505
書き込みレディ、ピアI/Oサーバ待ち、状態507
読み取りレディ、ピアI/Oサーバ待ち、状態509
以下の5つのイベントが、存在する。すなわち、
上位レイヤからの読み取り命令
上位レイヤからの書き込み命令
ピアI/Oサーバ315からのPollコマンド
ピアI/Oサーバ315からのPutコマンド
ピアI/Oサーバ315からのGetコマンド
以下の4つのアクションが、存在する。すなわち、
ステータス「クライアントが、データを有する」(cd)をピアI/Oサーバ315に送信する
ステータス「クライアントが、データを有さない」(cnd)をピアI/Oサーバ315に送信する
クライアントが、データを有さない、ポーリング間隔を変更しない。(cnd)
クライアントが、データを有さない、ポーリング間隔を変更する。(cnd+p)
クライアントが、データを有さない、ポーリングしない。(cnd+np)
ピアI/Oサーバ315からデータを獲得する
ピアI/Oサーバ315にデータを送信する。
The peer I / O client state machine has four states: That is,
Initial state, state 503
Wait for upper layer command (read or write), state 505
Write ready, waiting for peer I / O server, state 507
Read ready, waiting for peer I / O server, status 509
There are five events: That is,
Read command from upper layer Write command from upper layer Poll command from peer I / O server 315 Put command from peer I / O server 315 Get command from peer I / O server 315 The following four actions exist To do. That is,
The status “client has data” (cd) is sent to the peer I / O server 315. The status “client has no data” (cnd) is sent to the peer I / O server 315. Do not change the polling interval. (Cnd)
The client changes the polling interval without data. (Cnd + p)
The client has no data and does not poll. (Cnd + np)
Data is transmitted from the peer I / O server 315 to the peer I / O server 315 that acquires data.

デバイス301は、ピアI/Oクライアント325を動作させ、これは、初期状態503で始まる。上位レイヤ、例えば、TCP/IPモジュール327を介して通信するアプリケーション307a〜cが、書き込むこと、または読み取ることを要求することが可能である。例えば、デバイス301が、ネットワークへの接続を開始することを所望する場合、デバイス301上のアプリケーション307が、接続を開始するための最初のメッセージを送信する(ピアI/Oプロトコルは、接続を開始するのがデバイスであるか、またはホストであるかに依存しない)。ピアI/Oクライアント325は、上位レイヤが、書き込み命令を発行すると、「初期」状態503を離れ、「書き込みレディ」状態507に移る(遷移511)。「書き込みレディ」状態507にある間、ピアI/Oクライアント325は、ピアI/Oサーバ315からのメッセージを待つ。本明細書で前述したとおり、サーバ315は、クライアント325にポーリングすることから始める。サーバが、ポーリングを行い、クライアント325が、書き込みレディ状態507にあると、クライアント325は、送信されるべきバイト数とともに、ステータスcdを送信し(遷移513)、「書き込みレディ」状態507に留まる。サーバ315が、Get Packetコマンドを発行すると、クライアント325は、データを送信し、「上位待ち」状態505に移り、クライアント325は、上位レイヤ命令を待つ(遷移514)。   Device 301 operates peer I / O client 325, which starts at initial state 503. An upper layer, for example, applications 307a-c communicating via the TCP / IP module 327 can request to write or read. For example, if the device 301 wants to initiate a connection to the network, the application 307 on the device 301 sends an initial message to initiate the connection (the peer I / O protocol initiates the connection Does not depend on whether it is a device or a host). When the upper layer issues a write command, the peer I / O client 325 leaves the “initial” state 503 and moves to the “write ready” state 507 (transition 511). While in the “write ready” state 507, the peer I / O client 325 waits for a message from the peer I / O server 315. As previously described herein, server 315 begins by polling client 325. When the server polls and the client 325 is in the write ready state 507, the client 325 sends a status cd along with the number of bytes to be transmitted (transition 513) and remains in the “write ready” state 507. When the server 315 issues a Get Packet command, the client 325 transmits data, moves to the “upper wait” state 505, and the client 325 waits for an upper layer command (transition 514).

クライアント325が、「上位待ち」状態505にある際に、上位レイヤが、「書き込み」を発行すると、クライアント325は、ピアI/Oサーバ315にステータスcdを送信し、「書き込みレディ」状態507に移る(遷移516)。他方、上位レイヤが、「読み取り」を発行した場合、クライアント325は、ステータスcndをピアI/Oサーバ315に送信し、「読み取りレディ」状態509に移る(遷移517)。また、クライアント325は、クライアント325が、「初期」状態503にある間に、上位レイヤから「読み取り」命令を受信した場合、「初期」状態503から「読み取りレディ」状態509に遷移することもできる(遷移521)。「読み取りレディ」状態509において、クライアント325は、ピアI/Oサーバ315コマンドを待つ。サーバ315が、ポーリングを行うと、クライアント325は、別のcndを送信し、「読み取りレディ」状態509に留まる(遷移519)。サーバ315が、Put Packetコマンドを発行した場合、クライアント325は、データを獲得し、「上位待ち」状態505に移る(遷移515)。   When the upper layer issues “write” while the client 325 is in the “waiting for upper” state 505, the client 325 sends a status cd to the peer I / O server 315 and enters the “write ready” state 507. Transition (transition 516). On the other hand, if the upper layer issues “read”, the client 325 sends the status cnd to the peer I / O server 315 and moves to the “read ready” state 509 (transition 517). In addition, when the client 325 receives a “read” command from an upper layer while the client 325 is in the “initial” state 503, the client 325 can transition from the “initial” state 503 to the “read ready” state 509. (Transition 521). In a “read ready” state 509, the client 325 waits for a peer I / O server 315 command. When server 315 polls, client 325 sends another cnd and stays in “read ready” state 509 (transition 519). If the server 315 issues a Put Packet command, the client 325 acquires data and moves to the “waiting for higher rank” state 505 (transition 515).

(応用先)
ピアI/Oプロトコルは、多くの応用先を有する。第1の例は、ホストコンピュータを介して、ネットワークスマートカードをインターネットに接続することである。
(Application)
The peer I / O protocol has many applications. The first example is connecting a network smart card to the Internet via a host computer.

スマートカードは、マイクロプロセッサチップを含む小型カードである。ISOが、スマートカードに関する2つのフォームファクタ、すなわち、クレジットカード形状のカード、およびSIM(Subscriber Identification Module)カードを定義している。スマートカードは、セキュリティで保護され、ポータブルであり、不正変更を受けにくい。スマートカードは、移動通信(セル電話機におけるSIMカード)、銀行取引、物理的アクセス規制、ネットワークアクセス規制、交通、デジタルIDなどを含め、多種多様な応用先に関してセキュリティの目的に供されてきた。残念ながら、スマートカード通信標準は、主流のコンピューティングの通信標準と合致せず、そのことにより、スマートカードの成功が限られていた。   A smart card is a small card that includes a microprocessor chip. ISO defines two form factors for smart cards: a credit card shaped card and a SIM (Subscriber Identification Module) card. Smart cards are secure, portable, and not susceptible to unauthorized changes. Smart cards have been served for security purposes in a wide variety of applications, including mobile communications (SIM cards in cell phones), banking transactions, physical access restrictions, network access restrictions, traffic, digital IDs, and the like. Unfortunately, smart card communication standards do not match mainstream computing communication standards, which limited the success of smart cards.

現行のスマートカード標準ISO7816(非接触型スマートカードに関してはISO14443)は、半二重シリアルコマンド/応答通信プロトコルを指定するのに対して、PPP、IP、およびTCPなどの標準のインターネットプロトコルは、全二重のピアツーピアモードで動作する。ピアI/Oを適用することにより、ISO7816(またはISO14443)に準拠する現行のスマートカードが、インターネットノードとなることが可能になる。このセクションは、ISO7816コマンドを使用するピアI/Oの実施を説明する。   The current smart card standard ISO 7816 (ISO 14443 for contactless smart cards) specifies a half-duplex serial command / response communication protocol, whereas standard Internet protocols such as PPP, IP, and TCP are all Operates in dual peer-to-peer mode. By applying peer I / O, current smart cards that are compliant with ISO 7816 (or ISO 14443) can become Internet nodes. This section describes the implementation of peer I / O using ISO 7816 commands.

図6は、本発明によるインフラストラクチャレスネットワークスマートカード301をネットワーク117に接続するための第1の代替の図である。インフラストラクチャレスネットワークスマートカード301は、ホストコンピュータ303に接続されたリーダ302に接続される。コンピュータ303は、ネットワーク117に接続される。コンピュータ303は、インターネット通信をカード301にルーティングするため、およびカード301からルーティングするためのルータの役割をする。コンピュータ303は、ネットワーク117への接続のための第1のIPアドレスと、インフラストラクチャレスネットワークスマートカード301への接続のための第2のIPアドレスとを有する。インフラストラクチャレスネットワークスマートカード301に関連付けられた第3のIPアドレスが存在する。第3のIPアドレスは、カード301に割り当てられること、または動的に割り振られることが可能である。   FIG. 6 is a first alternative diagram for connecting an infrastructureless network smart card 301 according to the present invention to a network 117. The infrastructureless network smart card 301 is connected to a reader 302 connected to the host computer 303. The computer 303 is connected to the network 117. The computer 303 serves as a router for routing Internet communications to and from the card 301. The computer 303 has a first IP address for connection to the network 117 and a second IP address for connection to the infrastructureless network smart card 301. There is a third IP address associated with the infrastructureless network smart card 301. The third IP address can be assigned to the card 301 or can be dynamically allocated.

コンピュータ303は、そのコンピュータに接続された他のコンピュータ群にインターネットサービスを提供するRAS(リモートアクセスサーバ)を有する。スマートカード301が、全二重シリアルI/Oを有する場合、他の全二重シリアルデバイスと全く同様に、TCP/IP/PPPを有するスマートカードは、コンピュータ303上にさらなるソフトウェアを全くロードすることなしに、RASを介して、インターネット接続を確立することもできる。現実には、スマートカード標準は、半二重シリアルI/Oを指定する。全二重対半二重の問題に加え、インターネットプロトコルは、ノードが意のままに通信できることを意味する、ピアツーピアであるのに対して、ISO7816プロトコルおよびISO14443プロトコルは、スマートカードが端末装置によって発行されたコマンドに応答するだけである、コマンド/応答動作を指定する。本発明に従って実施されるピアI/Oプロトコルは、以上のプロトコル不一致の問題の両方を解決する。   The computer 303 has a RAS (Remote Access Server) that provides Internet services to other computer groups connected to the computer. If the smart card 301 has full-duplex serial I / O, just like any other full-duplex serial device, the smart card with TCP / IP / PPP will load any additional software on the computer 303. Without it, an internet connection can also be established via RAS. In reality, the smart card standard specifies half-duplex serial I / O. In addition to full-duplex versus half-duplex issues, the Internet protocol is peer-to-peer, which means that nodes can communicate at will, whereas the ISO 7816 and ISO 14443 protocols are smart cards issued by terminal equipment. Specifies a command / response action that only responds to the command issued. The peer I / O protocol implemented in accordance with the present invention solves both of the above protocol mismatch problems.

本発明によるピアI/Oインプリメンテーションは、ホストコンピュータ303(またはリーダ302)上、およびスマートカード301内の協働する通信モジュールとして存在する。ホストコンピュータ(またはリーダ)は、カードと、ホスト上のRAS(リモートアクセスサーバ)との間でメッセージを転送するサービスを提供するピアI/Oサーバ315を含む。カードは、ISO7816より上位に位置し、かつPPPなどの他のプロトコルより下位に位置するピアI/Oクライアントを含む。   The peer I / O implementation according to the present invention exists as a cooperating communication module on the host computer 303 (or reader 302) and in the smart card 301. The host computer (or reader) includes a peer I / O server 315 that provides a service for transferring messages between the card and a RAS (Remote Access Server) on the host. The card includes a peer I / O client located above ISO 7816 and below other protocols such as PPP.

RASが、メッセージをカードに送信する際、ピアI/Oサーバ315は、そのメッセージを含む1つまたは複数のAPDUコマンドをカードに送信することにより、そのメッセージを転送する。カードが、RASにメッセージを送信することを可能にするために、ピアI/Oサーバ315は、ポーリング間隔に従って定期的に、カードにポーリングする。   When the RAS sends a message to the card, the peer I / O server 315 forwards the message by sending one or more APDU commands containing the message to the card. In order to allow the card to send messages to the RAS, the peer I / O server 315 polls the card periodically according to a polling interval.

図7は、ピアI/Oプロトコルを実施する、通信プロトコルスタック、ホストコンピュータ303、およびネットワークスマートカード301の高レベル概略図である。   FIG. 7 is a high-level schematic diagram of a communication protocol stack, a host computer 303, and a network smart card 301 that implement a peer I / O protocol.

本明細書でピアI/Oとして概要が述べられるリンクレイヤプロトコルを含む本発明の諸実施形態では、ピアI/Oモジュールは、ホストコンピュータ303(またはリーダ302)とカード301の両方の中に存在する。ホストPC側303のプロトコルスタックであるピアI/Oサーバモジュール315は、ピアI/Oプロトコルレイヤを実施し、カード301と、ホストコンピュータ303上のRAS(リモートアクセスサーバ)701との間でメッセージを転送するサービスを提供する。スマートカード301側では、プロトコルスタックは、APDU807より上位に位置し、PPP329のような、他のプロトコルより下位に位置するピアI/Oプロトコルレイヤ325を含む。APDUは、ホスト303とカード301の間で通信を提供する。ピアI/Oプロトコルは、ピアI/Oプロトコルが伝送するインターネットプロトコルには依存しない。上位レイヤのプロトコルから見て、ピアI/Oは、両方の方向で行き来するメッセージを伝送することができる。例えば、ピアI/Oは、PPPフレーム、またはイーサネット(登録商標)フレーム、またはIPデータグラムを伝送するのに使用されることが可能である。ピアI/Oは、APDUを使用して、PPPフレーム、イーサネット(登録商標)フレーム、またはIPデータグラムなどのメッセージを伝送する。ピアI/Oの以下の説明は、RASおよびPPPを例として使用する。そのケースでは、ピアI/Oは、APDUを使用して、PPPフレームを伝送する。   In embodiments of the invention that include the link layer protocol outlined herein as peer I / O, the peer I / O module resides in both the host computer 303 (or reader 302) and the card 301. To do. The peer I / O server module 315, which is a protocol stack on the host PC side 303, implements the peer I / O protocol layer, and sends messages between the card 301 and the RAS (Remote Access Server) 701 on the host computer 303. Provide a service to transfer. On the smart card 301 side, the protocol stack includes a peer I / O protocol layer 325 located above the APDU 807 and located below other protocols, such as PPP 329. The APDU provides communication between the host 303 and the card 301. The peer I / O protocol does not depend on the internet protocol transmitted by the peer I / O protocol. Viewed from higher layer protocols, peer I / O can transmit messages back and forth in both directions. For example, peer I / O can be used to transmit PPP frames, or Ethernet frames, or IP datagrams. Peer I / O uses APDUs to transmit messages such as PPP frames, Ethernet frames, or IP datagrams. The following description of peer I / O uses RAS and PPP as examples. In that case, the peer I / O transmits the PPP frame using the APDU.

RASが、メッセージをカード301に送信する際、ピアI/Oサーバ315は、そのメッセージを含む1つまたは複数のAPDUコマンドをカード301に送信することにより、そのメッセージを転送する。カード301が、メッセージをRASに送信するのを可能にするために、ピアI/Oサーバ315は、本明細書で前述したとおり、カード301に定期的にポーリングする。ピアI/Oサーバ315およびピアI/Oクライアント325の、以下により詳細に説明する有限状態マシンが、明示的な細分化−組み立て機構を使用することなしに、任意の長さのメッセージを転送する機構を定義する。   When the RAS sends a message to the card 301, the peer I / O server 315 forwards the message by sending one or more APDU commands containing the message to the card 301. In order to allow the card 301 to send messages to the RAS, the peer I / O server 315 polls the card 301 periodically as described earlier in this specification. The finite state machine, described in more detail below, of peer I / O server 315 and peer I / O client 325 forwards messages of any length without using an explicit fragmentation-assembly mechanism. Define the mechanism.

(ピアI/Oプロトコルフォーマット)
以下は、ISO7816通信プロトコル上に構築されたピアI/Oの1つのインプリメンテーションを定義する。ピアI/Oインプリメンテーションは、以下の定義されたクラス、命令、およびステータス語セットに限定されない。ピアI/Oプロトコルは、ピアI/Oプロトコルに関する新たなISO7816クラス、CLA=0x12を定義する(ISO7816−4は、将来の使用のために0x10〜0x7F CLA番号を確保している。ISimplifyは、0x10を使用する)。このピアI/Oクラスに関して、3つの命令、すなわち、POLL、GET_PACKET、およびPUT_PACKETが、定義される。ピアI/Oサーバ315は、POLLを使用して、カードが何かを送信することを所望するかどうかを調べるためにカードをポーリングし、GET_PACKETを使用して、カードからデータを獲得し、PUT_PACKETを使用して、データをカードに送信する。ピアI/Oプロトコルは、独自のプロトコルデータユニットを有さない。ピアI/Oプロトコルは、APDUを直接に使用する。
(Peer I / O protocol format)
The following defines one implementation of peer I / O built on the ISO 7816 communication protocol. Peer I / O implementations are not limited to the following defined classes, instructions, and status word sets. The peer I / O protocol defines a new ISO 7816 class, CLA = 0x12, for the peer I / O protocol (ISO 7816-4 reserves 0x10-0x7F CLA numbers for future use. 0x10 is used). For this peer I / O class, three instructions are defined: POLL, GET_PACKET, and PUT_PACKET. Peer I / O server 315 uses POLL to poll the card to see if it wants to send something, uses GET_PACKET to obtain data from the card, and PUT_PACKET To send data to the card. The peer I / O protocol does not have its own protocol data unit. The peer I / O protocol uses APDUs directly.

ピアI/OコマンドAPDUは、以下のフォーマットを有する。すなわち、

Figure 0004869259
The peer I / O command APDU has the following format. That is,
Figure 0004869259

命令INSは、以下の1つであることが可能である。すなわち、
POLL(0xE8) Length=1、Dataは、任意の1バイトである。
PUT_PACKET(0xEA) Lengthは、カードに送信されるDataのバイト数である。
GET_PACKET(0xEC) Lengthは、カードから受信されるDataのバイト数である。
The instruction INS can be one of the following: That is,
POLL (0xE8) Length = 1, Data is an arbitrary 1 byte.
PUT_PACKET (0xEA) Length is the number of bytes of Data transmitted to the card.
GET_PACKET (0xEC) Length is the number of Data bytes received from the card.

Lengthは、1バイトであり、したがって、最大データ長は、256バイトである。POLLコマンドは、任意の1バイトを送信することに留意されたい。そうするのは、ACKがカードによって全く送信されず、一部のリーダがうまく機能しない、ISO7816 Case Iコマンドを避けるためである。   Length is 1 byte, and therefore the maximum data length is 256 bytes. Note that the POLL command sends any one byte. This is done to avoid ISO 7816 Case I commands where no ACK is sent by the card and some readers do not work well.

応答APDUは、以下のフォーマットを有する。すなわち、

Figure 0004869259
The response APDU has the following format: That is,
Figure 0004869259

ACKは、ピアI/Oサーバ315からコマンドを受信したことに関する、カードからの確認応答を表す。ACKは、受信されたコマンドのINCコードである。カード側のプロセスのステータスは、応答APDUの中でSW1およびSW2によって表現される。3つすべてのピアI/O命令に関して、応答ステータスは、以下のとおりであることが可能である。すなわち、
READY−WRITExx(例えば、6Cxx) xxは、カードが送信する準備ができたバイト数を表す。
NO−DATA(例えば、9000) カードは、受信する準備ができている。
9xxx カードが、ポーリング間隔を設定する。
ACK represents an acknowledgment from the card regarding receipt of a command from peer I / O server 315. ACK is the INC code of the received command. The status of the process on the card side is expressed by SW1 and SW2 in the response APDU. For all three peer I / O instructions, the response status can be as follows: That is,
READY-WRITExx (eg, 6Cxx) xx represents the number of bytes that the card is ready to transmit.
NO-DATA (e.g. 9000) Card is ready to receive.
The 9xxx card sets the polling interval.

通常のステータスに関して6Cxxを使用する理由は、以下である。ホスト側のIOP APIが、APDUコマンドのステータスをエクスポートしない。したがって、6Cxxは、ピアI/Oサーバ315が、6Cxxを例外として捕らえるように使用される。   The reason for using 6Cxx for normal status is as follows. The host-side IOP API does not export the status of APDU commands. Therefore, 6Cxx is used so that the peer I / O server 315 catches 6Cxx as an exception.

(ピアI/O動作)
RASが、カードにデータを送信する際、ピアI/Oサーバ315は、カードにPUT_PACKETコマンドを発行する。APDUは、データを含む。

Figure 0004869259
(Peer I / O operation)
When the RAS sends data to the card, the peer I / O server 315 issues a PUT_PACKET command to the card. APDU contains data.
Figure 0004869259

カードが、RASにデータを送信することを所望する場合、カードは、機会を待たなければならない。ピアI/Oサーバ315は、定期的にポーリングを行って、送信する機会をカードに与える。サーバは、POLLコマンドを発行する。

Figure 0004869259
If the card wants to send data to the RAS, the card must wait for the opportunity. The peer I / O server 315 periodically polls to give the card an opportunity to transmit. The server issues a POLL command.
Figure 0004869259

ピアI/Oサーバ315からコマンドAPDUを受信した後、カードは、まず、ACKで応答する。カードが、送信すべきデータを有さない場合、カードは、SW1 SW2をNO−DATA(例えば、90 00)に設定する。

Figure 0004869259
After receiving the command APDU from the peer I / O server 315, the card first responds with an ACK. If the card has no data to send, the card sets SW1 SW2 to NO-DATA (eg, 900).
Figure 0004869259

カードが、送信すべきデータを有する場合、カードは、SW1 SW2を6Cxxとして設定し、ただし、xxは、カードが送信しようとするデータの長さである。

Figure 0004869259
If the card has data to send, the card sets SW1 SW2 as 6Cxx, where xx is the length of the data that the card intends to send.
Figure 0004869259

ピアI/Oサーバ315が、ステータスREADY−WRITE(6Cxx)で応答を受信すると、ピアI/Oサーバ315は、他のいずれのコマンドを発行するよりも前に、Length=xxを有するGET_PACKETコマンドを発行する。

Figure 0004869259
When peer I / O server 315 receives a response with status READY-WRITE (6Cxx), peer I / O server 315 issues a GET_PACKET command with Length = xx before issuing any other command. Issue.
Figure 0004869259

カードは、データを含む応答APDUで応答する。

Figure 0004869259
The card responds with a response APDU containing data.
Figure 0004869259

SW1 SW2=6Cxxである場合、ピアI/Oサーバ315は、別のGET_PACKETコマンドを発行することができる。   If SW1 SW2 = 6Cxx, the peer I / O server 315 can issue another GET_PACKET command.

(スマートカード上のインプリメンテーション)
図8および図9は、スマートカードシステム上における、本発明によるピアツーピア通信システムの2つの代替のインプリメンテーションの概略図である。
(Implementation on smart card)
8 and 9 are schematic diagrams of two alternative implementations of a peer-to-peer communication system according to the present invention on a smart card system.

図8は、スマートカードが、半二重シリアルI/Oを有するシリアル接続を使用してホストコンピュータに通信する、スマートカードとネットワークの間における通信を実施するための構成要素の概略図である。スマートカード301は、リーダ302を介してホストコンピュータ303に接続する。リーダのドライバが、ピアI/Oサーバ315を実施する。シリアルポートドライバ803と一緒に、合成ドライバが、ホストコンピュータ303から見て、(仮想)シリアルポートとして振舞う。仮想シリアルポートに対する通常のRAS接続により、スマートカード301へのネットワーク接続が可能になる。   FIG. 8 is a schematic diagram of components for performing communication between a smart card and a network where the smart card communicates to a host computer using a serial connection with half-duplex serial I / O. The smart card 301 is connected to the host computer 303 via the reader 302. The driver of the reader implements the peer I / O server 315. Along with the serial port driver 803, the composite driver behaves as a (virtual) serial port when viewed from the host computer 303. A normal RAS connection to the virtual serial port allows a network connection to the smart card 301.

また、ピアI/Oサーバ315は、スマートカードリーダ内のハードウェアで実施されることも可能である。図9は、スマートカードが、半二重シリアル接続を介してハードウェアインタフェースデバイスに通信し、インタフェースが、全二重接続を使用してホストコンピュータに通信する、スマートカードとネットワークの間における通信を実施するための構成要素の概略図である。リーダ302は、シリアル接続またはUSB接続を介して、ホストコンピュータ303に接続する。(USB接続では、USB/シリアル変換が、リーダ、およびホストコンピュータにおいて必要とされる。)この場合も、シリアルポートに対する通常のRAS接続により、スマートカード301へのネットワーク接続が可能になる。   Peer I / O server 315 can also be implemented with hardware in a smart card reader. FIG. 9 illustrates communication between a smart card and a network where the smart card communicates to the hardware interface device via a half-duplex serial connection and the interface communicates to the host computer using a full-duplex connection. It is the schematic of the component for implementing. The reader 302 is connected to the host computer 303 via a serial connection or a USB connection. (In USB connection, USB / serial conversion is required in the reader and the host computer.) In this case as well, network connection to the smart card 301 is possible by normal RAS connection to the serial port.

(MMC(MultiMediaCard))
別の代替の実施形態では、本明細書で説明する本発明は、ネットワークにMMC(MultiMediaCard)を接続するのに使用される。その実施形態では、MMCカードは、本明細書で説明するネットワークスマートカード201と、ほぼ同じ役割を有する。
(MMC (MultiMediaCard))
In another alternative embodiment, the invention described herein is used to connect an MMC (MultiMediaCard) to a network. In that embodiment, the MMC card has approximately the same role as the network smart card 201 described herein.

MMC(MultiMediaCard)は、セル電話機、デジタルカメラ、MP−3音楽プレーヤ、およびPDAなどの、移動体の応用先のための小型(24mm×32mmまたは18mm×1.4mm)で、取り外し可能な、ソリッドステートメモリカードである。MMCの格納容量は、1ギガバイトのデータまでである。高速のMMCは、毎秒52メガビットまでデータを転送することができる。MMCは、読み取り/書き込みアプリケーションのためにはフラッシュ技術を使用し、読み取り専用アプリケーションのためにはROM技術またはフラッシュ技術を使用する。   MMC (MultiMediaCard) is a small (24 mm x 32 mm or 18 mm x 1.4 mm), removable, solid for mobile applications such as cell phones, digital cameras, MP-3 music players, and PDAs It is a state memory card. The storage capacity of the MMC is up to 1 gigabyte of data. A high-speed MMC can transfer data up to 52 megabits per second. MMC uses flash technology for read / write applications and ROM technology or flash technology for read-only applications.

MMCは、3つの通信ライン(コマンド、クロック、およびデータ)と、4つの供給ラインとを有する、7ピンのシリアルインタフェースを有する。MMC初期設定およびMMCデータ転送は、MMCバスプロトコルに基づく。各メッセージは、3つのトークン、すなわちコマンド、応答、およびデータの1つを使用する。ホストから1つまたは複数のカードに送信されるコマンドトークンは、動作を開始する。応答トークンは、宛先とされたカードまたはカード群からホストに送信される。データトークンは、いずれの方向にも行くことができる。データライン上、およびコマンドライン上のすべてのビットは、クロックを使用して同期で転送される。   The MMC has a 7-pin serial interface with 3 communication lines (command, clock and data) and 4 supply lines. MMC initialization and MMC data transfer are based on the MMC bus protocol. Each message uses one of three tokens: command, response, and data. A command token sent from the host to one or more cards initiates an operation. The response token is transmitted from the addressed card or card group to the host. Data tokens can go in either direction. All bits on the data line and on the command line are transferred synchronously using a clock.

セキュアMMC(Secure MultiMediaCard)は、コンテンツ保護およびeコマースのために、MMCにスマートカードセキュリティ機能を追加する。セキュアMMCは、セキュリティで保護された格納のために不正変更を受けにくいモジュールを有し、カード内で暗号化および認証を行う。例えば、Infineon Technologies社が、セキュアMMCにおいてスマートカードハードウェア技術を使用している。セキュアMMCは、標準のMMCと完全に互換性がある。   Secure MMC (Secure MultiMediaCard) adds smart card security functionality to MMC for content protection and e-commerce. The secure MMC has a module that is not susceptible to unauthorized modification for secure storage and performs encryption and authentication within the card. For example, Infineon Technologies uses smart card hardware technology in secure MMC. Secure MMC is fully compatible with standard MMC.

最近、MultiMediaCardアソシエーション(www.mmca.org)が、次世代のセキュアMMC(Secure MultiMediaCard)を標準化する作業部会を形成した(www.mmca.org/press/SecurityFinal.pdf)。新たな仕様V.2.0は、スマートカード技術を組み込むための通信インタフェースを作成するMMC標準プロトコルの拡張を定義している。これにより、MMCが、暗号化や認証などの、スマートカードセキュリティ機能を提供することが可能になる。拡張されたMMCコマンドセットは、MMCインタフェースが、標準のスマートカードISO−7816APDUを伝送することを可能にする。   Recently, the MultiMediaCard Association (www.mmca.org) has formed a working group to standardize the next generation secure MMC (Secure MultiMediaCard) (www.mmca.org/press/SecurityFinal.pdf). New specifications 2.0 defines an extension to the MMC standard protocol that creates a communication interface for incorporating smart card technology. This allows the MMC to provide smart card security functions such as encryption and authentication. The extended MMC command set allows the MMC interface to carry standard smart card ISO-7816 APDUs.

スマートカードが、インターネットノードとなることを可能にするための、本明細書で説明する本発明は、将来のセキュアMMCにも適用され、図7(e)に示される。この実施形態では、ピアI/Oプロトコル(以下により詳細に説明する)は、MMCバスプロトコルを使用して、インターネットプロトコルデータ、例えば、PPPフレームを伝送するように、ピアI/Oクライアント325において実施される。MMCバスに加えて、SPIが、MMCへの別の通信インタフェースである。一部のMMCカードは、MMCモードまたはSPIモードを選択することを可能にする。したがって、ネットワークスマートカードにおけるSPIの使用を説明するセクションで前述した諸方法は、セキュアMMCにも適用される。また、セキュアMMCは、他のマルチメディアトランスポートプロトコルを使用して、ホストまたはネットワークと通信することもできる。図10は、セキュアMMCをインターネットノードとして作成するための1つの例示的な構成を示す。他の例には、他のリンクレイヤプロトコルでPPPおよびピアI/Oを置き換えること、およびUDPなどの他のトランスポートプロトコルでTCPを置き換えることが含まれる。   The invention described herein for enabling a smart card to become an Internet node is also applicable to future secure MMCs and is shown in FIG. 7 (e). In this embodiment, the peer I / O protocol (described in more detail below) is implemented at the peer I / O client 325 to carry Internet protocol data, eg, PPP frames, using the MMC bus protocol. Is done. In addition to the MMC bus, SPI is another communication interface to the MMC. Some MMC cards make it possible to select MMC mode or SPI mode. Therefore, the methods described above in the section describing the use of SPI in network smart cards also apply to secure MMC. The secure MMC can also communicate with the host or network using other multimedia transport protocols. FIG. 10 shows one exemplary configuration for creating a secure MMC as an Internet node. Other examples include replacing PPP and peer I / O with other link layer protocols and replacing TCP with other transport protocols such as UDP.

(NFC(近距離通信))
NFC(近距離通信)は、無線インタフェースおよび無線プロトコルである。NFCは、孤立したデバイスからネットワーク化されたデバイスに移行している、民生用電子機器を対象とする。NFCデバイスは、ユーザがネットワークを構成することを要求することなしに、互いに接近することにより、通信する。NFCインタフェースは、13.56MHzという規制されていないRF帯域で動作する。通信は、半二重である。動作距離は、およそ0〜20cmである(NFCは、「Near Field Communication−white paper」、ECMA International、Ecma/TC32−TG19/2004/1において説明されている)。
(NFC (Near Field Communication))
NFC (Near Field Communication) is a wireless interface and wireless protocol. NFC targets consumer electronic devices that are moving from isolated devices to networked devices. NFC devices communicate by approaching each other without requiring users to configure the network. The NFC interface operates in the unregulated RF band of 13.56 MHz. Communication is half duplex. The operating distance is approximately 0-20 cm (NFC is described in “Near Field Communication-white paper”, ECMA International, Ecma / TC32-TG19 / 2004/1).

NFCプロトコルは、イニシエータとターゲットを区別する。イニシエータデバイスは、データ交換を開始し、制御する。ターゲットデバイスは、イニシエータからの要求に応答する。NFCプロトコルは、2つの動作モード、すなわち能動モードと受動モードを有する。能動モードでは、両方のデバイスが、データを伝送する、デバイス独自のRF電磁場を生成する。受動モードでは、イニシエータだけが、RF電磁場を生成し、そのRF電磁場を、イニシエータデバイスとターゲットデバイスがともに、データを転送するのに使用する。NFCデバイスは、初期通信速度を毎秒106、212、または424キロビットに設定する。能動通信モードは、はるかに高いビット伝送速度、毎秒6メガビットに達することが可能である(「Near Field Communication−Interface and Protocol(NFCIP−1)」、Standard ECMA−340、2002年12月)。   The NFC protocol distinguishes between an initiator and a target. The initiator device initiates and controls data exchange. The target device responds to the request from the initiator. The NFC protocol has two modes of operation: active mode and passive mode. In active mode, both devices generate their own RF electromagnetic fields that transmit data. In passive mode, only the initiator generates an RF electromagnetic field that is used by both the initiator device and the target device to transfer data. The NFC device sets the initial communication speed to 106, 212, or 424 kilobits per second. The active communication mode can reach much higher bit rates, 6 megabits per second ("Near Field Communication-Interface and Protocol (NFCIP-1)", Standard ECMA-340, December 2002).

NFCは、非常に短距離の無線プロトコルである。NFCは、2つのNFCデバイスが、通信するために互いに非常に接近していなければならないので、直観的にセキュリティで保護されている。受動通信モードは、NFCの重要な機能である。移動電話機などのバッテリ駆動の移動デバイス、または電源を有さない移動デバイスが、RF電磁場を生成することを必要とせずに、他のNFCデバイスと通信することができる。   NFC is a very short-range wireless protocol. NFC is intuitively secured because two NFC devices must be very close to each other in order to communicate. The passive communication mode is an important function of NFC. A battery-powered mobile device, such as a mobile phone, or a mobile device that does not have a power source can communicate with other NFC devices without having to generate an RF electromagnetic field.

NFCデバイスは、NFCのDEP(データ交換プロトコル)を使用してデータを交換する。DEPは、要求/応答プロトコルである。イニシエータが、要求を送信し、ターゲットが、応答を伝送する。RF電磁波を生成しないNFCデバイスは、常に、受動通信モードで動作し、ターゲットデバイスである。そのようなNFCデバイスは、標準ISO7816またはISO14443のスマートカードと同様な状況にある。本明細書で前述した諸技術と同様に、DEPを使用してピアI/Oを実施することができる。例えば、DEPプロトコルヘッダの未定義のビット設定を使用して、ピアI/Oコマンドを定義することができる。   NFC devices exchange data using NFC's DEP (Data Exchange Protocol). DEP is a request / response protocol. The initiator sends a request and the target transmits a response. An NFC device that does not generate RF electromagnetic waves always operates in a passive communication mode and is a target device. Such NFC devices are in a situation similar to standard ISO 7816 or ISO 14443 smart cards. Similar to the techniques previously described herein, peer I / O can be implemented using DEP. For example, an undefined bit setting in the DEP protocol header can be used to define a peer I / O command.

ネットワークプロトコルが、受動NFCターゲットデバイスにおいて実施された場合、ピアI/Oは、そのようなデバイスが、ネットワークピアとして振舞う、つまり、能動デバイスになることを可能にする。   If the network protocol is implemented in a passive NFC target device, peer I / O allows such a device to behave as a network peer, i.e. become an active device.

(他の応用先)
ダラスセミコンダクタ社のiButton(登録商標)は、16mmのステンレススチール缶iButton(登録商標)の中に密閉されたコンピュータチップである(http://www.iButton(登録商標).com)。
(Other applications)
The Dallas Semiconductor iButton® is a computer chip sealed in a 16 mm stainless steel can iButton® (http: //www.iButton®.com).

iButton(登録商標)は、キーホルダ、指輪、腕時計、またはその他の身の回りの品に取り付けられることが可能である。iButton(登録商標)の用途には、建造物およびコンピュータへのアクセス規制が含まれる。iButton(登録商標)は、読み取り/書き込みデバイスを介してホストコンピュータと通信する。通信は、データ転送が、ビット順であり、半二重である、1ワイヤプロトコルを使用する。iButton(登録商標)は、スレーブと考えられるのに対して、リーダ/ライタを有するホストは、マスタである。ピアI/Oは、iButton(登録商標)の1ワイヤプロトコルを使用して実施されることが可能である。そのインプリメンテーションは、iButton(登録商標)が、能動ピアになり、通信を開始することを可能にする。   iButton (R) can be attached to a key ring, ring, wristwatch, or other personal item. iButton® applications include access control to buildings and computers. iButton (R) communicates with the host computer via a read / write device. Communication uses a one-wire protocol where the data transfer is bit-ordered and half-duplex. iButton (registered trademark) is considered a slave, whereas a host having a reader / writer is a master. Peer I / O can be implemented using iButton ™ 1-wire protocol. The implementation allows iButton® to become an active peer and initiate communication.

他の多くのデバイス、例えば、リモートモニタリングデバイス(例えば、衛星モデムモニタリング、患者自宅モニタリング)、オーディオデバイス、および様々な制御システムは、半二重シリアルコマンド/応答(マスタ/スレーブ)通信プロトコルを使用する。ピアI/Oインプリメンテーションは、そのようなデバイスが、ネットワーキングプロトコルをサポートし、ネットワークにおける能動ピアとなることを可能にすることができる。   Many other devices, such as remote monitoring devices (eg, satellite modem monitoring, patient home monitoring), audio devices, and various control systems use half-duplex serial command / response (master / slave) communication protocols. . Peer I / O implementations can allow such devices to support networking protocols and become active peers in the network.

以上から、本発明によって提供されるピアツーピア通信の方法およびシステムは、リソース制約のあるデバイスが、ネットワークピアとして通信することを可能にする効率的で、柔軟性のあるピアツーピア通信を提供することが理解されよう。本発明の方法を実施する、または本発明の方法に従って動作する論理を組み込んだ電子デバイスは、半二重シリアルコマンド/応答通信リンクを介してホストデバイスに通信するように設計されているが、非同期の全二重で通信しているように見える。本発明によるピアツーピア通信のためのシステムおよび方法は、ホストデバイスおよびリソース制約のあるデバイスの電力消費を最小限しか増加させず、したがって、限られた電力供給能力を有する小型ポータブルデバイスにおいて好適に導入されることが可能である。このため、本発明によるピアツーピア通信のシステムおよび方法は、既存の通信システムに優るいくつかの利点をもたらす。   From the foregoing, it is understood that the method and system of peer-to-peer communication provided by the present invention provides efficient and flexible peer-to-peer communication that allows resource-constrained devices to communicate as network peers. Let's do it. An electronic device that implements the method of the present invention or incorporates logic that operates in accordance with the method of the present invention is designed to communicate to a host device via a half-duplex serial command / response communication link, but is asynchronous Appears to be communicating at full duplex. The system and method for peer-to-peer communication according to the present invention minimizes the power consumption of host devices and resource-constrained devices, and is therefore preferably introduced in small portable devices with limited power supply capabilities. Is possible. Thus, the peer-to-peer communication system and method according to the present invention provides several advantages over existing communication systems.

本発明の特定の諸実施形態を説明し、例示してきたが、本発明は、そのように説明され、例示された部分の特定の形態または構成に限定されるべきではない。本発明は、特許請求の範囲によってのみ、限定される。   Although specific embodiments of the present invention have been described and illustrated, the present invention should not be limited to the specific forms or configurations of the parts so described and illustrated. The invention is limited only by the claims.

本発明によるネットワーク接続された電子デバイスが導入されることが可能な動作環境を示す概略図である。FIG. 2 is a schematic diagram illustrating an operating environment in which a networked electronic device according to the present invention can be installed. 本発明に関連して使用されることが可能なネットワーク接続された電子デバイス101のハードウェアの例示的なアーキテクチャを示す概略図である。FIG. 2 is a schematic diagram illustrating an example architecture of the hardware of a networked electronic device 101 that can be used in connection with the present invention. リソース制約のあるデバイスおよびホストコンピュータに関するソフトウェアアーキテクチャインプリメンテーションを示す概略図である。FIG. 3 is a schematic diagram illustrating a software architecture implementation for a resource constrained device and a host computer. ピアI/Oサーバの挙動を制御する有限状態マシンを示す概略図である。FIG. 3 is a schematic diagram illustrating a finite state machine that controls the behavior of a peer I / O server. ピアI/Oクライアントの挙動を制御する有限状態マシンを示す概略図である。FIG. 2 is a schematic diagram illustrating a finite state machine that controls the behavior of a peer I / O client. 本発明によるインフラストラクチャレスネットワークスマートカードをネットワークに接続するための第1の代替を示す図である。FIG. 3 shows a first alternative for connecting an infrastructureless network smart card according to the invention to a network. APDUがPPPフレームを伝送するピアI/Oプロトコルを実施する、通信プロトコルスタック、ホストコンピュータ、およびネットワークスマートカードの高レベル概略図である。1 is a high-level schematic diagram of a communication protocol stack, a host computer, and a network smart card that implement a peer I / O protocol in which APDUs carry PPP frames. FIG. スマートカードが、半二重シリアルI/Oを有するシリアル接続を使用してホストコンピュータと通信する、スマートカードとネットワークの間における通信を実施するための構成要素を示す概略図である。FIG. 2 is a schematic diagram illustrating components for performing communication between a smart card and a network in which the smart card communicates with a host computer using a serial connection with half-duplex serial I / O. スマートカードが、半二重シリアル接続を介してハードウェアインタフェースデバイスに通信し、インタフェースが、全二重接続を使用してホストコンピュータに通信する、スマートカードとネットワークの間における通信を実施するための構成要素を示す概略図である。A smart card communicates to a hardware interface device via a half-duplex serial connection, and the interface communicates to a host computer using a full-duplex connection to implement communication between the smart card and the network. It is the schematic which shows a component. MMCカードに関連して本発明を導入するための構成要素の実施形態を示す概略図である。FIG. 2 is a schematic diagram illustrating an embodiment of components for introducing the present invention in connection with an MMC card.

Claims (5)

ネットワークを介する、単独で半二重通信の可能なリソース制約のあるデバイスと、ホストコンピュータ及びリモートネットワークノードの間の通信の方法であって、ホストコンピュータとリモートネットワークノードが、変更されていないネットワーククライアントおよびサーバを使用してリソース制約のあるデバイスと通信し、リソース制約のあるデバイスが、中央処理装置と、ランダムアクセスメモリと、不揮発性メモリと、読み取り専用メモリと、入出力構成要素とを有し、リソース制約のあるデバイスが、物理通信リンク接続を介してホストコンピュータに接続されており、前記方法は、
インタフェースデバイスを介してリソース制約のあるデバイスとホストコンピュータの間で物理リンク接続を確立すること、
リソース制約のあるデバイス上で、インタフェースデバイスと通信するように動作可能であり、リモートネットワークノードと通信するように動作可能である、ネットワーキングプロトコル、および1つまたは複数のリンクレイヤ通信プロトコルを実施する通信モジュールを実行すること、
入力イベントによって駆動され、かつ、ホストコンピュータおよびリモートネットワークノードと通信するようリソース制約のあるデバイスの通信モジュールを呼び出す、リソース制約のあるデバイス上で実行される1つまたは複数のセキュリティで保護されたネットワークアプリケーションによって駆動される通信モジュールに従ってリソース制約のあるデバイスを動作させること
ソース制約のあるデバイスが、ピアツーピア通信プロトコルに従ってメッセージを開始して送信することを可能にする少なくとも1つの状態の1つにあるインタフェースデバイスが、リソース制約のあるデバイスとネットワークの間でメッセージを転送することを可能にし、かつ、リソース制約のあるデバイスが、メッセージを開始して送信する意図を全く示さないことに応答して、ある期間にわたって、リソース制約のあるデバイスとの対話を遅延させる、第1の有限状態マシンに従って、インタフェースデバイスを動作させること
インタフェースデバイスを介して、リソース制約のあるデバイスが、ホストコンピュータまたはリモートネットワークノードへ、ピアツーピア通信プロトコルに従って、メッセージを転送することを、可能にする第2の有限状態マシンに従って、リソース制約のあるデバイスを動作させること、及び
インタフェースデバイスからリソース制約のあるデバイスへ、ポーリングメッセージ伝送の間の間隔をインタフェースデバイスへ示すポーリング間隔を設定するように、リソース制約のあるデバイスを動作させ、それにより電力消費を減少させることを含む、方法。
A method of communication between a resource-constrained device capable of independent half-duplex communication over a network and a host computer and a remote network node, wherein the host computer and the remote network node are not changed And a server to communicate with a resource-constrained device, the resource-constrained device having a central processing unit, random access memory, non-volatile memory, read-only memory, and input / output components A resource-constrained device is connected to the host computer via a physical communication link connection , the method comprising :
Establishing a physical link connection between the resource-constrained device and the host computer via the interface device ;
A communication implementing a networking protocol and one or more link layer communication protocols operable on a resource constrained device to communicate with an interface device and operable to communicate with a remote network node Running the module,
One or more secure networks running on the resource-constrained device that are driven by the input event and that invoke the communication module of the resource-constrained device to communicate with the host computer and the remote network node Operating resource-constrained devices according to the communication module driven by the application ;
Transfer device with a resource constraint, the interface device in one of the at least one condition that allows to transmit the start of the message according to a peer-to-peer communications protocol, messages between the devices and the networks of resource-constrained it possible to, and devices with a resource constraint, in response to not exhibit intended to transmit the start of the message at all, over a period of time, delaying the interaction with the device that is resource constrained, the Operating the interface device according to one finite state machine ;
Via the interface device, the resource-constrained device according to a second finite state machine that allows the resource-constrained device to forward messages to the host computer or remote network node according to the peer-to-peer communication protocol. To operate, and
Operating the resource-constrained device to thereby reduce power consumption to set a polling interval that indicates to the interface device the interval between polling message transmissions from the interface device to the resource-constrained device ; Method.
インタフェースデバイスが、ホストコンピュータとリソース制約のあるデバイスの間に接続されたハードウェアデバイスである、請求項1に記載のリソース制約のあるデバイスと、ホストコンピュータ及びリモートネットワークノードの間の通信の方法。 The method of communication between a resource constrained device and a host computer and a remote network node according to claim 1, wherein the interface device is a hardware device connected between the host computer and the resource constrained device. インタフェースデバイスが、物理リンクと、より高いレベルの通信プロトコルを実施する通信モジュールとの間のホストコンピュータ上で実行されるソフトウェアモジュールである、請求項1に記載のリソース制約のあるデバイスと、ホストコンピュータ及びリモートネットワークノードの間の通信の方法。The resource constrained device and host computer of claim 1, wherein the interface device is a software module that executes on a host computer between a physical link and a communication module that implements a higher level communication protocol. And a method of communication between remote network nodes . 半二重シリアル接続と全二重接続の間でブリッジ機能を実行するようにインタフェースデバイスを動作させることをさらに含む、請求項1に記載のリソース制約のあるデバイスと、ホストコンピュータ及びリモートネットワークノードの間の通信の方法。The resource constrained device of claim 1, further comprising: operating the interface device to perform a bridging function between a half-duplex serial connection and a full-duplex connection ; Way of communication between . ブリッジ機能を実行するステップが、
コマンド/応答モードで動作しているリソース制約のあるデバイスが、ピアとしてネットワークノードと通信することを可能にすること、
半二重シリアル通信モードで動作しているリソース制約のあるデバイスが、全二重通信トラフィックを扱うことを可能にすること、
上位レイヤプロトコルフレームをカプセル化すること、
より下位のリンクレイヤのフレームサイズ限度を超える上位レイヤプロトコルフレームのトランスポートを可能にすること、および
上位レイヤプロトコルの複数の論理接続をサポートすることから選択された機能の少なくとも1つを提供することをさらに含む、請求項4に記載のリソース制約のあるデバイスと、ホストコンピュータ及びモートネットワークノードの間の通信の方法。
The step of performing the bridging function is
Enabling resource-constrained devices operating in command / response mode to communicate with a network node as a peer;
Enabling resource-constrained devices operating in half-duplex serial communication mode to handle full-duplex communication traffic;
Encapsulating higher layer protocol frames;
To enable transport of higher layer protocol frames that exceed the frame size limit of lower link layer and to provide at least one function selected from supporting multiple logical connections of higher layer protocols The method of communication between a resource constrained device of claim 4 and a host computer and a mote network node .
JP2007555292A 2005-02-11 2006-02-11 System and method for data communication allowing a slave device to become a network peer Active JP4869259B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US65229105P 2005-02-11 2005-02-11
US60/652,291 2005-02-11
PCT/US2006/004925 WO2006086729A1 (en) 2005-02-11 2006-02-11 System and method for data communications allowing slave devices to be network peers

Publications (2)

Publication Number Publication Date
JP2008538458A JP2008538458A (en) 2008-10-23
JP4869259B2 true JP4869259B2 (en) 2012-02-08

Family

ID=36501861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007555292A Active JP4869259B2 (en) 2005-02-11 2006-02-11 System and method for data communication allowing a slave device to become a network peer

Country Status (4)

Country Link
EP (1) EP1864470A1 (en)
JP (1) JP4869259B2 (en)
KR (1) KR101172930B1 (en)
WO (1) WO2006086729A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8400913B2 (en) * 2007-05-23 2013-03-19 Microsoft Corporation Method for optimizing near field links
US9032058B2 (en) * 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
US8068011B1 (en) 2010-08-27 2011-11-29 Q Street, LLC System and method for interactive user-directed interfacing between handheld devices and RFID media
CN102404414B (en) * 2010-09-17 2016-05-18 中国银联股份有限公司 Ethernet communication system and method based on MMC/SD interface
JP5935235B2 (en) * 2011-02-18 2016-06-15 ソニー株式会社 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
JP5900226B2 (en) * 2012-08-03 2016-04-06 ブラザー工業株式会社 Communication device
JP6986835B2 (en) * 2016-11-29 2021-12-22 大日本印刷株式会社 Electronic information storage, data processing methods, and data processing programs
KR20210030091A (en) 2019-09-09 2021-03-17 주식회사 엘지화학 Communication apparatus, communication method, and electric vehicle
JP7017185B2 (en) * 2021-02-19 2022-02-08 大日本印刷株式会社 Electronic information storage, data processing methods, and data processing programs
CN114301925B (en) * 2021-12-31 2023-12-08 展讯通信(天津)有限公司 Data transmission method and related equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0468721A (en) * 1990-07-04 1992-03-04 Toyota Motor Corp Data fetching method
US6157966A (en) * 1997-06-30 2000-12-05 Schlumberger Malco, Inc. System and method for an ISO7816 complaint smart card to become master over a terminal
JP2002078027A (en) * 2000-09-05 2002-03-15 Matsushita Electric Ind Co Ltd Wireless network system
US7054624B2 (en) * 2002-04-02 2006-05-30 X-Cyte, Inc. Safeguarding user data stored in mobile communications devices
EP1692667B1 (en) * 2003-09-29 2012-09-12 Gemalto SA Method and apparatus for secure networking between a resource-constrained device and a remote network node

Also Published As

Publication number Publication date
JP2008538458A (en) 2008-10-23
WO2006086729A1 (en) 2006-08-17
EP1864470A1 (en) 2007-12-12
KR101172930B1 (en) 2012-08-14
KR20080005481A (en) 2008-01-14

Similar Documents

Publication Publication Date Title
US7941660B2 (en) System and method for data communications allowing slave device to be network peers
JP4869259B2 (en) System and method for data communication allowing a slave device to become a network peer
JP5301533B2 (en) How to optimize near-field links
US9843889B2 (en) Method and system for managing multiple applications in near field communication
JP4917036B2 (en) System and method for communicating with a general purpose integrated circuit card in a mobile device using an internet protocol
US20020161844A1 (en) Method and apparatus for peer to peer communication over a master slave interface
US8540164B2 (en) Answer to reset (ATR) pushing
JP2003101561A5 (en)
US20170141960A1 (en) Method and an apparatus for controlling messages between host and controller
WO2014023247A1 (en) Embedded device and method for control data communication based on the device
CA2705256C (en) Answer to reset (atr) pushing
EP4187984A1 (en) Bluetooth low energy connection power consumption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111115

R150 Certificate of patent or registration of utility model

Ref document number: 4869259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

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

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