throbber
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`US007433991B2
`
`lI2~ United States Patent
`Fujita et al.
`
`(10) Patent No. :
`(45) Date of Patent:
`
`US 7, 433, 991 B2
`Oct. 7, 2008
`
`(54) SELECTOR, SELECTION METHOD, AND
`PROGRAMPRODUCT
`
`(75)
`
`Inventors: Kenichi Fujita, Shinagawa (JP);
`Masanobu Hayama, Shinagawa (JP);
`Katsuji Ideura, Shinagawa (JP);
`Kazuhiro Yasuno, Shinagawa (JP);
`Masayuki Kuribayashi, Shinagawa (JP)
`
`(73) Assignee: Fujitsu Component Limited, Tokyo
`(JP)
`
`6, 708, 231 Bl *
`6, 934, 793 B2 *
`2003/0110328 Al *
`2003/0131127 Al *
`2003/0191878 Al *
`2003/0222801 Al *
`2003/0226137 Al *
`2004/0075638 Al *
`2005/0273312 Al *
`
`3/2004
`8/2005
`6/2003
`7/2003
`10/2003
`12/2003
`12/2003
`4/2004
`12/2005
`
`. . . . . . . . .
`
`Kitagawa
`Ying et al.
`Seki et al. . . . . . . . .
`King et al.
`. . . . . . . . . . . .
`Shirley
`Ying et al.
`. . . . . . . . . . . . .
`Nagao
`Han
`Sandulescu et al.
`
`710/10
`. . . 710/316
`. . . . . 710/36
`. . . 709/238
`. . . 710/100
`. . . . . 341/26
`. . . 717/168
`. . . 345/156
`. . . . . 703/25
`
`FOREIGN PATENT DOCUMENTS
`
`( * ) Notice:
`
`the term of this
`Subject to any disclaimer,
`is extended or adjusted under 35
`patent
`U. S. C. 154(b) by 141 days.
`
`EP
`JP
`JP
`JP
`
`0860771
`2000-353145
`2001-43178
`3194082
`
`8/1998
`12/2000
`2/2001
`6/2001
`
`(21) Appl. No. : 11/260, 294
`
`(22) Filed:
`
`Oct. 28, 2005
`
`(65)
`
`Prior Publication Data
`US 2006/0095644 Al
`May 4, 2006
`
`(30)
`Oct. 29, 2004
`
`Foreign Application Priority Data
`. . . 2004-316319
`
`(JP)
`
`(51) Int. Cl.
`(2006. 01)
`GO6F 13/2O
`(2006. 01)
`GO6F 13/OO
`G06F /3/40
`(2006. 01)
`(52) U. S. Cl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710/316; 710/313
`(58) Field of ClassiTication Search
`. . . . . . . . . . . . . . . . . 710/313,
`710/316
`file for complete search history.
`
`See application
`
`OTHER PUBLICATIONS
`
`Compaq et al. ; "Universal Serial Bus Specification"; Apr. 27, 2000;
`Revision 2. 0; pp. 264-265 and 275-437. *
`* cited by examiner
`Paul R. Myers
`Primary Examiner
`Assistant Examiner
`Ryan M Stiglic
`Staas & Halsey LLP
`(74) Attorney, Agent, or Firm
`
`(57)
`
`ABSTRACT
`
`A selector that selectively makes connections between USB
`to a console side thereof and electronics
`devices attached
`devices connected to a host side thereof. The selector includes
`a USB host circuit controlling
`the USB devices, and USB
`device emulation circuits being respectively provided for the
`electronics devices and maintaining
`the connections with the
`the USB devices are selec-
`electronics devices even while
`tively being changed, and a control circuit coupling the USB
`host circuit and USB device emulation circuits.
`
`(56)
`
`References Cited
`
`U. S. PATENT DOCUMENTS
`6, 622, 195 B2 * 9/2003 Osakada et al.
`
`. . . 710/316
`
`22 Claims, 23 Drawing Sheets
`
`USB I/F
`10
`
`VGA I/F
`11
`
`SERVER SID
`
`VGA I/F
`11
`
`USB DEVICE
`EMULATION
`CIRCUIT 3
`
`USB I/F10
`VGA I/F11
`
`USB DEVICE
`EMULATIO
`CIRCUIT 3
`
`CPU
`
`VIDEO
`SIGNAL
`SELECT
`CIRCUIT 4
`
`2
`
`USB HC
`CIRCUIT
`
`OSD
`CIRCUIT
`
`SELEC
`SW
`
`LED
`
`RESET
`CIRCUIT
`
`SELECTOR I
`
`5
`
`9
`
`USBI/F 10
`
`9
`
`VGAI/F 11
`
`1
`
`DELPHI Exhibit 1020
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 1 of 23
`
`US 7, 433, 991 B2
`
`o )
`
`U
`
`Q&o
`
`U
`
`T
`
`C9 )
`
`U
`
`CO ~ 1
`
`C/I
`
`&o~
`Qg~o
`+crmB o
`
`0
`o
`
`4 P
`
`rid o OM o
`
`o+ x5
`ca o
`cn N + O
`
`cn
`
`0
`z 0 o
`
`2
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 2 of 23
`
`IJS 7, 433, 991 B2
`
`FIG. 2
`
`CPU
`
`NGU
`
`24
`
`FLASH
`RON
`
`22
`
`21
`
`USB HC
`
`USBI/F 10
`
`3
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 3 of 23
`
`US 7, 433, 991 B2
`
`FIG. 3
`
`SERVER
`A
`
`SERVE
`B
`
`SERVER
`N
`
`USB I/F
`10
`
`VGA I/F
`11
`
`USBI/F 10
`
`USB I/F
`10
`
`USB I/F
`10
`
`VGA I/F
`11
`
`SELECTOR
`
`VGA I/F 11
`
`USB
`KEYBOARD
`
`31
`
`DISPLAY
`
`USB
`MOUSE
`
`33
`
`4
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 4 of 23
`
`US 7, 433, 991 B2
`
`0
`
`o z
`
`o
`
`0
`o
`~o O~
`
`o
`
`CV
`
`0
`
`««I
`
`Z R)U
`) A QOO
`I -v
`
`~ ra
`Ooa+
`
`a
`
`«C O~
`
`0~ ~ OPz. '
`ma,
`M a
`a
`
`a
`
`F
`
`««l O ~
`0 +rn
`0I ~ Oa M ~
`a
`
`M
`
`a
`5 0
`
`~M~~
`ohio &ohio
`@IO+O
`a~ +a~~
`
`a
`
`O pa
`
`z 0
`
`&0
`0~««
`
`M
`
`0
`
`«N
`o M
`
`xg OC 40 D~ cn
`f o
`
`o~&
`~pa
`CI3 ~ (g
`
`a
`
`0
`
`0
`x
`O
`
`a
`
`« -v
`goo
`Pnla
`
`5
`
`

`

`U. S. Patent
`U.S. Patent
`
`Oct. 7, 2008
`
`32f05LI.
`Sheet 5 of 23
`
`US 7, 433, 991 B2
`US 7,433,991 B2
`
`mo_>momm:mo_>momm:
`
`
`
`
`
`zoifipzmzofifiazme20NE295ommm:3om<om>mmmm:m>6Smzmm
`
`
`
`mm::o~=o<mEDOEO
`
`a&
`
`mmmmimmH.oe<mmimmHS_<55>5.29:moz<:o_HWmHuNUzoifiizzzm
`
`
`
`
`
`zoFS_ms5zm"7,WHa.MwfimfimwwwmwUNOHH9_<om>m§:05?H_.._W
`
`mmmooya
`
`mofimoI-H
`
`
`
`9_<om>mv_EO<,_.mD
`
`<._.<Q>5.
`
`6
`
`
`
`
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 6 of 23
`
`US 7, 433, 991 B2
`
`FIG. 6
`
`USB KEYBOARD 31 USB HC CIRCUIT 2
`
`CPU 6
`
`USB DEVICE
`EMULATION
`CIRCUIT 3A
`
`USB DEVKE
`EMULATION
`CIRCUIT 3B
`
`OVER CURRENT
`
`DETACH
`KEYBOARD
`
`OVER
`CURRENT
`PROCESS
`
`DETACH
`PROCESS
`
`FIG. 7
`
`Vcc
`
`92
`
`93
`
`COUNTER
`CIRCUIT
`
`700ms
`
`RESET
`IC
`
`RESET TERMINAL
`OF CPU
`
`RESET
`IC
`
`100ms
`
`RESET TERMINAL
`OF USB HC CIRCUIT
`
`GND
`
`9 g
`
`94
`
`7
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 7 of 23
`
`US 7, 433, 991 B2
`
`FIG. 8
`
`SERVE
`A
`
`SERVE
`B
`
`SERVER
`N
`
`USB I/F
`10
`
`VGA I/F
`11
`
`USB I / F 10
`
`USB I/F
`10
`
`USB I/F
`10
`
`VGA I/F
`11
`
`SELECTOR
`
`VGA I / F 11
`
`34
`
`USB HUB
`
`31
`
`USB
`KEYBOARD
`
`DISPLAY
`
`USB
`MOUSE
`
`33
`
`32B
`
`MOUSE
`
`8
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 8 of 23
`
`US 7, 433, 991 B2
`
`FIG. 9
`
`SERVE
`A
`
`SERVE
`B
`
`SERVE
`N
`
`USB I/F
`10
`
`USB I/F
`10
`
`SELECTOR
`
`USB I/F
`10
`
`VGA I/F
`11
`
`USBI/F 10
`
`VGA I/F
`11
`
`1B
`
`VGA I/F 11
`
`USB I/F
`10
`
`VGA I/F
`11
`
`USB I/F 10
`
`USB I/F
`10
`
`USB I/F
`10
`
`SELECTOR
`
`VGA I/F
`11
`
`1A
`
`VGA I/F 11
`
`USB
`KEYBOARD
`
`DISPLAY
`
`32
`
`USB
`MOUSE
`
`31
`
`33
`
`9
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 9 of 23
`
`US 7, 433, 991 B2
`
`FIG. 10
`
`START
`
`S 1
`
`DETECT
`CONNECTION?
`YES
`
`NO
`
`S2
`
`CHECK VID AND PID OF USB
`DEVICE BEING ATTACHED
`
`S3
`
`CASCADE
`CONNECTION?
`YES
`
`NO
`
`S5
`
`TRANSMIT CASCADE CONNECTION
`NOTIFICATION COMMAND TO
`SELECTOR 1A BY VENDOR REQUEST
`
`END
`
`10
`
`S4
`
`IMPLEMENT A
`GIVEN PROCESS
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 10 of 23
`
`US 7, 433, 991 B2
`
`FIG. 11
`
`START SELECT
`CONTROL MODE
`
`STOP TRANSMITTING KEY
`DATA AND MOUSE DATA
`
`S6
`
`S7
`
`TRANSMIT SELECTOR
`CONNECTION CHECK COMMAND
`S8
`
`RECEIVE COM~
`RESPONSE
`
`S9
`
`NNECT SELECTO
`
`Yes
`
`No
`
`S10
`
`TRANSMIT SELECT CONTROL
`MODE COMMAND TO
`SELECTOR IB
`
`S1 1
`
`CONFIGURE SELECTOR IA
`IN CASCADE MODE
`
`S12
`
`SELEC
`CONTROL MODE
`OMPLETE ~
`
`Yes
`
`S13
`
`No
`
`CASCADE MODE ~
`
`Yes
`
`S1 4
`
`TRANSMIT SELECT
`CONTROL MODE
`COMPLETE COMMAND
`
`END SELECT
`CONTROL MODE
`
`S18
`
`SELECT PORT OF
`SELECTOR I A
`
`S15
`
`No
`
`SELECT
`PERATION ~
`
`Yes
`
`S16
`CASCADE MODE "
`
`No
`
`Yes
`
`S17
`TRANSMIT SELECT
`CONTROL SIGNAL TO
`SELECTOR I B
`
`11
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 11 of 23
`
`US 7, 433, 991 B2
`
`FIG. 12
`
`START RECEIVING
`
`SELECT CONTROL MODE
`
`S21
`
`S22
`
`RECEIVE SELECT
`CONTROL SIGNAL?
`
`Yes
`
`RECEIVE SELECT
`CONTROL MODE
`COMPLETE
`COMMAND?
`
`Yes
`
`END SELECT
`CONTROL MODE
`
`12
`
`No
`
`

`

`U. S. Patent
`U.S. Patent
`
`Oct. 7, 2008
`Oct. 7, 2008
`
`Sheet 12 of 23
`Sheet 12 of 23
`
`US 7, 433, 991 B2
`US 7,433,991 B2
`
`z o
`
`IO<.hmQ
`
`mmmoozm
`
`~+o
`
`~o
`m>_momE
`
`mofiiommo
`
`a
`
`ra
`
`meaamm
`
`DZ<
`
`5%:
`
`o
`U
`
`SmzzoomaI-,
`
`a
`
`o
`
`xoemiommo
`
`a
`
` .
`
`o
`
`moemiommo
`
`M
`a
`
`o
`
`zoE<zms5zm
`
`—
`
`
`
`-nE<om>mzIU<H.H<
`
`<mm>xmw<mE2050e:8
`mEDUMHU01mm:3Qm<om>m§mm:
`
`V
`
`U
`U
`
`D
`
`mo_>mQmm:
`
`zoifizzm
`
`2CE
`
`zoE§m_>5zm
`
`g o&o
`
`goo
`
`z:mzazmmemzazoo2O<MZO_._.<MmS_DzmZO:.<MmDzm
`
`
`
`<59Ex529hiI,<e<o>5.I<53:2III
`
`ZOE,<Ur=._.OZ
`
`C4 oo
`Cl ~
`g O
`v o
`a
`
`9_<om>mv_EO.<.._.mD
`
`
`mmmoommIO<HmQ
`
`U o
`
`a
`
`ZO:.<U7:HOZ
`
`
`
`om<om>mv_IO<._.mQ
`
`oo
`gO
`g K
`v o
`a
`
`o
`
`
`
`QM<Om>mMIO<HmD
`
`a
`
`E,<BF2zoE<o:FozzAmu:.md_w_,~o%
`
`IIZ_Esbflfi
`
`0+o
`
`~o~
`
`13
`
`
`
`
`
`
`
`
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 13 of 23
`
`US 7, 433, 991 B2
`
`U )
`o 5
`
`a
`
`U
`
`CQ )
`
`U
`
`CQ )
`
`0gof
`BQ~o
`M o
`
`0
`o
`
`4 D
`r/) 08
`0
`
`o+
`O
`cn A
`
`0
`
`4
`
`0
`0 o
`
`~MM
`M 0~
`
`~0~
`~ CQ A
`
`o0
`a~o
`
`M
`
`14
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 14 of 23
`
`US 7, 433, 991 B2
`
`FIG. 15
`
`USB HC CIRCUIT
`
`CPU
`
`ATTACH USB MOUSE
`
`USB DEVICE ATTACH
`NOTIFICATION
`
`ENUMERATION
`
`USB MOUSE ATTACH
`NOTIFICATION
`
`DISABLE
`Psi2
`MOUSE
`
`15
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 15 of 23
`
`US 7, 433, 991 B2
`
`START
`
`FIG. 16
`S 3 1
`USB DEVICE ENUMERATION S32
`S3 3
`
`MASS STORAGE?
`Yes
`
`No
`
`SEARCH FIRMWARE FILE NAME
`
`S3 4
`
`FIRMWARE FOR CPU?
`
`No
`
`Yes
`
`S35
`READ SIGNATURE S36
`IGNATURE 0
`Yes S37
`
`No
`
`REWRITE CPU FIRMWARE
`
`S3 8
`
`FIRMWARE FOR
`USB HC CIRCUIT 'P
`No
`
`Yes
`
`READ SIGNATURE
`
`S3 9
`S40
`S4 i
`
`No
`
`IGNATURE OK ~
`Yes
`REWRITE USB HC CIRCUIT
`FIRMWARE
`
`S42
`
`FIRMWARE FOR USB
`DEVICE EMULATION
`CIRCUIT?
`No
`
`Yes
`
`S4 3
`
`READ SIGNATURE
`
`S44
`
`IGNATURE OK ~
`Yes
`REWRITE USB DEVICE
`EMULATION CIRCUIT
`RE
`
`RESET SELECTOR
`
`END
`
`S46
`
`16
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 16 of 23
`
`US 7, 433, 991 B2
`
`FIG. 17
`
`USB HC CIRCUIT 2
`
`TRANSMIT CPU
`REWRITE COMMAND
`
`READ FIRMWARE
`
`CPU 6
`
`RECEIVE CPU
`REWRITE
`COMMAND
`
`CONFIGURE
`FIRMWARE
`REWRITE MODE
`
`TRANSFER TO CPU
`
`RECEIVE FIRMWARE
`
`COMPLETE READING
`
`TRANSMIT TRANSMISSION
`COMPLETE COMMAND
`
`WRITE INTO
`FLASH ROM
`
`COMPLETE
`RECEIVING
`
`RECEI VE CHECKSUM
`
`TRANSMIT CHECKSUM
`
`TRANSMIT FIRMWARE
`RESTORE COMMAND
`
`TRANSMIT REWRITING
`COMPLETE COMMAND
`
`' RECEIVE FIRMWARE
`, RESTORE COMMAND
`I
`
`&
`
`'
`,
`I
`
`RECEIVE REWRITING
`COMPLETE COMMAN
`
`COMPLETE
`FIRMWARE
`REWRITING
`
`COMPLETE
`FIRMWARE
`REWRITING
`
`17
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 17 of 23
`
`US 7, 433, 991 B2
`
`FIG. 18
`
`START REWRITING
`CPU FIRMWARE
`
`TRANSMIT CPU
`REWRITE COMMAND
`
`READ FIRMWARE
`
`TRANSFER TO CPU
`
`S51
`
`S52
`
`S53
`
`No
`
`S54
`
`COMPLETE READ1NG ~
`
`Yes
`
`TRANSMIT TRANSMISSION
`COMPLETE COMMAND
`S5 6
`
`RECEIVE CHECKSUM
`S5 7
`
`CHECKSUM OK?
`Yes
`
`No
`
`S59
`
`TRANSMIT REWRITING
`COMPLETE COMMAND
`
`END REWRITING
`CPU FIRMWARE
`
`18
`
`S5 8
`
`TRANSMIT FIRMWARE
`RESTORE COMMAND
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 18 of 23
`
`US 7, 433, 991 B2
`
`FIG. 19
`
`START REWRITING
`FIRMWARE
`
`RECEIVE CPU
`REWRITE COMMAND
`
`CONFIGURE FIRMWARE
`REWRITE MODE
`
`S6 I
`
`S62
`
`No
`
`No
`
`S63
`
`RECEIVE FIRMWARE .
`Yes
`
`S 6 4
`WRITE INTO FLASH ROM
`
`S65
`
`OMPLETE RECEIVIN
`Yes
`
`S66
`
`TRANSMIT CHECKSUM
`
`S67
`
`Yes
`S6 8
`FIRMWARE RESTORE
`PROCESS
`
`RECEIVE FIRMWARE
`STORE COMMAND ~
`
`No
`
`S6 9
`
`No
`
`RECEIVE REWRITIN
`COMPLETE COMMAND
`
`Yes
`
`END REWRITING
`FIRMWARE
`
`19
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 19 of 23
`
`IJS 7, 433, 991 B2
`
`FIG. 20
`
`START REWRITING
`FIRMWARE
`
`COPY FIRMWARE ONTO RAM
`
`S71
`
`S72
`
`S74
`
`FIRMWARE RESTORE
`PROCESS
`
`WRITE FIRMWARE
`ONTO FLASH ROM
`
`S73
`CHECKSUM OK?
`
`No
`
`Yes
`
`END REWRITING
`FIRMWARE
`
`20
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 20 of 23
`
`US 7, 433, 991 B2
`
`FIG. 21
`USB HC CIRCUIT 2
`
`TRANSMIT USB DEVICE
`EMULATION CIRCUIT FIRMWARE
`REWRITE COMMAND
`
`CPU 6
`TRANSFER USB DEVICE
`EMULATION CIRCUIT
`
`USB DEVICE
`EMULATION
`CIRCUIT 3
`
`RECEIVE USB DEVICE
`EMULATION CIRCUIT
`FIRMWARE REWRITE
`
`TRANSMIT
`NUMBER OF
`PORTS
`
`NUMBER OF
`
`RECEIVE
`FIRMW
`
`CONFIGURE
`FIRMWARE
`TRANSFER
`MODE
`
`TRANSFER
`FIRMWARE TO CPU
`
`TRANSFER TO USB DEVICE
`EMULATION CIRCUIT
`
`TRANSMIT TRANSMISSION
`COMPLETE COMMAND
`
`COMPLETE
`RECEIVING
`
`TRANSMIT TRANSMISSION
`COMPLETE COMMAND
`
`RECEIVE
`CHECKSUM
`
`TRANSFER
`CHECKSUM
`
`TRANSMIT
`CHECKSUM
`
`TRANSMIT FIRMWARE
`RESTORE COMMAND
`
`TRANSFER FIRMWARE
`R ESTORE COMMAND
`
`TRANSMIT REWRITING
`COMPLETE COMMAND
`
`TRANSMIT REWRITING
`COMPLETE COMMAND
`
`COMPLETE
`REWRITING
`FIRMWARE
`
`COMPLETE
`REWRITING
`FIRMWARE
`
`21
`
`CONFIGURE
`FIRMWARE
`REWRITE
`MODE
`
`RECFIVE
`FIRMWARE
`
`WRITE INTO
`FLASH ROM
`
`RECEIVING
`
`„
`
`RECEIVE
`
`"RESTORE
`COIvMAND
`
`FIRMWARE
`RESTORE
`PROCESS
`
`COMPLETE
`COMMAND
`
`COMPLETE
`REWRITING
`FIRMWARE
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 21 of 23
`
`US 7, 433, 991 B2
`
`FIG. 22
`
`START REWRITING
`CPU FIRMWARE
`
`RECEIVE USB DEVICE EMULATION
`CIRCUIT FIRMWARE REWRITE
`COMMAND
`
`RECEIVE NUMBER OF PORTS
`
`S8 1
`
`S82
`
`No
`
`No
`
`No
`
`No
`
`S83
`
`RECEIVE FIRMWARE .
`Yes
`
`TRANSFER TO CPU
`
`S8 4
`
`S85
`
`COMPLETE RECEIVING .
`Yes
`
`S 8 6
`
`TRANSMIT TRANSMISSION
`COMPLETE COMMAND
`
`S87
`
`RECEIVE CHECKSUM .
`Yes
`
`S 8 8
`
`CHECKSUM OK?
`Yes
`
`S89
`
`TRANSMIT FIRMWARE
`RESTORE COMMAND
`
`S90
`
`ALL PORTS OK?
`Yes
`
`No
`
`S91
`
`TRANSMIT REWRITING COMPLETE
`COM~
`
`END REWRITING
`CPU FIRMWARE
`
`22
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 22 of 23
`
`US 7, 433, 991 B2
`
`FIG. 23
`
`START REWRITING
`FIRMWARE
`
`S 1 0 1
`
`TRANSFER USB DEVICE EMULATION
`CIRCUIT FIRMWARE REWRITE COMMAND
`S 1 0 2
`
`TRANSFER NUMBER OF PORTS
`
`S 1 0 3
`CONFIGURE FIRMWARE TRANSFER MODE
`S 1 0 4
`CEIVE FIRMWA
`Yes
`
`No
`
`No
`
`S 1 0 5
`TRANSFER TO CPU DEVICE
`EMULATION CIRCUIT
`S 1 0 6
`S1 07
`
`COMPLETE RECEIVING?
`
`TRANSMIT TRANSMISSION COMPLETE COMMAND
`S 1 0 8
`TRANSFER CHECKSUM
`S 1 09
`
`No
`
`No
`
`S 1 1 1
`TRANSFER FIRMWARE RESTORE COMMAND
`
`COMPLETE TRANSFERRIN
`0 ALL PORTS ~
`Yes
`
`S 1 1 0
`RECEIVE FIRMWARE
`STORE COMMAN
`Yes
`
`S 1 1 2
`
`RECEIVE REWRITING
`OMPLETE COMMAN
`Yes
`
`S 1 1 3
`TRANSFER REWRITING COMPLETE COMMAND
`
`END REWRITING
`FIRMWARE
`
`23
`
`

