KR101068380B1 - 다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템 - Google Patents

다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템 Download PDF

Info

Publication number
KR101068380B1
KR101068380B1 KR1020097002275A KR20097002275A KR101068380B1 KR 101068380 B1 KR101068380 B1 KR 101068380B1 KR 1020097002275 A KR1020097002275 A KR 1020097002275A KR 20097002275 A KR20097002275 A KR 20097002275A KR 101068380 B1 KR101068380 B1 KR 101068380B1
Authority
KR
South Korea
Prior art keywords
electronic device
smart card
card reader
communication protocol
peripheral
Prior art date
Application number
KR1020097002275A
Other languages
English (en)
Other versions
KR20090111799A (ko
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 KR20090111799A publication Critical patent/KR20090111799A/ko
Application granted granted Critical
Publication of KR101068380B1 publication Critical patent/KR101068380B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Abstract

본 발명은 전자 시스템(1)에 관한 것이며, 상기 전자 시스템(1)은 적어도 하나의 호스트 처리 전자 장치(10) 및 적어도 하나의 주변 전자 장치(12)를 포함하며, 상기 주변 전자 장치(12)는 적어도 두 가지 기능을 수행하기에 적절하며, 상기 호스트 처리 전자 장치(10) 및 상기 주변 전자 장치(12)는 적어도 하나의 인터페이스(11)를 통해 상호접속된다. 본 발명에 따르면, 상기 호스트 처리 전자 장치(10) 및 상기 주변 전자 장치(12)는, 하나의 공통의 "다기능" 인터페이스(11)를 통해 통신하기에 적절하여서, 상기 호스트 처리 전자 장치(10) 및 상기 주변 전자 장치(12)가 상기 다기능 인터페이스(11)를 통해 상기 적어도 두 가지 기능 각각과 관련된 적어도 하나의 데이터 항목을 교환하게 된다. 본 발명은 또한 호스트 처리 전자 장치(10)와 적어도 하나의 대응 주변 전자 장치(12)에 대한 통신 방법에 관한 것이다.
단일 공통 인터페이스, 호스트 전자 장치, 주변 장치, 다기능 인터페이스

Description

다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템{A MULTI-FUNCTION PERIPHERAL DEVICE, CORRESPONDING METHOD AND ELECTRONIC SYSTEM HAVING A PERIPHERAL AND A HOST COMMUNICATING VIA A SINGLE INTERFACE}
본 발명은 일반적으로 다기능 주변 전자 장치들에 관한 것으로, 특히 각각이 스마트 카드 판독기를 구비하는 다기능 주변 전자 장치들에 관한 것이다.
"주변 전자 장치" 혹은 "주변 장치"라는 용어는, 본 명세서에서 호스트 처리 전자 장치(이하에서는 "호스트"로도 또한 칭해짐)(주변 장치가 갖는 기능들을 그 배치에 따라 적어도 부분적으로 이용하기 위해 이와 결합될 수 있음)와는 구별되는 컴퓨터 하드웨어의 구성요소를 의미하는 것으로 사용된다.
주변 장치는, 호스트 퍼스널 컴퓨터(PC), 모바일 전화, 혹은 PDA(personal digital assistant) 등의 호스트와 협업하도록 설계된다.
일반적으로, 호스트는 마스터로서 동작하며, 반면에 주변 장치는 슬레이브로서 동작한다. 다기능 주변 장치는 호스트에 의해 요구되는 하나 이상의 기능을 실행하며, 호스트로부터의 커맨드에 응답하여 데이터를 호스트에 전송할 수 있다.
본 발명은 또한 호스트 처리 전자 장치와 대응 다기능 주변 전자 장치 간의 통신 방법에 관한 것이다.
특허 문헌 EP 1 473 664 A2에서는 특히, 두 가지 기능, 즉 스마트 카드 판독기 기능 및 데이터 스토리지 기능(data storage function)을 갖는 다기능 주변 장치를 개시하고 있다.
스마트 카드 판독기 기능에 액세스하기 위해서는, 스마트 카드를, 호스트 PC에 그 자체가 연결되어 있는 스마트 카드 판독기 주변 장치에 삽입한다.
삽입된 스마트 카드, 혹은 다기능 주변 장치에 특정한 메모리에 저장되어 있는 데이터를 검색하기 위해, 두 개의 개별적인 인터페이스들, 즉 칩/스마트 카드 인터페이스 및 대용량 스토리지 인터페이스를 통한 다기능 주변 장치와의 통신을 호스트 PC가 제어한다.
본 발명의 특별한 목적은, 호스트의 복수의 기능들에 액세스하는 것을 보장하면서, 공지된 해결책에 대한 대안의 기술적 해결책을 제공하는 다기능 주변 전자 장치, 대응 전자 시스템, 및 다기능 주변 장치와 호스트 간의 대응 통신 방법을 제공하는 것이다.
<발명의 요약>
본 발명은, 전자 시스템에 의해 이 목적 및 이하에 나타나는 다른 목적들을 달성하는데, 상기 전자 시스템은, 적어도 하나의 호스트 처리 전자 장치 및 적어도 하나의 주변 전자 장치를 포함하며, 상기 주변 전자 장치는 적어도 두 가지 기능들을 수행하기에 적절하며, 상기 호스트 처리 전자 장치 및 상기 주변 전자 장치는 적어도 하나의 인터페이스를 통해 상호접속되어 있다.
본 발명에 따르면, 상기 호스트 처리 전자 장치 및 상기 주변 전자 장치는 하나의 공통의 "다기능" 인터페이스를 통해 통신하기에 적절하며, 이에 따라, 상기 호스트 처리 전자 장치 및 상기 주변 전자 장치는 상기 다기능 인터페이스를 통해 상기 적어도 두 가지 기능들 각각과 관련된 적어도 하나의 데이터 항목을 교환하게 된다.
따라서, 본 발명의 일반적인 원리는, 호스트와 다기능 주변 장치 사이에 단일 인터페이스를 삽입하여서, 다기능 주변 장치에서 이용가능한 기능들 중 적어도 하나의 기능에 특정한 데이터를, 호스트로부터 다기능 주변 장치로, 혹은 다기능 주변 장치로부터 호스트로 전송하는 것을 가능하게 하는 것에 기초한 것이다.
따라서, 전술한 특허 문헌으로부터 공지된 기술적 해결책과 달리, 본 발명은, 각 기능마다 하나의 전용 인터페이스를 가져서 다기능 주변 장치에 의해 제공되는 기능들의 수와 동일한 인터페이스들의 수를 필요로 하는 것이 아니라, 동일한 인터페이스가 복수의 기능들을 관리할 수 있는 신규한 방안에 기초한 것이다.
따라서, 다기능 주변 장치에서 이용가능한 기능들 중 임의의 하나의 기능과 관련된 데이터를 송수신하는 데에 있어 단지 하나의 통신 프로토콜만이 필요할 수 있음을 이해할 것이다.
이러한 방식으로, 이에 따라 본 발명은 단순하며, 특히, 대응 다기능 주변 장치를 제조 및 개발하기 위한 제조 및 개발 비용을 전술한 기술적 해결책에 비해 최적화하는 기술적 해결책을 제안한다.
바람직한 실시예에서, 상기 주변 전자 장치는, "주변 CPU"로도 또한 칭해지는 중앙 처리 장치를 포함하며, 상기 주변 CPU는 상기 다기능 인터페이스에 접속되어 있으며, 상기 다기능 인터페이스는 최적의 통신 채널 수를 가지며, 상기 최적의 통신 채널 수는, 상기 적어도 두 가지 기능을 포함하는 세트로부터 선택된 기능과 관련된 통신 채널 수에 대응하며, 주변 전자 장치가, 선택된 기능과 관련된 적어도 하나의 데이터 항목을 상기 호스트 전자 처리 장치와 교환하기 위해 단일의 공통 다기능 인터페이스를 통해, 상기 적어도 두 가지 기능을 포함하는 세트로부터 개별적으로 선택되는 기능을 수행하기에 적절할 경우 더 많거나 혹은 가장 많은 수의 통신 채널을 요구한다.
즉, 다기능 주변 장치의 마이크로프로세서는, 이용가능한 기능들 중에서 선택된 하나의 기능을 관리하며 더 많거나 가장 많은 수의 통신 채널들을 요구하는, 전술한 종래 기술로부터 공지된 인터페이스에 필요한 통신 채널들의 수와 동일한 통신 채널들의 수를 제공하는 단일 인터페이스를 관리하며, 이러한 공지된 인터페이스는, 제공된 기능당 하나의 전용 인터페이스를 관리 및 제어하는 중앙 처리 장치로 구현된다.
다기능 인터페이스는, 개별적으로 동작하도록 취해진 각 기능에 필요한 모든 통신 채널들의 합에 대응하는 총 통신 채널들의 수에 관계없는 통신 채널들의 수를 가지기 때문에, 다기능 주변 전자 장치의 기술적 구현은 전술한 것보다 더 간단하다.
바람직한 실시예에서, 상기 주변 전자 장치는, 적어도 하나의 데이터 항목을 분석하기 위한 분석 수단을 포함하며, 상기 분석 수단은 상기 호스트 처리 전자 장치로부터의 적어도 하나의 데이터 항목을 분석하여서, 상기 주변 전자 장치가, 상기 적어도 두 가지 기능들을 포함하는 세트 중에서 분석되는 상기 적어도 하나의 데이터 항목과 연관된 기능을 검출하며, 상기 주변 전자 장치는 데이터 라우팅 수단을 포함하며, 상기 데이터 라우팅 수단은, 연관 및 검출된 기능을 고려하면서 상기 적어도 하나의 데이터 항목을 연관 및 검출된 기능에 특정한 수단으로 라우팅하여서, 상기 주변 전자 장치가 상기 적어도 두 가지 기능들 중 하나에 전용되는 수단을 이용함으로써 상기 적어도 하나의 데이터 항목을 처리하게 된다.
즉, 호스트로부터 전송된 데이터는 우선 분석된 후, 다기능 주변 장치 내에서, 식별되고, 연관이 없는 다른 기능에 특정한 수단과는 분리되어 있는 수단을 향해 라우팅된다.
특정 실시예에서, 상기 호스트 처리 전자 장치는 제1 기능을 위한 제1 커맨드 수단과 제2 기능을 위한 제2 커맨드 수단을 포함하며, 상기 기능들 중 적어도 하나는 상기 호스트 처리 전자 장치의 운영 체제에서 네이티브하게(natively) 이용가능하며, 이러한 특정 실시예에서, 상기 호스트 처리 전자 장치는 논-네이티브(non-native) 기능들 각각에 대한 버스 드라이버 수단을 포함하며, 상기 논-네이티브 기능들 각각에 대한 상기 버스 드라이버 수단은 첫 번째로 상기 제1 기능을 위한 상기 제1 커맨드 수단에 연결되어 있으며, 두 번째로 상기 제2 기능을 위한 상기 제2 커맨드 수단에 연결되어 있어서, 상기 논-네이티브 기능들 각각의 상기 버스 드라이버 수단은, 상기 제1 기능을 위한 상기 제1 커맨드 수단을 통해, 상기 제2 기능을 위한 상기 제2 커맨드 수단으로부터 전송된 적어도 하나의 데이터 항목을, 상기 주변 전자 장치에 전송하기에 적절하게 되며/되거나 상기 논-네이티브 기능들 각각에 대한 상기 버스 드라이버 수단은 상기 제1 기능을 위한 상기 제1 커맨드 수단을 통해, 상기 주변 전자 장치로부터 상기 제2 기능을 위한 상기 제2 커맨드 수단에 전송된 적어도 하나의 데이터 항목을 상기 주변 전자 장치로부터 수신하기에 적절하게 된다.
이에 따라, 버스 드라이버 수단은, 호스트의 운영 체제 내에 제공되는 네이티브 기능이 아닌 기능에 전용되는 각 커맨드의 데이터 포맷을, 이미 초기에 호스트에 의해 인식되지 않은 기능에 전용되는 수단을 인식하고 이와 통신할 수 있게 되도록 적응시킬 수 있다.
특정 실시예에서, 제1 기능은 적어도 하나의 데이터 항목을 저장하기 위한 데이터 스토리지 기능이며, 제2 기능은 스마트 카드 판독기 기능이며, 상기 다기능 인터페이스를 통한, 상기 호스트 처리 장치와 상기 주변 전자 장치 사이에 이용되는 통신 프로토콜은, 적어도 하나의 데이터 항목을 저장하기 위한 데이터 스토리지 기능과 관련된다.
호스트와 다기능 주변 장치 간에, 다기능 주변 장치 내에서 이용가능한 기능들 중 임의의 하나와 관련된 데이터를 교환하는 데에 하나의 통신 프로토콜이 필요함을 알 수 있다.
바람직한 실시예에서, 상기 다기능 인터페이스는 적어도 두 개의 통신 채널들을 가지며, 상기 적어도 두 개의 통신 채널들은, 상기 주변 전자 장치와 관련된 적어도 하나의 인커밍(incoming) 통신 채널 및 적어도 하나의 아웃고잉(outgoing) 통신 채널을 포함한다.
다기능 인터페이스는, 호스트측으로부터 관찰되는 바와 같이 적어도 하나의 아웃고잉 통신 채널 및 적어도 하나의 인커밍 통신 채널을 각각 가질 수 있음을 용이하게 알 수 있다.
즉, 호스트와 다기능 주변 장치 간의 통신을 위한 통신 프로토콜은, 호스트가 데이터를 다기능 주변 장치에 전송하거나, 혹은 다기능 주변 장치가 데이터를 호스트에 전송할 것을 요구한다. 이러한 통신 프로토콜은, 호스트 및 다기능 주변 장치를 포함하는 두 개의 엘리먼트들 중 하나가 데이터를 전송하고 나머지 하나가 수신하는 "세미-듀플렉스(semi-duplex)" 통신 프로토콜을 특징으로 한다.
본 발명의 바람직한 실시예에서, 상기 호스트 처리 장치는 커맨드 인캡슐레이션(encapsulation) 수단을 포함하며, 상기 커맨드 인캡슐레이션 수단은, 상기 적어도 두 가지 기능들 중 하나에 전용되는 커맨드를, 상기 적어도 두 가지 기능들 중 다른 하나에 전용되는 커맨드 내에 인캡슐레이팅하며, 상기 주변 전자 장치는, 커맨드에 대한 응답을 인캡슐레이팅하기 위한 응답 인캡슐레이션 수단을 포함하며, 상기 응답 인캡슐레이션 수단은 상기 적어도 두 가지 기능들 중 하나에 전용되는 커맨드에 대한 응답을, 상기 적어도 두 가지 기능들 중 다른 하나에 전용되는 응답 내에 인캡슐레이팅한다.
당연히, 다기능 주변 장치는, 제1 기능에 전용되는 커맨드에 관련된 데이터로부터, 다른 기능, 예를 들면 제2 기능에 전용되는 커맨드에 관련되는 데이터를 인식하고 추출하기 위한 수단을 포함한다.
마찬가지로, 호스트는, 다기능 주변 장치에 의해 전송되는 데이터로부터 전송된 제1 기능에 전용되는 응답과 관련된 데이터로부터 제2 기능과 관련된 응답과 관련된 데이터를 인식하고 추출하기 위한 수단을 포함한다.
본 발명은 또한 대응 주변 전자 장치를 제공한다.
동일한 하우징 내에 호스트 처리 전자 장치 및 이러한 주변 전자 장치가 포함될 수 있음에 유의해야 한다.
본 발명의 다기능 주변 전자 장치는, 전술한 기술적 해결책에 비해 더 단순한 기술적 해결책을 나타낸다.
예를 들어 마이크로프로세서에 의해 구성되며 주변 전자 장치가 구비하는 주변 CPU는, 자신이 제공하는 각종 기능들에 액세스하기 위한 단일 인터페이스를 제공한다.
전술한 특허 문헌으로부터 공지된 기술적 해결책과는 달리, 이러한 해결책은, 복수의 인터페이스를 관리할 수 있는 마이크로프로세서를 구비함으로써 복잡하게 되는 다기능 주변 장치의 이용을 요구하지 않는다. 마이크로프로세서의 기술적 복잡성 및 가격은 일반적으로 인터페이스들의 수에 바로 비례하기 때문에, 본 발명의 다기능 주변 장치는 더 단순하며, 이에 따라 최첨단의 다기능 주변 장치보다 저가이다.
적어도 하나의 데이터 항목을 저장하기 위한 데이터 스토리지 수단을 포함하는 상기 전자 장치에 따르면, 상기 데이터 스토리지 수단은 자동 실행 파일을 포함하며, 적어도 하나의 데이터 항목을 저장하기 위한 스토리지 기능은, 상기 외부 전자 장치의 운영 체제에서 네이티브하게 이용가능하며, 바람직한 실시예에서, 상기 자동 실행 파일은, 외부 전자 장치로부터 실행될 수 있으며 논-네이티브 기능들 각각에 대한 버스 드라이버 수단을 자동 인스톨하기에 적절한 툴을 포함한다.
통상적으로 "autorun.inf"로도 또한 칭해지는 자동 실행 파일은, 본 발명의 특정 실시예에서 스마트 카드 판독기에 대한 버스 드라이버 수단을 자동적으로 로딩할 수 있게 해 줌을 알 수 있다.
따라서, 본 발명의 장치는, 주변 장치가 제공되는 임의의 기능이 사용자에게 액세스가능하게 되도록 하기 위해 외부 전자 장치로서 호스트의 운영 체제 내에 네이티브하게 존재하지 않는, "드라이버"로도 또한 칭해지는 컴퓨터 드라이버를 자동으로 로딩 및 인스톨하는 것을 가능하게 한다.
본원에서 "드라이버"라는 용어는, 컨피규레이션 파일에 선택적으로 수반되며 호스트의 운영 체제 등의 다른 프로그램이 주변 장치와 통신하게 되도록 설계되는 컴퓨터 프로그램을 의미하도록 사용된다.
본 발명은 또한 적어도 하나의 호스트 처리 전자 장치와 적어도 하나의 주변 전자 장치 간의 통신 방법을 제공한다.
도 1은 본 발명의 전자 시스템의 바람직한 실시예의 간략화된 블럭도.
도 2는 호스트 처리 전자 장치와 주변 전자 장치 간의 통신을 위한 본 발명의 방법의 바람직한 구현에 대한 간략화된 흐름도.
도 3은 호스트 처리 전자 장치의 운영 체제 내에, 네이티브(native)가 아닌 스마트 카드 판독기 기능의 드라이버를 인스톨하기 위한 본 발명의 바람직한 구현예에 대한 간략화된 블럭도.
본 발명의 다른 특징들 및 이점들은, 단지 제한적이지 않은 개시를 통해 제공되는, 본 발명의 바람직한 실시예 및 바람직한 구현예들에 대한 이하의 설명을 읽을 때, 그리고 첨부된 도면들을 검토할 때 알 수 있다.
이하의 설명에서는, USB(Universal Serial Bus) 타입의 포트를 통해 상호접속된 PC 및 스마트 카드 판독기를 포함하는 전자 시스템에 대해 고려한다.
"버스"라는 용어는 일반적으로, PC의 중앙 처리 장치(CPU)와 PC가 연결되어 있는 주변 장치 간에 데이터를 전달하는 통신 회선 세트를 나타내는 데에 이용됨에 유의한다.
이하의 설명에서는, 버스는 표준화된 USB이다. 이러한 유형의 USB는 각종 유형의 주변 장치를 특히 PC에 연결하는 데에 이용된다. USB는, 이를 이용하는 임의의 장치가 "플러그 앤드 플레이(plug and play)" 원리, 즉 사용자가, 주변 장치로 하여금 이에 연결된 호스트와 협업하게 하도록 통신을 파라미터화(parameterize)하는데에 아무런 조치도 취할 필요가 없는 원리로 동작할 수 있게 해주는 인터페이스 버스이다. USB는, Microsoft Windows(등록된 상표) 운영 체제 하에서, 특히 그 운영 체제의 최신 버전, 즉 Windows XP service Pack2 하에서 관리될 수 있다.
그러나, 본 발명은, 퍼스널 컴퓨터 인터페이스(PCI) 또는 PCMCIA(Personal Computer Memory Card International Association) 주변 장치 버스, 혹은 임의의 다른 PC 운영 체제와 연관된 소정의 다른 유형의 버스 등의 어떠한 유형의 주변 장치 버스에도 적용됨은 명백하다.
본 발명의 일반적인 원리는, 주변 장치에서 이용가능한 기능들 중 하나에 특정한 데이터를 교환하기 위해, PC 등의 호스트 처리 전자 장치와, 복수의 기능들을 제공하는 주변 전자 장치 사이에 단일 인터페이스를 상호접속시키는 것에 기초한 것이다.
본 발명은 호스트 처리 전자 장치 및 다기능 주변 전자 장치를 구현하기 위한 단순하고 고성능인 소프트웨어 아키텍처를 제안한다.
본 발명은, 본 기술 분야에 통상의 지식을 가진 자가, 주변 장치에 의해 제공되는 기능 당 하나의 인터페이스를 사용하도록 촉구되며 이에 따라 인터페이스들의 수가 주변 장치에 의해 제공되는 기능들의 수와 동일하게 되는, 본 기술 분야에 통상의 지식을 가진 자의 접근법과는 상반된 접근법에 기인한 것임에 유의해야 한다.
따라서, 본 발명에 따르면, 현재 기술의 인터페이싱 복잡성에 비해, 본 인터페이싱의 복잡성은 인터페이스의 양쪽 측면에서, 즉 PC 측면과 주변 장치 측면에서 감소된다.
도 1에 예로서 도시된 바와 같이, 전자 시스템(1)은 호스트 PC(10) 및 스마트 카드 판독기 USB 주변 장치(12)를 포함하며, 이들 각각은 이하에 설명되는 소프 트웨어 수단을 갖는다.
스마트 카드 판독기 USB 주변 장치(12)는 이동식이다. 보다 정확하게는, 스마트 카드 판독기 USB 주변 장치(12)는, PC가 동작하는 것을 금지시킬 필요없이, 그리고 이를 스위칭 오프할 필요없이 PC(10)에 연결되고 이로부터 연결해제될 수 있다.
본 발명의 문맥에서, 주변 장치는 호스트의 외부에 있거나(즉, 주변 장치가, 호스트의 외부 쉘을 구성하는 하우징의 외부로부터 액세스가능한 커넥터에 플러그인되어 있음), 혹은 호스트의 내부에 있을 수 있다(즉 주변 장치가 호스트의 하우징 내에 포함되어 있는 마더보드 내에 직접 플러그 인되어 있음).
스마트 카드 판독기 USB 주변 장치(12)는, 스마트 카드(도시하지 않음)에 저장되어 있는 데이터에 액세스하는 것을 가능하게 해줄 수 있다. 이러한 데이터는, 예를 들면 스마트 카드의 사용자에 특정하다. 이에 따라, 스마트 카드는 예를 들어 인터넷 사이트에서 제안된 제품 혹은 서비스에 대한 전자 지불 등의 거래에서 이용될 수 있으며, 예를 들면 개인 식별 번호(PIN)를 저장하며, 이 거래를 승인하기 위해 스마트 카드 판독기를 통해 호스트 PC와 통신한다.
주변 장치(12)는 두 개의 개별적인 기능들에 전용되는 수단, 예를 들면 디스크 데이터 스토리지 유닛(1210) 및 스마트 카드 판독기(1214)를 갖는다. 디스크 데이터 스토리지 유닛(1210)은, 통신 프로토콜을 이용하여 데이터를 저장하도록 지정되며, 스마트 카드 판독기(1214)는 스마트 카드(도시하지 않음)를 판독하도록 지정된다.
당연히, 간략성을 위해 이들 두 개의 기능들만을 언급하였지만, 본 발명의 범위를 벗어나지 않고 다른 기능들도 다기능 주변 장치 내에 포함될 수 있음은 명확하다.
PC(10)는, 하나의 공통 다기능 인터페이스(11)를 통하여 주변 장치(12)에 접속되어서, 이들이 두 개의 기능들 중 어느 하나에 특정한 데이터를 교환할 수 있게 해준다.
이를 위해, 주변 장치(12)는 CPU로서 마이크로프로세서(122)를 구비하고 있으며, 공지된 기술적 해결책에 기인한 주변 장치에 의해 제공되는 기능들 각각에 특정한 통신 채널들의 수의 합을 나타내는 통신 채널들의 총 수에 비해 작은 통신 채널들의 수를 갖는다.
다기능 인터페이스(11)는, 데이터 스토리지의 첫 번째 기능을 수행하고 스마트 판독기의 두 번째 기능을 수행하기 위한, 2개로 제한된 통신 채널들(도시하지 않음)의 수를 포함한다(전술한 종래기술에서처럼, 데이터 스토리지 기능에 특정한 다기능 인터페이스 및 스마트 카드 판독기 기능에 특정한 다기능 인터페이스 양쪽 모두와 관련된 통신 채널의 수의 합에 대응하는 4개의 통신 채널이 아님). 보다 정확하게는, 다기능 주변 장치 측(12)에서, 다기능 인터페이스(11)는, USB 표준의 기술 용어중 "엔드포인트"라는 용어로도 칭해지는 아웃고잉(outgoing) 통신 채널 및 인커밍(incoming) 통신 채널(도시하지 않음)을 포함한다.
다기능 인터페이스(11)의 통신 채널들의 수는, 공지된 방식으로 이용될 수 있는 주변 장치(12)에 의해 제공되는 기능들에 특정한 단일 기능 인터페이스들에 특정한 통신 채널들의 더 많은 수 혹은 가장 많은 수와 동일함을 알 수 있다. 예를 들면, 주변 장치가, 네 개의 통신 채널들을 갖는 단일 기능 인터페이스를 요구하는 제1 기능과, 두 개의 통신 채널들을 갖는 단일 기능 인터페이스를 요구하는 제2 기능을 제공한 경우, 두 개의 기능들을 제공하는 본 발명의 다기능 주변 장치는 네 개의 통신 채널들만을 갖는 하나의 다기능 인터페이스를 필요로 할 것이다.
즉, 통신 채널들의 수가, 하나의 기능만을 제공하는 단일 기능 주변 장치에 이용될 수 있는 통신 채널들의 최대 수를 초과하지 않는 다기능 주변 장치를 이용하면서 더 많은 수의 기능들을 제공할 수 있다.
따라서, 예를 들어, 두 개의 이용가능 기능들에 특정한 데이터를 조작하기 위해 PC(10)와 주변 장치(12) 간에 데이터를 교환하는데에, 데이터 스토리지의 단일 기능에 특정한 단일 통신 프로토콜이 필요하다.
다기능 주변 장치 내에서, 마이크로프로세서(122)는 PC(10)로부터 수신되는 데이터 및 PC(10)에 전송될 데이터를 관리 및 제어한다. 마이크로프로세서(122)는 데이터 스토리지 기능 또는 스마트 카드 판독기 기능과 관련된 데이터를, 우선 양방향 링크(120)와 다기능 중간 인터페이스(11)를 통해 외부 전자 장치, 즉 본 예에서는 PC(10)와 상호교환하고, 두 번째로, 후술하는 링크들 등의 내부의 다른 링크들을 통해 개별적이고 다양한 기능들에 전용되는 수단과 상호교환한다.
마이크로프로세서(122)는 양방향 링크(124)를 통해 라우팅 수단(126)에 접속되어 있다.
라우팅 수단(126)은 특히, 어떤 수단이 수신된 데이터가 라우팅되어야 하는 목적지 수단인지, 즉 이들이 데이터 스토리지 기능에 특정한 수단인지 혹은 스마트 카드 판독기 기능에 특정한 수단인지 여부를 판정하기 위해, PC(10)로부터 전송된 데이터를 분석한다. 이러한 방식으로, 수신된 데이터와 연관된 기능이 검출된다. 데이터가 일단 분석되면, 라우팅 수단(126)은 이를 제1 양방향 링크(128)를 통해 데이터 스토리지 유닛(1210)으로, 혹은 제2 양방향 링크(1212)를 통해 스마트 카드 판독기(1214)로 라우팅 및 전달하여, 수신된 데이터가 해당 기능에 의해 처리되게 한다.
라우팅 기능은, 다기능 주변 장치(12)의 데이터 스토리지 유닛(1210) 내에 저장되는 내장 소프트웨어의 형태로 존재한다.
또한, 라우팅 수단(126)은, 스마트 카드 판독기 기능에 특정한 응답 데이터를, 바람직하게는 전용 데이터(proprietary data)의 형태의 데이터로 변환하여서, 카드 판독기 기능에 전용되는 드라이버가, 전송한 커맨드에 대한 응답을 인식할 수 있게 한다.
이를 위해, 라우팅 수단(126)은, 전용의 형태로 되어 있는, 데이터 스토리지 기능과 관련된 응답의 데이터 내에 카드 판독기 기능에 전용된 수단(1214)으로부터 전송되는 데이터를 인캡슐레이팅(encapsulating)하기에 적절하다. 이러한 방식으로, 스마트 카드 판독기 기능과 관련된 응답이 다기능 주변 장치(12)에 의해 전달될 때, 호스트 PC(10)로부터의 커맨드의 결과, 스마트 카드(도시하지 않음)로부터의 대응 데이터가, 데이터 스토리지 기능과 관련된 응답의 데이터 포맷에 특정한 데이터 포맷을 따르는 생성 응답 내에서 전달된다.
PC(10)는 호스트의 제어기(102)를 포함한다. 호스트의 제어기(102)는, 외부 주변 장치에 대하여, 양방향 링크(100)를 통하여 다기능 주변 장치(12)로부터 전송되는 데이터를 수신하고 그 목적지가 데이터 스토리지 유닛(1210) 또는 스마트 카드 판독기(1214)인 데이터를 전송하도록 설계되어 있다.
PC(10)의 내부에서는, 호스트의 제어기(102)가 양방향 링크(104)를 통해, 다기능 주변 장치(12)에서 이용가능한 제1 기능과 관련된 데이터 스토리지 기능과 관련된 제1 드라이버(106)에 연결되어 있다.
변형 실시예에서는, 데이터 스토리지 기능을 수행하기에 적절한 복수의 드라이버들이 제공됨에 유의하여야 한다.
제1 드라이버(106)는, 목적지가 데이터 스토리지 기능인 모든 커맨드에 대해 담당하고 있다. 제1 드라이버(106)는 데이터 스토리지 기능과 관련된 제1 커맨드를 생성 및 전송한다.
제1 파일롯(106)이 양방향 링크(108)를 통해 스마트 카드 판독기 버스 드라이버(110)에 연결되어 있다. 스마트 카드 판독기 버스 드라이버(110)는 스마트 카드 판독기 기능에 특정한 데이터를 변환하는 데에 이용된다. 이 변환은, 스마트 카드 판독기 기능에 특정한 커맨드와 관련된 데이터를, SCSI(Small Computer System Interface) 규격에 의해 제공되는 데이터 스토리지 기능에 특정한 전용 커맨드 내에 인캡슐레이팅하거나, 독덤 데이터 교환을 승인하거나, 혹은 데이터 스토리지 기능과 관련된 전용 커맨드에 대한 응답으로부터 스마트 카드 판독기 기능에 특정한 커맨드에 대한 응답과 관련된 데이터를 추출함으로써 수행된다.
따라서, 제2 기능에 특정한 커맨드의 포맷 혹은 커맨드에 대한 응답의 포맷은 제1 기능에 특정한 커맨드의 포맷 혹은 응답의 포맷으로 변환되어서, 다기능 인터페이스(11)에서 투명하게 되고(transparent) PC(10)와 다기능 주변 장치(12) 간의 통신을 위한 단일 통신 프로토콜을 이용하게 된다.
스마트 카드 판독기 버스 드라이버(110)는, 양방향 링크(112)를 통해, 스마트 카드 판독기 기능과 관련된 제2 드라이버(114)에 연결되어 있다.
제2 드라이버(114)는, 그 목적이 스마트 카드 판독기 기능인 모든 커맨드들을 담당하고 있다. 제2 드라이버(114)는, 다기능 주변 장치(12)에서 이용가능한 제2 기능과 관련된 제2 커맨드를 생성 및 전송한다.
PC(10)에 새롭게 연결된 다기능 주변 장치(12)는, 동적으로, 수행할 수 있는 모든 기능들을 선언(declare)할 수 있다.
위의 문장에서 "동적으로"란 용어는, 특히 주변 장치가 접속되어 있을 때 호스트의 운영체제가 이미 동작중임을 가리키는데에 이용된다.
따라서, 호스트 PC(10)의 사용자는, 임의의 다기능 주변 장치가 자신이 수행하고 있는 기능을 알리는 것을 허용하기 위해, 호스트의 운영 체제를 재부팅시킬 필요가 없다.
변형 실시예(도시하지 않음)에서, 제2 기능과 관련된 제2 드라이버는 제1 기능과 관련된 제1 드라이버에 직접 연결되어 있다. 이러한 변형예에서, 그 목적이 다기능 주변 장치에서 이용가능한 제2 기능인 모든 커맨드들에 대해 담당하고 있는 것은 제2 드라이버이다. 제2 드라이버는 스마트 카드 판독기 기능과 관련된 커맨 드를 생성 및 전송할 뿐만 아니라, 스마트 카드 판독기 기능과 관련된 커맨드 또는 응답을, 데이터 스토리지 기능과 관련된 커맨드 또는 응답에 특정한 원하는 포맷으로 변환시킨다.
공지된 방식으로, USB CCID(Chip/Smart Card Interface Device)에 대한 USB 장치 클래스 명세 등의, 스마트 카드 판독기 기능에 특정한 통신 프로토콜은, 호스트로부터 스마트 카드 판독기에 전송되는 커맨드가 커맨드에 특정한 데이터로 선택적으로 보충되는 헤더 파트 및 다른 데이터 파트에 의해 구성되는 데이터 포맷을 이용함을 상기한다. 헤더는, 특히 카드 스위치-온 혹은 데이터 교환 등의, 요구되는 커맨드의 기능을 정의하며, 10바이트 공간을 차지한다. 헤더를 보충하는 임의의 데이터가 보다 상세하게 커맨드를 지정한다.
마찬가지로, 스마트 카드 판독기로부터 호스트로의 응답도 또한, 10바이트를 차지하는 헤더에 의해 구성된다. 이 응답은, 데이터가 선택적으로 보충되는 전송된 커맨드의 적절한 수행의 결과를 정의한다.
스마트 카드 판독기와 스마트 카드 사이에 이용되는 통신 프로토콜은 ISO(International Standards Organization) 규격 7816-3에 따른다. 이러한 통신 프로토콜은 세미-듀플렉스(semi-duplex) 프로토콜인데, 즉 연속적으로, 스마트 카드 판독기가 커맨드를 카드에 전송할 수 있으며, 카드는 데이터를 카드 판독기에 전송할 수 있다. 카드를 스위칭 온하기 위한 커맨드의 예가 이하에 주어진다.
방향 10-바이트 헤더 데이터
호스트로부터 스마트 카드 판독기로 62 00 00 00 00 00 00 01 00 00(62=카드 스위치 온) 없음
스마트 카드 판독기로부터 호스트로 80 16 00 00 00 00 00 00 00 00 ATR 카드=3B 9F 95 80 1F C2 80 31 E0 73 FE 21 1B 63 E2 07 A7 83 0F 90 00 8C
두문자어 ATR은 "Answer To Reset"을 나타내며, 카드가 제공하는 기능이 삽입된 스마트 카드의 식별 번호를 알리는 것이다. 따라서, PC(10)와 호환성이 있는 애플리케이션이 실행될 수 있다. 이러한 애플리케이션(도시하지 않음)은 제2 드라이버(114)에 연결되어 있다.
CCID 규격의 스마트 카드 판독기 기능에 특정한 데이터 처리에 전용되는 두 개의 새로운 커맨드들이 이하와 같은 SCSI 규격의 전용 포맷으로 생성된다.
SCSI 커맨드 블럭 데이터
Cmd P1 P2 메시지의 이어지는 부분
$F0 $47 $01 호스트로부터 카드로의 CCID 헤더 XX
$F0 $47 $02 없음 XX
이 두 개의 커맨드들은 버스 드라이버(110)에서 생성된다.
커맨드는, PC(10)로부터 전송된 데이터를, 스마트 카드 판독기 및 다기능 인터페이스를 통해 스마트 카드 판독기 기능에 적절한 커맨드로서 스마트 카드에 전달한다. 예를 들면, 이는 전용 포맷으로 된, 위의 표 2의 첫 번째 줄이다.
스마트 카드 판독기 기능의 CCID 타입 포맷의 커맨드는, 예를 들어 이하의 방식으로, 스마트 카드에 적절한 커맨드를 전송하기 위한 제1 교환 동안, 데이터 스토리지 기능의 SCSI 타입 포맷의 전용 커맨드 내에 인캡슐레이팅된다.
호스트로부터 스마트 카드 판독기로

31-바이트 헤더, USB 스토리지 클래스 데이터
헤더의 시작 커맨드 블럭 없음 혹은 선택적 데이터
(31-16) 바이트 : XX
XX XX XX
XX XX XX XX
F0 47 01 62 00 00
00 00 00 00 01 00
00 00 00 00
스마트 카드 판독기로부터 호스트로
상태, USB 데이터 스토리지 클래스 데이터
XX XX 없음
적절한 커맨드의 커맨드 블럭 내에, "전용" 문자 "FO 47 01"이 추가되며 스마트 카드 판독기 기능의 커맨드의 제어 문자들이 보존된다.
다른 커맨드는 스마트 카드 판독기 및 다기능 인터페이스를 통해 카드로부터 전송된 데이터를 스마트 카드로부터의 대응 응답으로서 PC(10)에 전달한다. 예를 들면, 이는 전용 포맷으로 된 표 2의 두 번째 줄이다.
스마트 카드 판독기 기능의 CCID 타입 포맷의 응답은, 예를 들면 이하의 방식으로, 스마트 카드로부터의 응답을 전송하기 위한 제2 교환 동안, 데이터 스토리지 기능의 SCSI 타입 포맷의 전용 커맨드 내에 인캡슐레이팅된다.
호스트로부터 스마트 카드 판독기로

31-바이트 헤더, USB 데이터 스토리지 클래스 데이터
헤더의 시작 커맨드 블럭 없음
(31-16) 옥테트(octet):
XX XX XX XX
XX XX XX XX
FO 47 02 00 00 00
00 00 00 00 00 00
00 00 00 00
스마트 카드 판독기로부터 호스트로
상태, USB 데이터 스토리지 클래스 데이터
XX XX 80 16 00 00 00 00 00 00
00 00 3B 9F 95 80 1F C2
80 31 E0 73 FE 21 1B 63
E2 07 A7 83 0F 90 00 8C
본 기술 분야에 통상의 지식을 가진 자라면, 밑줄이 그어진 새로운 엘리먼트들로부터 표 3 및 표 4에 존재하는 공지된 엘리먼트들을 알 것이다.
마찬가지로, 본 기술 분야에 통상의 지식을 가진 자라면, SCSI 등의, 데이터 스토리지 기능에 특정한 통신 프로토콜이 이용되어 전용 포맷의, 카드 판독기 기능과 관련된 데이터를 또한 전달할 수 있도록 적응됨을 알 것이다.
PC(10)에 의해 전송된, 결과적인 적응된 프로토콜의 커맨드들 각각은, 31개의 8비트 바이트 길이의 헤더에 의해, 그리고 선택적으로 데이터에 의해 구성된다. 다기능 인터페이스(11)를 통해 전송된 데이터는, 전송 방향에 상관없이, USB 대용량 스토리지 클래스에 따른다.
헤더는, 첫 번째로 데이터 스토리지 기능의 커맨드를 식별하는 것을 가능하게 해주는 서명과, 두 번째로 각종 데이터 항목들과, 세 번째로 커맨드 블럭으로 구성된다. 이 커맨드 블럭은 16바이트를 포함하는데, 이 중 첫 번째는 특히 메모리로부터의 판독 혹은 메모리로의 기입 등의 커맨드의 기능을 가리키며, 이어지는 바이트들은 요구되는 기능에 따라 달라지는 각종 파라미터들을 가리킨다.
결과적인 적응된 프로토콜의 응답들 각각은 데이터 및 상태 블럭으로 구성된다. 이 데이터는, PC(10)에 의해 전송된 커맨드가, 프로토콜이 세미-듀플렉스 프로토콜인 사실로 인해 그 자체는 어떠한 데이터도 포함하지 않는 것으로 가정하여 존재한다. 상태 블럭은, 요청된 커맨드가 정확하게 실행되었는지 혹은 잘못 실행되었는지를 가리킨다.
다기능 주변 장치(12)가, SCSI 포맷으로 되어 있으며 커맨드 블럭의 첫 번째 블럭이 16진수 F0인 헤더를 갖는 커맨드를 수신하면, 다기능 주변 장치(12), 보다 정확하게는 라우팅 수단(26)은, 이를 참고한 후, 관련된 기능이 스마트 카드 판독기 기능이며 커맨드는 스마트 카드 판독기 기능에 전용되는 수단(1214)에 의해 처리됨을 추론한다. 모든 다른 커맨드들의 경우, 이들의 목적지는 이들을 처리하는 데이터 스토리지 유닛(1210)으로 유지된다. 따라서, Windows Explorer 하에서 동작하며 제1 드라이버(106)에 연결되어 있는 애플리케이션(도시하지 않음)이 데이터 스토리지 기능을 이용할 수 있다.
데이터 스토리지 유닛(1210)은 데이터, 특히 PC(10) 상에서 자동적으로 실행되는, "autorun.inf"로도 칭해지는 자동 실행 파일에 특정한 데이터를 저장한다.
다기능 주변 장치(12)와 PC(10) 간에 통신하기 위해서는, 액세스가능하게 되는 각 기능은 자기 자신의 드라이버를 필요로 함을 상기한다.
이 예에서, 우선 데이터 스토리지 기능을 위해 데이터 스토리지 드라이버가 필요하며, 스마트 카드 판독기 기능을 위해 스마트 카드 판독기 드라이버도 또한 필요하다. 다기능 주변 장치(12)가 일단 접속되면, 이는 데이터 스토리지 기능을 갖는다. 그러면, 데이터 스토리지 기능은, 네이티브 방식으로, 즉, 이미 로딩되어서 운영 체제 내에 존재해 있는 방식으로, 퍼스널 컴퓨터(10)가 그 데이터 스토리지 드라이버를 구비하는 윈도우 운영체제와 연관된다.
스마트 카드 판독기 기능은, 스마트 카드 판독기 드라이버에 의해 직접 구동될 수 없는 운영 체제에 의해 인식되도록 유지된다.
본 발명의 이로운 특징에 따르면, 자동 실행 파일은, PC(10)로부터 실행될 수 있으며 스마트 카드 판독기 버스 드라이버(110)를 PC(10)에 자동으로 로딩시키기에 적절한 툴을 포함한다.
다기능 주변 장치(12)가 PC(10)에 연결되어 있다는 단순한 사실로도 PC(10)의 자동 컨피규레이션(auto-configuration)을 유발하여서 다기능 주변 장치(12)에서 이용가능한 모든 기능들을 인식하고 이용하게 된다. 따라서, 복수의 이용가능 기능들에 대한 액세스를 보장하면서, 사용자가 다기능 주변 장치(12)와 PC(10)가 협업하도록 하기 위해 조치를 취할 필요가 없는 다기능 주변 장치(12)와 관련된 "플러그 앤드 플레이" 원리가 유지된다.
특히, 버스 드라이버(110)는 두 가지 기능을 수행하는데, 즉 다기능 주변 장치(12)의 접속/접속해제를 모니터링하고, CCID 커맨드들 또는 응답들을, 데이터 스토리지 기능과 관련된 커맨드들 및 응답들 혹은 위에서 정의한 바와 같은 전용 포맷의 "SCSI_PASSTHROUGH"로 변환한다.
다기능 주변 장치(12)의 접속을 검출하면, 버스 드라이버(110)는 윈도우 운영 체제에게, 제2 드라이버(114)에 의해 핸들링될 새로운 주변 장치의 존재를 가리킨다.
다기능 주변 장치(12)의 접속해제를 검출하면, 버스 드라이버(110)는, 이전에 선언된 다기능 주변 장치(12)가 언플러그되었음을 윈도우 운영 체제에게 가리킨다.
도 2를 참조하면, 특별한 구현예에서, 호스트 처리 전자 장치와 주변 전자 장치 간의 통신 방법(20)은, 호스트 처리 전자 장치 측으로부터 관찰되는 바와 같이 이하의 단계들을 포함한다:
- 상기 주변 장치와 연결되어 있는 주변 장치를 검출하는 단계 22;
- 주변 장치의 접속에 이어지는 데이터 스토리지 기능을 검출하는 단계 24 ― 이 단계는 네이티브 드라이버에 의해 핸들링됨 ―;
- 스마트 카드 판독기 버스 드라이버에 의해 수행되는 다른 주변 장치 기능을 선언하는 단계 26 ― 이 단계는 대응 논-네이티브(non-native) 기능 드라이버에 의해 핸들링됨 ―; 및
- 단일의 공통 인터페이스를 통해 호스트 처리 전자 장치로부터 액세스가능한 다기능 주변 장치를 발생시키는 스마트 카드 판독기 기능을 선언하는 단계 28.
도 3에 도시된 바와 같이, 복수의 기능들을 갖는 주변 장치의 논-네이티브 기능을 인스톨하는 방법(30)은, 호스트 처리 전자 장치로부터 관찰되는 바와 같이 이하의 단계들을 포함한다:
- 상기 주변 장치와 접속된 CD-ROM 타입의 데이터 스토리지 유닛을 포함하는 주변 장치를 검출하여 데이터 스토리지 기능이 호스트 처리 전자 장치로 선언되는 단계 32;
- 변형 구현예(도시하지 않음)에서 "Windows" 등의 운영 체제에 의해 판독이 수행된 후 CD-ROM 타입의 데이터 스토리지 유닛의 매체 상에 존재하는 자동 실행 파일 "AUTORUN.INF"를 실행시키는 단계 34 ― 자동 실행 파일 "AUTORUN.INF"는, 하나 이상의 스마트 카드 판독기 기능 드라이버들 및 스마트 카드 판독기 버스 드라이버들을 포함하는 페이지를 표시하는 인터넷 사이트로의 링크만을 포함하며, 사용자가 호스트 처리 전자 장치를 사용할 때 이 페이지로 상기 사용자가 자동으로 지시됨 ―;
- 자동 실행 파일의 내용을 판독하는 호스트 처리 전자 장치의 운영 체제에 의해 자동으로 검색되는 자동 실행 파일 "AUTORUN.INF"에 존재하는 애플리케이션들을 실행시키는 단계 36 ― 컴퓨터 애플리케이션은 호스트에 의해 실행될 수 있는 태스크들의 연속물임에 유의함 ―;
- Windows 운영 체제에서 가능한 바와 같이, 논-네이티브 스마트 카드 판독기 드라이버를 사전 인스톨하는 단계 38 ― 이러한 사전 인스톨은, 스마트 카드 판독기를 갖는 새로운 주변 장치가 해당 운영 체제에 의해 관리될 수 있음을 운영 체제에게 가리키는 것을 포함하며, 이러한 사전 인스톨은, 예를 들어 "emXGM.inf" 타입의 전용 파일을 파라미터로서 지정하는 동안 "SetupCopyOEMInf"라는 제목의 기능을 호출함으로써 발생된다. 스마트 카드 판독기에 대한 INF(정보) 파일의 특징 포인트들은, 주변 장치의 클래스, 예를 들면 "SmartCardReader"를 나타내며, 예를 들어,
Class = SmartCardReader;
ClassGuide = {50DD5230-BA8A-11D1-BF5D-0000F805F530}과 같은 "GUID(globally unique identifier)" 혹은 클래스 고유 식별자를 나타내며, 이 목적을 위해 특별히 생성된 버스 클래스 GUID에 의한 주변 장치의 ID를 나타냄:
%SCBus.DeviceDesc% = DriverInstallA, {A2E29779-504C-4617-8386-580F81187A66}\SCBus ―; 및
- 스마트 카드 판독기 버스 드라이버를 인스톨하는 단계 310 ― 이 단계는, 스마트 카드 판독기 버스 드라이버를 선언하는 것을 포함하며; 이러한 인스톨 단계는, 이하의 커맨드 라인에 의한 "Windows Driver Kit(WDK)" 혹은 Windows 운영 체제의 드라이버에 의해 공급되는 DevCon 유틸리티 등의 유틸리티를 이용하여 수행됨:
- devcon 인스톨 GemXGMBus.inf "root\GEMXGMBus". 스마트 카드 판독기 버스 드라이버를 위한 INF 파일의 특징점들은, 주변 장치가 System 클래스임을 나타내고,
Class = System
ClassGuid = {4D36E97D-E325-11CE-BFC1-08002BE10318}과 같은 GUID 등의 고유의 클래스 식별자를 나타냄 ―; 및
- 논-네이티브 스마트 카드 판독기 드라이버의 완전한 인스톨을 완성하는 단계 312.
이에 따라, 데이터 스토리지 기능만이 호스트 처리 전자 장치에 선언된다. 따라서, 판독되고 있는 CD-ROM의 차단 등의 차단이 실시되지 않으며, 다기능 주변 장치는 사용자로부터의 어떠한 액션없이도 인스톨되며, 이에 따라 사용자가 이러한 인스톨을 다루기에 충분히 숙련되지 않은 경우의 임의의 조작 에러를 방지한다.
다기능 주변 장치의 논-네이티브 기능의 인스톨 방법(30)은, 호스트 처리 전자 장치와 주변 전자 장치 간의 통신 방법에 우선한다.
위에서 제공된 바람직한 실시예는 본 발명의 범위를 축소시키려고 하는 것이 아니며, 본 발명의 범주를 벗어나지 않고 이에 대해 많은 변경들이 실시될 수 있다.
특히, 본 기술 분야에 통상의 지식을 가진 자라면, 어떠한 독창성도 나타내지 않고, 전술한 실시예를, Windwos 운영 체제의 특성과 유사한 특성들을 제공하는 다른 운영 체제에 적응할 수 있음에 유의한다.

Claims (10)

  1. 호스트 처리 전자 장치(10)와 주변 전자 장치(12) 간의 통신 방법(20)으로서,
    상기 주변 전자 장치(12)는 데이터 스토리지 수단(1210) 및 스마트 카드 판독기 수단(1214) 모두를 포함하고 - 상기 데이터 스토리지 수단(1210)은 제1 통신 프로토콜을 통해 통신가능(reachable)하고, 상기 스마트 카드 판독기 수단(1214)은 제2 통신 프로토콜을 통해 통신가능하며, 상기 호스트 처리 전자 장치(10) 및 상기 주변 전자 장치(12)는 적어도 하나의 인터페이스(11)를 통해 상호접속됨 -,
    상기 방법은,
    상기 주변 전자 장치(12)의 접속시 상기 주변 전자 장치(12)를 검출하고 또한 상기 호스트 처리 전자 장치(10)에게 데이터 스토리지 기능을 선언하는(declare) 단계(32) - 상기 주변 전자 장치(12)는 상기 제1 통신 프로토콜로부터 상기 제2 통신 프로토콜로 커맨드를 인캡슐레이팅(encapsulate)할 수 있고 또한 상기 제2 통신 프로토콜로부터 상기 제1 통신 프로토콜로 응답을 인캡슐레이팅할 수 있는 라우팅 수단(126)을 포함함 -;
    상기 데이터 스토리지 수단(1210)에 저장된 자동 실행 파일을 실행하는 단계(34) - 상기 자동 실행 파일은 상기 호스트 처리 전자 장치(10)상에 판독기 버스 드라이버(110)를 자동으로 로딩할 수 있음 -;
    상기 호스트 처리 전자 장치(10)상에 상기 판독기 버스 드라이버(110)를 자동으로 로딩하고 인스톨하는 단계(310);
    상기 호스트 처리 전자 장치(10)에게 스마트 카드 판독기 기능을 선언함으로써 스마트 카드 판독기 드라이버(114)를 사전 인스톨(pre-install)하는 단계(38) - 상기 사전 인스톨하는 단계(38)는 상기 판독기 버스 드라이버(110)에 의해 수행됨 -;
    상기 호스트 처리 전자 장치(10)상에서의 상기 스마트 카드 판독기 드라이버(114)의 완전한 인스톨을 자동으로 완료하는 단계(312);
    상기 스마트 카드 판독기 드라이버(114)와 상기 스마트 카드 판독기 수단(1214) 간에 데이터를 교환하는 단계 - 상기 데이터는 상기 제1 통신 프로토콜을 사용함으로써 상기 인터페이스(11)를 통해 교환됨 -
    를 포함하는 것을 특징으로 하는 통신 방법(20).
  2. 제1항에 있어서,
    상기 데이터 스토리지 기능은 제1 개수(number)의 통신 채널들을 필요로 하고, 상기 스마트 카드 판독기 기능은 제2 개수의 통신 채널들을 필요로 하며, 상기 인터페이스(11)는 상기 제1 및 제2 개수들 중 가장 큰 개수와 동일한 개수의 통신 채널들을 갖는 통신 방법(20).
  3. 제1항에 있어서,
    상기 스마트 카드 판독기 드라이버(114)와 상기 스마트 카드 판독기 수단(1214) 간에 교환되는 데이터는 커맨드 및 응답인 통신 방법(20).
  4. 제2항 또는 제3항에 있어서,
    상기 커맨드는 상기 판독기 버스 드라이버(110)에 의해 상기 제2 통신 프로토콜로부터 상기 제1 통신 프로토콜로 인캡슐레이팅되고, 상기 응답은 상기 판독기 버스 드라이버(110)에 의해 상기 제1 통신 프로토콜로부터 상기 제2 통신 프로토콜로 변환되는 통신 방법(20).
  5. 제2항에 있어서,
    상기 커맨드는 상기 스마트 카드 판독기 드라이버(114)에 의해 상기 제2 통신 프로토콜로부터 상기 제1 통신 프로토콜로 인캡슐레이팅되고, 상기 응답은 상기 스마트 카드 판독기 드라이버(114)에 의해 상기 제1 통신 프로토콜로부터 상기 제2 통신 프로토콜로 변환되는 통신 방법(20).
  6. 제1항에 있어서,
    상기 판독기 버스 드라이버(110)는 상기 주변 전자 장치(12)로부터 로딩되는 통신 방법(20).
  7. 제1항에 있어서,
    상기 인터페이스(11)는 USB 타입의 인터페이스인 통신 방법(20).
  8. 호스트 처리 전자 장치(10) 및 주변 전자 장치(12)를 포함하는 전자 시스템(1)으로서,
    상기 주변 전자 장치(12)가 데이터 스토리지 수단(1210) 및 스마트 카드 판독기 수단(1214) 모두를 포함하고 - 상기 데이터 스토리지 수단(1210)은 제1 통신 프로토콜을 통해 통신가능하고, 상기 스마트 카드 판독기 수단(1214)은 제2 통신 프로토콜을 통해 통신가능하며, 상기 호스트 처리 전자 장치(10) 및 상기 주변 전자 장치(12)는 인터페이스(11)를 통해 상호접속됨 -,
    상기 전자 시스템(1)은, 상기 주변 전자 장치(12)가 상기 제1 통신 프로토콜로부터 상기 제2 통신 프로토콜로 커맨드를 인캡슐레이팅할 수 있고 또한 상기 제2 통신 프로토콜로부터 상기 제1 통신 프로토콜로 응답을 인캡슐레이팅할 수 있는 라우팅 수단(126)을 포함하고, 상기 주변 전자 장치(12)가 상기 호스트 처리 전자 장치(10)상에 판독기 버스 드라이버(110)를 자동으로 로딩할 수 있는 자동 실행 파일을 포함하고, 상기 판독기 버스 드라이버(110)는 상기 호스트 처리 전자 장치(10)상에 스마트 카드 판독기 드라이버(114)를 사전 인스톨할 수 있고, 상기 스마트 카드 판독기 드라이버(114)와 상기 스마트 카드 판독기 수단(1214) 간에 교환되는 데이터가 상기 제1 통신 프로토콜을 사용함으로써 상기 인터페이스(11)를 통해 교환되는 것을 특징으로 하는
    전자 시스템(1).
  9. 제8항에 있어서,
    상기 데이터 스토리지 수단(1210)은 상기 호스트 처리 전자 장치(10)에게 데이터 스토리지 기능을 제공하고, 상기 스마트 카드 판독기 수단(1214)은 상기 호스트 처리 전자 장치(10)에게 스마트 카드 판독기 기능을 제공하고, 상기 데이터 스토리지 기능은 제1 개수의 통신 채널들을 필요로 하고, 상기 스마트 카드 판독기 기능은 제2 개수의 통신 채널들을 필요로 하며, 상기 인터페이스(11)는 상기 제1 및 제2 개수들 중 가장 큰 개수와 동일한 개수의 통신 채널들을 갖는 전자 시스템(1).
  10. 삭제
KR1020097002275A 2006-07-05 2007-06-22 다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템 KR101068380B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR06/06167 2006-07-05
FR0606167 2006-07-05
PCT/EP2007/056257 WO2008003599A1 (en) 2006-07-05 2007-06-22 A multi-function peripheral device, corresponding method and electronic system having a peripheral and a host communicating via a single interface

Publications (2)

Publication Number Publication Date
KR20090111799A KR20090111799A (ko) 2009-10-27
KR101068380B1 true KR101068380B1 (ko) 2011-09-28

Family

ID=37781982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097002275A KR101068380B1 (ko) 2006-07-05 2007-06-22 다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템

Country Status (5)

Country Link
US (1) US8346991B2 (ko)
EP (1) EP2050005B1 (ko)
KR (1) KR101068380B1 (ko)
CN (1) CN101529405A (ko)
WO (1) WO2008003599A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8915447B2 (en) 2007-09-12 2014-12-23 Devicefidelity, Inc. Amplifying radio frequency signals
US9304555B2 (en) 2007-09-12 2016-04-05 Devicefidelity, Inc. Magnetically coupling radio frequency antennas
US9311766B2 (en) 2007-09-12 2016-04-12 Devicefidelity, Inc. Wireless communicating radio frequency signals
US8070057B2 (en) * 2007-09-12 2011-12-06 Devicefidelity, Inc. Switching between internal and external antennas
US20090070691A1 (en) 2007-09-12 2009-03-12 Devicefidelity, Inc. Presenting web pages through mobile host devices
US8365201B2 (en) * 2007-12-14 2013-01-29 Microsoft Corporation Multi-function device ID with unique identifier
FR2931568B1 (fr) * 2008-05-21 2012-07-13 Bull Sas Procedes et dispositif de mise en oeuvre de peripheriques multifonction avec un gestionnaire de peripherique standart unique
US20120208454A1 (en) * 2011-02-10 2012-08-16 Cassis International Pte Ltd. System and method for detecting and communicating with diverse near field communications adaptors
US8649820B2 (en) 2011-11-07 2014-02-11 Blackberry Limited Universal integrated circuit card apparatus and related methods
US8936199B2 (en) 2012-04-13 2015-01-20 Blackberry Limited UICC apparatus and related methods
USD703208S1 (en) 2012-04-13 2014-04-22 Blackberry Limited UICC apparatus
USD701864S1 (en) * 2012-04-23 2014-04-01 Blackberry Limited UICC apparatus
US8899481B2 (en) 2013-03-06 2014-12-02 Symbol Technologies, Inc. Apparatus for and method of automatically integrating an auxiliary reader in a point-of-transaction system having a workstation reader
US9569375B2 (en) * 2014-05-19 2017-02-14 Microchip Technology Incorporated Unifying class device interface with one host interface by using embedded controller
TWI665556B (zh) * 2018-05-11 2019-07-11 緯穎科技服務股份有限公司 輸入輸出介面配置的方法、可配置輸入輸出介面的裝置及控制系統
US11269674B1 (en) 2018-05-23 2022-03-08 Open Invention Network Llc Lifecycle management of VNFC software modules

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073726A1 (en) 1998-11-10 2004-04-15 Aladdin Knowledge Systems, Ltd. Usb key apparatus for interacting with a usb host via a usb port

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2804816B1 (fr) 2000-02-03 2003-10-31 Gemplus Card Int Transport d'unites de protocole d'objet electronique portable par protocole pour peripheriques de micro- ordinateur
US6754725B1 (en) * 2001-05-07 2004-06-22 Cypress Semiconductor Corp. USB peripheral containing its own device driver
EP1434128A1 (en) * 2002-12-27 2004-06-30 Neodio Technologies Corporation Plug-and-play interconnection architecture and method with in-device storage module in peripheral device
US6945454B2 (en) 2003-04-22 2005-09-20 Stmicroelectronics, Inc. Smart card device used as mass storage device
KR200329847Y1 (ko) 2003-07-21 2003-10-10 씽크텔코리아(주) 스마트카드리드기 겸용 유에스비 드라이브 장치
US7762470B2 (en) * 2003-11-17 2010-07-27 Dpd Patent Trust Ltd. RFID token with multiple interface controller
US20070045417A1 (en) * 2005-08-26 2007-03-01 Ming-Chih Tsai USB device having IC card reader/writer and flash memory disk functions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073726A1 (en) 1998-11-10 2004-04-15 Aladdin Knowledge Systems, Ltd. Usb key apparatus for interacting with a usb host via a usb port

Also Published As

Publication number Publication date
US8346991B2 (en) 2013-01-01
EP2050005B1 (en) 2012-11-07
WO2008003599A1 (en) 2008-01-10
US20090210569A1 (en) 2009-08-20
KR20090111799A (ko) 2009-10-27
CN101529405A (zh) 2009-09-09
EP2050005A1 (en) 2009-04-22

Similar Documents

Publication Publication Date Title
KR101068380B1 (ko) 다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템
US7703688B2 (en) Method of communication between a smart card and a host station
US6769622B1 (en) System and method for simulating universal serial bus smart card device connected to USB host
US6389495B1 (en) Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US7685328B2 (en) Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device
CN101719054B (zh) 一种实现多卡槽访问的方法和装置
US8255587B2 (en) Protocol adapter for passing diagnostic messages between a host computer and vehicle networks operating in J1939 or J1708 protocol
US7568053B2 (en) USB composite device, USB communication system, and USB communication method
US20030046472A1 (en) Enhanced protocol conversion system
US20060015673A1 (en) Enhanced protocol conversion system
US20020156952A1 (en) Communication control apparatus, communication system and communication control method
US20070005867A1 (en) Virtual peripheral device interface and protocol for use in peripheral device redirection communication
US6098120A (en) Peripheral sharing system using a bus bridge to emulate peripherals on a first bus to a host on a second bus
KR20080059277A (ko) 엔에프씨 호스트 콘트롤러 인터페이스
US7383372B2 (en) Bus system, station for use in a bus system, and bus interface
US20110197203A1 (en) Communication device, communication method and program
CN110704341A (zh) 一种串口单线升级代码的装置及其方法
US6779185B1 (en) Bluetooth miniport driver model
US6714990B1 (en) Communication system and data adapter
US7281246B1 (en) Method for loading user interface software
US6826628B2 (en) PCI-PCMCIA smart card reader
US7930458B2 (en) USB memory card reader having memory card identification
JP2000305890A (ja) インターフェースボックス

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20140917

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee