KR20110046534A - Usb 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치 - Google Patents

Usb 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20110046534A
KR20110046534A KR1020117005964A KR20117005964A KR20110046534A KR 20110046534 A KR20110046534 A KR 20110046534A KR 1020117005964 A KR1020117005964 A KR 1020117005964A KR 20117005964 A KR20117005964 A KR 20117005964A KR 20110046534 A KR20110046534 A KR 20110046534A
Authority
KR
South Korea
Prior art keywords
usb
data
host computer
reflector
unit
Prior art date
Application number
KR1020117005964A
Other languages
English (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 KR20110046534A publication Critical patent/KR20110046534A/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/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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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
    • 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
    • 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/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Abstract

USB 규격을 사용하는 복수의 표준 USB 주변 디바이스가 네트워크를 가로질러 다양한 노드에 분포될 수 있게 하는 방법 및 장치가 제공되고, 여기서, 네트워크를 가로지른 통신은 표준의 비변형된 USB 호스트 컴퓨터의 임의의 기존의 네트워크 접속성을 이용할 수도 있다. 특히, 기존의 트랜시버로 데이터 통신을 반사하기 위해 리플렉터 기능이 추가된다. 그 결과, 호스트 컴퓨터는 데이터 통신을 위한 제 1 프로파일 및 제 2 프로파일을 확립하고, 기존의 데이터 통신 컴포넌트를 사용하여 네트워크를 가로질러 통신하기 위해 이들 프로파일을 사용한다.

Description

USB 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치{METHOD AND APPARATUS FOR CONNECTING USB DEVICES TO A REMOTE COMPUTER}
본 발명은 범용 직렬 버스 (USB) 포트를 사용하여 컴퓨터와 디바이스 사이에서 신호를 송신하는 방법 및 장치에 관한 것이고, 특히, 데이터 통신 네트워크를 가로질러 분포된 복수의 USB 주변 디바이스를 동작시키는 방법에 관한 것이다.
범용 직렬 버스 (USB) 는, 광범위한 주변 디바이스가 일반적인 사용자에 의해 개인 컴퓨터에 부착되게 하도록 설계된 기술이다. 이 기술은 키보드, 마우스, 스피커, 조이스틱, 카메라, 플래시 드라이브, 하드 드라이브, DVD 드라이브 및 다수의 다른 것들과 같은 공통 주변 디바이스 모두를 지원하고, 현재의 컴퓨터에서의 이것의 사용은 일반적이다.
USB 는 컴퓨터 및 통신 시장에서 7개의 가장 큰 회사의 연합에 의해 만들어졌다. 이들 회사는, Intel, Compaq, Microsoft, NorTel, NEC, Digital 및 IBM 이었다. USB 를 정의하는 규격 (예를 들어, 개정 1.0, 1996년 1월; 및 1998년 9월 23일에 개정 1.1 로서 업데이트되고, 2000년 4월에 개정 2.0 으로서 더 업데이트된 Intel 등의 범용 직렬 버스 규격, 및 후속 갱신물, 부가물 및 변경물 - 이하, "USB 규격" 으로서 일괄적으로 지칭하고, 이 용어는 다른 부가물, 변경물 및 개정, 및 특히 USB 3.0 으로서 공개를 위해 개발중인 부가물을 포함할 수 있다) 은 비독점이고, USB-IF (USB Implementers Forum) 으로서 공지된 개방 산업 기구에 의해 관리된다. USB 규격은 USB 표준과 호환하기 위해 충족되어야 하는 다수의 기준을 확립한다. USB 규격은 또한, 다수의 용어를 정의하고, 이 정의는 이러한 규격을 위해 채용되고, 참조로 여기에 포함된다.
USB 규격하에서, 데이터 통신은 바람직하게는 호스트 컴퓨터에 설치된 USB 호스트 제어기 유닛에 의해 관리된다. 또한, 데이터 통신은 일련의 USB 트랜잭션에서 발생하고, 여기서, 각 USB 트랜잭션은 USB 호스트 제어기에 의해 개시되며, 하나, 2개 또는 3개의 서브액션으로 구성된다. 각 서브액션은 하나 이상의 패킷으로 구성될 수도 있고, 데이터 흐름의 방향에서의 역전에 의해 종료된다.
그 내용이 여기에 참조로 포함되는 출원인의 미국 특허 제 6381666 호에서, 이용가능한 거리가 100 미터 이상으로 연장되는 호스트 컴퓨터와 주변 디바이스 사이의 거리를 연장하는 방법 및 장치가 제공된다. 미국 특허 제 6381666 호, 및 그 내용이 참조로 여기에 또한 포함되는 출원인의 미국 특허 제 7149833 호에서 추후 강화된 접근방식이 긴 송신 지연의 존재하에서 연장된 거리에 걸쳐 USB 주변 디바이스가 동작하는 것을 가능하게 하지만, 호스트 컴퓨터의 네트워킹 능력을 사용함으로써 연장된 범위가 획득되는 구성은 설명하지 않는다.
USB 연장 목적을 위해 전용 접속을 제공하기 보다는 호스트 컴퓨터의 기존의 네트워크 접속성을 종종 재사용하는 능력은, 네트워크 부착 하드웨어의 비용이 USB 부착 하드웨어의 비용보다 현저하게 높을 때 특히 유용하다. 예로서, 이더넷 네트워크에 무선 접속을 제공하는 트랜시버의 비용은 USB 트랜시버의 비용보다 상당히 많다. 호스트 컴퓨터에 네트워크 부착을 위한 무선 트랜시버가 이미 장착되어 있고, USB 트래픽이 호스트 컴퓨터의 USB 포트로부터 그것의 기존의 무선 네트워킹 포트로 역으로 "반사"될 수 있는 경우에, 추가 무선 트랜시버의 비용이 회피될 수 있다. 광섬유 또는 전력선 기술을 이용하는 네트워크는 또한, 높은 트랜시버 비용을 나타내고, 이러한 동일한 접근방식에 의해 이익을 얻을 수 있다.
또한, 미국 특허 제 6381666 호 및 제 7149833 호에 설명된 접근방식은, 호스트 컴퓨터 동작 소프트웨어에 대한 어떠한 변경이 연장된 거리 능력을 획득하기 위해 이루어지는 것을 요구하지 않는다. 이것은, 가장 광범위하게 적용가능한 솔루션을 제공하고, 시스템 사용의 편의를 보존하기 위해 이러한 속성이 유지될 수 있는 경우에 바람직하다.
따라서, 미국 특허 제 6381666 호 및 제 7149833 호에 설명된 바와 같은 범위 연장 USB 기술은 선형 구성에서 유용한 것으로 입증되었지만, USB 규격을 사용하는 복수의 USB 주변 디바이스가 네트워크를 가로질러 다양한 노드에 분포될 수 있게 하는 개선된 방법 및 장치를 제공함으로써 이 기술에 대한 개선점을 제공하는 것이 여전히 바람직하고, 여기서, USB 호스트 컴퓨터와 USB 주변 디바이스 사이에서 네트워크를 가로질러 통신은 USB 호스트 컴퓨터의 임의의 기존의 네트워크 접속성을 이용한다.
따라서, 본 발명의 목적은, USB 규격을 사용하는 복수의 USB 주변 디바이스가 네트워크를 가로질러 다양한 노드에 분포될 수 있게 하는 방법 및 장치를 제공하는 것이고, 여기서, USB 호스트 컴퓨터와 USB 주변 디바이스 사이에서 네트워크를 가로질러 통신은 USB 호스트 컴퓨터의 임의의 기존 네트워크를 이용할 수도 있다. 특히, 본 발명의 목적은 네트워크를 가로지른 데이터의 송신 동안 기존의 네트워크 트랜시버를 가능한 한 많이 사용하는 것이다.
본 발명의 다른 목적은, 이 방법 및 장치가 데이터 통신 네트워크에 의해 도입된 송신 지연을 수용하는 것이고, 이 지연은 USB 규격에 의해 정의된 파라미터를 초과할 수도 있다.
본 발명의 다른 목적은, 데이터 통신 네트워크가 USB 주변 디바이스의 동작과 관련되지 않은 추가 트래픽을 전송할 수도 있는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터가 임의의 종래의 수단에 의해 데이터 통신 네트워크에 접속될 수도 있다는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터가 임의의 이용가능한 USB, 또는 호스트 컴퓨터상의 유사한 포트를 통해 USB "리플렉터 (reflector)" 유닛에 접속될 수도 있는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터상에서 구동하는 USB 호스트 제어기 드라이버 소프트웨어에 대해 변경이 요구되지 않는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터상에서 구동하는 데이터 통신 네트워크 드라이버 소프트웨어에 변경이 요구되지 않는 것이다.
본 발명의 다른 목적은, 복수의 USB 주변 디바이스가 USB 분배기 유닛을 통해 데이터 통신 네트워크에 접속될 수도 있는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터로부터 발생하고 복수의 USB 주변 디바이스에 대해 의도되는 USB 트래픽이 호스트 컴퓨터에 접속된 USB 리플렉터 유닛을 향해 USB 를 통해 송신될 수도 있는 것이다.
본 발명의 다른 목적은, USB 리플렉터로 송신된 USB 트래픽이 데이터 통신 네트워크를 가로질러 송신을 위해 수집되어 호스트 컴퓨터로 리턴될 수도 있는 것이다.
본 발명의 다른 목적은, USB 분배기 유닛에 도달한 USB 트래픽이 복수의 USB 주변 디바이스에 분배될 수도 있는 것이다.
본 발명의 다른 목적은, USB 트래픽이 복수의 USB 주변 디바이스에서 발생하고 호스트 컴퓨터에서 종료하는 역방향에서 대응하는 능력이 제공될 수도 있다는 것이다.
본 발명의 다른 목적은, 호스트 컴퓨터 또는 USB 주변 디바이스를 동작시키기 위해 요구된 임의의 기존의 소프트웨어 드라이버에 대해 이루어질 필요가 있는 변경이 없다는 것이다.
여기에서 명백해질 본 발명의 이들 및 다른 목적들은, 방법 및 관련 장치를 제공하는 본 발명에 의해 완전하게 또는 적어도 부분적으로 획득되며, 여기서, 제 1 호스트 컴퓨터의 호스트 제어기는 제 1 호스트 컴퓨터에서의 제 2 호스트 제어기 또는 제 2 호스트 컴퓨터에서의 제 2 호스트 제어기에 차례로 접속되는 USB 리플렉터 유닛에 접속된다. 제 2 호스트 제어기는 결국은 하나 또는 복수의 USB 분배기 유닛이 또한 접속될 수도 있는 데이터 통신 네트워크에 접속된다. 각 USB 분배기 유닛은 하나 또는 복수의 USB 주변 디바이스에 차례로 접속될 수도 있다.
따라서, 제 1 양태에서, 본 발명은 하나 또는 복수의 호스트 컴퓨터와 하나 또는 복수의 USB 주변 디바이스 사이에서 USB 트래픽을 송신하는 컴퓨터 시스템을 제공하고, 여기서, 하나 또는 복수의 호스트 컴퓨터 및 하나 또는 복수의 USB 주변 디바이스는 데이터 통신 네트워크에 의해 접속되고, 하나 또는 복수의 호스트 컴퓨터에는 USB 리플렉터 유닛이 장착된다. 특히, 본 발명은 하나 또는 복수의 호스트 컴퓨터와 하나 또는 복수의 USB 주변 디바이스 사이에서 USB 트래픽을 송신하는 컴퓨터 시스템을 제공하고, 하나 또는 복수의 호스트 컴퓨터 및 하나 또는 복수의 USB 주변 디바이스는 데이터 통신 네트워크에 의해 서로에 접속되고, 이 시스템은,
a. USB 트래픽을 생성하고 수용하는 하나 또는 복수의 호스트 컴퓨터;
b. 하나 또는 복수의 호스트 컴퓨터에 의해 개시된 USB 트래픽에 응답할 수 있는 하나 또는 복수의 USB 주변 디바이스;
c. 하나 또는 복수의 호스트 컴퓨터와 데이터 통신 네트워크 사이의 하나 또는 복수의 네트워크 접속;
d. 하나 또는 복수의 호스트 컴퓨터로부터 수신된 USB 트래픽을 하나 또는 복수의 호스트 컴퓨터로 역으로 반사할 수 있는 USB 리플렉터 유닛;
e. 데이터 통신 네트워크에 접속되고, 하나 또는 복수의 USB 주변 디바이스를 데이터 통신 네트워크에 접속하기 위해 이용되는 하나 또는 복수의 USB 분배기 유닛;
f. USB 리플렉터 유닛과 통신하는 하나 또는 복수의 호스트 컴퓨터에서의 USB 리플렉터 드라이버; 및
g. USB 리플렉터 드라이버를 데이터 통신 네트워크와 접속하는 USB 리플렉터 애플리케이션을 포함한다.
다른 양태에서, 본 발명은 하나 또는 복수의 호스트 컴퓨터에 의해 생성된 USB 서브액션을 수용하고, USB 서브액션을 변환된 USB 서브액션의 세트로 변환하고, 변환된 USB 서브액션의 세트를 하나 또는 복수의 호스트 컴퓨터로 역으로 반사하는 USB 리플렉터 유닛을 제공한다. 특히, 본 발명은 하나 또는 복수의 호스트 컴퓨터에 의해 생성된 USB 서브액션을 수용하고, USB 서브액션을 변환된 USB 서브액션의 세트로 변환하며, USB 서브액션의 세트를 하나 또는 복수의 호스트 컴퓨터로 역으로 반사하는 USB 리플렉터 유닛을 제공하고, 이 USB 리플렉터 유닛은,
a. 적어도 하나의 호스트 컴퓨터와 통신하는 적어도 하나의 USB 트랜시버; 및
b. 적어도 하나의 USB 트랜시버를 통해 USB 서브액션을 수용하고 반사하며, USB 서브액션을 변환된 USB 서브액션의 세트로 변환하는 리플렉터 코어를 포함한다.
다른 양태에서, 본 발명은 적어도 하나의 USB 트랜시버를 통해 USB 서브액션을 수용하고 반영하며, USB 서브액션을 변환된 USB 서브액션의 세트로 변환하는 리플렉터 코어 유닛을 제공한다. 특히, 본 발명은 적어도 하나의 USB 트랜시버를 통해 USB 서브액션을 수용하고 반영하며, USB 서브액션을 변환된 USB 서브액션의 세트로 변환하는 리플렉터 코어 유닛을 제공하고, 이 리플렉터 코어 유닛은,
a. USB 커맨드를 분석하고 적절한 USB 응답을 생성하는 USB 응답기;
b. USB 서브액션 및 변환된 USB 서브액션을 저장하는 패킷 캐시;
c. 리플렉터 코어 유닛에 의해 지원된 각 USB 디바이스의 구성 및 상태를 기록하는 상태 테이블;
d. USB 호스트 제어기로부터 수신된 USB 서브액션을 USB 호스트 제어기로 역으로 반사될 수도 있는 USB 서브액션으로 변환하는 USB 수집기 (aggregator); 및
e. USB 응답기, 패킷 캐시, 상태 테이블 및 USB 수집기의 동작을 조정하는 제어기를 포함한다.
다른 양태에서, 본 발명은 호스트 컴퓨터로부터 수신된 USB 서브액션을 수용하고, 그 USB 서브액션을 복수의 USB 주변 디바이스로 포워딩하며, 복수의 USB 주변 디바이스로부터 수신된 USB 서브액션을 수용하고, 그 USB 서브 액션을 호스트 컴퓨터로 포워딩하는 USB 분배기 유닛을 제공한다. 특히, 본 발명은 호스트 컴퓨터로부터 수신된 USB 서브액션을 수용하고, 그 USB 서브액션을 복수의 USB 주변 디바이스로 포워딩하며, 복수의 USB 주변 디바이스로부터 수신된 USB 서브액션을 수용하고, 그 USB 서브액션을 호스트 컴퓨터로 포워딩하는 USB 분배기 유닛을 제공하고, 이 USB 분배기 유닛은,
a. 복수의 USB 주변 디바이스와 통신하는 적어도 하나의 USB 트랜시버; 및
b. 적어도 하나의 USB 트랜시버를 통해 USB 서브액션을 수용하고 포워딩하는 분배기 코어를 포함한다.
다른 양태에서, 본 발명은 데이터 통신 네트워크를 가로질러 USB 주변 디바이스로부터 호스트 컴퓨터로 데이터를 송신하는 방법을 제공한다. 특히, 본 발명은 데이터 통신 네트워크를 가로질러 USB 주변 디바이스로부터 호스트 컴퓨터로 데이터를 송신하는 방법을 제공하고, 이 방법은,
a. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 1 요청을 제 1 호스트 컴퓨터로부터 수신하는 단계;
b. 인커밍 데이터에 대한 제 1 요청을 USB 리플렉터 유닛에서 저장하는 단계;
c. 선택적으로, USB 리플렉터 유닛에서 부정 확인응답으로 제 1 호스트 컴퓨터에 응답하는 단계;
d. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 2 요청을 제 2 호스트 컴퓨터로부터 수신하는 단계;
e. 인커밍 데이터에 대한 제 1 요청을 포함하는 데이터 응답으로 제 2 호스트 컴퓨터에 응답하는 단계;
f. 선택적으로, USB 리플렉터 유닛에서 제 2 호스트 컴퓨터로부터 긍정 확인응답을 수신하는 단계;
g. 인커밍 데이터에 대한 제 1 요청을 포함하는 데이터 응답을 제 2 호스트 컴퓨터에서 수신하는 단계;
h. 인커밍 데이터에 대한 제 1 요청을 포함하는 수신된 데이터 응답을 데이터 통신 네트워크를 통해 제 2 호스트 컴퓨터에서 포워딩하는 단계;
i. 인커밍 데이터에 대한 제 1 요청을 포함하는 포워딩된 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
j. 포워딩된 데이터 응답으로부터 인커밍 데이터에 대한 제 1 요청을 USB 분배기 유닛에서 추출하는 단계;
k. USB 분배기 유닛에서 인커밍 데이터에 대한 추출된 제 1 요청을 USB 주변 디바이스로 송신하는 단계;
l. USB 주변 디바이스로부터의 제 2 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
m. 선택적으로, USB 분배기 유닛에서 긍정 확인응답으로 USB 주변 디바이스에 응답하는 단계;
n. USB 분배기 유닛에서 인커밍 데이터에 대한 추출된 제 1 요청 및 제 2 데이터 응답을 어셈블링 데이터 응답으로 어셈블링하는 단계;
o. USB 분배기 유닛에서 데이터 통신 네트워크를 가로질러 어셈블링 데이터 응답을 포워딩하는 단계;
p. 포워딩된 어셈블링 데이터 응답을 제 2 호스트 컴퓨터에서 수신하는 단계;
q. 제 2 호스트 컴퓨터에서 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 통지를 생성하는 단계;
r. USB 리플렉터 유닛에서 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 생성된 통지를 수신하는 단계;
s. 선택적으로, 긍정 확인응답으로 제 2 호스트 컴퓨터에 응답하는 단계;
t. USB 리플렉터 유닛에서 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 수신된 통지를 저장하는 단계;
u. USB 리플렉터 유닛에서 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 저장된 통지로부터 인커밍 데이터에 대한 제 1 요청 및 제 2 데이터 응답을 추출하는 단계;
v. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 2 요청을 제 1 호스트 컴퓨터로부터 수신하는 단계;
w. USB 리플렉터 유닛에서 인커밍 데이터에 대한 추출된 제 1 요청을 인커밍 데이터에 대한 수신된 제 2 요청과 매칭하는 단계;
x. USB 리플렉터 유닛에서 추출된 제 2 데이터 응답을 제 1 호스트 컴퓨터로 포워딩하는 단계; 및
y. 선택적으로, 제 1 호스트 컴퓨터로부터 긍정 확인응답을 흡수하는 단계를 포함한다.
다른 양태에서, 본 발명은 데이터 통신 네트워크를 가로질러 호스트 컴퓨터로부터 USB 주변 디바이스로 데이터를 송신하는 방법을 제공한다. 특히, 본 발명은 데이터 통신 네트워크를 가로질러 호스트 컴퓨터로부터 USB 주변 디바이스로 데이터를 송신하는 방법을 제공하고, 이 방법은,
a. USB 리플렉터 유닛에서 아웃고잉 데이터의 제 1 통지를 제 1 호스트 컴퓨터로부터 수신하는 단계;
b. 아웃고잉 데이터의 제 1 통지를 USB 리플렉터 유닛에서 저장하는 단계;
c. 선택적으로, USB 리플렉터 유닛에서 부정 확인응답으로 제 1 호스트 컴퓨터에 응답하는 단계;
d. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 1 요청을 제 2 호스트 컴퓨터로부터 수신하는 단계;
e. 아웃고잉 데이터의 제 1 통지를 포함하는 데이터 응답으로 제 2 호스트 컴퓨터에 응답하는 단계;
f. 선택적으로, USB 리플렉터 유닛에서 제 2 호스트 컴퓨터로부터의 긍정 확인응답을 수신하는 단계;
g. 아웃고잉 데이터의 제 1 통지를 포함하는 데이터 응답을 제 2 호스트 컴퓨터에서 수신하는 단계;
h. 아웃고잉 데이터의 제 1 통지를 포함하는 수신된 데이터 응답을 데이터 통신 네트워크를 가로질러 제 2 호스트 컴퓨터에서 포워딩하는 단계;
i. 아웃고잉 데이터의 제 1 통지를 포함하는 포워딩된 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
j. 포워딩된 데이터 응답으로부터 아웃고잉 데이터의 제 1 통지를 USB 분배기 유닛에서 추출하는 단계;
k. USB 분배기 유닛에서 아웃고잉 데이터의 추출된 제 1 통지를 USB 주변 디바이스로 송신하는 단계;
l. USB 주변 디바이스로부터 제 2 긍정 확인응답을 USB 분배기 유닛에서 수신하는 단계;
m. USB 분배기 유닛에서 아웃고잉 데이터의 추출된 제 1 통지 및 제 2 긍정 확인응답을 어셈블링 데이터 응답으로 어셈블링하는 단계;
n. USB 분배기 유닛에서 어셈블링 데이터 응답을 데이터 통신 네트워크를 가로질러 포워딩하는 단계;
o. 포워딩된 어셈블링 데이터 응답을 제 2 호스트 컴퓨터에서 수신하는 단계;
p. 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 통지를 제 2 호스트 컴퓨터에서 생성하는 단계;
q. USB 리플렉터 유닛에서 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 생성된 통지를 수신하는 단계;
r. 선택적으로, 긍정 확인응답으로 제 2 호스트 컴퓨터에 응답하는 단계;
s. 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 수신된 통지를 USB 리플렉터 유닛에서 저장하는 단계;
t. 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 저장된 통지로부터 아웃고잉 데이터의 제 1 통지 및 제 2 긍정 확인응답을 USB 리플렉터 유닛에서 추출하는 단계;
u. USB 리플렉터 유닛에서 아웃고잉 데이터의 제 3 통지를 제 1 호스트 컴퓨터로부터 수신하는 단계;
v. 아웃고잉 데이터의 추출된 제 1 통지를 아웃고잉 데이터의 수신된 제 3 통지와 USB 리플렉터 유닛에서 매칭하는 단계; 및
w. USB 리플렉터 유닛에서 추출된 제 2 긍정 확인응답을 제 1 호스트 컴퓨터에 포워딩하는 단계를 포함한다.
바람직한 실시형태의 설명
USB 시스템의 바람직한 실시형태에서, 호스트 컴퓨터 및 USB 주변 디바이스는 USB 규격을 지원하는 임의의 표준 유닛 또는 디바이스일 수 있다. 바람직하게는, 이 유닛 및 디바이스는 USB 규격의 가장 최근의 버전을 지원해야 하지만, USB 규격의 초기의 버전만을 지원하는 유닛 및 디바이스가 또한 허용된다.
데이터 통신 네트워크의 바람직한 실시형태에서, 데이터 통신 네트워크는 호스트 컴퓨터 및 USB 분배기를 접속하는 전용 링크로 구성된다.
데이터 통신 네트워크의 다른 바람직한 실시형태에서, 데이터 통신 네트워크는 호스트 컴퓨터와 USB 분배기 사이를 이동하는 USB 트래픽에 추가하여 다른 트래픽을 반송할 수도 있는 공유 네트워크로 구성된다. 예를 들어, 유선 이더넷, 무선 이더넷, 공중 인터넷, 사설 인트라넷 및 이들 네트워크의 조합에 기초하는 것과 같은 네트워크들이 이러한 애플리케이션에 적합할 수 있다.
USB 리플렉터의 바람직한 실시형태에서, USB 리플렉터는 USB 동글 또는 USB 메모리 스틱의 방식으로 호스트 컴퓨터의 USB 포트에 직접 플러그될 수도 있는 자립형 (self-contained) 유닛이다.
USB 리플렉터의 다른 바람직한 실시형태에서, USB 리플렉터는 하나 이상의 USB 케이블에 의해 하나 이상의 호스트 컴퓨터에 접속될 수도 있는 자립형 유닛이다.
USB 리플렉터의 또 다른 바람직한 실시형태에서, USB 리플렉터는 호스트 컴퓨터의 인클로저내에 통합될 수도 있고, USB 케이블에 의해 추가의 호스트 컴퓨터에 접속될 수도 있다.
USB 리플렉터의 바람직한 실시형태에서, USB 리플렉터는 단일 USB 링크에 의해 단일 호스트 컴퓨터에 접속되고, USB 리플렉터와 호스트 컴퓨터 사이의 모든 USB 트래픽은 단일 USB 링크를 통해 반송된다.
USB 리플렉터의 다른 바람직한 실시형태에서, USB 리플렉터는 2개의 USB 링크에 의해 단일 호스트 컴퓨터에 접속되고, 각 USB 링크는 단일 호스트 컴퓨터내에 포함된 개별 호스트 제어기에 접속되고, 특정한 USB 링크상에서 USB 리플렉터에 도달하는 모든 USB 트래픽은 다른 USB 링크상에서 역으로 반사된다.
USB 리플렉터의 또 다른 바람직한 실시형태에서, USB 리플렉터는 2개의 USB 링크에 의해 2개의 개별 호스트 컴퓨터에 접속되며, 특정한 USB 링크상에서 USB 리플렉터에 도달하는 모든 USB 트래픽은 다른 USB 링크상에서 역으로 반사된다.
USB 리플렉터의 또 다른 바람직한 실시형태에서, USB 리플렉터는 다중의 USB 링크에 의해 다중의 호스트 컴퓨터에 접속되며, 특정한 USB 링크상에서 USB 리플렉터에 도달하는 USB 트래픽은 USB 리플렉터에 이용가능한 구성 및 트래픽 로딩 파라미터에 의존하여 임의의 이용가능한 USB 링크상에서 역으로 반사된다.
USB 링크의 바람직한 실시형태에서, USB 2.0 트랜시버는 USB 링크의 각 단부에 제공되어야 하고, 이 트랜시버는 USB 2.0 규격에 따르는 케이블에 의해 접속되어야 한다.
USB 링크의 다른 바람직한 실시형태에서, USB 3.0 트랜시버는 USB 링크의 각 단부에 제공되어야 하고, 이 트랜시버는 USB 3.0 규격에 따르는 케이블에 의해 접속되어야 한다.
USB 링크의 또 다른 바람직한 실시형태에서, 공인 무선 USB 트랜시버가 USB 링크의 각 단부에 제공되어야 하고, 이 트랜시버는 라디오에 의해 접속되어야 한다.
USB 링크의 또 다른 바람직한 실시형태에서, 고속 인터-칩 트랜시버가 USB 링크의 각 단부에 제공되어야 하고, 이 트랜시버는 인쇄 회로 기판상에 트레이스에 의해 접속되어야 한다.
본 발명의 다른 목적 및 이점과 함께 구조, 구성, 사용 및 동작 방법에 관한 본 발명의 특징으로 여겨지는 신규한 특징들이, 본 발명의 현재 바람직한 실시형태가 예로서 이제 예시될 아래의 도면으로부터 더 양호하게 이해될 것이다. 그러나, 이 도면들은 오직 예시 및 설명을 위한 것이고, 본 발명의 제한의 정의로서 의도되지 않는다는 것이 명백하게 이해된다. 이제, 본 발명의 실시형태들을 첨부한 도면과 관련하여 예로서 설명할 것이다.
도 1 은 종래 기술의 USB 규격에 따른 통상의 USB 시스템의 블록도이다.
도 2 는 종래 기술에 따른 USB 익스텐더 (extender) 시스템의 블록도이다.
도 3 은 본 발명에 따른 USB 시스템의 블록도이다.
도 4 는 본 발명에 따른 바람직한 USB 시스템의 블록도이다.
도 5 는 본 발명에 따른 다른 바람직한 USB 시스템의 블록도이다.
도 6 은 본 발명에 따른 USB 리플렉터, 및 다양한 호스트 컴퓨터 옵션을 나타내는 복수의 호스트 제어기의 블록도이다.
도 7 은 본 발명에 따른 바람직한 USB 리플렉터, 및 단일 호스트 컴퓨터 옵션을 나타내는 2개의 호스트 제어기의 블록도이다.
도 8 은 본 발명에 따른 다른 바람직한 USB 리플렉터, 및 단일 호스트 컴퓨터 옵션을 나타내는 단일 호스트 제어기의 블록도이다.
도 9 는 본 발명에 따른 리플렉터 코어의 블록도이다.
도 10 은 본 발명에 따른 USB 분배기의 블록도이다.
도 11 은 본 발명에 따른 호스트 컴퓨터 소프트웨어 스택의 블록도이다.
도 12 는 USB 주변으로부터 호스트 컴퓨터로의 데이터 송신을 나타내는 시퀀스도이다.
도 13 은 호스트 컴퓨터로부터 USB 주변으로의 데이터 송신을 나타내는 시퀀스도이다.
도 1 은 USB 규격에 따라 어셈블링된 종래 기술의 시스템의 블록도이다. USB 규격에 따르면, USB-인에이블된 호스트 컴퓨터 (10) 는 USB 허브 (16) 중 하나 또는 체인을 통해 하나 또는 복수의 USB 디바이스 (17) 에 접속될 수도 있다. 디바이스는 다른 디바이스에 접속될 수 없고, 단일 직렬 체인에 접속될 수 있는 허브의 최대 수는 5이다. 디바이스는 또한 호스트 컴퓨터에 직접적으로 접속될 수도 있다. 컴퓨터, 허브 또는 디바이스를 상호접속하기 위해 사용된 각 케이블의 최대 길이는 5 미터이다.
도 2 는 종래 기술에 따른 USB 의 범위를 확장하는 시스템을 도시한다. 표준형의 비변형 호스트 컴퓨터 (10) 가 로컬 익스텐더 유닛 (93), 긴 케이블 (13) 및 원격 익스텐더 유닛 (94) 을 통해 표준형의 비변형 USB 주변 디바이스 (17) 와 통신한다. USB 허브 (16) 가 또한, 복수의 USB 주변 디바이스가 단일 호스트 컴퓨터에 의해 제어되는 것을 가능하게 하도록 원격 익스텐더 유닛 (94) 과 USB 주변 디바이스 (17) 사이에 접속될 수도 있다.
이러한 방식하의 "데이터-판독" 의 예에서, 호스트 컴퓨터 (10) 는 USB 케이블 (95) 을 가로질러 USB 서브액션을 로컬 익스텐더 유닛 (93) 으로 전송한다. USB 서브액션은 USB 트랜시버 (97a) 에 의해 수신되고, 로컬 익스텐더 로직 (90) 으로 포워딩된다. 로컬 익스텐더 로직 (90) 은 원격 익스텐더 로직 (91) 으로 네트워크 트랜시버 (92a), 긴 케이블 (13) 및 네트워크 트랜시버 (92b) 를 통한 송신을 위해 USB 서브액션을 포맷한다. 로컬 익스텐더 로직 (90) 은 또한, USB 트랜시버 (97a) 및 USB 케이블 (95) 을 통한 호스트 컴퓨터 (10) 로의 송신을 위해 긍정 확인응답 서브액션을 생성할 수도 있다. USB 서브액션의 수신시에, 원격 익스텐더 로직 (91) 은 USB 를 통한 송신을 위해 USB 서브액션의 포맷을 변환하고, USB 트랜시버 (97b), USB 케이블 (96), 및 (선택적으로) USB 허브 (16) 를 통해 USB 서브액션을 USB 주변 디바이스 (17) 로 포워딩한다.
USB 주변 디바이스 (17) 에서 USB 서브액션의 수신시에, USB 주변 디바이스는 응답 서브액션을 생성할 수도 있고, USB 케이블 (96) 및 USB 트랜시버 (97b) 를 통해 원격 익스텐더 로직 유닛 (91) 으로 응답 서브액션을 포워딩할 수도 있다. 원격 익스텐더 로직 유닛은 로컬 익스텐더 로직 (90) 으로의 네트워크 트랜시버 (92b), 긴 케이블 (13) 및 네트워크 트랜시버 (92a) 를 통한 송신을 위해 응답 서브액션을 포맷하고, 여기서, 응답 서브액션은 추후 사용을 위해 저장된다. 원격 익스텐더 로직 (91) 은 또한 USB 주변 디바이스 (17) 로의 USB 트랜시버 (97b) 및 USB 케이블 (96) 을 통한 송신을 위해 긍정 확인응답 서브액션을 생성할 수도 있다.
추후 시간에서, 호스트 컴퓨터 (10) 는 USB 주변 디바이스 (17) 에 대해 의도된 원래의 USB 서브액션을 반복할 수도 있다. 반복된 서브액션은 또한, USB 케이블 (95) 및 USB 트랜시버 (97a) 를 통해 로컬 익스텐더 로직 (90) 으로 송신된다. 반복된 USB 서브액션이 로컬 익스텐더 로직 (90) 에 의해 수신될 때, 로컬 익스텐더 로직 (90) 은 저장부로부터 응답 서브액션을 검색하고, USB 트랜시버 (97a) 및 USB 케이블 (95) 을 통해 호스트 컴퓨터 (10) 로 응답 서브액션을 송신한다.
긴 케이블 (13) 이 로컬 익스텐더 유닛 (93) 에 대한 접속 및 원격 익스텐더 유닛 (94) 에 대한 접속을 갖는 데이터 통신 네트워크에 의해 대체될 수도 있다는 것이 당업자에게는 명백할 것이다.
긴 케이블 (13) 의 각 단부에 하나씩, 2개의 네트워크 트랜시버 (92a, 92b) 가 제공되는 것을 도 2 의 종래 기술의 시스템이 요구한다는 것에 유의한다.
본 발명에 관하여, 네트워크 트랜시버는 고가의 컴포넌트일 수 있고, 이에 의해 로컬 익스텐더 및 원격 익스텐더 유닛의 비용에 우세할 수 있다는 것이 당업자에게 명백할 것이다. 네트워크 트랜시버 (92a) 가 로컬 익스텐더 유닛 (93) 으로부터 제거될 수 있으면, 완성된 USB 익스텐더 시스템의 비용에서의 상당한 감소가 달성될 수 있다는 것이 또한 명백할 것이다. 호스트 컴퓨터에는 데이터 통신용이 네트워크 트랜시버가 종종 사전 장착된다는 것이 또한 당업자에게는 명백할 것이다.
네트워크 트랜시버가 긴 케이블 (13) 또는 등가의 데이터 통신 네트워크에 네트워크 트랜시버를 물리적으로 접속하는 수단과 관련되어야 하거나, 그 수단을 포함해야 한다는 것이 당업자에게 또한 명백할 것이다. 물리적 접속 수단은 통상적으로, 무선 통신용의 안테나, 전기적 통신용의 RJ45 리셉터클 또는 광 통신용의 듀얼-LC 리셉터클의 형태를 취할 수도 있다. 네트워크 트랜시버 (92a) 와 관련된 물리적 접속 수단이 또한 제거될 수 있으면, 로컬 익스텐더 유닛 (93) 의 물리적 사이즈가 감소될 수 있고, 케이블 부착 목적을 위해 액세스가능하고 로버스트해야 할 로컬 익스텐더 유닛에 대한 요건이 제거될 수 있다는 것이 또한 명백할 것이다.
네트워크 트랜시버가 연장된 거리를 통해 신뢰가능한 통신을 달성하기 위해 상당한 양의 전력을 소모할 수도 있다는 것이 당업자에게 또한 명백할 것이다. 로컬 익스텐더 유닛 (93) 으로부터 네트워크 트랜시버 (92a) 를 제거함으로써, 로컬 익스텐더 유닛 (93) 에 의한 전력 소모의 상당한 감소가 달성될 수 있어서, 더 낮은 열 소산 및 한층 더 낮은 사이즈 및 비용을 발생시킨다.
도 3 은 본 발명에 따른 USB 시스템의 블록도이다. 이러한 배열에서, 각 USB 주변 디바이스 (17) 는 직접 또는 USB 허브 (16) 중 하나 또는 체인을 통해 USB 분배기 (15) 에 접속된다. 각 USB 분배기는 또한 데이터 통신 네트워크 (14) 에 접속된다. 또한, 이 배열에서, USB 리플렉터 (11) 가 하나 또는 복수의 호스트 컴퓨터 (10, 12) 에 접속된다. 호스트 컴퓨터 중 적어도 하나는 데이터 통신 네트워크 (14) 에 대한 접속을 가져야 한다. 이러한 시스템에서, 호스트 컴퓨터 (12) 는 이러한 접속을 갖고, 데이터 통신 네트워크 (14) 에 대한 액티브 접속을 갖지 않는 1차 (primary) 호스트 컴퓨터 (10) 와 데이터 통신 네트워크 (14) 에 대한 액티브 접속을 갖는 2차 (secondary) 호스트 컴퓨터 (12) 사이에서 구별이 이루어진다.
1차 호스트 컴퓨터 (10) 가 USB 주변 디바이스 (17) 와 통신하기를 원하지만, 데이터 통신 네트워크 (14) 에 대한 액티브 접속이 부족할 때, 1차 호스트 컴퓨터 (10) 는 USB 서브액션을 USB 리플렉터 (11) 로 송신하는 반면에, USB 리플렉터 (11) 는 USB 서브액션을 2차 호스트 컴퓨터 (12) 로 "반사"한다. USB 리플렉터 (11) 는 또한 바람직하게는, USB 타이밍 요건을 충족시키기 위해 모든 필요한 긍정 확인응답이 1차 호스트 컴퓨터 (10) 및 2차 호스트 컴퓨터 (12) 에 대해 생성되는 것을 보장한다. USB 서브액션이 호스트 컴퓨터 (12) 에 의해 수신될 때, 서브액션은 2차 호스트 컴퓨터 (12) 의 기존의 데이터 네트워크를 사용하여 데이터 통신 네트워크 (14) 를 가로질러 USB 분배기 (15) 로 포워딩된다. 그 후, USB 분배기 (15) 는 직접 또는 중간 USB 허브 (16) 를 통해 USB 서브액션을 USB 주변 디바이스 (17) 에 포워딩한다. 유사한 프로세스가 USB 주변 디바이스 (17) 로부터 호스트 컴퓨터 (10) 로 역방향으로 이동하는 데이터 또는 서브액션에 대해 적용된다.
"반사"는 USB 호스트 제어기에 의해 USB 주변 디바이스로 이슈되는 USB 서브액션이, USB 주변 디바이스 보다는 USB 리플렉터에 관한 USB 서브액션으로서, USB 리플렉터 유닛에 의해 인터셉트되고, 하나 이상의 결과적인 USB 서브액션으로 삽입되며, 원래의 USB 호스트 제어기 또는 다른 호스트 제어기로 리턴된다는 것을 의미한다. 따라서, USB 서브액션은 하나의 USB 호스트 제어기로부터 다른 USB 호스트 제어기 또는 동일한 USB 호스트 제어기로 USB 리플렉터 유닛에 의해 "반사"된다. 호스트 제어기는 자신에게 역으로 반사되는 자신의 서브액션을 "볼"수도 있거나 다른 호스트 제어기로부터 발생하는 반사된 서브액션을 "볼"수도 있다.
USB 리플렉터 (11) 는 독립형 디바이스일 수 있거나, 호스트 컴퓨터 (10) 또는 (12) 의 구조내에 포함된 가상 디바이스일 수 있다.
본 발명의 이러한 실시형태에서, 3개의 USB 분배기, 2개의 1차 호스트 컴퓨터 및 2개의 2차 호스트 컴퓨터의 특정한 배열이 선택되었다. 그러나, 디바이스의 이러한 선택이 본 발명의 범위에 대한 제한으로서 의도되지 않으며, 이들 USB 분배기 및 호스트 컴퓨터의 상이한 모집단이 가능하다는 것이 당업자에게 명백할 것이다.
또한, 본 발명의 이러한 실시형태에서, 1차 호스트 컴퓨터 (10) 및 2차 호스트 컴퓨터 (12) 는 개별 유닛으로서 도시된다. 다시, 1차 호스트 컴퓨터 및 2차 호스트 컴퓨터의 기능이 네트워크 (14) 에 대한 활성 데이터 통신 접속을 갖는 임의의 호스트 컴퓨터에서 결합될 수도 있다는 것이 당업자에게 명백할 것이다.
또한, 본 발명의 이러한 실시형태에서, 데이터 통신 네트워크 (14) 는 복수의 접속을 지원하는 것으로서 도시된다. 다시, 데이터 통신 네트워크는 단일 2차 호스트 컴퓨터 (12) 에 대한 단일 접속 및 단일 USB 분배기 (15) 에 대한 단일 접속만을 지원할 수도 있어서, 단일 2차 호스트 컴퓨터와 단일 USB 분배기 사이의 점 대 점 접속에 의해 대체될 수도 있다는 것이 당업자에게 명백할 것이다.
도 4 는 본 발명에 따른 다른 바람직한 USB 시스템의 블록도이다. 이러한 구성에서, 도 3 으로부터의 1차 호스트 컴퓨터 및 2차 호스트 컴퓨터 양자의 기능을 수행하는 단일 호스트 컴퓨터 (12) 만이 요구된다. 이러한 배열에서, USB 리플렉터 (11) 는 이후 섹션에서 설명될 1차 및 2차 "프로파일" 메카니즘을 사용하여 호스트 컴퓨터 (12) 로부터 동일한 호스트 컴퓨터 (12) 로 역으로 발생하는 USB 신호를 반사하기 위해 요구된다.
도 5 는 본 발명에 따른 다른 바람직한 USB 시스템의 블록도이다. 이러한 배열에서, 단순한 데이터 통신 네트워크로서 작용하는 점 대 점 접속 (13) 이 호스트 컴퓨터 (12) 와 USB 분배기 (15) 사이에 제공된다. 점 대 점 접속 (13) 이 트위스트드 페어 케이블, 동축 케이블, 광섬유 케이블 및 무선을 포함하는 통신 매체의 범위에 의해 제공될 수도 있다는 것이 당업자에게 명백할 것이다.
도 6 은 본 발명에 따른 USB 리플렉터 (11), 및 다양한 호스트 컴퓨터 옵션을 나타내는 복수의 호스트 제어기의 블록도이다. 이러한 배열에서, USB 리플렉터 (11) 는 리플렉터 코어 유닛 (23) 및 하나 또는 복수의 USB 트랜시버 (22) 로 구성된다. 리플렉터 코어 유닛 (23) 은 USB 트랜시버 (22) 로부터 USB 서브액션을 수신하고, USB 서브액션을 포맷하여 USB 트랜시버 (22) 로 송신하며, USB 트랜시버 사이에 USB 서브액션을 포워딩하는 메카니즘을 제공한다. 각 USB 트랜시버 (22) 는 호스트 컴퓨터 (10, 12) 에 위치된 호스트 제어기 (21) 에 접속된다.
도 6 의 시스템의 동작을 지원하는데 있어서, USB 리플렉터 (11) 는 적어도 2개의 별개이지만 관련된 프로파일을 갖도록 요구된다. 1차 프로파일이 1차 호스트 컴퓨터 (10) 에 제공되고, USB 분배기 (15) 에 접속된 허브 (16) 및 USB 주변 디바이스 (17) 의 모집단을 나타낸다. 1차 프로파일은 1차 호스트 컴퓨터 (10) 와 USB 주변 디바이스 (17) 와 USB 허브 (16) 사이에 송신된 USB 서브액션에 반응한다. 이에 의해, 1차 프로파일은 1차 호스트 컴퓨터 (10) 에 의해 USB 주변 디바이스 (17) 에 할당된 모든 고유 USB 어드레스에 응답한다. 1차 프로파일은 적어도 하나의 1차 또는 2차 호스트 컴퓨터 (10, 12) 에 제공되어야 한다.
2차 프로파일은 2차 호스트 컴퓨터 (12) 에 제공되고, 종래의 USB 디바이스로서 USB 리플렉터 (11) 의 USB 인터페이스를 나타낸다. 2차 프로파일은 USB 리플렉터 (11) 의 USB 열거 (enumeration) 를 지원하고, 2차 호스트 컴퓨터 (12) 에 의해 데이터 통신 네트워크 (14) 를 가로질러 중계될 USB 서브액션을 송신하는 USB 엔드포인트를 제공한다. 이에 의해, 2차 프로파일은 2차 호스트 컴퓨터 (12) 에 의해 USB 리플렉터 (11) 에 할당된 고유 USB 어드레스에 응답한다. 2차 프로파일은 적어도 하나의 2차 호스트 컴퓨터 (12) 에 제공되어야 한다.
USB 리플렉터 (11) 내의 리플렉터 코어 로직 (23) 은 1차 프로파일과 2차 프로파일을 구현하고, 1차 프로파일과 2차 프로파일 사이에서 USB 서브액션 정보를 송신하며, 송신 동안 요구될 수도 있는 임의의 데이터 변환 액션을 수행하도록 요구된다.
본 발명의 이러한 실시형태에서, 4개의 USB 트랜시버 (22) 의 특정한 배열이 선택되었다. 상이한 수의 USB 트랜시버가 사용될 수도 있고, 각 USB 트랜시버가 USB 규격의 상이한 개정과 호환가능할 수도 있다는 것이 당업자에게 명백할 것이다. USB 1.1, USB 2.0, USB 3.0, 공인 무선 USB 또는 고속 인터-칩 USB 가 적합한 트랜시버 유닛의 모든 예들이다.
또한, 본 발명의 이러한 실시형태에서, 4개의 USB 호스트 제어기 (21), 하나의 1차 호스트 컴퓨터 (10) 및 하나의 2차 호스트 컴퓨터 (12) 의 특정한 배열이 선택되었다. 상이한 배열이 가능하다는 것이 당업자에게 명백할 것이다. USB 리플렉터 (11) 는 적어도 하나의 USB 트랜시버 (22) 를 갖도록 요구되고, 각 USB 트랜시버 (22) 는 단일 호스트 제어기 (21) 에 접속되어야 한다. 각 호스트 컴퓨터 (10, 12) 는 적어도 하나의 호스트 제어기 (21) 를 가져야 한다.
개별 1차 프로파일이 각 1차 호스트 컴퓨터내에 포함된 각 개별 호스트 제어기에 대해 제공될 수도 있고, 2차 프로파일이 각 2차 호스트 컴퓨터내의 각 개별 호스트 제어기에 대해 제공될 수도 있다.
도 7 은 본 발명에 따른 바람직한 USB 리플렉터, 및 단일 호스트 컴퓨터 옵션을 나타내는 2개의 호스트 제어기의 블록도이다. 이러한 배열에서, USB 리플렉터 (11) 는 2개의 USB 링크 (25a, 25b) 를 통해 2개의 호스트 제어기 (21a, 21b) 에 접속된 2개의 USB 트랜시버 (22a, 22b) 및 리플렉터 코어 (23) 로 구성된다. 이러한 구성에서, USB 리플렉터 (11) 는 USB 트랜시버 (22a) 를 통해 호스트 제어기 (21a) 에 그것의 1차 프로파일, 및 USB 트랜시버 (22b) 를 통해 호스트 제어기 (21b) 에 그것의 2차 프로파일을 제공할 수도 있다. 호스트 컴퓨터 (12) 는 1차 호스트 컴퓨터 및 2차 호스트 컴퓨터 양자의 기능을 수행하도록 요구된다.
본 발명의 이러한 실시형태에서, USB 트랜시버 (22a, 22b) 는 개별 유닛으로서 도시되고, USB 호스트 제어기 (21a, 21b) 는 개별 유닛으로서 도시되며, USB 링크 (25a, 25b) 는 개별 링크로서 도시된다. 다른 구성이 가능하고, 다중 유닛이 함께 집적될 수도 있다는 것이 당업자에게 명백할 것이다. USB 트랜시버 (22a) 가 USB 2.0 의 요건에 따를 수도 있고, USB 트랜시버 (22b) 가 USB 3.0 의 요건에 따를 수도 있으며, USB 링크 (25a, 25b) 가 USB 3.0 의 요건에 따르는 단일 케이블에서 구현될 수도 있다는 것이 또한 당업자에게 명백할 것이다.
도 8 은 본 발명에 따른 다른 바람직한 USB 리플렉터, 및 단일 호스트 컴퓨터 옵션을 나타내는 단일 호스트 제어기의 블록도이다. 이러한 배열에서, USB 리플렉터 (11) 는 내부 USB 허브 (29) 를 통해 단일 호스트 제어기 (21) 에 접속된 2개의 USB 트랜시버 (22a, 22b) 및 리플렉터 코어 (23) 로 구성된다. 이러한 구성에서, USB 리플렉터 (11) 는 제 1 USB 트랜시버 (22a) 를 통해 호스트 제어기에 그것의 1차 프로파일, 및 제 2 USB 트랜시버 (22b) 를 통해 그것의 2차 프로파일을 제공할 수도 있다.
본 발명의 이러한 실시형태에서, 내부 USB 허브 (29) 는 트랜시버 (22a, 22b) 에 대한 2개의 다운스트림 링크를 지원하는 것으로서 도시된다. 더 많은 수의 다운스트림 링크가 가능하고, 추가의 프로파일이 다운스트림 링크를 통해 제공될 수도 있다는 것이 당업자에게 명백할 것이다.
또한, 본 발명의 이러한 실시형태에서, 내부 USB 허브 (29) 는 USB 리플렉터 (11) 내에 포함된 개별 유닛으로서 도시되어 있다. 내부 USB 허브 (29) 는 USB 리플렉터 (11) 외부에 위치된 독립형 유닛일 수 있다. 내부 USB 허브 (29) 가 출원인의 공동 계류중인 미국 출원 공개 번호 2008/0028120 호에 제공된 개시물에 따른 리플렉터 코어 (23) 내에 구현된 가상 유닛일 수 있다는 것이 당업자에게 또한 명백할 것이다.
도 9 는 본 발명에 따른 리플렉터 코어의 블록도이다. 이러한 배열에서, USB 응답기 유닛 (30) 은 하나 또는 복수의 접속 (35) 을 통해 하나 또는 복수의 USB 트랜시버에 접속된다. USB 응답기 (30) 는 접속 (35) 을 통해 USB 서브액션을 수신하고, 수신된 서브액션을 패킷 캐시 (31) 에 저장하고, 패킷 캐시 (31) 로부터 USB 서브액션을 검색하고, 합성 USB 서브액션을 생성하며, 접속 (35) 을 통해 USB 서브액션을 송신할 수 있다. USB 응답기 (30) 는 또한, 수신, 저장, 검색, 생성 및 송신 동작의 발생을 기록하기 위해 상태 테이블 (33) 을 업데이트할 수 있다.
USB 수집기 (34) 는 패킷 캐시 (31) 및 상태 테이블 (33) 에 접속되고, 1차 프로파일에 속하는 USB 서브액션을 패킷 캐시 (31) 로부터 수신하고, 1차 USB 서브액션을 2차 프로파일하에서 송신에 적합한 포맷으로 변환하며, 변환된 USB 서브액션을 패킷 캐시 (31) 에 저장할 수 있다. USB 수집기 (34) 는 또한, 2차 프로파일에 속하는 USB 서브액션을 패킷 캐시 (31) 로부터 검색하고, 2차 USB 서브액션을 1차 프로파일하에서 송신에 적합한 포맷으로 변환하며, 변환된 USB 서브액션을 패킷 캐시 (31) 에 저장할 수 있다. USB 수집기 (34) 는 또한, 복수의 원래의 USB 서브액션을 단일의 수집된 USB 서브액션으로 수집하고, 수집된 USB 서브액션을 복수의 원래의 USB 서브액션으로 분해할 수 있다. USB 수집기 (34) 는 또한, 검색, 변환, 저장, 수집 및 분해 동작의 발생을 기록하기 위해 상태 테이블 (33) 을 업데이트할 수 있다.
제어기 (32) 는 USB 응답기 (30), 패킷 캐시 (31), 상태 테이블 (33) 및 USB 수집기 (34) 의 동작을 조정할 수 있다. USB 규격에 따르면, 모든 USB 디바이스는 구성 및 제어 목적을 위해 제어 엔드포인트 (엔드포인트 0) 를 지원해야 한다. 제어기 (32) 는 또한 그것의 제어 엔드포인트를 통해 USB 리플렉터 (11) 에 이슈된 USB 요청에 응답할 수도 있다.
도 10 은 본 발명에 따른 USB 분배기 (15) 의 블록도이다. 이러한 배열에서, 네트워크 트랜시버 (40) 는 통신 링크 (49) 를 통해 데이터 통신 네트워크 (14) 에 접속된다. USB 트랜시버 (47) 는 USB 링크 (48) 에 의해 USB 허브 (16) 또는 USB 디바이스 (17) 에 접속된다.
USB 서브액션 정보를 포함하는 데이터 패킷은 데이터 통신 네트워크 (14) 로부터 네트워크 트랜시버 (40) 에 의해 수신될 수도 있고, 링크 관리자 (41) 에게 포워딩될 수도 있다. 링크 관리자 (41) 는 데이터 패킷의 무결성을 체크하고, 에러가 존재하는 것으로 발견되면 재송신을 요청하며, 데이터 통신 네트워크 (14) 를 통한 송신에 요구된 임의의 패킷 캡슐화 및 네트워크 어드레싱 정보를 제거하는데 책임이 있을 수도 있다. 그 후, 포함된 USB 서브액션 정보는 개별 USB 서브액션을 식별하고, 개별 USB 서브액션을 패킷 캐시 (43) 에 저장하며, 패킷 캐시 (43) 에서의 USB 서브액션의 존재를 나타내기 위해 상태 테이블 (45) 을 업데이트하는데 책임이 있는 USB 분산기 (42) 에 링크 관리자 (41) 에 의해 포워딩된다.
USB 응답기 (46) 는 패킷 캐시 (43) 로부터 USB 서브액션을 검색하고, USB 트랜시버 (47) 를 통해 USB 서브액션을 송신할 수 있다. USB 응답기 (46) 는 또한, USB 트랜시버 (47) 로부터 USB 서브액션을 수용하고, 수용된 USB 서브액션을 패킷 캐시 (43) 에 저장하고 패킷 캐시 (43) 에서의 USB 서브액션의 존재를 나타내기 위해 상태 테이블 (45) 을 업데이트하고, 합성 USB 서브액션을 생성하며, USB 트랜시버 (47) 를 통해 합성 USB 서브액션을 송신할 수 있다.
유사하게, 데이터의 흐름이 USB 분배기 (15) 로부터 USB 리플렉터 (11) 로의 방향에 있을 때, USB 분산기 (42) 는 패킷 캐시 (43) 로부터 USB 서브액션을 검색하고, 복수의 USB 서브액션을 단일 데이터 패킷으로 선택적으로 수집하며, 데이터 통신 네트워크 (14) 를 통한 송신을 위해 단일 데이터 패킷을 링크 관리자 (41) 에게 포워딩할 수 있다.
도 11 은 본 발명에 따른 2차 호스트 컴퓨터 (12) 내에서 동작하는 호스트 컴퓨터 소프트웨어의 블록도이다. 이러한 배열에서, USB 드라이버 (62) 는 하나 또는 복수의 호스트 제어기 (21a, 21b) 를 차례로 동작시키는 하나 또는 복수의 호스트 제어기 드라이버 (63) 를 동작시킨다. USB 드라이버 (62), 호스트 제어기 드라이버 (63) 및 호스트 제어기 (21a, 21b) 의 배열은, USB 규격에 따라 하나 또는 복수의 USB 링크 (70) 및 USB 드라이버 인터페이스 (72) 를 함께 지원한다.
또한 이러한 배열에서, 하나 또는 복수의 USB 디바이스 드라이버 (60) 가 배열에서 USB 허브 (16) (미도시) 및 USB 디바이스 (17) (미도시) 를 제어하기 위해 설치될 수도 있고, 여기서, 1차 호스트 컴퓨터 및 2차 호스트 컴퓨터의 기능은 집적 호스트 컴퓨터에 결합된다.
또한 이러한 배열에서, TCP/IP 모듈 (66), NDIS (Network Driver Interface Specification) 모듈 (67) 및 네트워크 트랜시버 (68) 를 포함하는 데이터 통신 스택이 제공된다. 데이터 통신 스택은 데이터 링크 (71) 를 통해 데이터 통신 네트워크 (14) (미도시) 와의 통신을 가능하게 하도록 작용한다.
또한 이러한 배열에서, USB 리플렉터 드라이버 (61) 는 USB 리플렉터 (11) (미도시) 를 지원하는 USB 드라이버 기능을 제공하기 위해 USB 드라이버 인터페이스 (72) 를 가로질러 동작한다. USB 리플렉터 드라이버 (61) 는 USB 리플렉터 (11) 의 2차 프로파일에 대해 동작한다. 2차 프로파일은 USB 리플렉터 (11) 의 USB 열거를 지원하고, 2차 호스트 컴퓨터 (12) 에 의해 데이터 통신 네트워크 (14) 를 가로질러 중계될 USB 서브액션을 송신하는 USB 엔드포인트를 제공한다. 또한, 이러한 배열에서, USB 리플렉터 애플리케이션 (65) 은 USB 리플렉터 드라이버 (61) 와 TCP/IP 모듈 (66) 사이에 브리지를 제공한다. USB 리플렉터 애플리케이션 (65) 은 USB 리플렉터 드라이버 (61) 로부터 USB 서브액션을 수신하고, 데이터 통신 네트워크 (14) 를 가로지른 송신을 위해 USB 서브액션을 캡슐화할 수 있다.
그러나, 이러한 배열이 운영 시스템의 커널내에 통상적으로 포함되는 소프트웨어, 및 특히 USB 드라이버 (62) 및 호스트 제어기 드라이버 (63) 를 포함하는 USB 드라이버 인터페이스 (72) "아래에" 상주하는 소프트웨어에 대한 어떠한 추가 또는 변경을 요구하지 않는다는 것이 당업자에게 명백할 것이다. 또한, 기존의 디바이스 드라이버 (60) 에 어떠한 변경도 요구되지 않는다는 것이 명백하다.
이제, 도 11 의 배열의 동작을, 데이터가 USB 디바이스 (17) 로부터 호스트 제어기 (21a) 로 흐르는 USB 트랜잭션을 구현하기 위해 USB 리플렉터 (11) 의 1차 프로파일이 제 1 호스트 제어기 (21a) 를 통해 동작하고, USB 리플렉터 (11) 의 2차 프로파일이 2차 호스트 제어기 (21b) 를 통해 동작하는 아래의 예에 의해 설명할 것이다.
USB 트랜잭션은, USN IN 서브액션이 제 1 호스트 제어기 (21a) 에 의해 결국 이슈되게 하는 원래의 디바이스 드라이버 (60) 에 의해 개시된다. USB IN 서브액션은 USB 리플렉터 (11) 의 1차 프로파일에 의해 인터셉트되고, 그것의 2차 프로파일을 통해 USB 리플렉터 (11) 에 의해 USB DATA 서브액션으로서 역으로 반사된다. USB DATA 서브액션은 제 2 호스트 제어기 (21b) 에 의해 생성된 USB IN 서브액션에 응답하여 제 2 호스트 제어기 (21b) 에 의해 수신되고 USB 리플렉터 드라이버 (61) 까지 USB 스택을 통과한다. USB 리플렉터 드라이버 (61) 는, USB 리플렉터 (11) 에서의 데이터 버퍼가 오버플로우하는 것을 방지하기 위해 USB IN 서브액션의 스트림이 충분히 생성되는 것을 보장한다. 그 후, USB 리플렉터 드라이버 (61) 는 수신된 USB DATA 서브액션으로부터 원래의 USB IN 서브액션을 추출하고, USB 분배기 (15) 로의 데이터 네트워크 (14) 를 통한 송신을 위해 추출된 USB IN 서브액션을 USB 리플렉터 애플리케이션 (65) 으로 패스한다.
USB 분배기 (14) 에서 수신된 USB 서브액션에 응답하여, USB DATA 서브액션은 결국은 데이터 통신 네트워크 (14) 를 가로질러 송신되고, USB 리플렉터 애플리케이션 (65) 에 의해 수신된다. 그 후, 수신된 USB DATA 서브액션은 원래의 디바이스 드라이버 (60) 로의 송신을 위해 USB 리플렉터 드라이버 (61) 로 패스된다. USB 리플렉터 드라이버 (61) 는 USB OUT/DATA 서브액션에서 수신된 USB DATA 서브액션을 캡슐화하고, USB 드라이버 (62) 및 제 2 호스트 제어기 (21b) 를 통해 USB 리플렉터 (11) 의 2차 프로파일에 USB OUT/DATA 서브액션을 전송함으로써 재송신을 개시한다. USB OUT/DATA 서브액션은 USB 리플렉터 (11) 의 2차 프로파일에 의해 수신되고, USB DATA 서브액션은 USB 리플렉터 (11) 에 의해 추출되어 USB 리플렉터 (11) 의 1차 프로파일을 통해 이용가능해진다. 그 후, 추출된 USB DATA 서브액션은, 제 1 호스트 제어기 (21a) 가 원래의 디바이스에 대한 반복된 USB IN 서브액션을 이슈할 때 제 1 호스트 제어기 (21a) 로 리턴된다.
본 발명의 이러한 실시형태에서, TCP/IP 모듈 (66), NDIS 모듈 (67) 및 네트워크 트랜시버 (68) 를 포함하는 특정한 데이터 통신 스택이 도시되어 있다. 대안의 데이터 통신 스택이 가능하고, 복수의 데이터 통신 스택이 단일 호스트 컴퓨터에서 구현될 수도 있다는 것이 당업자에게 명백할 것이다.
또한 본 발명의 이러한 실시형태에서, USB 리플렉터 드라이버 (61) 는 하나 또는 복수의 디바이스 드라이버 (60) 와 공동 존재하는 것으로서 도시된다. 다른 배열이 가능하고, USB 디바이스 드라이버 (60) 가 독립 호스트 컴퓨터 (10) 에 설치될 수도 있다는 것이 명백할 것이다.
또한, 호스트 제어기 (21a 및 21b) 가 개별적으로 식별되지만, 단일 호스트 제어기, 또는 임의의 수의 호스트 제어기가 이용될 수도 있다는 것이 이해될 것이다.
도 12 는 본 발명에 따른 USB 주변 디바이스로부터 호스트 컴퓨터로의 데이터 송신을 나타내는 시퀀스도이다.
1차 호스트 컴퓨터 (10) 에서의 제어 로직 (50) 은 제 1 IN 서브액션을 USB 리플렉터 (11) 에 이슈함으로써 데이터 송신을 개시한다. 제 1 IN 서브액션은 USB 주변 디바이스 (17) 와 관련된 제 1 USB 어드레스 및 엔드포인트 (A1, E1) 로 어드레싱된다. 제 1 IN 서브액션은 USB 리플렉터 (11) 에서의 제어 로직 (51) 에 의해 수신되고 로컬 메모리에 저장된다. 제어 로직 (51) 은 엔드포인트 (E1) 와 관련된 USB 엔드포인트 타입과 호환가능한 합성 확인응답 서브액션을 생성할 수도 있다. 합성 확인응답은 USB NAK 패킷을 포함할 수도 있다.
추후에, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 제 2 IN 서브액션을 USB 리플렉터 (11) 로 이슈한다. 제 2 IN 서브액션은 USB 리플렉터 (11) 의 2차 프로파일과 관련된 제 2 USB 어드레스 및 엔드포인트 (A2, E3) 에 어드레싱된다. USB 리플렉터 (11) 에서의 제어 로직 (51)은 제 2 IN 서브액션을 수신하고, 제 1 DATA 서브액션으로 응답하고, 여기서, 페이로드는 저장된 제 1 IN 서브액션을 포함한다. 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 제 1 DATA 서브액션을 수신하고, ACK 서브액션을 USB 리플렉터 (11) 로 송신함으로써 성공적 수신을 확인응답할 수도 있다.
이어서, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 수신된 제 1 DATA 서브액션으로부터 제 1 IN 서브액션을 추출하고, 추출된 제 1 IN 서브액션을 포함하는 제 1 네트워크 패킷을 어셈블링한다. 제어 로직 (52) 은 데이터 통신 네트워크 (14) 를 가로질러 제 1 네트워크 패킷을 USB 분배기 (15) 로 포워딩한다. USB 분배기 (15) 에서의 제어 로직 (53) 은 제 1 네트워크 패킷을 수신하고, 제 1 네트워크 패킷으로부터 제 1 IN 서브액션을 추출하며, 추출된 제 1 IN 서브액션을 USB 주변 디바이스 (17) 로 포워딩한다.
그 후, 포워딩된 제 1 IN 서브액션은 USB 주변 디바이스 (17) 에서의 제어 로직 (54) 에 의해 수신된다. 제어 로직 (54) 은 제 2 DATA 서브액션을 생성하고, 생성된 제 2 DATA 서브액션을 USB 분배기 (15) 로 포워딩한다. 포워딩된 제 2 DATA 서브액션은 USB 분배기 (15) 에서의 제어 로직 (53) 에 의해 수신된다. 제어 로직 (53) 은 엔드포인트 (E1) 와 관련된 USB 엔드포인트와 호환가능한 합성 확인응답 서브액션을 생성할 수도 있다. 합성 확인응답은 USB ACK 패킷을 포함할 수도 있다. 제어 로직 (53) 은 또한, 추출된 제 1 IN 서브액션 및 수신된 제 2 DATA 서브액션을 제 2 네트워크 패킷으로 어셈블링하고, 데이터 통신 네트워크 (14) 를 가로질러 제 2 네트워크 패킷을 2차 호스트 컴퓨터 (12) 로 포워딩한다.
이어서, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 포워딩된 제 2 네트워크 패킷을 수신하고, 제 1 IN 서브액션 및 제 2 DATA 서브액션을 추출하며, 제 1 IN 서브액션 및 제 2 DATA 서브액션을 포함하는 제 1 OUT 서브액션을 어셈블링한다. 제어 로직 (52) 은 제 1 OUT 서브액션을 USB 리플렉터 (11) 로 송신한다. 제 1 OUT 서브액션은 USB 리플렉터 (11) 의 2차 프로파일과 관련된 제 3 USB 어드레스 및 엔드포인트 (A2, E4) 로 어드레싱된다. 제어 로직 (51) 은 제 1 OUT 서브액션을 수신하고, 제 1 IN 서브액션 및 제 2 DATA 서브액션을 추출하며, 추출된 제 1 IN 서브액션 및 추출된 제 2 DATA 서브액션을 로컬 메모리에 저장한다.
이후에, 1차 호스트 컴퓨터 (10) 에서의 제어 로직 (50) 은 제 3 IN 서브액션을 USB 리플렉터 (11) 로 이슈한다. 제 3 IN 서브액션은 USB 주변 디바이스 (17) 와 관련된 제 1 USB 어드레스 및 엔드포인트 (A1, E1) 로 다시 어드레싱된다. USB 리플렉터 (11) 에서의 제어 로직 (51) 은 제 3 IN 서브액션을 수신하고, 제 3 IN 서브액션이 저장된 제 1 IN 서브액션과 동일한 어드레스 및 엔드포인트 (A1, E1) 로 어드레싱된다는 것을 식별한다. 제어 로직 (51) 은 로컬 메모리로부터 저장된 제 2 DATA 서브액션을 검색하고, 검색된 제 2 DATA 서브액션을 1차 호스트 컴퓨터 (10) 로 포워딩한다. 1차 호스트 컴퓨터 (10) 에서의 제어 로직 (50) 은 엔드포인트 (E1) 와 관련된 USB 엔드포인트 타입과 호환가능한 합성 확인응답 서브액션을 생성할 수도 있다. 합성 확인응답은 USB ACK 패킷을 포함할 수도 있다.
도 13 은 호스트 컴퓨터로부터 USB 주변 디바이스로의 데이터 송신을 도시하는 시퀀스도이다.
1차 호스트 컴퓨터 (10) 에서의 제어 로직 (50) 은 USB 리플렉터 (11) 에 제 1 OUT 서브액션을 이슈함으로써 데이터 송신을 개시한다. 제 1 OUT 서브액션은 USB 주변 디바이스 (17) 와 관련된 제 1 USB 어드레스 및 엔드포인트 (A1, E2) 로 어드레싱된다. 제 1 OUT 서브액션은 USB 리플렉터 (11) 에서의 제어 로직 (51) 에 의해 수신되고, 로컬 메모리에 저장된다. 제어 로직 (51) 은 엔드포인트 (E1) 와 관련된 USB 엔드포인트 타입과 호환가능한 합성 확인응답 서브액션을 생성할 수도 있다. 합성 확인응답은 USB NAK 패킷을 포함할 수도 있다.
나중에, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 제 1 IN 서브액션을 USB 리플렉터 (11) 에 이슈한다. 제 2 IN 서브액션은 USB 리플렉터 (11) 의 2차 프로파일과 관련된 제 2 USB 어드레스 및 엔드포인트 (A2, E3) 로 어드레싱된다. USB 리플렉터 (11) 에서의 제어 로직 (51) 은 제 1 IN 서브액션을 수신하고, 제 1 DATA 서브액션으로 응답하고, 여기서, 페이로드는 저장된 제 1 OUT 서브액션을 포함한다. 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 제 1 DATA 서브액션을 수신하고, ACK 서브액션을 USB 리플렉터 (11) 로 송신함으로써 성공적 수신을 확인응답할 수도 있다.
이어서, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 수신된 제 1 DATA 서브액션으로부터 제 1 OUT 서브액션을 추출하고, 추출된 제 1 OUT 서브액션을 포함하는 제 1 네트워크 패킷을 어셈블링한다. 제어 로직 (52) 은 데이터 통신 네트워크 (14) 를 가로질러 제 1 네트워크 패킷을 USB 분배기 (15) 로 포워딩한다. USB 분배기 (15) 에서의 제어 로직 (53) 은 제 1 네트워크 패킷을 수신하고, 제 1 네트워크 패킷으로부터 제 1 OUT 서브액션을 추출하며, 추출된 제 1 OUT 서브액션을 USB 주변 디바이스 (54) 로 포워딩한다.
그 후, 포워딩된 제 1 OUT 서브액션은 USB 주변 디바이스 (17) 에서의 제어 로직 (54) 에 의해 수신된다. 제어 로직 (54) 은 제 2 긍정 확인응답 서브액션을 생성하고, 생성된 제 2 긍정 확인응답 서브액션을 USB 분배기 (15) 로 포워딩한다. 포워딩된 제 2 긍정 확인응답 서브액션은 USB 분배기 (15) 에서의 제어 로직 (53) 에 의해 수신된다. 제어 로직 (53) 은 또한 추출된 제 1 OUT 서브액션 및 수신된 제 2 긍정 확인응답 서브액션을 제 2 네트워크 패킷으로 어셈블링하고, 데이터 통신 네트워크 (14) 를 통해 제 2 네트워크 패킷을 2차 호스트 컴퓨터 (12) 로 포워딩한다.
이어서, 2차 호스트 컴퓨터 (12) 에서의 제어 로직 (52) 은 포워딩된 제 2 네트워크 패킷을 수신하고, 제 1 OUT 서브액션 및 제 2 긍정 확인응답 서브액션을 추출하며, 제 1 OUT 서브액션을 포함하는 제 2 OUT 서브액션 및 제 2 긍정 확인응답 서브액션을 어셈블링한다. 제어 로직 (52) 은 제 2 OUT 서브액션을 USB 리플렉터 (11) 로 송신한다. 제 2 OUT 서브액션은 USB 리플렉터 (11) 의 2차 프로파일과 관련된 제 3 USB 어드레스 및 엔드포인트 (A2, E4) 로 어드레싱된다. 제어 로직 (51) 은 제 2 OUT 서브액션을 수신하고, 제 1 OUT 서브액션 및 제 2 긍정 확인응답 서브액션을 추출하며, 추출된 제 1 OUT 서브액션 및 추출된 제 2 긍정 확인응답 서브액션을 로컬 메모리에 저장한다.
나중에, 1차 호스트 컴퓨터 (10) 에서의 제어 로직 (50) 은 제 3 OUT 서브액션을 USB 리플렉터 (11) 로 이슈한다. 제 3 OUT 서브액션은 USB 주변 디바이스 (17) 와 관련된 제 1 USB 어드레스 및 엔드포인트 (A1, E2) 로 다시 어드레싱된다. USB 리플렉터 (11) 에서의 제어 로직 (51) 은 제 3 OUT 서브액션을 수신하고, 제 3 OUT 서브액션이 저장된 제 1 OUT 서브액션과 동일한 어드레스 및 엔드포인트 (A1, E2) 로 어드레싱된다는 것을 식별한다. 제어 로직 (51) 은 저장된 제 2 긍정 확인응답 서브액션을 로컬 메모리로부터 검색하고, 검색된 제 2 긍정 확인응답 서브액션을 1차 호스트 컴퓨터 (10) 로 포워딩한다.
이와 같이 도시되지는 않았지만, 이전에 설명한 바와 같이, 호스트 컴퓨터 (10) 및 호스트 컴퓨터 (12) 는 하나의 동일한 호스트 컴퓨터, 또는 2개 이상의 개별 호스트 컴퓨터일 수 있다는 것이 이해될 것이다.
따라서, 본 발명에 따라, 이전에 설명된 목표, 목적, 및 이점을 완전하게 충족시키는 원격 컴퓨터에 USB 디바이스를 접속하는 방법 및 장치가 제공된다는 것이 명백하다. 따라서, 본 발명의 특정한 실시형태들을 설명하였지만, 이들의 대안, 변형 및 변동이 당업자에게 제안될 수도 있다는 것이 이해되고, 본 명세서가 첨부한 청구항들의 범위내에 있는 모든 이러한 대안, 변형 및 변동을 포함하는 것이 의도된다.
추가로, 명확화를 위해 다르게 논의되지 않으면, 단어 "포함한다 (comprise)" 및 "포함하는 (comprising)" 및 "포함한다 (comprises)" 이 단어의 변형은, 본 명세서의 상세한 설명 및 청구항들에 사용될 때, 다른 첨가물, 컴포넌트, 정수 또는 단계들을 배제하는 것으로 의도되지 않는다.
또한, 단어 "실질적으로" 또는 "본질적으로" 는 형용사 또는 부사로 사용될 때, 특정한 특징의 범위를 강화하도록 의도되고, 예를 들어, 실질적으로 평면은, 평면, 거의 평면 및/또는 평면 엘리먼트와 관련된 특징을 나타내는 것을 의미하도록 의도된다.
또한, 용어들 "그 (he)", "그를 (him)" 또는 "그의 (his)" 의 사용은 남성의 사람을 구체적으로 지시하는 것으로 의도되지 않고, "그녀 (she)", "그녀를 (her)" 또는 "그녀의 (hers)" 로서 쉽게 판독될 수 있다.
또한, 이러한 논의가 발명자에게 공지되어 있는 종래 기술을 다루었지만, 논의된 모든 기술이 본 출원에 인용할 수 있다는 것은 허용되지 않는다.

Claims (17)

  1. 하나 또는 복수의 호스트 컴퓨터와 하나 또는 복수의 USB 주변 디바이스 사이에 USB 트래픽을 송신하는 컴퓨터 시스템으로서,
    상기 하나 또는 복수의 호스트 컴퓨터 및 상기 하나 또는 복수의 USB 주변 디바이스는 데이터 통신 네트워크에 의해 서로에 접속되고,
    상기 컴퓨터 시스템은,
    a. USB 트래픽을 생성하고 수용하는 하나 또는 복수의 호스트 컴퓨터;
    b. 상기 하나 또는 복수의 호스트 컴퓨터에 의해 개시된 USB 트래픽에 응답할 수 있는 하나 또는 복수의 USB 주변 디바이스;
    c. 상기 하나 또는 복수의 호스트 컴퓨터와 상기 데이터 통신 네트워크 사이의 하나 또는 복수의 네트워크 접속;
    d. 상기 하나 또는 복수의 호스트 컴퓨터로부터 수신된 USB 트래픽을 상기 하나 또는 복수의 호스트 컴퓨터로 역으로 반사할 수 있는 USB 리플렉터 (reflector) 유닛;
    e. 상기 데이터 통신 네트워크에 접속되고, 상기 하나 또는 복수의 USB 주변 디바이스를 상기 데이터 통신 네트워크에 접속하기 위해 이용된 하나 또는 복수의 USB 분배기 유닛;
    f. 상기 USB 리플렉터 유닛과 통신하는 상기 하나 또는 복수의 호스트 컴퓨터에서의 USB 리플렉터 드라이버; 및
    g. 상기 USB 리플렉터 드라이버를 상기 데이터 통신 네트워크와 접속하는 USB 리플렉터 애플리케이션을 포함하는, 컴퓨터 시스템.
  2. 제 1 항에 있어서,
    상기 하나 또는 복수의 호스트 컴퓨터는 USB 규격들에 따라 동작하는, 컴퓨터 시스템.
  3. 제 1 항에 있어서,
    상기 데이터 통신 네트워크는 호스트 컴퓨터와 USB 분배기 유닛 사이의 점 대 점 링크인, 컴퓨터 시스템.
  4. 제 1 항에 있어서,
    상기 USB 트래픽은 USB 서브액션들로 이루어지는, 컴퓨터 시스템.
  5. 제 1 항에 있어서,
    상기 USB 리플렉터 유닛은 USB 를 통해 상기 하나 또는 복수의 호스트 컴퓨터에 접속되는, 컴퓨터 시스템.
  6. 제 1 항에 있어서,
    상기 USB 리플렉터 유닛의 기능들이 상기 하나 또는 복수의 호스트 컴퓨터에 통합되는, 컴퓨터 시스템.
  7. 제 1 항에 있어서,
    상기 하나 또는 복수의 호스트 컴퓨터는, 적어도 하나의 호스트 컴퓨터 데이터 통신 트랜시버를 포함하고,
    상기 USB 리플렉터 유닛과 상기 데이터 통신 네트워크 사이의 통신은 상기 호스트 컴퓨터 데이터 통신 트랜시버를 이용하여 실시되는, 컴퓨터 시스템.
  8. 하나 또는 복수의 호스트 컴퓨터에 의해 생성된 USB 서브액션들을 수용하고, 상기 USB 서브액션들을 변환된 USB 서브액션들의 세트로 변환하며, 상기 변환된 USB 서브액션들의 세트를 상기 하나 또는 복수의 호스트 컴퓨터를 향해 역으로 반사하는 USB 리플렉터 유닛으로서,
    a. 적어도 하나의 호스트 컴퓨터와 통신하는 적어도 하나의 USB 트랜시버; 및
    b. 상기 적어도 하나의 USB 트랜시버를 통해 USB 서브액션들을 수용하고 반사하며, USB 서브액션들을 변환된 USB 서브액션들의 세트로 변환하는 리플렉터 코어를 포함하는, USB 리플렉터 유닛.
  9. 제 8 항에 있어서,
    상기 호스트 컴퓨터에 의해 이슈된 USB 열거 (enumeration) 커맨드에 응답하는 수단을 더 포함하는, USB 리플렉터 유닛.
  10. 제 8 항에 있어서,
    2개 이상의 USB 어드레스로 다이렉팅된 USB 트래픽을 단일 어드레스로 다이렉팅된 USB 트래픽으로 수집하는 수단을 더 포함하는, USB 리플렉터 유닛.
  11. 제 8 항에 있어서,
    2개 이상의 USB 엔드포인트로 다이렉팅된 USB 트래픽을 단일 엔드포인트로 다이렉팅된 USB 트래픽으로 수집하는 수단을 더 포함하는, USB 리플렉터 유닛.
  12. 적어도 하나의 USB 트랜시버를 통해 USB 서브액션들을 수용하고 반사하며, USB 서브액션들을 변환된 USB 서브액션들의 세트로 변환하는 리플렉터 코어 유닛으로서,
    a. USB 커맨드들을 분석하고 적절한 USB 응답을 생성하는 USB 응답기;
    b. USB 서브액션들 및 변환된 USB 서브액션들을 저장하는 패킷 캐시;
    c. 상기 리플렉터 코어 유닛에 의해 지원된 각 USB 디바이스의 구성 및 상태를 기록하는 상태 테이블;
    d. USB 호스트 제어기로부터 수신된 USB 서브액션들을 USB 호스트 제어기로 역으로 반사될 수 있는 USB 서브액션들로 변환하는 USB 수집기; 및
    e. 상기 USB 응답기, 상기 패킷 캐시, 상기 상태 테이블 및 상기 USB 수집기의 동작을 조정하는 제어기를 포함하는, 리플렉터 코어 유닛.
  13. 호스트 컴퓨터로부터 수신된 USB 서브액션들을 수용하고, 복수의 USB 주변 디바이스로 상기 USB 서브액션들을 포워딩하며, 상기 복수의 USB 주변 디바이스로부터 수신된 USB 서브액션들을 수용하고, 상기 호스트 컴퓨터로 상기 USB 서브액션들을 포워딩하는 USB 분배기 유닛으로서,
    a. 상기 복수의 USB 주변 디바이스와 통신하는 적어도 하나의 USB 트랜시버; 및
    b. 상기 적어도 하나의 USB 트랜시버를 통해 USB 서브액션들을 수용하고 포워딩하는 분배기 코어를 포함하는, USB 분배기 유닛.
  14. 데이터 통신 네트워크를 가로질러 USB 주변 디바이스로부터 호스트 컴퓨터로 데이터를 송신하는 방법으로서,
    a. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 1 요청을 제 1 호스트 컴퓨터로부터 수신하는 단계;
    b. 상기 인커밍 데이터에 대한 제 1 요청을 상기 USB 리플렉터 유닛에서 저장하는 단계;
    c. 선택적으로, 상기 USB 리플렉터 유닛에서 부정 확인응답으로 상기 제 1 호스트 컴퓨터에 응답하는 단계;
    d. 상기 USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 2 요청을 제 2 호스트 컴퓨터로부터 수신하는 단계;
    e. 상기 인커밍 데이터에 대한 제 1 요청을 포함하는 데이터 응답으로 상기 제 2 호스트 컴퓨터에 응답하는 단계;
    f. 선택적으로, 상기 USB 리플렉터 유닛에서 상기 제 2 호스트 컴퓨터로부터 긍정 확인응답을 수신하는 단계;
    g. 상기 인커밍 데이터에 대한 제 1 요청을 포함하는 상기 데이터 응답을 상기 제 2 호스트 컴퓨터에서 수신하는 단계;
    h. 상기 인커밍 데이터에 대한 제 1 요청을 포함하는 상기 수신된 데이터 응답을 데이터 통신 네트워크를 통해 상기 제 2 호스트 컴퓨터에서 포워딩하는 단계;
    i. 상기 인커밍 데이터에 대한 제 1 요청을 포함하는 상기 포워딩된 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
    j. 상기 포워딩된 데이터 응답으로부터 상기 인커밍 데이터에 대한 제 1 요청을 상기 USB 분배기 유닛에서 추출하는 단계;
    k. USB 분배기 유닛에서 상기 인커밍 데이터에 대한 추출된 제 1 요청을 USB 주변 디바이스로 송신하는 단계;
    l. USB 주변 디바이스로부터의 제 2 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
    m. 선택적으로, USB 분배기 유닛에서 긍정 확인응답으로 상기 USB 주변 디바이스에 응답하는 단계;
    n. USB 분배기 유닛에서 상기 인커밍 데이터에 대한 추출된 제 1 요청 및 상기 제 2 데이터 응답을 어셈블링 데이터 응답으로 어셈블링하는 단계;
    o. 상기 USB 분배기 유닛에서 데이터 통신 네트워크를 가로질러 상기 어셈블링 데이터 응답을 포워딩하는 단계;
    p. 상기 포워딩된 어셈블링 데이터 응답을 상기 제 2 호스트 컴퓨터에서 수신하는 단계;
    q. 상기 제 2 호스트 컴퓨터에서 상기 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 통지를 생성하는 단계;
    r. 상기 USB 리플렉터 유닛에서 상기 포워딩된 어셈블링 데이터 응답을 포함하는 상기 아웃고잉 데이터의 생성된 통지를 수신하는 단계;
    s. 선택적으로, 긍정 확인응답으로 상기 제 2 호스트 컴퓨터에 응답하는 단계;
    t. 상기 USB 리플렉터 유닛에서 상기 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 수신된 통지를 저장하는 단계;
    u. 상기 USB 리플렉터 유닛에서 상기 포워딩된 어셈블링 데이터 응답을 포함하는 상기 아웃고잉 데이터의 저장된 통지로부터 상기 인커밍 데이터에 대한 제 1 요청 및 상기 제 2 데이터 응답을 추출하는 단계;
    v. 상기 USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 2 요청을 제 1 호스트 컴퓨터로부터 수신하는 단계;
    w. 상기 USB 리플렉터 유닛에서 상기 인커밍 데이터에 대한 추출된 제 1 요청을 상기 인커밍 데이터에 대한 수신된 제 2 요청과 매칭하는 단계;
    x. 상기 USB 리플렉터 유닛에서 상기 추출된 제 2 데이터 응답을 상기 제 1 호스트 컴퓨터로 포워딩하는 단계; 및
    y. 선택적으로, 상기 제 1 호스트 컴퓨터로부터 긍정 확인응답을 흡수하는 단계를 포함하는, 데이터 송신 방법.
  15. 제 14 항에 있어서,
    상기 리플렉터 유닛은 제 1 프로파일을 사용하여 상기 제 1 호스트 컴퓨터와 통신하고, 제 2 프로파일을 사용하여 상기 제 2 호스트 컴퓨터와 통신하는, 데이터 송신 방법.
  16. 제 14 항에 있어서,
    상기 제 1 호스트 컴퓨터 및 상기 제 2 호스트 컴퓨터는 동일한 컴퓨터인, 데이터 송신 방법.
  17. 데이터 통신 네트워크를 가로질러 호스트 컴퓨터로부터 USB 주변 디바이스로 데이터를 송신하는 방법으로서,
    a. USB 리플렉터 유닛에서 아웃고잉 데이터의 제 1 통지를 제 1 호스트 컴퓨터로부터 수신하는 단계;
    b. 상기 아웃고잉 데이터의 제 1 통지를 USB 리플렉터 유닛에서 저장하는 단계;
    c. 선택적으로, USB 리플렉터 유닛에서 부정 확인응답으로 상기 제 1 호스트 컴퓨터에 응답하는 단계;
    d. USB 리플렉터 유닛에서 인커밍 데이터에 대한 제 1 요청을 제 2 호스트 컴퓨터로부터 수신하는 단계;
    e. 상기 아웃고잉 데이터의 제 1 통지를 포함하는 데이터 응답으로 상기 제 2 호스트 컴퓨터에 응답하는 단계;
    f. 선택적으로, 상기 USB 리플렉터 유닛에서 상기 제 2 호스트 컴퓨터로부터의 긍정 확인응답을 수신하는 단계;
    g. 상기 아웃고잉 데이터의 제 1 통지를 포함하는 데이터 응답을 상기 제 2 호스트 컴퓨터에서 수신하는 단계;
    h. 상기 아웃고잉 데이터의 제 1 통지를 포함하는 상기 수신된 데이터 응답을 데이터 통신 네트워크를 가로질러 상기 제 2 호스트 컴퓨터에서 포워딩하는 단계;
    i. 상기 아웃고잉 데이터의 제 1 통지를 포함하는 상기 포워딩된 데이터 응답을 USB 분배기 유닛에서 수신하는 단계;
    j. 상기 포워딩된 데이터 응답으로부터 상기 아웃고잉 데이터의 제 1 통지를 상기 USB 분배기 유닛에서 추출하는 단계;
    k. USB 분배기 유닛에서 상기 아웃고잉 데이터의 추출된 제 1 통지를 USB 주변 디바이스로 송신하는 단계;
    l. USB 주변 디바이스로부터의 제 2 긍정 확인응답을 USB 분배기 유닛에서 수신하는 단계;
    m. USB 분배기 유닛에서 상기 아웃고잉 데이터의 추출된 제 1 통지 및 상기 제 2 긍정 확인응답을 어셈블링 데이터 응답으로 어셈블링하는 단계;
    n. 상기 USB 분배기 유닛에서 상기 어셈블링 데이터 응답을 데이터 통신 네트워크를 가로질러 포워딩하는 단계;
    o. 상기 포워딩된 어셈블링 데이터 응답을 상기 제 2 호스트 컴퓨터에서 수신하는 단계;
    p. 상기 포워딩된 어셈블링 데이터 응답을 포함하는 아웃고잉 데이터의 통지를 상기 제 2 호스트 컴퓨터에서 생성하는 단계;
    q. 상기 포워딩된 어셈블링 데이터 응답을 포함하는 상기 아웃고잉 데이터의 생성된 통지를 USB 리플렉터 유닛에서 수신하는 단계;
    r. 선택적으로, 긍정 확인응답으로 상기 제 2 호스트 컴퓨터에 응답하는 단계;
    s. 상기 포워딩된 어셈블링 데이터 응답을 포함하는 상기 아웃고잉 데이터의 수신된 통지를 USB 리플렉터 유닛에서 저장하는 단계;
    t. 상기 포워딩된 어셈블링 데이터 응답을 포함하는 상기 아웃고잉 데이터의 저장된 통지로부터 상기 아웃고잉 데이터의 제 1 통지 및 상기 제 2 긍정 확인응답을 USB 리플렉터 유닛에서 추출하는 단계;
    u. USB 리플렉터 유닛에서 아웃고잉 데이터의 제 3 통지를 제 1 호스트 컴퓨터로부터 수신하는 단계;
    v. 상기 아웃고잉 데이터의 추출된 제 1 통지를 상기 아웃고잉 데이터의 수신된 제 3 통지와 USB 리플렉터 유닛에서 매칭하는 단계; 및
    w. USB 리플렉터 유닛에서 상기 추출된 제 2 긍정 확인응답을 상기 제 1 호스트 컴퓨터에 포워딩하는 단계를 포함하는, 데이터 송신 방법.
KR1020117005964A 2008-08-15 2009-08-14 Usb 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치 KR20110046534A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/192,940 2008-08-15
US12/192,940 US7818486B2 (en) 2008-08-15 2008-08-15 Method and apparatus for connecting USB devices to a remote computer
PCT/CA2009/001130 WO2010017636A1 (en) 2008-08-15 2009-08-14 Method and apparatus for connecting usb devices to a remote computer

Publications (1)

Publication Number Publication Date
KR20110046534A true KR20110046534A (ko) 2011-05-04

Family

ID=41668614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117005964A KR20110046534A (ko) 2008-08-15 2009-08-14 Usb 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치

Country Status (8)

Country Link
US (1) US7818486B2 (ko)
EP (1) EP2316075B1 (ko)
JP (1) JP5520951B2 (ko)
KR (1) KR20110046534A (ko)
CN (1) CN102216919B (ko)
AU (1) AU2009281668B2 (ko)
CA (1) CA2733089C (ko)
WO (1) WO2010017636A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458965B1 (ko) * 2013-06-27 2014-11-07 주식회사 쿠오핀 Ip 네트워크를 이용한 usb 데이터 제어방법 및 그 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US20080307109A1 (en) * 2007-06-08 2008-12-11 Galloway Curtis C File protocol for transaction based communication
US7769941B2 (en) * 2008-09-23 2010-08-03 Aten International Co., Ltd. USB matrix switch system
JP2010141586A (ja) * 2008-12-11 2010-06-24 Seiko Epson Corp ワイヤレスusb通信システム、usbホスト及びusbデバイス
KR101563195B1 (ko) * 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
US8180945B2 (en) * 2009-09-11 2012-05-15 I/O Interconnect Limited USB add-on module
US8547933B2 (en) * 2009-11-11 2013-10-01 Lg Electronics Inc. Method and apparatus for performing handover in multi-mode terminal
US8645584B2 (en) * 2010-06-27 2014-02-04 Valens Semiconductor Ltd. Method and system for partial USB enumeration and edge initiation
US8578060B2 (en) * 2010-06-27 2013-11-05 Valens Semiconductor Ltd. Method and system for initiating distinct USB connections over a network
US9059865B2 (en) 2010-06-27 2015-06-16 Valens Semiconductor Ltd. USB host adaptor for initiating a USB connection over a non-USB network
US9240896B2 (en) 2010-06-27 2016-01-19 Valens Semiconductor Ltd. Method and system for USB connections over distinct network paths
US9059864B2 (en) 2010-06-27 2015-06-16 Valens Semiconductor Ltd. USB device adaptor for initiating a USB connection over a non-USB network
US8578061B2 (en) * 2010-06-27 2013-11-05 Valens Semiconductor Ltd. Method and system for USB addressing by a network adaptor
US10459864B2 (en) * 2010-06-27 2019-10-29 Valens Semiconductor Ltd. USB isochronous transfer over a non-USB network
US9049041B2 (en) 2010-06-27 2015-06-02 Valens Semiconductor Ltd. Method and system for distributed initiation of USB over network data plane connections
US8560754B2 (en) 2010-09-17 2013-10-15 Lsi Corporation Fully integrated, low area universal serial bus device transceiver
WO2012083423A1 (en) * 2010-12-23 2012-06-28 Icron Technologies Corporation Method and apparatus for connecting usb devices to a computer
KR101251250B1 (ko) * 2011-07-01 2013-04-08 알서포트 주식회사 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법
US9047418B2 (en) * 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
CN103312281B (zh) * 2012-03-16 2016-10-05 鸿富锦精密工业(武汉)有限公司 Usb信号放大电路
CN103312280B (zh) * 2012-03-16 2016-12-14 鸿富锦精密工业(武汉)有限公司 Usb信号放大电路
CN104813301B (zh) * 2012-07-05 2018-05-22 欧姆龙美国管理中心股份有限公司 用于经由中间传送的usb信令的方法和设备
CN103678211B (zh) * 2012-09-11 2016-07-13 龙迅半导体(合肥)股份有限公司 Usb接口的信号传输方法及其装置
US9654604B2 (en) * 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US9817772B2 (en) 2012-12-20 2017-11-14 Icron Technologies Corporation Systems and methods for exchanging USB information with selected remote devices
US9910817B2 (en) * 2014-03-04 2018-03-06 Black Diamond Video, Inc. Apparatus, system, and method for allowing USB devices to communicate over a network
JP6169629B2 (ja) * 2015-01-27 2017-07-26 日本電信電話株式会社 Usb信号制御方法及びusb仮想化通信システム
US10162788B2 (en) * 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
US10552355B2 (en) 2017-10-03 2020-02-04 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication over an extension medium
CN113971149A (zh) 2020-07-22 2022-01-25 艾科隆技术公司 用于在usb扩展环境内配置端点的技术
US11726941B2 (en) * 2021-08-03 2023-08-15 Vertiv It Systems, Inc. System and method for modular management gateway apparatus

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588140A (en) * 1993-03-15 1996-12-24 Computer Network Technology Corporation Transparent extension of peripheral from host
US5655138A (en) * 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression
US5797028A (en) * 1995-09-11 1998-08-18 Advanced Micro Devices, Inc. Computer system having an improved digital and analog configuration
US5675813A (en) * 1995-10-26 1997-10-07 Microsoft Corporation System and method for power control in a universal serial bus
US5781747A (en) * 1995-11-14 1998-07-14 Mesa Ridge Technologies, Inc. Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location
US5878221A (en) * 1996-02-05 1999-03-02 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5799041A (en) * 1996-02-05 1998-08-25 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5767844A (en) * 1996-02-29 1998-06-16 Sun Microsystems Inc Modified universal serial bus interface implementing remote power up while permitting normal remote power down
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US5781028A (en) * 1996-06-21 1998-07-14 Microsoft Corporation System and method for a switched data bus termination
US6308239B1 (en) * 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
US5983073A (en) * 1997-04-04 1999-11-09 Ditzik; Richard J. Modular notebook and PDA computer systems for personal computing and wireless communications
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
JPH10340199A (ja) * 1997-06-09 1998-12-22 Nec Shizuoka Ltd コンピュータシステム
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6131125A (en) * 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
US6308215B1 (en) * 1997-12-22 2001-10-23 Robert J. Kolbet Extender apparatus for USB connection of computer units
TW455805B (en) * 1998-02-26 2001-09-21 Winbond Electronics Corp Converter allowing data communications equipment to transmit data to data terminal equipment through universal serial bus and the control method thereof
US6282593B1 (en) * 1998-05-08 2001-08-28 Tony Goodfellow Extension of electronic buses and their bus protocols using signal-propagation timing compensation
US6178514B1 (en) * 1998-07-31 2001-01-23 Bradley C. Wood Method and apparatus for connecting a device to a bus carrying power and a signal
US6105097A (en) * 1998-10-14 2000-08-15 Cypress Semiconductor Corp. Device and method for interconnecting universal serial buses including power management
US6311294B1 (en) * 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
JP2000183920A (ja) 1998-12-21 2000-06-30 Matsushita Electric Ind Co Ltd Usb情報伝送装置
US6584519B1 (en) * 1998-12-22 2003-06-24 Canon Kabushiki Kaisha Extender for universal serial bus
BR0008344A (pt) 1999-02-19 2002-11-19 Icron Systems Inc Método para transmitir um fluxo de dados entre um controlador hospedeiro e um dispositivo periférico por uma distância estendida e aparelho para transmitir um sinal digital através de uma distância estendida
US6601109B1 (en) * 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
AU4501200A (en) * 1999-04-30 2000-11-17 Daniel Kelvin Jackson Method and apparatus for extending communications over usb
US6708247B1 (en) * 1999-07-21 2004-03-16 Clearcube Technology, Inc. Extending universal serial bus to allow communication with USB devices at a remote location
US6965614B1 (en) * 1999-11-12 2005-11-15 Nortel Networks Limited Method and system for communications between different types of devices
US6526468B1 (en) * 1999-12-15 2003-02-25 Robotel Electronique Inc. Peripheral bus extender
US6546450B1 (en) * 1999-12-22 2003-04-08 Intel Corporation Method and apparatus for sharing a universal serial bus device among multiple computers by switching
US20020010821A1 (en) * 2000-06-09 2002-01-24 Gang Yu USB extension system
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
US6735658B1 (en) * 2000-10-06 2004-05-11 Clearcube Technology, Inc. System and method for combining computer video and remote universal serial bus in an extended cable
US6718412B2 (en) * 2000-12-14 2004-04-06 Agilent Technologies, Inc. Apparatus and method for universal serial bus communications
US6754720B1 (en) * 2001-03-02 2004-06-22 Adaptec, Inc. Automatic addressing of expanders in I/O subsystem
US6886062B2 (en) * 2001-03-30 2005-04-26 Intel Corporation Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
US20020144141A1 (en) * 2001-03-31 2002-10-03 Edwards James W. Countering buffer overrun security vulnerabilities in a CPU
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US7269183B2 (en) * 2001-04-27 2007-09-11 Broadcom Corporation System and method for connecting bluetooth-enabled devices to a personal computer
JP3680762B2 (ja) * 2001-05-14 2005-08-10 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6904489B2 (en) * 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
US7080189B1 (en) * 2002-05-31 2006-07-18 Cypress Semiconductor Corp. USB device communication
US7159065B1 (en) * 2002-06-20 2007-01-02 Cypress Semiconductor Corporation Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
US7185126B2 (en) * 2003-02-24 2007-02-27 Standard Microsystems Corporation Universal serial bus hub with shared transaction translator memory
JP4377603B2 (ja) * 2003-03-26 2009-12-02 Okiセミコンダクタ株式会社 バス通信システムおよびその通信制御方法
US7120724B2 (en) * 2003-04-14 2006-10-10 Hewlett-Packard Development Company, L.P. USB interface extension through split transaction protocol
KR100943742B1 (ko) 2003-06-03 2010-02-23 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
US7493431B2 (en) * 2003-08-06 2009-02-17 Icron Technologies Corporation Method and apparatus for extending the range of the universal serial bus protocol
TW200506637A (en) * 2003-08-07 2005-02-16 Ali Corp Host-to-host USB bridge
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7613854B2 (en) * 2004-04-15 2009-11-03 Aten International Co., Ltd Keyboard video mouse (KVM) switch wherein peripherals having source communication protocol are routed via KVM switch and converted to destination communication protocol
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US7644211B2 (en) * 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
WO2006082782A1 (ja) * 2005-02-02 2006-08-10 Silex Technology, Inc. 周辺機器利用方法および周辺機器サーバ
US7640378B2 (en) * 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
CN1976310B (zh) * 2005-07-08 2014-04-16 美国博通公司 在网络中通过总线接口进行通信的方法
US20070011374A1 (en) * 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
EP1793565A1 (en) * 2005-12-02 2007-06-06 Seiko Epson Corporation Network plug-and-play compliant network relay control
US7418524B2 (en) * 2005-12-06 2008-08-26 Avocent Corporation Universal serial bus (USB) extension
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
US20070255868A1 (en) * 2006-04-26 2007-11-01 Cisco Technology, Inc. (A California Corporation) Method and system for managing a network device using a slave USB interface
US7428606B2 (en) * 2006-05-05 2008-09-23 Dell Prodcuts L.P. Method, system and apparatus to allow users to remotely mount USB devices and access KVM through a server interface pod (SIP)
US8566389B2 (en) * 2006-07-10 2013-10-22 Samsung Electronics Co., Ltd. Thin network protocol
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
JP4690294B2 (ja) * 2006-11-15 2011-06-01 Necアクセステクニカ株式会社 Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム
US8972594B2 (en) * 2008-02-11 2015-03-03 Microsoft Corporation Media mix wiring protocol for media control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458965B1 (ko) * 2013-06-27 2014-11-07 주식회사 쿠오핀 Ip 네트워크를 이용한 usb 데이터 제어방법 및 그 장치

Also Published As

Publication number Publication date
US7818486B2 (en) 2010-10-19
EP2316075A4 (en) 2011-12-14
JP5520951B2 (ja) 2014-06-11
JP2012500422A (ja) 2012-01-05
CN102216919A (zh) 2011-10-12
EP2316075B1 (en) 2013-10-16
US20100042767A1 (en) 2010-02-18
AU2009281668B2 (en) 2014-08-07
CA2733089A1 (en) 2010-02-18
CA2733089C (en) 2017-02-28
CN102216919B (zh) 2014-12-10
AU2009281668A1 (en) 2010-02-18
WO2010017636A1 (en) 2010-02-18
EP2316075A1 (en) 2011-05-04

Similar Documents

Publication Publication Date Title
KR20110046534A (ko) Usb 디바이스를 원격 컴퓨터에 접속하기 위한 방법 및 장치
CA2657827C (en) Method and apparatus for distributing usb hub functions across a network
US7917682B2 (en) Multi-protocol controller that supports PCIe, SAS and enhanced Ethernet
US8856388B2 (en) Method and apparatus for connecting USB devices to a computer
EP1750401B1 (en) USB 1.1 over a high speed link
US7124234B2 (en) Managing transmissions between devices
EP1730645B1 (en) Operating a remote usb host controller
US7493431B2 (en) Method and apparatus for extending the range of the universal serial bus protocol
JP2005529430A (ja) バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース
WO2001006385A1 (en) A communication system for general connection interface machines
CN100493018C (zh) 一种通过网络中的总线接口进行通信的方法和系统
JP2011528465A (ja) ストレージエリアネットワークにシリアルscsiアレイコントローラを接続するためのシステム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid