KR20070118691A - 주변 장치 공유 usb 허브 - Google Patents

주변 장치 공유 usb 허브 Download PDF

Info

Publication number
KR20070118691A
KR20070118691A KR1020077025719A KR20077025719A KR20070118691A KR 20070118691 A KR20070118691 A KR 20070118691A KR 1020077025719 A KR1020077025719 A KR 1020077025719A KR 20077025719 A KR20077025719 A KR 20077025719A KR 20070118691 A KR20070118691 A KR 20070118691A
Authority
KR
South Korea
Prior art keywords
upstream
port
downstream
hub
ports
Prior art date
Application number
KR1020077025719A
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 KR20070118691A publication Critical patent/KR20070118691A/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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/40Bus structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling
    • G06F2213/4004Universal serial bus hub with a plurality of upstream ports

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

여러 실시 예들에 있어서, 업스트림 포트들에 연결된 장치들은 USB 스위칭 허브에서 다운스트림 포트들의 전체 갯수에 따라서 USB 스위칭 허브들을 열거하게 된다. 몇몇 실시 예들에 있어서, 제 1 업스트림 포트가 제 1 다운스트림 포트와 연결되는 경우, 제 2 업스트림 포트에 결합된 상태 레지스터들은 상기 제 1 다운스트림 포트가 연결해제된 제 2 업스트림 장치에 나타낼 수 있다. 다운스트림 포트들의 전체 갯수에 따라서 USB 스위칭 허브를 열거함으로써, 다운스트림 장치가 스위칭될 때마다, 업스트림 장치들은 허브(그리고 이에 대응하여 허브에 결합된 각각의 장치)를 열거할 필요가 없다. 몇몇 실시 예들에 있어서, 지능형 포트 라우팅 스위치는 연관된 다운스트림 포트와 업스트림 포트 사이에서의 진행 중인 활성 전송이 존재하는 경우에 다운스트림 포트를 위한 통신들의 스위칭을 지연시킬 수 있다.
USB 스위칭 허브, 업스트림 포트, 다운스트림 포트, 지능형 포트 라우팅 스위치, 호스트 컴퓨터 시스템

Description

주변 장치 공유 USB 허브{PERIPHERAL SHARING USB HUB}
본 발명은 일반적으로 컴퓨터 하드웨어에 관한 것으로 특히, USB(Universal Serial Bus) 스위칭 허브에 관한 것이다.
USB는 주변 장치들을 컴퓨터 시스템에 결합시킬 수 있게 한다. USB는 호스트 컴퓨터와 여러 종류의 동시 엑세스 장치들 사이의 데이터 교환을 위한 직렬 케이블 버스이다. 버스는 호스트가 동작되는 동안에도 주변 장치들이 장착, 구성, 사용, 및 탈착될 수 있게 한다. 예컨대, USB 프린터, 스캐너, 디지털 카메라, 카드 리더기 등은 USB를 통해 호스트 컴퓨터 시스템과 통신할 수 있다. USB 기반 시스템은 USB 호스트 제어기가 호스트 시스템에 존재하고, 호스트 시스템의 OS(operating system)가 USB 및 USB 대용량 기억 클래스 장치들을 지원할 것을 요구할 수 있다.
USB 장치들은 저속(LS), 최고 속도(FS) 또는 고속(HS)으로 USB 버스를 통해 통신할 수 있다. USB 장치 및 호스트 사이의 연결은 4개의 선들 (전력선, 접지선, 및 한쌍의 데이터 선들(D+ 및 D-))을 포함할 수 있다. USB 장치가 호스트에 연결되는 경우, USB 장치는 D+ 선 상의 풀업 저항을 이용하여, 먼저 D+ 선을 하이 (장치가 저속 장치라면 D- 선)로 올린다. 호스트는 USB 장치를 리셋시킴으로써 반응할 것이다. 만일 USB 장치가 고속 USB 장치라면, USB 장치는 리셋 동안 D- 선을 하이 로 구동시킴으로써 "처프(chirp)" 소리를 낼 것이다. 호스트는 D+ 및 D- 선을 하이로 교번적으로 구동함으로써, "처프"에 반응한다. USB 장치는 이어 풀업 저항을 전자적으로 제거하며, 고속으로 통신을 계속하게 된다. 끊는 경우, 최고 속도 장치들은 고속 USB 장치들이 D+ 및 D- 양 선들을 3상으로 되게 하는 동안, 풀업 저항을 D+ 선으로부터 제거할 수 있다(즉, 선을 "3상"이 되게 한다).
USB 허브는 다중의 USB 장치들이 USB 허브 제어기를 통해 호스트 시스템에 결합되도록 USB 호스트 제어기와 결합할 수 있다. 또한, 다른 USB 허브들이 부가적인 USB 장치 연결을 USB 호스트 제어기에 제공하도록 USB 허브와 결합될 수 있다.
몇몇 이중 역할 주변 장치들은 종속 제어기를 포함할 수 있으며, 그들과 결합한 다른 주변 장치들과 통신할 수 있다. 예컨대, 이중 역할 USB 프린터는 USB 카메라로부터의 영상을 프린트하기 위해 USB 카메라와 직접적으로 통신할 수 도 있다. 이중 역할 USB 프린터는 또한 종속 주변 장치로서, 엑세스(예컨대, 컴퓨터 시스템에 의해) 가능하다. 컴퓨터 시스템 및 이중 역할 주변 장치가 교대로 주변 장치를 엑세스할 필요가 있다면, 주변 장치는 한 장치와는 언플러그되고 다른 장치와는 결합되어야 할 필요가 있다. 종래의 장치 스위치들은 고속 주변 장치들과 작동하지 않을 수 있다. 예컨대, 기계적인 스위치들은 고속 주변 장치들과 동작하기 위해 너무 큰 용량성 또는 인덕턴스를 발생시킬 수 있다. 고속 주변 장치들은 또한 전형적으로 링잉을 방지하기 위해 평탄한 임피던스를 요구한다 (기계적인 스위치들은 링잉을 발생시킬 수 있는 임피던스의 불규칙들을 발생시킬 수 있다).
다양한 실시 예들에서, USB 스위칭 허브의 업스트림 포트들에 결합된 장치들은 USB 스위칭 허브 상의 다운스트림 포트들의 총수에 따라 USB 스위칭 허브를 열거할 수 있다. 몇몇 실시 예에서, 다운스트림 포트들 각각과 업스트림 포트들 사이의 통신들은 USB 스위칭 허브에 의해 제어될 수 있다. 몇몇 실시 예들에서, 제 1 업스트림 포트가 제 1 다운스트림 포트와 통신할 때, 제 2 업스트림 포트는 끊긴것 처럼 제 1 다운스트림 포트를 인지할 수 있다. 예컨대, 제 2 업스트림 포트에 결합된 상태 레지스터들은 제 1 다운스트림 포트가 끊겼음을(즉, 어떠한 장치도 제 1 다운스트림 포트에 전기적으로 연결된 것이 없다라는 것을 나타내기 위해) 나타낼 수 있다. 분리된 업스트림 장치가 제 1 업스트림 포트를 통해 제 1 다운스트림 장치와 통신하는 동안, 끊김 상태는 제 2 업스트림 장치가 제 1 다운스트림 포트에 결합된 다운스트림 장치를 리셋 및 연결시키려는 시도를 방지할 수 있다. 다운스트림 포트들의 총 수에 따라 USB 스위칭 허브를 열거함으로써, 업스트림 디바이스들은 다운스트림 장치가 스위칭될 때마다 허브(그리고, 대응적으로 허브에 결합된 각 장치들)를 재열거할 필요가 없다.
몇몇 실시 예들에서, IPRS(intelligent port routing switch)는 다운스트림 포트 및 제 1 업스트림 포트 사이의 진행에서 능동 전송이 있다면, 다운스트림 포트를 위한 스위칭 통신들을 지연시킬 수 있다. 몇몇 실시 예들에서, 다운스트림 포트 및 제 2 업스트림 포트 사이의 진행에 능동 전송이 있다면, IPRS는 다운스트림 포트를 위한 스위칭 통신들을 지연시킬 수 있다.
만일 진행중에 그 밖의 계류 또는 능동 전송이 있다면, IPRS는 그 밖의 다운스트림 포트들 사이의 스위칭 통신들을 지연시킬 수 있다. 몇몇 실시 예들에서, IPRS는 허브 제어기 레벨에서의 통신들을 모니터링하거나 또는 다운스트림 스위칭 논리 레벨에서의 통신들을 모니터링할 수 있다. 다운스트림 포트들 및 업스트림 포트들 사이의 그 밖의 배치들이 또한 이용될 수 있다. 몇몇 실시 예들에서, 통신들의 스위칭을 지연시키기 위한 지능형 모니터링 또는 외부의 방법에 의존하는 대신에, 스위칭이 USB 프레임 경계에서 발생될 수 있도록 지연될 수 있다 (정의로써, 트래픽이 진행중에는 전혀 허용되지 않을 때). 이러한 실시 예들에서, 스위칭은 지능형 모니터링의 결과가 아닌, 소정의 기초하에 프레임 경계까지 지연될 수 있다.
다음의 도면들과 연계하여 다음의 상세한 설명을 고려할 때 본 발명을 보다 잘 이해할 수 있을 것이다.
도 1은 실시 예에 따른 USB 스위칭 허브를 도시한 도면이며;
도 2는 실시 예에 따라 USB 스위칭 허브에 결합된 컴퓨터 시스템을 도시한 도면이며;
도 3은 실시 예에 따라, USB 스위칭 허브에 결합된 컴퓨터 시스템 및 이중 역할 주변 장치를 도시한 도면이며;
도 4a 및 4b는 실시 예에 따라, USB 스위칭 허브의 2개의 통신 구성들을 도시한 도면들이며;
도 5a, 5b 및 5c는 실시 예에 따라, USB 스위칭 허브의 부가적인 통신 구성들을 도시한 도면이며;
도 6은 실시 예에 따라, USB 스위칭 허브 내에서 통합된 기능들을 도시한 도면이며;
도 7은 실시 예에 따라, 2개의 업스트림 포트들 사이의 다운스트림 포트의 엑세스를 스위칭하기 위한 방법을 나타낸 도면이며;
도 8은 실시 예에 따라, 다중 상태 레지스터들을 갖는 USB 스위칭 허브를 도시한 도면이며;
도 9는 실시 예에 따라, USB 스위칭 허브의 열거없이 2개의 업스트림 포트들 사이의 다운스트림 포트의 엑세스를 스위칭하기 위한 방법을 나타낸 도면이며;
도 10은 실시 예에 따라, 통신 스위치를 승인하기 위해 대기 상태를 모니터링하기 위한 방법을 나타낸 도면이며;
도 11은 실시 예에 따라, 통신 스위치를 승인하기 위해 허브 트랜잭션들을 모니터링하기 위한 방법을 나타낸 도면이며;
도 12는 실시 예에 따라, 프레임 경계에서 통신들을 스위칭하기 위한 방법을 나타낸 도면이며;
도 13은 대안적인 실시 예에 따라, USB 스위칭 허브에 결합된 컴퓨터 시스템 및 이중 역할 주변 장치를 도시한 도면이며;
도 14a 및 14b는 대안적인 실시 예에 따라, USB 스위칭 허브의 2개의 통신 구성들을 도시한 도면들이며;
도 15a, 15b, 및 15c는 대안적인 실시 예에 따라, USB 스위칭 허브의 부가적인 통신 구성들을 도시한 도면들이며;
도 16은 대안적인 실시 예에 따라, 다중 상태 레지스터들을 갖는 USB 스위칭 허브를 도시한 도면이며; 그리고
도 17은 USB 스위칭 허버에 결합된 컴퓨터 시스템 및 주변 장치의 대안적인 실시 예를 도시한 도면이다.
본 발명은 다양하게 변형 및 선택적인 형태로 실시될 수 있지만, 예시적인 방식으로 특정 실시 예들을 도면에 나타냈으며, 이하 상세히 설명한다. 그러나, 도면들 및 상세한 설명이 본 발명을 개시된 특정 형태에 한정되는 것이 아니며, 본 발명은 특허청구범위에 정의된 바와 같이, 본 발명의 사상 및 영역 내에서의 변형, 동등물, 및 대안들 모두가 포함된다는 것을 이해해야 할 것이다. 표제들은 단지 유기적인 목적을 위한 것이며, 상세한 설명 또는 청구항들을 제한 또는 해석을 위해 사용된 것이 아니라는 것에 유념하라. 또한, "일 수 이다"라는 단어는 필수(즉, 반드시)의 의미가 아니라 허용의 의미로 (예컨대, 몇몇 실시 예들에서 잠재성을 갖거나 또는 할 수 있다) 본 출원에서 사용함에 유념하라. 용어 "포함한다" 및 그 파생은 "제한되지 않고, 포함한다"라는 의미이다. 용어 "결합"은 "직접적으로 또는 간접적으로의 연결"을 의미한다.
도 1은 USB 스위칭 허브의 실시 예를 도시한 도면이다. 다양한 실시 예들에 있어서, USB 스위칭 허브(119)는 USB 스위칭 허브(119) 상의 2개 이상의 업스트림 포트들(117) 및 USB 스위칭 허브(119) 상의 적어도 다운스트림 포트들(121) 서브세트 사이의 엑세스를 제어할 수 있다.
몇몇 실시 예에서, 업스트림 포트들(117)에 결합된 업스트림 장치들은 다운스트림 포트들(121)의 총 수에 따라 USB 스위칭 허브(119)를 열거할 수 있다. 예컨대, USB 스위칭 허브(119)는 4-포트 허브로서 (4개의 다운스트림 포트들(121)에 대응하여) 열거될 수 있다. 몇몇 실시 예들에서, 다운스트림 포트들(121) 각각과 업스트림 포트들(117) 사이의 통신들은 USB 스위칭 허브(119)에 의해 제어될 수 있다. 몇몇 실시 예들에서, 제 1 업 스트림 포트(117a)가 제 1 다운스트림 포트(121a)와 통신하고 있을 때, 제 2 업스트림 포트(117b)는 제 2 다운스트림 포트(121c)와 통신할 수 있다. 제 2 업스트림 포트(117b)는 끊긴 것으로서 제 1 다운스트림 포트(121a)을 등록한다. 예컨대, 제 2 업스트림 포트(117b)에 결합된 상태 레지스터들은 제 1 다운스트림 포트(121a)가 끊겼음을 (즉, 어떠한 장치도 제 1 다운스트림 포트(121a)에 전기적으로 연결된 것이 없다라는 나타내기 위해) 가리킬 수 있다. 끊김 상태는 분리된 업스트림 장치가 제 1 업스트림 포트(117a)를 통해 제 1 다운스트림 장치(125a)와 통신하는 동안, 제 2 업스트림 장치(117b)가 제 1 다운스트림 장치(121a)에 결합된 제 1 주변 장치(121a)를 리셋 및 연결하려는 시도를 방지한다. 4-포트 허브로서 USB 스위칭 허브(119)를 열거함으로써, 업스트림 장치들은 다운스트림 장치가 스위칭될 때마다 USB 스위칭 허브(119)를 (USB 스위칭 허브에 결합된 각각의 다운스트림 및/또는 업스트림 장치에 대응하게) 재열거할 필요가 없게 할 수 있다.
몇몇 실시 예들에서, 단지 하나의 업스트림 장치는 동시에 어떤 하나의 다운스트림 장치를 엑세스할 수 있다. 몇몇 실시 예들에서, 다중의 업스트림 장치들은 동시에 개별적인 다운스트림 장치들을 엑세스할 수 있다. 몇몇 실시 예들에서, 다른 통신 구성들을 구현할 수 있다. 예컨대, 제 1 업스트림 포트(117a)이 제 1 3개의 다운스트림 포트들(121a, 121b, 및 121c)을 엑세스할 수 있게 할 수 있으며, 제 2 업스트림 포트(117b)가 제 4 다운스트림 포트(121d)를 엑세스할 수 있게 할 수 있다. 이하의 설명하는 방법들의 다양한 실시 예들에서, 설명한 하나 이상의 요소들이 나타낸 순서보다는 다른 순서로 동시에 수행되거나 또는 전체적으로 생략될 수 도 있음에 유념해야 할 것이다.
제 2 통신 구성에 있어서, 제 2 업스트림 포트(117b)가 제 1 3개의 다운스트림 포트들(121a, 121b, 및 121c)를 엑세스할 수 있게 하는 동안, 제 1 업스트림 포트(117a)가 제 4 다운스트림 포트(121d)을 엑세스할 수 있게 할 수 있다. 그 밖의 통신 구성들이 또한 가능하다(예컨대, 하나의 통신 구성에서, 어떠한 업스트림 포트(117)도 다운스트림 포트(121)를 엑세스할 수 없게 할 수 있다). 몇몇 실시 예들에서, 제어 신호를 수신한 후 (예컨대, 컴퓨터, 다른 부착 장치, 사람, 센서, 논리 내장품으로부터 USB 스위칭 허브(119) 등으로), USB 스위칭 허브(119)는 제 1 통신 구성 및 제 2 통신 구성(또는 다른 통신 구성) 사이에서 스위칭할 수 있다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119)는 통신 구성들을 스위칭하기 전에 (예컨대, 제 1 업스트림 포트(117a)로부터 제 2 업스트림 포트(117b)로의 제 1 다운스트림 장치(125a)를 위한 엑세스의 스위칭), 제어 신호를 수신하지 않을 수 있다.
도 2는 USB 스위칭 허브(119)에 결합된 컴퓨터 시스템(101)의 실시 예를 도시한 도면이다. 몇몇 실시 예들에서, 컴퓨터 시스템(101)은 (예컨대, 개인 컴퓨 터(PC), 노트북, 서버 등) USB 스위칭 허브(119)에 결합된 다중의 주변 장치들(125)을 엑세스할 수 있다. 컴퓨터 시스템(101)은 업스트림 포트(117)를 통해 USB 스위칭 허브(119)에 결합될 수 있다. 컴퓨터 시스템(101)은 신호들 예컨대, USB 신호들을 장치 포트(115)에 결합된 호스트 제어기(111)를 통해 수신 및 전송할 수 있다. 다양한 실시 예들이 컴퓨터 시스템(101)을 포함하지만, 호스트 제어기를 갖는 다른 장치들이 또한 USB 스위칭 허브(119)를 엑세스할 수 있다라는 것을 이해해야 할 것이다. 사우스 브리지(113)에 결합된 호스트 제어기(111)는 PCI(peripheral component interconnect) 버스(109)를 통해 다른 컴퓨터 구성 요소들 (예컨대, 노스 브리지(105), CPU(central processing unit: 103), 및 시스템 메모리(107))와 결합될 수 있다.
몇몇 실시 예들에서, USB 스위칭 허브(119)는 다중의 주변 장치들(125)과 결합하기 위해 다중의 다운스트림 포트들(121)을 가질 수 있다. 주변 장치들(125)은 그 중에서도 특히, USB 프린터들, 스캐너들, 디지털 카메라, 디지털 카메라 독들(docks), 소비자 오디오/비디오, 저장 장치, 및 카드 리더기들를 포함할 수 있다. 몇몇 실시 예들에서, 주변 장치들(125)은 인터페이스(123)를 통해 USB 스위칭 허브(119)와 결합할 수 있다. 몇몇 실시 예에서, 인터페이스(123)는 PHY 인터페이스일 수 있다. 다른 인터페이스들이 또한 사용될 수 있다(예컨대, UTMI 또는 ULPI). 업스트림 포트들(117) 및 다운스트림 포트들(121)은 또한 인터페이스들을 가질 수 있다.
도 3은 USB 스위칭 허브(119)와 결합된 두개의 다운 스트림 장치들 (예컨대, 컴퓨터 시스템(101) 및 이중 역할 주변 장치(207))의 실시 예를 도시한 도면이다. 몇몇 실시 예들에서, USB 스위칭 허브(119)는 하나 이상의 허브 제어기들(203) (예컨대, 허브 제어기들(203a 및 203b))에 결합된 다운스트림 스위칭 논리(201)를 포함할 수 있다. 다운스트림 스위칭 논리(201)는 또한 트랜잭션 변환기 회로(205)와 결합될 수 있다. 트랜잭션 변환기(205)는 다운스트림 포트들(121)과 전자적으로 결합될 수 있다. 몇몇 실시 예들에서, 다운스트림 스위칭 논리(201)는 둘 이상의 통신 구성들 사이에서 스위칭할 수 있다. 통신 구성들은 통신들이 디지털 도메인 (USB 스위칭 허브(119)로/로부터의 인터페이스들의 결과로서) 내에 있는 동안, 업스트림 포트들(117) 및 다운스트림 포트들(121) 사이의 통신들을 라우팅하는 다운스트림 스위칭 논리(201)에 의해 구현될 수 있다. 몇몇 실시 예들에서, 통신 구성(예컨대, USB 스위칭 허브 내에서 하드웨어로 구성된)은 USB 스위칭 허브 상의 논리에 의해 판단됨으로서 스위칭될 수 있다. 다른 통신 구성 구현들 또한 고려된다.
몇몇 실시 예들에서, 이중 역할 주변 장치(207)는 그 중에서도 특히, 이중 역할 USB 프린터 또는 이중 역할 USB DVD(Digital Versatile Disc) 리드/라이트(read/write) 드라이브를 포함할 수 있다. 몇몇 실시 예들에서, 이중 역할 주변 장치(207)는 장치 포트(210)를 통해 USB 스위칭 허브(119)의 업스트림 포트(예컨대, 업스트림 포트(117b))와 결합될 수 있다. 이중 역할 주변 장치(207)는 업스트림 포트(117b)를 통해 USB 스위칭 허브(119: 예컨대, 이중 역할 주변 장치(207) 상의 호스트 제어기(209))에 결합된 다른 주변 장치들(다운스트림 주변 장치들)과 인터페이스할 수 있다. 이중 역할 주변 장치(207)는 종속 제어기를 통해 다른 업스트 림 장치들(컴퓨터 시스템(101)과 같은)과 또한 인터페이스할 수 있다. 예컨대, 이중 역할 주변 장치(207)는 종속 주변 장치(예컨대, 다운스트림 포트(121c)을 통해)로서 USB 스위칭 허브(119)와 결합될 수 있다. 몇몇 실시 예들에서, USB 스위칭 허브와 결합된 이중 역할 주변 장치(207)는 동시에 하나 이상의 주변 장치들에 대한 호스트로서 및/또는 분리된 호스트에 대한 종속 주변 장치로서 동작할 수 있다.
몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)는 독립형 시스템으로서 (예컨대, PC 중재없이, 디지털 카메라와 같은, 다른 주변 장치와 통신하기 위해) 작동하도록 임베디드된 호스트 제어기를 가질 수 있다. 예컨대, 이중 역할 USB 프린터는 PC 중재없이, USB 스위칭 허브(119) 상의 다운스트림 포트(121)에 결합된 디지털 카메라로부터의 영상들을 직접적으로 프린트할 수 있다. 몇몇 실시 예들에서, USB 스위칭 허브(119)는 교대로 컴퓨터 시스템(101) 또는 이중 역할 주변 장치(207)가 하나 이상의 다운스트림 장치들을 (예컨대, 하나 이상의 통신 구성들 사이의 스위칭으로써) 엑세스할 수 있게 할 수 있다.
도 4a는 다중으 주변 장치들과 전자적으로 결합한 컴퓨터 시스템의 실시 예를 도시한 도면이다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119)는 하나 이상의 다운스트림 포트들을 공유할 수 있는 스위치 결합 다중 내부 "허브들" 처럼 동작할 수 있다. 예컨대, USB 스위칭 허브의 각 잠재 통신 구성은 내부의 "허브"를 의미할 수 있다. 컴퓨터 시스템(101)이 USB 스위칭 허브(119)와 결합된 주변 장치(125)를 (예컨대, 주변 장치(125a) 엑세스하고 있을 때, 주변 장치로/로부터의 통신들은 제 1 업스트림 포트(117a), 허브 제어기(203a), 트랜잭션 변환기(205), 및 적어도 다운스트림 포트들의 서브셋(121)로 구성되는 제 1 "허브"를 통해 처리될 수 있다. 제 2 "허브"는 제 2 업스트림 포트(117b), 허브 제어기(203b), 트랜잭션 변환기(205), 및 적어도 다운스트림 포트들(121)의 서브셋을 포함할 수 있다. 한 통신 구성에 있어서, 컴퓨터 시스템(101)은 (제 1 "허브"를 통해) 다운스트림 포트들(121a 및 121c)과 연결되며, 이중 역할 주변 장치(207)는 (제 2 "허브"를 통해) (도 4b에 도시된 바와 같이) 다운스트림 포트들(121b 및 121d)과 연결된다. 다른 통신 구성들이 또한 예상된다. 몇몇 실시 예들에서, 어떤 다운 스트림 장치들을 각 업스트림 포트와 결합할지를 설계하는 통신 구성 프로파일들은 하드웨어로 구성 또는 소프트웨어로 구현될 수 있다. 예컨대, 소프트웨어로 구현한다면, 각 업스트림 포트(및/또는 업스트림 장치)를 위한 통신 구성 프로파일들은 USB 스위칭 허브(119)가 엑세스할 수 있는 메모리 상에 저장된다.
몇몇 실시 예들에 있어서, 컴퓨터 시스템(101) 및 이중 역할 주변 장치(207)는 USB 스위칭 허브(119)를 통해 분리된 다운스트림 장치들과 동시에 통신할 수 있다. 예컨대, 컴퓨터 시스템(101)이 (예컨대, 제 1 "허브"를 통해) 장치(125a)와 통신하는 동안, 이중 역할 주변 장치(207)는 (예컨대, 제 2 "허브"를 통해) 장치(125b)와 통신할 수 있다 몇몇 실시 예들에서, 주변 장치(125a)가 제 1 "허브"를 통해 엑세스되는 동안, 다른 업스트림 장치는 주변 장치(125a)를 엑세스할 수 없다 (예컨대, 이중 역할 주변 장치(207)는 주변 장치(125a)가 컴퓨터 시스템(101)에 의해 사용되는 동안 주변 장치(125a)를 엑세스할 수 없다). 몇몇 실시 예들에 있어서, 신호는 (예컨대, 외부 제어 블록으로부터의) 다운스트림 포트들(121)를 위한 (예컨대, 다운스트림 포트(121a 및/또는 121c)) 제 1 "허브" 상에서 제 2 "허브"의 (즉, 스위치 통신 구성들) 엑세스를 스위칭하도록 다운스트림 스위칭 논리(201)를 트리거시킬 수 있다. 몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)는 제어 신호를 USB 스위칭 허브(119)로 전송할 수 있다. USB 스위칭 허브(119)는 이어, 하나 이상의 다운스트림 포트들을 이중 역할 주변 장치에 연결시키기 위해 통신 구성들을 스위칭할 수 있다. 예컨대, 사용자가 이중 역할 주변 장치(207) (예컨대, 이중 역할 프린터) 상의 버튼을 누르는 경우, 신호는 컴퓨터 시스템(101)로부터 이중 역할 주변 장치(207)로의 장치(125a)의 엑세스를 스위칭하기 위해 (즉, 도 4b에 도시된 바와 같이, 제 2 통신 구성으로 스위칭하기 위해) 모드(211)를 통해 다운스트림 스위칭 논리(201)로 전송된다. 컴퓨터 시스템(101)은 계속해서 다운스트림 포트(121c)와 (및/또는 제 2 통신 구성에 의해 결정되는 바와 같이 다른 스트림 포트들) 통신할 수 있다.
몇몇 실시 예들에 있어서, 동작이 이중 역할 주변 장치(207)와 다운스트림 포트 사이에서 더 이상 발견되지 않는 경우 (예컨대, 만일 이중 역할 주변 장치(207)가 턴 오프되었다면), 다운스트림 스위칭 논리(201)는 컴퓨터 시스템에 대한 다운스트림 포트의 엑세스를 스위칭할 수 있다 (즉, 다른 통신 구성으로 스위칭할 수 있다). 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)는 다른 업스트림 장치에 대한 다운스트림 포트의 엑세스를 스위칭할 수 있다. 몇몇 실시 예들에 있어서, 비활성을 찾기보다는, 이중 역할 주변 장치(207)로부터의 신호가 스위칭을 위해 USB 스위칭 허브(119b)를 시그널링할 수 있다. 다른 신호들 및/또는 논 리는 또한 언제 통신 구성들을 스위칭할지를 결정할 때에 사용될 수 있다.
몇몇 실시 예들에 있어서, 통신 구성들은 소프트웨어로 구현될 수 있다. 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)에 결합 또는 포함되는 마이크로프로세서는 다이내믹하게 예컨대, 다이내믹 통신 구성 프로파일을 사용하여, 어떤 다운스트림 포트들이 전기적으로 각 스트림 포트에 결합되어야 하는 지를 판단할 수 있다. 예컨대, 마이크로프로세서는 저장된 통신 구성 프로파일을 독출하고, 통신 구조 프로파일에 따라 업스트림 포트들을 다운스트림 포트에 연결하기 위해 시도할 수 있다. 통신 구조 프로파일들은 USB 스위칭 허브(119)와 결합된 메모리(예컨대, EEPROM(Electronically Erasable Programmable Read-Only Memory)) 상에 저장된다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119) 상의 허브 제어기들(203)는 통신 구조 프로파일들을 엑세스할 수 있다.
몇몇 실시 예들에서, 우선권 논리가 통신 구성들을 스위칭하기 위해 사용될 수 있다. 엑세스 허용에 이용되는 우선권 논리, 또는 그 밖의 논리가 USB 스위칭 허브(119)의 내부 또는 외부에 있을 수 있다. 몇몇 실시 예들에 있어서, 외부의 제어 신호가 이중 역할 주변 장치(207)에 대한 하나 이상의 다운스트림 포트들(121)의 엑세스를 스위칭하기 위해 이중 역할 주변 장치(207)로부터 전송될 때까지, 컴퓨터 시스템(101)에 다운스트림 포트들(121) 전반에 걸친 우선권이 주어질 수 있다. 몇몇 실시 예들에서, 다른 제어 신호들이 다른 통신 구성들을 트리거하기 위해 (즉, 이중 역할 주변 장치(207)에 대한 다른 다운스트림 포트들의 엑세스를 스위칭하기 위해) 전송될 수 있다.
몇몇 실시 예들에서, 호스트 협상 논리가 어떤 통신 구성을 사용해야 할지를 판단하기 위해 이용될 수 있다. 몇몇 실시 예들에서, 다중의 업스트림 장치들이 동일한 다운스트림 포트에 대한 엑세스를 "요청"할 때까지, 디폴트 통신 구성이 이용될 수 있다. 호스트 협상 논리가 어떤 통신 구성을 사용할지를 (즉, 어떤 통신 구성이 특정 업스트림 포트에게 "요청된" 다운스트림 포트에 대한 엑세스를 주는지를) 판단하기 위해 이용될 수 있다.
몇몇 실시 예들에서, USB 스위칭 허브(119) 내의 마이크로프로세서는 다운스트림 주변 장치들을 자동으로 검색하고 다운스트림 주변 장치들을 어떻게 연결할지를 판단하는 빌트 인 알고리즘(built in algorithm)을 포함할 수 있다. 예컨대, 특정 다운스트림 포트를 업스트림 포트에 할당하는 대신에, 구성 프로파일은 만일 하나가 부착되었다면, 업스트림 포트가 디지털 카메라를 엑세스해야 한다는 것을 지정할 수 있다. 디지털 카메라가 다운스트림 포트들 중 하나에 부착되는 경우, 빌트 인 알고리즘은 디지털 카메라를 자동으로 검색할 수 있으며, 그것을 적절한 업스트림 포트에 부착시킬 수 있다 (즉, 적절한 통신 구성으로 스위칭 함으로써).
몇몇 실시 예들에서, 다운스트림 스위칭 논리(201)가 통신 구성들을 스위칭하고 다운스트림 포트의 제어가 컴퓨터 시스템(101)로부터 이중 역할 주변 장치(207)로 스위칭되는 경우, 컴퓨터 시스템(101) 및 (스위칭되어야 할 다운스트림 포트에 결합된) 각 주변 장치(125) 사이의 연결이 컴퓨터 시스템(101)에 의해 종료될 수 있다. 몇몇 실시 예들에서, 스위칭될어야 할 다운스트림 포트 및 컴퓨터 시스템(101) 사이의 통신은 USB 스위칭 허브(119)에 의해 종료될 수 있다. 이어, 이 중 역할 주변 장치(207)는 스위칭된 다운스트림 포트와 결합된 각 주변 장치(125)와 연결, 열거 및 통신할 수 있다.
업스트림 장치들은 부착된지 않은 포트들로서 (즉, 활성화되었으나, 연결된 장치가 없는) 부착할 수 있도록 구성되지 않은 다운스트림 포트들을 알 수 있을 것이다. 몇몇 실시 예들에서, 단지 소정 수의 다운스트림 포트들이 언젠가 특정 업스트림 포트(예컨대, 번호 "x" 포트들)에 부착되게 될 예정이라면, 업스트림 장치는 허브가 단지 x 포트들을 갖게 시그널링될 수 있다. 예컨대, 만일 업스트림 포트(117b)가 단지 다운스트림 포트들(121c 및 121d)에 부착되도록 구성될 예정이라면, 업스트림 포트(117b)에 부착된 장치는 USB 스위칭 허브(119)가 단지 두개의 포트 허브가 되게 시스널링될 수 있다.
도 5a, 5b, 및 5c는 USB 스위칭 허브(419)와 결합된 컴퓨터 시스템(101) 및 두개의 이중 역할 주변 장치들을 도시한 도면들이다. 몇몇 실시 예들에서, 다중의 이중 역할 주변 장치들은 USB 스위칭 허브(419)와 결합될 수 있다. 예컨대, 이중 역할 프린터(407)은 업스트림 포트(417b)를 통해 USB 스위칭 허브(419)와 결합될 수 있으며, 이중 역할 DVD 리드/라이트 드라이브(467)는 업스트림 포트(417c)를 통해 USB 스위칭 허브(419)와 결합될 수 있다. 컴퓨터 시스템(101)은 업스트림 포트(417a)를 통해 USB 스위칭 허브(419)와 결합될 수 있다. 업스트림 장치들 각각은 각 허브 제어기(403), 다운스트림 스위칭 논리(401), 및 트랜잭션 변환기(405)와 결합될 수 있다. 다운스트림 스위칭 논리(401)는 각각의 업스트림 장치들 (즉, 컴퓨터 시스템(101), 이중 역할 프린터(407), 또는 이중 역할 DVD 리드/라이트 드라 이브(467)) 및 적어도 주변 장치들(425)의 서브셋 사이의 통신들을 구성할 수 있다.
도 5에 나타낸 바와 같이, 하나의 통신 구성 프로파일에서, 컴퓨터 시스템(101)은 다운스트림 포트들(421a, 421b, 421e, 및 421f)와 연결될 수 있다. 실시 예에서, 이중 역할 프린터(407)는 다운스트림 포트(421c)를 엑세스할 수 있도록 구성될 수 있으며, DVD 리드/라이트 드라이브(467)는 다운스트림 포트(421)를 엑세스할 수 없도록 구성될 수 있다. 이중 역할 프린터(407)는 여러 다른 방법들을 통해 다운스트림 포트(421b)에 대한 엑세스를 얻을 수 있다(즉, 그것에 엑세스를 주기 위해 스위칭된 통신 구성을 갖을 수 있다). 예컨대, 사용자는 이중 역할 프린터(407) 상의 버튼을 누를 수 있다. 이어 신호가 모드(411)를 통해 USB 스위칭 허브(419) 내의 다운스트림 스위칭 논리(401)에 전송될 수 있다. 다운스트림 스위칭 논리(401)는 (이중 역할 프린터(407)가 다운스트림 포트(421b)를 엑세스할 수 있게 하는) 도 5b에 나타낸 통신 구성으로 스위칭될 수 있다. 몇몇 실시 예들에서, 만일 이중 역할 프린터(407)가 턴 오프 또는 비활성화된다면, 다운스트림 스위칭 논리(401)는 컴퓨터 시스템(101)의 뒤로 다운스트림 포트(421b)의 엑세스를 스위칭할 수 있다 (즉, 이전의 통신 구성 뒤로 스위칭한다). 도 5c에 도시된 바와 같이, 하나의 통신 구성에서, 어떠한 다운스트림 포트들을 엑세스할 수 있는 업스트림 포트들은 없다.
도 6은 USB 스위칭 허브 내의 통합된 기능들의 실시 예를 도시한 도면이다. 실시 예들에서, 분리된 허브 제어기들 대신에, 통합된 허브 제어기(503)가 사용될 수 있다. 예컨대, 그들 각각의 업스트림 포트를 위한 통신들을 취급하는 분리된 허브 제어기들 대신에, 통합된 허브 제어기가 업스트림 포트들 각각을 위한 통신들을 취급할 수 있다. 유사하게, 통합된 트랜잭션 변환기(505)이 각 업스트림 포트를 위해 사용될 수 있다. 또한, 도 6에 나타낸 바와 같이, 몇몇 실시 예들에서, 업스트림 포트 스위치(551)가 사용될 수 있다. 예컨대, 업스트림 포트 스위치(551)는 다운스트림 논리 대신에 다양한 통신 구성들을 구현할 수 있다.
몇몇 실시 예들에서, USB 스위칭 허브(예컨대, USB 스위칭 허브(419) 또는 USB 스위칭 허브(519)) 내의 트랜잭션 변환기(들)는 업스트림 포트들이 다른 업스트림 포트들과 관련된 다른 통신 속도로 통신하게 할 수 있다. 예컨대, 하나의 업스트림 포트가 단지 고속 장치들과 결합될 수 있으며, 그에 따라, 고속으로 통신하며, 반면에, 분리된 업스트림 포트가 단지 최고 속도 장치들과 결합될 수 있으며, 그에 따라, 최고 속도로 통신할 수 있다. 몇몇 실시 예들에서, 트랜잭션 변환기들 때문에, 업스트림 포트들은 다른 속도들로 다른 다운스트림 포트들과 통신할 수 있다.
도 7은 USB 스위칭 허브 상의 2 업스트림 포트들 사이의 다운스트림 포트 엑세스를 스위칭하기 위한 방법의 실시 예를 나타낸 도면이다. 아래에서 설명하는 방법들의 다양한 실시 예들에서, 설명하는 하나 이상의 요소들은 나타낸 것과는 다른 순서로, 동시에 수행될 수 있으며 또는, 전체적으로 생략될 수 있다라는 점을 유념해야 한다. 다른 부가적인 요소들은 또한 원하는 바와 같이, 수행될 수 있다.
단계 701에서, USB 스위칭 허브는 제 1 통신 구성 및 제 2 통신 구성 사이의 스위칭을 위해 USB 스위칭 허브를 시그널링하는 신호(예컨대, 외부의 제어 신호)를 수신할 수 있다. 예컨대, 통신 구성의 스위칭은 제 1 업스트림 포트로부터 제 2 업스트림 포트로의 제 1 다운스트림 포트의 엑세스를 스위칭할 수 있다. 몇몇 실시 예들에서, 사용자는 USB 스위칭 허브에 결합된 이중 역할 주변 장치 상의 버튼을 누를 수 있으며, 이중 역할 주변 장치는 하나 이상의 통신 구성들 사이의 스위칭하도록 USB 스위칭 허브를 시그널링하기 위해 USB 스위칭 허브에 외부의 제어 신호를 전송할 수 있다. 몇몇 실시 예들에서, 신호가 내부에 (예컨대, USB 스위칭 허브의 내부 논리에 의해 발생되는) 있을 수 있다.
단계 703에서, 제 1 업스트림 포트에 결합된 호스트 및 제 1 다운스트림 포트에 결합된 제 1 주변 장치 사이의 통신은 종료될 수 있다. 몇몇 실시 예에서, 다운스트림 주변 장치들의 서브셋을 위해 통신이 종료될 수 있다.
단계 705에서, USB 스위칭 허브는 제 2 업스트림 포트에게 제 1 다운스트림 포트의 엑세스를 주기 위해 제 1 통신 구성 및 제 2 통신 구성 사이에서 스위칭할 수 있다. 몇몇 실시 예들에서, 통신 구성 스위칭은 다운스트림 주변 장치들을 위한 엑세스에 영향을 줄수 있다.
단계 707에서, 제 1 다운스트림 포트와 결합된 다운스트림 주변 장치는 제 2 업스트림 포트를 통해 제 2 업스트림 포트와 결합된 호스트에 의해 엑세스될 수 있다. 몇몇 실시 예들에서, 제 2 업스트림 포트는 다운스트림 주변 장치들의 서브셋과 통신할 수 있다. 예컨대, 호스트는 스위칭된 다중의 다운스트림 장치들을 열거하고 이어 통신한다. 몇몇 실시 예들에서, 제 1 업스트림 포트 및 제 2 다운스트림 포트 사이의 엑세스는 계속될 수 있다.
도 8은 실시 예에 따라, 다중 상태 레지스터들을 갖는 USB 스위칭 허브를 도시한 도면이다. 몇몇 실시 예들에서, 업스트림 장치들(예컨대, 컴퓨터 시스템(101) 및 이중 역할 장치(207))은 다운스트림 포트들(121)을 통해 다운스트림 장치들(125)과 통신할 수 있다. 몇몇 실시 예들에서, 각 업스트림 장치는 4-포트 허브로서 (또는 USB 스위칭 허브(119) 상의 다운스트림 포트들(121) 수에 따라) USB 스위칭 허브(119)를 열거할 수 있다. 몇몇 실시 예들에서, 외부 신호(813)는 다운스트림 포트들(121)의 서브셋을 (예컨대, 다운스트림 포트들(121a 및 121b)) 위한 통신들을 스위칭하기 위해 다운스트림 스위칭 논리(201)를 시그널링할 수 있다.통신들이 스위칭되고 있을 때, 상태 레지스터는 (예컨대, 상태 레지스터들의 세트(811a)) 이전에 연결된 다운스트림 포트에 대한 끊김 상태를 나타낼 수 있다. 몇몇 실시 예들에서, 다운스트림 포트 및 제 2 업스트림 장치 사이에서 통신들이 이어 확립될 수 있다. 예컨대, 다운스트림 포트(121a)로부터의 활성은 상태 레지스터들(811b)의 제 2 세트 내의 다운스트림 포트(121a)를 위한 상태 레지스터 상에 연결 이벤트를 나타낼 수 있다. 제 2 업스트림 장치(예컨대, 이중 역할 장치(207)는 상태 레지스터들(811b)을 폴(pole)하고, 다운스트림 포트(121a)를 리셋시키는 경우, "연결" 이벤트를 검출할 수 있다. 제 2 업스트림 장치가 다운스트림 포트(121a)를 통해 통신하고 있는 동안, 다른 업스트림 포트들과 결합된 다른 업스트림 장치들은 상태 레지스터들(811)의 그들 각 세트를 폴할 때, 다운스트림 포트를 위해 "끊김"을 검출할 수 있다.
몇몇 실시 예들에서, IPRS(821: intelligent port routing switch)는 다운스트림 포트(125a) 및 제 1 업스트림 포트(117a) 사이에서의 진행 중인 활성 전송이 있다면, 다운스트림 포트(125a)를 위한 스위칭 통신들을 지연시킬 수 있다. 몇몇 실시 예들에서, 만일 다운스트림 포트(125) 및 제 2 업스트림 포트(117b) 사이에서의 진행 중인 활성 전송이 있다면, IPRS(821)는 다운스트림 포트(125a)를 위한 스위칭 통신들을 지연시킬 수 있다. 몇몇 실시 예들에서, IPRS(821)는 USB 스위칭 허브(119) 상에 하드웨어 및/또는 팜웨어로 구현될 수 있다. 몇몇 실시 예들에서, IPRS는 컴퓨터 시스템(101) 상에서 소프트웨어로 구현될 수 있다. IPRS는 사용중인 장치의 스위칭 요청을 지연시키기 위해 현재의 USB 트래픽을 알수 있는 소프트웨어 및 드라이버들을 포함할 수 있다. 몇몇 실시 예들에서, IPRS는 USB 스위칭 허브(119) 내부의 트래픽 모니터링의 바깥에 있을 수 있다.
만일 진행중에 계류 또는 활성 전송이 있다면, IPRS(821)는 그 밖의 다운스트림 포트들(125) 사이의 스위칭 통신들을 지연시킬 수 있다. 몇몇 실시 예들에서, IPRS(821)는 허브 제어기(230) 레벨에서의 통신들을 모니터링하거나 또는 다운스트림 스위칭 논리 레벨에서의 통신들을 모니터링할 수 있다. 다운스트림 포트들(121) 및 업스트림 포트들(117) 사이의 그 밖의 배치들이 또한 이용될 수 있다. 몇몇 실시 예들에서, 스위칭 통신들을 지연시키기 위한 지능형 모니터링 또는 외부의 방법 대신에, IPRS(821)은 스위칭을 지연시키기 위해 작동하여, 스위칭이 USB 프레임 경계에서 발생되게 한다(정의에 의해, 진행중에 어떠한 트래픽도 허용치 않았을 때). 이러한 실시 예들에서, 스위칭은 지능형 모니터링의 결과가 아닌, 소정의 기초로 프레임 경계까지 지연될 수 있다.
몇몇 실시 예들에서, 외부 신호(813)는 (예컨대, 사용자로부터, 컴퓨터 시스템(101)로부터, 또는 이중 역할 장치(207) 상의 모드(211)로부터) 다운스트림 포트(121) 및 업스트림 포트들(117) 사이의 통신들을 스위칭하기 위해 다운스트림 스위칭 논리(201)를 시그널링할 수 있다. 외부 신호(813)의 다른 소스들은 또한 고련된다. (예컨대, 외부 신호는 USB 스위칭 허브(119)와 결합된 물리적인 스위치로부터 유래할 수 있다). 몇몇 실시 예들에서, 물리적인 스위치는 사용자가 하나 이상의 다운스트림 포트들(121)을 특정 업스트림 포트(117)에 할당할 수 있도록 스위치들, 푸시 버튼들 및/또는 그 밖의 기계적인 부품들을 가질 수 있다. 몇몇 실시 예들에서, 외부 신호(813)는 컴퓨터 시스템(101)로부터 전송될 수 있다. 예컨대, 컴퓨터 시스템(101) 상에서 실행되는 응용은 사용자가 하나 이상의 다운스트림 포트들(121)을 특정 업스트림 포트(117)에 할당할 수 있도록 컴퓨터 시스템(101)과 작용할 수 있게 한다. 몇몇 실시 예들에서, 컴퓨터 시스템(101)은 사용자와 통신하기 위해 USB 스위칭 허브(119)로부터 뒷에서 신호들을 수신할 수 있다. 예컨대, 만일 관련된 다운스트림 포트 및 업스트림 포트 사이에 전송들이 있다면, USB 스위칭 허브(119)는 사용자와 이러한 상태를 통신할 수 있으며, USB 스위칭 허브(119)는 스위치와 진행하기 위해 사용자로부터 확인을 수신할 때까지 대기할 수 있다.(예컨대, 사용자가 컴퓨터 시스템(119)과 결합된 컴퓨터 스크린 상의 그래픽 "처리(Proceed)" 박스를 선택한 후, 스위치를 확인하는 신호가 컴퓨터(101)로부터 전송될 수 있다)
도 9는 USB 스위칭 허브(119)를 재열거없이 두개의 업스트림 포트들 사이에서 다운스트림 포트(121) 엑세스를 스위칭하기 위한 방법의 실시 예를 나타낸 도면이다. 아래에서 설명하는 방법들의 다양한 실시 예들에서, 설명하는 하나 이상의 요소들은 나타낸 것과는 다른 순서로, 동시에 수행될 수 있으며 또는, 전체적으로 생략될 수 있다라는 점에 유념해야 한다. 다른 부가적인 요소들은 또한 원하는 바와 같이, 수행될 수 있다.
단계 901에서, 주변 장치는 USB 스위칭 허브의 다운스트림 포트와 결합될 수 있다. 몇몇 실시 예들에서, 주변 장치는 USB 장치일 수 있다. USB 장치는 또한 업스트리 장치와 결합될 수 있다(즉, USB 장치는 이중 역할 USB 장치일 수 있다).
단계 903에서, 제 1 업스트림 장치는 USB 스위칭 허브(119)의 제 1 업스트림 포트(117a)와 결합될 수 있다.
단계 905에서, 제 2 업스트림 장치는 USB 스위칭 허브(119)의 제 2 업스트림 포트(117b)와 결합될 수 있다.
단계 907에서, 제 1 업스트림 장치는 USB 스위칭 허브(119)를 위한 제 1 허브 구성을 이용하여 USB 스위칭 허브(119)을 열거할 수 있다.
예컨대, 만일 USB 스위칭 허브(119)가 4개의 다운스트림 포트들(121)을 갖는다면, 제 1 업스트림 장치는 4-포트 허브로서 USB 스위칭 허브(119)를 열거할 수 있다. 몇몇 실시 예들에서, 제 1 업스트림 장치는 USB 스위칭 허브(119) 상의 다운스트림 포트들(121)의 총수보다 적은 다운스트림 포트들(121)을 가지고 USB 스위칭 허브(119)를 열거할 수 있다(예컨대, 만일 하나 이상의 다운스트림 포트들(121)이 영구적으로 다른 용도를 위해 비활성 또는 남겨 놓았다면).
단계 909에서, 제 2 업스트림 장치는 USB 스위칭 허브(119)를 위한 제 1 허브 구성과 대략적을 유사한 허브 구성을 사용하여 USB 스위칭 허브(119)를 열거할 수 있다.
단계 911에서, 주변 장치와 결합된 다운스트림 포트가 제 2 업스트림 포트에 할당될 수 있다. 몇몇 실시 예들에서, 주변 장치 및 제 1 업스트림 포트 사이의 통신들이 제 2 업스트림 포트로 스위칭될 수 있다. 몇몇 실시 예들에서, 만일 장치(125a)가 디지털 카메라이라면, 그것은 컴퓨터 시스템(101)과 초기에 결합될 수 있다. (즉, 통신들이 디지털 도메인 내에서 있는 동안, 디지털 카메라로부터/로의 통신들은 다운스트림 스위칭 논리(201) 내의 제 1 업스트림 포트(117a)로 라우팅될 수 있다). 외부 신호(813)는 (예컨대, 컴퓨터 시스템(101)을 통한 사용자로부터) 장치(125a) 및 두개의 업스트림 포트들(117) 사이의 통신들을 스위칭하기 위해 다운스트림 스위칭 논리(201)를 시그널링할 수 있다.
단계 913에서, 끊김 상태가 스위칭된 다운스트림 포트에 대응하여, 제 1 업스트림 포트(117a)의 허브 제어기(203a)와 결합된 상태 레지스터 상에 표시될 수 있다. 통신들이 다운스트림 장치(125a) 및 제 1 업스트림 포트(117a)와 결합된 업스트림 장치 사이에서 종료될 수 있다.
단계 915에서, 연결 이벤트가 스위칭된 다운스트림 포트에 대응하여, 제 2 업스트림 포트(117b)의 허브 제어기(203b)와 결합된 상태 레지스터 상에 표시될 수 있다. 제 2 업스트림 장치(207)가 (예컨대, 이중 역할 프린터) 상태 레지스터 상의 연결 이벤트를 읽는 경우, 그것는 다운스트림 포트(121a)와 결합된 장치(125a)를 리셋시킬 것이다. 다운스트림 장치(125a)는 다른 통신들을 위한 업스트림 장치(207)과 연결될 수 있다. (예컨대, 디지털 카메라로부터 직접 영상드을 프린트하기 위해)
단계 917에서, 만일, 다운스트림 포트(121) 및 제 1 업스트림 포트 사이에 활성 진행 중이 전송이 있다면, 다운스트림 포트(121)의 통신들의 스위칭이 지연될 수 있다. 스위칭 통신들이 IPRS(821)에 의해 지연될 수 있다.
단계 919에서, 만일, 다운스트림 포트(121) 및 제 2 업스트림 포트(117b) 사이에 활성 진행 중이 전송이 있다면, 다운스트림 포트(121)의 통신들의 스위칭이 지연될 수 있다. 스위칭 통신들이 IPRS(821)에 의해 지연될 수 있다.
도 10은 통신 스위칭을 승인하기 위해 대기 상태를 모니터링하기 위한 방법의 실시 예를 나타낸 도면이다. 아래에서 설명하는 방법들의 다양한 실시 예들에서, 설명하는 하나 이상의 요소들은 나타낸 것과는 다른 순서로, 동시에 수행될 수 있으며 또는, 전체적으로 생략될 수 있다라는 점에 유념해야 한다. 다른 부가적인 요소들은 또한 원하는 바와 같이, 수행될 수 있다.
단계 1001에서, IPRS(821)는 만일 주변 장치(125)가 업스트림 장치에 의해 활성되어 사용 중인지를 판단하기 위해 상태 레지스터들(811)를 모니터링할 수 있다. 예컨대, IPRS(821)는 대응하는 상태 레지스터가 "선택적 보류" 또는 대응하는 다운스트림 포트(121)를 위해 나타낸 대기 상태를 갖는지를 판단할 수 있다.
단계 1003에서, 다운스트림 스위칭 논리(201)는 스위칭되어야 할 다운스트림 포트들(121) 또는 다운스트림 포트(121)이 스위칭되어야 할 업스트림 포트(117)와 결합된 다운스트림 포트들(121) 사이에서 진행중인 통신들이 있는지에 관한 표시를 위해 스위칭하기 이전에 IPRS(821)를 체크할 있다. 몇몇 실시 예들에서, 다운스트림 스위칭 논리(201)는 다중의 다운스트림 포트들(121)이 스위칭될 수 있는지를 판단하기 위해 IPRS(821)에 문의할 수 있다.
단계 1005에서, IPRS(821)는 하나 이상의 다운스트림 포트들(121)을 위한 통신들의 스위칭이 진행될 수 있는지에 대해 다운스트림 스위칭 논리(201)에 표시할 수 있다. 예컨대, IPRS(821) 상의 논리는 상태를 체크해야할 것이 어떤 다운스트림 포트들(121)인지를 판단할 수 있다(예컨대, 스위칭되어야 할 다운스트림 포트들(121) 및 스위칭되고 있는 업스트림 포트(117)와 결합된 다운스트림 포트들(121)). 몇몇 실시 예들에서, IPRS(821)는 다운스트림 스위칭 논리(201)가 특정 다운스트림 포트에 관해 문의할 때 대응하는 상태 레지스터를 체크할 수 있다.
단계 1007에서, 만일 "선택적 보류" 또는 대기 상태가 표시되지 않았다면, IPRS(821)는 IPRS(821)가 스위칭을 원하는 다운스트림 스위칭 논리(201)로부터의 문의를 수신한 후, 소정의 시간 동안 대응하는 상태 레지스터의 모니터링을 계속해서 할 수 있다. 소정 시간의 끝에서, 만일 "선택적 보류" 또는 대기 상태가 여전히 표시되지 않으면, IPRS(821)는 다운스트림 포트 제어기(201)에 명백한 활성 상태에도 불구하고 스위칭될 수 있음을 표시할 수 있다. 몇몇 실시 예들에서, 만일 "선택적 보류" 및 대기 상태가 표시되지 않는다면, 표시는 하나 이상의 영향을 입힐 주변 장치들(125)의 분명한 활성 상태에도 불구하고 스위칭을 수행할지를 사용자에게 묻기 위해 컴퓨터 시스템(101)에 전송될 수 있다. 만일 사용자가 스위칭에 동의하면, 다운스트림 스위칭 논리(201)는 스위칭을 진행할 수 있다.
도 11은 통신 스위칭을 승인하기 위한 허브 트랜잭션들을 모니터링하기 위한 방볍의 실시 예를 나타낸 도면이다. 이하의 설명하는 방법들의 다양한 실시 예들에서, 설명한 하나 이상의 요소들이 나타낸 순서보다는 다른 순서로 동시에 수행되거나 또는 전체적으로 생략될 수 도 있음에 유념해야 할 것이다. 다른 부가적인 요소들은 또한 설명하는 바와 같이, 수행될 수 있다.
단계 1101에서, IPRS(821)는 통신들 중 어떤 것이 관련된 주변 장치들로/로부터 (예컨대, 스위칭되어야 할 다운스트림 포트(121)에 결합된 또는 이미 주변 장치(125)가 스위칭되어야 할 업스트림 포트(117)에 결합된) 진행되어야 하는지를 판단하기 위해 USB 스위칭 허브(119)를 통해 트랜잭션들을 모니터링할 수 있다. 몇몇 실시 예들에서, 통신들의 존재 및 통신들의 형태는 IPRS(821)에 의해 모니터링될 수 있다. IPRS(821)는 USB 스위칭 허브(119)의 다양한 포인트들에서의 통신들을 모니터링할 수 있다. (예컨대, 허브 제어기들(203)에 결합된, 다운스트림 스위칭 논리(201), 및/또는 다운스트림 포트들(121) 및/또는 업스트림 포트들(117)에 직접적으로 결합된) IPRS(821)는 부가적인 내부 논리를 이용하여 통신들을 모니터링할 수 있다. 몇몇 실시 예들에서, IPRS(821)는 다운스트림 포트들(121) 및 업스트림 포트들(117) 사이의 통신들에 간섭하지 않는다.
단계 1103에서, 다운스트림 스위칭 논리(201)는 스위칭되어야 할 다운스트림 포트들(121) 또는 다운스트림 포트(121)이 스위칭되어야 할 업스트림 포트(117)와 결합된 다운스트림 포트들(121) 사이에서 진행중인 통신들이 있는지에 관한 표시를 위해 스위칭하기 이전에 IPRS(821)를 체크할 수 있다.
단계 1105에서, IPRS(821)는 하나 이상의 다운스트림 포트들(121)을 위한 통신들의 스위칭이 진행될 수 있는지에 대해 다운스트림 스위칭 논리(201)에 표시할 수 있다.
도 12는 프레임 경계에서 통신을 스위칭하기 위한 방법의 실시 예를 나타낸 도면이다. 이하에서 설명하게 될 방법들의 다양한 실시 예들에 있어서, 상기 요소들 중 하나 이상은 나타낸 바와는 다른 순서로, 동시에 수행되거나 또는 전체적으로 생략될 수 있음에 유념해야 할 것이다. 다른 부가적인 요소들은 원하는 바에 따라 또한 수행될 수 있다.
단계1201에서, IPRS(821)은 업스트림 포트(117) 및 이와 연관된 다운스트림 포트(121) 사이의 통신들의 프레임 경계에서 일어나도록 다운스트림 스위칭 논리(201)에 의해서 통신 스위치를 조정할 수 있다. 몇몇 실시 예들에 있어서, IPRS(821)은 프레임 경계들의 타이밍을 판단하기 위해 하나 또는 그 이상의 허브 제어기(203)와 인터페이스할 수 있다. 예컨대, 마이크로프레임 타이머가 사용될 수 있다. 몇몇 실시 예들에서, IPRS(821)은 다운스트림 스위칭 논리(201)으로부터의 스위치 요청을 확인하기 위한 시간을 판단하기 위해 USB 스위칭 허브(119)의 다른 부분들과 인터페이스할 수 있다.
단계1203에서, 다운스트림 스위칭 논리(201)는 프레임 경계가 관련 다운스트림 포트(121)로/로부터의 통신들을 위해서 발생하는지의 여부에 관한 표시를 위해 스위칭하기 이전에 IPRS(821)을 체크할 수 있다.
단계 1205에서, IPRS(821)은 하나 또는 그 이상의 다운스트림 포트들(121)에 대한 통신의 스위칭이 진행되는지를 다운스트림 스위칭 논리(201)에 나타낼 수 있다.
도 3, 4a-4b, 5a-5c 및 8을 다시 참조하면, 다운스트림 스위칭 논리(도 3, 도 4a-4b에서 201, 그리고 도 5a-5c에서 401)와 서로에 대한 트랜잭션 변환기 논리(도 3, 도 4a-4b 및 도 8에서 205, 그리고 도 5a-5c에서 405)의 위치들이 역전될 수 있음에 유념해야 할 것이다. 즉, 트랜잭션 변환기 논리는 허브 제어기와 다운스트림 스위칭 논리 사이에서 구성될 수 있다. 또한, 개별적인 트랜잭션 변환기 블록은 각각의 업스트림 포트(및 대응하는 허브 제어기)에 대하여 구성된다. 이러한 구성을 보여주는 대안적인 실시 예들이 도 13, 14a-14b, 15a-15c 및 16에 도시되어 있다.
도 13은 도 3에 도시된 구성의 대안적인 실시 예를 나타낸 도면으로서, 이때 2개의 업스트림 장치들(즉, 컴퓨터 시스템(101) 및 이중 역할 주변 장치(207))이 USB 스위칭 허브(119)에 결합된다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119)는 대응하는 허브 제어기(203a 및 203b)에 각각 결합된 각각의 업스트림 포트(117a 및 117b)에 대한 각각의 트랜잭션 변환기 회로(205a 및 205b)를 포함할 수 있다. 트랜잭션 변환기 회로(205a 및 205b)는 다운스트림 스위칭 논리(201)에 연결되는데, 이는 다운스트림 포트(121)에 전자적으로 결합될 수 있다. 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)는 둘 또는 그 이상의 통신 구성들 사이에 서 스위칭될 수 있다. 도 3의 실시 예에 대하여 설명한 바와 같이, 통신이 디지털 도메인에서 존재하는 동안에 (USB 스위칭 허브(119)로/로부터의 인터페이스들의 결과로서), 통신 구성들은 업스트림 포트들(117)과 다운스트림 포트들(121) 사이의 통신들을 라우팅하는 다운스트림 스위칭 논리(201)에 의해서 구현될 수 있다. 몇몇 실시 예들에 있어서, 통신 구성들(예컨대, USB 스위칭 허브 내에 하드와이어링된)은 USB 스위칭 허브의 논리에 의해서 판단되는 바와 같이 스위칭될 수 있다. 다른 통신 구성 구현들이 또한 고려된다.
도 3의 실시 예에 대하여 또한 설명한 바와 같이, 몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)는 다른 것들 중에서 이중 역할 USB 프린터 혹은 이중 역할 USB DVD(Digital Versatile Disc) 리드/라이트 드라이브를 포함할 수 있다. 몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)는 장치 포트(210)를 통해서 USB 스위칭 허브(119)의 업스트림 포트(예컨대, 업스트림 포트(117b))에 결합 될 수 있다. 이중 역할 주변 장치(207)는 USB 스위칭 허브(119)에 (예컨대, 이중 역할 주변 장치(207)상의 호스트 제어기(209)를 사용하여) 결합된 다른 주변 장치(다운스트림 주변 장치들)와 업스트림 포트(117b)를 통해서 인터페이스할 수 있다. 이중 역할 주변 장치(207)는 또한 종속 제어기를 통해서 다른 업스트림 장치들과 (컴퓨터 시스템(101)와 같은) 인터페이스할 수 있다. 예컨대, 이중 역할 주변 장치(207)는 종속 주변 장치로서 (예컨대, 다운스트림 포트(121c)를 통해) USB 스위칭 허브(119)와 결합될 수 있다. 몇몇 실시 예들에 있어서, USB 스위칭 허브와 결합된 이중 역할 주변 장치(207)는 호스트로서 하나 또는 그 이상의 주변 장치들의 호스트로서 및/또는 개별 호스트에 대한 종속 주변 장치로서 동시에 작용할 수 있다.
몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)는 독립형 시스템으로서 작동하도록(예컨대, PC 중재없이 디지털 카메라와 같은 다른 주변 장치와 통신하도록) 임베디드 호스트 제어기 응용을 갖을 수 있다. 예컨대, 이중 역할 USB 프린터는 PC 중재없이 USB 스위칭 허브(119)상에서 다운스트림 포트(121)에 연결된 디지털 카메라로부터 얻은 영상들을 프린트할 수 있다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119)는 컴퓨터 시스템(101) 또는 이중 역할 주변 장치(207)가 하나 이상의 다운스트림 장치들을 엑세스할 수 있게 (예컨대, 하나 이상의 통신 구성들 사이에서 스위칭함으로써) 할 수 있다.
도 14a 및 14b는 다중의 주변 장치들에 전자적으로 연결된 컴퓨터 시스템의 도 4a 및 4b에 도시된 실시 예들의 대안적인 실시 예들을 도시한 도면들이다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119)는 하나 이상의 다운스트림 포트들을 공유할 수 있는 다중 내부 "허브들"을 결합하는 스위치처럼 작동할 수 있다. 예를 들면, USB 스위칭 허브의 각각의 잠재적인 통신 구성은 내부의 "허브"를 나타낸다. 몇몇 실시 예들에 있어서, 컴퓨터 시스템(101)이 USB 스위칭 허브(119)에 결합된 주변 장치(125)를 (예컨대, 주변 장치(125a)) 엑세스하고 있을 때, 주변 장치들로/로부터의 통신들은 제 1 업스트림 포트(117a), 허브 제어기(203a), 트랜잭션 변환기(205a) 및 다운스트림 포트(121)의 적어도 서브셋으로 구성된 제 1 "허브"를 통해서 처리될 수 있다. 제 2 "허브"는 제 2 업스트림 포트(117b), 허브 제어기(203b), 트랜잭션 변환기(205a) 및 다운스트림 포트(121)의 적어도 서브셋으로 구성될 수 있다. 한 통신 구성에 있어서, 컴퓨터 시스템(101)은 (제 1 "허브"를 통해서) 다운스트림 포트들(121a 및 121c)에 연결되고, 이중 역할 주변 장치(207)는 (제 2 "허브"를 통해서) 다운스트림 포트(121b 및 121d)에 연결될 수 있다(도 14b 참조). 다른 통신 구성들이 또한 고려된다. 몇몇 실시 예들에 있어서, 어떤 다운스트림장치들을 각 업스트림 포트에 결합할지를 지정하는 통신 구성 프로파일들은 하드와이어링되거나 소프트웨어에 의해서 구현된다. 예를 들면, 만일 소프트웨어에 의해 구현되면, 각각의 업스트림 포트(및/또는 업스트림 장치)에 대한 통신 구성 프로파일들은 USB 스위칭 허브(119)에 대하여 엑세스가능한 메모리에 저장된다.
몇몇 실시 예들에 있어서, 컴퓨터 시스템(101)과 이중 역할 주변 장치(207)는 USB 스위칭 허브(119)를 통해서 별도의 다운스트림장치들과 동시에 통신할 수 있다. 예컨대, 컴퓨터 시스템(101)이 장치(125a)와 (예컨대, 제 1 "허브"를 통해서) 통신하는 동안에, 이중 역할 주변 장치(207)는 장치(125b)와 (예컨대, 제 2 "허브"를 통해서) 통신할 수 있다. 몇몇 실시 예들에 있어서, 주변 장치(125a)가 제 1 "허브"를 통해서 엑세스되고 있는 동안에, 다른 업스트림 장치는 주변 장치(125a)에 엑세스가 불가능할 수 있다(예컨대, 주변 장치(125a)가 컴퓨터 시스템(101)에 의해 사용되고 있는 동안, 이중 역할 주변 장치(207)는 주변 장치(125a)를 엑세스할 수 없을 수 있다). 몇몇 실시 예들에 있어서, 신호는 (예컨대, 외부 제어 블록으로부터의) 제 1 "허브" 상에서의 다운스트림 포트(121)의 서브셋을 위한 (예컨대, 다운스트림 포트(121a) 및/또는 (121c)) 엑세스를 제 2 "허브"로의 스위칭을 위해 다운스트림 스위칭 논리(201)를 트리거시킬 수 있다. 몇몇 실시 예들 에 있어서, 이중 역할 주변 장치(207)는 USB 스위칭 허브(119)로 제어 신호를 전송할 수 있다. USB 스위칭 허브(119)는 하나 이상의 다운스트림 포트들을 이중 역할 주변 장치에 연결하도록 연결시키기 위해 통신 구성을 스위칭할 수 있다. 예컨대, 사용자가 이중 역할 주변 장치(207)의 (예컨대, 이중 역할 프린터) 버튼을 누르는 경우, 컴퓨터 시스템(101)로부터 이중 역할 주변 장치(207)로의 장치(125a)의 엑세스를 스위칭하도록 (즉, 도 14b에 도시한 바와 같이 제 2 통신 구성으로 스위칭하도록) 모드(211)를 통해 다운스트림 스위칭 논리(201)로 신호가 전송될 수 있다. 컴퓨터 시스템(101)은 다운스트림 포트(121c) (및/또는 제 2 통신 구성에 의해서 결정되는 바와 같이 다른 다운스트림 포트들)과의 통신을 계속해서 할 수 있다.
몇몇 실시 예들에 있어서, 이중 역할 주변 장치(207)와 다운스트림 포트 사이에서 활동이 더이상 검출되지 않는 경우 (예컨대, 만일 이중 역할 주변 장치(207)가 턴 오프되면), 다운스트림 스위칭 논리(201)은 컴퓨터 시스템(101)에 대한 다운스트림 포트의 엑세스를 스위칭할 수 있다 (즉, 각기 다른 통신 구성으로 스위칭한다). 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)는 다른 업스트림 장치에 대한 다운스트림 포트의 엑세스를 스위칭할 수 있다. 몇몇 실시 예들에 있어서, 비활동의 검출 대신에, 이중 역할 주변 장치(207)로부터의 신호가 스위칭을 위해 USB 스위칭 허브(119)를 시그널링할 수 있다. 다른 신호들 및/또는 논리는 또한 언제 통신 구성들을 스위칭할지를 판단할 때 사용될 수 있다.
몇몇 실시 예들에 있어서, 통신 구성들은 소프트웨어로 구현될 수 있다. 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)에 결합되거나 포함된 마이크 로프로세서는 예컨대, 다이내믹한 통신 구성 프로파일을 사용하여, 어떤 다운스트림 포트들이 각각의 업스트림 포트에 전기적으로 결합되어야 할지를 다이내믹하게 판단할 수 있다. 예를 들면, 마이크로프로세서는 저장된 통신 구성 프로파일을 독출하고, 통신 구성 프로파일에 따라서 업스트림 포트들을 다운스트림 포트에 연결하도록 시도한다. 통신 구성 프로파일들은 USB 스위칭 허브(119)와 결합된 메모리(예컨대, EEPROM)에 저장될 수 있다. 몇몇 실시 예들에 있어서, USB 스위칭 허브(119) 상에 있는 허브 제어기들(203)은 통신 구성 프로파일에 엑세스할 수 있다.
몇몇 실시 예들에 있어서, 우선권 논리가 통신 구성들을 스위칭하기 위해 사용될 수 있다. 우선권 논리 혹은 엑세스를 허용하기 위해 사용되는 다른 논리는 USB 스위칭 허브(119)의 내부 또는 외부에 존재할 수 있다. 몇몇 실시 예들에 있어서, 하나 이상의 다운스트림 포트들(121)의 엑세스를 스위하기 위해 이중 역할 주변 장치(207)로부터 이중 역할 주변 장치(207)로 외부 제어 신호가 보내질 때까지, 컴퓨터 시스템(101)에 모든 다운스트림 포트들(121)에 대한 우선권이 주어진다. 몇몇 실시 예들에서, 다른 제어 신호들이 다른 통신 구성들을 트리거하기 위해 전송될 수 있다 (즉, 이중 역할 주변 장치로 다른 다운스트림 포트들의 엑세스를 스위칭하기 위해).
몇몇 실시 예들에 있어서, 어떤 통신 구성을 사용하지를 판단하기 위해 호스트 협상 논리가 사용될 수 있다. 몇몇 실시 예들에 있어서, 다중의 업스트림 장치들이 동일한 다운스트림 포트의 엑세스를 "요청"할 때까지 디폴트 통신 구성이 사용될 수 있다. 호스트 협상 논리가 사용될 수 있다(즉, 통신 구성은 특정 업스트림 포트에 "요청된" 다운스트림 포트에 대한 엑세스를 부여한다) .
몇몇 실시 예들에 있어서, USB 스위칭 허브(119)에 있는 마이크로프로세서는 다운스트림 주변 장치들을 자동 탐지하고 다운스트림 주변 장치들을 어떻게 연결해야할지를 판단하는 빌트 인 알고리즘을 포함할 수 있다. 예를 들면, 특정한 다운스트림 포트를 업스트림 포트에 할당하는 대신에, 통신 구성 프로파일은 업스트림 포트가 하나가 부착되면 디지털 카메라를 엑세스해야 할지를 명시할 수 있다. 알고리즘은 디지털 카메라가 다운스트림 포트들중 하나에 부착되었을 때 디지털 카메라를 자동으로 검출하고 적절한 업스트림 포트에 부착시킬 수 있다. (즉, 적당한 통신 구성으로 스위칭함으로써) 몇몇 실시 예들에 있어서, 다운스트림 스위칭 논리(201)가 통신 구성들을 스위칭하여 다운스트림 포트의 제어가 컴퓨터 시스템(101)로부터 이중 역할 주변 장치(207)로 스위칭되는 경우, 컴퓨터 시스템(101)과 각각의 주변 장치(125) (스위치될 다운스트림 포트에 결합됨) 사이의 연결은 컴퓨터 시스템(101)에 의해서 종료될 수 있다. 몇몇 실시 예들에 있어서, 스위칭될 다운스트림 포트와 컴퓨터 시스템(101) 사이의 통신은 USB 스위칭 허브(119)에 의해서 종료될 수 있다. 이중 역할 주변 장치(207)는 이어 스위칭된 다운스트림 포트에 연결된 각각의 주변 장치(125)와 연결, 열거, 및 통신할 수 있다.
업스트림 장치들은 부착되지 않은 포트들(즉, 활성된 그러나, 장치가 연결되지 않은)로서 부착하도록 구성되지 않았다는 것을 다운스트림 포트들을 알아 볼 수 있다. 몇몇 실시 예들에 있어서, 만일 소정 갯수의 다운스트림 포트들이 특정 업스트림 포트(예컨대, 번호 "x" 포트들)에 언제고 부착될 예정이라면, 업스트림 장치 는 허브가 단지 x 포트들을 갖는 것으로 시그널링될 수 있다. 예를 들면, 만일 업스트림 포트(117b)가 단지 다운스트림 포트들(121c,121d)에 부착되게 구성될 예정이라면, 업스트림 포트(117b)에 부착된 장치는 USB 스위칭 허브(119)가 단지 2 포트 허브라는 것으로 시그널링될 수 있다.
도 15a,15b 및 15c는 컴퓨터 시스템(101)의 도 5a,5b 및 5c에 도시된 실시 예들의 여러가지 대안적인 실시예들 및 USB 스위칭 허브(419)에 결합된 2개의 듀어 롤 주변 장치들을 도시한 도면들이다. 몇몇 실시 예들에 있어서, 다중의 이중 역할 주변 장치들은 USB 스위칭 허브(419)와 결합될 수 있다. 이중 역할 프린터(407)는 업스트림 포트(417b)를 통해서 USB 스위칭 허브(419)와 결합되고, 이중 역할 DVD 리드/라이트 드라이브(467)는 업스트림 포트(417c)를 통해서 USB 스위칭 허브(419)와 결합된다. 컴퓨터 시스템(101)은 업스트림 포트(417a)를 통해서 USB 스위칭 허브(419)와 결합된다. 각각의 업스트림 장치는 각각의 허브 제어기(403)(도시된 바와 같이, 403a, 403b 및 403c), 각각의 트랜잭션 변환기(405)(도시된 바와 같이, 405a,405b,405c) 및 다운스트림 스위치 논리(401)와 결합된다. 다운스트림 스위칭 논리(401)는 각각의 다운스트림 장치(즉, 컴퓨터 시스템(101), 이중 역할 프린터(407) 또는 이중 역할 DVD 리드/라이트 드라이브(467))와 주변 장치들(425)의 적어도 서브셋 사이의 통신들을 구성할 수 있다.
도 15a에 도시된 바와 같이, 하나의 통신 구성 프로파일에 있어서, 컴퓨터 시스템(101)은 다운스트림 포트들(421a, 421b, 421e, 및 421f)에 연결된다. 실시 예에 있어서, 이중 역할 프린터(407)는 다운스트림 포트(421c)를 엑세스할 수 있도 록 구성되고, DVD 리드/라이트 드라이브(467)는 다운스트림 포트(421)를 엑세스하지 못하도록 구성될 수 있다. 이중 역할 프린터(407)는 몇몇 다른 방법들을 통해서 다운스트림 포트(421b)에 대한 엑세스를 얻을 수 있다(즉, 엑세스를 부여하도록 스위칭된 통신 구성을 갖게 하여). 예를 들면, 사용자는 이중 역할 프린터(407) 상의 버튼을 누를 수 있다. 그러면, 모드(411)를 통해서 USB 스위칭 허브(419)에 있는 다운스트림 스위칭 논리(401)로 신호가 전송된다. 다운스트림 스위칭 논리(401)는 도 15b에 도시된 통신 구성으로 (이중 역할 프린터(407)로 하여금 다운스트림 포트(421b) 엑세스를 허용하는) 스위칭될 수 있다. 몇몇 실시 예들에 있어서, 만일 이중 역할 프린터(407)가 꺼지거나 혹은 비활성화되면, 다운스트림 스위칭 논리(401)는 컴퓨터 시스템(101) 뒤로 다운스트림 포트(421b)의 엑세스를 스위칭할 수 있다(즉, 이전의 통신 구성으로 스위칭 백한다). 도 15c에 도시된 바와 같이, 하나의 통신 구성에 있어서, 업스트림 포트들중 어느것도 다운스트림 포트들에 대한 엑세스가 허용되지 않을 수 있다.
도 16은 도 8에 도시된 다중 상태 레지스터들을 구비한 USB 스위칭 허브의 대안적인 실시 예를 도시한 도면이다. 이 실시 예에 있어서, 각각의 허브 제어기(203a 및 203b)는 대응하는 트랜잭션 변환기 회로(각각 205a 및205b)와 결합된다. 변환기 회로(205a 및 205b)는 다운스트림 스위칭 논리(201)에 연결되는데, 이는 다운스트림 포트들(121a, 121b, 121c, 및 121d)에 전기적으로 연결된다. 스위칭 허브(119)는 도 8에 도시된 스위칭 허브(119)의 실시 예에 대하여 설명하는 바와 같이 동일한 원리와 절차들에 따라서 작동한다.
도 17은 도 13에 도시된 구성의 다른 실시 예를 도시한 도면이며, 이때 2개의 업스트림 장치들(예컨대, 컴퓨터 시스템(101) 및 이중 역할 주변 장치(207))은 USB 스위칭 허브(119)와 결합된다. 도 13의 실시 예에서 (그리고 도 3, 도 4a-4b 및 도 14a-14b에 도시된 실시 예에서), USB 스위칭 허브(119)의 다운스트림 제어는 이중 역할 장치(207)에 링크되는 반면에, 대안적인 실시 예들은 다른 스위칭 제어 수단들을 구비하도록 구성된다. 예를 들면, 도 17에 도시된 바와 같이, USB 스위칭 허브(119)의 스위칭 제어는 예를 들어 전용의 다운스트림 포트(121e)와 같은 전용의 다운스트림 포트와 결합된 예를 들어 HD 클래스 장치(125e)와 같은 전용 다운스트림장치를 사용하여 수행될 수 있다. 다른 제어 기구는 도 17에 도시된 구성(예를 들면 허브 제어기(203a 또는 203b)의 체계 내에서 허브 제어기 레벨로 구성된 추가적인 HID 장치(도시되지 않음)를 포함할 수 있다. 그러나, USB 스위칭 허브(119)의 스위칭을 제어하기 위한 추가적인 HID 장치의 구동은 커스톰 드라이버들 및 허브 클래스에 대한 USB-IF 등급 연장을 필요로 하는데, 이는 공급자-특정 구현하에서 커버될 수 있다. HID 이외의 다른 기구들이 세미-커스톰 허브 드라이버와 함께 사용될 수 있다. 이와는 달리, 허브 제어기와 HID 제어기를 포함하는 복합 장치는, HID 제어기/HUB 제어기 복합 장치들(204a 및 204b)로서 도 17에 도시된 USB 스위칭 허브(119)의 스위칭을 제어하도록 구성된다. 도 17은 USB 스위칭 허브(119)의 스위칭을 제어하기 위한 가능한 제어 기구들과 연관된 여러가지의 구성들을 나타내었지만, 여러가지 실시 예들은 이러한 구성들 및/또는 기구들중 단지 하나 혹은 소정의 조합만을 포함하게 된다.
본 발명의 여러 실시 양태들의 변경이나 대안적인 실시 예들은 상기 명세서를 통해서 해당 기술분야의 숙련된 당업자에게 명백하게 밝혀질 것이다. 따라서, 본 명세서는 단지 설명을 위해서 구성되며, 해당 기술분야의 숙련된 당업자에게 본 발명을 수행하기 위한 일반적인 방식을 가르치기 위한 목적으로 제공된 것이다. 여기에서 도시하고 설명한 본 발명의 형태들은 실시 예로서 취해진 것임을 이해하여야 한다. 요소와 재료들은 여기에서 설명을 위해서 사용되었으며, 부품들과 공정들은 역전될 수 있고, 본 발명의 일정 특징들은 독립적으로 이용이 가능하며, 본 발명의 명세서를 통해서 얻는 장점들은 해당 기술분야의 숙련된 당업자에게는 명백하게 밝혀질 것이다. 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역을 벗어나지 않는 범위 내에서 여기에 설명한 요소들의 변화가 이루어질 수 있다.

Claims (22)

  1. USB 스위칭 허브로서,
    다수의 업스트림 포트들;
    다수 N개의 다운스트림 포트들; 그리고
    상기 다수의 업스트림 포트들과 상기 다수의 다운스트림 포트들 사이에 연결된 다운스트림 스위칭 논리;를 포함하며,
    상기 다운스트림 스위칭 논리는, a) 상기 다수의 다운스트림 포트들의 다운스트림 포트 및 상기 다수의 업스트림 포트들의 제 1 업스트림 포트와, b) 상기 다수의 다운스트림 포트들의 상기 다운스트림 포트와 상기 다수의 업스트림 포트들의 제 2 업스트림 포트 사이의 통신들을 전자적으로 스위칭하도록 구성되고;
    상기 USB 스위칭 허브는 상기 다수의 업스트림 포트들의 각각을 통해서 대략적으로 유사한 허브 구성으로 열거하도록 구성되며;
    상기 허브 구성은 N개의 다운스트림 포트들을 포함하는 USB 스위칭 허브.
  2. 제 1 항에 있어서, 통신들이 스위칭되는 경우, 상기 제 1 업스트림 포트 및 상기 제 2 다운스트림 포트와 결합된 업스트림 장치들은, 상기 USB 스위칭 허브를 재-열거할 것을 요구 받지 않는 것을 특징으로 하는 USB 스위칭 허브.
  3. 제 1 항에 있어서, 상기 제 1 업스트림 포트 혹은 상기 제 2 업스트림 포트 와 결합된 업스트림 장치는, 상기 USB 스위칭 허브를 상기 다수의 다운스트림 포트들의 총 수로 열거하도록 작동할 수 있는 것을 특징으로 하는 USB 스위칭 허브.
  4. 제 1 항에 있어서, 상기 다수의 업스트림 포트들의 각각과 결합된 별도의 허브 제어기를 더 포함하는 것을 특징으로 하는 USB 스위칭 허브.
  5. 제 4 항에 있어서, 상기 허브 제어기들의 각각과 결합된 상태 레지스터들의 별도의 세트를 더 포함하는 것을 특징으로 하는 USB 스위칭 허브.
  6. 제 5 항에 있어서, 주변 장치를 위한 통신들이 스위칭되는 경우, 상기 주변 장치는 상기 제 1 업스트림 포트와의 연결이 해제되고, 연결 이벤트가 상기 제 2 업스트림 포트의 대응하는 상태 레지스터 상에 레지스터되며, 상기 대응하는 상태 레지스터는 상기 주변 장치와 결합된 다운스트림 포트와 연관되는 것을 특징으로 하는 USB 스위칭 허브.
  7. 제 6 항에 있어서, 상기 제 2 업스트림 포트와 결합된 업스트림 장치를 더 포함하며, 상기 제 2 업스트림 포트와 결합된 업스트림 장치는 상기 대응하는 상태 레지스터를 독출하는 중 상기 제 2 업스트림 포트에 스위칭되고 있는 상기 주변 장치의 리셋을 시도하는 것을 특징으로 하는 USB 스위칭 허브.
  8. 제 4 항에 있어서, 각각의 허브 제어기는 상기 허브가 초기에 열거되는 경우에 동일한 허브 구성을 구비하는 것을 특징으로 하는 USB 스위칭 허브.
  9. 제 1 항에 있어서, 상기 USB 스위칭 허브는, 상기 다수의 업스트림 포트들이 별도의 다운스트림 포트들을 동시에 엑세스할 수 있도록 구성되는 것을 특징으로 하는 USB 스위칭 허브.
  10. 제 1 항에 있어서, 상기 다운스트림 스위칭 논리와 결합되는 지능형 포트 라우팅 스위치를 더 포함하는 것을 특징으로 하는 USB 스위칭 허브.
  11. 제 10 항에 있어서, 상기 지능형 포트 라우팅 스위치는, 상기 다운스트림 포트와 상기 제 1 업스트림 포트 사이에서 진행 중인 활성 전송이 존재하는 경우에, 상기 다운스트림 포트의 통신들의 스위칭을 지연시키는 것을 특징으로 하는 USB 스위칭 허브.
  12. 제 10 항에 있어서, 상기 지능형 포트 라우팅 스위치는, 만일 상기 다운스트림 포트와 상기 제 2 업스트림 포트 사이에 진행 중인 활성 전송이 존재하는 경우에, 상기 다운스트림 포트의 통신들의 스위칭을 지연시키는 것을 특징으로 하는 USB 스위칭 허브.
  13. 방법으로서,
    USB 스위칭 허브의 다운스트림 포트에 주변 장치를 결합시키는 단계;
    상기 USB 스위칭 허브의 제 1 업스트림 포트에 제 1 업스트림 장치를 결합시키는 단계;
    상기 USB 스위칭 허브의 제 2 업스트림 포트에 제 2 업스트림 장치를 결합시키는 단계;
    상기 제 1 업스트림 장치가, 상기 USB 스위칭 허브에 대한 제 1 허브 구성을 사용하여 상기 USB 스위칭 허브를 열거하는 단계;
    상기 제 2 업스트림 장치가, 상기 USB 스위칭 허브에 대한 제 1 허브 구성과 대략적으로 유사한 허브 구성을 사용하여 상기 USB 스위칭 허브를 열거하는 단계; 그리고
    상기 주변 장치 및 상기 제 1 업스트림 포트 사이의 통신들을 상기 주변 장치 및 상기 제 2 업스트림 포트 사이의 통신들을 스위칭하는 단계;를 포함하는 방법.
  14. 제 13 항에 있어서, 상기 제 2 업스트림 장치는 통신들이 스위칭되는 경우에 상기 USB 스위칭 허브를 재-열거할 것을 요구 받지 않는 것을 특징으로 하는 방법.
  15. 제 13 항에 있어서, 상기 스위칭된 다운스트림 포트에 대하여, 상기 제 1 업스트림 포트와 결합된 상태 레지스터 상에서 연결해제 상태를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 13 항에 있어서, 상기 스위칭된 다운스트림 포트에 대하여, 상기 제 2 업스트림 포트와 결합된 상태 레지스터 상에 연결 이벤트을 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 13 항에 있어서, 상기 다운스트림 포트와 상기 제 1 업스트림 포트 사이에 진행 중인 활성 전달이 존재하는 경우에 상기 다운스트림 포트의 통신들의 스위칭을 지연시키는 단계를 더 포함하며, 상기 통신들의 스위칭은 지능형 포트 라우팅 스위치에 의해서 지연되는 것을 특징으로 하는 방법.
  18. 제 13 항에 있어서, 상기 다운스트림 포트와 상기 제 2 업스트림 포트 사이에서 진행 중인 활성 전송이 존재하는 경우에 상기 다운스트림 포트의 통신들의 스위칭을 지연하는 단계를 더 포함하며, 상기 통신들의 스위칭은 지능형 포트 라우팅 스위치에 의해서 지연되는 것을 특징으로 하는 방법.
  19. 시스템으로서,
    USB 스위칭 허브로서,
    다수의 업스트림 포트들;
    다수의 다운스트림 포트들;
    상기 다수의 업스트림 포트들과 상기 다수의 다운스트림 포트들 사이에 결합된 다운스트림 스위칭 논리;
    상기 다수의 업스트림 포트들의 각각에 결합된 별도의 허브 제어기; 및
    각각의 별도 허브 제어기에 결합된 상태 레지스터들의 별도 세트;를 포함하는 USB 스위칭 허브와, 그리고
    다수의 업스트림 장치들로, 상기 다수의 업스트림 장치들의 각각은 상기 USB 스위칭 허브의 다수의 업스트림 포트들의 각각에 결합되는, 다수의 업스트림 장치들;을 포함하며,
    상기 USB 스위칭 허브는, 상기 다수의 업스트림 포트들의 각각에 결합된 상기 다수의 업스트림 장치들의 각각에 의해서, 대략적으로 유사한 허브 구성으로 열거되도록 구성되며,
    상기 다수의 다운스트림 포트들의 서브셋 및 상기 다수의 업스트림 포트들의 제 1 업스트림 포트와 상기 다수의 업스트림 포트들의 제 2 업스트림 포트 사이 통신들의 스위칭은, 상기 제 1 업스트림 포트의 허브 제어기에 결합된 상태 레지스터 상에서 연결해제 상태를 나타내는 과정과, 상기 제 2 업스트림 포트의 허브 제어기에 결합된 상기 상태 레지스터 상에 연결 이벤트를 나타내는 과정을 포함하는 시스템.
  20. 제 19 항에 있어서, 상기 USB 스위칭 허브에 있어서, 상기 다수의 업스트림 장치들의 제 1 업스트림 장치는 상기 제 1 업스트림 포트에 결합되고, 상기 다수의 업스트림 장치들의 제 2 업스트림 장치는 상기 제 2 업스트림 포트에 결합되며, 상 기 제 1 업스트림 장치와 상기 제 2 업스트림 장치는 상기 다수의 다운스트림 포트들의 서브셋 사이에서의 통신들이 상기 제 1 업스트림 포트로부터 상기 제 2 업스트림 포트로 스위칭되는 경우에 상기 USB 스위칭 허브를 재-열거할 필요가 없는 것을 특징으로 하는 시스템.
  21. 제 19 항에 있어서, 상기 USB 스위칭 허브에 있어서, 상기 다운스트림 포트와 상기 제 1 업스트림 포트 사이에서 진행 중인 활성 전송이 존재하는 경우에 상기 다수의 다운스트림 포트의 서브셋의 통신들의 스위칭을 지연하는 과정을 더 포함하며, 이때 상기 통신들의 스위칭은 지능형 포트 라우팅 스위치에 의해서 지연되는 것을 특징으로 하는 시스템.
  22. 제 19 항에 있어서, 상기 USB 스위칭 허브에 있어서, 만일 상기 다수의 다운스트림 포트들의 서브셋의 적어도 하나의 다운스트림 포트와 상기 제 2 업스트림 포트 사이에서 진행 중인 활성 전송이 존재하는 경우에, 상기 다수의 다운스트림 포트의 통신들의 스위칭을 지연시키는 과정을 더 포함하며, 상기 통신들의 스위칭은 지능형 포트 라우팅 스위치에 의해서 지연되는 것을 특징으로 하는 시스템.
KR1020077025719A 2005-04-06 2006-04-06 주변 장치 공유 usb 허브 KR20070118691A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/100,299 2005-04-06
US11/100,299 US20060056401A1 (en) 2004-09-14 2005-04-06 Peripheral sharing USB hub

Publications (1)

Publication Number Publication Date
KR20070118691A true KR20070118691A (ko) 2007-12-17

Family

ID=36886665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077025719A KR20070118691A (ko) 2005-04-06 2006-04-06 주변 장치 공유 usb 허브

Country Status (5)

Country Link
US (1) US20060056401A1 (ko)
EP (1) EP1877912A2 (ko)
JP (1) JP2008536225A (ko)
KR (1) KR20070118691A (ko)
WO (1) WO2006108174A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013089789A1 (en) * 2011-12-16 2013-06-20 Intel Corporation Automatic downstream to upstream mode switching at a universal serial bus physical layer

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185126B2 (en) * 2003-02-24 2007-02-27 Standard Microsystems Corporation Universal serial bus hub with shared transaction translator memory
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US20060227759A1 (en) * 2004-09-14 2006-10-12 Bohm Mark R Peripheral Sharing USB Hub
US20060059293A1 (en) * 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US7433990B2 (en) * 2006-01-24 2008-10-07 Standard Microsystems Corporation Transferring system information via universal serial bus (USB)
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
US7523243B2 (en) * 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US20070255869A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Device evaluation using automatic connection path reconfiguration
US7480753B2 (en) * 2006-04-27 2009-01-20 Standard Microsystems Corporation Switching upstream and downstream logic between ports in a universal serial bus hub
US20080005262A1 (en) * 2006-06-16 2008-01-03 Henry Wurzburg Peripheral Sharing USB Hub for a Wireless Host
US7904610B2 (en) * 2006-06-21 2011-03-08 Microsoft Corporation Controlling a device connected to first and second communication path wherein device is also connected to third communication path via a bypass link
DE602007004041D1 (de) 2006-08-11 2010-02-11 Brother Ind Ltd Endgerät
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US20090063717A1 (en) * 2007-08-28 2009-03-05 Bohm Mark R Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface
US8090894B1 (en) * 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US8150452B2 (en) * 2007-11-16 2012-04-03 Standard Microsystems Corporation Providing a connection between a memory medium of a mobile device and an external device
US7986962B2 (en) * 2007-11-16 2011-07-26 Standard Microsystems Corporation Providing a high-speed connection between a memory medium of a mobile device and an external device
EP2073598B1 (en) 2007-12-21 2017-10-04 Telefonaktiebolaget LM Ericsson (publ) Technique for providing network access to different entities
EP2073597A1 (en) * 2007-12-21 2009-06-24 Telefonaktiebolaget L M Ericsson (Publ) Technique for providing network access via multiple mobile platforms
EP2073128B1 (en) * 2007-12-21 2014-04-09 Telefonaktiebolaget LM Ericsson (publ) Technique for interconnecting functional modules of an apparatus
JP2009266178A (ja) * 2008-04-30 2009-11-12 Fujitsu Ltd 中継装置および中継システム
KR20090128814A (ko) * 2008-06-11 2009-12-16 삼성전자주식회사 포트 선택기, 이를 이용한 디바이스 평가 시스템 및 방법
JP2010251319A (ja) 2009-04-15 2010-11-04 Chou Hsien Tsai 双方向電気的連接が可能なソケット構造
US8612352B2 (en) 2010-10-13 2013-12-17 Square, Inc. Decoding systems with a decoding engine running on a mobile device and coupled to a payment system that includes identifying information of second parties qualified to conduct business with the payment system
US8447890B1 (en) * 2009-10-30 2013-05-21 Cypress Semiconductor Corporation Operation of multiple masters/hosts through a hub
US8135883B2 (en) * 2010-01-19 2012-03-13 Standard Microsystems Corporation USB hub apparatus supporting multiple high speed devices and a single super speed device
US8886849B2 (en) 2012-05-11 2014-11-11 Apple Inc. Multi-mode adapter
CN103460650B (zh) * 2011-03-15 2016-05-25 欧姆龙株式会社 网络系统、主机及网络系统的控制方法
US8799532B2 (en) 2011-07-07 2014-08-05 Smsc Holdings S.A.R.L. High speed USB hub with full speed to high speed transaction translator
US8762605B2 (en) 2011-11-30 2014-06-24 Apple Inc. Adapter for electronic devices
JP5763519B2 (ja) * 2011-12-28 2015-08-12 ルネサスエレクトロニクス株式会社 Usbハブコントローラ、usbホストコントローラ、およびシステム
FR2987471B1 (fr) * 2012-02-23 2015-03-27 Edevice Equipement electronique pour la replication de ports et le routage de signaux numeriques
WO2013127413A1 (de) * 2012-03-02 2013-09-06 Siemens Enterprise Communications Gmbh & Co.Kg Kopplungseinrichtung und verfahren zum dynamischen belegen von usb-endpunkten einer usb-schnittstelle sowie börsen-tradingsystem-endgerät mit kopplungseinrichtung
US10007296B2 (en) * 2012-08-18 2018-06-26 David Hume Reconfigurable computer docking station
US9021159B2 (en) 2012-09-07 2015-04-28 Apple Inc. Connector adapter
US9459670B2 (en) 2012-09-07 2016-10-04 Apple Inc. Adapter for use with a portable electronic device
TWI598738B (zh) * 2012-12-24 2017-09-11 宏碁股份有限公司 介面擴充裝置
US9460037B2 (en) 2013-09-26 2016-10-04 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
US9645962B2 (en) 2013-09-26 2017-05-09 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
EP2899643A1 (en) * 2014-01-22 2015-07-29 Harman Becker Automotive Systems GmbH Multimedia switch box
EP2899641B1 (en) * 2014-01-22 2018-08-22 Harman Becker Automotive Systems GmbH Multimedia USB device server
US10127181B2 (en) 2014-04-30 2018-11-13 Microchip Technology Incorporated Port disconnect charging function for USB hub
US9971395B2 (en) 2014-08-20 2018-05-15 Microchip Technology Incorporated Low power connection detect method and system for USB charging
US10042784B2 (en) 2014-10-13 2018-08-07 Microchip Technology Incorporated Side channel access through USB streams
US9804977B2 (en) 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
US10182328B1 (en) 2015-05-23 2019-01-15 Square, Inc. Point of sale (POS) device responsive to detected interference with antenna
US10191874B2 (en) 2015-12-22 2019-01-29 Microchip Technology Incorporated Method and apparatus for providing USB power delivery negotiated through a dedicated transmission channel
EP3433750A4 (en) * 2016-07-13 2019-10-09 Hewlett-Packard Development Company, L.P. TRANSMISSION OF SIGNALS BY USB PORTS
US10162788B2 (en) * 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
US10733589B2 (en) 2017-04-28 2020-08-04 Square, Inc. Point of sale device power management and under voltage protection
US10579566B2 (en) * 2017-04-28 2020-03-03 Square, Inc. Point of sale device with switchable internal connection roles
US11257058B1 (en) * 2017-10-30 2022-02-22 Square, Inc. Sharing output device between unsecured processor and secured processor
US10970698B1 (en) * 2017-12-08 2021-04-06 Square, Inc. Reader detection signal bypassing secure processor
CN111339014A (zh) * 2020-03-02 2020-06-26 芯启源(上海)半导体科技有限公司 一种usb设备共享装置
DE102022115191A1 (de) 2022-06-17 2023-12-28 Cariad Se Verfahren und Kraftfahrzeug-Steuergerät zum zyklischen Erzeugen von aktuellen Beobachtungsdaten zumindest einer ermittelten Beobachtungsgröße, die in einem Datennetzwerk eines Kraftfahrzeugs verteilt werden

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6308239B1 (en) * 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US5978389A (en) * 1998-03-12 1999-11-02 Aten International Co., Ltd. Multiplex device for monitoring computer video signals
JP2000076038A (ja) * 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
US6141719A (en) * 1998-12-10 2000-10-31 Network Technologies, Inc. USB selector switch
US6324605B1 (en) * 1998-12-10 2001-11-27 Network Technologies, Inc. Computer and peripheral switch with USB
GB9909849D0 (en) * 1999-04-28 1999-06-23 Adder Tech Ltd Usb switching device and system
JP2000316006A (ja) * 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
TW435758U (en) * 1999-05-28 2001-05-16 Aten Int Co Ltd Electronic switching apparatus for general-purpose sequential bus interface
US6775733B2 (en) * 2001-06-04 2004-08-10 Winbond Electronics Corp. Interface for USB host controller and root hub
US7873028B2 (en) * 2002-01-25 2011-01-18 Quanta Computer, Inc. Method and apparatus for a flexible peripheral access router
JP2004005541A (ja) * 2002-04-16 2004-01-08 Canon Inc データ転送装置、データ転送方法、プログラム及び記録媒体
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
US7293118B1 (en) * 2002-09-27 2007-11-06 Cypress Semiconductor Corporation Apparatus and method for dynamically providing hub or host operations
US20040111544A1 (en) * 2002-12-09 2004-06-10 Bennett Dwayne H. Method and apparatus for driving two identical devices with a single UBS port
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
JP2006238413A (ja) * 2005-01-27 2006-09-07 Nec Electronics Corp Usbハブ、usb対応装置及び通信システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013089789A1 (en) * 2011-12-16 2013-06-20 Intel Corporation Automatic downstream to upstream mode switching at a universal serial bus physical layer
US9864711B2 (en) 2011-12-16 2018-01-09 Intel Corporation Automatic downstream to upstream mode switching at a universal serial bus physical layer

Also Published As

Publication number Publication date
JP2008536225A (ja) 2008-09-04
EP1877912A2 (en) 2008-01-16
WO2006108174A3 (en) 2006-11-30
US20060056401A1 (en) 2006-03-16
WO2006108174A2 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
KR20070118691A (ko) 주변 장치 공유 usb 허브
US20060227759A1 (en) Peripheral Sharing USB Hub
US20060059293A1 (en) Universal serial bus switching hub
US7478191B2 (en) Method for automatically switching USB peripherals between USB hosts
US8180947B2 (en) USB on-the-go controller
US7895386B2 (en) USB interface provided with host/device function and its control method
US7627708B2 (en) Multi-host USB device
US8572420B2 (en) Power managed USB for computing applications using a controller
US6363439B1 (en) System and method for point-to-point serial communication between a system interface device and a bus interface device in a computer system
US6148356A (en) Scalable computer system
JP2006500679A (ja) Usb接続のためのインタフェース集積回路デバイス
US20020144033A1 (en) Method and apparatus to maximize bandwidth availability to USB devices
JP2000196648A (ja) 電子機器制御方法および電子機器制御装置
EP1516261B1 (en) Bus system, station for use in a bus system, and bus interface
US6871252B1 (en) Method and apparatus for logical detach for a hot-plug-in data bus
JP2005078630A (ja) 複数のcpuシステムにおけるデバイスの共有方法及び装置
EP1817677B1 (en) Usb on-the-go controller
KR100602204B1 (ko) 메인 제어부와 부 제어부로 구성된 제어 시스템 및 버스연결 방법
JP2671743B2 (ja) マイクロコンピュータ
JP2001027920A (ja) バスブリッジ回路及びそのパワーマネージメント方法
KR20120019188A (ko) Usb 호스트 및 usb 디바이스 간의 전환이 가능한 멀티미디어 시스템
KR20050056213A (ko) 인터페이스 집적 회로, 전자 장치, 전자 시스템 및 usb시스템의 인터페이스 집적 회로 동작 방법
JP2001325049A (ja) インタフェース装置および出力装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application