`

`U. S. Patent
`
`Oct. 7, 2008
`
`Sheet 23 of 23
`
`US 7, 433, 991 B2
`
`FIG. 24
`
`START REWRITING
`FIRMWARE
`
`RECEIVE USB DEVICE
`EMULATION CIRCUIT
`FIRMWARE REWRITE
`COMMAND
`
`S1 21
`
`S1 22
`
`CONFIGURE TO FIRMWARE
`REWRITE MODE
`S1 23
`
`No
`
`RECEIVE FIRMWARE
`
`Yes
`
`WRITE INTO
`FLASH ROM
`
`S1 24
`
`S1 25
`
`No
`
`OMPLETE RECEIVIN
`
`Yes
`
`S1 26
`TRANSMIT CHECKSUM
`
`Yes
`
`S1 28
`FIRMWARE RESTORE
`PROCESS
`
`RECEIVE
`FIRMWARE
`RESTORE
`
`OM~ ~
`
`No
`
`S1 27
`
`S1 29
`
`No
`
`RECEIVE
`REWRITING
`COMPLETE
`COMMAND?
`
`Yes
`
`END REWRITING
`FIRMWARE
`
`24
`
`

`

`US 7, 433, 991 B2
`
`According to another aspect of the present invention, pref-
`erably, there is provided a selector that selectively changes
`USB devices attached to a console side thereof and changes
`electronics devices connected to a host side thereof, the selec-
`the USB devices; and maintaining
`tor including controlling
`the connections with the electronics devices even while the
`USB devices are selectively being changed; and coupling the
`USB host circuit and USB device emulation circuits.
`According to still another aspect of the present invention,
`that selec-
`there is provided a program product
`preferably,
`tively changes USB devices attached to a console side thereof
`and changes electronics devices connected
`to a host side
`the USB devices;
`thereof, the selector including controlling
`the connections with the electronics devices
`and maintaining
`even while the USB devices are selectively being changed;
`and coupling the USB host circuit and USB device emulation
`circuits.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Preferred embodiments of the present
`invention will be
`described in detail with reference to the following drawings,
`wherein:
`FIG. 1 is a block diagram of a configuration of a selector;
`FIG. 2 is a block diagram of a configuration of a USB HC
`circuit;
`FIG. 3 is a connection diagram between the selector, mul-
`tiple servers, and console devices;
`FIG. 4 is a signal sequence diagram between a server A and
`a server B and a selector 1, a USB keyboard 31 and a USB
`mouse 32 and the selector 1, and the selector 1 and peripheral
`devices when the selector 1 changes from the server A to the
`server B;
`FIG. 5 is a signal sequence diagram between a select SW 5,
`a USB HC circuit 2, a CPU 6, a USB device emulation circuit
`3A coupled to the server A, a USB device emulation circuit
`3B coupled to the server B, the USB keyboard 31 attached to
`the selector 1;
`FIG. 6 shows signals when "Over Current" occurs;
`FIG. 7 is a diagram showing a reset circuit 9;
`FIG. S is a block diagram in which the USB keyboard and
`the USB mouse are coupled to the selector 1 via a USB hub
`34;
`FIG. 9 shows a cascade connection of selectors 1A and 1B;
`FIG. 10 is a flowchart showing a procedure
`to detect the
`cascade connection of the selectors;
`FIG. 11 is a flowchart
`in select control mode;
`FIG. 12 is a flowchart of the selector 1B in select control
`mode;
`FIG. 13 is a signal sequence diagram between
`keyboard 31, the selector 1, and the server A;
`FIG. 14 is a diagram of the selector having PS/2 mouse I/F
`and PS/2 keyboard I/F;
`FIG. 15 shows a procedure
`software;
`FIG. 16 is a flowchart of firmware rewrite control by the
`USB HC circuit 2;
`FIG. 17 shows a procedure of CPU firmware rewriting;
`FIG. 1S is a flowchart of a procedure of the USB HC circuit
`2 for rewriting
`the CPU firmware;
`FIG. 19 is a flowchart of the CPU 6 for rewriting
`firmware;
`FIG. 20 is a flowchart o f the firmware rewrite control by the
`USB HC circuit 2;
`FIG. 21 shows a procedure of rewriting
`USB device emulation circuit 3;
`
`the USB
`
`to disable the PS/2 mouse by
`
`the CPU
`
`the firmware of a
`
`1
`SELECTOR, SELECTION METHOD, AND
`PROGRAMPRODUCT
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`to selectors, selection
`relates
`This
`invention generally
`methods, and program products that enable sharing of input/
`output devices by selectively changing a connection between
`a selector and multiple computers.
`2. Description of the Related Art
`These days, USB (Universal Serial Bus) becomes
`the
`interface of the input/output
`mainstream computer peripheral
`devices such as keyboard, mouse, or the like to be connected
`to a server or PC (Personal Computers). The USB is so widely
`that the keyboard or mouse having another periph-
`available
`eral interface is becoming difficult to purchase.
`there has been proposed
`the circumstances,
`Under
`the
`devices having the USB keyboard and USB mouse for selec-
`tively connecting one or more computers. The afore-men-
`tioned devices function as selectors provided for sharing the
`the connection
`devices by selectively changing
`input/output
`between the selector and one or more computers, as described
`in Japanese Patent Application Publication No. 2001-43178
`referred to as Document I) and Japanese Patent
`(hereinafter,
`Publication No. 2000-353145 (hereinafter,
`Application
`referred to as Document 2).
`Japanese Patent No. 3, 194, 082 (hereinafter,
`referred to as
`Document 3) has proposed the select operation circuit having
`the main control circuit and the select circuit, the main control
`circuit connecting a set of data input devices, the select circuit
`input data input via the afore-men-
`selectively
`transmitting
`tioned set of data input devices to multiple computers.
`selectors to operate with USB, how-
`The above-mentioned
`ever, simply mechanically change USB signal lines in order
`to be coupled. In such configuration,
`attach/detach process
`the USB signal line is selec-
`has to be implemented whenever
`tively changed. Such process further produces
`load/unload
`to the server and
`process on a server, causing
`the burden
`leading to the generation of a wait time during the load/unload
`process on the server. In addition, depending on the load
`applied on the server or the system configuration,
`it will take
`time to load/unload
`the driver. Otherwise, a select operation
`the unload process of the driver to implement
`will interrupt
`the load process. Consequently,
`the system operates unstably
`or the system comes to a halt and cannot be controlled. Fur-
`ther, Document 3 does not disclose a selector corresponding
`to the USB devices.
`
`SUMMARY OF THE INVENTION
`
`The present invention has been made in view of the above
`circumstances and provides a selector, selection method, and
`program product that can selectively change devices without
`burdening a server.
`to one aspect of the present
`According
`invention, prefer-
`ably, there is provided a selector that selectively makes con-
`nections between USB devices attached
`to a console side
`thereof and electronics devices connected
`to a host side
`thereof, the selector including a USB host circuit controlling
`the USB devices; and USB device emulation circuits being
`respectively provided for the electronics devices and main-
`the connections with the electronics devices even
`taining
`while the USB devices are selectively being changed; and a
`control circuit coupling the USB host circuit and USB device
`emulation circuits.
`
`10
`
`16
`
`20
`
`26
`
`30
`
`36
`
`40
`
`46
`
`60
`
`66
`
`60
`
`66
`
`25
`
`

`

`US 7, 433, 991 B2
`
`FIG. 22 is a flowchart of a procedure of the USB HC circuit
`the firmware of the USB device emulation
`2 for rewriting
`circuit 3;
`FIG. 23 is a flowchart of a procedure of the CPU 6 for
`the firmware of the USB device emulation circuit 3;
`rewriting
`and
`FIG. 24 is a flowchart of a procedure of the USB device
`the firmware of the USB
`emulation circuit 3 for rewriting
`device emulation circuit 3.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`6
`
`10
`
`A description will now be given, with reference
`to the
`drawings, of embodiments of the present
`accompanying
`invention.
`
`16
`
`First Embodiment
`
`FIG. 1 shows a configuration of a selector 1 in accordance
`with the present embodiment of the present invention. Refer-
`ring to FIG. 1, the selector 1 includes a USB host controller
`simply referred to as USB HC circuit) 2,
`circuit (hereinafter,
`a USB device emulation circuit 3, a video signal select circuit
`to as select
`4, a select switch (hereinafter,
`simply referred
`SW) 5, a CPU 6, an OSD (On Screen Display) circuit 7, an
`LED S, a reset circuit 9, a USB I/F 10, and a VGA (Video
`Graphics Array) I/F 11.
`The USB HC circuit 2 is coupled to a USB keyboard 31 and
`a USB mouse 32, and implements an enumeration process on
`the USB devices. The enumeration process is a device iden-
`tification process. Then, the USB HC circuit 2 extracts key-
`board data (key data) and mouse data and converts the data
`to PS/2 or UART (Universal Asyn-
`into signals corresponding
`to transmit to the CPU 6.
`chronous Receiver Transmitter)
`The USB device emulation circuit 3 is provided for each
`PC or server to be connected, so as to emulate the operation of
`the USB keyboard 31 or the USB mouse 32, receives the key
`data and mouse data from the CPU 6, and transmits
`the data to
`a server being connected. The USB device emulation circuit
`3 being connected to a selected server (the server with which
`the data of
`a connection
`is electrically established) outputs
`keyboard or mouse to the selected server. The USB device
`emulation circuit 3 being connected to an unselected server
`outputs emulation signals, which are obtained by emulating
`the operation of the keyboard or the mouse, to the unselected
`server, and operates as if the keyboard or the mouse were
`coupled to the unselected server.
`The video signal select circuit 4 selectively changes mul-
`tiple video signals input from the PC or server. The select SW
`5 selects the PC or server being connected to the selector 1.
`select control operations of the
`The CPU 6 implements
`USB device emulation circuit 3, the video signal select circuit
`4, and the select SW 5, and relays the key data and the mouse
`data to the USB device emulation circuit 3 being selected by
`the USB HC circuit 2.
`The OSD circuit 7 performs the configuration of the selec-
`tor 1 and displays the select control operations on the selector
`1. The LED S indicates the selected PC or server. The reset
`circuit 9 resets the selector 1 and USB HC circuit 2.
`Next, referring to FIG. 2, a description will be given of the
`USB HC circuit 2. The USB HC circuit 2 includes a USB host
`controller (USB HC) 21 and a MCU (Micro Controller Unit)
`22. The USB HC 21 is connected to an external bus of the
`type and is capable of
`MCU 22. The MCU 22 is a standard
`either internally or externally coupling to a ROM and a RAM
`23. ROM is, for example, a rewritable
`flash ROM 24. The
`
`20
`
`26
`
`30
`
`36
`
`40
`
`46
`
`60
`
`66
`
`60
`
`66
`
`USB HC 21 is, for example, ISP116x series (the product
`name of Philip s) or SL811HS (the product name of Cypress).
`The USB HC circuit 2 may be composed of the MCU 22 and
`a USB transceiver.
`As a configuration example of the USB device emulation
`circuit 3, the USB device may be emulated by an MCU. (This
`is not shown, because the USB device emulation circuit 3
`shown in FIG. 1 is simply replaced by the MCU. ) For refer-
`ence, the MCU is a standard
`includes a
`type and internally
`ROM and RAM, and the ROM is, for example, a rewritable
`flash ROM.
`The MCU 22 in the USB HC circuit 2, the MCU in the USB
`device emulation circuit 3, and the CPU 6 read a program
`the
`from the memory storing
`the program, and implement
`control operations according to the program and the proce-
`dure shown in a sequence or flowchart described below.
`FIG. 3 is a connection diagram between the selector 1 and
`the USB keyboard 31, the USB mouse 32, and a
`servers,
`display 33. The USBs and VGAs of the servers are connected
`to interfaces of the selector 1 on a server side of the selector 1
`for the USBs and
`by cables. The cables may be provided
`VGAs respectively, or the cables for the USB and VGA may
`together into, for example, an RJ-45 cable (Reg-
`be bundled
`istered Jack 45: 8-pin modular connector). Accordingly,
`the
`interfaces on the selector 1 are configured
`to have shapes
`to the cables (USB and VGA cables or RJ-45
`corresponding
`cable). In FIG. 1 and FIG. 3, both USB and VGA interfaces
`are shown to facilitate better understanding of flows of the
`USB and VGA signals, whereas the USB and VGA cables are
`together and shown as composite cables.
`bundled
`The display 33 is connected to the VGA interface (VGA
`I/F) 11 on a console side of the selector 1. The USB keyboard
`31 and the USB mouse 32 are respectively attached to the
`USB interface (USB I/F) 10 provided on the console side of
`the selector 1. Moreover, The USB keyboard 31, the UBS
`mouse 32, and the display 33 coupled on the console side are
`coupled to the server to be selected by the selector 1.
`Here, the signal flows in the selector described below. On
`the server side, when the server is connected to the selector 1,
`the USB device emulation circuit 3 is coupled to a USB host
`controller, not shown, of the server. Then, the enumeration
`process begins. The USB device emulation circuit 3 is con-
`figured to be a composite device having basic functions of the
`USB keyboard 31 and the USB mouse 32. Configure/con-
`figuration denotes settings of the functions of the device. In
`this manner, a communication path is established between the
`server and the USB device emulation circuit 3. Subsequently,
`the USB device emulation circuit 3 transmits
`the key data and
`mouse data received from the CPU 6 on the selector 1 to the
`server, receives information on LED indication or the like to
`to the USB keyboard 31, and then transmits
`such
`transmit
`to the CPU 6 on the selector 1.
`information
`The VGA signal output from the server is transmitted
`to the
`video signal select circuit 4 via the VGA I/F 11 on the selector
`1. The CPU 6 controls the video signal select circuit 4 and the
`VGA signal of the server selected by the select SW 5 is
`to the VGA I/F 11 on the on the console side.
`transmitted
`On the other hand, on the console side of the selector 1,
`when the USB keyboard 31 is attached to the selector 1, the
`enumeration process begins between the USB HC circuit 2
`and the USB keyboard 31. When the enumeration process
`completes, the USB HC circuit 2 transmits "Interrupt" to the
`USB keyboard 31 to request the USB keyboard 31 for the key
`data. The key data received from the USB keyboard 31 is
`to the CPU 6 of the selector 1. In this case, the
`transmitted
`is used. The USB HC
`PS/2 or serial (UART, IIC) interface
`to the afore-
`the key data to correspond
`circuit 2 converts
`
`26
`
`

`

`US 7, 433, 991 B2
`
`interface and transmits
`the converted data. With
`mentioned
`respect to the USB mouse 32, the same process is imple-
`mented as in the USB keyboard 31.
`The select SW 5 provides a mechanism
`that selectively
`changes the connection between the server connected to the
`selector 1 and the keyboard, mouse, and the display 33 pro-
`vided on the console side. The CPU 6 detects
`the server
`selected by the select SW 5, and changes a transmission path
`for transmitting
`and receiving data and the video signals
`between the USB HC circuit 2 and the USB device emulation
`circuit 3 so that the selected server may be coupled to the
`console side. The LED S indicates the selected server.
`The reset circuit 9 is coupled to reset terminals on the CPU
`6 and on the MCU 22 in the USB HC circuit 2, and includes
`a reset switch to provide a reset mechanism. The reset circuit
`9 will be described later in detail.
`The OSD circuit 7 is provided between
`the video signal
`select circuit 4 and the VGA I/F 11 on the console side to
`the video signals of the video signal select cir-
`superimpose
`select information, or the
`cuit 4 and connection information,
`like. When a port of the selector 1 not connected by a server
`is selected, a clock is separately supplied to the OSD circuit 7
`select information, or
`to display the connection information,
`the like.
`to include the USB host con-
`The selector 1 is configured
`troller circuit between the server and the USB devices such as
`keyboard, mouse, or hub, and the USB device is coupled to
`the USB controller circuit 2, in accordance with the first
`embodiment of the present invention. The USB HC circuit 2
`is configured to operate all processes generated by attaching
`the USB device such as the enumeration pro-
`and detaching
`cess, so that the server needs not operate such processes. The
`USB HC circuit 2 maintains connection with the USB device
`the USB
`the select operation period, unless
`even during
`device is detached physically.
`On the server side, the USB device emulation circuit 3 with
`the USB device capabilities
`connection
`always maintains
`with the servers, and does not generate the enumeration and
`detach processes even when the USB device is attached and
`detached. The CPU 6 controls and changes the destination of
`in order to transmit
`the data from the
`the data transmission
`USB device to the selected server and transmit
`the video
`signals from the server to transmit to the display 33 provided
`on the console side. This enables the servers to recognize that
`the keyboard and mouse are always connected. Therefore, it is
`possible to make a connection electrically without burdening
`the USB device.
`the servers or attaching or detaching
`Next, referring to FIGS. 4 and 5, a description will be given
`of a method of selectively changing
`the USB device, so that
`the attach or detach process of
`the server need not implement
`the USB device. FIG. 4 is a sequence diagram corresponding
`shown in FIG. 3. With respect to
`to the system configuration
`a server A, a server B, the selector 1, the USB keyboard 31,
`and the USB mouse 32, FIG. 4 shows the connection between
`the servers A and B and the selector 1, the connection between
`the USB keyboard 31 and the USB mouse 32 and the selector
`1, and the signal
`flows with peripheral devices when
`the
`from the server A to the
`selector changes
`the connection
`server B.
`Firstly, the server A and the server B are connected to the
`selector 1. At this point, the selector 1 selects the server A in
`the initial state. The display 33 receives the video signals from
`the server A. Simultaneously,
`the enumeration process begins
`between the USB device emulation circuit 3 and the USB HC
`circuit on the server, and the USB device emulation circuit 3
`on the selector 1 is configured to be a composite device of the
`USB keyboard 31 and the USB mouse 32.
`
`6
`
`10
`
`16
`
`20
`
`26
`
`30
`
`36
`
`40
`
`46
`
`60
`
`66
`
`60
`
`66
`
`Next, when the USB keyboard 31 is attached to the selector
`1, the enumeration process begins between the USB keyboard
`31 and the selector 1 to carry out the configuration. The
`selector 1 does not notify
`the enumeration process to the
`the enumeration process is not imple-
`server, and accordingly,
`mented on the server. The selector 1 transmits
`the key data to
`the selected server, namely, the server A only. With respect to
`the USB mouse 32, the same process is implemented,
`and the
`mouse data is transmitted only to the selected server.
`When the selected server (electric connection)
`is changed
`from the server A to the server B, the display 33 starts to
`receive the video signals from the server B, and the transmis-
`sion destination of the key data and mouse data is changed to
`the server B, with the UBS keyboard 31 and the USB mouse
`32 maintaining connection with the selector 1. With the USB
`HC circuit 2, the UB S keyboard 31 and the USB mouse 32 can

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket