PatentDe  


Dokumentenidentifikation DE10085323T5 31.05.2007
Titel Architektur zum dynamischen Offenlegen von Hardwarefähigkeiten unter Verwendung einer Seitenbeschreibungssprache
Anmelder Intel Corporation, Santa Clara, Calif., US
Erfinder Mendoza, Robert L., Tempe, Ariz., US
Vertreter Zenz, Helber, Hosbach & Partner GbR, 45128 Essen
DE-Aktenzeichen 10085323
Vertragsstaaten AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, BZ, CA, CH, CN, CR, CU, CZ, DE, DK, DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW, AP, EA, EP, OA
Sprache des Dokument EN
WO-Anmeldetag 27.10.2000
PCT-Aktenzeichen PCT/US00/41655
WO-Veröffentlichungsnummer 2001046803
WO-Veröffentlichungsdatum 28.06.2001
Date of publication of WO application in German translation 31.05.2007
Veröffentlichungstag im Patentblatt 31.05.2007
IPC-Hauptklasse G06F 9/44(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]
GEBIET DER ERFINDUNG

Das Gebiet der vorliegenden Erfindung bezieht sich allgemein auf das Gebiet der Softwarearchitektur; insbesondere bezieht sich die vorliegende Erfindung auf Software, die eine Benutzerschnittstelle implementiert, welche mit Treibersoftware kommunizieren kann.

HINTERGRUND DER ERFINDUNG

Es gibt verschiedene bekannte Wege, dem Endbenutzer die Eigenschaften von Hardwareeinrichtungen offenzulegen. Ein bekanntes Verfahren ist die Verwendung einer einfachen Schnittstelle mit Kommandozeilensprache. Wahlweise kann eine für diesen Zweck bestimmte, vorformatierte Konfigurationsdatei erstellt werden. Eine weiter verbreitete Methode besteht darin, dem Benutzer durch eine oder mehrere statische Konfigurationsbildschirmmasken die Eigenschaften von Hardwareeinrichtungen offenzulegen. Diese Bildschirmmasken erlauben es dem Benutzer, bestimmte Konfigurationswerte einzugeben.

In der Umgebung des Betriebssystems MicrosoftWindows® werden statische Bildschirmmasken, die als "Eigenschaftsseiten" bekannt sind, verwendet, um Zugriff auf die Hardwareeinrichtungssteuereinstellungen zu ermöglichen. Eine Eigenschaftsseite bezieht sich auf eine bestimmte Art von Microsoft-Windows®-Dialogboxen, die einen Satz von beschrifteten Registeretiketten am oberen Rand der Dialogbox aufweist. Eine Dialogbox ist in der Umgebung des Betriebssystems(OS) Microsoft Windows als Schnittstellenbildschirmmaske gut bekannt. Zum Beispiel kann ein übliches Computersystem einen Anzeigeadapter, ein Modem und andere Hardwareeinrichtungen aufweisen, die mit einer Vielzahl von verschiedenen Einstellungen oder Werten konfiguriert werden können. Zugeordnete Eigenschaftsseiten werden durch das Betriebssystem zur Verfügung gestellt, um auf diese Einstellungen zuzugreifen und sie zu verändern. Die Einstellungen der Eigenschaftsseiten müßten häufig eingestellt werden, um zu den spezifischen Anforderungen einer bestimmten Hardwareeinrichtung zu passen.

Ein entstandenes Problem ist, daß die Informationen der Eigenschaftsseiten nicht mehr auf eine einzelne Seite oder Bildschirmmaske passen, da die Geräte zunehmend kompliziert geworden sind. Daher wurde das Konzept der Registerseiten entwickelt, wobei alle Eigenschaften, beispielsweise eines Modems oder Graphikgerätes, in einer Mehrzahl von Seiten gesammelt sind, die jeweils ein gesondertes Register aufweisen, auf das durch den Klick einer Maustaste zugegriffen werden kann. Die verschiedenen Registerseiten ermöglichen z.B. den Zugriff auf verschiedene Aspekte eines bestimmten Hardwaregerätes. Wenn mehr Informationen benötigt werden, um Hardwaregeräteeinstellungen zu beschreiben und zu steuern, bleibt jedoch das Problem bestehen, daß es zu einer entsprechenden Zunahme der Anzahl von benötigten Registerseiten kommt. Die Sortierung und Auswahl der richtigen Seite für eine bestimmte Hardwareeinstellung kann eine lästige und unhandliche Aufgabe für den Endnutzer sein.

Ein anderes Problem bei Eigenschaftsseiten ist, daß diese dazu neigen, im allgemeinen sehr knapp zu sein. Vom Standpunkt des Benutzers aus erfordert dies relativ hohe Kenntnisse und Vertrautheit mit sehr technischer Fachsprache. In Abhängigkeit von dem technischen Wissen eines bestimmten Benutzers können die Worte oder Ausdrücke einer Eigenschaftsseite wenig oder gar keine Bedeutung haben. Anfänger werden oft durch Eigenschaftsseiten, die technische Ausdrücke beinhalten, sehr eingeschüchtert. Daher nehmen sie üblicherweise nur widerwillig Änderungen an den Konfigurationswerten für Hardwaregeräte vor; oder ihr Mangel an technischen Kenntnisse kann bei dem Versuch, Änderungen vorzunehmen, dazu führen, daß sie unpassende oder fehlerhafte Geräteeinstellungen vornehmen. Mit anderen Worten, es ist für einen Anfänger weder leicht noch offensichtlich zu wissen, wie die Eigenschaftsseiten zu verwenden sind, um bestimmte Hardwaregeräte richtig zu konfigurieren.

Ein verwandtes Problem ist es, daß heutzutage viele verschiedene Hardwaregeräte hergestellt werden, die den gleichen Funktionsgrundbestand aufweisen; jedoch kann jedes feine Abweichungen aufweisen, die unterschiedliche Geräteeinstellungen erfordern. Z.B. können verschiedene Graphikgeräte, die heutzutage hergestellt werden, sehr unterschiedliche Anforderungen an die Kompatibilität der Ausgabeeinrichtung aufweisen. Eine universelle Eigenschaftsseite kann einen Benutzer leicht irreführen, indem sie Hardwareeigenschaften anzeigt, die einem bestimmten Gerät fehlen. Z.B. kann die Eigenschaftsseite eine Einstellung aufweisen, um eine Ausgabe an ein Fernsehgerät zu senden, während dem verwendeten Graphikgerät diese bestimmte Fähigkeit fehlt.

Eine vorbekannte Lösung dieses Problems ist es, universelle Eigenschaftsseiten für jedes Gerät zu erstellen. Dieser Ansatz ist jedoch lästig und es mangelt ihm an Flexibilität, da ein spezieller Satz von Eigenschaftsseiten für jede verschiedene Umgebung kodiert werden muß. Daher wird ein besserer Weg benötigt, um dem Benutzer Hardwarefähigkeiten offenzulegen (oder vor diesem zu verbergen).

ZUSAMMENFASSUNG DER ERFINDUNG

Die vorliegende Erfindung weist eine Softwarearchitektur auf, um Fähigkeiten von Hardwaregeräten in einem Computersystem dynamisch offenzulegen. In einem grundlegenden Ausführungsbeispiel weist die Erfindung eine Benutzerschnittstelle auf, die durch eine Seitenbeschreibungssprache definiert ist, wobei die Benutzerschnittstelle einen Satz von Benutzerschnittstellenbildschirmmasken zur Verfügung stellt, um die Hardwaregeräte zu konfigurieren. Ebenfalls enthalten ist eine Treiberschnittstelle, um einen erweiterbaren Kommunikationskanal zwischen der Benutzerschnittstelle und jedem Treiber, der einem Hardwaregerät zugeordnet ist, zu ermöglichen. Die Treiberschnittstelle greift auf die spezifischen Treiberfunktionen jedes Hardwaregerätes zu.

KURZBESCHREIBUNG DER ZEICHNUNGEN

Die vorliegende Erfindung wird aus der folgenden ausführlichen Beschreibung und den begleitenden Zeichnungen vollständiger verstanden werden, wobei diese jedoch nicht als Einschränkung der Erfindung auf die jeweiligen gezeigten Ausführungsbeispiele verstanden werden sollen, sondern der Erklärung und dem besseren Verständnis dienen.

1 ist eine schematische Darstellung der zweilagigen Softwarearchitektur der vorliegenden Erfindung.

2 zeigt ein Ausführungsbeispiel der Architektur der vorliegenden Erfindung.

3 ist ein Beispiel, das eine Graphikanzeige-Einstellungsseite gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt, wie sie dem Endbenutzer erscheinen kann.

DETAILLIERTE BESCHREIBUNG

Eine zweilagige Softwarearchitektur wird beschrieben. In der folgenden Beschreibung werden zahlreiche spezielle Details, wie spezielle Konfigurationen, Beispiele, Anzeigeelemente, etc., dargelegt, um ein vollständiges Verständnis der Erfindung zu ermöglichen. Für den Fachmann ist es jedoch offensichtlich, daß diese speziellen Details nicht benötigt werden, um die vorliegende Erfindung auszuführen.

Die vorliegende Erfindung ist eine Softwarearchitektur die es erlaubt, eine Vielzahl von Hardwarefähigkeiten mit einer Seitenbeschreibungssprache und programmorientiertem Scripting dynamisch offenzulegen. Wie bereits erörtert, wurden die Fähigkeiten von Hardware traditionell entweder durch eine Kommandozeilensprachenschnittstelle, durch eine vorformatierte Konfigurationsdatei oder durch eine oder mehrere statischen Konfigurationsschema (z.B. herkömmliche Eigenschaftsseiten) offengelegt.

Die Softwarearchitektur der vorliegenden Erfindung stellt eine universelle Benutzerschnittstelle zur Verfügung, die in der Lage ist, einen weiten Bereich von Hardwaregeräten zu unterstützen. Um die mit diesen Verfahren nach dem Stand der Technik verbundenen Nachteile zu überwinden, verwendet die vorliegende Erfindung vorteilhaft eine Seitenbeschreibungssprache, um die Fähigkeiten von verschiedenen Hardwaregeräten innerhalb eines Computersystems offenzulegen. Insbesondere wird die Seitenbeschreibungssprache verwendet, um eine Benutzerschnittstelle für das Hardwaregerät zu definieren. Ein erweiterbares Protokoll wird verwendet, um es der Benutzerschnittstellenwirtssoftware zu ermöglichen, spezielle Fähigkeiten des Hardwaregerätes automatisch zu ermitteln.

Eine Schlüsselneuerung ist es, eine Seitenbeschreibungssprache zu verwenden, um einen weiten Bereich alternativer Benutzerschnittstellen auszudrücken, ohne die jeweiligen Hardware- oder Softwarekomponenten zu verändern. Dieses Verfahren erleichtert außerdem die Integration von Informationen, welche im World Wide Web gespeichert sind, in die Bildschirmmasken der Benutzerschnittstellen, die zum Konfigurieren der Hardwaregeräte verwendet werden. Daher unterstützt die vorliegende Erfindung die Integration von externen Informationen aus dem Internet, um den Endbenutzer bei der Konfiguration von Hardwaregeräten zu unterstützen.

Ein anderer wichtiger Vorteil der vorliegenden Erfindung ist es, daß sie es erlaubt, die Benutzerschnittstelle an spezifische Bedürfnisse anzupassen, ohne die Änderung der zugrundeliegenden Hardware oder Verarbeitungssoftware zu erfordern. Bei einem Ausführungsbeispiel wird z.B. die bekannte Hypertext Markup Language (HTML) als Seitenbeschreibungssprache verwendet. Diese einfach anwendbare Skriptsprache ermöglicht es einem Hersteller, zahlreiche spezielle Schnittstellen für die gleiche Hardware zu liefern. Ein Hersteller oder OEM-Lieferant kann es seinen Nachverkäufern oder anderen Händlern ebenfalls ermöglichen, einzigartige Versionen der Benutzerschnittstelle zu erstellen, ohne den Betrieb der zugrundeliegenden Hardware und Software zu verändern oder auch nur Kenntnis von dieser zu haben.

1 ist eine schematische Darstellung, die die zweilagige Softwarearchitektur der vorliegenden Erfindung veranschaulicht. An der Spitze der Architektur steht die Benutzerschnittstelle, welche im Diagramm als gemeinsame Benutzerschnittstelle (CUI) 11 bezeichnet wird. Die gemeinsame Benutzerschnittstelle 11 ist eine universelle, hardwareunabhängige graphische Benutzerschnittstelle, die durch eine Seitenbeschreibungssprache definiert wird. Die zweite Lage, oder unterste Ebene der Architektur ist die Treiberebene, welche eine Treiberschnittstelle 14 und einen Treiberkern 15 aufweist.

Das Schema in 1 zeigt ferner eine CUI-Treiberschnittstelle 12, die eng mit der speziellen Treiberimplementierung verbunden ist. Bei einem Ausführungsbeispiel ist die CUI-Treiberschnittstelle 12 eine gewöhnliche Microsoft-COM-Schnittstelle, die das Konzept eines Treiberaufrufs einkapselt. Die CUI-Treiberschnittstelle 12 kann als dünne Hülle betrachtet werden, welche die Unterschiede zwischen den Funktionsaufrufen (z.B. ExtEscape, DeviceIOControl, etc.) vor dem Treiberkern 15 verbirgt. Im wesentlichen stellt die CUI-Treiberschnittstelle 12 einen erweiterbaren Kommunikationskanal zwischen der gemeinsamen Benutzerschnittstelle 11 und allen Hardwaretreibern, die in dem Treiberkern 15 enthalten sind, zur Verfügung. Es ist dieser erweiterbare Kommunikationskanal, der es erlaubt, unterstützte Hardwareeigenschaften zur Laufzeit zu ermitteln.

Praktikern ist es klar, daß die CUI-Treiberschnittstelle 12 Zugriff auf alle hardwarespezifischen oder herstellerspezifischen Funktionen ermöglicht. Wenn verfügbar, sind Standardbetriebssystemaufrufe der bevorzugte Mechanismus, um Treiberfunktionen aufzurufen. Wenn Standardbetriebssystemaufrufe nicht verfügbar sind, kann die CUI-Software herstellerspezifische und treiberspezifische Aufrufe verwenden.

Es ist klar, daß die gemeinsame Benutzerschnittstelle 11 über die CUI-Treiberschnittstelle 12 nur lose mit dem Treiberkern 15 verbunden ist. Die CUI-Software ist unabhängig von der Hardware, wobei keine hardwarespezifischen Informationen in deren Programmen fest codiert sind. Diese Unabhängigkeit erlaubt es, daß derselbe Code mit jeder Hardware arbeitet, vorausgesetzt der jeweilige Treiber unterstützt die CUI-Treiberschnittstelle 12. Mit anderen Worten, die gemeinsame Benutzerschnittstelle 11 unterstützt alle Treiber, bei denen eine CUI-Treiberschnittstelle 12 implementiert ist. Da die CUI-Software unabhängig von der Hardware ist, ist es verhältnismäßig einfach, die Software so zu erweitern, daß sie neue Hardwarekomponenten unterstützt.

Bei einem Ausführungsbeispiel ist die gemeinsame Benutzerschnittstelle 11 gemäß dem Navigationsmodell, welches traditionell von Webbrowsern verwendet wird, gestaltet. Webbrowser stellen ein einfaches, leicht verständliches Modell zur Navigation bereit. Aufgrund der Popularität des Internets ist die Navigation von Webseiten für viele Benutzer gewohnt und angenehm. Die vorliegende Erfindung erlaubt es daher dem Endbenutzer, durch Nachahmung von Webbrowsernavigationsverfahren, sein vorhandenes Wissen wirksam einzusetzen.

2 zeigt eine detaillierte Blockdarstellung eines Ausführungsbeispiels der Architektur der vorliegenden Erfindung. Der zweilagige Aufbau der Architektur von 2 ist durch die Trennung der dynamischen Benutzerschnittstellenelemente (z.B. die gemeinsame Benutzerschnittstelle 20) von den treiber/hardware-abhängigen Elementen (z.B. Treiber 30) verdeutlicht.

Am unteren Ende der Darstellung befinden sich die einzelnen Treiber 33, jeder mit einer zugeordneten CUI-Treiberkomponente 31 (Schnittstelle). Es besteht eine 1:1-Zuordnung zwischen einem Treiber und einer CUI-Treiberkomponente. Wie dargestellt, ist z.B. Treiber 33a mit der CUI-Treiberkomponente 31a verbunden, Treiber 33b mit der CUI-Treiberkomponente 31b u.s.w. 2 zeigt eine Mehrzahl von Treibern 33, um die Fähigkeit der CUI-Treibersoftware darzustellen, mit Treibern verschiedener Arten von Hardwaregeräten (z.B. Graphik, Netzwerk, Modem, etc.) zu kommunizieren.

Zu beachten ist, daß die CUI-Treiberschnittstelle in der Darstellung als Vielzahl von COM-Komponenten dargestellt ist, wobei jede auf einem zugeordneten Treiber "aufsitzt". Jede CUI-Treiberkomponente 31 ist von dem Treibertyp unabhängig (z.B. Graphik, Netzwerk, Sicherheit, etc.) und verfügt über keine explizite Kenntnis von der Bedeutung der Daten, die über die Schnittstelle ausgetauscht werden. Die CUI-Treiberkomponenten 31 schaffen einen einzigen konsistenten Weg der Kommunikation mit der Treibersoftware.

Die CUI-Treiberkomponenten stellen im wesentlichen eine transparente Leitung (Pipeline) zwischen der Anwendung und dem Treiber zur Verfügung. In der Microsoft-Windows-Umgebung gibt es verschiedene Wege, auf denen eine Anwendung mit einem Treiber kommunizieren kann. Diese Wege beinhalten: Excape/ExtEscape-Aufrufe, DeviceIOControl-Aufrufe, Basis-Eingabe/Ausgabe-System(BIOS)-Aufrufe und andere OS-Aufrufe. Die Semantiken dieser Kommunikationsverfahren weichen stark voneinander ab.

Es ist klar, daß die CUI-Treiberkomponente 31 der Schlüssel zu einer nahtlosen Integration der gemeinsamen Benutzerschnittstelle mit einem neuen Hardwaregerät ist. D.h., daß die CUI-Software automatisch mit Treibern kommuniziert, welche die CUI-Treiberkomponentenschnittstelle implementieren. Es ist ferner klar, daß die Eigenschaften, welche durch die CUI-Treiberkomponenten offengelegt werden, unabhängig durch die verschiedenen Treiberentwickler erweiterbar sind. Mit anderen Worten, Treiberentwickler können Entwicklungsengpässe vermeiden, indem sie die von den CUI-Treiberkomponenten unterstützen Eigenschaften erweitern, um nach Bedarf neue Eigenschaften hinzuzufügen. Dies ist nur eine Frage der entsprechenden Änderungen an dem Treiber und der zugeordneten CUI-Treiberkomponente.

Am oberen Ende der Darstellung in 2 befinden sich die CUI-Anzeigekomponenten, die für den Endbenutzer sichtbar sind. Es werden verschiedene Arten von Anzeigeelementen gezeigt: HTML-Seiten 21, statische Seiten 22 und eine zugeschnittene Anwendung eines unabhängigen Hardwareanbieters (IHV), die durch Block 23 dargestellt wird. Die HTML-Seiten 21 sind die üblichen HTML-Inhaltsseiten, die durch einen Satz von ActiveX-Steuerelementen 24 eine Schnittstelle zu dem CUI-Diensten 25 bilden. Die statischen Seiten 22 sind ein Satz traditioneller Eigenschaftsseiten, die durch die Architektur der vorliegenden Erfindung ebenfalls unterstützt werden. Die IHV-Kundenanwendung 24 stellt dem Hersteller (z.B. OEM) eine sekundäre Ebene der Steuerung zur Verfügung, um die Benutzerschnittstelle anzupassen. Durch die IHV-Kundenanwendung 24 kann ein OEM für die Benutzerschnittstelle ein neues Aussehen und Bedienmerkmale (look and feel) erstellen, oder Gerätefähigkeiten gegenüber dem Endbenutzer verbergen, ohne den Programmcode zu verändern. Dies ist auch dem Hersteller durch die Veränderung von HTML-Seiten 21 unter Verwendung eines HTML-Editors, möglich.

Die ActiveX-Steuerelemente 24 sind eine bekannte Microsoft-Technologie, die in der vorliegenden Erfindung verwendet wird, um die Lücke zwischen der HTML-Umgebung und der Hardwaregeräte-Umgebung zu überbrücken. Die ActiveX-Steuerelemente 24 stellen ein Zuweisungsschnittstelle bereit, die es Scriptumgebungen, wie z.B. dem Microsoft-Internet-Explorer, erlaubt, die CUI-Funktionen aufzurufen.

Wie bereits beschrieben, kann ein Webbrowser verwendet werden, um die HTML-Seiten anzuzeigen. Ein anderer Ansatz ist die Verwendung einer Standard-Windows-Hilfe-Engine, die ebenfalls HTML-basiert ist und in die ein Webbrowser eingebettet ist. Der letztgenannte Ansatz hat den zusätzlichen Vorteil, die Verteilung aller Bilder und Seiten, die mit den HTML-Seiten verknüpft sind, in einer einzigen komprimierten Datei zu ermöglichen.

Die CUI-Dienste-Schicht 25 legt einen Satz von höheren, hardware-unabhängigen Schnittstellen offen, die Dienste für die verschiedenen Anzeigeelemente zur Verfügung stellen. Jede CUI-Dienst-Schnittstelle ist für eine bestimmte Technologie bestimmt, z.B. Graphikeinstellungen, Netzwerkeinstellungen, 3D-Einstellungen, Audioeinstellungen, etc. Alle CUI-Dienst-Schnittstellen sind hardware-unabhängig. Hierin liegt ein weiterer Aspekt des erweiterbaren Protokolls der vorliegenden Erfindung. Die CUI-Dienste-Schicht 25 führt Aufrufe an Funktionen des Betriebssystems aus, um Anforderungen aus den Anzeigeelementen zu erfüllen. Die CUI-Dienst-Schicht 25 maskiert ferner die Unterschiede zwischen verschiedenen Betriebssystemen. Dadurch ist es möglich, daß sich jeglicher OS-spezifische Programmcode innerhalb der CUI-Dienste-Module befindet.

Es ist zu beachten, daß sich unterhalb der CUI-Dienste-Softwareschicht der Treiber mit der entsprechenden Implementierung der CUI-Treiberkomponente (z.B. Schnittstelle) befindet. Diese Schnittstelle legt der Software die Fähigkeiten des Treibers in einer einheitlichen Weise offen, wobei die spezielle Hardware/Treiber-Implementierung vollständig abstrahiert wird. Erfordert ein Anzeigeelement keine Eigenschaft, die für eine bestimmte Hardwareplattform einzigartig ist, so verwendet die CUI-Dienste-Schicht 25 die zugeordnete CUI-Treiberkomponente 31, um die Informationen zu erhalten.

Um dies zu tun, stützt sich die CUI-Dienste-Schicht 25 auf übliche OS-Aufrufe für standardisierte Funktionen und verwendet die zugeordnete CUI-Treiberkomponente für alle eigenen Erweiterungen, die sich auf die spezielle Treiber/Hardware-Implementierung beziehen.

Die Struktur und die Definitionen für ein Ausführungsbeispiel der Schnittstelle zwischen dem CUI-Treiber und der CUI-Dienstebene der Software ist im Anhang aufgeführt.

3 zeigt eine beispielhafte Bildschirmansicht, die verdeutlicht, wie eine übliche CUI-Seite für den Endbenutzer erscheinen kann. Es ist zu beachten, daß diese Beispielseite die Graphikanzeigeeinstellungen zeigt, die es dem Benutzer ermöglichen, das Farbmodell und die Bildschirmauflösung der Graphikhardware zu verändern. Die einzelnen Seiteninhalte erscheinen innerhalb der CUI-Wirts-Anwendung, die web-ähnliche Navigationsdienste ermöglicht. Die jeweiligen Seiteninhalte werden unter Verwendung von HTML für das Seitenlayout erstellt. Dieser Ansatz erlaubt ein sehr hohes Maß der Anpassung, z.B. durch ein Produktentwicklerteam oder durch OEM-Kunden. Die HTML-basierten Seiten rufen Treiberfunktionen über Active X-Steuerelemente auf, die durch die CUI-Software zur Verfügung gestellt werden. Es ist klar, daß die Seiteninhalte jedes gewünschte Aussehen und Bedienmerkmale (look and feel) annehmen können.

Bei dem Beispiel gemäß 3 besteht die übliche Seitengrundform aus einer Leiste zum schnellen Zugriff (Quick Access Bar) am oberen Rand der Seite; einer Navigationsleiste auf der linken Seite der Seite; und dem Hauptseiteninhalt auf der rechten Seite der Seite. Diese Leiste zum schnellen Zugriff wird auf allen Seiten einheitlich gehalten und ermöglicht Zugriff auf das Inhaltsverzeichnis, Stichwortsuche, die Homepage basierend auf der entsprechenden Technologie und andere Informationen. Die Navigationsleiste ermöglicht Zugriff auf einen Satz von kontextsensitiven Verknüpfungen, die den Benutzer auf andere Seiten führen, die in bezug zu der aktuellen Seite stehen.

Zusammenfassung

Eine Software-Architektur stellt eine allgemeine Benutzerschnittstelle zur Verfügung, die in der Lage ist, einen breiten Bereich von Hardware-Einrichtungen zu unterstützen und die eine Seitenbeschreibungssprache benutzt, um die Fähigkeiten der verschiedenen Hardwareeinrichtungen in einem Computersystem offenzulegen. Die Seitenbeschreibungssprache wird benutzt, um eine Benutzerschnittstelle für die Hardwareeinrichtung zu definieren. Eine Treiberschnittstelle schafft eine Kommunikation mit einem der Hardwareeinrichtung zugeordneten Treiber unabhängig vom Treibertyp. Eine Dienst-Schicht der Software, die über die Treiberschnittstelle kommuniziert, legt eine hardware-unabhängige Schnittstelle offen, um Dienste für die graphische Benutzerschnittstelle zur Verfügung zu stellen.


Anspruch[de]
Softwarearchitektur zum dynamischen Offenlegen von Fähigkeiten von Hardwaregeräten mit:

einer graphischen, durch eine Seitenbeschreibungssprache definierten Benutzerschnittstelle;

einer Treiberschnittstelle, welche eine Kommunikation mit einem Treiber, der dem Hardwaregerät zugeordnet ist, unabhängig von dem Treibertyp ermöglicht; und

einer Dienstschicht, die mit der Treiberschnittstelle kommuniziert, um Dienste für die graphische Benutzerschnittstelle zur Verfügung zu stellen.
Die Softwarearchitektur nach Anspruch 1, ferner aufweisend:

eine Zuweisungsschnittstelle, um die Kommunikation zwischen der graphischen Benutzerschnittstelle und der Dienstschicht zu erleichtern.
Die Softwarearchitektur nach Anspruch 2, wobei die graphische Benutzerschnittstelle eine oder mehrere Anzeigekomponenten aufweist. Die Softwarearchitektur nach Anspruch 3, wobei die Seitenbeschreibungssprache die Hypertext Markup Language (HTML) umfaßt, und die eine oder mehreren Anzeigekomponenten HTML-Seiten sind. Die Softwarearchitektur nach Anspruch 4, wobei die eine oder die mehreren Anzeigekomponenten außerdem statische Seiten aufweisen. Die Softwarearchitektur nach Anspruch 4, wobei die eine oder mehreren Anzeigekomponenten ferner eine Anwendung umfassen, welche die Anpassung der graphischen Benutzerschnittstelle über das Internet erlaubt. Die Softwarearchitektur nach Anspruch 2, wobei die Zuweisungsschnittstelle ActiveX-Steuerelemente aufweist. Die Softwarearchitektur nach Anspruch 3, wobei die von der Dienstschicht zur Verfügung gestellten Dienste Aufrufe von Betriebssystemfunktionen beinhalten, um Anforderungen aus den Anzeigekomponenten zu erfüllen. Die Softwarearchitektur nach Anspruch 3, wobei die Dienstschicht einen Satz proprietärer Erweiterungen enthält, die sich spezifisch auf den Treiber beziehen. Einrichtung zum dynamischen Offenlegen der Fähigkeiten von Hardwaregeräten in einem Computersystem, wobei ein Treiber jedem Hardwaregerät zugeordnet ist, aufweisend:

eine Benutzerschnittstelle, die durch eine Seitenbeschreibungssprache definiert ist, wobei die Benutzerschnittstelle einen Satz von Benutzerschnittstellenbildschirmmasken zum Konfigurieren der Hardwaregeräte zur Verfügung stellt;

eine Treiberschnittstelle, die einen erweiterbaren Kommunikationskanal zwischen der Benutzerschnittstelle und jedem Treiber zur Verfügung stellt, wobei die Treiberschnittstelle auf die speziellen Treiberfunktionen jedes Hardwaregeräts zugreift.
Die Einrichtung nach Anspruch 10, wobei die Seitenbeschreibungssprache die Hypertext Markup Language (HTML) umfaßt. Die Einrichtung nach Anspruch 10, wobei die Benutzerschnittstelle ein Navigationsmodell verwendet, wie es charakteristisch für einen Webbrowser ist. Die Einrichtung nach Anspruch 10, wobei die Benutzerschnittstelle eine oder mehrere Anzeigenkomponenten aufweist. Die Einrichtung nach Anspruch 13, wobei eine oder mehrere Anzeigekomponenten HTML-Seiten aufweisen. Die Einrichtung nach Anspruch 13, wobei die Benutzerschnittstelle eine Softwaredienstschicht aufweist, die mit der Treiberschnittstelle kommuniziert, wobei die Dienstschicht Dienste zur Verfügung stellt, die Aufrufe von Betriebssystemsfunktionen beinhalten, um Anforderungen aus den Anzeigekomponenten zu erfüllen. Die Einrichtung nach Anspruch 15, fener aufweisend:

Zuweisungsschnittstellen, um eine Kommunikation zwischen der Benutzerschnittstelle und der Dienstschicht zu erleichtern.
Die Einrichtung nach Anspruch 16, wobei die Zuweisungsschnittstelle ActiveX-Steuerelemente umfaßt. Die Einrichtung nach Anspruch 16, wobei die Dienstschicht einen Satz proprietärer Erweiterungen aufweist, die speziell zu jedem Treiber in Beziehung stehen. Die Einrichtung nach Anspruch 13, wobei die eine oder mehreren Anzeigekomponenten ferner eine Anwendung aufweisen, welche die Anpassung der graphischen Benutzerschnittstelle über das Internet erlaubt. Ein computerlesbares Speichermedium mit einem Aufbau, der Daten und Anweisungen darstellt, die einen Computer dazu veranlassen:

eine Benutzerschnittstelle, die durch eine Seitenbeschreibungssprache definiert ist, zu implementieren, wobei die Benutzerschnittstelle einen Satz von Benutzerschnittstellenbildschirmmasken zum Konfigurieren eines Satzes von Hardwaregeräten zur Verfügung stellt, wobei jedem Hardwaregerät ein Treiber zugeordnet ist;

eine Treiberschnittstelle zu implementieren, welche einen erweiterbaren Kommunikationskanal zwischen der Benutzerschnittstelle und jedem Treiber zur Verfügung stellt, wobei die Treiberschnittstelle auf die spezifischen Funktionen jedes Hardwaregerätes zugreift.
Das computerlesbare Speichermedium nach Anspruch 20, wobei das computerlesbare Speichermedium außerdem so konfiguriert ist, daß es einen Computer veranlaßt, eine Dienstschicht zu implementieren, die mit der Treiberschnittstelle kommuniziert, wobei die Dienstschicht Dienste zur Verfügung stellt, die Aufrufe von Betriebssystemfunktionen einschließen, um Anforderungen aus den Anzeigekomponenten zu erfüllen. Das computerlesbare Speichermedium nach Anspruch 21, wobei die Dienstschicht einen Satz proprietärer Erweiterungen aufweist, die spezifisch zu jedem Treiber in bezug stehen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com