KR101172930B1 - System and method for data communications allowing slave devices to be network peers - Google Patents

System and method for data communications allowing slave devices to be network peers Download PDF

Info

Publication number
KR101172930B1
KR101172930B1 KR1020077017106A KR20077017106A KR101172930B1 KR 101172930 B1 KR101172930 B1 KR 101172930B1 KR 1020077017106 A KR1020077017106 A KR 1020077017106A KR 20077017106 A KR20077017106 A KR 20077017106A KR 101172930 B1 KR101172930 B1 KR 101172930B1
Authority
KR
South Korea
Prior art keywords
resource
peer
communication
network
constrained device
Prior art date
Application number
KR1020077017106A
Other languages
Korean (ko)
Other versions
KR20080005481A (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 KR20080005481A publication Critical patent/KR20080005481A/en
Application granted granted Critical
Publication of KR101172930B1 publication Critical patent/KR101172930B1/en

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)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

슬레이브 장치와 네트워크 자원 간의 피어-투-피어 통신을 위한 시스템 및 방법으로서, 이때, 작은 휴대용 장치 상에서 설치되기에 적합하도록 전력을 보존하는 방식으로 애플리케이션과 네트워크 노드가 완전한(full-fledged) 네트워크 노드로서 나타나는 동안, 상기 슬레이브 장치, 예를 들어 스마트 카드는 상기 스마트 카드가 반-이중 시리얼 통신 링크를 통해 통신할 수 있게 해주는 프로토콜을 이용하여 통신한다. A system and method for peer-to-peer communication between a slave device and a network resource, wherein the application and the network node act as full-fledged network nodes in a manner that conserves power to be suitable for installation on small portable devices. While appearing, the slave device, for example a smart card, communicates using a protocol that allows the smart card to communicate over a half-duplex serial communication link.

Description

슬레이브 장치를 네트워크 피어가 되게 하는 데이터 통신용 시스템 및 방법{SYSTEM AND METHOD FOR DATA COMMUNICATIONS ALLOWING SLAVE DEVICES TO BE NETWORK PEERS}SYSTEM AND METHOD FOR DATA COMMUNICATIONS ALLOWING SLAVE DEVICES TO BE NETWORK PEERS}

본원발명은 2005년 2월 11일에 출원된 U.S. 가특허출원 제 60/652,291 호의 35 U.S.C 119로부터 우선권을 주장하고 있다. 상기 가출원은 본원에서 참조로서 인용된다. The present invention discloses a U.S. application filed on February 11, 2005. Priority is claimed from 35 U.S.C. 119 of provisional patent application 60 / 652,291. Said provisional application is incorporated herein by reference.

함께 출원된 2004년 5월 19일자 U.S. 출원 제 10/848,738 호 “자원 제약형 장치를 이용하는 보안 네트워킹(Secure Networking Using a Resource-Constrained Device)”에서, 반-이중 통신 채널을 이용하여 통신하는 자원-제약형 장치(resource-constrained device)와 네트워크로 연결되는 원격 노드(remote node) 간의 통신을 제공하는 시스템 및 방법이 기재되어 있다. 본원발명에서는 이를 바탕으로 하는 개선점을 제공한다.Filed May 19, 2004, filed with U.S. In application 10 / 848,738, “Secure Networking Using a Resource-Constrained Device,” a resource-constrained device communicating using a half-duplex communication channel. Systems and methods for providing communication between remote nodes that are connected to a network are described. The present invention provides an improvement based on this.

함께 출원된 2005년 9월 23일자 U.S. 특허 출원 제 11/234,577 호 “인터넷 프로토콜을 이용하는 모바일 장치에서의 UICC의 통신(Communications of UICC in mobile devices using Internet Protocols)”에서, 모바일 장치에서의 UICC가 네트워크 피어(peer)로서 기능하기 위한 시스템 및 방법이 기재되어 있다.Filed September 23, 2005, filed U.S. In patent application No. 11 / 234,577 “Communications of UICC in mobile devices using Internet Protocols”, a system for the UICC in a mobile device to function as a network peer and The method is described.

함께 출원된 2000년 11월 30일자 U.S. 특허 출원 제09/727,174호 “단말기와 네트워크 자원의 스마트 카드 제어(Smart Card Control of Terminal and Network Resources)”와, 연속 출원 1998년 6월 29일자 U.S. 특허 출원 제09/107,033호(현 U.S. 특허 제6,157,966호)에서, 자원-제약형 장치는 호스트 장치와의 피어로서 여전히 기능하면서, 반-이중 통신 채널 상에서 통신하는 자원-제약형 장치와 호스트 장치 간의 비동기 통신에 대한 시스템 및 방법이 기재되어 있다. Co-filed November 30, 2000, U.S. Patent Application No. 09 / 727,174 “Smart Card Control of Terminal and Network Resources”, and Serial Application June 29, 1998, U.S. Pat. In patent application 09 / 107,033 (current US Pat. No. 6,157,966), a resource-constrained device still functions as a peer with the host device, while the resource-constrained device and the host device communicate on a semi-dual communication channel. Systems and methods for asynchronous communication are described.

본원발명은 네트워크-기반의 전자 장치의 동작에 관한 것이며, 더욱 세부적으로, 전통적으로 슬레이브(slave)인 장치가 네트워크 피어가 되게 하는 시스템 및 방법에 관한 것이다. The present invention relates to the operation of network-based electronic devices and, more particularly, to systems and methods that allow devices that are traditionally slaves to become network peers.

새로운 정보화 시대에서, 연산의 영향력이 커지고 있다. "덤(dumb)" 머신은 어느 정도 수준의 "지능(intelligence)"을 요구한다. 이러한 경향이 지속됨에 따라, 더 높은 수준의 기대가 존재한다. 예를 들어, 이전 세대의 머신은 임의의 연산 능력을 가질 것을 기대받지 않았으며, 그 다음 세대는 어느 정도의 연산 능력만을 갖는다. 이러한 진화의 추가적인 단계는 머신을 네트워크로 연결하는 것이다. 그러나 물리적인 크기 제약 때문에, 또는 연산 파워 및 데이터 저장소가 머신의 주 기능이 아니기 때문에, 연산 파워 및 메모리 크기는 매우 제한적일 수 있다. 이러한 제약사항은 네트워크 상에서 다른 노드와 상호작용하는 자원-제약형 장치(resource-contrained device)의 기능에 큰 영향을 미친다.  In the new information age, the power of operations is growing. "Dumb" machines require some degree of "intelligence". As this trend continues, there is a higher level of expectations. For example, the previous generation of machines was not expected to have any computing power, and the next generation had only some computing power. An additional step in this evolution is to network the machines. However, because of physical size constraints, or because computational power and data storage are not the main functions of the machine, computational power and memory size may be very limited. These constraints have a great impact on the ability of resource-contrained devices to interact with other nodes on the network.

이러한 자원-제약형 장치의 예로는 스마트 카드가 있다. 스마트 카드는 단순히 일부 메모리 및 마이크로프로세서를 갖는 집적 회로를 포함하는 플라스틱 카드이다. 통상적으로 이러한 메모리는 6KByte RAM으로 제한된다. 다음 몇년 안에, 스마트 카드 RAM이 수 킬로바이트까지 증가될 수 있는 것이 예상될 수 있다. 그러나 메모리 크기는 스마트 카드 애플리케이션에게 있어 계속해서 장애물이 될 것이다. 대부분의 스마트 카드는 8-비트 마이크로프로세서를 갖는다.An example of such a resource-constrained device is a smart card. Smart cards are simply plastic cards that include integrated circuits with some memory and microprocessors. Typically this memory is limited to 6KByte RAM. In the next few years, it can be expected that smart card RAM can be increased to a few kilobytes. But memory size will continue to be an obstacle for smart card applications. Most smart cards have an 8-bit microprocessor.

통신 인프라구조는 스마트 카드 및 이와 유사한 장치에게 또 다른 자원 제약을 제공한다. 스마트 카드는 완전한 속도의 USB 통신을 갖지 않으며, 전-이중 시리얼 인터페이스가 결핍되어 있다. 현재 스마트 카드는 반-이중에서 동작하는 ISO-7816 인터페이스를 사용한다. The communication infrastructure provides another resource constraint for smart cards and similar devices. Smart cards do not have full-speed USB communication and lack a full-duplex serial interface. Smart cards now use an ISO-7816 interface that works half-duplex.

유사한 자원 제약을 갖는 또 다른 장치가 존재한다. 예를 들어, USB 동글(가령 SafeNet, inc(메릴랜드, 벨캠프)의 iKey 장치), 또는 SD 카드, 또는 PC 마더보드에 직접 접착된 보안 집적 회로 칩이 있다. There is another device with similar resource constraints. For example, a USB dongle (such as an iKey device from SafeNet, Inc., Bellcamp, Maryland), or a secure integrated circuit chip attached directly to an SD card or PC motherboard.

여기서, 유사한 자원 제한, 가령 64K미만으로 제한된 RAM을 공통으로 갖는 장치가 "자원-제약형 장치(resource-constrained device)"라고 일컬어진다. 자원-제약형 장치는 스마트 카드, USB 동글, SD 카드, PC 마더보드에 직접 부착된 보안 집적 회로 칩을 포함한다. 덧붙이자면, 용어 자원-제약형 장치는 유사한 자원 제약을 갖는 그 밖의 다른 임의의 장치일 수 있다. 명료성을 위해, 본원은 스마트 카드의 맥락에서 주로 서술된다. 이는 본원발명의 사상 및 범위를 제한하도록 구성되지 않으며, 그 밖의 다른 자원-제약형 장치에도 동일하게 적용될 수 있다.Here, a device having a common resource limit, for example, RAM limited to less than 64K, is referred to as a "resource-constrained device." Resource-constrained devices include smart cards, USB dongles, SD cards, and secure integrated circuit chips attached directly to the PC motherboard. In addition, the term resource-constrained device may be any other device with similar resource constraints. For clarity, this application is primarily described in the context of smart cards. It is not intended to limit the spirit and scope of the present invention, but may equally apply to other resource-constrained devices.

스마트 카드는 스마트 카드 판독기를 탑재한 컴퓨터, 또는 셀 폰 등일 수 있는 단말기, 또는 호스트와 함께 사용된다. 스마트 카드가 컴퓨터로 연결될 때, 표 준 메인스트림 네트워크 인터페이스를 이용하여, 호스트 애플리케이션은 그들과 통신하지 않는다. 스마트 카드 판독기 장치와 미들-웨어 애플리케이션의 형태인 특정 하드웨어 및 소프트웨어는 카드 서비스에 접근할 필요가 있다.Smart cards are used with a host, or a terminal, which may be a computer, or a cell phone, equipped with a smart card reader. When smart cards are connected to a computer, using standard mainstream network interfaces, host applications do not communicate with them. Certain hardware and software in the form of smart card reader devices and middle-ware applications need to access card services.

함께 출원되고, 함께 양도된 특허 출원 제10/848,738호 "Secure Networking Using a Resource Constraint Device"는 새로운 프로토콜, 이른바 Peer I/O에 대해 기술하고 있으며, 이로 인하여, 스마트 카드 및 그 밖의 다른 반-이중 시리얼 커맨드/응답 통신 프로토콜을 이용하는 자원-제약형 장치가 전-이중 피어-투-피어 통신을 다룰 수 있다. 따라서 이러한 Peer I/O를 이용하는 장치는 네트워트에 네트워크 피어로서 가입할 수 있다.Patent application 10 / 848,738, filed together and assigned together, discloses a new protocol, so-called Peer I / O, for which smart cards and other half-duplex A resource-constrained device using a serial command / response communication protocol can handle full-duplex peer-to-peer communication. Therefore, a device using such Peer I / O can join the network as a network peer.

반-이중 시리얼 커맨드/응답 통신 프로토콜을 이용하여 통신하는 장치가 비동기성 전-이중 피어-투-피어 통신을 다룰 수 있도록 일반적으로 적용되는 시스템 및 방법을 갖는 것이 유용하다.It is useful to have a system and method that is generally applied such that an apparatus communicating using a half-duplex serial command / response communication protocol can handle asynchronous full-duplex peer-to-peer communication.

현재의 경향에서, 전자 통신 장치는 계속하여 휴대 가능하고 소형이며 무선형이 되어간다. 이러한 경향으로부터 해결되어야하는 과제는 무선의 이점에 의해, 장치가 자신의 전력원, 통상 배터리를 지녀야한다는 것이다. 상기 배터리는 장치가 다시 유선 전력원으로 연결되기 전까지는 한정된 자원이기 때문에, 가용 전력의 길이, 즉 단순히 말하자면 배터리 수명이 주요 관건이 된다. 휴대용 장치의 판매 요인은 그 크기에 있다. 물론, 장치가 더 작아질수록, 배터리도 더 작아지고, 결과적으로, 배터리 수명은 더 짧아진다.In the current trend, electronic communication devices continue to be portable, compact and wireless. The challenge to be solved from this trend is that, by the advantage of wireless, the device must have its own power source, usually a battery. Since the battery is a limited resource until the device is connected back to the wired power source, the length of available power, i.e. simply battery life, is a major concern. The sales factor for portable devices depends on their size. Of course, the smaller the device, the smaller the battery, and consequently the shorter the battery life.

한 가지 가장 일반적인 자원-제약형 장치로는 모바일 전화기용 SIM 모듈이 있다. 지난 수년 동안, 모바일 전화기에 다수의 특징과 기능이 포함되어 왔다. 함께 출원되고 함께 양도된 특허 출원 제11/234,577호, "인터넷 프로토콜을 이용하는 모바일 장치에서의 UICC의 통신(Communications of UICC in mobile devices using Internet Protocols)"이 SIM 카드 상에서 웹 서버를 실행시킴으로써, SIM 카드가 네트워크 피어로서 기능할 수 있는 적용예를 기재하고 있다. 전력 소모 및 이에 관련된 효과인 배터리 수명이 모바일 전화기의 관점에서 매우 중요하다. 따라서 반-이중 시리얼 커맨드/응답을 이용하여 통신하는 전자 장치가, 전력은 보존하고, 그에 따라 모바일 장치의 배터리 수명을 연장시키면서, 비동기 전-이중 피어-투-피어 통신을 가능하게 해주는 시스템 및 방법을 갖는 것이 바람직할 수 있다. One of the most common resource-constrained devices is the SIM module for mobile phones. Over the years, many features and functions have been incorporated into mobile phones. Patent application 11 / 234,577, filed together and assigned together, "Communications of UICC in mobile devices using Internet Protocols" executes a web server on a SIM card, thereby providing a SIM card. Describes an application that can function as a network peer. Power consumption and its associated battery life are very important from the mobile phone's perspective. Thus, a system and method that enables an electronic device to communicate using a half-duplex serial command / response enables asynchronous full-duplex peer-to-peer communication while conserving power and thus extending the battery life of the mobile device. It may be desirable to have.

앞선 기재로부터, 반-이중 시리얼 커맨드/응답 통신 링크를 이용하여 통신하는 네트워크 연결된 자원-제약형 장치에 의해, 모바일 장치 상의 자원-제약형 장치에 의해 소모되는 전력을 보존하면서, 전-이중 피어-투-피어 통신을 가능하게 해주는 개선된 시스템 및 방법에 대한 필요성이 여전히 존재함이 자명할 것이다. From the foregoing description, a full-duplex peer-while preserving power consumed by a resource-constrained device on a mobile device by a networked resource-constrained device communicating using a half-duplex serial command / response communication link. It will be apparent that there is still a need for improved systems and methods to enable two-peer communication.

본원발명은 바람직한 실시예에서, 슬레이브 장치(slave device)와 네트워크 자원 간의 피어-투-피어 통신을 위한 시스템 및 방법을 제공하며, 이때 상기 슬레이브 장치, 예를 들어 스마트 카드는 상기 스마트 카드가 반-이중 시리얼 커맨드/응답 통신 링크를 통해 통신하도록 설계된 프로토콜을 이용하여 통신하고, 동시에, 작은 휴대용 장치 상에서 위치되기에 적합하도록 전력을 보존하는 방식으로 플리케이션과 네트워크 노드는 완전한(full-fledged) 네트워크 노드로서 보여진다. The present invention provides, in a preferred embodiment, a system and method for peer-to-peer communication between a slave device and a network resource, wherein the slave device, e. Applications and network nodes are represented as full-fledged network nodes in such a way that they communicate using protocols designed to communicate over dual serial command / response communication links, while at the same time conserving power for being placed on small portable devices. Shown.

본원발명의 그 밖의 다른 태양과 이점이 다음의 기재로부터 명백해질 것이다. Other aspects and advantages of the present invention will become apparent from the following description.

도 1은 본원발명에 따르는 네트워크 연결된 전자 장치가 전개되는 동작 환경의 개념적 도면이다. 1 is a conceptual diagram of an operating environment in which a networked electronic device according to the present invention is deployed.

도 2는 본원발명과 조합되어 사용될 수 있는 네트워크 연결된 전자 장치(101)의 하드웨어의 예시적 구조의 개념적 도면이다. 2 is a conceptual diagram of an exemplary structure of hardware of a networked electronic device 101 that may be used in combination with the present invention.

도 3은 자원 제약형 장치와 호스트 컴퓨터을 위한 소프트웨어 구조의 개념적 도면이다. 3 is a conceptual diagram of a software architecture for a resource constrained device and a host computer.

도 4는 Peer I/O 서버의 동작을 제어하는 유한 상태 머신의 개념적 도면이다.4 is a conceptual diagram of a finite state machine that controls the operation of a Peer I / O server.

도 5는 Peer I/O 클라이언트의 동작을 제어하는 유한 상태 머신의 개념적 도면이다.5 is a conceptual diagram of a finite state machine that controls the operation of a Peer I / O client.

도 6은 본원발명에 따르는 무-인프라구조 스마트 카드의 네트워크로의 연결에 대한 첫번째 대안예를 도시한 도면이다.6 is a diagram illustrating a first alternative to the connection of an infrastructure-free smart card to a network according to the present invention.

도 7은 APDU가 PPP 프레임을 운반하는 Peer I/O 프로토콜을 구현하는 통신 프로토콜 스택과 호스트 컴퓨터와 네트워크 스마트 카드의 하이-레벨 개념도이다.7 is a high-level conceptual diagram of a communication protocol stack and a host computer and a network smart card that implement the Peer I / O protocol in which the APDU carries PPP frames.

도 8은 반-이중 시리얼 I/O를 갖는 시리얼 연결을 이용하여 스마트 카드가 호스트 컴퓨터와 통신하는 스마트 카드와 네트워크 간의 통신을 구현하기 위한 구성요소의 개념적 도면이다. 8 is a conceptual diagram of components for implementing communication between a smart card and a network in which a smart card communicates with a host computer using a serial connection with half-duplex serial I / O.

도 9는 반-이중 시리얼 연결을 통해 스마트 카드가 하드웨어 인터페이스 장치와 통신하고, 반-이중 연결을 이용하여 인터페이스가 호스트 컴퓨터와 통신하는 스마트 카드와 네트워크 간의 통신을 구현하기 위한 구성요소의 개념적 도면이다. 9 is a conceptual diagram of components for implementing a communication between a smart card and a network where a smart card communicates with a hardware interface device over a half-duplex serial connection and the interface communicates with a host computer using a half-duplex connection; .

도 10은 MMC 카드와 조합되는 본원 발명을 전개하기 위한 구성요소의 실시예를 도시하는 개념적 도면이다.10 is a conceptual diagram illustrating an embodiment of components for developing the present invention in combination with an MMC card.

다음의 자세한 설명에서, 본원발명이 구현될 수 있는 특정 실시예를 도시하는 도면에 대한 참조가 이뤄진다. 이러한 실시예는 해당업계 종사자가 본원발명을 구현할 수 있도록 충분히 상세하게 이뤄진다. 본원발명의 다양한 실시예는 서로 다르지만 상호 배타적인 것은 아니다. 예를 들어, 하나의 실시예와 연계되어 본원에서 설명되는 특정한 특징부, 또는 구조, 또는 특성은 본원발명의 사상 및 범위내에서 또 다른 실시예 내에서 구현될 수 있다. 덧붙이자면, 각각의 기재되는 실시예 내의 개별 구성요소의 위치, 또는 배열이 본워발명의 사상 및 범위 내에서 수정될 수 있다. 다음의 자세한 설명은 제한하기 위한 것이 아니며, 본원발명의 범위는 첨부된 청구범위에 의해서만 정의된다. 도면에서, 유사한 참조번호는 동일하거나 유사한 기능을 참조한다.In the following detailed description, reference is made to the drawings that show specific embodiments in which the invention may be implemented. These embodiments are made in sufficient detail to enable those skilled in the art to implement the present invention. The various embodiments of the invention are different but not mutually exclusive. For example, certain features, structures, or characteristics described herein in connection with one embodiment can be implemented within another embodiment within the spirit and scope of the invention. In addition, the position, or arrangement, of individual components within each described embodiment may be modified within the spirit and scope of the present invention. The following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. In the drawings, like reference numerals refer to the same or similar functions.

설명의 목적으로 도면에서 도시되는 바와 같이, 본원발명은 전력 소모는 최소화하면서 네트워크 가능형 전자 장치를 위한 피어-투-피어 통신(peer-to-peer communication) 기능이 탑재된 네트워크 가능형 전자 장치, 가령 네트워크 스마트 카드에서 구현된다.As shown in the drawings for purposes of explanation, the present invention provides a network-enabled electronic device equipped with a peer-to-peer communication function for a network-enabled electronic device while minimizing power consumption; For example, it is implemented in network smart cards.

도 1은 본원발명에 따르는 네트워크-연결된 전자 장치가 전개될 수 있는 동작 환경의 개략적인 도시이다.1 is a schematic illustration of an operating environment in which a network-connected electronic device according to the present invention may be deployed.

하나의 실시예에서, 네트워크-가능형 전자 장치(101)는 핸드세트(103)에 설치된 네트워크 스마트 카드이다. 상기 핸드세트(103)는 일반적인 부속품(accoutrement), 가령 키패드(105)와, 디스플레이(107)와, 마이크로폰(109)과, 스피커(111)를 갖는 모바일 전화기일 수 있다. 대안적 실시예에서, 상기 핸드세트(103)는 PDA이거나, 또는 SIM 카드를 이용하는 그 밖의 다른 모바일 장치일 수 있다. 또한 상기 핸드세트(103)는 중앙 처리 유닛과 메모리를 포함하는 전자 회로를 포함한다. 덧붙이자면, 사용가능한 다양한 스마트 모바일 장치가 존재하며, 예를 들어 웹-가능형 전화기, 스마트 전화기, PDA, 핸드헬드 PC, 타블렛 PC가 있다. 스마트 폰과 PDA 중 다수는 셀방식 전화기와 PDA 기능을 조합한다. 스마트 모바일 장치를 위한 일반적인 운영 체제로는 Symbian, Palm OS, Microsoft Smartphone이 있다. 이러한 장치가 SIM 장치, 즉 네트워크 스마트 카드(101)를 갖는 경우, 본원발명은 이러한 장치에 적용될 수 있다. In one embodiment, the network-enabled electronic device 101 is a network smart card installed in the handset 103. The handset 103 may be a general accessory, such as a mobile phone having a keypad 105, a display 107, a microphone 109, and a speaker 111. In an alternate embodiment, the handset 103 may be a PDA or other mobile device using a SIM card. The handset 103 also includes an electronic circuit comprising a central processing unit and a memory. In addition, there are various smart mobile devices available, for example web-enabled phones, smart phones, PDAs, handheld PCs, tablet PCs. Many smartphones and PDAs combine cellular phones and PDA functions. Common operating systems for smart mobile devices include Symbian, Palm OS, and Microsoft Smartphone. If such a device has a SIM device, i. E. Network smart card 101, the invention can be applied to such a device.

전자 회로가 핸드세트(103)를 위하여 무선 링크를 통해 무선 전화 안테나(119)로의 무선 네트워크(117)와의 통신 기능을 제공한다. 마이크로프로세서가 핸드세트(103)의 제어 기능 중 일부, 가령 핸드세트(103)의 동작을 관리하는 기능, 그리고 무선 네트워크(117)와 통신하기 위해 사용되는 통신 프로토콜을 관리하는 기능을 제공한다. 네트워크 스마트 카드(101)는 전자 회로로 연결되어, 네트워크 스마트 카드(101)와 핸드세트(103) 사이의 통신을 가능하게 한다.Electronic circuitry provides a communication function with wireless network 117 to wireless telephone antenna 119 via a wireless link for handset 103. The microprocessor provides some of the control functions of the handset 103, such as managing the operation of the handset 103, and managing the communication protocols used to communicate with the wireless network 117. The network smart card 101 is connected by electronic circuitry to enable communication between the network smart card 101 and the handset 103.

무선 네트워크(117)는 다른 스테이션, 가령 다른 모바일 스테이션, 또는 지상 기반의 전화 시스템(land-based telephone system)과의 연결을 제공하기 위한 복잡한 통신 인트라구조로 구성되어 있다. 이러한 스테이션은 인터넷(12)으로의 무선 네트워크(117) 액세스를 제공하는 인터넷 게이트웨이(121)일 수 있다. 일반적으로 알려진 바와 같이, 다수의 컴퓨터가 인터넷을 통해 연결되어 있다. 본원에서 제공된 시나리오에서, 핸드세트, 가령 모바일 전화기나 PDA의 사용자가 도 1에서 도시된 인프라구조를 사용하여, 핸드세트(103), 또는 인터넷(125)으로 연결된 그 밖의 다른 컴퓨터를 통해 네트워크 스마트 카드(101)와 통신할 수 있다. 이러한 통신의 일부 양태에서, 네트워크 스마트 카드(101) 상에 저장된 일부 정보를 원격 개체(127)로 통신하기 위한 목적으로, 네트워크 스마트 카드(101)와 원격 개체(127) 간의 직접 통신(direct communication)이 사용된다. The wireless network 117 consists of a complex communication intrastructure for providing connectivity with other stations, such as other mobile stations, or land-based telephone systems. This station may be an Internet gateway 121 that provides wireless network 117 access to the Internet 12. As is generally known, many computers are connected via the Internet. In the scenarios provided herein, a user of a handset, such as a mobile phone or PDA, can use a network smart card through the handset 103, or other computer connected to the Internet 125, using the infrastructure shown in FIG. Communicate with 101. In some aspects of this communication, 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. This is used.

네트워크-연결된 전자 장치(101')의 또 다른 예로는 신용 카드 폼 팩터(form factor)를 갖고 호스트 컴퓨터(103')를 통해 인터넷(125)으로 연결되는 네트워크 스마트 카드가 있다. Another example of a network-connected electronic device 101 'is a network smart card having a credit card form factor and connected to the Internet 125 via a host computer 103'.

네트워크 스마트 카드(101, 또는 101')는 자율 인터넷 노드(autonomous Internet node)로서 기능할 수 있는 스마트 카드이다. 네트워크 스마트 카드는 함께 출원된 2004년 5월 19일자 특허 출원 제10/848,738호 “자원-제약형 장치를 이용하는 보안 네트워킹(SECURE NETWORKING USING A RESOURCE-CONSTRAINED DEVICE)”에 기재되어 있으며, 상기 출원은 본원에서 참조로서 인용된다. 네트워크 스마트 카드(101)는 카드에 내장되는 인터넷 프로토콜(TCP/IP)과 보안 프로토콜(SSL/TLS) 를 이행하고, 다음에서 기재될 그 밖의 다른 통신 프로토콜을 이행할 수 있다. 상기 네트워크 스마트 카드(101)는 그 밖의 다른 인터넷 노드와의 보안 인터넷 연결을 확립하고 유지관리할 수 있다. 인터넷 통신을 가능하게 하기 위해, 상기 네트워크 스마트 카드(101)는 호스트 상의 프록시(proxy)에 따라 좌우되지 않는다. 덧붙여, 상기 네트워크 스마트 카드(101)는 로컬 인터넷 클라이언트/서버, 또는 원격 인터넷 클라이언트/서버가 상기 스마트 카드와 통신하기 위해 수정될 것을 필요로 하지 않는다. The network smart card 101, or 101 ′, is a smart card that can function as an autonomous Internet node. Network smart cards are described in patent application No. 10 / 848,738, "SECURE NETWORKING USING A RESOURCE-CONSTRAINED DEVICE," filed May 19, 2004, filed with the same application. Cited by reference. The network smart card 101 can implement the Internet protocol (TCP / IP) and security protocol (SSL / TLS) embedded in the card, and implement other communication protocols to be described below. The network smart card 101 may establish and maintain a secure Internet connection with other Internet nodes. In order to enable internet communication, the network smart card 101 does not depend on the proxy on the host. In addition, the network smart card 101 does not require a local Internet client / server, or a remote Internet client / server to be modified to communicate with the smart card.

본원발명은 또한 그 밖의 다른 장치, 가령 그 밖의 다른 네트워크-가능형 자원-제약형 장치에서 사용되기 적합하며, 자원 제약형 장치로 국한되는 것은 아니다. 예를 들어, 본원발명에 따르는 네트워크-가능형 전자-장치는 컴퓨터(101")일 수 있다. 본원에서, 용어 네트워크-가능형 전자-장치(network-enabled electronic-device)는 그 밖의 다른 전자-장치로 네트워크를 통해 연결되며, 다른 장치와 전기적으로 통신할 수 있는 임의의 전자 장치를 일컫는다. 이와 유사하게, 참조번호(101)는 임의의 이러한 장치를 일컫기 위해 사용되며, 하나의 장치를 특히 일컫는 것은 아니다.The present invention is also suitable for use in other devices, such as other network-capable resource-constrained devices, but is not limited to resource constrained devices. For example, a network-enabled electronic-device according to the present invention may be a computer 101 ". As used herein, the term network-enabled electronic-device refers to other electronics-. Refers to any electronic device that is connected through a network to a device and is capable of electrically communicating with another device Similarly, reference numeral 101 is used to refer to any such device, and specifically refers to one device. It is not.

네트워크-연결된 전자 장치는 네트워크 스마트 카드, 가령 스마트 카드(101')일 수 있다. 함께 출원된 2004년 5월 19일자 특허 출원 제10/848,738 “자원-제약형 장치를 이용하는 보안 네트워킹(SECURE NETWORKING USING A RESOURSE-CONSTRAINED DEVICE)”(상기 출원은 본원에서 참조로 인용된다)에서 기재되어 있는 네트워크 스마트 카드는, 네트워크 통신을 위해 사용되는 통신 프로토콜 스 택(communication protocol stack)을 구현함으로써, 종래의 스마트 카드의 기능에 자율 네트워크 노드로서 동작하는 기능을 조합한다. 네트워크-연결된 전자 장치(101)가 호스트 컴퓨터(103')를 통해 네트워크로 연결되는 경우, 상기 호스트 컴퓨터(103')는 공격자 컴퓨터(attacking computer)가 될 수 있다, 예를 들자면, 리플렉터(reflector)로서, 또는 자신에게 설치된 일부 악성웨어를 가짐으로써 말이다.The network-connected electronic device may be a network smart card, such as smart card 101 ′. Patent Application No. 10 / 848,738, filed on May 19, 2004, entitled “SECURE NETWORKING USING A RESOURSE-CONSTRAINED DEVICE,” which is hereby incorporated by reference. An existing network smart card combines the functionality of a conventional smart card to act as an autonomous network node by implementing a communication protocol stack used for network communication. When the network-connected electronic device 101 is connected to the network through the host computer 103 ', the host computer 103' may be an attacking computer, for example, a reflector. Or by having some malware installed on them.

도 2는 본원발명과 조합되어 사용될 수 있는 네트워크-연결된 전자 장치(101)의 하드웨어의 예시적인 구조를 도시하고 있다. 도 2의 예제에 따르는 네트워크-연결된 전자 장치(101)는 중앙 프로세싱 유닛(203)과, 판독 전용 메모리(ROM, 205)와, 랜덤 액세스 메모리(RAM, 207)와, 비-휘발성 메모리(NVM, 209)와, 입력을 수신하고 출력을 인터넷 등의 컴퓨터 네트워크로 전달하는 통신 인터페이스(211)를 가지며, 이때 직접 또는 호스트 컴퓨터(103') 등의 중계 장치를 통해, 상기 통신 인터페이스(211)로 네트워크-연결된 전자 장치(101)가 연결된다. 이러한 다양한 구성요소들은, 예를 들어 버스(213)에 의해 서로 연결되어 있다. 본원발명의 하나의 실시예에서, 통신 모듈(321)뿐 아니라, 본원의 이하에서 설명되는 그 밖의 다른 소프트웨어 모듈이 ROM(205)의 자원-제약형 장치(101) 상에 저장된다. 대안적 실시예에서, ROM(205)에 저장된 소프트웨어 모듈은 플래시 메모리, 또는 그 밖의 다른 타입의 비-휘발성 메모리에 저장된다. 설명을 목적으로, 본 발명은 ROM을 예시를 들어 기재된다. 그러나 본원발명의 범위를 제한하고자 하는 것은 아니며, ROM이 사용되는 곳은 어디든지, 플래시 메모리와 그 밖의 다른 타입의 비-휘발성 메모리가 대 안예로서 구성될 수 있다.2 shows an exemplary structure of hardware of a network-connected electronic device 101 that can be used in combination with the present invention. The network-connected electronic device 101 according to the example of FIG. 2 includes a central processing unit 203, read only memory (ROM, 205), random access memory (RAM, 207), and non-volatile memory (NVM, 209 and a communication interface 211 for receiving input and delivering output to a computer network, such as the Internet, wherein the network is directly connected to the communication interface 211 via a relay device such as a host computer 103 '. The connected electronic device 101 is connected. These various components are connected to each other by, for example, a bus 213. In one embodiment of the present invention, the communication module 321, as well as other software modules described herein below, are stored on the resource-constrained device 101 of the ROM 205. In alternative embodiments, software modules stored in ROM 205 are stored in flash memory, or some other type of non-volatile memory. For purposes of explanation, the invention is described by way of example of a ROM. However, it is not intended to limit the scope of the present invention, and wherever a ROM is used, flash memory and other types of non-volatile memory may alternatively be configured.

상기 ROM(205)은 또한 일부 타입의 운영 체제, 가령 Java 가상 머신(Java Virtual Machine)을 내포한다. 대안으로서, 통신 모듈(321)은 운영 체제의 한 부분이다. 동작 동안, 상기 CPU(203)가 ROM(205)이나 NVM(209)에 저장된 다양한 소프트웨어 모듈의 인스트럭션에 따라서 동작한다. The ROM 205 also incorporates some type of operating system, such as a Java Virtual Machine. Alternatively, communication module 321 is part of the operating system. During operation, the CPU 203 operates in accordance with the instructions of various software modules stored in the ROM 205 or the NVM 209.

따라서 본원발명에 따라, 상기 CPU(203)는 통신 모듈(321)내의 인스트럭션에 따라 동작하여, 다음에서 설명될 통신 모듈(321)의 다양한 동작을 수행할 수 있다.Accordingly, according to the present invention, the CPU 203 may operate in accordance with instructions in the communication module 321 to perform various operations of the communication module 321 described below.

도 3은 자원 제약형 장치(301)와 호스트 컴퓨터(303)에 대한 소프트웨어 구조(software architecture)를 개념적으로 도시한다. 도 1 및 2의 맥락에서, 상기 자원 제약형 장치(301)는 SIM 카드(101), 또는 네트워크 스마트 카드(101')일 수 있으며, 핸드세트(303)는 핸드세트(103), 또는 호스트 컴퓨터(103')일 수 있다.3 conceptually illustrates a software architecture for the resource constrained device 301 and the host computer 303. In the context of FIGS. 1 and 2, the resource constrained device 301 may be a SIM card 101, or a network smart card 101 ′, and the handset 303 is a handset 103, or a host computer. (103 ').

상기 호스트 컴퓨터(303)는 자신에게 로딩되어 있는 네트워크 애플리케이션(305a, 305b 및 305c)을 갖는다(주의할 것은 핸드세트(103)의 경우, 상기 핸드세트의 물리 구조가 컴퓨터의 물리 구조와 매우 유사하다. 따라서 핸드세트(103)는 메모리와 프로세서를 갖는다. 상기 메모리는 RAM, ROM, EEPROM 등으로 구성되어 있다. 상기 메모리는 상기 프로세서의 동작을 제어하는 소프트웨어 모듈을 내포한다. 따라서 도 3에서 호스트 컴퓨터(303)의 일부인 듯 도시된 다양한 소프트웨어 모듈은 일반적으로 모바일 장치의 비-휘발성 메모리에 저장되고, 실행되는 동안 RAM으로 로딩된다. 이로부터 이러한 소프트웨어 모듈 명령이 프로세서의 동작을 제어하고 모바일 장치가 특정 동작, 가령 네트워크 연결 확립하기를 하도록 한다). 이러 한 애플리케이션의 예로는 웹 브라우저와, 네트워크 접속 리스트(network contacts list) 애플리케이션이 있다. 웹 브라우저의 경우, 자원 제약형 장치(301)를 액세스하기 위해, 또는 더욱 정확히는 상기 자원 제약형 장치(301) 상에서 실행되는 웹 서버, 가령 SIM 카드 네트워크 애플리케이션(307a)과 통신하도록 애플리케이션(305a)이 사용될 수 있다. The host computer 303 has network applications 305a, 305b, and 305c loaded therein (note that for the handset 103, the physical structure of the handset is very similar to the physical structure of the computer). The handset 103 thus has a memory and a processor, the memory comprising RAM, ROM, EEPROM, etc. The memory contains a software module that controls the operation of the processor. The various software modules shown as being part of 303 are generally stored in the non-volatile memory of the mobile device and loaded into RAM during execution, from which such software module instructions control the operation of the processor and allow the mobile device to be specific. Operation, such as establishing a network connection). Examples of such applications are web browsers and network contacts list applications. In the case of a web browser, the application 305a is configured to access the resource-constrained device 301, or more precisely, to communicate with a web server running on the resource-constrained device 301, such as the SIM card network application 307a. Can be used.

호스트 컴퓨터(303) 및 자원 제약형 장치(301)는 통신 프로토콜의 몇 개의 레이어에 걸쳐 통신한다. 하나의 실시예에서, 이러한 레이어는 몇 개의 통신 소프트웨어 모듈로 나타날 수 있으며, 그 예로는 호스트 컴퓨터(303) 상에서 TCP/IP 레벨에서의 통신을 다루는 TCP/IP 모듈(317)과, 자원-제약형 장치(301) 상의 이에 대응하는 TCP/IP 모듈(327)이 있으며, PPP 레벨에서의 통신을 다루기 위한 PPP 모듈(318, 329)과, Peer I/O 프로토콜에 따라 통신하기 위한, 호스트 컴퓨터(303) 상의 Peer I/O 서버 모듈(315)과 자원-제약형 장치(301) 상의 이에 대응하는 Peer 클라이언트 모듈(325)이 있다. 상기 Peer I/O 클라이언트 모듈(325)과 Peer I/O 서버 모듈(315)의 동작은 다음에서 상세하게 설명된다.The host computer 303 and the resource constrained device 301 communicate over several layers of communication protocols. In one embodiment, this layer may appear as several communication software modules, for example TCP / IP module 317, which handles communication at the TCP / IP level on host computer 303, and resource-constrained. There is a corresponding TCP / IP module 327 on the device 301 and a host computer 303 for communicating according to the Peer I / O protocol with the PPP modules 318 and 329 for handling communication at the PPP level. There is a Peer I / O server module 315 on s) and a corresponding Peer client module 325 on a resource-constrained device 301. The operations of the Peer I / O client module 325 and Peer I / O server module 315 are described in detail below.

자원-제약형 장치(301)와 호스트 컴퓨터(303)는 하드웨어 레이어로서, 가령 USB나 무선 연결을 통해 연결되며, 따라서 하드웨어 레벨 통신을 유지관리하기 위한 하드웨어 통신 모듈(318, 319)을 갖는다. The resource-constrained device 301 and the host computer 303 are connected as a hardware layer, for example via a USB or wireless connection, and thus have hardware communication modules 318 and 319 for maintaining hardware level communication.

상기 호스트 컴퓨터(303)는 외부 데이터 네트워크와의 연결을 확립하고, 몇가지 애플리케이션(305a-c)을 지원할 수 있다. 호스트 컴퓨터 상의 애플리케이션 프로그램이 통신 모듈(311)을 사용하여 외부 네트워크로의 연결을 확립하고, 자원 제약형 장치(301) 상의 애플리케이션(307a-c)과 통신할 수 있다. The host computer 303 may establish a connection with an external data network and support several applications 305a-c. An application program on the host computer may use the communication module 311 to establish a connection to the external network and communicate with the applications 307a-c on the resource constrained device 301.

호스트 컴퓨터(303)를 통한 자원 제약형 장치(301)와 네트워크 간의 통신은 앞서 참조된 함께 출원된 2004년 5월 19일자 특허 출원 제10/848,738 “자원-제약형 장치를 이용하는 보안 네트워킹(SECURE NETWORKING USING A RESOURCE-CONSTRAINED DEVICE)”에서 상세하게 기술되어 있으며, 이 문헌이 본원에서 참조로 인용된다. 가상 시리얼 포트(virtual serial port, 313)가 핸드세트(303)의 운영 체제에 의해 정의된 시리얼 포트 인터페이스를 구현한다. 네트워크 SIM 카드(또한 네트워크 UICC 카드락 알려짐) 간의 통신은 함께 출원된 2005년 9월 23일자 특허 출원 “인터넷 프로토콜을 이용하는 모바일 장치에서의 UICC의 통신(COMMUNICATIONS OF UICC IN MOBILE DEVICE USING INTERNET PROTOCOLS)”에서 더욱 상세히 기재되어 있으며, 상기 출원은 본원에서 참조로서 인용된.Communication between the resource-constrained device 301 and the network via the host computer 303 is described in the previously filed Patent Application No. 10 / 848,738, filed May 19, 2004, entitled “SECURE NETWORKING. USING A RESOURCE-CONSTRAINED DEVICE), which is hereby incorporated by reference. Virtual serial port 313 implements the serial port interface defined by the operating system of handset 303. Communication between network SIM cards (also known as network UICC card locks) is described in the patent application filed September 23, 2005, "Communications of UICC IN MOBILE DEVICE USING INTERNET PROTOCOLS." It is described in more detail, the application of which is incorporated herein by reference.

Peer I/O 구현은 호스트(303)와 장치(301) 상에 위치한다. 호스트 측에서, 상기 Peer I/O는 장치(301)와 네트워크(117) 간의 메시지를 발송하기 위한 서비스를 제공한다. 이때 이러한 서비스 모듈은 Peer I/O 서버(315)라고 일컬어진다. 상기 장치(301)는 커맨드/응답(command/response)에서 동작하는 저-레벨인 반-이중 시리얼 통신 프로토콜(318) 위에 위치하고, 전-이중 프로토콜, 가령 PPP(329) 아래에 위치하는 Peer I/O 클라이언트(325)를 내포한다. 이러한 전-이중 통신은 비동기적이다. 왜냐하면 통신 채널의 종단은 나머지 종단과 동기화하거나, 타이밍 없이 언제라도 송신할 수 있기 때문이다. 상기 Peer I/O 프로토콜은 수행되는 상위 레벨의 프로토콜에 독립적이다. 상위 레이어 프로토콜의 관점에서, Peer I/O는 양 방향 으로 메시지를 전달할 수 있다. 예를 들어, PPP 프레임, 또는 이더넷 프레임, 또는 IP 데이터그램을 운반하기 위해 Peer I/O를 사용할 수 있다. 다시 말하자면, 자원-제약형 장치(301)와 호스트(303) 간의 데이터 통신이 반-이중 시리얼 커맨드/응답 링크를 통해 수행된다는 사실이, 자원-제약형 장치(301)와, 호스트(303)와, 상기 자원-제약형 장치(301)와 통신할 수 있는 그 밖의 다른 네트워크 노드 상의 상위 레벨 애플리케이션 및 통신 프로토콜에게는 투명(transparent)하다.The Peer I / O implementation is located on the host 303 and the device 301. At the host side, the Peer I / O provides a service for sending messages between the device 301 and the network 117. At this time, such a service module is referred to as a Peer I / O server 315. The device 301 is located above a low-level half-duplex serial communication protocol 318 operating at a command / response, and is located under a full-duplex protocol such as Peer I / P 329. Contains the client 325. This full-duplex communication is asynchronous. This is because the end of the communication channel can be synchronized with the rest of the end or transmitted at any time without timing. The Peer I / O protocol is independent of the higher level protocol performed. In terms of higher layer protocols, Peer I / O can carry messages in both directions. For example, Peer I / O can be used to carry PPP frames, or Ethernet frames, or IP datagrams. In other words, the fact that data communication between the resource-constrained device 301 and the host 303 is performed through a half-duplex serial command / response link, means that the resource-constrained device 301 and the host 303 are connected with each other. It is transparent to higher level applications and communication protocols on other network nodes capable of communicating with the resource-constrained device 301.

네트워크 상의 컴퓨터(또는 단순히 네트워크)가 장치로 메시지를 전송할 때, 메시지를 포함하는 커맨드/응답 통신 프로토콜의 하나 이상의 커맨드를 장치(301)로 전송함으로써, Peer I/O 서버(315)가 메시지를 발송한다. 장치(301)가 전송할 필요가 있을 때는 언제든지 네트워크(117)로 메시지를 전송하게 하기 위해, 상기 Peer I/O 서버(315)가 장치(301)로 정기적으로 폴링(poll)한다. 장치가 메시지를 가질 때, Peer I/O 서버(315)는 장치 메시지를 획득하여 이를 네트워크로 발송하기 위한 하나 이상의 커맨드를 발행(issue)한다. 장치(301, 303)를 연결하는 반-이중 시리얼 커맨드/응답 링크를 통한 통신에 영향을 주기 위한 이러한 장치(301, 303)의 동작이 Peer I/O 서버(315)와 Peer I/O 클라이언트(325)에 의해 제어된다. 본원발명의 하나의 실시예에서, 이러한 동작은 자원-제약형 장치(301)와 호스트 장치(303) 상의 유한 상태 머신(finite state machine)에 따라 실행된다. 상기 Peer I/O 유한 상태 머신에 의해, 명시적인 분할 및 합체(fragmentation and assembly) 메커니즘을 이용하지 않고, 임의의 길이의 상위 레벨 메시지를 이용하는 통신이 수행될 수 있다. When a computer (or simply a network) on a network sends a message to a device, the Peer I / O server 315 sends the message by sending one or more commands of the command / response communication protocol containing the message to the device 301. do. The Peer I / O server 315 periodically polls the device 301 for the device 301 to send a message to the network 117 whenever it needs to send. When the device has a message, the Peer I / O server 315 issues one or more commands to obtain the device message and send it to the network. The operation of these devices 301, 303 to effect communication over a half-duplex serial command / response link connecting the devices 301, 303 is performed by the Peer I / O server 315 and Peer I / O client ( 325. In one embodiment of the present invention, this operation is performed in accordance with a finite state machine on the resource-constrained device 301 and the host device 303. By means of the Peer I / O finite state machine, communication can be performed using high-level messages of any length, without using explicit fragmentation and assembly mechanisms.

PeerPeer I/O 프로토콜 포맷( I / O protocol format ( PeerPeer I/O  I / O ProtocolProtocol FormatFormat ))

상기 Peer I/O 프로토콜은 3개의 커맨드를 정의한다, 즉 Put Packet(패킷 넣기), Get Packet(패킷 얻기), Poll(폴)이다. 상기 Put Packet 커맨드는 호스트로부터 장치로 데이터를 전송한다. 상기 Get Packet 커맨드는 상기 장치로부터 호스트로 데이터를 얻는다. 상기 Poll 커맨드는 호스트가 장치를 체크하여 상기 장치가 전송될 데이터를 갖고 있는지의 여부를 알기 위해 사용된다. 이러한 커맨드의 실행은 프로토콜 의존적이다. 실현가능할 때, 상기 Poll 커맨드는 데이터를 갖지 않고 Put Packet 커맨드로서 실행될 수 있다. 이러한 경우, 상기 Peer I/O 프로토콜은 두 개의 커맨드만 필요로 한다, 즉 Put Packet과 Get Packet이다.The Peer I / O protocol defines three commands: Put Packet, Get Packet, and Poll. The Put Packet command sends data from the host to the device. The Get Packet command gets data from the device to the host. The Poll command is used by a host to check a device to see if the device has data to be sent. Execution of these commands is protocol dependent. When feasible, the Poll command can be executed as a Put Packet command without data. In this case, the Peer I / O protocol requires only two commands, namely Put Packet and Get Packet.

상기 Peer I/O 커맨드 타입은 하위 프로토콜에 따라서, 1바이트(byte), 또는 2비트(bit), 또는 심지어 1비트로 표현될 수 있다. 상기 Put Packet 커맨드는 다음의 포맷을 갖는 것이 일반적이다.The Peer I / O command type may be represented by one byte, two bits, or even one bit, depending on the underlying protocol. The Put Packet command generally has the following format.

Put PacketPut Packet LengthLength DataData

이때, Length는 호스트에서 장치로 전송되는 데이터의 길이이다. 호스트로부터 Put Packet 커맨드를 수신한 후, 상기 장치는 데이터를 얻고, 상태(status)를 반환(return)시킨다. In this case, Length is the length of data transmitted from the host to the device. After receiving a Put Packet command from the host, the device obtains data and returns a status.

상기 Get Packet 커맨드는 일반적으로 다음의 포맷을 가지며, 이때 Length는 장치로부터 호스트로 얻어질 데이터의 길이이다.The Get Packet command generally has the following format, where Length is the length of data to be obtained from the device to the host.

Get PacketGet packet LengthLength

Get Packet 커맨드를 호스트로부터 수신한 후, 장치는 상기 호스트로 요청된 길이의 데이터를 전송하고 상태(status)를 전송한다.  After receiving the Get Packet command from the host, the device sends the requested length of data to the host and sends a status.

Poll 커맨드는 매개변수를 필요로 하지 않는 것이 일반적이다. 호스트로부터 Poll 커맨드를 수신한 후, 장치는 상태(status)를 전송한다. The Poll command usually requires no parameters. After receiving the Poll command from the host, the device sends status.

상기 장치로부터 호스트로 반환되는 상태는 다음을 포함하는 몇 가지 것을 나타낼 수 있다.The status returned from the device to the host may indicate several things, including the following.

ㆍ전송될 길이 n의 데이터를 갖고 있다.• There is data of length n to be transmitted.

ㆍ전송될 데이터가 없다.• There is no data to be transmitted.

ㆍ전송될 데이터가 없으며; 폴링(polling) 간격을 설정한다. 상기 폴링 간격은 무한(infinite)일 수 있으며, 이는 "폴하지 마라, 데이터를 기다리는 중이다."라는 것을 의미한다.No data to be transferred; Set the polling interval. The polling interval may be infinite, meaning "don't poll, waiting for data."

하위 프로토콜은 패킷내로 데이터의 길이를 제한하는 것이 일반적이다. 예를 들어, 이부 프로토콜은 데이터를 256바이트로 제한한다. 상기 Peer I/O 프로토콜은 하위 프로토콜의 한계와 관계가 있다. 이로 인해서, 필요에 따라 다수의 넣기(put), 또는 얻기(get) 커맨드를 발행함으로써, 더 큰 패킷을 전송하고 수신하는 것이 가능하다. 상기 Peer I/O 프로토콜은 상위 레이어 프로토콜이 자신의 패킷의 경계를 알고 있다고 가정한다.Lower protocols typically limit the length of data in a packet. For example, the binary protocol limits data to 256 bytes. The Peer I / O protocol is related to the limitations of the lower protocol. This makes it possible to send and receive larger packets by issuing multiple put or get commands as needed. The Peer I / O protocol assumes that the upper layer protocol knows the boundary of its packet.

PeerPeer I/O 프로토콜의 동작( I / O protocol behavior ( OperationsOperations ofof thethe PeerPeer I/O  I / O ProtocolProtocol ))

이 섹션에서는 Peer I/O 프로토콜의 통상적인 동작을 기재한다. 네트워크가 데이터를 장치로 전송할 때, Peer I/O 서버(315)는 Put Packet 커맨드를 장치로 발행한다.This section describes the typical operation 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.

Put PacketPut Packet LengthLength DataData

장치가 데이터를 네트워크로 전송하기를 원할 때, 기회를 기다릴 필요가 있다. 장치에게 전송할 기회를 제공하기 위해, 상기 Peer I/O 서버(315)가 정기적으로 폴링(poll)한다. 상기 서버는 POLL 커맨드를 발행한다. When the device wants to send data to the network, it needs to wait for the opportunity. The Peer I / O server 315 polls periodically to give the device an opportunity to transmit. The server issues a POLL command.

POLLPOLL

Peer I/O 서버(315)로부터 커맨드를 수신한 후, 장치가 전송할 어떠한 데이터도 갖지 않는 경우, 그렇다고 나타내는 상태를 전송한다. 장치가 전송할 데이터를 갖는 경우, "데이터 가짐(has data)" 상태를 전송하고, 상기 장치가 전송하려고 하는 데이터의 길이를 전송한다.After receiving the command from the Peer I / O server 315, if the device has no data to send, it sends a status indicating yes. If the device has data to transmit, it sends a "has data" status and transmits the length of the data the device is about to transmit.

Peer I/O 서버(315)가 상기 장치가 전송할 데이터를 가짐을 나타내는 상태를 수신하는 경우, Get Packet 커맨드를 발행한다.When the Peer I / O server 315 receives a status indicating that the device has data to send, it issues a Get Packet command.

GET_PACKETGET_PACKET LengthLength

상기 장치는 데이터를 내포하는 응답(response)으로 응답한다. The device responds with a response containing data.

DataData StatusStatus

상태가 전송할 추가 데이터를 나타내는 경우, Peer I/O 서버(315)는 또 다른 Get Packet 커맨드를 발행할 수 있다.If the status indicates additional data to send, the Peer I / O server 315 may issue another Get Packet command.

제어된 폴링(Controlled polling ( ControlledControlled PollingPolling ))

호스트의 Peer I/O 서버(315)가 장치가 전송할 데이터를 갖고 있는지의 여부를 알아보기 위해, 정기적으로 상기 장치에 폴링(poll)한다. 이러한 폴링은 폴링 간격(polling interval)에 의해 제어되며, 상기 폴링 간격은 무한하다. 이러한 제어된 폴링이 장치(301)가 호스트(303)에 의해 지속적으로 폴링되는 경우 발생하는 파워 소모를 감소시킨다. The host's Peer I / O server 315 polls the device periodically to see if the device has data to send. This polling is controlled by a polling interval, which is infinite. This controlled polling reduces the power consumption that occurs when device 301 is polled continuously by host 303.

Peer I/O는 폴링 간격을 특정할 수 있는 새로운 반환 상태를 형성한다. 디폴트 폴링 간격은 "가능한 자주(as often as possible)"이다. 상기 간격은 초, 또는 분, 또는 시간으로 특정될 수 있다. 상기 Peer I/O 서버(315)는 폴링 간격과 가능한 비슷하게 폴링할 것이다. 상기 폴링 간격은 또한 무한할 수 있다. 상기 장치는 데이터를 수신하기를 기다릴 때, 무한 폴링 간격을 특정할 수 있다. 이러한 경우, Peer I/O 서버(315)는 장치에 폴링하지 않을 것이며, 상기 장치에 가용한 데이터가 존재할 때 단지 장치에 접촉한다. 예를 들어, 장치가 웹 서버이며, 클라이언트 연결을 기다리고 있을 때, 상기 장치는 폴링 간격을 무한대로 설정할 수 있다. 예를 들어, 호스트가 배터리로 구동되는 작은 모바일 장치이고, 상기 장치가 호스트에 의해 공급되는 파워를 소모할 때, 이러한 Peer I/O로의 새로운 추가가 모바일 애플리케이션에 매우 중요하다. Peer I / O forms a new return state that can specify the polling interval. The default polling interval is "as often as possible". The interval may be specified in seconds, minutes, or hours. The Peer I / O server 315 will poll as close as possible to the polling interval. The polling interval may also be infinite. When the device waits to receive data, it may specify an infinite polling interval. In this case, the Peer I / O server 315 will not poll the device and only contact the device when there is data available to the device. For example, when the device is a web server and is waiting for a client connection, the device can set the polling interval to infinity. For example, when the host is a small mobile device powered by a battery and the device consumes the power supplied by the host, this new addition to Peer I / O is very important for mobile applications.

예를 들어, 반환 상태는 두 개의 옥텟(octet)으로 표현될 수 있다. 가장 중요한 4비트는 "데이터를 가짐", 또는 "데이터 없음"을 나타낸다. "데이터를 가짐"의 경우, 나머지 비트가 데이터의 길이를 나타낼 수 있다. "데이터 없음"의 경우, 나머지 비트는 모두 0이며, 이는 "현재 폴링 간격을 사용(use current polling interval)"을 의미하고, 이것이 디폴트 폴링일 수 있다. 나머지 모든 비트가 1일 경우, 이는 "폴을 하지 말 것(do not poll)"을 의미한다. 그렇지 않을 경우, 다음 두개의 비트가 폴링 간격의 단위, 가령 초, 또는 분, 또는 시간을 나타낸다. 나머지 10비트는 폴링 간격을 나타낸다.For example, the return state can be represented by two octets. The 4 most significant bits represent "having data" or "no data". In the case of "having data", the remaining bits may indicate the length of the data. In the case of "no data", the remaining bits are all zeros, which means "use current polling interval", which may be the default polling. If all other bits are 1, it means "do not poll". Otherwise, the next two bits represent the unit of the polling interval, such as seconds, or minutes, or time. The remaining 10 bits represent the polling interval.

예를 들어, 다음의 그림은 데이터 없음의 경우에 대한 반환 상태를 나타낸 다.For example, the following figure shows the return status for the case of no data.

Figure 112007053779215-pct00001
Figure 112007053779215-pct00001

다음의 그림은 데이터를 가짐의 경우에 대한 반환 상태를 나타낸다.The following figure shows the return status for the case with data.

Figure 112007053779215-pct00002
Figure 112007053779215-pct00002

Peer I/O 서버(315)와 Peer I/O 클라이언트(325)의 동작은 두 개의 유한 상태 머신에 의해 각각 제어된다.The operations of Peer I / O Server 315 and Peer I / O Client 325 are controlled by two finite state machines, respectively.

도 9는 Peer I/O 서버(315)의 동작을 제어하는 유한 상태 머신(901)의 개념적 도시이다. 9 is a conceptual illustration of a finite state machine 901 that controls the operation of a Peer I / O server 315.

상기 유한 상태 머신(FSM, 901)은 다섯 개의 상태를 갖는다.The finite state machine (FSM) 901 has five states.

ㆍ초기 상태(902)Initial State (902)

ㆍ폴링(903)Polling (903)

ㆍ클라이언트로부터 얻기(905)ㆍ Getting from the Client (905)

ㆍ데이터를 클라이언트로 넣기(909)ㆍ Pushing Data to Client (909)

ㆍ데이터에 대하여 네트워크 체크하기(907)Checking the Network for Data (907)

4개의 이벤트가 있다.There are four events.

ㆍ클라이언트로부터의 4종류의 반환 상태4 types of return status from client

°클라이언트가 데이터를 갖고 있다(cd)   ° client has data (cd)

°클라이언트가 데이터를 갖지 않고, 폴링 간격을 변경시키기 않는다(cnd)  The client has no data and does not change the polling interval (cnd)

°클라이언트가 데이터를 갖지 않고, 폴링 간격을 변경시킨다(cnd+p)  The client has no data and changes the polling interval (cnd + p)

°클라이언트가 데이터를 갖지 않고, 폴하지 않는다(cnd+np)  The client has no data and does not poll (cnd + np)

ㆍ네트워크 체킹으로부터의 두 개의 결과Two results from network checking

°네트워크가 데이터를 갖지 않는다(nnd)  ° Network has no data (nnd)

°네트워크가 데이터를 갖는다(nd)  ° network has data (nd)

ㆍ4개의 액션(action)이 존재한다.• There are four actions.

°클라이언트로부터 패킷을 얻기(get)  Get a packet from the client

°패킷을 클라이언트로 넣기(put)  Put the packet to the client

°네트워크로부터 패킷을 얻기  Get packets from the network

°네크워크로 패킷을 넣기  ° Packing packets into the network

Peer I/O 서버(315)는 Peer I/O 클라이언트(325)에 의해 시작한다. 이에 응답하여, Peer I/O 클라이언트(325)로 다시 송신하기 전에 기다리기 위해, 상기 클라이언트(325)는 데이터 송신과, Peer I/O 서버(315)에 대한 폴링 간격을 갖는지의 여부를 나타낼 수 있다. Peer I / O server 315 is initiated by Peer I / O client 325. In response, to wait before sending back to the Peer I / O client 325, the client 325 may indicate whether it has a data transmission and a polling interval for the Peer I / O server 315. .

Peer I/O 클라이언트(325)가 상태(cd)를 반환할 때는 언제든지, 천 이(transition, 401)는 클라이언트(325)가 전송할 데이터를 가짐을 나타낸다. 이에 응답하여, Peer I/O 서버(315)는 클라이언트(325)로부터 데이터를 얻어서, 네트워크(117)로 데이터를 발송한다. Get_Packet 액션, 상태(905)를 발행함으로써, 서버(325)는 클라이언트(315)로부터 계속하여 데이터를 얻으며, 클라이언트(315)가 상태(cd)를 반환하는 한(천이(403)), 상기 데이터를 네트워크로 발송한다.Whenever the Peer I / O client 325 returns a status cd, the transition 401 indicates that the client 325 has data to send. In response, Peer I / O server 315 obtains data from client 325 and sends the data to network 117. By issuing a Get_Packet action, state 905, server 325 continues to obtain data from client 315, and so long as client 315 returns a state cd (transition 403). Send to the network.

값(cnd)를 반환함으로써, 클라이언트가 자신은 전송할 어떠한 데이터도 갖지 않는다는 상태를 반환할 때, 또는 수신할 준비가 될 때, Peer I/O 서버(315)는 네트워크를 체크한다(상태(907)로의 천이(407)). 네트워크가 데이터를 갖는 경우, Peer I/O 서버(315)는 네트워크로부터 데이터를 얻고, 상기 데이터를 클라이언트(325)로 발송한다(상태(909)로의 천이(409)). 네트워크가 어떠한 데이터도 갖지 않는 경우(nnd), Peer I/O 서버(315)는 폴링 간격 설정에 따라서 클라이언트(325)를 폴하거나, 폴하지 않을 수 있다. 예를 들어, 폴링 간격이 설정되고(pintv) 클라이언트(325)로의 마지막 전송이 폴링 간격에 도달하는 경우(timeout), Peer I/O 서버(315)가 클라이언트(325)를 폴하며(상태(903)로의 천이(411)), 그렇지 않을 경우, 폴링 간격에 도달하지 않은 경우(!timeout), 서버(315)는 "네트워크 체킹"을 유지한다(상태(907), 천이(413)). By returning the value cnd, the Peer I / O server 315 checks the network when the client returns a status that it has no data to send, or is ready to receive (state 907). Transition to furnace (407). If the network has data, the Peer I / O server 315 obtains the data from the network and sends the data to the client 325 (transition 409 to state 909). If the network has no 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 last transmission to the client 325 reaches the polling interval (timeout), the Peer I / O server 315 polls the client 325 (status 903). Transition 411), otherwise, if the polling interval has not been reached (! Timeout), server 315 remains "network checking" (state 907, transition 413).

도 5는 Peer I/O 클라이언트(325)의 동작을 제어하는 유한 상태 머신(501)의 개념적 도시이다. 5 is a conceptual illustration of a finite state machine 501 that controls the operation of a Peer I / O client 325.

상기 Peer I/O 클라이언트 상태 머신은 4개의 상태를 갖는다.The Peer I / O client state machine has four states.

ㆍ초기 상태, 상태(503)ㆍ Initial State, State (503)

ㆍ상위 레이어 인스트럭션을 대기(판독, 또는 기록), 상태(505)Wait for a higher layer instruction (read or write), state 505

ㆍ기록 준비, Peer I/O 서버 대기, 상태(507)ㆍ Ready to write, waiting for peer I / O server, status (507)

ㆍ판독 준비, Peer I/O 서버 대기, 상태(509)ㆍ Read Ready, Peer I / O Server Wait, State (509)

5개의 이벤트가 존재한다.There are five events.

ㆍ상위 레이어로부터 인스트럭션 판독하기• Reading instructions from the upper layer

ㆍ상위 레이어로부터 인스트럭션 기록하기• Write instructions from the upper layer

ㆍPeer I/O 서버(315)로부터 Poll 커맨드Poll command from Peer I / O server 315

ㆍPeer I/O 서버(315)로부터 Put 커맨드Put command from Peer I / O server 315

ㆍPeer I/O 서버(315)로부터 Get 커맨드ㆍ Get command from Peer I / O server 315

4개의 액션이 존재한다.There are four actions.

ㆍPeer I/O 서버(315)로 상태 "클라이언트가 데이터를 가짐"(cd)을 전송하기To send the status "Client has data" (cd) to Peer I / O server 315

ㆍPeer I/O 서버(315)로 상태 "클라이언트가 데이터를 갖지 않음"(cnd) 전송하기Sending status "client has no data" (cnd) to Peer I / O server 315

°클라이언트가 데이터를 갖지 않고, 폴링 간격을 변경하지 않음(cnd)  ° Client does not have data and does not change polling interval (cnd)

°클라이언트가 데이터를 갖지 않고, 폴링 간격을 변경함(cnd+p)  ° Client has no data and changes polling interval (cnd + p)

°클라이언트가 데이터를 갖지 않고, 폴하지 않음(cnd+np)  ° Client does not have data and does not poll (cnd + np)

ㆍPeer I/O 서버(315)로부터 데이터 얻기ㆍ Get data from Peer I / O server 315

ㆍPeer I/O 서버(315)로 데이터 전송하기ㆍ Send data to Peer I / O server 315

상기 장치(301)는 초기 상태(503)에서 시작하는 Peer I/O 클라이언트(325)를 동작시킨다. 상위 레이어, 가령 TCP/IP 모듈(327)을 통해 통신하는 애플리케이 션(307a-c)은 기록, 또는 판독을 요청할 수 있다. 예를 들어, 장치(301)가 연결을 개시하기를 원할 때, 상기 장치(301) 상의 애플리케이션(307)은 첫 번째 메시지를 전송하여 연결을 개시할 수 있다(Peer I/O 프로토콜은 상기 연결을 개시하는 것이 장치인지 또는 호스트인지에 무관하다). 상위 레이어가 기록 인스트럭션을 발행하는 경우, 상기 Peer I/O 클라이언트(325)는 자신의 "초기(initial)" 상태(503)를 출발하여, "기록 준비(ready write)" 상태(507)로 이동한다(천이(511)). 서버(315)가 Get Packet 커맨드를 발행할 때, 상기 클라이언트(325)는 데이터를 전송하고, 상위 레이어의 인스트럭션을 대기하는 "상위 대기(wait upper)" 상태(505)로 이동한다(천이(514)).The device 301 operates the Peer I / O client 325 starting in the initial state 503. Applications 307a-c that communicate through a higher layer, such as TCP / IP module 327, may request write or read. For example, when device 301 wants to initiate a connection, application 307 on device 301 may initiate a connection by sending a first message (Peer I / O protocol initiates the connection. Regardless of whether it is a device or host to initiate). When the upper layer issues a write instruction, the Peer I / O client 325 leaves its "initial" state 503 and moves to the "ready write" state 507. (Transition 511). When the server 315 issues a Get Packet command, the client 325 transfers data and moves to a "wait upper" state 505 (waiting for a higher layer instruction) (transition 514). )).

클라이언트(325)가 "상위 대기(wait upper)" 상태(505)에 있을 때, 상위 레이어가 "기록"을 발행하는 경우, 상기 클라이언트9325)가 상태(cd)를 Peer I/O 서버(315)로 전송하고, "기록 준비(ready write)" 상태(507)로 이동한다(천이(516)). 한편으로는, 상위 레이어가 "판독"을 발행하는 경우, 클라이언트(325)는 상태(cnd)를 Peer I/O 서버(315)로 전송하고, "판독 준비(ready read)" 상태(509)로 이동한다(천이(517)). 상기 클라이언트(325)는 상기 클라이언트(325)가 "초기" 상태(503)에 있는 동안 "판독" 인스트럭션을 상위 레이어로부터 수신한 경우, "초기(initial)" 상태(503)로부터 "판독 준비(ready read)" 상태(509)로 천이(transition)할 수 있다(천이(521)). "판독 준비(ready read)" 상태(509)에 있을 때, 상기 클라이언트(325)는 또 다른 cnd를 전송하고, "판독 준비(ready read)" 상태(509)에 남아 있는다(천이(519)). 서버(315)가 Put Packet 커맨드를 발행하는 경 우, 클라이언트(325)는 데이터를 얻으며, "상위 대기(wait upper)" 상태(505)로 이동한다(천이(515)). When the client 325 is in the "wait upper" state 505, when the upper layer issues a "write", the client 9325 may send a state cd to the Peer I / O server 315. Is sent to " ready write " state 507 (transition 516). On the other hand, when the upper layer issues a "read", the client 325 sends a state cnd to the Peer I / O server 315 and enters the "ready read" state 509. Move (transition 517). The client 325 reads "ready" from the "initial" state 503 when it receives a "read" instruction from a higher layer while the client 325 is in the "initial" state 503. read "state 509 (transition 521). When in the " ready read " state 509, the client 325 sends another cnd and remains in the " ready read " state 509 (transition 519). . If server 315 issues a Put Packet command, client 325 obtains the data and moves to " wait upper " state 505 (transition 515).

적용예(Application example ( applicationapplication ))

상기 Peer I/O 프로토콜은 많은 적용예를 갖는다. 첫 번째 예로는 호스트 컴퓨터를 통해 네트워크 스마트 카드를 인터텟으로 연결하는 것이 있다. The Peer I / O protocol has many applications. The first example is to connect the network smart card to the internet via a host computer.

스마트 카드는 마이크로프로세서 칩을 내포하는 작은 카드이다. ISO는 스마트 카드에 대하여 두 개의 폼 팩터(form factor)를 정의한다, 즉, 신용 카드 형태의 카드와 SIM(Subscriver Indentification Module) 카드가 그것이다. 스마트 카드는 보안에 뛰어나고, 휴대성이 뛰어나며, 견고(tamper resistant)하다. 이들은 넓은 범위의 적용예에 대하여 보안의 목적을 수행한다, 가령 모바일 통신(셀 폰에 내장된 SIM 카드), 뱅킹, 물리적 접근 제어, 네트워크 접근 제어, 수송, 디지털 신원 등에 있어서 그렇다. 바람직하지 않게도, 스마트 카드 통신 표준은 메인스트림 컴퓨팅의 표준과 부합하지 않으며, 이것이 스마트 카드의 성공을 제한한다.Smart cards are small cards that contain a microprocessor chip. The ISO defines two form factors for a smart card, namely a credit card type card and a Subscriver Indentification Module (SIM) card. Smart cards are secure, portable and tamper resistant. They serve the purpose of security for a wide range of applications, for example in mobile communication (SIM card embedded in cell phones), banking, physical access control, network access control, transport, digital identity and the like. Unfortunately, smart card communication standards do not conform to the standards of mainstream computing, which limits the success of smart cards.

현재의 스마트카드 표준 ISO 7816(비-접촉 스마트 카드에 대해서는 ISO 1443)은 반-이중 시리얼 커맨드/응답 통신 프로토콜을 특정하며, 반면에 표준 인터넷 프로토콜, 가령 PPP, IP 및 TCP는 전-이중 및 피어-투-피어 모드로 동작한다. Peer I/O를 적용함으로써, ISO 7816(또는 ISO 14443) 표준과 호환되는 현재의 스마트카드가 인터넷 노드가 될 수 있다. 이 섹션에서는 ISO 7816 커맨드를 이용하는 Peer I/O의 구현을 설명한다.The current smart card standard ISO 7816 (ISO 1443 for non-contact smart cards) specifies a half-duplex serial command / response communication protocol, while standard Internet protocols such as PPP, IP and TCP are full-duplex and peer. Operate in two-to-peer mode. By applying Peer I / O, the current smart card compatible with the ISO 7816 (or ISO 14443) standard can be an Internet node. This section describes the implementation of Peer I / O using ISO 7816 commands.

도 6은 본원발명에 따르는 무-인프라구조 네트워크 스마트 카드(301)를 네트 워크(117)로 연결하기 위한 첫 번째 대안예를 도시한다. 상기 무-인프라구조(infrastructureless) 네트워크 스마트 카드(301)는 판독기(302)로 연결되며, 상기 판독기는 호스트 컴퓨터(303)로 연결된다. 상기 컴퓨터(303)는 네트워크(117)로 연결된다. 상기 컴퓨터(303)는 인터넷 통신을 카드(301)로 라우팅(routing: 경로 설정)하거나, 상기 카드로부터 인터넷 통신을 라우팅하기 위한 라우터(router) 기능을 한다. 상기 컴퓨터(303)는 네트워크(117)로의 연결을 위한 제 1 IP 어드레스와, 무-인프라구조 네트워크 스마트 카드(301)로의 연결을 위한 제 2 IP 어드레스를 갖는다. 상기 무-인프라구조 네트워크 스마트 카드(301)와 연계되어 있는 제 3 IP 어드레스가 존재한다. 상기 제 3 IP 어드레스는 카드(301)로 할당되거나, 동적으로 배정될 수 있다.6 shows a first alternative for connecting an infrastructure-free network smart card 301 to the network 117 according to the present invention. The infrastructureless network smart card 301 is connected to a reader 302, which is connected to a host computer 303. The computer 303 is connected to a network 117. The computer 303 functions as a router for routing Internet communications to the card 301 or for routing Internet communications from the card. The computer 303 has a first IP address for connecting to the network 117 and a second IP address for connecting to the infrastructure-free network smart card 301. There is a third IP address associated with the infrastructure-free network smart card 301. The third IP address may be assigned to the card 301 or dynamically assigned.

상기 컴퓨터(303)는 인터넷 서비스를 자신에게 연결되어 있는 그 밖의 다른 컴퓨터에게 제공하는 RAS(Remote Access Server)를 갖는다. 스마트카드(301)가 전-이중 시리얼 I/O을 갖는 경우, 다른 전-이중 시리얼 장치와 마찬가지로, TCP/IP/PPP를 갖는 스마트 카드는 컴퓨터(303) 상의 임의의 추가적인 소프트웨어를 로딩하지 않고 RAS를 통해 인터넷 연결을 확립할 수 있다. 실제로, 스마트카드 표준은 반-이중 시리얼 I/O를 특정한다. 전 이중 vs 반-이중 문제에 추가로, 인터넷 프로토콜은 피어-투-피어(peer-to-peer)이며, 이는 노드는 원할 때 토킹할 수 있는 반면에, ISO 7816 및 ISO 14443 프로토콜은, 스마트카드가 단지 단말기에 의해 발행된 커맨드에 응답하는 커맨드/응답 작업을 특정한다. 본원발명에 따라 구현된 Peer I/O 프로토콜은 이러한 프로토콜 미부합 문제 모두를 해결한다.The computer 303 has a Remote Access Server (RAS) that provides Internet services to other computers connected to it. If the smart card 301 has full-duplex serial I / O, like other full-duplex serial devices, the smart card with TCP / IP / PPP does not load any additional software on the computer 303 without the RAS. Internet connection can be established through. In practice, smart card standards specify half-duplex serial I / O. In addition to the full dual vs half-duplex problem, the Internet protocol is peer-to-peer, which allows nodes to talk as they wish, whereas the ISO 7816 and ISO 14443 protocols are smartcards. Specifies a command / response operation that only responds to commands issued by the terminal. The Peer I / O protocol implemented in accordance with the present invention solves all of these protocol non-compliance issues.

본원발명에 따르는 Peer I/O 구현은 호스트 컴퓨터(303)(또는 판독기(302)) 상에서와 스마트 카드(301)에서 함께 동작하는 통신 모듈로서 존재한다. 상기 호스트 컴퓨터(또는 판독기)는 카드와 상기 호스트 상의 RAS 간에서 메시지를 발송하기 위한 서비스를 제공하는 Peer I/O 서버(315)를 내포한다. 상기 카드는 ISO 7816 우위에 존재하고 그 밖의 다른 프로토콜, 가령 PPP 보다 아래 위치하는 Peer I/O 클라이언트를 내포한다. Peer I / O implementations in accordance with the present invention exist as communication modules operating together on the smart card 301 and on the host computer 303 (or reader 302). The host computer (or reader) contains a Peer I / O server 315 that provides a service for sending messages between the card and the RAS on the host. The card contains a Peer I / O client that exists in the ISO 7816 dominance and is located below other protocols such as PPP.

RAS가 카드로 메시지를 전송할 때, 상기 메시지를 포함하는 하나 이상의 APDU 커맨드를 상기 카드로 전송함으로써, 상기 Peer I/O 서버(315)는 메시지를 발송한다. 카드가 메시지를 RAS로 전송하게 하기 위해, Peer I/O 서버(315)가 폴링 간격(polling interval)에 따라 카드로 정기적으로 폴(poll)한다.When a RAS sends a message to a card, the Peer I / O server 315 sends the message by sending one or more APDU commands containing the message to the card. In order for the card to send a message to the RAS, the Peer I / O server 315 periodically polls the card according to the polling interval.

도 7은 Peer I/O 프로토콜을 구현하는 호스트 컴퓨터(303)와 네트워크 스마트 카드(301)에 대한 통신 프로토콜 스택의 하이-레벨 개념도이다.7 is a high-level conceptual diagram of a communication protocol stack for a host computer 303 and a network smart card 301 implementing the Peer I / O protocol.

링크-레이어(link-layer) 프로토콜, 본원에서는 Peer I/O를 포함하는 본원발명의 실시예에서, 상기 Peer I/O 모듈은 호스트 컴퓨터(303)(또는 판독기)와 카드(301)에 모두 존재한다. 호스트 PC 측(303)의 프로토콜 스택에서, Peer I/O 서버 모듈(315)이 Peer I/O 프로토콜 레이어를 구현하고, 카드(301)와, 상기 호스트 컴퓨터(303) 상의 RAS(Remote Access Server, 701) 간에서 메시지를 발송하기 위한 서비스를 제공한다. 스마트 카드(301) 측에서, 상기 프로토콜 스택은 APDU(807) 우위에 위치하고 PPP(329) 등의 다른 프로토콜 아래에 위치하는 Peer I/O 프로토콜 레이어(325)를 내포한다. APDU는 호스트(303)와 카드(301) 사이의 통신을 제공한 다. 상기 Peer I/O 프로토콜은 실행되는 인터넷 프로토콜에 독립적이다. 상위 레이어로부터의 프로토콜의 관점에서, Peer I/O는 메시지를 양 방향으로 운반할 수 있다. 예를 들어, Peer I/O는 PPP 프레임, 또는 이더넷 프레임, 또는 IP 데이터그램을 운반하기 위해 사용될 수 있다. Peer I/O는 PPP 프레임, 또는 이더넷 프레임, 또는 IP 데이터그램 등의 메시지를 운반하기 위해 APDU를 사용한다. Peer I/O에 대한 다음의 설명에서, PAS와 PPP를 예로서 사용한다. 이 경우에서, Peer I/O는 PPP 프레임을 운반하기 위해 APDU를 사용한다.In an embodiment of the present invention comprising a link-layer protocol, herein Peer I / O, the Peer I / O module is present in both the host computer 303 (or reader) and the card 301. do. In the protocol stack of the host PC side 303, the Peer I / O server module 315 implements the Peer I / O protocol layer, and the card 301 and the Remote Access Server (RAS) on the host computer 303, 701 provides a service for sending a message between. On the smart card 301 side, the protocol stack contains a Peer I / O protocol layer 325 that sits on top of the APDU 807 and sits under another protocol, such as the PPP 329. The APDU provides communication between the host 303 and the card 301. The Peer I / O protocol is independent of the internet protocol being executed. In terms of protocols from higher layers, Peer I / O can carry messages in both directions. For example, Peer I / O can be used to carry PPP frames, or Ethernet frames, or IP datagrams. Peer I / O uses APDUs to carry messages such as PPP frames, Ethernet frames, or IP datagrams. In the following description of Peer I / O, PAS and PPP are used as examples. In this case, Peer I / O uses the APDU to carry the PPP frame.

RAS가 메시지를 카드(301)로 전송할 때, 상기 메시지를 내포하는 하나 이상의 APDU 커맨드를 카드(301)로 전송함으로써, 상기 Peer I/O 서버(315)는 메시지를 발송한다. 카드(301)가 RAS로 메시지를 전송하게 하기 위해, Peer I/O 서버(315)는 카드(301)를 정기적으로 폴한다. Peer I/O 서버(315) 및 Peer I/O 클라이언트(325)의 유한 상태 머신이 명시적인 분할 및 조합(fragmentation and assembly) 메커니즘을 사용하지 않고 임의의 길이의 메시지를 발송하기 위한 메커니즘을 형성한다.When the RAS sends a message to the card 301, the Peer I / O server 315 sends the message by sending one or more APDU commands containing the message to the card 301. In order for the card 301 to send a message to the RAS, the Peer I / O server 315 periodically polls the card 301. The finite state machines of the Peer I / O server 315 and Peer I / O client 325 form a mechanism for sending messages of any length without using explicit fragmentation and assembly mechanisms. .

PeerPeer I/O 프로토콜 포맷( I / O protocol format ( PeerPeer I/O  I / O protocolprotocol FormatFormat ))

다음은 ISO 7816 통신 프로토콜 상에 구축되는 Peer I/O의 한 가지 구현예이다. Peer I/O 구현예는 다음의 정의되는 클래스, 인스트럭션, 상태 워드 세트에 제한받지 않는다. 상기 Peer I/O 프로토콜은 Peer I/O 프로토콜에 대하여 새로운 ISO 7816 클래스 CLA = 0x12를 정의한다(ISO 7816-4가 장래의 사용을 위해 0x10 - 0x7F CLA 숫자를 예약했다, ISimplify는 0x10을 사용한다). 이 Peer I/O 클래스에 대하여 3개의 인스트럭션, 즉, POLL, GET_PACKET 및 PUT_PACKET이 정의된다. 상기 Peer I/O 서버(315)는 POLL을 사용하여, 카드가 임의의 것을 전송하기를 원하는지의 여부를 알아보기 위해 상기 카드에 폴(poll)할 수 있으며, GET_PACKET을 사용하여 카드로부터 데이터를 얻을 수 있고, PUT_PACKET을 이용하여 상기 카드로 데이터를 전송할 수 있다. 상기 Peer I/O 프로토콜은 자신의 프로토콜 데이터 유닛을 갖지 않는다. APDU를 직접 사용한다. The following is 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 reserved 0x10-0x7F CLA numbers for future use, ISimplify uses 0x10 ). Three instructions are defined for this Peer I / O class: POLL, GET_PACKET and PUT_PACKET. The Peer I / O server 315 can poll the card to see if the card wants to send anything using POLL, and get data from the card using GET_PACKET. And data can be sent to the card using PUT_PACKET. The Peer I / O protocol does not have its own protocol data unit. Use APDU directly.

Peer I/O 커맨드 APDU는 다음의 포맷을 갖는다.Peer I / O command APDU has the following format.

0x120x12 INSINS NullNull NullNull LengthLength (Data)(Data)

인스트럭션 INS는 다음 중 하나일 수 있다. The instruction INS may be one of the following.

ㆍPOLL (0xE8) : Length = 1; 데이터는 임의의 1바이트(byte)이다POLL (0xE8): Length = 1; The data is any one byte

ㆍPUT_PACKTET (0xEA) : Length는 카드로 전송될 Data(데이터)의 바이트의 수이다PUT_PACKTET (0xEA): Length is the number of bytes of Data to be sent to the card.

ㆍGET_PACKET (0xEC) : Length는 상기 카드로부터 수신된 Data(데이터)의 바이트의 수이다GET_PACKET (0xEC): Length is the number of bytes of Data (data) received from the card.

Length는 1바이트이며, 따라서 최대 데이터 길이는 256바이트이다. POLL 커맨드가 임의의 1바이트를 전송함을 명심하라. 이는 카드에 의해 전송될 어떠한 ACK도 없고 일부 판독기는 잘 동작하지 않는 ISO 7816 Case 1 커맨드를 피하기 위한 것이다. Length is 1 byte, so the maximum data length is 256 bytes. Note that the POLL command sends an arbitrary byte. This is to avoid ISO 7816 Case 1 commands that have no ACK to be sent by the card and some readers do not work well.

응답 APDU는 다음의 포맷을 갖는다.The response APDU has the following format.

ACKACK (Data)(Data) SW1 SW2SW1 SW2

상기 ACK는 Peer I/O 서버(315)로부터 커맨드를 수신하기 위한 카드로부터의 긍정 응답(acknowledgement)을 나타낸다. 상기 ACK는 수신된 커맨드의 INC 코드이 다. 카드 측의 프로세스의 상태는 응답 APDU에서 SW1 및 SW2에 의해 나타난다. Peer I/O 인스트럭션 3가지 모두에 대하여, 응답 상태는 다음과 같다.The ACK indicates an acknowledgment from the card for receiving a command from the Peer I / O server 315. The ACK is the INC code of the received command. The status of the process on the card side is indicated by SW1 and SW2 in the response APDU. For all three Peer I / O instructions, the response status is as follows.

ㆍREADY-WRITExx (가령, 6Cxx) : xx는 카드가 전송할 준비를 하는 바이트의 수를 나타낸다READY-WRITExx (eg 6Cxx): xx represents the number of bytes the card is preparing to transmit

ㆍNO-DATA (가령 9000) : 카드는 수신할 준비가 되었다NO-DATA (eg 9000): The card is ready to receive.

ㆍ9xxx : 카드가 폴링 간격을 설정한다9xxx: Card sets polling interval

보통의 상태에 대하여 6Cxx를 사용하는 이유는 다음과 같다. 호스트 측에서의 IOP API가 APDU 커맨드의 상태를 내보내지 않는다. 따라서 6Cxx는 Peer I/O 서버(315)가 예외로서 이를 포획할 수 있도록 사용된다. The reason for using 6Cxx for normal condition is as follows. The IOP API on the host side does not export the status of APDU commands. Thus 6Cxx is used so that Peer I / O server 315 can catch it as an exception.

PeerPeer I/O 동작( I / O behavior ( PeerPeer I/O  I / O OperationOperation ))

RAS가 데이터를 카드로 전송할 때, Peer I/O 서버(315)는 PUT_PACKET 커맨드를 카드에게로 발행한다. 상기 APDU는 데이터를 내포한다.When the RAS sends data to the card, the Peer I / O server 315 issues a PUT_PACKET command to the card. The APDU contains data.

0x120x12 PUT_PACKETPUT_PACKET NullNull NullNull LengthLength DataData

카드가 데이터를 RAS로 전송하기를 원할 때, 기회를 기다릴 필요가 있다. t아기 Peer I/O 서버(315)는 정기적으로 폴하여, 카드에게 전송할 기회를 제공할 수 있다. 상기 서버는 POLL 커맨드를 발행한다. When the card wants to send data to RAS, it needs to wait for the opportunity. The baby Peer I / O server 315 may poll periodically to give the card an opportunity to send. The server issues a POLL command.

0x120x12 POLLPOLL NullNull NullNull 1One 1One

커맨드 APDU를 Peer I/O 서버(315)로부터 수신한 후, 우선 상기 카드는 ACK로 응답한다. 카드가 전송할 데이터를 갖고 있지 않을 경우, SW1 SW2를 NO-DATA로 설정한다(가령 90 00).After receiving the command APDU from the Peer I / O server 315, the card first responds with an ACK. If the card does not have data to transfer, set SW1 SW2 to NO-DATA (eg 90 00).

ACKACK 90 0090 00

카드가 전송할 데이터를 가질 경우, SW1 SW2를 6Cxx로 설정하며, 이때 xx는 카드가 전송하기를 원하는 데이터의 길이이다. If the card has data to transmit, SW1 SW2 is set to 6Cxx, where xx is the length of data that the card wants to transmit.

ACKACK 6C xx6C xx

Peer I/O 서버(315)가 상태 READY-WRITE(6Cxx)의 응답을 수신하면, 그 밖의 다른 커맨드를 발행하기에 앞서서, Length = xx를 갖는 GET_PACKET 커맨드를 발행한다. When the peer I / O server 315 receives a response of the status READY-WRITE (6Cxx), it issues a GET_PACKET command with Length = xx before issuing any other commands.

0x120x12 GET_PACKETGET_PACKET NullNull NullNull xxxx

카드는 데이터를 포함하는 응답 APDU로 응답한다.The card responds with a response APDU containing the data.

ACKACK DataData SW1 SW2SW1 SW2

SW1 SW2 = 6Cxx일 때, Peer I/O 서버(315)는 또 다른 GET-PACKET 커맨드를 발행할 수 있다.When SW1 SW2 = 6Cxx, the Peer I / O server 315 may issue another GET-PACKET command.

스마트 smart 카드 상에서의On the card 구현( avatar( ImplementationImplementation onon a  a SmartSmart CardCard ))

도 8 및 9는 스마트 카드 시스템에서의, 본원발명에 따르는 피어-투-피어 통신 시스템의 두 개의 대안적 구현예를 도시한다.8 and 9 illustrate two alternative implementations of a peer-to-peer communication system in accordance with the present invention in a smart card system.

도 8은 스마트 카드와 네트워크 간의 통신을 구현하기 위한 성부의 개념적 도시이며, 이때 반-이중 시리얼 I/O를 갖는 시리얼 연결을 이용하여 스마트 카드는 호스트 컴퓨터로 통신한다. 상기 스마트 카드(301)는 호스트 컴퓨터(303)로 판독기(302)로 연결된다. 상기 판독기의 드라이버는 Peer I/O 서버(315)를 구현한다. 시리얼 포트 드라이버(803)와 함께, 복합 드라이버가 호스트 컴퓨터(303)의 시점에서 (가상의) 시리얼 포트로서 동작한다. 가상 시리얼 포트로의 표준 RAS 연결에 의해, 스마트 카드(301)로의 네트워크 연결이 가능해진다.8 is a conceptual illustration of a voice for implementing communication between a smart card and a network, where a smart card communicates to a host computer using a serial connection with half-duplex serial I / O. The smart card 301 is connected to a reader 302 to a host computer 303. The driver of the reader implements a Peer I / O server 315. Together with the serial port driver 803, the composite driver acts as a (virtual) serial port at the point of view of the host computer 303. The standard RAS connection to the virtual serial port enables network connection to the smart card 301.

Peer I/O 서버(315)는 스마트 카드 판독기의 하드웨어에서 구현될 수 있다. 도 9는 스마트 카드와 네트워크 간의 통신을 구현하기 위한 구성요소의 개념적 도시이며, 이때 스마트 카드는 하드웨어 인터페이스 장치와 반-이중 시리얼 연결을 통해 통신하고, 상기 인터페이스는 전-이중 연결을 이용하여 호스트 컴퓨터와 통신한다. 판독기(302)는 시리얼 연결, 또는 USB 연결을 통해 호스트 컴퓨터(303)로 연결된다(USB 연결을 이용할 때, USB/시리얼 변환이 판독기와 호스트 컴퓨터에서 요구된다). 다시, 시리얼 포트로의 표준 RAS 연결에 의해, 스마트 카드(301)로의 네트워크 연결이 가능해진다.Peer I / O server 315 may be implemented in hardware of a smart card reader. 9 is a conceptual illustration of components for implementing communication between a smart card and a network, where the smart card communicates with a hardware interface device over a half-duplex serial connection, the interface using a full-duplex connection to a host computer; Communicate with The reader 302 is connected to the host computer 303 via a serial connection or a USB connection (when using a USB connection, USB / serial conversion is required at the reader and the host computer). Again, the standard RAS connection to the serial port allows for network connection to the smart card 301.

멀티미디어 카드(Multimedia card ( MMCMMC ))

또 다른 실시예에서, 본원발명은 MMC(MultiMedia Card)를 네트워크로 연결하기 위해 사용된다. 이 실시예에서, MMC 카드는 본원에서 설명된 네트워크 스마트 카드(201)와 거의 동일한 역할을 한다.In another embodiment, the present invention is used to connect a MultiMedia Card (MMC) to a network. In this embodiment, the MMC card plays almost the same role as the network smart card 201 described herein.

멀티미디어 카드(MMC)는 모바일 적용예, 가령 셀 폰, 디지털 카메라, MP-3 음악 재생기, PDA를 위한 작고(24mm x 32mm, 또는 18mm x 1.4mm), 이동가능하며, 고형의 메모리 카드이다. MMC의 저장 용량은 1Gbyte의 데이터에 이른다. 고속 MMCs는 52Mbits/초까지의 속도로 데이터를 전송할 수 있다. MMC는 애플리케이션을 판독/기록하기 위한 플래시 기법(flash technology), 또는 애플리케이션을 단지 판독만하기 위한 ROM, 또는 플래시 기법을 사용한다. Multimedia cards (MMC) are small (24mm x 32mm, or 18mm x 1.4mm), removable, solid memory cards for mobile applications, such as cell phones, digital cameras, MP-3 music players, PDAs. MMC's storage capacity reaches 1Gbyte of data. High speed MMCs can transfer data at speeds up to 52 Mbits / second. MMC uses flash technology to read / write an application, or ROM to read only the application, or flash technology.

MMC는 7-핀 시리얼 인터페이스를 가지며, 상기 인터페이스는 3개의 통신 라인(커맨드, 클럭 및 데이터)과, 4개의 공급 라인을 갖는다. MMC 초기화 및 데이터 전송은 MMC 버스 프로토콜을 기반으로 이뤄진다. 각각의 메시지가 3개의 토큰(token: 커맨드, 응답 및 데이터) 중 하나를 이용한다. 상기 커맨드 토큰은 호스트에서 하나 이상의 카드로 전송되는 동작을 개시한다. 상기 응답 토큰은 어드레스된 하나 이상의 카드로부터 호스트로 전송된다. 데이터 토큰은 어느 방향으로나 진행할 수 있다. 데이터 및 커맨드 라인 상의 모든 비트는 클럭을 이용하여 동기화되어 전송된다.The MMC has a 7-pin serial interface, which has three communication lines (command, clock and data) and four supply lines. MMC initialization and data transfer are based on the MMC bus protocol. Each message uses one of three tokens (command, response and data). The command token initiates an operation that is sent from the host to one or more cards. The response token is sent to the host from one or more addressed cards. The data token can go in either direction. All bits on the data and command line are transmitted in synchronization using a clock.

보안 MMC는 콘텐츠 보호 및 전자 거래를 위해 스마트 카드 보안 특징을 MMC에 추가한 것이다. 상기 카드 내에서 보안 저장을 위해 변형 억제 모듈(tamper resistant module)을 포함하며, 암호화 및 인증화를 할 수 있다. 예를 들어, Infineon 기법은 자신의 보안 MMC에서 자신의 스마트 카드 하드웨어 기법을 사용한다. 상기 보안 MMC는 표준 MMC와 완전하게 호환된다.Security MMC adds smart card security features to MMC for content protection and electronic transactions. A tamper resistant module is included for secure storage in the card and can be encrypted and authenticated. For example, the Infineon technique uses its smart card hardware technique in its secure MMC. The secure MMC is fully compatible with the standard MMC.

최근, 멀티미디어 카드 연합(www.mmca.org)은 차세대 보안 멀티미디어 카드(보안 MMC)를 표준화하기 위한 작업 그룹을 형성하였다(www.mmca.org/press/SecurityFinal.pdf). 이러한 새로운 규격 V.2.0은 스마트 카드 기법을 적용하기 위한 통신 인터페이스를 생성하기 위해 MMC 표준 프로토콜의 확장을 정의하고 있다. 이에 따라서, MMC가 스마트 카드 보안 특징, 가령 암호화 및 인증화를 제공할 수 있다. 확장된 MMC 커맨드 세트에 의해, MMC 인터페이스가 표준 스마트 카드 ISO 7816 APDU를 운반할 수 있다.Recently, the Multimedia Card Alliance (www.mmca.org) has formed a working group to standardize the next generation of secure multimedia cards (Security MMC) (www.mmca.org/press/SecurityFinal.pdf). This new specification, V.2.0, defines an extension of the MMC standard protocol to create a communication interface for applying smart card techniques. Accordingly, the MMC can provide smart card security features such as encryption and authentication. The extended MMC command set allows the MMC interface to carry a standard smart card ISO 7816 APDU.

스마트 카드가 인터넷 노드가 될 수 있게 해주는 본원발명은 보안 MMC를 특징짓기 위해 적용되며, 이는 도 7(e)에서 도시된다. 이 실시예에서, Peer I/O 프로 토콜(추후 더욱 상세히 설명)은 MMC 버스 프로토콜을 이용하여 Peer I/O 클라이언트(325)에서 구현되어, 인터넷 프로토콜 데이터, 가령 PPP 프레임을 운반할 수 있다. SPI는 MMC 버스 외에, MMC로의 또 다른 통신 인터페이스이다. 일부 MMC 카드는 MMC, 또는 SPI 모드를 선택할 수 있다. 따라서 네트워크 스마트 카드에서의 SPI의 이용을 설명하는 앞서 제공된 방법은 보안 MMC에서도 역시 적용된다. 호스트, 또는 네트워크와 통신하기 위해, 상기 보안 MMC는 그 밖의 다른 멀티미디어 전송 프로토콜(multimedia transport protocol)을 사용할 수 있다. 도 10은 보안 MMC를 인터넷 노드로서 만들기 위한 하나의 예시적인 구성을 도시한다. 그 밖의 다른 예로는 PPP 및 Peer I/O를 그 밖의 다른 링크 레이어 프로토콜로 대체하는 것과, TCP를 그 밖의 다른 전송 프로토콜, 가령 UDP로 대체하는 것이 있다.The present invention, which allows a smart card to be an Internet node, is applied to characterize a secure MMC, which is shown in Figure 7 (e). In this embodiment, the Peer I / O protocol (described in more detail later) may be implemented in the Peer I / O client 325 using the MMC bus protocol to carry Internet protocol data, such as PPP frames. SPI is another communication interface to the MMC, in addition to the MMC bus. Some MMC cards can choose MMC or SPI mode. Thus, the previously provided method of describing the use of SPI in network smart cards also applies to secure MMC. In order to communicate with a host or network, the secure MMC may use other multimedia transport protocols. 10 shows one example configuration for making 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.

근거리 장 통신(Near field communication ( NFCNFC : : NearNear FieldField CommunicationCommunication ))

상기 근거리 장 통신(NFC)은 무선 인터페이스 및 프로토콜이다. 이는 고립된 장치(isolated device)로부터 네트워크 장치로 이동하는 가전제품을 표적으로 한다. 사용자가 네트워크를 구성할 필요없이, 서로 가까워짐으로써, 상기 NFC 장치는 통신한다. 상기 NFC 인터페이스는 13.56MHz의 조정되지 않은 RF 대역에서 동작한다. 상기 통신은 반-이중 통신이다. 동작 거리(operating distance)는 약 0 내지 20㎝이다(NFC는 "근거리 장 통신-백서(Near Field Communication)", ECMA 인터내셔날, Ecma/TC32-TG19/2004/1에서 기재되어 있다). The near field communication (NFC) is an air interface and protocol. This targets consumer electronics moving from an isolated device to a network device. The NFC devices communicate by getting closer to each other without the user having to configure the network. The NFC interface operates in an unregulated RF band of 13.56 MHz. The communication is half-duplex. The operating distance is about 0 to 20 cm (NFC is described in "Near Field Communication", ECMA International, Ecma / TC32-TG19 / 2004/1).

NFC 프로토콜은 개시자(Initiator)와 표적(Target)을 구분한다. 상기 개시자 장치는 데이터 교환을 개시하고 제어한다. 상기 표적 장치는 상기 개시자로부터의 요청에 답한다. 상기 NFC 프로토콜은 두 개의 동작 모드를 가지며, 능동 모드(active mode)와 수동 모드(passive mode)가 그것이다. 능동 모드에서, 두 장치는 모두 데이터를 운반하기 위한 자신들의 고유 RF 장(field)을 생성한다. 수동 모드에서, 단지 개시자만이 RF 장을 생성하며, 이것을 개시자 장치와 표적 장치가 데이터를 전송하기 위해 모두 사용한다. 상기 NFC 장치는 106,212, 또는 424 kbit/s로 초기 통신 속도를 설정한다. 상기 능동 통신 모드는 더 높은 비트율인 6Mbit/s까지 도달할 수 있다("Near Field Communication-Interface and Protocol(NFCIP-I)", 표준 ECMA-340, 2002년11월). The NFC protocol distinguishes an initiator from a target. The initiator device initiates and controls data exchange. The target device responds to a request from the initiator. The NFC protocol has two modes of operation, active mode and passive mode. In the active mode, both devices generate their own RF field for carrying data. In passive mode, only the initiator generates an RF field, which both the initiator device and the target device use to transmit data. The NFC device sets an initial communication rate at 106,212, or 424 kbit / s. The active communication mode may reach a higher bit rate of 6 Mbit / s (“Near Field Communication Interface and Protocol (NFCIP-I)”, standard ECMA-340, November 2002).

상기 NFC는 매우 짧은 범위의 무선 프로토콜이다. 직관적으로, 통시하기 위해 두 개의 NFC 장치가 서로 매우 가까이 위치해야하기 때문에, 이는 안전하다. 통신의 수동 모드는 NFC의 중요한 특징이다. 배터리에 의해 파워가 공급되는 모바일 장치, 가령 모바일 폰, 또는 파워 소스가 없는 모바일 장치가 RF 장을 생성할 필요없이, 그 밖의 다른 NFC 장치와 통신할 수 있다.NFC is a very short range wireless protocol. Intuitively, this is safe because the two NFC devices must be located very close to each other in order to communicate. Passive mode of communication is an important feature of NFC. A battery powered mobile device, such as a mobile phone or a mobile device without a power source, can communicate with other NFC devices without having to generate an RF field.

상기 NFC 장치는 NFC의 데이터 교환 프로토콜(DEP: Data Exchange Protocol)을 이용하여 데이터를 교환한다. 상기 DEP은 요청/응답 프로토콜이다. 개시자가 요층을 전송하고, 표적이 응답을 송신한다. RF 장을 생성하지 않는 NFC 장치는 항상 통신의 수동 모드에서 동작하며, 표적 장치가 된다. 이는 표준 ISO 7816, 또는 ISO 14443 스마트 카드와 유사한 상황이다. 앞서 언급된 기법과 유사하게, DEP을 이용하는 Peer I/O를 구현할 수 있다. 예를 들자면, Peer I/O 커맨드를 정의하기 위해, DEP 프로토콜 헤더의 정해지지 않은 비트(bit) 설정을 사용할 수 있다. The NFC device exchanges data using a data exchange protocol (DEP) of NFC. The DEP is a request / response protocol. Initiator sends urine layer and target sends response. NFC devices that do not generate an RF field always operate in the passive mode of communication and become target devices. This is similar to the standard ISO 7816, or ISO 14443 smart card. Similar to the techniques mentioned above, we can implement Peer I / O using DEP. For example, to define a Peer I / O command, you can use an undefined bit setting in the DEP protocol header.

네트워크 프로토콜이 수동 NFC 표적 장치에서 구현되는 경우, Peer I/O는 이러한 장치가 네트워크 피어(peer)로서 동작할 수 있게 한다, 즉, 활성 장치(active device)가 될 수 있게 한다. If the network protocol is implemented in a passive NFC target device, Peer I / O allows such a device to act as a network peer, i.e. become an active device.

기타 Etc 적용예Application example

Dallas Semiconductor의 iButton은 16mm의 스테인리스 스틸에 내장된 컴퓨터 칩이다(http://www.ibutton.com).Dallas Semiconductor's iButton is a computer chip embedded in 16mm stainless steel (http://www.ibutton.com).

상기 iButton은 전자 열쇠(key fob), 반지, 시계, 또는 그 밖의 다른 개인용 물품에 부착될 수 있다. 상기 iButton의 적용예는, 빌딩 및 컴퓨터로의 접근 제어를 포함한다. 상기 iButton은 판독기/기록기 장치를 통해 호스트 컴퓨터와 통신한다. 이러한 통신은 데이터 전송이 비트 시퀀스형이고 반-이중형식인 단일-와이어 프로토콜(1-wire protocol)을 사용한다. 판독기/기록기를 포함하는 호스트가 매스터(master)인 동안, 상기 iButton은 슬레이브(slave)로 간주되어진다. 이러한 iButton의 단일-와이어 프로토콜을 이용하여 Peer I/O는 구현될 수 있다. 이러한 구현에 의해, 상기 iButton은 활성 피러가 될 수 있고, 통신을 개시할 수 있다.The iButton may be attached to an electronic key fob, ring, watch, or other personal item. Applications of the iButton include access control to buildings and computers. The iButton communicates with a host computer via a reader / writer device. This communication uses a one-wire protocol in which the data transmission is bit sequenced and semi-duplex. While the host containing the reader / writer is a master, the iButton is considered to be a slave. Peer I / O can be implemented using this iButton single-wire protocol. By such an implementation, the iButton may become an active peer and initiate communication.

그 밖의 다른 많은 장치가 반-이중 시리얼 커맨드/응답(마스터/슬레이브) 통신 프로토콜을 이용한다, 예를 들어, 원격 모니터링 장치(가령 위성 모뎀 모니터링, 환자의 홈 모니터링), 오디오 장치 및 다양한 제어 시스템이 있다. Peer I/O 구현예에 의해, 이러한 장치들은 네트워킹 프로토콜을 지원하게 되고 네트워크에서 활성 피어가 될 수 있다.Many other devices use half-duplex serial command / response (master / slave) communication protocols, for example remote monitoring devices (eg satellite modem monitoring, patient home monitoring), audio devices and various control systems. . By Peer I / O implementation, these devices will support networking protocols and become active peers in the network.

앞선 설명으로부터, 본원발명이 제공하는 피어-투-피어 통신 방법 및 시스템 이 자원-제약형 장치가 네트워크 피어(peer)로서 통신할 수 있게 해주면서 효과적이며 유연한 피어-투-피어 통신을 제공함이 자명해질 것이다. 본원발명의 방법에 따라 구현되거나 동작하는 로직(logic)을 포함하는 전자 장치가 반-이중 시리얼 커맨드/응답 통신 링크를 통해 호스트 장치와 통신하도록 설계된다할지라도, 비동기 반-이중 방식으로 통신함이 자명하다. 본원발명에 따르는 피어-투-피어 통신을 위한 시스템 및 방법은 호스트와 자원-제약형 장치에 최소 전력 소모를 추가하고, 따라서 제한된 전력 공급 용량을 갖는 작은 휴대용 장치에 유리하게 전개될 수 있다. 따라서 본원발명에 따르는 피어-투-피어 통신의 시스템 및 방법이 기존의 통신 시스템의 우위에 있는 몇 가지 이점을 제공한다.From the foregoing description, it will be apparent that the peer-to-peer communication method and system provided by the present invention provide effective and flexible peer-to-peer communication while allowing resource-constrained devices to communicate as network peers. will be. Although an electronic device comprising logic implemented or operating in accordance with the method of the present invention is designed to communicate with a host device via a half-duplex serial command / response communication link, Self-explanatory Systems and methods for peer-to-peer communication in accordance with the present invention add minimal power consumption to host and resource-constrained devices, and thus may be advantageously deployed in small portable devices with limited power supply capacity. Thus, the systems and methods of peer-to-peer communication in accordance with the present invention provide several advantages over existing communication systems.

Claims (12)

반-이중 통신만이 가능한 자원-제약형 장치(resource-constrained device)와, 호스트 컴퓨터와, 원격 네트워크 노드(remote network node) 간의 네트워크를 통한 통신 방법에 있어서, 상기 호스트 컴퓨터 및 원격 네트워크 노드는 네트워크 클라이언트 및 서버를 이용하여 상기 자원-제약형 장치와 통신하고, 상기 자원-제약형 장치는 중앙 프로세싱 유닛과, 랜덤 액세스 메모리(RAM)와, 비-휘발성 메모리와, 판독-전용 메모리(ROM)와, 입력 및 출력 소자를 가지며, 상기 자원-제약형 장치는 물리 통신 링크 연결(physical communication link connection)을 통해 상기 호스트 컴퓨터(host computer)로 연결되어 있으며, 상기 방법은In a method of communicating via a network between a resource-constrained device capable of only half-duplex communication and a host computer and a remote network node, the host computer and the remote network node are networked. Communicate with the resource-constrained device using a client and server, the resource-constrained device having a central processing unit, random access memory (RAM), non-volatile memory, read-only memory (ROM), And a resource-constrained device, the resource-constrained device being connected to the host computer via a physical communication link connection. - 인터페이스 장치를 통해 상기 자원-제약형 장치와 상기 호스트 컴퓨터 간의 물리 링크 연결을 확립하는 단계,Establishing a physical link connection between the resource-constrained device and the host computer via an interface device; - 상기 인터페이스 장치와 통신하도록, 그리고, 상기 원격 네트워크 노드와 통신하도록 작동하는 하나 이상의 링크 레이어 통신 프로토콜과 네트워킹 프로토콜을 구현하는 통신 모듈을 상기 자원-제약 장치 상에서 실행하는 단계,Executing a communication module on the resource-constrained device, the communication module implementing one or more link layer communication protocols and a networking protocol operative to communicate with the interface device and to communicate with the remote network node, - 통신 모듈에 따라 상기 자원-제약형 장치를 동작시키는 단계로서, 이때, 상기 통신 모듈은 입력 이벤트(input event)에 의해, 그리고, 상기 자원-제약형 장치 상에서 실행되는 하나 이상의 보안 네트워크 애플리케이션에 의해, 구동되며, 상기 네트워크 애플리케이션은 호스트 컴퓨터 및 원격 네트워크 노드와 통신할 것을 상기 자원-제약형 장치의 통신 모듈에게 요청하는, 단계,Operating the resource-constrained device in accordance with a communication module, wherein the communication module is operated by an input event and by one or more secure network applications running on the resource-constrained device. , The network application requesting a communication module of the resource-constrained device to communicate with a host computer and a remote network node, - 상기 인터페이스 장치로 하여금 상기 자원-제약형 장치와 상기 네트워크 간에서 메시지를 발송하도록 하는 제 1 유한 상태 머신(finite state machine)에 따라 상기 인터페이스 장치를 동작시키는 단계로서, 이때, 상기 인터페이스 장치는, 상기 자원-제약형 장치가 피어-투-피어 통신 프로토콜에 따라 개시하고 메시지를 전송하도록 하는 상태와, 상기 자원-제약형 장치가 개시하고 메시지를 전송하려는 의도가 없음을 표시함에 따라, 일정 시간 주기동안 상기 자원-제약형 장치와의 상호작용을 지연시키는 상태인 하나 이상의 상태(state) 중 하나의 상태에 있는, 단계, Operating the interface device according to a first finite state machine which causes the interface device to send a message between the resource-constrained device and the network, wherein the interface device is A period of time, indicating that the resource-constrained device initiates and transmits a message according to a peer-to-peer communication protocol and indicates that the resource-constrained device does not initiate and intend to transmit a message During a state in one of one or more states which is a state which delays interaction with the resource-constrained device, - 상기 자원-제약형 장치로 하여금 피어-투-피어 통신 프로토콜에 따라 인터페이스 장치를 통해 호스트 컴퓨터에 또는 원격 네트워크 노드에 메시지를 송신하도록 하는 제 2 유한 상태 머신에 따라 상기 자원-제약형 장치를 동작시키는 단계, 그리고,Operate the resource-constrained device according to a second finite state machine that causes the resource-constrained device to send a message to a host computer or to a remote network node via an interface device according to a peer-to-peer communication protocol. Making the step, and - 상기 인터페이스 장치로부터 상기 자원-제약형 장치로의 폴링 메시지 전송 간의 간격을 상기 인터페이스 장치에 표시하는 폴링-간격을 설정하도록 상기 자원-제약형 장치를 동작시키는 단계Operating the resource-constrained device to set a polling-interval that indicates to the interface device an interval between polling message transmissions from the interface device to the resource-constrained device. 를 포함하는 것을 특징으로 하는 통신 방법. Communication method comprising a. 제 1 항에 있어서, 상기 인터페이스 장치는 호스트 컴퓨터와 자원-제약형 장치 사이에 연결된 하드웨어 장치임을 특징으로 하는 통신 방법. 2. The method of claim 1 wherein the interface device is a hardware device coupled between a host computer and a resource-constrained device. 제 1 항에 있어서, 상기 인터페이스 장치는, 물리 링크와 상위 레벨 통신 프로토콜을 이행하는 통신 모듈 사이의 호스트 컴퓨터 상에서 실행되는 소프트웨어 모듈을 이용하여 작동하는 것을 특징으로 하는 통신 방법. The method of claim 1, wherein the interface device operates using a software module running on a host computer between the physical link and the communication module implementing the high level communication protocol. 제 1 항에 있어서, The method of claim 1, - 상기 인터페이스 장치를 동작시켜서, 반-이중 시리얼 연결과 전-이중 연결 사이의 브리징(bridging) 기능을 수행하는 단계 Operating the interface device to perform a bridging function between a half-duplex serial connection and a full-duplex connection 를 더 포함하는 것을 특징으로 하는 통신 방법. Communication method characterized in that it further comprises. 제 4 항에 있어서, 상기 브리징 기능을 수행하는 단계는 The method of claim 4, wherein performing the bridging function 커맨드/응답 모드(command/response mode)에서 동작하는 자원-제약형 장치를 피어(peer)로서 네트워크 노드와 통신하게 해주는 기능,The ability to communicate with a network node as a peer to a resource-constrained device operating in command / response mode, 반-이중 시리얼 통신 모드에서 동작하는 자원-제약형 장치가 전-이중 통신 트래픽을 다루게 해주는 기능,Resource-constrained device operating in half-duplex serial communication mode to handle full-duplex communication traffic; 상위 레이어 프로토콜(upper layer protocol) 프레임을 캡슐화하는 기능,The ability to encapsulate upper layer protocol frames, 하위 링크 레이어의 프레임 크기 한계를 초과하는 상위 레이어 프로토콜 프레임의 전송을 활성화시키는 기능, 그리고The ability to enable transmission of higher layer protocol frames that exceed the frame size limit of the lower link layer, and 상위 레이어 프로토콜의 다수의 논리적 연결(logical connection)을 지원하는 기능Ability to support multiple logical connections of higher layer protocols 중 하나 이상의 기능을 제공하는 단계를 더 포함하는 것을 특징으로 하는 통신 방법. And providing one or more of the following functions. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020077017106A 2005-02-11 2006-02-11 System and method for data communications allowing slave devices to be network peers KR101172930B1 (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
KR20080005481A KR20080005481A (en) 2008-01-14
KR101172930B1 true KR101172930B1 (en) 2012-08-14

Family

ID=36501861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077017106A KR101172930B1 (en) 2005-02-11 2006-02-11 System and method for data communications allowing slave devices to be network peers

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 (9)

* 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
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
EP1864470A1 (en) 2007-12-12
WO2006086729A1 (en) 2006-08-17
JP2008538458A (en) 2008-10-23
JP4869259B2 (en) 2012-02-08
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
KR101172930B1 (en) System and method for data communications allowing slave devices to be network peers
JP6138184B2 (en) Multiple application management method and system in near field communication
KR101497165B1 (en) Method for optimizing near field links
EP2819014B1 (en) Near field communication host controller interface
US8540164B2 (en) Answer to reset (ATR) pushing
EP1875757A1 (en) Method for the management of a peripheral unit by a sim card in wireless communication terminals, and peripheral unit for implementing the method
EP2045992A1 (en) A method for accessing a portable device, corresponding portable device, host device and system
US20080005261A1 (en) Grouping Application Protocol Data Units for Wireless Communication
JP4293729B2 (en) Chip card reader long-distance communication terminal
US20040003059A1 (en) Active key for wireless device configuration
CN109862553B (en) Terminal and communication method
CA2591172C (en) Answer to reset (atr) pushing
CA2548042C (en) Grouping application protocol data units for wireless transmission
EP4187984A1 (en) Bluetooth low energy connection power consumption

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 8