throbber
(12) United States Patent
`Sundaram et al.
`
`USOO6934774B1
`(10) Patent No.:
`US 6,934,774 B1
`(45) Date of Patent:
`Aug. 23, 2005
`
`(54) METHOD AND SYSTEM FOR RELIABLE
`DEVICE CONFIGURATION IN A
`COMPUTER SYSTEM
`
`(75) Inventors: Rajesh Sundaram, Sunnyvale, CA
`(US); Toshiya Miyazaki, San Jose, CA
`(US); Isamu Yamada, San Jose, CA
`(US)
`(73) Assignee: Fujitsu Limited, Kawasaki (JP)
`-
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`5,548,782 A * 8/1996 Michael et al. ............... 703/24
`5,787,019 A * 7/1998 Knight et al................ 709/324
`5,953,010 A * 9/1999 Kampe et al. .............. 345/772
`5,958,020 A * 9/1999 Evoy et al. .................... 710/3
`6,286,066 B1 * 9/2001 Hayes et al. ................ 710/302
`6,389,029 B1 * 5/2002 McAlear ..................... 370/402
`6,389,560 B1 * 5/2002 Chew .....
`... 710/315
`6,466,981 B1 * 10/2002 Levy ......
`... 709/227
`6,473,811 B1 10/2002 Onsen ......................... 710/15
`
`* cited by examiner
`
`Primary Examiner Jeffrey Gaffin
`ASSistant Examiner Joshua D Schneider
`74) Attorney, Agent, or Firm-Sheppard Mullin Richter &
`(21) Appl. No.: 09/467,569
`y, Ag
`pp
`Hampton LLP
`(22) Filed:
`Dec. 20, 1999
`ABSTRACT
`(57)
`(51) Int. Cl. ............................. G06F 3/00; G06F 9/00;
`A configuration notification unit monitors internal messages
`Goof 17/o
`generated by an operating System of a computer related to
`(52) U.S. CI. 710/16,710/1 77.81929,,79,6.
`device configuration process for plug and play devices
`715/708
`led to th
`t
`ial bus interface. Th
`(58) Field of Search ............................... 710-74, 315, RoRoi Rio GEOINW in
`710,302,345,772; 709,310,227,370402. EE
`700/17
`the user when it is unsafe to change the number of devices
`coupled to the computer. In a preferred embodiment, the
`References Cited
`configuration notification unit include a message handler
`coupled to an indication unit.
`
`(56)
`
`U.S. PATENT DOCUMENTS
`5,386,360 A * 1/1995 Wilson et al. ................ 700/17
`
`27 Claims, 13 Drawing Sheets
`
`
`
`Operatin
`
`This Method
`
`(b) OS Detects
`the Ewent
`
`Message
`Haneer
`
`indication
`Unit
`
`S. QS As Set (d)
`ewe Awa
`ar
`Message to AH---
`Hook the Message
`Application
`p
`
`SAFE TO
`ReMOWINSERT
`
`.
`.
`(),
`if the Device is
`Required to
`indicate
`the Configuration
`State, Send
`Command
`"CONFIGURAON
`NPROGRESS
`to Display Unit
`
`Sends
`S.
`onfiguration
`Competed 2E
`ME to AIs its Hook the Message
`Application
`
`f
`8oNFIGURATION
`in PROGRESS
`
`Send a
`ommand
`"READY" to
`display Unit
`
`SAVE TO
`MOVENSERT
`
`Page 1 of 21
`
`BMW EXHIBIT 1006
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 1 of 13
`
`US 6,934,774 B1
`
`
`
`Peripheral
`Device
`
`USB Cables
`to More Hubs
`or Devices
`
`USB Cabies
`to More Hubs
`or Devices
`
`USB Cables
`to More Hubs
`or Devices
`
`USB Cables
`to More Hubs
`or Devices
`
`PC HOSt
`
`3O-A
`Hub
`
`40
`
`/O device
`
`
`
`
`
`O USB Cable
`&SS
`
`FIG.2(PRIOR ART)
`
`N
`
`USB Cables
`to More Hubs
`Or Devices
`
`e O 9
`
`a
`
`O
`
`Page 2 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 2 of 13
`
`US 6,934,774 B1
`
`Upstream Connector
`335
`
`330
`
`Controller
`
`Power
`IN
`
`Downstream Connectors
`FIG.3(PRIOR ART)
`
`POWer
`Control
`
`355
`
`430
`
`Power
`N
`
`Repeater
`
`340
`
`355
`
`Upstream Connector
`435
`
`Repeater
`
`440
`
`
`
`455
`455
`Downstream Connectors
`FIG.4(PRIOR ART)
`
`Page 3 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 3 of 13
`
`US 6,934,774 B1
`
`PS/2 Keyboard Port
`PS/2 Mouse Port 550
`58O
`Printer Port (Only)
`540
`Volume Control
`
`
`
`
`
`
`
`570
`RS232-type
`Communications Port
`
`590
`
`RJ-45 Port
`
`AC Adapter Port
`
`50
`Upstream
`USB Port
`(to Connect
`to Your
`Downstream USB LifeBook)
`Port (to Connect to
`USB Devices)
`
`FIG.5A (PRIOR ART)
`
`Page 4 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 4 of 13
`
`US 6,934,774 B1
`
`
`
`USB
`Downstream
`Port #1
`
`USB
`Downstream
`Port #1
`
`USB
`DOWnstream
`Port #1
`
`F8U-1 OOAX
`Firmware for
`USB to PS/2
`Keyboard, PS/2
`Mouse, Hub
`State Machine
`& Serial Port
`Vendor Specific
`Class
`implementation
`
`Headphone
`Out
`
`Volume
`Control Knob
`
`530
`
`A1
`
`Upstream USB
`Port to HOSt
`Computer
`
`Texas instruments
`TUSB2O48
`4-port USB Hub
`
`USB
`DOWnstream
`Port #4
`
`FTDIFT8U100AX 7-port Embedded
`.
`Micro-Controller + USB Hub with
`Embedded PS/2 Mouse, PS/2 Keyboard
`and Serial Port
`
`Port
`1
`
`Port
`2
`
`Ports 4-7
`Reserved for
`Port Future USB to xxx
`3
`Bridge/Functions
`
`PS/2 Mouse
`Connector
`
`PS/2 Kbd
`Connector
`
`OB-9 Serial
`Connector
`
`Philips UDA1321
`USB DAC for
`Providing USB to
`Audio Function/
`Bridge
`
`CAC EL-121 OA
`ASIC for Providing
`USB to Ethernet
`Function/Bridge
`
`Lucent USS-720
`for Providing USB
`to Printer
`Function/Bridge
`
`RJ-45 AN
`Connector
`
`DB-25 Printer
`Connector
`
`FIG5B(PRIOR ART)
`
`Page 5 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 5 of 13
`
`US 6,934,774 B1
`
`640
`
`63O
`
`61O
`
`FIG.6A (PRIOR ART)
`
`
`
`
`
`
`
`
`
`632-/
`
`
`
`61O
`
`NNNYaYaYaNNYaYaSY & SSSSSSSSSSaaSSS
`NYYYYNNYYYYYYYY
`NY. N
`RNNY, YSYYYY
`
`
`
`N-N
`
`FIG.6B(PRIOR ART)
`
`Page 6 of 21
`
`

`

`U.S. Patent
`US. Patent
`
`Aug. 23, 2005
`Aug. 23, 2005
`
`Sheet 6 of 13
`Sheet 6 0f 13
`
`US 6,934,774 B1
`US 6,934,774 B1
`
`me
`
`emu
`
`
`
`tom_m__m._mn_
`
`09...\
`
`
`
`
`
`Emu,moEuK305%
`
`>595?”—
`
`hmucwaxm
`
`.Qowccoo
`
`.mESxm
`
`944
`mK
`
`OK
`
`Page 7 of 21
`
`Page 7 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 7 of 13
`
`US 6,934,774 B1
`
`93/
`
`
`
`088
`
`
`
`
`
`
`
`??un Jepuedx? OWI Áue?a?udoud
`
`008_^
`
`
`
`99409Z
`
`03/
`
`Page 8 of 21
`
`

`

`U.S. Patent
`US. Patent
`
`Aug. 23, 2005
`Aug. 23, 2005
`
`Sheet 8 of 13
`Sheet8 0f13
`
`US 6,934,774 B1
`US 6,934,774 B1
`
`mm:
`
`wxEnema:
`
`mmem
`
`Emm..w:§oo
`
`mtoa
`
`m..GE
`
`5:08:00298gmBram
`
`< 0
`
`>
`
`009
`00m
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 9 of 21
`
`Page 9 of 21
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 9 of 13
`
`US 6,934,774 B1
`
`1OOO
`
`^
`
`
`
`108O
`
`
`
`1075
`
`FIG 10
`
`Page 10 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 10 0f 13
`
`US 6,934,774 B1
`
`1OO
`
`Application B
`
`Message
`
`Dispatcher
`
`FIG 11A(PRIOR ART)
`
`
`
`
`
`HARDWARE
`
`
`
`GUI based Operating System
`
`MOUSE Related Message(s)
`WM MOUSEDOWN
`WMMOUSEUP, etc
`
`Power Management Related
`Message(s)
`WM SHUTDOWN
`WMSUSPEND, etc.....
`
`
`
`
`
`
`
`Application Software A
`(E.g. Word Processor Software)
`
`Application Software B
`(E.g. Battery Monitor)
`
`FIG 11 B(PRIOR ART)
`
`
`
`
`
`
`
`
`
`
`
`Page 11 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 11 of 13
`
`US 6,934,774 B1
`
`incoming Event
`
`f030
`
`MESSAGE Analyze Unit
`
`indication UNIT
`
`indication to End-user
`
`F.G. 12
`
`
`
`Command from
`Message Handler
`
`SAFE TO REMOVE
`
`F.G. 14
`
`Page 12 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 12 of 13
`
`US 6,934,774 B1
`
`
`
`
`
`Operating
`ystem
`
`(b) OS Detects
`the Event
`
`(c) OS Sends
`Device Arrival
`Message to All
`Application
`
`S.
`
`S.
`
`This Method
`
`Message
`Hander
`
`indication
`Unit
`
`f004
`
`1305
`
`saEE to
`REMOVE/INSERT
`
`O05
`
`(d)
`Hook the Message
`1316
`
`(e)
`If the Device is
`Reduired to
`indicate
`the Configuration
`State, Send
`Command
`"CONFIGURATION
`N PROGRESS
`to Display Unit
`
`(g) OS Sends
`Configuration
`Completed
`Message to All
`Application
`
`(h)
`Hook the Message
`so A S
`
`f326
`
`(f)
`CONFEGURAON
`in PROGRESS
`
`i)Send a
`ommand
`"READY" to
`Display Unit
`
`f33O
`
`f332
`
`1334
`
`(k) SAVE TO
`REMOVE/INSERT
`
`FIG. 13
`
`Page 13 of 21
`
`

`

`U.S. Patent
`
`Aug. 23, 2005
`
`Sheet 13 of 13
`
`US 6,934,774 B1
`
`;
`
`2 Na&CEboGGOSBen 1421
`Circled in red is the icon and it means "SAFE TO REMOVE/INSER"
`FIG.15A
`
`
`
`Yellow area is actual size of icon. The icon is animated.
`FIG.15B
`
`
`
`Yellow area is actual size of icon. The icon is animated.
`FIG.15C
`
`Page 14 of 21
`
`

`

`US 6,934,774 B1
`
`1
`METHOD AND SYSTEM FOR RELIABLE
`DEVICE CONFIGURATION IN A
`COMPUTER SYSTEM
`
`FIELD OF THE INVENTION
`The present invention relates generally to providing noti
`fication of the Status of a configuration proceSS for a com
`puter coupled to peripheral devices. More particularly, the
`present invention is directed towards providing notification
`of the Status of a configuration process in a personal com
`puter coupled to peripheral devices by universal Serial bus
`(USB) connectors.
`BACKGROUND OF THE INVENTION
`Compact personal computers typically have a limited
`number of peripheral device ports. A problem that has
`developed is that there are a large variety of different device
`ports and different manufacturers developed proprietary
`interfaces for peripheral device ports which were incompat
`ible with each other. One way that has been developed to
`increase the number of different peripheral devices that can
`be coupled to a personal computer is through a Standard
`industry interface connector port.
`There are Several industry Standard Serial bus interfaces.
`One of the most commonly used in the universal serial bus
`interface (USB). USB is a standard interface for connecting
`peripheral devices to the System bus of a personal computer.
`USB is a fast, bi-directional, isochronous, low-cost, dynami
`cally attachable Serial interface. It is now commonly used for
`attaching personal computers to a wide variety of other
`peripheral input/output (I/O) devices, Such as monitors, disk
`drives, modems, mice, printers, Scanners, game controllers,
`keyboards, and other peripherals. With USB there is a single
`connector type, which permits all USB devices to plug into
`the same USB Socket type. It is common for personal
`computers and notebook computers to include at least one
`USB port.
`A USB operating System has Software program Subrou
`tines which monitor the bus’s topology and that control
`access to USB resources. A USB hub is responsible for
`transferring data upstream (to the computer) and down
`Stream (from the computer to peripheral devices). A personal
`computer typically has a root hub, which commonly con
`tains one or two USB ports. The root hub may be connected
`to other external hubs, thereby permitting a large number of
`peripheral devices to be coupled to a personal computer via
`an auxiliary hub, as shown in prior art FIGS. 1-2.
`USB uses a token-based bus architecture. USB initializa
`tion software permits USB devices to be added or removed
`at any time via an enumeration process, i.e., USB connectors
`permit So-called "hot plugging in which new devices can be
`coupled or uncoupled while the computer is in operation.
`Whenever a peripheral device is added or removed the
`change in topology is recognized by the personal computer
`and appropriate drivers are loaded So that the device is
`almost immediately available for use.
`One goal of USB is true “plug and play' operation in
`which the user can dynamically couple peripheral devices to
`a personal computer for immediate use. Once a device is
`coupled to the PC host, the device is enumerated by the USB
`initialization Software and assigned a unique identifier.
`However, in practice the configuration proceSS can require a
`Significant amount of time. The time required for the con
`figuration process to be completed will depend upon many
`factors, Such as the type of drivers that must be loaded and
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`the complexity of the System, but will typically be at least
`Several Seconds. One problem caused by this is that the user
`may attempt to use the computer before the operating System
`has completed loading the drivers and applicable housekeep
`ing activities. This may cause a System error. Another
`problem is that serious operating System (O/S) problems
`may result if a USB device is inserted and then removed
`before the bus topology is reconfigured. For example, if the
`plug and play device is inserted and then removed before
`Successful reconfiguration, the O/S will not have completely
`finished processing the device configuration and its corre
`sponding event. This may cause the USB bus to crash such
`that the other peripheral devices will not work properly.
`Similarly, a USB bus crash may occur if the user changes the
`type of device coupled to a USB socket before the bus
`topology has a chance to become reconfigured. For example,
`a user may first connect a printer to a USB Socket and then
`change his or her mind and eXchange the printer for a
`Scanner. If the changeover occurs too rapidly the bus topol
`ogy will not have Sufficient time to complete the configu
`ration process when the printer is connected or removed
`such that a USB bus crash may occur.
`Known prior art Systems do not directly notify a user of
`the Status of the reconfiguration proceSS. For example, the
`Windows(R 98 operating system changes the mouse cursor
`to an hourglass icon whenever a USB device is plugged or
`unplugged. The hourglass icon disappears a short time after
`configuration is completed. However, one problem with
`using the hourglass icon is that it may be hard for the user
`to see it. For example, if the cursor is at the edge of the
`Screen it may be hard to See the hourglass icon. There can
`also be a significant time delay before the hourglass icon is
`displayed by the system. Another problem is that the hour
`glass icon is generically used to indicate that the computer
`is busy and cannot be distinctly interpreted to mean that the
`USB device is being Set up. Consequently, an hourglass icon
`may not provide a clear enough indication that the user
`should wait to couple/uncouple USB connectors. Most
`importantly, the hourglass icon does not directly inform the
`user exactly when it is Safe for the user to couple or uncouple
`USB connectors. It is merely a general icon that indicates
`that the operating System is busy and does not display the
`Status of the configuration process.
`What is desired is a new apparatus and method for
`providing real time notification of the progreSS of a con
`figuration proceSS for a computer coupled to other devices or
`Systems by a Serial bus, Such as a personal computer coupled
`to peripheral devices by a USB interface.
`
`SUMMARY OF THE INVENTION
`A goal of the present invention is to improve the reliability
`of a configuration process for a computer coupled to a
`peripheral device via a Serial bus interface. Broadly
`Speaking, the present invention is directed towards provid
`ing real-time information to a user which will assist the user
`to avoid coupling or decoupling peripheral devices to the
`computer at inappropriate times.
`The apparatus of the present invention generally com
`prises a computer System including: a computer having at
`least one Serial bus port for coupling peripheral devices to
`the computer; an operating System residing on the computer
`programmed to dynamically configure the computer System,
`the operating System having a first Subroutine for generating
`a first internal message indicative of the operating System
`Sensing a change in the number of devices coupled to Said
`computer and a Second Subroutine for generating a Second
`
`Page 15 of 21
`
`

`

`US 6,934,774 B1
`
`3
`message indicative of Said operating System completing a
`configuration process, and a configuration notification pro
`gram residing on the computer receiving the first and the
`Second messages and creating a visual display notifying the
`user in real time when it is unsafe to remove or insert a plug
`and play device. In a preferred embodiment, the configura
`tion notification program comprises a message handler
`residing on the computer, the message handler hooking the
`first and the Second messages, the message handler includ
`ing a message analyzer unit and a State determination unit
`arranged to provide a first output Signal when the configu
`ration proceSS is in progreSS and a Second output signal when
`the configuration process is completed; and an indication
`unit residing on the computer and coupled to the output of
`the message handler, the indication unit generating a visual
`display notifying the user when it is unsafe to remove or
`insert a plug and play device.
`The method of the present invention for providing noti
`fication of the Status of a reconfiguration process of an
`operating System of a computer coupled to peripheral
`devices generally includes the Steps of detecting an event
`message generated by the operating System whenever the
`number of the peripheral devices coupled to the computer
`changes, determining if the detection message corresponds
`to a change in the number or type of the peripheral devices
`requiring that a user be notified; notifying the user that a
`configuration proceSS is in progreSS, detecting a completion
`message generated by the operating System when the con
`figuration process is completed; determining if the comple
`tion message corresponds to a change in the number or type
`of the peripheral devices requiring that the user be notified
`that the configuration process is completed; notifying the
`user that the configuration process is complete; and notify
`ing the user that it is Safe to change the number or type of
`peripheral devices coupled to the computer.
`One object of the present invention is a method and
`apparatus to reduce the frequency of universal Serial bus
`crashes. In a preferred embodiment of a compact personal
`computer, a compound hub performing a port replication
`function is used to reduce the number of connectors attached
`to the case of the computer. The configuration notification
`unit generates a warning to the user when configuration is in
`proceSS Such that it is unsafe to couple or decouple a
`peripheral device to the computer, thereby reducing the
`frequency with which users couple or decouple peripheral
`devices at inappropriate times.
`Another object of the present invention is a method and
`apparatus for providing prompt notification to the user when
`configuration is complete, thereby assisting the user to
`determine when the computer System is ready for further
`action.
`Still another object of the present invention is method and
`apparatus to notify users when it is Safe to couple or
`decouple peripheral devices to a computer.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 depicts a prior art computer System in which the
`computer is coupled to a peripheral device by a universal
`serial bus hub.
`FIG. 2 depicts a prior art computer System in which a
`computer is coupled to a peripheral device via nested
`universal serial bus hubs.
`FIG. 3 is a block diagram of a prior art hub.
`FIG. 4 is a block diagram of a prior art compound hub.
`FIG. 5A is perspective of a preferred compound hub
`having a plurality of connector ports.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`FIG. 5B is a block diagram of the electronic function of
`the hub shown in FIG. 5A.
`FIG. 6A is an illustrative side view of a compact portable
`computer.
`FIG. 6B is a perspective view of the computer of FIG. 6A.
`FIG. 7 is a rear view of the case of a conventional portable
`computer, showing the relative area of common connector
`ports.
`FIG. 8 is a rear view of the case of a conventional compact
`portable computer coupled to a conventional port replicator,
`showing the relative area of common connector ports.
`FIG. 9 shows a rear view of a preferred compact computer
`coupled to a compound port Similar to that shown in FIG.
`5A.
`FIG. 10 shows a preferred embodiment of the configura
`tion notification System of the present invention.
`FIG. 11A is a schematic block diagram illustrating how
`conventional operating Systems dispatch event messages to
`application programs.
`FIG. 11B is a functional block diagram showing the flow
`of internal messages in a conventional operating System.
`FIG. 12 is a functional block diagram of the configuration
`notification unit of the present invention.
`FIG. 13 is a flow chart showing a preferred method of
`operation of the configuration notification unit of FIG. 12.
`FIG. 14 is a block diagram showing the display outputs of
`the identification unit of FIG. 12.
`FIG. 15 shows preferred display screen implementations
`of the outputs of FIG. 14.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`As shown in FIG. 1, a serial bus interface may be used to
`connect peripheral device 40 to a computer 10. A commonly
`used Serial bus interface is the universal Serial buS interface
`(USB). While a single peripheral device could be coupled
`via a USB connector, it is common to couple Several devices
`to a computer via a hub. As shown in FIG. 1, USB cables 80
`may couple one or more peripheral devices to computer 10
`via a hub 30. As shown in FIG. 2, several hubs can be
`coupled together to further increase the potential number of
`peripheral devices coupled to a computer. AS indicated in
`FIG.2, with USB, peripheral devices can be nested up to five
`hub (30A-E) levels deep such that up to 127 I/O devices
`may be connected to one personal computer using the USB
`interface.
`FIG. 3 is a block diagram of a conventional hub 330. Hub
`330 includes an upstream connector 335 for communicating
`with computer 10. A repeater 340, controller 345, and power
`control 350 are arranged to control the flow of data between
`upstream connector 335 and downstream connectors 355.
`FIG. 4 is a block diagram of a compound hub 430. Com
`pound hub 430 includes an upstream connector 435, and a
`repeater 440, controller 445, and power control 450.
`However, in addition to downstream connectors 455, it has
`embedded I/O devices 460. These embedded I/O devices
`may comprise any conventional I/O device communicating
`with computer 10 via a USB interface, i.e., the I/O devices
`are integrated into the hub and provided with control circuits
`that permit them to communicate to the computer via the
`USB interface. Repeater 440, controller 455, and power
`control 450 are arranged to control the flow of data between
`upstream connector 435, downstream connectors 455 and
`embedded devices 460.
`
`Page 16 of 21
`
`

`

`US 6,934,774 B1
`
`15
`
`25
`
`S
`FIG. 5A is a profile view of a compound hub 530
`manufactured by Fujitsu, Ltd. of Japan, the assignee of the
`present invention, and sold as the Fujitsu Universal LAN
`Hub(R). Compound hub 530 includes an upstream USB port
`510, several downstream USB ports 515, 520, and 525,
`Several peripheral device connectors, Such as a "parallel”
`connector port 540, a PS/2 keyboard port connector 550, an
`RJ-45 Ethernet connector port 560, an RS232-type commu
`nications connector port 570, a PS/2 mouse connector port
`580, along with a volume control 585, and a headphone jack
`590. FIG. 5B is a functional block diagram of compound hub
`530. As can be seen in FIG. 5B, each of the connector ports
`functions as an embedded USB I/O device, i.e., communi
`cates to an upstream computer via the USB upstream port.
`Compound hub 530 provides an important benefit for
`portable computers with a limited number of connector
`ports. AS used in this application, a portable computer
`includes, but is not limited to, laptop computers, notebook
`computers, and other types of compact portable computing
`devices. FIG. 6A is side view of compact notebook com
`puter 600, while FIG. 6B is a profile view of the compact
`notebook computer 600. As shown in FIGS. 6A and 6B,
`computer 600 has a case 610. Within case 610 resides a
`compact electronic computer CPU 620. A display 640 is
`coupled to computer 600 in a conventional folding clamshell
`arrangement. Computer 600 typically has at least one uni
`versal serial bus connector (not shown in FIGS. 6A and 6B)
`disposed along a rear 630 or side surface 632 of case 610.
`One limitation to the size of computer 600 is the physical
`Size and weight of the connectorS required to couple the
`computer to peripheral devices. Generally Speaking, it is
`desirable to be able to couple a computer to many different
`types of peripheral devices, Such as printers, Scanners, mice,
`disk drives, etc. However, while the size of personal com
`puters continues to shrink, the physical size of the connec
`35
`tors required to form a signal link to peripheral devices has
`not decreased.
`FIG. 7 is a view of the rear surface of a computer case of
`a conventional all-in-one portable computer 700. Computer
`700 is an all-in-one computer in the sense that it has all of
`the commonly desired connector ports. These include a
`keyboard port 715, a mouse port 710, an audio port 720, a
`modem port 725, an infrared (IrDA) port 730, a monitor port
`735, two USB ports 740, a parallel port 745, a serial port
`750, a proprietary external expander connector 755, and a
`LAN port 760. The relative area of various connector ports
`is shown in FIG. 7. As can be seen in FIG. 7, a considerable
`amount of area is required for these connector ports.
`Additionally, the connector ports and associated internal
`mechanical and electrical components significantly increase
`the total volume and weight of computer 700.
`External port replicators are one way to increase the
`number of effective ports coupled to a computer. FIG. 8
`shows a conventional compact portable computer 800
`coupled to a conventional proprietary I/O expander 880. As
`can be seen in FIG. 8, some of the peripheral device
`connector ports, such as keyboard port 815, mouse port 810,
`serial bus port 855 and parallel port 845 now reside in
`expander unit 880, which replicates the function of some or
`all of the ports of an all-in-one portable computer. However,
`in this conventional arrangement Space is still required for
`proprietary external expander connector port 860, which is
`required to couple to a corresponding female expander
`connector 870 on expander 880.
`FIG. 9 shows the rear Surface 902 of an embodiment of a
`compact computer 900 of the present invention developed
`by the inventors for use with the compound hub 530 shown
`
`6
`in FIG. 5. A single USB port 905 is used to couple signals
`to external hub 530. Most of the large area peripheral device
`connector ports of a conventional all-in-one computer are
`now disposed on hub 530 and are connected to the computer
`900 via the USB port 905. Additionally, external expander
`connector port 755 is eliminated in computer system 900.
`Comparing FIGS. 7, 8, and 9, it can be seen that computer
`900 requires a reduced area of rear surface 902 to be devoted
`to connectors. Moreover the associated internal Volume and
`weight of the connectors disposed in computer 900 is also
`reduced, permitting a reduction in the total Volume and
`weight of computer 900. Consequently, computer 900 can be
`reduced in size and perform an all-in-one function. Note also
`that the total number of ports, particularly USB ports, is
`increased compared to computer 700. Consequently, the
`inventive computer system 900 of FIG. 9 reduces the size
`and weight of computer 900 while permitting a greater
`number of peripheral devices to be coupled to computer 900.
`The computer system 900 shown in FIG. 9 is particularly
`useful for compact notebook computers in which it is
`desirable to reduce the height, h, and width, W, of a computer
`900, as indicated in FIG. 9. However, computer system 900
`could also be generalized to other compact electronic com
`puter Systems in which a electronic computer unit is coupled
`via a serial bus connector 905 to a compound hub 530.
`Referring to FIG. 9, it can be seen that in a preferred
`embodiment of system 900 that there are three USB down
`Stream ports and Six peripheral device ports disposed on
`compound hub 530. The six peripheral device ports function
`as embedded USB devices. Consequently, all of the nine
`ports function as hot-pluggable USB ports, i.e., computer
`900 monitors the Status of all nine ports and dynamically
`reconfigures computer system 900 whenever a device is
`coupled or uncoupled from one of the ports. Consequently,
`the frequency of hot-plugging of computer system 900 will
`tend to be significantly greater than for a conventional
`portable computer 700. This increases the risk of a system
`error if a user does not wait while the System is being
`reconfigured each time a device is plugged or unplugged.
`In developing computer system 900 the inventors discov
`ered that the frequency of USB bus crashes increased
`compared to a conventional computer 700. The inventors
`believe that one explanation for this is that a more complex
`buS topology is created. The inventors believe that another
`explanation is that conventional O/S Software and drivers
`may not be as robust to reconfiguration errors as generally
`believed. Still another explanation is that the increased
`number of effective USB ports of computer system 900
`tends to increase the frequency of hot plugging, thereby
`increasing the likelihood that a user will not wait a Suffi
`ciently long period of time for system 900 to configure itself
`before unplugging one USB device and inserting another
`USB device.
`Conventional operating Systems do not provide a direct
`notification to the user of what is happening in the internal
`operating System during the reconfiguration process.
`Consequently, the user does not know exactly when the
`operating System has completed the configuration process.
`To reduce the frequency of USB bus crashes, the inventors
`developed an apparatus and method to provide direct noti
`fication to the user of the Status of the configuration process
`in system 900.
`FIG. 10 shows a block diagram of the inventive notifi
`cation system 1000. A computer unit 1010 has an operating
`system 1020 residing on it. Computer 1010 has a display
`1040 and a downstream USB connector 1050 coupled to the
`case 1060. Computer 1010 preferably also has a speaker
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 17 of 21
`
`

`

`US 6,934,774 B1
`
`15
`
`7
`1035 for providing an audio output. Computer 1010 may be
`any type of computer but is preferably a compact personal
`computer, Such as a notebook computer. A Standard USB
`cable 1055 couples USB connector 1050 to other devices,
`preferably via a hub 1070. Hub 1070 may be any type of
`USB hub, but is preferably a compound USB hub. Hub 1070
`preferably has at least one embedded device 1075 or at least
`one embedded connector 1080 in order to increase its
`functionality. Hub 1070 also preferably includes at least one
`downstream USB port 1090.
`As shown in FIG. 10, a software program which is a
`configuration notification unit 1030 resides on computer
`1010. As described below in more detail, configuration
`notification unit 1030 provides notification to the user,
`preferably via display 1040 and speaker 1035, of when the
`configuration process is complete Such that it is Safe to
`couple/uncouple devices to computer 1010 via hub 1070.
`The function and operation of configuration notification
`unit 1030 is illustrated in FIGS. 11-15. FIG. 11A is a block
`diagram of a conventional operating system 1100. The
`operating System detects incoming events requiring action
`and transmits internal messages about these events to coor
`dinate the activities of System resources. The operating
`System includes Subroutines for generating internal mes
`Sages alerting other components that an event has been
`25
`detected and that the configuration process is completed. AS
`one example, an incoming event may be a keyboard input.
`For peripheral devices coupled by Serial bus connectors to a
`computer, the operating System Senses changes in the bus
`topology whenever a device is coupled or uncoupled from
`the computer. AS shown in FIG. 11A, an operating System
`includes Subroutines which converts an incoming event 1110
`into a corresponding message 1120 before dispatching it via
`a dispatcher 1130 to other applications or components, Such
`as the application Software 1140 and device drivers 1160.
`Referring to FIG. 11B, in the conventional graphical user
`interface (GUI) operating system of the Windows(R O/S,
`operations Such as mouse clicking, keyboard typing and
`powering the System on/off, causes the operating System to
`generate message(s) using the information from the device
`driver. The messages which are thus generated are then sent
`to all application Software running on the operating System.
`All running application Software thus receives the message
`(s) notifying them about a hardware status change. Each
`application then processes the message if the message is
`applicable or otherwise related to the application. FIG. 11B
`shows Some of the messages related Specifically to the
`Windows(RO/S. The O/S Software used to generate these
`internal messages are well known in the art.
`Referring again to FIG. 11A, for peripheral devices, each
`message contains information about the detected device. If
`one of the components, Such as the application Software or
`device drivers, has the capability to handle the event, then
`the component can capture the event and process it. Note
`that in a conventional operating System t

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