DE10061991A1 - Verfahren und System zur zuverlässigen Gerätekonfiguration in einem Computersystem - Google Patents

Verfahren und System zur zuverlässigen Gerätekonfiguration in einem Computersystem

Info

Publication number
DE10061991A1
DE10061991A1 DE10061991A DE10061991A DE10061991A1 DE 10061991 A1 DE10061991 A1 DE 10061991A1 DE 10061991 A DE10061991 A DE 10061991A DE 10061991 A DE10061991 A DE 10061991A DE 10061991 A1 DE10061991 A1 DE 10061991A1
Authority
DE
Germany
Prior art keywords
computer
message
user
configuration
configuration process
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
DE10061991A
Other languages
English (en)
Inventor
Rajesh Sundaram
Toshiya Miyazaki
Isamu Yamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE10061991A1 publication Critical patent/DE10061991A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Eine Konfigurationsbenachrichtigungseinheit überwacht interne Nachrichten, die von einem Betriebssystem eines Computers erzeugt werden und mit einem Gerätekonfigurationsprozess für Plug-and-Play-Geräte zusammenhängen, die über eine serielle Busschnittstelle an den Computer angeschlossen werden. Die Konfigurationsbenachrichtigungseinheit gibt eine Warnung an den Benutzer in Echtzeit aus, wenn es unsicher ist, die Anzahl von an den Computer angeschlossenen Vorrichtungen zu verändern. Bei einer bevorzugten Ausführungsform umfasst die Konfigurationsbenachrichtigungseinheit einen Nachrichtenhandhaber, der mit einer Hinweiseinheit verbunden ist.

Description

GEBIET DER ERFINDUNG
Die vorliegende Erfindung betrifft allgemein das Vorsehen einer Benachrichtigung über den Status eines Kon­ figurationsprozesses für einen Computer, der mit Periphe­ riegeräten verbunden ist. Spezieller ist die vorliegende Erfindung auf das Vorsehen einer Benachrichtigung über den Status eines Konfigurationsprozesses in einem Personalcom­ puter gerichtet, der über USB-Anschlüsse (universal serial bus = universeller serieller Bus) mit Peripheriegeräten verbunden ist.
HINTERGRUND DER ERFINDUNG
Kompakte Personalcomputer weisen typischerweise eine begrenzte Anzahl von Peripheriegerätanschlüssen bezie­ hungsweise -Ports auf. Ein Problem, das sich entwickelt hat, besteht darin, dass es eine große Vielfalt von unter­ schiedlichen Geräteanschlüssen gibt und verschiedene Her­ steller gesetzlich geschützte Schnittstellen für Periphe­ riegerätanschlüsse entwickelt haben, die inkompatibel mit­ einander sind. Ein Weg, der entwickelt wurde, um die Anzahl von unterschiedlichen Peripheriegeräten zu erhöhen, die an einen Personalcomputer angeschlossen werden kann, besteht in einem Standard-Industrieschnittstellenanschluss-Port.
Es existieren verschiedene Industriestandards für serielle Busschnittstellen. Eine der am häufigsten verwen­ deten ist die universelle serielle Busschnittstelle (USB). USB ist eine Standartschnittstelle, um Peripheriegeräte mit dem Systembus eines Personalcomputer zu verbinden. USB ist eine schnelle, bidirektionale, isochrone, kostengünstige, dynamisch anschließbare, serielle Schnittstelle. Sie wird nun häufig verwendet, um Personalcomputer an eine große Vielfalt von anderen Peripherie-Eingabe/Ausgabe (I/O) Vor­ richtungen anzuschließen, wie beispielsweise Monitore, Plattenlaufwerke, Modems, Mäuse, Drucker, Scanner, Spiele- Controller, Tastaturen und andere Peripheriegeräte. Beim USB gibt es einen einzigen Anschlusstyp, der es ermöglicht, alle USB-Geräte in den gleichen USB-Buchsentyp einzuste­ cken. Es ist üblich, dass Personalcomputer und Notebookcom­ puter zumindest einen USB-Port aufweisen.
Ein USB-Betriebssystem weist Softwareprogramm- Subroutinen auf, die die Topologie des Busses überwachen und die den Zugriff auf die USB-Resourcen steuern. Ein USB- Hub ist dafür verantwortlich, Daten aufwärts beziehungswei­ se upstream (zu dem Computer) und abwärts beziehungsweise downstream (von dem Computer zu Peripheriegeräten) zu über­ tragen. Ein Personalcomputer weist typischerweise einen Wurzel- beziehungsweise Root-Hub auf, der üblicherweise ei­ nen oder zwei USB-Ports enthält. Der Root-Hub kann mit an­ deren externen Hubs verbunden werden, wodurch es einer gro­ ßen Anzahl von Peripheriegeräten ermöglicht wird, über ei­ nen zusätzlichen Hub an einen Personalcomputer angeschlos­ sen zu werden, wie dies in den Fig. 1-2 dargestellt ist, die den Stand der Technik zeigen.
USB verwendet eine Busarchitektur auf Tokenbasis. Die USB-Initialisierungssoftware erlaubt es, dass USB- Geräte zu jedem Zeitpunkt über einen Nummerierungssprozess hinzugefügt oder entfernt werden können, das heißt, USB- Anschlüsse erlauben ein sogenanntes "Hotplugging" bei dem neue Geräte angeschlossen oder entfernt werden können, während der Computer in Betrieb ist. Immer wenn ein Periphe­ riegerät hinzugefügt oder entfernt wird, wird die Änderung in der Topologie durch den Personalcomputer erkannt und ge­ eignete Treiber werden geladen, so dass die Vorrichtung na­ hezu unmittelbar zur Verwendung bereit ist.
Ein Ziel von USB besteht im echten "plug-and- play-"Betrieb, bei dem der Benutzer Peripheriegeräte zur unmittelbaren Benutzung dynamisch an einem Personalcomputer anschließen kann. Sobald ein Gerät an den PC-Host ange­ schlossen wird, wird das Gerät durch die USB- Initialisierungssoftware nummeriert und es wird ihm eine eindeutige Identifizierung zugeordnet. In der Praxis kann der Konfigurationsprozess jedoch einen signifikanten Zeit­ abschnitt erfordern. Die zum Abschluss des Konfigurations­ prozesses erforderliche Zeit hängt von vielen Faktoren ab, beispielsweise vom Typ der Treiber, die geladen werden müs­ sen, und von der Komplexität des Systems, sie beträgt typi­ scherweise jedoch zumindest einige Sekunden. Ein dadurch verursachtes Problem besteht darin, dass der Benutzer ver­ suchen könnte, den Computer zu benutzen, bevor das Be­ triebssystem das Laden der Treiber und die anwendbaren Sys­ temverwaltungsaktivitäten abgeschlossen hat. Dies kann ei­ nen Systemfehler verursachen. Ein anderes Problem besteht darin, dass ernsthafte Betriebssystem-(Operating System = O/S-)Probleme auftreten können, wenn ein USB-Gerät hinzu­ gefügt und dann entfernt wird, bevor die Bustopologie wie­ der konfiguriert ist. Beispielsweise wenn das plug-and- play-Gerät hinzugefügt und dann vor der erfolgreichen Wie­ der-Konfiguration entfernt wird, hat das O/S die Bearbei­ tung der Gerätekonfiguration und seine entsprechenden Vor­ gänge noch nicht vollständig abgeschossen. Dies kann einen Crash beziehungsweise Absturz des USB-Busses derart verur­ sachen, dass die anderen Peripheriegeräte nicht korrekt ar­ beiten. In ähnlicher Weise kann ein Absturz des USB-Busses auftreten, wenn der Benutzer den Typ eines an die USB- Buchse angeschlossenen Gerätes ändert, bevor die Bustopolo­ gie eine Chance hat, wieder-konfiguriert zu werden. Bei­ spielsweise kann ein Benutzer zuerst einen Drucker mit ei­ ner USB-Buchse verbinden und dann seine oder ihre Meinung ändern und den Drucker durch einen Scanner austauschen. Wenn der Austausch zu schnell erfolgt, hat die Bustopologie nicht ausreichend Zeit, um den Konfigurationsprozess abzu­ schließen, wenn der Drucker angeschlossen oder entfernt wird, so dass ein Absturz des USB-Busses auftreten kann.
Bekannte Systeme benachrichtigen einen Benutzer nicht direkt über den Status des Wieder- Konfigurationsprozesses. Beispielsweise verändert das Win­ dows® '98-Betriebssystem den Mauscursor immer zu einem Sanduhr-Icon, wenn ein USB-Gerät eingesteckt oder aus­ gesteckt wird. Das Sanduhr-Icon verschwindet kurz nachdem die Konfiguration abgeschlossen ist. Ein Problem bei der Benutzung des Sanduhr-Icons besteht jedoch darin, dass es für den Benutzer schwierig sein kann, es zu sehen. Bei­ spielsweise wenn sich der Cursor an der Kante des Bild­ schirms befindet, kann das Sanduhr-Icon schwer zu sehen sein. Weiterhin kann eine signifikante Zeitverzögerung auf­ treten, bevor das Sanduhr-Icon durch das System angezeigt wird. Ein anderes Problem besteht darin, dass das Sanduhr- Icon generell verwendet wird, um anzuzeigen, dass der Com­ puter beschäftigt ist, und es kann daher nicht eindeutig interpretiert werden, dass es bedeutet, dass eine Installa­ tion beziehungsweise ein Set-Up des USB-Geräts erfolgt.
Folglich kann ein Sanduhr-Icon keinen ausreichend klaren Hinweis ergeben, dass der Benutzer warten sollte, USB- Anschlüsse zu verbinden/zu trennen. Ein wichtiger Punkt be­ steht darin, dass das Sanduhr-Icon den Benutzer nicht di­ rekt informiert, wann genau es für den Benutzer sicher ist, USB-Anschlüsse zu verbinden oder zu trennen, es ist ledig­ lich ein allgemeines Icon, das darauf hinweist, dass das Betriebssystem beschäftigt ist und den Status des Konfigu­ rationsprozesses anzeigt.
Was erwünscht ist, ist eine neue Vorrichtung und ein neues Verfahren, um eine Echtzeitbenachrichtigung über den Fortschritt eines Konfigurationsprozesses für einen Computer vorzusehen, der mit anderen Geräten oder Systemen durch einen seriellen Bus verbunden ist, beispielsweise ei­ nen Personalcomputer, der durch eine USB-Schnittstelle mit Peripheriegeräten verbunden ist.
ZUSAMMENFASSUNG DER ERFINDUNG
Ein Ziel der vorliegenden Erfindung besteht dar­ in, die Zuverlässigkeit eines Konfigurationsprozesses für einen Computer zu verbessern, der über eine serielle Bus­ schnittstelle mit einem Peripheriegerät verbunden ist. All­ gemein ausgedrückt, ist die vorliegenden Erfindung darauf gerichtet, für den Benutzer eine Echtzeitinformation vorzu­ sehen, die den Benutzer dabei unterstützt, es zu vermeiden, Peripheriegeräte zu ungeeigneten Zeitpunkten an den Compu­ ter anzuschließen oder zu entfernen.
Die Vorrichtung gemäß der vorliegenden Erfindung weist allgemein ein Computersystem auf, das umfasst: einen Computer mit zumindest einem seriellen Bus-Port, um Peri­ pheriegeräte an den Computer anzuschließen; ein sich auf dem Computer befindendes Betriebssystem, das dazu program­ miert ist, das Computersystem dynamisch zu konfigurieren, wobei das Betriebssystem zumindest eine erste Subroutine zum Erzeugen einer ersten internen Nachricht aufweist, die darauf hinweist, dass das Betriebssystem eine Veränderung der Anzahl von an den Computer angeschlossenen Geräten er­ fasst, und eine zweite Subroutine zum Erzeugen einer zwei­ ten Nachricht, die darauf hinweist, dass das Betriebssystem einen Konfigurationsprozess abschließt; und ein auf dem Computer befindliches Konfigurationsbenachrichtigungspro­ gramm, dass die erste und die zweite Nachricht empfängt und eine visuelle Anzeige erzeugt, die den Benutzer in Echtzeit benachrichtigt, wenn es unsicher ist, ein plug-and-play- Gerät zu entfernen oder hinzuzufügen. Bei einer bevorzugten Ausführungsform weist das Konfigurationsbenachrichtigungs­ programm einen auf dem Computer befindlichen Nachrichten­ handhaber beziehungsweise Message-Handler auf, wobei der Nachrichtenhandhaber die ersten und zweiten Nachrichten hookt, wobei der Nachrichtenhandhaber eine Nachrichtenana­ lyseeinheit und eine Zustandsbestimmungseinheit umfasst, die vorgesehen sind, um ein erstes Ausgangssignal vorzuse­ hen, wenn der Konfigurationsprozess läuft, und ein zweites Ausgangssignal, wenn der Konfigurationsprozess abgeschlos­ sen ist; und eine Hinweiseinheit, die sich auf dem Computer befindet und mit dem Ausgang des Nachrichtenhandhabers ver­ bunden ist, wobei die Hinweiseinheit eine visuelle Anzeige erzeugt, die den Benutzer darüber benachrichtigt, wenn es unsicher ist, ein plug-and-play-Gerät zu entfernen oder hinzuzufügen.
Das Verfahren gemäß der vorliegenden Erfindung zum Vorsehen einer Benachrichtigung über den Status eines Wieder-Konfigurationsprozesses eines Betriebssystems eines mit Peripheriegeräten verbundenen Computers umfasst allge­ mein die Schritte: Erfassen einer Ereignisnachricht, die von dem Betriebssystem immer dann erzeugt wird, wenn sich die Anzahl der mit dem Computer verbundenen Peripheriegerä­ te ändert; Feststellen, wenn die Erfassungsnachricht einer Veränderung der Anzahl oder des Typs von Peripheriegeräten entspricht, die erfordert, dass ein Benutzer benachrichtigt wird; Benachrichtigen des Benutzers, dass ein Konfigurati­ onsprozess läuft; Erfassen einer Abschlussnachricht, die von dem Betriebssystem erzeugt wird, wenn der Konfigurati­ onsprozess abgeschlossen ist; Feststellen, wenn die Ab­ schlussnachricht einer Veränderung der Anzahl oder des Typs der Peripheriegeräte entspricht, die erfordert, dass der Benutzer darüber benachrichtigt wird, dass der Konfigurati­ onsprozess abgeschlossen ist; Benachrichtigen des Benut­ zers, dass der Konfigurationsprozess abgeschlossen ist; und Benachrichtigen des Benutzers, dass es sicher ist, die An­ zahl oder den Typ von an den Computer angeschlossenen Peri­ pheriegeräten zu verändern.
Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und eine Vorrichtung vorzusehen, um die Häufigkeit von Abstürzen des universellen seriellen Busses zu verringern. Bei einer bevorzugten Ausführungsform eines kompakten Personalcomputers wird ein eine Port- Replikationsfunktion durchführender Verbindungs- bezie­ hungsweise Compound-Hub dazu verwendet, die Anzahl von an dem Gehäuse des Computers befestigten Anschlüssen zu ver­ ringern. Die Konfigurationsbenachrichtigungseinheit erzeugt eine Warnung für den Benutzer, wenn die Konfiguration der­ art läuft, dass es unsicher ist, ein Peripheriegerät an den Computer anzuschließen oder es zu entfernen, wodurch die Häufigkeit verringert wird, mit der Benutzer Peripheriege­ räte zu ungeeigneten Zeitpunkten anschließen oder entfer­ nen. Eine weitere Aufgabe der vorliegenden Erfindung be­ steht darin, ein Verfahren und einen Vorrichtung vorzuse­ hen, um eine prompte Benachrichtigung des Benutzers vorzu­ sehen, wenn die Konfiguration abgeschlossen ist, wodurch der Benutzer dabei unterstützt wird, festzustellen, wann das Computersystem für weitere Vorgänge bereit ist.
Eine noch weitere Aufgabe der vorliegenden Erfin­ dung besteht darin, ein Verfahren und eine Vorrichtung vor­ zusehen, um Benutzer zu informieren, wenn es sicher ist, Peripheriegeräte an einen Computer anzuschließen oder zu entfernen.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 zeigt ein zum Stand der Technik gehören­ des Computersystem, bei dem der Computer durch einen (uni­ verseller serieller Bus) USB-Hub mit einem Peripheriegerät verbunden ist.
Fig. 2 zeigt ein zum Stand der Technik gehören­ des Computersystem, bei dem ein Computer über verschachtel­ te USB-Hubs mit einem Peripheriegerät verbunden ist.
Fig. 3 ist ein Blockschaltbild eines zum Stand der Technik gehörenden Hubs.
Fig. 4 ist ein Blockschaltbild eines zum Stand der Technik gehörenden Compound-Hubs.
Fig. 5A ist eine perspektivische Darstellung von einem bevorzugten Compound-Hub, der eine Vielzahl von An­ schluss-Ports aufweist.
Fig. 5B ist ein Blockschaltbild von der elektronischen Funktion des in Fig. 5A gezeigten Hubs.
Fig. 6A ist eine veranschaulichende Seitenan­ sicht von einem kompakten tragbaren Computer.
Fig. 6B ist eine perspektivische Darstellung des Computer von Fig. 6A.
Fig. 7 ist eine Rückansicht des Gehäuses von ei­ nem herkömmlichen tragbaren Computer, die den entsprechen­ den Bereich von üblichen Anschluss-Ports zeigt.
Fig. 8 ist eine Rückansicht von dem Gehäuse ei­ nes herkömmlichen kompakten tragbaren Computers, der an ei­ nen herkömmlichen Port-Replikator angeschlossen ist, wobei die Figur den entsprechenden Bereich von üblichen An­ schluss-Ports zeigt.
Fig. 9 zeigt eine Rückansicht von einem bevor­ zugten kompakten Computer, der an einen Compound-Port ähn­ lich dem in Fig. 5A dargestellten angeschlossen ist.
Fig. 10 zeigt eine bevorzugte Ausführungsform des Konfigurationsbenachrichtigungssystems gemäß der vor­ liegenden Erfindung.
Fig. 11A ist ein schematisches Blockschaltbild, das zeigt, wie herkömmliche Betriebssysteme Ereignisnach­ richten an Anwendungsprogramme verteilen.
Fig. 11B ist ein Funktions-Blockschaltbild, das den Fluss von internen Nachrichten in einem herkömmlichen Betriebssystem zeigt.
Fig. 12 ist ein Funktions-Blockschaltbild von der Konfigurationsbenachrichtigungseinheit gemäß der vor­ liegenden Erfindung.
Fig. 13 ist ein Flussdiagramm, das ein bevorzug­ tes Verfahren zum Betrieb der Konfigurationsbenachrichti­ gungseinheit von Fig. 12 zeigt.
Fig. 14 ist ein Blockschaltbild, das die Anzei­ geausgaben der Identifikationseinheit von Fig. 12 zeigt.
Fig. 15 zeigt bevorzugte Anzeige- Bildschirmimplementierungen der Ausgaben von Fig. 14.
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
Wie dies in Fig. 1 dargestellt ist, kann eine serielle Busschnittstelle dazu verwendet werden, Periphe­ riegeräte 40 an einen Computer 10 anzuschließen. Eine häu­ fig verwendete serielle Busschnittstelle ist die universel­ le serielle Busschnittstelle (USB). Während ein einzelnes Peripheriegerät über einen USB-Anschluss angeschlossen wer­ den könnte, ist es üblich, mehrere Geräte 40 über einen Hub 30 an einen Computer 10 anzuschließen. Wie dies in Fig. 1 dargestellt ist, können USB-Kabel 80 ein oder mehrere Peri­ pheriegeräte 40 über einen Hub 30 an den Computer 10 an­ schließen. Wie dies in Fig. 2 dargestellt ist, können meh­ rere Hubs miteinander verbunden werden, um die potentielle Anzahl von an einen Computer angeschlossenen Peripheriege­ räten weiter zu erhöhen. Wie dies in Fig. 2 angedeutet ist, können, beim USB, Peripheriegeräte mit bis zu 5 Hub- Leveln tief derart verschachtelt werden, dass bis zu 127 I/O-Geräte an einen Computer unter Verwendung der USB- Schnittstelle angeschlossen werden können.
Fig. 3 ist ein Blockschaltbild von einem her­ kömmlichen Hub 330. Der Hub 330 umfasst einen Aufwärts- be­ ziehungsweise Upstreamanschluss 335, um mit dem Computer 10 zu kommunizieren. Ein Verstärker beziehungsweise Repeater 340, ein Controller 345 und eine Leistungssteuerung 350 sind angeordnet, um den Datenfluss zwischen dem Upstrea­ manschluss 335 und Abwärts- beziehungsweise Downstreamanschlüssen 355 zu steuern. Fig. 4 ist ein Blockschalt­ bild von einem Compound-Hub 430. Der Compound-Hub 435 um­ fasst einen Upstreamanschluss 435 und einen Repeater 440, einen Controller 445 und eine Leistungssteuerung 450. Zu­ sätzlich zu den Downstreamanschlüssen 455 weist er jedoch eingebettete I/O-Geräte 460 auf. Diese eingebetteten I/O- Geräte können jedes herkömmliche I/O-Gerät aufweisen, das mit dem Computer 10 über eine USB-Schnittstelle kommuni­ ziert, das heißt, die I/O-Geräte sind in den Hub integriert und mit Steuerungsschaltungen ausgestattet, die es ihnen erlauben, mit dem Computer über die USB-Schnittstelle zu kommunizieren. Der Repeater 440, der Controller 455 und die Leistungssteuerung 450 sind angeordnet, um den Datenfluss zwischen dem Upstreamanschluss 435 und dem Downstrea­ manschlüssen 455 und den eingebetteten Geräten 460 zu steu­ ern.
Fig. 5A ist eine Profilansicht von einem Com­ pound-Hub 530, der von Fujitsu Ltd., Japan, der Anmelderin der vorliegenden Erfindung, hergestellt und als der Fujitsu Universal LAN Hub® vertrieben wird. Der Compound-Hub 530 umfasst einen Upstream-USB-Port 510, mehrere Downstream- USB-Ports 515, 520 und 525, mehrere Peripheriegerätan­ schlüsse wie beispielsweise einen "Parallel"-Anschluss-Port 540, einen PS/2-Tastatur-Portanschluss 550, einen RJ-45 E­ thernet-Anschluss-Port 560, einen RS232-Typ Kommunikations­ anschluss-Port 570, einen PS/2-Mausanschluss-Port 580, zu­ sammen mit einem Lautstärkeregler 585 und einer Kopfhörer­ buchse 590. Fig. 5B ist ein Funktions-Blockschaltbild von dem Compound-Hub 530. Wie dies in Fig. 5B zu erkennen ist, arbeitet jeder der Anschluss-Ports als ein eingebettetes USB-I/O-Gerät, das heißt, er kommuniziert über den USB- Ubstream-Port mit einem Upstream-Computer.
Der Compound-Hub 530 ergibt einen wichtigen Vor­ teil für tragbare Computer mit einer begrenzten Anzahl von Anschluss-Ports. Entsprechend der Verwendung in dieser An­ meldung umfasst ein tragbarer Computer ohne darauf be­ schränkt zu sein, Laptopcomputern, Notebookcomputer und an­ dere Typen von kompakten tragbaren Computergeräten. Fig. 6A ist eine Seitenansicht eines kompakten Notebookcompu­ ters, während Fig. 6B eine Profilansicht von einem kompak­ ten Notebookcomputer ist. Wie dies in den Fig. 6A und 6B dargestellt ist, weist der Computer 600 ein Gehäuse 610 auf. Innerhalb des Gehäuses 610 befindet sich eine kompakte elektronische Computer-CPU 620. Ein Display 640 ist an dem Computer 600 in einer herkömmlichen Muschelschalenanordnung befestigt. Der Computer 600 weist typischerweise zumindest einen universellen seriellen Busanschluss auf (in den Fig. 6A und 6B nicht dargestellt), der entlang einer Rück- oder Seitenoberfläche 630 des Gehäuses 610 angeordnet ist. Eine Einschränkung der Größe des Computers 600 besteht in der physikalischen Größe und dem physikalischen Gewicht der Anschlüsse, die dazu erforderlich sind, den Computer mit Peripheriegeräten zu verbinden. Allgemein ausgedrückt ist es erwünscht, dazu in der Lage zu sein, einen Computer mit vielen verschiedenen Typen von Peripheriegeräten zu verbin­ den, wie beispielsweise Druckern, Scannern, Mäusen, Disket­ tenlaufwerken etc. Während die Größe von Personalcomputern weiterhin kleiner wird, hat die physikalische Größe der An­ schlüsse, die erforderlich sind, um eine Signalverbindung mit Peripheriegeräten herzustellen, jedoch nicht abgenom­ men.
Fig. 7 ist eine Rückansicht von der hinteren Oberfläche des Computergehäuses (entsprechend einer Drauf­ sicht der Oberfläche 630 von Fig. 6A) eines herkömmlichen tragbaren Kompakt- beziehungsweise All-In-One-Computers 700. Der Computer 700 ist ein Kompaktcomputer in dem Sinn, dass er alle üblicherweise erwünschten Anschluss-Ports auf­ weist. Diese umfassen einen Tastatur-Port 710, einen Maus- Fort 715, einen Audio-Port 720, einen Modem-Port 725, einen Infrarot-(IrDA-)Port 730, einen Monitor-Port 735, zwei USB-Ports 740, einen parallelen Port 745, einen seriellen Port 750, einen gesetzlich geschützten externen Erweite­ rungs- beziehungsweise Expanderanschluss 755 und einen LAN- Port 760. Die entsprechende Fläche von verschiedenen An­ schluss-Ports ist in Fig. 7 gezeigt. Wie dies in Fig. 7 zu erkennen ist, ist ein beachtlicher Flächenanteil für diese Anschluss-Ports erforderlich. Weiterhin vergrößern die Anschluss-Ports und zugeordnete interne mechanische und elektrische Komponenten das Gesamtvolumen und das Gesamtge­ wicht des Computers 700 deutlich.
Externe Port-Replikatoren sind eine Möglichkeit, um die Anzahl von wirksamen mit einem Computer verbundenen Ports zu erhöhen. Fig. 8 zeigt einen herkömmlichen kompak­ ten tragbaren Computer 800, der mit einem herkömmlichen ge­ setzlich geschützten I/O-Expander 880 verbunden ist. Wie dies in Fig. 8 zu erkennen ist, befinden sich nun einige der Peripheriegerät-Anschluss-Ports, wie beispielsweise der Tastatur-Port 715, der Maus-Port 710 und der parallele Port 745 nun in der Expandereinheit 880, die die Funktion von einigen oder allen Ports eines tragbaren Kompaktcomputers nachbildet. Bei dieser herkömmlichen Anordnung ist jedoch immer noch Raum für den gesetzlich geschützten Anschluss- Fort 755 für den externen Expander erforderlich.
Fig. 9 zeigt die hintere Oberfläche 630 von ei­ ner Ausführungsform eines Kompaktcomputers 600 gemäß der vorliegenden Erfindung, der von den Erfindern entwickelt wurde, um mit einem Compound-Hub 530 ähnlich dem in Fig. 5 gezeigten verwendet zu werden. Ein einziger USB-Port 605 wird dazu verwendet, Signale mit dem externen Hub 530 aus­ zutauschen. Die meisten der großflächigen Peripheriegerät- Anschluss-Ports eines herkömmlichen Kompaktcomputers sind nun an dem Hub 530 angeordnet und über den USB-Port mit dem Computer verbunden. Zusätzlich wird der Anschluss-Port 755 für den externen Expander bei dem Computersystem 900 ver­ mieden. Durch einen Vergleich der Fig. 7, 8 und 9 ist zu erkennen, dass der Computer 600 des Computersystems 900 ei­ nen verkleinerten in Anschlüssen gewidmeten Bereich der hinteren Oberfläche 630 benötigt. Darüber hinaus wird das zugehörige interne Volumen und Gewicht der in dem Computer 600 angeordneten Anschlüsse ebenfalls verringert, was eine Verringerung des Gesamtvolumens und des Gesamtgewichts des Computers 600 erlaubt. Folglich kann der Computer 600 in der Größe verringert werden und alle Kompakt- beziehungs­ weise All-In-One-Funktionen durchführen. Es ist ebenfalls zu beachten, dass die Gesamtanzahl von Ports, insbesondere von USB-Ports, im Vergleich zu dem Computer 700 vergrößert ist. Folglich verringert das erfindungsgemäße Computersys­ tem 900 gemäß Fig. 9 die Größe und das Gewicht des Compu­ ters 600, während es ermöglicht, dass eine größere Anzahl von Peripheriegeräten an den Computer 600 angeschlossen wird. Das in Fig. 9 dargestellte Computersystem 900 ist insbesondere für kompakte Notebookcomputer nützlich, bei denen es erwünscht ist, die Höhe h und die Breite w eines Computers 600 zu verringern, wie dies in Fig. 9 dargestellt ist. Das Computersystem 900 könnte jedoch auch für andere kompakte elektronische Computersysteme verallgemei­ nert werden, bei denen eine elektronische Computereinheit über einen seriellen Busanschluss 605 mit einem Compound- Hub 530 verbunden ist.
Gemäß der Darstellung von Fig. 9 ist zu erken­ nen, dass bei einer bevorzugten Ausführungsform des Systems 900 drei USB-Downstream-Ports und sechs Peripheriegerät- Ports an dem Compound-Hub 530 angeordnet sind. Die sechs Peripheriegerät-Ports arbeiten als eingebettete USB-Geräte. Folglich arbeiten alle der neun Ports als im Betrieb ver­ bindbare (hot-pluggable) USB-Ports, das heißt, der Computer 600 überwacht den Zustand von allen neun Ports und konfigu­ riert das Computersystem 900 immer dann dynamisch wieder, wenn ein Gerät an einen der Ports angeschlossen oder ent­ fernt wird. Folglich besteht bei dem Computersystem 900 die Tendenz, dass die Häufigkeit von während dem Betrieb durch­ geführten Verbindungsvorgängen deutlich größer ist, als bei einem herkömmlichen tragbaren Computer 700. Dies vergrößert das Risiko eines Systemfehlers, wenn ein Benutzer nicht wartet, während das System jedes mal wieder-konfiguriert wird, wenn ein Gerät eingesteckt oder entfernt wird.
Bei der Entwicklung des Computersystems 900 ent­ deckten die Erfinder, dass die Häufigkeit von USB- Busabstürzen im Vergleich zu einem herkömmlichen Computer 700 zunimmt. Die Erfinder sind der Auffassung, dass eine Erklärung dafür ist, dass eine komplexere Bustopologie er­ zeugt wird. Die Erfinder sind der Auffassung, dass eine an­ dere Erklärung ist, dass herkömmliche O/S-Software und Treiber gegenüber Fehlern bei der Wieder-Konfiguration nicht so robust sind, wie allgemein angenommen. Eine noch weitere Erklärung ist, dass die vergrößerte Anzahl von wirksamen USB-Ports des Computersystems 900 dazu neigt, die Häufigkeit von im Betrieb durchgeführten Anschlussvorgängen zu vergrößern, wodurch die Wahrscheinlichkeit vergrößert wird, dass ein Benutzer nicht einen ausreichend langen Zeitabschnitt wartet, damit sich das System 900 selbst kon­ figurieren kann, bevor ein USB-Gerät entfernt und ein ande­ res USB-Gerät hinzugefügt wird.
Herkömmliche Betriebssystems sehen keine direkte Benachrichtigung des Benutzers darüber vor, was in dem in­ ternen Betriebssystem während des Wieder- Konfigurationsprozesses passiert. Folglich weiß der Benut­ zer nicht genau, wann das Betriebssystem den Konfigurati­ onsprozess abgeschlossen hat. Um die Häufigkeit von USB- Busabstürzen zu verringern, haben die Erfinder eine Vor­ richtung und ein Verfahren entwickelt, um eine direkte Be­ nachrichtigung des Benutzers über den Status des Konfigura­ tionsprozesses in dem System 900 vorzusehen.
Fig. 10 zeigt ein Blockschaltbild des erfin­ dungsgemäßen Benachrichtigungssystems 1000. Eine Computer­ einheit 1010 weist ein darauf befindliches Betriebssystem 1020 auf. Der Computer 1010 weist ein Display 1040 und ei­ nen Downstream-USB-Anschluss 1050 auf, die an dem Gehäuse 1060 befestigt sind. Der Computer 1010 weist vorzugsweise auch einen Lautsprecher 1035 auf, um eine Audioausgabe vor­ zusehen. Der Computer 1060 kann irgendein Computertyp sein, vorzugsweise ist er jedoch ein kompakter Personalcomputer, beispielsweise ein Notebookcomputer. Ein Standard-USB-Kabel 1055 verbindet den USB-Anschluss 1050 mit anderen Geräten, vorzugsweise über einen Hub 1070. Der Hub 1070 kann irgend­ ein Typ von USB-Hub sein, vorzugsweise ist er jedoch ein Compound-USB-Hub. Der Hub 1070 weist vorzugsweise zumindest ein eingebettetes Gerät 1075 oder zumindest einen eingebet­ teten Anschluss 1080 auf, um seine Funktionalität zu erwei­ tern. Der Hub 1070 umfasst vorzugsweise auch zumindest ei­ nen Downstream-USB-Port 1090.
Wie dies in Fig. 10 dargestellt ist, befindet sich ein Softwareprogramm, das eine Konfigurationsbenach­ richtigungseinheit 1030 ist, auf dem Computer 1010. Wie un­ ten ausführlicher beschrieben, sieht die Konfigurationsbe­ nachrichtigungseinheit 1030 eine Benachrichtigung des Be­ nutzers, vorzugsweise über das Display 1040 und den Laut­ sprecher 1035, darüber vor, wann der Konfigurationsprozess abgeschlossen ist, so dass es sicher ist, Geräte an den Computer 1010 über den Hub 1070 anzuschließen oder zu ent­ fernen.
Die Funktion und der Betrieb der Konfigurations­ benachrichtigungseinheit 1030 ist in den Fig. 11 bis 15 dargestellt. Fig. 11A ist ein Blockschaltbild von einem herkömmlichen Betriebssystem 1100. Das Betriebssystem er­ fasst eingehende Ereignisse, die eine Aktion erfordern und überträgt interne Nachrichten über diese Ereignisse, um die Aktivitäten der Systemressourcen zu koordinieren. Das Be­ triebssystem umfasst Subroutinen, um interne Nachrichten zu erzeugen, die andere Komponenten alarmieren, dass ein Er­ eignis erfasst wurde und dass der Konfigurationsprozess ab­ geschlossen ist. Als ein Beispiel kann ein eingehendes Er­ eignis eine Tastatureingabe sein. Für Peripheriegeräte, die durch serielle Busanschlüsse mit einem Computer verbunden sind, erfasst das Betriebssystem Veränderungen in der Bus­ topologie immer dann, wenn ein Gerät angeschlossen oder von dem Computer entfernt wird. Wie dies in Fig. 11A dargestellt ist, umfasst ein Betriebssystem Subroutinen, die ein eingehendes Ereignis 1110 in eine entsprechende Nachricht 1120 umwandeln, bevor es sie über einen Verteiler 1130 an andere Anwendungen oder Komponenten verteilt, wie bei­ spielsweise die Anwendungssoftware 1140 und Gerätetreiber. Entsprechend der Darstellung von Fig. 11B, verursachen Vorgänge wie beispielsweise ein Maus-Klicken, eine Tasta­ turbetätigung und ein Ein-/Ausschalten des Systems bei dem Betriebssystem mit graphischer Benutzerschnittstelle (graphical user interface = GUI) des Windows®-O/S. dass das Betriebssystem Nachricht(en) erzeugt, unter Verwendung der Information des Gerätetreibers. Die Nachrichten, die somit erzeugt werden, werden dann an alle Anwendungsprogramme ge­ sendet, die auf dem Betriebsystem laufen. Alle laufenden Anwendungsprogramme empfangen somit die Nachricht(en), die sie über eine Veränderung des Hardwarestatus informieren. Jede Anwendung bearbeitet dann die Nachricht, wenn die Nachricht für die Anwendung anwendbar ist oder anders mit der Anwendung in Verbindung steht. Fig. 11B zeigt einige der Nachrichten, die speziell dem Windows®-O/S zugeordnet sind. Die zur Erzeugung dieser internen Nachrichten verwen­ dete O/S-Software ist dem Fachmann gut bekannt.
Unter erneuter Bezugnahme auf Fig. 11A enthält jede Nachricht, für Peripheriegeräte, Informationen über das erkannte Gerät. Wenn eine der Komponenten, beispiels­ weise die Anwendungssoftware oder die Gerätetreiber, dazu in der Lage ist, das Ereignis zu handhaben, dann kann die Komponente das Ereignis auffangen und es bearbeiten. Es ist zu beachten, dass die durch den Verteiler 1130 verteilten Nachrichten 1120 bei einem herkömmlichen Betriebssystem nur für die Koordination der internen Ressourcen des Computers verwendet werden. Der Computerbenutzer hat keine direkte Kenntnis von den internen Nachrichten, die von dem Vertei­ ler 1130 zu der Anwendung 1140 übertragen werden.
Die Erfinder haben erkannt, dass diese internen Nachrichten 1120, die durch das Betriebssystem erzeugt wer­ den, von einer Konfigurationsbenachrichtigungseinheit 1030 verwendet werden können, um eine Ausgabe an den Benutzer zu erzeugen, die genau angibt, wann sich das System selbst wieder-konfiguriert hat, das heißt eine direkte Benachrich­ tigung vorzusehen, wann genau es sicher ist, einen seriel­ len Busanschluss an den Computer anzuschließen oder zu ent­ fernen.
Fig. 12 ist ein Blockschaltbild der Konfigurati­ onsbenachrichtigungseinheit 1030. Die Funktion der Konfigu­ rationsbenachrichtigungseinheit 1030 besteht darin, eine Ausgabe vorzusehen, die einen Benutzer in Echtzeit vom Sta­ tus des Konfigurationsprozesses benachrichtigt. Bei einer bevorzugten Ausführungsform umfasst die Konfigurationsbe­ nachrichtigungseinheit 1030 einen Nachrichtenhandhaber 1005 der mit einer Hinweiseinheit 1004 verbunden ist. Der Nach­ richtenhandhaber 1005 umfasst als Sub-Einheiten eine Nach­ richtenanalyseeinheit 1002 und eine Zustandsbestimmungsein­ heit 1003. Die Nachrichtenanalyseeinheit 1002 analysiert die Informationen von einer Nachricht, um festzustellen, wenn das Ereignis mit dem Einstecken oder dem Ausstecken einer Vorrichtung zusammenhängt. Wenn ein Ereignis mit ei­ nem Einstecken oder einem Ausstecken eines Gerätes zusam­ menhängt, stellt die Zustandsbestimmungseinheit 1003 den Konfigurationszustand (beispielsweise Konfigurationsprozess ausgelöst, Konfiguration läuft oder Konfiguration ist abge­ schlossen) fest. Die Hinweiseinheit 1004 führt vorzugsweise die Funktion einer Hinweiseinheit aus, das heißt, sie er­ zeugt eine visuelle Anzeige, die für den Benutzer eine An­ zeige vorsieht, um den Benutzer vom Status des Konfigurati­ onsprozesses und insbesondere darüber zu benachrichtigen, ob es sicher ist, ein Plug-and-Play-Gerät zu entfernen oder hinzuzufügen. Allgemeiner kann die Hinweiseinheit 1004 je­ doch irgendeine Art von Ausgabe erzeugen, die den Benutzer über den Konfigurationsstatus benachrichtigt, beispielswei­ se eine Audioausgabe.
Der Nachrichtenhandhaber 1005 akzeptiert Nach­ richten, die mit eingehenden Ereignissen zusammenhängen. Für ein Windows®-Betriebssystem akzeptiert der Nachrichten­ handhaber 1005 Nachrichten vorzugsweise über einen Win­ dows®-Nachrichten-Hook-Mechanismus und -DLL-Funtionalität. Der Begriff "Hook" ist ein üblicher Fachbegriff. Die Hook- Funktion wird jedoch manchmal alternativ durch die Ausdrü­ cke Überwachen, Abfangen oder Ereignisbearbeitung beschrie­ ben. Obwohl das Windows®-Betriebssystem ein übliches Be­ triebssystem mit einem Nachrichten-Hook-Mechanismus ist, ist klar, dass viele moderne Multi-Tasking-Betriebssysteme eine ähnliche interne Funktionalität aufweisen, um Nach­ richten und Interprozesskommunikationen zu handhaben. Folg­ lich ist die Vorrichtung und das Verfahren gemäß der vor­ liegenden Erfindung nicht auf das Windows®-Betriebssystem beschränkt, sondern sie können auch bei anderen Betriebs­ systemen implementiert werden. Darüber hinaus kann der Nachrichtenhandhaber 1005 bei anderen Betriebssystemen un­ ter Verwendung einer leistungsfähigen höheren Programmier­ sprache wie C, Pascal oder auch einer plattformspezifischen Sprache implementiert werden.
Der Nachrichtenhandhaber 1005 fragt gehookte Nachrichten für zusätzliche Informationen ab, um festzu­ stellen, wenn sich ein Geräteknoten verändert hat, und er stellt fest, wenn das Geräte ein USB-Gerät ist. Wenn das Gerät ein USB-Gerät ist, sendet der Nachrichtenhandhaber ein Signal zu der Hinweiseinheit 1004, das die Hinweisein­ heit 1004 anweist, eine geeignete Ausgabe zu erzeugen, um den Benutzer zu benachrichtigen, wann es sicher ist, ein neues Gerät zu entfernen oder hinzuzufügen.
Fig. 13 ist ein Flussdiagramm, das ein bevorzug­ tes Verfahren zum Betrieb der Konfigurationsbenachrichti­ gungseinheit 1030 zeigt. Es zu beachten, dass die Hinweis­ einheit 1004 bei einer bevorzugten Ausführungsform eine Ausgabe 1305 vorsieht, die darauf hinweist, dass es sicher ist, ein Gerät zu entfernen oder hinzuzufügen, wenn das System sich in einem gleichbleibenden Konfigurationszustand befindet. Somit entspricht die Ausgabe 1305 einer bevorzug­ ten Ausführungsform, bei der der Benutzer, vor dem Hinzufü­ gen oder Entfernen eines Gerätes, alarmiert wird, dass es sicher ist, ein neues Plug-and-Play-Gerät zu entfernen oder hinzuzufügen, das heißt, das Computersystem befindet sich in einem stabilen, konfigurierten Zustand. Die Ausgabe 1305 wird von der Konfigurationsbenachrichtigungseinheit 1030 vorzugsweise automatisch nach einem vorgegebenen Zeitab­ schnitt zu dem sich das System selbst konfiguriert hat er­ zeugt.
Wie dies im Block 1310 angegeben ist, wird ein Benutzerereignis immer dann erzeugt, wenn der Benutzer ein Peripheriegerät an den Computer anschließt oder entfernt. Wie dies im Block 1312 angegeben ist, erkennt das Betriebs­ system derartige Ereignisse automatisch. Nachdem ein Ereig­ nis erkannt wurde, sendet das Betriebssystem automatisch eine interne Erkennungsnachricht an alle Anwendungen (das heißt, alle aktiven Betriebssystemprozesse, Komponenten und Softwareanwendungen, entsprechend der Betriebsweise von herkömmlichen Betriebssystemen), wie dies im Block 1314 dargestellt ist. Diese Nachricht umfasst typischerweise In­ formationen über den Gerätetyp und die Knotenposition. Der Nachrichtenhandhaber 1005 hookt Ereignisnachrichten, wie dies im Block 1316 dargestellt ist. Wie dies im Block 1318 gezeigt ist, erkennt die Nachrichtenanalyseeinheit 1002, wenn die Nachricht einem Plug-and-Play-Gerät entspricht. Wenn die Nachricht von einem USB-Plug-and-Play-Gerät stammt, dann wählt die Zustandsbestimmungseinheit 1003 eine geeignete Konfigurationszustandsnachricht, die die Hinweis­ einheit 1004 anzeigen sollte (zum Beispiel "Konfiguration läuft").
Wie dies durch den gestrichelten Pfeil 1320 dar­ gestellt ist, sieht der Nachrichtenhandhaber 1005 für Nach­ richten, die einem USB-Plug-and-Play-Gerät entsprechen, für das es erforderlich ist, den Benutzer über den Konfigurati­ onsstatus zu benachrichtigen, ein geeignetes Signal für die Hinweiseinheit 1004 vor, wodurch die Hinweiseinheit 1004 eine Ausgabe erzeugt, die darauf hinweist, dass die Konfi­ guration läuft, wie dies durch den Block 1322 dargestellt ist. Es ist zu beachten, dass der Benutzer somit unmittel­ bar gewarnt wird, dass der Wieder-Konfigurationsprozess läuft. Die Ausgabe 1322 wird vorzugsweise innerhalb eines kurzen Zeitabschnitts (das heißt einem kleinen Bruchteil einer Sekunde, abhängig von der Geschwindigkeit des Compu­ ters) vorgesehen, so dass der Benutzer die erforderliche Zeit minimieren kann, auf den Abschluss des Konfigurations­ prozesses zu warten. Ein bevorzugtes Verfahren besteht darin, einen visuellen Hinweis auf dem Display 1040 des Compu­ ters 1010 anzuzeigen. Zusätzlich kann ein Audiosignal über den Lautsprecher 1035 ausgegeben werden.
Ein herkömmliches Betriebssystem verteilt automa­ tisch eine interne Nachricht, wenn der Konfigurationspro­ zess abgeschlossen ist, wie dies im Block 1324 angegeben ist. Der Nachrichtenhandhaber 1005 hookt diese Abschluss­ nachricht, erkennt über die Nachrichtenanalyseeinheit 1002, dass sie von einem Plug-and-Play-Gerät stammt und dass die Konfiguration abgeschlossen ist, unter Verwendung der Zu­ standsbestimmungseinheit 1003. Wie dies im Block 1328 ange­ geben ist, sendet der Nachrichtenhandhaber 1005 dann einen Befehl zur Hinweiseinheit 1004, den Benutzer darauf hinzu­ weisen, dass die Konfiguration abgeschlossen ist, das heißt, dass das System bereit ist, wie dies im Block 1332 angegeben ist. Wie dies durch den gestrichelten Pfeil 1330 angegeben ist, wird auch dieser Schritt vorzugsweise schnell durchgeführt (das heißt in einem kleinen Bruchteil einer Sekunde), so dass der Benutzer unmittelbar die Be­ nachrichtigung empfängt, dass das System bereit ist, fast unmittelbar nachdem das Betriebssystem seine Konfiguration- Abgeschlossen-Nachricht an die internen Anwendungen sendet. Bei einer bevorzugten Ausführungsform, wie dies durch den Block 1334 gezeigt ist, zeigt die Hinweiseinheit 1004 dann eine Nachricht an, die darauf hinweist, dass es sicher ist, neue Geräte zu entfernen oder hinzuzufügen.
Fig. 14 ist ein Blockschaltbild, dass die Ausga­ ben von einer bevorzugten Ausführungsform der Hinweisein­ heit 1004 zeigt. Wie dies in Fig. 14 dargestellt ist, er­ zeugt die Hinweiseinheit 1004 bei einer bevorzugten Ausfüh­ rungsform drei Ausgaben: eine Bereitanzeige, eine Konfiguration-Läuft-Anzeige und eine Sicher-Zu-Entfernen-Anzeige. Eine bevorzugte Bildschirmanzeigeimplementierung ist in Fig. 15 gezeigt. Fig. 15(a) zeigt eine bevorzugte Bild­ schirmanzeigeimplementierung von einem USB-Icon, das darauf hinweist, dass es sicher ist, ein USB-Gerät zu entfernen oder hinzuzufügen. Fig. 15(b) zeigt eine bevorzugte Bild­ schirmanzeigeimplementierung von einem animierten Icon, das eine Nachricht anzeigt, dass die Konfiguration läuft. Fig. 15(c) zeigt eine bevorzugte Bildschirmanzeigeimplementie­ rung von einem animierten Icon, das darauf hinweist, dass das System bereit ist. Jedes der Icons in 15(a), 15(b) und 15(c) weist vorzugsweise einen unterschiedlichen Farbcode auf und ist auf der Bildschirm-"Ablage" angeordnet.
Obwohl die vorliegende Erfindung ausführlich im Hinblick auf einen kompakten Personalcomputer mit einer USB-Schnittstelle beschrieben wurde, ist klar, dass die er­ findungsgemäße Konfigurationsstatusbenachrichtigungsvor­ richtung und das erfindungsgemäße Konfigurationsstatusbe­ nachrichtigungsverfahren vorteilhaft bei einer Vielzahl von anderen elektronischen Computern verwendet werden kann, beispielsweise herkömmlichen tragbaren Computern 600 oder 700. Weiterhin ist klar, dass die vorliegende Erfindung mit einer Vielzahl von seriellen Busschnittstellen verwirklicht werden kann. Obwohl die USB-Schnittstelle eine serielle In­ dustriestandardbusschnittstelle ist, kann das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung auf jede serielle Busschnittstelle angewendet werden, bei der das Betriebssystem Veränderungen in der Systemtopologie erfasst und einen Nummerierungsprozess durchführt, um geeignete Treiber als einen Teil eines Wieder-Konfigurationsprozesses zu laden. Beispielsweise der serielle IEEE 1394 Bus ist ein anderer serieller Bus, für den das Verfahren und die Vor­ richtung gemäß der vorliegenden Erfindung verwendet werden können.
Es ist weiterhin klar, dass eine Vielzahl von kompakten elektronischen Geräten neben tragbaren Computern das elektronische Äquivalent eines tragbaren Personalcompu­ ters sind. Es gibt einen allgemeinen Schub in der Elektro­ nik hinsichtlich während des Betriebs verbindbaren (Hot- Pluggable) seriellen Signalbusanschlüssen, zu einer Viel­ zahl von kompakten elektronischen Vorrichtung gemacht zu werden. Folglich wird angenommen, dass das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung auf eine Vielzahl von analoge elektronische Systeme anwendbar ist.
Obwohl eine bevorzugte Ausführungsform der vor­ liegenden Erfindung und deren Modifikationen hier ausführ­ lich beschrieben wurden, ist klar, dass diese Erfindung nicht auf diese genauen Ausführungsformen und Modifikatio­ nen beschränkt ist und das andere Modifikationen und Ab­ wandlungen durch den Fachmann durchgeführt werden können, ohne den Grundgedanken und den Schutzbereich der Erfindung zu verlassen, der durch die zugehörigen Ansprüche definiert wird.

Claims (13)

1. Plug-and-Play-Computersystem, aufweisend:
  • a) einen Computer mit einer visuellen Anzeige und zumindest einem äußeren seriellen Bus-Port zum Anschließen von zumindest einem Peripheriegerät an den Computer;
  • b) ein auf dem Computer befindliches Betriebssys­ tem, das dazu programmiert ist, das Computersystem dyna­ misch zu konfigurieren, wobei das Betriebssystem eine erste Subroutine zum Erzeugen einer ersten internen Nachricht, die darauf hinweist, dass das Betriebssystem eine Verände­ rung der Anzahl von an den Computer angeschlossenen Geräten erfasst, und eine zweite Subroutine aufweist, um eine zwei­ te interne Nachricht zu erzeugen, die darauf hinweist, dass das Betriebssystem einen Konfigurationsprozess abschließt;
  • c) ein Konfigurationsbenachrichtigungsprogramm, das sich auf dem Computer befindet, um die ersten und zwei­ ten Nachrichten zu empfangen und eine visuelle Anzeige zu erzeugen, um den Benutzer unverzüglich zu benachrichtigen, wenn es unsicher ist, ein Plug-and-Play-Gerät an den Compu­ ter anzuschließen oder zu entfernen.
2. System nach Anspruch 1, bei dem das Konfigura­ tionsbenachrichtigungsprogramm aufweist:
einen Nachrichtenhandhaber, der sich auf dem Com­ puter befindet, wobei der Nachrichtenhandhaber die ersten und zweiten Nachrichten hookt, wobei der Nachrichtenhandha­ ber eine Nachrichtenanalyseeinheit und eine Zustandsbestim­ mungseinheit umfasst, die angeordnet sind, um ein erstes Ausgangssignal vorzusehen, wenn der Konfigurationsprozess läuft und ein zweites Ausgangssignal vorzusehen, wenn der Konfigurationsprozess abgeschlossen ist; und
eine Hinweiseinheit, die sich auf dem Computer befindet und mit dem Ausgang des Nachrichtenhandhabers ver­ bunden ist, wobei die Hinweiseinheit eine visuelle Anzeige erzeugt, die den Benutzer benachrichtigt, wenn es unsicher ist, ein Plug-and-Play-Gerät an den Computer anzuschließen oder zu entfernen.
3. System nach Anspruch 2, bei dem die Hinweis­ einheit eine erste Anzeige, die darauf hinweist, dass es sicher ist, ein Gerät zu entfernen oder hinzuzufügen, eine zweite Anzeige, die der Benachrichtigung entspricht, dass der Konfigurationsprozess läuft, und eine dritte Anzeige erzeugt, die der Benachrichtigung entspricht, dass der Kon­ figurationsprozess abgeschlossen ist.
4. System nach Anspruch 2, bei dem das System ei­ ne universelle serielle Busschnittstelle verwendet und bei dem der serielle Bus-Port ein universeller serieller Bus- Port ist.
5. System nach Anspruch 4, das weiterhin einen Compound-Hub aufweist, und bei dem der Compound-Hub an dem Port über ein universelles serielles Buskabel angeschlossen ist.
6. System nach Anspruch 4, bei dem der Computer einen Lautsprecher umfasst und die Hinweiseinheit ein Au­ diosignal erzeugt, das auf den Status des Konfigurations­ prozesses hinweist.
7. Computersystem zur Verbesserung der Zuverlässigkeit von Plug-and-Play-Peripheriegeräten für die univer­ selle serielle Bus-(USB-)Schnittstelle, aufweisend:
  • a) einen Computer mit zumindest einem USB- Downstream-Port;
  • b) einen Compound-Hub, der einen Upstream-USB- Anschluss aufweist, der über ein USB-Kabel an den Port des Computers angeschlossen ist, wobei der Hub zumindest einen Downstream-USB-Anschluss-Port und zumindest einen Nicht- USB-Peripheriegerät-Port aufweist;
  • c) ein Betriebssystem mit USB- Schnittstellenfähigkeit, das sich auf dem Computer befin­ det, wobei das Betriebssystem eine erste Subroutine zum Er­ zeugen einer ersten Nachricht, die darauf hinweist, dass das Betriebssystem eine Veränderung der Bustopologie er­ fasst, und eine zweite Subroutine erzeugt, um eine zweite Nachricht zu erzeugen, die darauf hinweist, dass das Be­ triebssystem einen Konfigurationsprozess für die Bustopolo­ gie abschließt;
  • d) einen Nachrichtenhandhaber, der sich auf dem Computer befindet, um die ersten und zweiten Nachrichten zu hooken, wobei der Nachrichtenhandhaber eine Nachrichtenana­ lyseeinheit und eine Zustandsbestimmungseinheit aufweist, die angeordnet sind, um ein erstes Ausgangssignal vorzuse­ hen, wenn der Konfigurationsprozess läuft, und ein zweites Ausgangssignal vorzusehen, wenn der Konfigurationsprozess abgeschlossen ist; und
  • e) eine Hinweiseinheit, die sich auf dem Computer befindet und mit dem Ausgang des Nachrichtenhandhabers ver­ bunden ist, wobei die Hinweiseinheit eine visuelle Anzeige erzeugt, die den Benutzer benachrichtigt, wenn es unsicher ist, ein Plug-and-Play-Gerät zu entfernen oder hinzuzufügen.
8. System nach Anspruch 7, bei dem die Hinweis­ einheit eine erste Anzeige, die darauf hinweist, dass es sicher ist, ein Gerät zu entfernen oder hinzuzufügen, eine zweite Anzeige, die der Benachrichtigung entspricht, dass die Konfiguration läuft, und eine dritte Anzeige erzeugt, die der Benachrichtigung entspricht, dass der Konfigurati­ onsprozess abgeschlossen ist.
9. System nach Anspruch 8, bei dem der Compound- Hub eine Vielzahl von Peripheriegerät-Ports aufweist, um die Funktion von zumindest einem Peripheriegerät-Port zu replizieren, der nicht an dem Computer angeordnet ist, wo­ durch die Gesamtanzahl von an dem Gehäuse angeordneten An­ schlüssen verringert wird.
10. System nach Anspruch 9, bei dem der Compound- Hub die Funktion von einem Maus-Port, einem seriellen Port, einem Drucker-Port und einem Tastatur-Port repliziert, wo­ bei der Computer diese Peripheriegerät-Ports nicht benö­ tigt.
11. Verfahren zum Vorsehen einer Benachrichtigung über den Status eines Konfigurationsprozesses eines Be­ triebssystems eines Computers, der mit Peripheriegeräten verbunden ist, mit den folgenden Schritten:
  • a) Erfassen einer Ereignisnachricht, die immer dann durch das Betriebssystem erzeugt wird, wenn die Anzahl der an den Computer angeschlossenen Peripheriegeräte sich ändert;
  • b) Feststellen, wenn die Erfassungsnachricht ei­ ner Veränderung der Anzahl oder des Typs der Peripheriege­ räte entspricht, die erfordert, dass der Benutzer benach­ richtigt wird;
  • c) Benachrichtigen des Benutzers, dass ein Kon­ figurationsprozess läuft;
  • d) Erfassen einer Abschlussnachricht, die durch das Betriebssystem erzeugt wird, wenn der Konfigurations­ prozess abgeschlossen ist;
  • e) Feststellen, wenn die Abschlussnachricht ei­ ner Veränderung der Anzahl oder des Typs der Peripheriege­ räte entspricht, die erfordert, dass der Benutzer benach­ richtigt wird, dass der Konfigurationsprozess abgeschlossen ist;
  • f) Benachrichtigen des Benutzers, dass der Kon­ figurationsprozess abgeschlossen ist; und
  • g) Benachrichtigen des Benutzers, dass es sicher ist, die Anzahl oder den Typ von an den Computer ange­ schlossenen Peripheriegeräten zu verändern.
12. Verfahren zum Benachrichtigen eines Computer­ benutzers über den Status eines Wieder- Konfigurationsprozesses, der durch das Anschließen oder Entfernen eines Peripheriegerätes an einen Computer über einen universellen seriellen Busanschluss (USB) ausgelöst wird, mit den folgenden Schritten:
  • a) Vorsehen eines Betriebssystems, das den Com­ puter jedes Mal neu konfiguriert, wenn sich einen Verände­ rung der Anzahl oder des Typs der Peripherie-USB-Geräte än­ dert, wobei das Betriebssystem immer dann eine Erfassungs­ nachricht erzeugt, wenn sich die Anzahl von an den Computer angeschlossenen Peripheriegeräten derart ändert, dass der Konfigurationsprozess ausgelöst wird, und eine Benachrich­ tigungsnachricht, wenn der Konfigurationsprozess abge­ schlossen ist;
  • b) Hooken der Erfassungsnachricht;
  • c) Feststellen, wenn die Erfassungsnachricht ei­ ner Veränderung der Anzahl oder des Typs der Peripheriege­ räte entspricht, die erfordert, dass ein Benutzer benach­ richtigt wird;
  • d) Benachrichtigen des Benutzers, dass ein Kon­ figurationsprozess läuft;
  • e) Hooken der Abschlussnachricht:
  • f) Feststellen, wenn die Abschlussnachricht ei­ ner Veränderung der Anzahl oder des Typs der Peripheriege­ räte entspricht, die erfordert, dass der Benutzer benach­ richtigt wird, dass der Konfigurationsprozess abgeschlossen ist;
  • g) Benachrichtigen des Benutzers, dass der Kon­ figurationsprozess abgeschlossen ist; und
  • h) Benachrichtigen des Benutzers, dass es sicher ist, die Anzahl oder den Typ von an dem Computer ange­ schlossenen Peripheriegeräten zu verändern.
13. Verfahren zu Verringerung der Häufigkeit von Abstürzen eines universellen seriellen Busses in einem Com­ putersystem, das aus einem über ein USB-Kabel an einen Com­ pound-Hub angeschlossenen Computer besteht, mit den folgen­ den Schritten:
  • a) Vorsehen einer Konfigurationsbenachrichti­ gungseinheit, die einen Nachrichtenhandhaber und eine Hin­ weiseinheit aufweist, wobei die Konfigurationsbenachrichtigungseinheit interne Nachrichten überwacht, die durch ein Betriebssystem erzeugt werden und mit einem Konfigurations­ prozess zusammenhängen, wobei die Konfigurationsbenachrich­ tigungseinheit eine Computeranzeigeausgabe vorsieht, die darauf hinweist, wenn ein Konfigurationsprozess für ein USB-Gerät läuft;
  • b) Verändern der Anzahl von an den Hub ange­ schlossenen Peripheriegeräten; und
  • c) Warten bis die Konfigurationsbenachrichti­ gungseinheit darauf hinweist, dass die Konfiguration abge­ schlossen ist, bevor die Anzahl von an den Hub angeschlos­ senen Geräten verändert wird.
DE10061991A 1999-12-20 2000-12-13 Verfahren und System zur zuverlässigen Gerätekonfiguration in einem Computersystem Withdrawn DE10061991A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/467,569 US6934774B1 (en) 1999-12-20 1999-12-20 Method and system for reliable device configuration in a computer system

Publications (1)

Publication Number Publication Date
DE10061991A1 true DE10061991A1 (de) 2001-06-28

Family

ID=23856247

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10061991A Withdrawn DE10061991A1 (de) 1999-12-20 2000-12-13 Verfahren und System zur zuverlässigen Gerätekonfiguration in einem Computersystem

Country Status (3)

Country Link
US (1) US6934774B1 (de)
JP (1) JP2001222502A (de)
DE (1) DE10061991A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004062967A1 (de) * 2004-12-28 2006-07-06 Röllgen, Bernd Verfahren zum Konfigurieren von Geräten in einem Computernetzwerk durch ein Computerprogramm

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127678B2 (en) * 2000-12-21 2006-10-24 Microsoft Corporation System and method to specify device specific user interface information in the firmware of a USB device
US7050923B2 (en) * 2001-08-15 2006-05-23 National Instruments Corporation Network-based system for configuring a measurement system using configuration information generated based on a user specification
JP3707410B2 (ja) 2001-09-17 2005-10-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
US7167372B2 (en) * 2003-08-26 2007-01-23 Belkin Corporation Universal serial bus hub and method of manufacturing same
JP3578153B2 (ja) 2002-05-31 2004-10-20 ブラザー工業株式会社 情報処理装置、プログラム、記録媒体、及びインストール状況表示方法
US7203774B1 (en) * 2003-05-29 2007-04-10 Sun Microsystems, Inc. Bus specific device enumeration system and method
JP4506186B2 (ja) * 2004-02-06 2010-07-21 富士ゼロックス株式会社 決済装置及びプログラム
WO2007077583A1 (en) 2005-12-30 2007-07-12 Telecom Italia S.P.A. Method and system for managing an internet connection and informing a user about connectivity
US8473664B2 (en) * 2006-12-11 2013-06-25 Intel Corporation Safe removal of external device from computing device
US8495494B2 (en) * 2007-04-12 2013-07-23 Nuance Communications, Inc. Method and system for mapping a virtual human machine interface for a mobile device
US8589955B2 (en) * 2008-02-12 2013-11-19 Nuance Communications, Inc. System and method for building applications, such as customized applications for mobile devices
US20100070660A1 (en) * 2008-09-15 2010-03-18 David Karl Serisky Detecting access of video teleconferencing endpoint hardware device serial port
US20100073160A1 (en) * 2008-09-25 2010-03-25 Microsoft Corporation Alerting users using a multiple state status icon
WO2010114523A1 (en) * 2009-03-31 2010-10-07 Hewlett-Packard Development Company, L.P. Bios usb write prevent
JP5328511B2 (ja) * 2009-06-24 2013-10-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US20110185090A1 (en) * 2010-01-25 2011-07-28 Marat Kushnir Apparatus for Translating and Expanding Inputs for a Point Of Sale Device
US8566934B2 (en) 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US8869273B2 (en) 2011-01-21 2014-10-21 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
CN102999449A (zh) * 2011-09-19 2013-03-27 艾欧互联有限公司 具有连接识别功能的端口扩充器及其识别方法
CN105373499B (zh) * 2014-08-29 2018-12-21 昆山纬绩资通有限公司 移除外接设备的方法及计算机系统与非瞬态可读介质
US20160154473A1 (en) * 2014-11-28 2016-06-02 Kabushiki Kaisha Toshiba Electronic apparatus and method
US9753673B1 (en) 2015-12-29 2017-09-05 Western Digital Technologies, Inc. Bus-powered data storage device with warning alarm triggered by improper removal of power from host compute device
CN109947482B (zh) * 2017-12-21 2022-07-29 深圳Tcl新技术有限公司 一种usb设备的加载方法、存储介质及智能电视
US10361511B1 (en) 2018-06-27 2019-07-23 Western Digital Technologies, Inc. Removal delay feature for removably connected devices
JP2020122805A (ja) * 2020-05-22 2020-08-13 日置電機株式会社 加算平均ユニットおよび測定装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386360A (en) * 1989-05-09 1995-01-31 Ansan Industries Ltd. Peripheral data acquisition, monitor, and adaptive control system via personal computer
US5548782A (en) * 1993-05-07 1996-08-20 National Semiconductor Corporation Apparatus for preventing transferring of data with peripheral device for period of time in response to connection or disconnection of the device with the apparatus
US5787019A (en) * 1996-05-10 1998-07-28 Apple Computer, Inc. System and method for handling dynamic changes in device states
US5953010A (en) * 1997-08-01 1999-09-14 Sun Microsystems, Inc. User-friendly iconic message display indicating progress and status of loading and running system program in electronic digital computer
US5958020A (en) * 1997-10-29 1999-09-28 Vlsi Technology, Inc. Real time event determination in a universal serial bus system
US6473811B1 (en) * 1998-03-13 2002-10-29 Canon Kabushiki Kaisha Method and apparatus for displaying a connection status of a device based on connection information
US6466981B1 (en) * 1998-06-30 2002-10-15 Microsoft Corporation Method using an assigned dynamic IP address and automatically restoring the static IP address
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6286066B1 (en) * 1998-12-15 2001-09-04 Dell U.S.A., L.P. Hot-plug interface for detecting adapter card insertion and removal
US6389560B1 (en) * 1999-01-19 2002-05-14 Sun Microsystems, Inc. Universal serial bus interpreter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004062967A1 (de) * 2004-12-28 2006-07-06 Röllgen, Bernd Verfahren zum Konfigurieren von Geräten in einem Computernetzwerk durch ein Computerprogramm

Also Published As

Publication number Publication date
US6934774B1 (en) 2005-08-23
JP2001222502A (ja) 2001-08-17

Similar Documents

Publication Publication Date Title
DE10061991A1 (de) Verfahren und System zur zuverlässigen Gerätekonfiguration in einem Computersystem
US8001302B2 (en) Redirecting input and output for multiple computers
JP3418128B2 (ja) Usbシステム用のemsエンハンスメント回路
US5581712A (en) Method and apparatus for managing live insertion of CPU and I/O boards into a computer system
DE69730916T2 (de) Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus
JP4156663B2 (ja) ネットワーク内でプログラムを監視し、制御する方法および装置
US7555676B2 (en) Systems and methods for providing remotely accessible in-system emulation and/or debugging
US5852743A (en) Method and apparatus for connecting a plug-and-play peripheral device to a computer
DE19737214A1 (de) Verfahren zum Betreiben eines Computersystems
DE102010000124A1 (de) Hybride Computersysteme
US20050276092A1 (en) Virtual mass storage device for server management information
DE10234991A1 (de) Hostcontrollerdiagnose für einen seriellen Bus
DE19808988B4 (de) Target-Eingabe/Ausgabesystem zum Koppeln eines auf Hardwarelogik basierenden Emulators an ein Target-System
DE19604251C2 (de) Emulationsvorrichtung für Microcomputer, Verfahren zur Erfassung einer Vielzahl von Statusdaten und Fehlerbeseitigungssystem
DE102018101028B3 (de) Mikrocontrollersystem mit schaltungsinternem Debugger
DE4434528C2 (de) Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens
EP0990973A1 (de) Vefahren und Vorrichtung zum Erleichtern vom Einbringen und der Entfernung von Modulen in einem Rechnersystem
DE102006045193A1 (de) Hot-Pluggable Video-Anzeige-Karte und Computersystem davon
WO1999046667A1 (en) Computer expansion system
DE102007047597A1 (de) Transparente Unterstützung von mehreren Busschnittstellen eines Gerätes
US7681156B2 (en) Transmission circuit simulator and transmission circuit simulation program storage medium
DE69907966T2 (de) Verfahren und gerät zur ausschaltung eines graphischen gerätes wenn ein aufwertungsgerät eingebaut ist
DE19962723A1 (de) Verfahren und Vorrichtung zum Erkennen von Handshaking-Protokollfehlern auf einem asynchronen Datenbus
DE10359684B4 (de) Anordnung und Verfahren zur Fernabschaltung einer Rechnereinheit
DE102017120182A1 (de) Zuordnen von Datenbussen zu Management-Bus-Verbindungen für Peripheriegeräte

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee