DE19655235B4 - Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms - Google Patents
Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms Download PDFInfo
- Publication number
- DE19655235B4 DE19655235B4 DE19655235.4A DE19655235A DE19655235B4 DE 19655235 B4 DE19655235 B4 DE 19655235B4 DE 19655235 A DE19655235 A DE 19655235A DE 19655235 B4 DE19655235 B4 DE 19655235B4
- Authority
- DE
- Germany
- Prior art keywords
- terminal
- operating system
- host computer
- memory
- entry
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
- G06F13/107—Terminal emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms gemäß dem Oberbegriff von Anspruch 1.
- Graphische Benutzerschnittstellen, wie die Microsoft Windows® Bedienungsumgebung, stellen die meistverbreitete und weltweit am meisten verkaufte Anwendungs-Software dar. Solche Umgebungen werden deshalb besonders bevorzugt, weil sie leicht zu bedienen sind, einheitliche Benutzerschnittstellen bieten, eine hohe Darstellungsqualität haben und aus vielen weiteren Gründen.
- Jedoch bedingen diese Benutzerumgebungen ausgebaute Arbeitsplätze und Microcomputer, wie beispielsweise Personalcomputer (PC). Diese Arbeitsplätze und Microcomputer sind zwar flexibel, verursachen aber Schwierigkeiten hinsichtlich der Sicherheit, der Zuverlässigkeit, des Bedienungskomforts und sind aufwendig. Demgegenüber sind Datenterminals im Vergleich zu Microcomputern für ihre Vorteile der besseren Sicherheit bekannt und für ihren Bedienungskomfort sowie dafür, daß sie üblicherweise preiswerter sind; diese Terminals sind jedoch üblicherweise nicht mit den am meisten benutzten graphischen Benutzerschnittstellen kompatibel. Diejenigen Terminals, die in der X-Umgebung arbeiten, bieten im beschränkten Umfang graphische Benutzerschnittstellen-Möglichkeiten unter UNIX®, sind aber teuer und erfordern einen großen Speicherplatz und sind zu den verbreiteten Windows®-Umgebungen nicht kompatibel.
- Eine andere bekannte Option bietet das sogenannte plattenlose PC-System (”diskless PCS”). Das plattenlose PCS leidet jedoch unter einigen Unzulänglichkeiten. In den meisten Fällen zeigt das plattenlose PCS, das in einer ”Client-Server”-Umgebung arbeitet, eine Anwendungsprogramm-Information an, indem die Anwendung vom Server heruntergeladen wird, und diese Anwendung dann lokal ausgeführt wird. Dies erfordert vom plattenlosen PC zumindest eine, wie auch immer geartete, Ausstattung, die für jede dieser Ausführungen dies auch ermöglicht. In der heute üblichen Umgebung kann dies einen Speicher von mehr als acht Megabyte, einen starken Prozessor usw. erfordern, wodurch der einzelne plattenlose PC wieder sehr teuer wird. Schließlich ist das plattenlose PCS wenig sicher und kann eine umfängliche Verwaltung erforderlich machen.
- Das Windows® NT-Betriebssystem stellt eine robuste Netzwerk-Client/Server-Umgebung dar und bietet gleichzeitig Kompatibilität mit der Anwendungsprogrammebene der verbreiteten Windows® Umgebung. Jedoch wurde das NT-Betriebssystem für PC-Clienten und nicht für Terminals ausgelegt. Dies führt dazu, daß die NT-Clienten wiederum robust und deshalb teuer sein müssen. Außerdem ist Windows® NT für die ”Client-Server”-Umgebung und nicht für eine ”Multiuser”-Umgebung ausgelegt. Das kürzlich von Citrix Systems, Inc. vorgestellte WinFrame®-Betriebssystem modifiziert das Windows® NT-Betriebssystem durch Ausweitung in eine Multiuser-Umgebung, während frühere Varianten von WinFrame® anstelle von Terminals PCS-Clienten benötigten.
- Aus der
WO 96/02034 A1 - Die
GB 2 269 032 A - Die
EP 0 654 936 A2 offenbart ein Verfahren und eine Vorrichtung zum Erneuern eines internen Programms in einer Vorrichtung, die mit einer Zentralstation kommunizieren kann. Als Speichermittel wird hierbei entweder ein EEPROM oder ein RAM-Speicher verwendet. - Die
US 4,942,540 betrifft ein Verfahren und eine Vorrichtung zum Eingeben und Bearbeiten von Kommunikations-Konfigurationsparametern. Hierbei können in einer Anzeige sogenannte „screens” zur Verfügung gestellt werden, wobei jeder „screen” einem Eintrag in einer Datenbank entspricht. Die „screens” enthalten Felder, die der Benutzer ausfüllen kann, und diese Felder entsprechen Feldern in dem Eintrag der Datenbank. - Die
EP 0 237 671 A2 beschreibt, wie ein Anwendungsprogramm auf einem Host-Computer ablaufen kann und hierbei von einem zweiten Computer gesteuert werden kann, nämlich insbesondere einer Workstation, die ein Terminal zu dem Host-Computer emuliert. - Das
US-Patent 5,321,840 A befasst sich mit dem Aktualisieren von Software auf einem Terminal nach Art eines Telefons. Dieses Telefon soll einen für aufwändig gehaltenen Heimcomputer ersetzen. Es enthält einen Display-Bildschirm, der die Kommunikation mit mehreren Diensteanbietern ermöglicht. Auf diesem Bildschirm erscheint ein Menü, das es einem Benutzer erlaubt, einen Diensteanbieter auszuwählen. Ein Diensteanbieter benötigt ein bestimmtes Anwendungsprogramm, das nachfolgend heruntergeladen wird. Dieses Anwendungsprogramm ist hierbei auf einem Host-Computer eines Netzwerks bereitgestellt, wobei das nach Art eines Telefons ausgebildete Terminal eine entsprechende Anfrage an den Host-Computer sendet. - Die
DE 691 30042 T2 befasst sich mit einem Personalcomputer, in dem verschiedene Teile für das BIOS-Betriebssystem zuständig sind. In einer Direkt-Zugriffs-Speichervorrichtung wird ein Schutzmittel vorgesehen. Somit ist ein Schutzmechanismus intern in dem Personalcomputer wirksam. - Die
EP 0 479 427 A2 betrifft ein Verfahren zum Laden des BIOS-Betriebssystems in ein Computersystem. In einem nicht-flüchtigen Speicher ist ein Code gespeichert, der eine Anfrage zum Herunterladen des BIOS-Betriebssystems ermöglicht. Der nicht-flüchtige Speicher ist jedoch nicht in der Lage, dieses BIOS-Betriebssystem dauerhaft zu halten. Daher wird das BIOS-Betriebssystem in einen flüchtigen Speicher geschrieben. - Es besteht die Aufgabe, ein Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms bereitzustellen, das insbesondere mit einem preiswerten Terminal durchführbar ist, das zuverlässig und einfach durchgeführt werden kann, sowie sicher ist.
- Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms mit den Merkmalen gemäß Patentanspruch 1.
- Durch das Verfahren kann eine schnelle und geeignete Aktualisierung des Terminal-Betriebssystems ermöglicht werden. Fensterinformationen können in einer Multiuser-Windows®-Betriebsumgebung verwendet werden.
- Das erfindungsgemäße Verfahren kann insbesondere bei einem Display-Terminal, das in der Lage ist, in einem Multiuser-System mit einem Anwendungs-Server zu kommunizieren, verwendet werden. Diese Kommunikation schafft einen sicheren Zugriff zu den Windows®-Anwendungen am Arbeitsplatz. Es kann beispielsweise ein Anwendungs-Server in Form eines beliebigen Computers bereitgestellt werden, auf dem das WinFrame®-Betriebssystem läuft. Das WinFrame®-Betriebssystem der Citrix Systems, Inc. schließt das Windows® NT-Betriebssystem und zusätzliche Erweiterungen ein, die ein als ICA-3 bekanntes Anzeigeprotokoll sowie Multiuser-Fähigkeiten implementieren.
- Das Terminal kann auf eine Hardware-Architektur mit der INTEL® X86 Prozessor-Linie aufbauen. Zusätzlich kann das Terminal nur einen begrenzten Hauptspeicher aufweisen und grundsätzlich nicht dafür ausgelegt sein, lokal moderne Anwendungsprogramme wie Textverarbeitungsprogramme, Graphikprogramme oder Datenbankprogramme oder andere populäre Programme laufen zu lassen, nicht einmal das Windows®- oder DOS-Betriebssystem selbst. Auf diese Weise unterscheidet sich ein solches Terminal grundsätzlich von dem bekannten X-Terminal oder dem plattenlosen PCS oder anderen PC-Systemen, die in einer Client-Server-Umgebung arbeiten.
- Die Hardware-Architektur eines solchen Terminals greift nicht auf den üblichen IBM PC/AT-Bus zurück und die Firmware (die in einem ROM gespeicherte Software) innerhalb des Terminals greift weder auf den PC/AT BIOS-Standard noch auf PC-kompatible Platten-Betriebssysteme zurück. Die Terminal-Firmware implementiert Netzwerk-Zugriffserweiterungen, die mit dem Anwendungs-Server kompatibel sind, wiederum z. B. die von Citrix Systems verfügbaren ICA-3-Erweiterungen. Es wird sowohl ein hochauflösender Bildschirm zur Erleichterung der Benutzung bereitgestellt, der ein Schwarz-Weiß-Bild mit vielen Graustufen oder Farbe bietet, als auch die für eine Windows®-Umgebung typischen Eingabe- und Ausgabeeinrichtungen, wie Maus, Tastatur, Berührungsschirm und andere Ein- und Ausgabe-Einrichtungen.
- Zusätzlich ist eine Netzwerkschnittstelle vorhanden, die mit dem Anwendungs-Server über konventionelle RS232-Verbindungen, Ethernet-Anschlüsse, drahtlose Verbindungen, ISDN, Glasfaseroptik, Wechselstromanschlußmodems, Kabel oder sonstwie kommuniziert. Sobald die Verbindung zum Server hergestellt ist, zeigt das Terminal die Windows® NT oder Windows 95®-Umgebung an, einschließlich beliebiger Anwendungsprogramme, die auf dem Server ausgeführt werden können und auf die der Benutzer am Terminal zugreifen kann. In einer beispielhaften Anordnung stellt das Terminal dem Benutzer im wesentlichen dasselbe dar wie ein wesentlich teurer, weniger sicherer und schwieriger zu handhabender Personalcomputer. Ein solches Terminal bietet zahlreiche Merkmale, die normalerweise mit einem Multiuser-System assoziiert werden, während gleichzeitig auch viele wünschenswerte Merkmale dargeboten werden, die für eine Client-Server-Umgebung typisch sind.
- Mit einem solchen Terminal ist es möglich, innerhalb der Windows®-Umgebung clientenunabhängig zu arbeiten. Auf diese Weise definiert ein Benutzer mit einem geeigneten System seine Betriebsumgebung, und diese Umgebung folgt ihm oder ihr durch das ganze System. Ein Benutzer kann sich deshalb in ein Terminal einloggen, eine Umgebung definieren und dann sich in ein weiteres Terminal einloggen. Das zweite Terminal wird dann automatisch die Umgebung anzeigen, die der Benutzer auf dem ersten Terminal definiert hat.
- Zusätzlich zu der Fähigkeit, die Anwendungsprogramm-Information anzuzeigen, kann das Terminal über einen Einstellmodus verfügen, welcher es dem Benutzer ermöglicht, eine Vielzahl von Betriebsarten des Terminals zu konfigurieren.
- Um Terminals der vorgenannten Art in die Lage zu versetzen, den von denjenigen Servern, die unter WinFrame® laufen, ausgesandten Befehlen zu folgen, ist ein besonderes Terminal-Betriebssystem entwickelt worden, das ein konventionelles PC-Betriebssystem entweder emuliert oder auf andere Weise die Anrufe beantwortet. Das Terminal-Betriebssystem schließt einen Boot-Block ein, um das System zu initialisieren und zu starten, worauf ein Kernel folgt, welcher zusätzliche Treiber und Befehls-Software lädt, und zwar einschließlich eines modifiziertes WinFrame®-Clientencodes. Die Ausführung des modifizierten WinFrame®-Clienten schließt die Herstellung einer Verbindung zu einem Anwendungs-Server ein.
- Zusätzlich zu der Fähigkeit, eine Anwendungsinformation in einer Microsoft Windows®-Umgebung anzuzeigen, bieten diese Terminals auch die Fähigkeit, mit anderen Servern oder Host-Rechnern, auf denen von Windows® abweichende Betriebssysteme laufen, dadurch zu kommunizieren, daß andere residente Terminal-Emulationen oder Kenndaten eingeschlossen sind, mit der Möglichkeit, durch einfachen Knopfdruck zwischen den verschiedenen Kenndaten hin- und herzuschalten.
- In solchen Terminals kann auch eine graphische Benutzerschnittstelle für die Konfiguration eines Terminals und anderer lokal zu lösender Tasks implementiert werden. Insbesondere stellt die graphische Schnittstelle eine Vielzahl von Fenstern zur Verfügung, und jedes Fenster ermöglicht eine erneute Konfiguration von einem oder mehreren Terminal-Kennzeichen oder anderer lokaler Tasks. In jedem Fenster sind die Auswahlmöglichkeiten in Gruppen angeordnet, die in diesem Fenster konfiguriert werden können. Dieses Auswählen oder diese Wahlmöglichkeiten, von denen der Benutzer Gebrauch machen kann, werden angezeigt oder sind durch ein sogenanntes ”Pull down”- oder ein ähnliches Menü anzeigbar. Verschiedene Datenstrukturen gehören zu verschiedenen Arten von Gruppen oder Wahlmöglichkeiten.
- Das Terminal-Betriebssystem kann in einem Kurzzeitspeicher, einem ”Flash-Speicher”, eingeschlossen sein. Dieser Flash-Speicher kann auf verschiedene Weise aktualisiert werden, einschließlich einer Kommunikation durch eine geeignete Schnittstelle, wie einer parallelen oder seriellen Schnittstelle, oder einem Netzwerkadapter, sobald sich das Terminal in einem vorbestimmten Status befindet.
- Es kann ein Terminal-Konfigurationsverfahren mit einer graphischen Benutzerschnittstelle für die Konfiguration der Terminal-Betriebsparameter bereitgestellt werden.
- Außerdem kann in einem oben beschriebenen System ein Terminal für die Darstellung von Anwendungsprogramm-Information vorgesehen sein, welches einen Clienten-Personalcomputer in einer Client-Server-Netzwerk-Umgebung emuliert.
- Das oben beschriebne Terminal kombiniert wünschenswerte Merkmale, die normalerweise mit einer Multiuser-Computer-Umgebung einhergehen, mit den wünschenswerten Merkmalen, die normalerweise mit einer Client-Server-Umgebung einhergehen.
- Ein Terminal, auf das das erfindungsgemäße Verfahren anwendbar ist, kann über ein Terminal-Betriebssystem verfügen, welches Kommunikationen mit einer Fenster-Betriebssystem-Umgebung ermöglicht, während gleichzeitig ein vom PC/AT BIOS und PC DOS abweichender Standard benutzt wird.
- Es sollten mehrere residente Kenndaten für ein Terminal verfügbar sein, und zwar durch schnelles Umschalten zwischen den verschiedenen Kenndaten, ohne daß Erweiterungskarten ausgetauscht werden oder das Terminal vom Stromnetz genommen werden muß.
- Weitere Einzelheiten, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung der Zeichnungen.
- Es zeigen:
-
1 eine schematische Darstellung einer allgemeinen Anordnung eines Anwendungs-Servers und eines Terminals, auf das das erfindungsgemäße Verfahren anwendbar ist, -
2 ein Blockschaltbild einer Architektur des neuen Systems, auf das das erfindungsgemäße Verfahren anwendbar ist, -
3 ein Blockschaltbild des Aufbaus des Steuer ASIC in2 , -
4 ein Flußdiagramm zum Ablauf der Schritte in einem Terminal, -
5 ein vereinfachtes Blockschaltbild der Setup-Schnittstelle zwischen einer GUI-Maschine und dem Rest des Systems, -
6 ein Blockschaltbild des Ablaufs eines Verbindungsaufbaus zwischen Terminal und Anwendungs-Server, -
7A einen beispielhaften Bildschirmaufbau und -
7B1 –7B3 Datenstrukturen. - In
1 ist ein vereinfachtes System, auf das das erfindungsgemäße Verfahren anwendbar ist, dargestellt. Ein einzelner Anwendungs-Server10 steht bidirektional mit einem oder mehreren Terminals12 über ein geeignetes Netzwerk oder eine andere Kommunikationsleitung14 in Verbindung. Diese Kommunikationsleitung kann aus einer RS232-Leitung, einem Wechselstromleitungsmodem oder einer Ethernetverbindung, beispielsweise einem verdrillten Leitungspaar oder einem Koaxkabel oder einer anderen geeigneten Verbindung, bestehen, beispielsweise einer Glasfaseroptik. In einer im Probebetrieb zufriedenstellenden, hier beispielhaft erwähnten Anordnung wird der Anwendungs-Server mit dem WINDOWS® NT-Betriebssystem mit geeigneten Erweiterungen, z. B. dem von CITRIX angebotenen Winframe® OS, betrieben. Das CITRIX Fern-WINDOWS-Protokoll oder Erweiterungen schließen sowohl das ICA 3.0-Protokoll als auch Verbesserungen ein, welche für eine echte Multiuser-Fähigkeit innerhalb der WINDOWS® NT-Umgebung sorgen. Bei einer solchen Konfiguration kann es sich beim Anwendungs-Server10 um einen auf einem INTEL Pentium® oder einem '486-Prozessor oder andere ähnliche Prozessoren, wie etwa ein DEC Alpha oder MIPS Prozessor, oder einer Zusammenschaltung mehrerer Prozessoren in Verbindung mit einer geeigneten RAM-Kapazität, basierenden Personalcomputer handeln. In einem Ausführungsbeispiel hat der Server10 ein sechzehn Megabyte großes RAM für Winframe® OS, zuzüglich 1–8 Megabyte RAM pro gleichzeitig laufendem Benutzer, und zwar in Abhängigkeit davon, welche Anwendung für den einzelnen Benutzer abläuft. - In anderen Beispielen kann der Anwendungs-Server
10 auch mit anderen Servern kommunizieren, so mit einem NetWare Fileserver16 , einem UNIX®-Host18 , anderen Personalcomputern20 oder auch einem Internet Gateway22 . Über andere Verbindungen, wie einem Router oder anderen Kommunikations-Servern24 kann der Anwendungs-Server10 auch mit dahinter arbeitenden Rechnern26 kommunizieren oder über andere Vorrichtungen auch mit anderen entfernten anwählbaren Benutzern28 . - Nähere Einzelheiten der Hardware-Architektur eines Terminals ergeben sich aus
2 . Eine CPU100 , typischerweise ein Prozessor der X86-Familie oder wie in einem Ausführungsbeispiel ein 80386CXSA oder ein '486SXLC-Mikroprozessor, empfängt den Takt und Reset-Signale von einer logischen Takt-und-Reset-Schaltung102 . Die CPU100 kommuniziert mit den anderen logischen Schaltungen über einen Adressbus105 , einen Datenbus106 und einen CTRL-Bus108 . Diese Bus-Verbindungen können weder mit dem IBM PC/AT-Standard noch mit einem anderen PC-Standard kompatibel sein, wenn beabsichtigt ist, viele, wenn nicht gar alle Mängel zu vermeiden, die sonst bei Personalcomputern dann auftreten, wenn sie in einer Netzwerkumgebung arbeiten. - Insbesondere verläuft der Adressbus
105 von der CPU100 sowohl zu einem Steuerungs-ASIC110 (anwenderspezifischer IC110 ) als auch zu einem Flash-Speicherbereich112 und einem VGA-Kontroller114 . Der Datenbus106 kommuniziert gleicherweise mit dem Steuerungs-ASIC110 , dem VGA-Kontroller114 sowie einer Speicheranordnung116 . Der CTRL-Bus108 legt in ähnlicher Weise Steuersignale an den ASIC110 und den VGA-Kontroller114 an. Verschiedene logische Schaltungen118 legen CONFIG, IDCS und DIAGCS an den ASIC110 an. - Der ASIC
110 kommuniziert mit der Speicheranordnung116 über einen DMA Bus120 und ferner mit dem Flash-Speicher112 über einen PD-Bus122 . Der PD-Bus122 sorgt außerdem für eine Kommunikation zwischen dem ASIC110 und dem Flash-Speicher112 , einem seriellen I/O und einem parallelen Kontroller124 , einem Tastatur- und Maus-Kontroller126 sowie einem LAN-(= Local Area Network)Kontroller128 . Zusätzlich legt der ASIC ein FCS-Signal (Prüfsignal) an den Flash-Speicher112 an, sorgt für RAS-, CAS- und WE-Signale für die Speicheranordnung116 und für COM1, COM2 und PPCS-Signale für den SIO-Kontroller124 . Weiterhin legt der ASIC110 ein KBCS-Signal an den Tastatur/Maus-Kontroller126 an und legt ein NETCS-Signal an den LAN-Kontroller128 . Schließlich gibt der ASIC110 ein Lautsprecher-Freigabesignal SPEN an einen Lautsprecher130 . - Die CPU
100 kommuniziert auch mit dem SIO-Kontroller124 , dem Tastatur/Maus-Kontroller126 und dem LAN-Kontroller128 über einen Teil des Busses105 . Zusätzlich stellt der ASIC110 dem SIO-Kontroller124 Hardware-Interrupts INTA, INTB, INTP und dem KB/MS-Kontroller126 Hardware-Interrupts KBINT und MSINT zur Verfügung und dem LAN-Kontroller128 einen Hardware-Interrupt NINT. - Der Speicherbereich
116 besteht typischerweise aus einem DRAM-Speicher, obwohl andere Speicherarten in abgewandelten Ausführungsformen gleichfalls eingesetzt werden können. Jedoch liegt die Größe des DRAM im Bereich116 , der für den Betrieb des Terminals erforderlich ist, im Unterschied zum modernen Personalcomputer typischerweise im Bereich von 512 Kilobyte bis vier Megabyte. In einer beispielhaften Ausführungsform werden nur 23 Adressleitungen und eine Byte-Auswahlleitung benutzt, wodurch die Speicherkapazität auf 16 Megabyte begrenzt werden kann. In anderen Ausführungsformen können unterschiedliche Speichergrößen eingesetzt werden. - Der Steuerungs-ASIC
110 weist in einem Ausführungsbeispiel Funktionsblöcke für die Bussteuerung, für die DRAM-Steuerung (hier typischerweise im Fast-Page-Modus mit gegenseitiger Versetzung), für einen Systemzeitgeber, für einen Lautsprecherzeitgeber und einen I/O-Kontroller. Der Steuerungs-ASIC kann außerdem als ein Gate-Array oder anderer hochintegrierter Schaltkreis implementiert sein, was näher im Detail in Verbindung mit3 nachstehend beschrieben werden wird. - In einem Anwendungsbeispiel hat es sich als ausreichend erwiesen, den Flash-Speicher
112 in der Größenordnung von 512 Kilobyte zu halten; jedoch könnten andere Anwendungen eine Größe bis hinauf zu fünf Megabyte oder mehr erfordern. In dem bevorzugten Ausführungsbeispiel ist zwar der Bereich112 als Flash-Speicher dargestellt, in anderen Ausführungsbeispielen könnte dieser Bereich auch aus einem EPROM oder einem SRAM oder anderen vergleichbaren Speichereinheiten bestehen. - Der SIO-Kontroller
124 kommuniziert mit COM1-, COM2- und Druker-(oder Parallel-)Ports132 ,134 bzw.136 . Der SIO/Parallel-Kontroller124 kann ein handelsüblicher 16552-Baustein sein, so wie er von der Firma Startech angeboten wird. Der Tastatur/Maus-Kontroller126 kommuniziert in ähnlicher Weise mit einer Tastatur138 und einer Maus140 , während der LAN-Kontroller, welcher nicht in allen Ausführungsformen benötigt wird, mit einer LAN-Schnittstelle142 kommuniziert. In einem Prototyp bestand der Tastatur/Maus-Kontroller126 aus einem Standard-Tastatur-Kontroller, während die Tastatur und die Maus dem PS/2-Standard entsprechen, obwohl zumindest in einigen Ausführungsformen eine Modifizierung des Tastatur-Kontrollers möglich ist, um mit einer Vierdraht-Tastatur-Schnittstelle kompatibel zu sein, wie sie in derUS-Patentschrift 4 706 068 beschrieben ist. Schließlich kann der LAN-Kontroller aus einem beliebigen geeigneten Netzwerk-Schnittstellen-Kontroller bestehen und jedem möglichen Netzwerk-Standard entsprechen, einschließlich 10BaseT, 10Base2 oder anderes. Die Netzwerkschnittstelle kann einen 512 Kilobyte-Speicher oder einen größeren für eine zusätzliche Codespeicherung aufweisen. - Der Video- und Graphik-Kontroller
114 ist funktional mit einem zweiten Speicherbereich144 verbunden, um Video- und graphische Informationen zu speichern, die an einen Monitor146 über ein MPS148 geleitet werden. Der Video-Kontroller114 kann beispielsweise ein Cirrus 5429-Baustein mit internem RAMDAC sein und kann einen Videospeicher in der Größenordnung von einem Megabyte haben, um hochauflösende Graphikdarstellungen zu ermöglichen, wie sie zumindest dem Video Graphics Array-Standard entsprechen. Es wird jedem Fachmann deutlich werden, daß die gesamten Speicheranforderungen entscheidend kleiner sind, als sie für einen Personalcomputer mit vergleichbarer Kapazität nötig sind, um WINDOWS®-Anwendungsprogramme ablaufen zu lassen. Ein Ruhesignal150 kann von dem ASIC110 bereitgestellt werden. Verschiedene Methoden zur Implementierung eines Ruhesignals können benutzt werden. Beispielsweise kann in einer Schwarz-Weiß-Version der vorliegenden Erfindung ein Signal an die Stromeinspeisung für den Monitor bereitgestellt werden, welches das Videosignal abschaltet und den Stromverbrauch, der für den Betrieb des Monitors notwendig ist, absenkt. In einer Farbversion kann das Synchronisationssignal in Übereinstimmung mit dem VESA-Standard manipuliert werden, um den Monitor leistungsmäßig herunterzuschalten. Es wird für den Fachmann deutlich, daß viele Funktionen, einschließlich der CPU, in einem oder mehreren integrierten VLSI-Bauteilen, wie einem ASIC, Gate-Arrays oder anderen Bauteilen, zusammengefaßt werden können. - Das Terminal-Betriebssystem, welches in dem Flash-Speicher
112 abgelegt ist, kann durch eine Vielzahl von Methoden aktualisiert werden kann, einschließlich der Kommunikation über eine geeignete Schnittstelle, wie die Parallel-Schnittstelle136 oder den seriellen Schnittstellen132 oder134 oder einen Netzwerkadapter, wie die LAN-Schnittstelle142 . Der Flash-Speicher wird durch eine Kommunikation mit dem Host-System aktualisiert, wenn sich das Terminal in einem vorherbestimmten Zustand befindet, wie z. B. durch Einstecken eines Rückführungsschleifensteckers, einer geeigneten Schlüsselsequenz oder anderen geeigneten Mitteln. In einer derartigen Anordnung erfolgt das Herabladen in das Speichersystem des Terminals, während die Kommunikation mit dem Host-Rechner weiterhin erlaubt ist. Der Host-Rechner stellt dann über die Kommunikationsverbindung aktualisierte Betriebsmerkmale entweder dem DRAM116 des Terminals oder direkt dem Flash-Speicher112 bereit. Danach wird, erforderlichenfalls, die aktualisierte Betriebssystem-Information im Flash-Speicher112 gespeichert und das Terminal kehrt in den normalen Betriebszustand zurück, in dem das Herunterladen abgeschaltet ist. - Unter normalen Umständen startet ein System gemäß
2 den Betrieb nach einem Reset durch Beginn der Ausführung des Boot-Codes, der im Flash-Speicherbereich112 abgelegt ist. Der Flash-Speicherbereich112 kann in zwei Speicherbereiche angeordnet sein, wobei auf beide an einer vorbestimmten Adresse des CPU-Speicherplatzes zugegriffen wird, beispielsweise C00000 – DFFFFF und E00000 – FFFFFF, während der Rest des Speicherplatzes dafür vorgesehen ist, viele der sich aus Tabelle 1 ergebenden normalen PC-Funktionen bereitzustellen. Es wird deutlich, daß in einer bevorzugten Ausführungsform die Video/Graphik-Speicheradressen um acht Megabyte über die normalen PC-Speicheradressen hinaus verschoben sind. In dieser Ausführungsform kann der VGA-Chip in einem ”kompatiblen” Modus benutzt werden (d. h. der lineare Adressenmodus ist ausgeschaltet), so daß der VGA-Chip nur auf einen Datenübertragungsblock-Puffer bei A0000h – AFFFFh (im Graphikmodus) oder bei B0000h – B7FFFh (für den MGA-Modus) oder bei B8000h – B8FFFh (für den CGA-Modus) anspricht, und daß diese Adressen auf 8A0000h – 8AFFFFh verschoben werden usw. Die Adressen werden verschoben, um dem Speicherbereich 0 DRAM zu ermöglichen, zusammenhängend zu bleiben, während zur gleichen Zeit (und wie nachstehend näher erläutert wird) eine Emulation der normalen PC-Funktionen ermöglicht wird, die ausreicht, um eine WINDOWS®-Anwendungsprogramm-Information darzustellen. Tabelle 1 - Speicherbereich 0 kann in einen 16 Kilobyte Boot Block im oberen Adressenbereich, beispielsweise bei FFC000H – FFFFFFH, angeordnet sein, gefolgt von zwei 8 Kilobyte Parameter-Blocks und weiter gefolgt von einer Vielzahl von Hauptblöcken bis hinunter zur Adresse F80000H (für eine 512 Kilobyte-Auslegung) oder hinunter bis zu F00000H (wenn eine 1 Megabyte-Auslegung vorliegt) oder bis E00000H (wenn eine 2 Megabyte-Auslegung vorliegt). Die Hauptblöcke des Speichers sind typischerweise als ein File System (Dateisystem) eingerichtet. Der Speicherbereich 1 des Flash-Speichers ist typischerweise einer File-System-Einrichtung zugeordnet und kann von den Adressen DFFFFFH bis hinab zu C00000H reichen.
- Nachstehend wird anhand von
3 der ASIC110 näher erläutert. Ein Taktpuffer160 empfängt ein CLK50-Signal und legt Taktsignale an die logische RESET SYNC Schaltung162 an, an die logische DRAM-Steuerschaltung164 und an die logische Zeitsteuerschaltung166 . Ein (INT)-Puffer168 empfängt INTP, INTA, INTB, MSINT, KBINT und NINT-Signale. Der INT-Puffer168 legt eine Vielzahl von Signalen an die logische Interrupt-Steuerschaltung170 , welche ein Steuersignal vom CPU-Steuerungseingangspuffer172 und ein Zeitgebersteuersignal von der logischen Zeitgebersteuerschaltung166 empfängt und erzeugt ein INTR-Ausgangssignal, welches an die CPU angelegt wird. Der CPU-Steuerungseingangspuffer172 legt ferner ein Steuersignal an die logische Cycle-Steuerungsschaltung174 , die ihrerseits ein Steuersignal an die DRAM-Steuerung164 anlegt. Die DRAM-Steuerschaltung164 empfängt ein Aktualisiersignal von der Zeitgebersteuerungsschaltung166 ; die Zeitgebersteuerungsschaltung166 erzeugt außerdem das Freigabesignal SPEN für den Lautsprecher. - Es ist auch möglich, dass die logische Interrupt-Steuerschaltung
170 nicht mit dem Baustein 8259 kompatibel ist; gleichermaßen ist der Systemzeitgeber oder die Zeitgebersteuerungsschaltung166 nicht mit dem Baustein 8254 kompatibel und arbeitet mit einer höheren Frequenz als ein 8254-kompatibler Baustein. Als Ergebnis werden einige der von der logischen Zeitgebersteuerungsschaltung gesendeten Interrupts höherer Frequenz im Kernel maskiert, aber andere werden durchgelassen, um im Durchschnitt die normale Zeit zwischen Interrupts anzunähern. Die höhere Frequenz ermöglicht somit die Emulation von Standard-PC-Funktionalitäten, sogar, obwohl die Zeit zwischen auf niedriger (Standard)-Frequenz emulierten Interrupts nicht gleichförmig sein kann. - Der ASIC
110 umfaßt auch einen CPU-Adress-Eingangspuffer176 , welcher BEO, BE1 und A1–A23-Signale empfängt und legt ein Ausgangssignal an einen DRAM-Speicher-Adressen-Multiplexer ”Mux178 ” und zugleich an eine logische Mem/IO-Chip-Auswahl-Steuerschaltung180 . Die logische Mem/IO-Chip-Auswahl-Steuerschaltung180 produziert eine Vielzahl von Ausgangssignalen einschließlich FLASHCSO(FCSO)- und FLASHCS1(FCS1)-Signale, und andere, die sich aus der Zeichnung ergeben. Ferner empfängt der ASIC110 Signale DO-15 vom Datenbus106 und legt sie an den CPU-Dateneingangspuffer182 an. Der Puffer182 legt Daten an einen Bdata-Ausgangspuffer und Zwischenspeicher184 an, welcher ein Ausgangssignale BDO-15 erzeugt. Der Puffer182 legt außerdem Daten an eine Stromversorgungssteuerschaltung186 an, welche SLEEP und PWRDWN-Signale erzeugt. - Die Signale BDO-15 können ebenso Daten an den Bdata-Eingangspuffer
188 anlegen, der seinerseits diese Daten an den CPU-Datenausgangspuffer190 leitet. Die logische Interrupt-Steuerschaltung170 legt auch Signale an den Puffer190 an. Ein Konfigurationsregister192 stellt ein Konfigurationssignal bereit (beispielsweise ein solches zur Hardware-Konfiguration z. B. wieviel Flash-Speicher und/oder DRAM-Speicher benötigt wird, oder eine Konfiguration von der Monitor-Stromversorgung oder von einer Steckkarte, z. B. einer Netzwerkkarte), welches an den CPU-Datenausgangspuffer angelegt wird, der Daten an den Bus106 zur CPU anlegen kann. - Unter Bezugnahme auf
4 können die Schlüsselelemente des Terminal-Betriebssystems besser verstanden werden. Aus dem Vorhergehenden geht hervor, daß die Hardware gemäß einem Terminal, auf das das erfindungsgemäße Verfahren anwendbar ist, mit einer üblichen Standard AT-Bus-Auslegung nicht kompatibel ist. Stattdessen basiert dieses auf Firmware, um die erforderlichen BIOS-Dienste für die oberen Software-Schichten vorzubereiten. In einer Ausführungsform ist die Firmware ausgelegt, um im virtuellen 8086-Modus abzulaufen, und zwar mit AT-kompatiblen Hardware-Komponenten, wie den Interrupt-Kontrollern und Zeitgebern, die in Software so dicht als möglich emuliert sind. Während in einer Ausführungsform ein Standard-Tastatur-Kontroller benutzt wird, würde in dem Fall, in dem ein Nichtstandard-Kontroller benutzt wird, die Schnittstelle zu einer solchen Einrichtung zusätzlich emuliert werden. Signale, z. B. Ein- und Ausgangssignale zu und an die Ports derartiger Hardware-Komponenten, werden abgefangen, um die Emulation zu ermöglichen. Des weiteren könnten die Speichermanagementmerkmale des Prozessors unter der Steuerung eines emulierten A20 Gates freigegeben werden, um den Bildumlauf zu simulieren, welcher normalerweise in einer Hardware bei einem Megabyte auftritt. - Gemäß
4 beginnt das Terminal-Betriebssystem mit der Abarbeitung eines Boot Blocks300 , gefolgt vom Laden eines Kernels305 . Der Kernel305 besorgt viele der Abfang- und Wiedereinteilungsfunktionen, wie sie nachstehend näher erläutert werden. Nach Beendigung des Kernels305 wird der IO.SYS-Code310 geladen. Als nächstes wird der COMMAND.COM-Code315 geladen, gefolgt von in einem AUTOEXEC.BAT-File abgelegten Ausführungsbefehlen. Das AUTOEXEC.BAT-File kann beispielsweise Tastatur- und Maustreiber umfassen, obwohl diese beiden Treiber nicht in jedem Zustand benötigt werden, sowie einen VGA XMS-Treiber. Es kann außerdem andere optionale Codes einschließen, wie das Auslösen einer Selbsttestsequenz, welche abläuft, wenn geeignete Bedingungen bestehen. In einem bevorzugten Ausführungsbeispiel ist ein Rückführungsschleifenstecker in einem Kommunikationsport eingesteckt, der bewirkt, daß die Selbsttestsequenz abläuft. - Der EXEC.COM-Code
325 wird dann geladen. An diesem Punkt und in Abhängigkeit von der Implementation wird das System entweder in den Setup-Modus übergehen oder Befehle des Anwenders können entweder in einen Eintritt in den Setup-Modus oder das Laden eines Netzwerk-Verbindungscodes bewirken. In einem Ausführungsbeispiel tritt das System in einen Setup-Modus ein, um aktuelle Konfigurationsdaten zu erhalten, und setzt mit dem Laden des Netzwerk-Verbindungscodes fort. - Wenn die Implementation es dem Benutzer erlaubt auszuwählen, und wenn der Setup-Modus durch den Anwender gewählt worden ist, zweigt die EXEC.COM
325 ab, um den SETUP oder GUI330 ablaufen zu lassen. Wenn der Setup-Modus nicht aktiviert worden ist, wirkt die EXEC.COM325 mit, daß Netzwerk-Treiber bei335 auf- und abgeladen werden, und beginnt mit der Abarbeitung des Netzwerk-Verbindungscodes340 (wiederum ICA, verdrillter Draht, com oder anderes Netzwerk). In einer bevorzugten Ausführungsform enthält der Netzwerk-Verbindungscode eine wesentlich modifizierte Version des WinFrame für DOS-Clienten, deren Standard-Version bei Citrix Systems, Inc. verfügbar ist. - Unter Bezugnahme auf
5 läßt sich die Zusammenarbeit des Terminal-Betriebssystems und der Hardware-Architektur besser verstehen. Die in5 dargestellte unterste Schicht ist das Eingangs/Ausgangssystem und die Hardware-Schicht400 . Die nächsthöhere Schicht ist die Schicht der Treiber402 , während die oberste Schicht die Anwendungsschicht404 ist. - Beim Einschalten werden die Power-Up- und Init-Tests
406 in der Hardware-Schicht als Teil des Boot Blocks300 ausgeführt. Die Power-Up- und Init-Tests406 werden teilweise vom Flash-Speichersystem112 heraus und zum Teil vom RAM116 aus ausgeführt. Wenn die Einschalt-Selbsttests beendet sind, setzt das Terminal mit der Boot-Sequenz fort, die allgemein oben in Verbindung mit4 beschrieben wurde, einschließlich des Rests im Boot Block300 , einer AUTOEXEC-Sequenz408 und der COMMAND.COM-Sequenz, wie sie zuvor mit315 bezeichnet wurde. Beides, die AUTOEXEC- und die COMMAND.COM-Datei, sind im Flash-Speicher abgelegt. - Nachdem die COMMAND.COM-Sequenz des Terminals ausgeführt wird, bewirkt dies, daß die AUTOEXEC-Datei geladen wird. Die AUTOEXEC ihrerseits bewirkt, daß die EXEC.COM
325 geladen wird. Wie oben bereits bemerkt, kann die EXEC.COM-Sequenz325 entweder in ein Setup-Modul330 oder in ein Netzwerk-Verbindungsmodul340 verzweigen. Bei der anfänglichen Installation oder zu jeder Zeit danach, wenn Betriebsparameter des Terminals eine Variation oder Änderung verlangen, läßt man das Setup-Modul330 ablaufen. Das Setup-Modul330 empfängt Informationen von einem oder mehreren Setup-Datenfiles418 und setzt die GUI-Maschine420 in Gang. Die GUI-Maschine420 ihrerseits kommuniziert mit einem Tastaturtreiber422 , einem Maustreiber424 und den Dateien- und Speichertreiber426 des Terminal-Betriebssystems. Zusätzlich kommuniziert die GUI-Maschine420 gleichfalls mit dem Videoeingangs- und -ausgangssystem428 , welches seinerseits Daten an den Video-Kontroller430 anlegt, der beispielsweise auf einem Cirrus 5429 Graphik-Prozessor basieren kann, um eine Videoanzeige während der Setup-Sequenz zu erzeugen. Die Setup-Sequenz wird detaillierter unter Bezugnahme auf5 beschrieben. - Der Tastaturtreiber
422 seinerseits kommuniziert mit der Tastatur-Kontroller-Hardware432 , welche beispielsweise ein konventionelles PS/2-Tastatur Ein/Ausgabesystem, eine universelle serielle Busschnittstelle und zumindest in einigen Ausführungen auch eine Vierdraht-Tastatur-Schnittstelle sein kann, wie sie in der zuvor schon erwähntenUS-Patentschrift 4 706 068 beschrieben ist. In gleicher Weise kommuniziert der Maustreiber424 typischerweise auch zu geeigneten Zeiten mit einem Maus-Ein- und Ausgabesystem434 . Während all dieser Operationen werden das Flash-File und die Speicher-Dienst-Teile426 des Terminal-Betriebssystems typischerweise aus dem Flash- und RAM-Speicher herausgeführt. - Wie deutlicher in Verbindung mit
5 ausgeführt, ermöglicht es der Setup-Ablauf dem Benutzer, die Konfigurationsinformation auf dem Terminal zu spezifizieren, einschließlich solcher Parameter, wie die Netzwerk-Schnittstelle und verwandte Konfigurationsdetails, die Sprache, Farbe oder andere Parameter. Wenn diese Parameter einmal spezifiziert sind, werden die Daten in den Verbindungsdatendateien440 abgelegt. - An diesem Punkt ist der Benutzer so weit, das Terminal-Setup-Modul
414 zu verlassen und zur EXEC.COM zurückzukehren. Wenn ihm eine Fortsetzung erlaubt wird, kann der EXEC.COM-Vorgang412 zu einer Abzweigung in das Netzwerk-Verbindungsmodul veranlaßt werden,416 . Das Netzwerk-Verbindungsmodul340 beginnt durch Zurückholen der in der Verbindungsdatendatei440 und der Befehlsleitung des Verbindungsmoduls abgelegten Daten, wodurch dem Applikationsserver mitgeteilt wird, wie mit Rest von Treiber und Hardware-Schichten des Terminals in Verbindung zu treten ist. Insbesondere kommuniziert das Netzwerk-Verbindungsmodul mit dem Tastaturtreiber422 , dem Maustreiber424 , dem Video Ein/Ausgangssystem428 und dem File und Speicher-Dienst-Teil426 des Terminal-Betriebssystems. Zusätzlich verbindet das Netzwerk-Verbindungsmodul auch eine in hardware ausgeführte serielle Schnittstelle442 und in einigen Ausführungen gleichfalls eine Hardware-Netzwerk-Schnittstelle444 . Die Netzwerktreiber444 werden in einer Ausführungsform aus dem RAM116 heraus ausgeführt, kann aber ebenso auch aus dem Flash-Speicher112 heraus ausgeführt werden. Die serielle Schnittstelle442 kann eine konventionelle RS232-Schnittstelle sein, aber auch eine andere Form einer seriellen Verbindung, wie beispielsweise der Universal Serial Bus oder USB. - Anhand der
6 wird die Arbeitsweise der GUI-Maschine420 , wie sie in5 dargestellt ist und wie sie während des Setup-Moduls des Terminals12 abläuft, näher beschrieben. Die GUI-Maschine arbeitet nur während des Setup-Modus und stellt eine rudimentäre, graphische Benutzer-Schnittstelle während der Konfigurationsoperation bereit. - Wie schon in Verbindung mit der Beschreibung von
5 erwähnt wurde, beginnt die Operation gemäß6 , wenn die Setup-Sequenz während der Boot-Phase des Terminals aufgerufen wird. Diese Setup-Sequenz kann durch eine Sequenz von Tastenanschlägen oder in anderer geeigneter Weise aufgerufen werden. Die Setup-Sequenz startet mit einem Aufruf des Setup-Codes502 , der seinerseits Informationen von der Setup-Data-Datei418 bezieht. Die Setup-Data-Datei418 identifiziert die verschiedenen Konfigurationsoptionen, die im Terminal verfügbar sind. Der Setup-Code502 kommuniziert bidirektional mit einer RAM-Struktur504 und bewirkt außerdem, daß bestehende Verbindungsinformationen von der Verbindungsdatendatei440 in die RAM-Struktur504 geschrieben werden. Die GUI-Maschine420 kommuniziert außerdem bidirektional mit der RAM-Struktur, um aktuelle Informationen in einer nachstehend näher als Bereiche, Gruppen und Auswahlen beschriebenen Anordnung einzustellen und anzuzeigen. Zusätzlich stellt eine Hardware-Schnittstelle506 Videoinformation an den Video-Kontroller430 bereit, während sie auf die Informationen, die vom Benutzer über die Maus260 oder die Tastatur250 empfangen werden, reagiert. - Der Setup-Code erlaubt es dem Benutzer, eine Mehrzahl von Konfigurationsmenüs für die Bedienungscharakteristiken des Terminals zu durchlaufen, wie z. B. die auf dem Terminal anzuzeigende Sprache, die Art der Netzwerkverbindung usw.
7A zeigt eine Darstellung eines Setup-Bildschirms, wie er im Konfigurationsmodus des Terminals benutzt wird. In einer bevorzugten Ausführungsform werden die Setup-Bildschirme graphisch dargestellt. Wenn der Benutzer diese Konfigurationsbildschirme durchläuft, können die Konfigurationsdaten selektiv durch den Anwender durch Benutzung der Tastatur und der Maus aktualisiert werden. Die aktualisierten Daten werden in der RAM-Struktur504 beibehalten, bevor sie in die Verbindungsdatendateien436 geschrieben werden. Jedoch können in einer gegenwärtig bevorzugten Ausführungsform gewisse Daten dynamisch aktualisiert werden, während andere Daten bis zu Beendigung der Setup-Sequenz nicht aktualisiert werden. Nach Beendigung der Setup-Sequenz einschließlich des Einschreibens von jeglichen verbleibenden Konfigurationsdaten in die Verbindungsdatendateien436 endet die Setup-Sequenz und kehrt zur EXEC.COM325 zur Einleitung des Netzverbindungsmoduls340 zurück, der in5 gezeigt ist. - Wieder zurück zur
7A ; dort wird das ganze Fenster, in welchem die Dateien erscheinen, hier als Bereich600 bezeichnet. Innerhalb eines jeden Bereichs600 sind eine oder mehrere Gruppen610 , und jede Gruppe610 weist eine oder mehrere Auswahlen620 auf. So umfaßt im Beispiel von7A die ”Kommunikations”-Gruppe die Wahlmöglichkeiten Serial Port, TCP/IP, SPX und IPX, von denen jede mit einer Region630 verbunden ist, mit der angezeigt wird, daß diese Auswahl getroffen oder ausgewählt wurde. - Mit Bezug auf die
7B1 –7B3 werden die mit der Konfigurations-Software verbundenen Datenstrukturen dargestellt. Insbesondere wird eine Liste von Bereichszeigern in der AREA_LIST700 gefunden. Die Strukturen, auf die von der AREA_LIST gezeigt wird, umfassen Grenzen, Größe, Titel und Gruppen, wie sie für alle Bereiche zugeteilt sind, wie sie im Setup-Prozeß definiert wurden. Wie zuvor angemerkt, erscheint jeder Bereich als ein Fenster auf dem Schirm. Außerdem werden alle Bereiche, die gegenwärtig angezeigt werden, in der DISP_AREA_LIST702 angezeigt. In einer beispielhaften Ausführungsform ist der erste aufgelistete Bereich als der Bodenbereich angezeigt und der letzte angezeigte Bereich ist der oberste angezeigte Bereich. In einer beispielhaften Ausführungsform wird die Überlappung von Fenstern gestattet, obgleich ein Überlappen nicht notwendigerweise in allen Ausführungsformen erforderlich ist. - Mit
704 ist die Datenstruktur für GROUP_LIST bezeichnet, die alle Gruppen auflistet, die beim SETUP-Prozeß in allen Bereichen definiert wurden, die in der AREA_LIST700 gefunden wurden. Wie zuvor erwähnt, enthält jeder Bereich eine oder mehrere Gruppen. Eine optionale Datenstruktur706 für eine STRING_LIST kann ebenso vorgesehen werden, und eine FILE_LIST708 wird als ein Verzeichnis für ”bitmap”-Bilder bereitgestellt, welche in vielen Zuständen in den verschiedenen Bereichen, Gruppen und Auswahlen benutzt werden können. - Die Struktur der AREA_LIST ergibt sich aus
710 . Sie schließt einen Block für einen Bereich ID712 , einen Zeiger zum nächsten Bereich714 , einen Zeiger zum vorhergehenden Bereich716 und einen Strukturzeiger718 ein. Der Strukturzeiger718 , der zu jedem Bereich ID712 gehört, zeigt auf eine Bereichsstruktur715 , welche den Bereich ID712 zusammen mit einem ABS_X Eintrag720 und einem ABS_Y Eintrag722 einschließt, um die Position dieses Bereichs in Bezug auf die obere linke Ecke des Bildschirmes anzugeben (in einer bevorzugten Ausführungsform der Erfindung). Die Bereichstruktur715 schließt ferner einen ROWS Eintrag724 und einen COLUMNS Eintrag726 ein, die zusammen die Größe des Bereichs spezifizieren. Ein FLAGS Eintrag728 legt fest, ob sich eine Umrahmung um den Bereich erstreckt. Ein TITLE_POSITION Eintrag730 und ein TITLE_BAR Eintrag732 spezifizieren den Text des Titels und dessen Anordnung innerhalb der Titelzeile des betreffenden Bereichs, während ein MAX_STR_LEN Eintrag734 die maximale Anzahl von Zeichen für den Titel spezifiziert. - Zusätzlich enthält die Bereichsstruktur
715 einen Eintrag736 für die Anzahl von Gruppen innerhalb eines bestimmten Bereichs. Ein AREA_MPTR Eintrag738 spezifiziert den ”Hot Spot” des Maus-Zeigers innerhalb des Bereichs, während ein Eintrag DEF_BUTTON740 festlegt, welcher Knopf innerhalb des Bereichs den Standard (Default) vorgibt. Der Standard-Knopf wird aktiviert, wenn die ”Enter”-Taste gedrückt wird. Ein CAN_BUTTON Eintrag742 spezifiziert den ”Cancel”-Knopf, der aktiviert wird, wenn die ”ESC”-Taste gedrückt wird. Schließlich ist eine Liste von Zeigern bei744A –744N spezifiziert, einer für jede Gruppe, die zu dem Bereich gehört. Jeder Grupenzeiger744 zeigt zu einem zugehörigen Gruppen-Strukturblock764 , wie nachstehend ausgeführt. Eine ”Hot Key”-Liste kann ebenfalls für den Bereich definiert werden. - Die bei
748 gezeigte Struktur von DISP_AREA_LIST ist im wesentlichen mit der Struktur von AREA_LIST700 identisch und enthält Blöcke für den Bereich ID, den nächsten Bereich, den vorhergehenden Bereich und Strukturzeiger. Wie bei AREA_LIST700 zeigt auch die DISP_AREA_LIST748 auf die Bereichsstruktur715 . Eine ähnliche Struktur ist für die GROUP_LIST704 bei750 gezeigt und sie enthält eine Gruppe ID752 , einen Zeiger auf die nächste Gruppe754 , einen Zeiger auf eine vorhergehende Gruppe756 und einen Gruppenstrukturzeiger758 . Eine ähnliche Struktur kann auch für die optionale STRING_LIST706 vorgesehen werden und sie kann eine Zeichenfolge (String) ID760 , einen Zeiger auf die nächste Zeichenfolge762 , einen Zeiger auf die vorhergehende Zeichenfolge764 und einen Zeichenfolge-Strukturzeiger766 aufweisen. - Es wird noch einmal auf den Gruppen-Strukturzeiger
758 zurückgekommen. Dieser zeigt auf den Gruppen-Struktur Block746 und enthält die Gruppen ID752 , einen PARENT_SELECT_ID Eintrag780 , um die Auswahl zu identifizieren, die, sobald sie aktiviert wird, automatisch diese Gruppe aufrollt, einen HOTSPOT_COUNT Eintrag782 , um die Anzahl von Maus-”Hot Spots” innerhalb der Gruppe zu identifizieren und ferner GSTART_X784 und GSTARTY786 Einträge, um die relative Lage der Gruppe innerhalb des Bereichs zu bestimmen. In einer bevorzugten Ausführungsform werden beide, die Lage der Gruppe und der Auswahl, in Bezug auf die obere linke Ecke des sie enthaltenden Bereichs spezifiziert; aber auch andere Beziehungen, die akzeptabel erscheinen, können definiert werden, z. B. die Spezifizierung der Lage einer Auswahl relativ zur Lage ihrer Gruppe. Das wichtigste ist, daß sichergestellt ist, daß alle Merkmale eines Bereichs ihre Position innerhalb des Bereichs beibehalten, wenn der Bereich bewegt wird. - Der Gruppen-Struktur Block
746 umfaßt auch ROWS und COLUMNS Einträge788 bzw.790 , um die Größe der Gruppe festzulegen, ebenso wie einen GFLAGS Eintrag792 , um die Umrandung der Gruppe festzulegen. Zusätzlich kann ein QUICK_KEY_POSITION Eintrag794 und ein QUICK_KEY_STROKES Eintrag796 für ”Hot Key”-Kombinationen, die der Gruppe zugeordnet sind, spezifiziert werden. - Weiterhin und ähnlich wie für die Bereichsstruktur, können Einträge für Titelposition
798 , Gruppen-Label800 und MAX_STR_LEN802 vorgesehen werden. Zusätzlich ist ein NUM_OF_SELECTS Eintrag804 zur Identifizierung der Anzahl der Auswahlen vorgesehen, die in einer Gruppe enthalten sind. Als nächstes ist ein Eintrag806 für AID_ATTACH als Rückreferenz zum Bereich ID712 vorgesehen, zu dem die spezielle Gruppe gehört. Der AID_ATTACH Eintrag806 ist nicht in allen Fällen erforderlich, aber verbessert zumindest in einigen Zuständen die Ausführung. Schließlich zeigt eine Liste von Zeiger-Einträgen808A bis808N jeweils auf eine ausgewählte Struktur, die mit der speziellen Gruppe verbunden ist. Wie nachstehend näher erläutert wird, kann eine Vielzahl von Auswahl-Strukturen mit jeder Gruppe verbunden werden, jedoch sind einige Elemente den verschiedenen Typen gemeinsam. Deshalb zeigt der erste Zeiger808A auf einen SELECT_COMMON-Struktur-Block810 . Wiederum zurückkommend auf den Bereichs-Struktur Block715 zeigen der Standard-Knopf Eintrag740 und der ”CANCEL”-Knopf Eintrag742 ebenfalls auf den gemeinsamen Auswahl-Strukturblock810 . - Der SELECT_COMMON Struktur-Block
810 enthält einen Auswahl ID Eintrag812 , einen Eintrag814 , der eine Rückreferenz zur Gruppen ID ergibt, einen REL_X und REL_Y Eintrag816 bzw.818 zusammen mit ROWS und COLS Einträgen820 bzw.822 , um die Lage und die Größe der Auswahl zu spezifieren, einen QUICK_KEY_POS und einen QUICK_KEY_CHR Eintrag824 bzw.826 , um die ”Hot Key”-Kombinationen zu spezifizieren, die zu der Auswahl gehören, einen MAX_STR_LEN Eintrag828 und eine Auswahl-Zeichenfolge830 , um die maximale Größe und den Titel der Auswahl zu spezifizieren, und einen SFLAGS Eintrag832 , um die Eigenschaften der Auswahl zu spezifizieren. - Zusätzlich wird auch ein SELECT_TYPE Eintrag
834 bereitgestellt. Wie zuvor erläutert, sind verschiedene Arten von Auswahlen verfügbar und insoweit wird auf7A Bezug genommen. Die verschiedenen Arten von Auswahlen, die innerhalb einer Gruppe zur Verfügung stehen, hängen vom Datentyp ab, der für diesen Schritt der Konfiguration des Terminals erforderlich ist. In einigen Beispielen besteht die Auswahl lediglich im Drücken eines Knopfes (Knöpfe640 ); in anderen Beispielen besteht die Auswahl in der Aktivierung und Deaktivierung eines Merkmals, wie eines Prüfblocks (siehe650 in7A ); in anderen Beispielen muß eine von verschiedenen Auswahlen getroffen werden, wie es mit den Gruppen ”Communication”660 und ”Serial Port”670 in7A dargestellt ist. Gemäß weiteren Beispielen kann ein Bild ausgewählt werden, während bei anderen spezieller Text ausgewählt werden muß. In einigen Beispielen müssen Felder ausgefüllt werden (680 in7A ), während in anderen eines von mehreren Feldern ausgefüllt werden muß. Obwohl diese Arten von Auswahlen in einer beispielhaften Ausführungsform implementiert wurden, ist die Aufzählung keinesfalls als vollständig anzusehen und selbstverständlich können andere Auswahlen aus der hier gegebenen technischen Lehre leicht ebenfalls implementiert werden. - Für eine Auswahl ”Ausfüllen” sind Cursor-Start und Cursor-Ende Einträge
836 bzw.838 bereitgestellt, zusammen mit einem ”First Displayed” Eintrag840 zum Identifizieren, von welchem Zeichen an die Zeichenfolge angezeigt werden soll. Zusätzlich ist sowohl ein LABEL_REL_X Eintrag842 als auch ein LABEL_REL_Y Eintrag844 und ein LABEL_STR Eintrag846 vorgesehen. - Für einen Auswahltyp ”einer von vielen” sind Einträge von NUM_OF_SEL_ROWS
848 und NUM_OF_SEL_COLS850 vorgesehen. Einträge sind auch für die Anzahl von Optionen852 und die ”default” Option854 vorgesehen, ebenso ein Quick-Key-Pointer856 und ein Flag-Pointer858 , um die Anzahl der Optionen zu identifizieren, die aktiv sind. Schließlich gibt es eine Sel_Str_Size860 . - Für einen ”Bild”-Typ der Auswahl ist nur ein Eintrag für die Datei ID
708 nötig und ein Bildzeiger862 muß spezifiziert werden. - Für einen ”Felder”-Typ der Auswahl gibt es eine ”Child-Group” ID Eintrag
864 zusammen mit einem Child-Group-(= Ablegergruppen)Zeiger, welcher auf eine Gruppenstruktur derjenigen Art zeigt, wie sie mit dem Gruppenstrukturblock746 dargestellt ist. Die Ablegergruppe wird automatisch aufgerufen, sobald die Elternauswahl aktiviert ist und eine aus einer Gruppe von Feldern ausgewählt ist. - Für eine ”List of Strings”-(= ”Liste von Zeichenfolgen”)Auswahl sind Einträge für die Anzahl der Optionen
868 , die maximale Länge des Optionstitels (oder MAX_OP_LEN)870 , ein Eintrag872 für den horizontalen Darstellungsversatz, ein Eintrag874 für den vertikalen Darstellungsversatz, zusammen mit einer X-Label Position878 und einer Y-Label Position880 vorgesehen. Schließlich ist eine Label-Zeichenfolge882 und ein Eintrag884 für die Größe der Zeichenfolge der Auswahl vorgesehen. - Nochmals auf den AREA_MPTR Eintrag
738 zurückkommend, wird der Maus-Zeiger-”Hot Spot” durch eine Struktur spezifiziert, die einen Bereichs-ID-Eintrag900 , einen Gruppen-ID-Eintrag902 und eine Auswahl-ID904 umfaßt. Zusätzlich ist ein Options-AuswahlTyp906 vorgesehen, der den Typ der Auswahl spezifiziert, mit der ein spezieller ”Hot Spot” assoziiert ist. Ferner gibt es Rückreferenzen Einträge908 und910 für die Gruppen ID innerhalb des Bereichs und die Auswahl ID innerhalb der Gruppe. Weiterhin spezifizieren vier Einträge912A –D sowohl die oberen linken X und Y Positionen, wie auch die unteren rechten X und Y Positionen für den Maus-Darstellungspunkt (”Hot Spot”), und zwar zusammen mit einem Eintrag914 für ein Maus-Kennzeichen (”flag”), der bewirkt, daß der Mausdarstellungspunkt aktiviert wird, sobald das richtige Menü angezeigt wird. Zusätzlich zu den soeben beschriebenen Darstellungspunkten sind zusätzliche Darstellungspunkte am Anfang und am Ende jeder Anzeigenliste bereitgestellt, um ein Rollen zu ermöglichen, und ähnliches befindet sich in der Titelleistenbereich eines Bereichs, damit das Bereichsfenster bewegt werden kann. - Zusätzlich zu den vorgenannten Strukturen wird auch eine Datenstruktur bereitgestellt, um die aktuell ausgewählten Einträge aus den verschiedenen Auswahlmöglichkeiten beizubehalten. Der aktuelle Daten-Struktur-Block ist bei
950 dargestellt und enthält einen Eintrag952 für die Anzahl von Bereichen, die momentan vom SETUP definiert sind; ein Eintrag954 gibt an, wieviele Bild-Dateien definiert sind; Einträge956 bzw.958 geben an, wieviele Gruppen und Auswahlen definiert wurden, ein Eintrag960 dient der Zuordnung einer vorbestimmten Maximalanzahl von Auswahlen. In einer beispielhaften Ausführungsform ist die Maximalanzahl von Auswahlen in Zehnerblöcken zugeordnet. - Zusätzliche Einträge
962 und964 sind für die Anzahl von Pixel pro Spalte bzw. Reihe vorgesehen, ebenso wie ein Eintrag für den Font966 , ein Bereichs-Focus-Eintrag968 , ein Gruppen-Focus-Eintrag970 und ein Zeichenfolge-Focus-Eintrag972 . Weiterhin gibt es einen Maus-Focus-Eintrag974 zur Spezifizierung des Darstellungspunktes. Weiterhin können OFOCUS und TFOCUS Einträge976 bzw.978 vorgesehen werden, um die ausgewählten Auswahl-Optionen und Auswahl-Typen mit einem Tastatur Fokus zu spezifizieren. Noch weiter gibt es IFOCUS und JFOCUS Einträge980 bzw.982 für die ”Hot Spot”-Einträge908 und910 vom oben beschriebenen Maus-Struktur-Block. Schließlich spezifiziert ein Menü-Eintrag986 die Identifizierung des aktuellen Menü-Focus, zusammen mit den Einträgen988 und990 zur Definition der Bereichs- und Gruppenumrahmungen, zusammen mit einem OFLAGS Eintrag zur Spezifizierung der Mausmodi. - Die den laufenden Zustand der Auswahlen spezifizierende Information befindet sich in einer ACTIVE-SELECT-Struktur
1000 . Jede Struktur umfaßt einen Knopf-Eintrag1002 , einen STFLAGS- oder Auswahl-gemeinsame-FLAGS Eintrag1004 und einen Aktiveintrag, welcher den aktuellen Status aller Auswahlen speichert, aus dem diese Daten für den SETUP Code verfügbar gemacht werden können. - In einer bevorzugten Ausführungsform kann auch eine Ereignis-Queue-(= Warteschlange)Struktur
1010 eingespeist werden, um Tastaturanschläge oder Mausbewegungen in einer Ereignis-Warteschlange aufzuzeichnen. - Wie zuvor ausgeführt, ist es ein Schlüsselmerkmal eines Terminals, auf das das erfindungsgemäße Verfahren anwendbar ist, daß das Betriebssystem des Terminals nicht mit einem Standard PC/AT BIOS oder DOS kompatibel ist. Dennoch ist es erforderlich, daß das Terminal-Betriebssystem gewisse Funktionen unterstützt, um die Fähigkeit, Anwendungsdateien in einer Multiuserumgebung anzuzeigen, beizubehalten, wie beim Kommunizieren mit einem CITRIX-Clienten oder anderen unterstützten Emulationen. Es läßt sich eine Liste mit Standard IO.SYS und BIOS.SYS Funktionen aufstellen, welche von einem solchen Terminal unterstützt werden; für den Fachmann ist deutlich, daß nicht alle Standard BIOS oder DOS Funktionen eingeschlossen werden müssen. Manche Funktionen werden nicht unterstützt. Andere Merkmale werden nur teilweise unterstützt. So wird die Funktion 36h (Get Disk Free Space) (= Ermittle freien Speicherplatz der Platte) deshalb nur teilweise unterstützt, weil ein Flashspeicher anstelle einer Harddisk (= Festplatte) benutzt wird. Ähnlich wird die Funktion 33h (Get/Set System Value) (= Ermittle/Setze Systemwert) insoweit in Abhängigkeit von der Funktion und dem Flag unterstützt, jedoch die ”Control-Break” Funktion wird nicht unterstützt. In gleicher Weise werden die Funktionen 2Ah bis 2Dh (die Get/Set Date/Time-, d. h. Ermittle/Setze Datum/Zeit, Funktionen) nur teilweise unterstützt, da keine Echtzeit-Hardware im Terminal der vorliegenden Erfindung vorhanden ist. Lediglich die ”Get Time”-(= Ermittle Zeit)Funktion wird unterstützt, so daß sie zur Messung der Dauer von Ereignissen herangezogen werden kann, ohne die absolute Zeit wiederzugeben.
- Zusätzlich ist das Flashfile-System in einer bevorzugten Ausführungsform der Erfindung in mehrerer Einzelverzeichnis-Laufwerke partitioniert. Jedoch weist das Flashfile-System in Gegensatz zu konventionellen Diskfile-Systemen keine Einteilung in Cluster oder Sektoren auf. Dateien in jedem Laufwerk oder in jeder Partition wachsen von unten nach oben in der Partition, während die Directory-Einträge von oben nach unten wachsen. Daten werden fortlaufend ohne Fragmentierung gespeichert. Die Verzeichniseinträge, die in einer bevorzugten Ausführungsform sechzehn Bytes lang sind, entsprechen allgemein einem DOS-Verzeichniseintrag; jedoch werden Elemente, die normalerweise reserviert sein würden, definiert, um es zu ermöglichen, daß eine Datei aus dem Flash anstatt aus dem DRAM ausgeführt wird. Dies schließt die Startadresse der Datei im Flash ebenso ein, wie das Rückabbildungssegment der Datei im DOS Adressenraum.
- Die Dateilöschung ist zwar der Löschung konventioneller DOS-Dateien weitgehend ähnlich, unterscheidet sich aber in wichtigen Details. Wenn eine Datei in der vorliegenden Erfindung gelöscht werden soll, wird das erste Byte im Verzeichnis-Eintrag auf 0 statt auf E5h gesetzt. Dieser Schritt erfolgt ohne Löschung eines Flashblocks. Nachfolgende Dateien werden dann in den nächsten verfügbaren Platz eingeschrieben. Falls jedoch für eine nachfolgende Datei nicht genügend Platz zur Verfügung steht, wird der Flashblock für die gelöschte Datei gelöscht und ungelöschte Dateien werden in den Flashblock dahin zurückgeschrieben, wo die gelöschte Datei beibehalten worden war. Wie schon zuvor erwähnt, ist eine Dateifragmentierung zumindest in einigen Ausführungsbeispielen nicht erlaubt.
- Das Flashfile-System unterstützt konventionelle DIR, TYPE und DEL Befehle, unterstützt einen neuen ”DEBUGMSG” Befehl zur Erzeugung einer DEBUG Mitteilung und unterstützt auch Programmausführungen durch Batchfiles. Das Dateisystem unterstützt auch die AUTOEXEC.BAT Datei und auch das Laden und Ausführen von *.EXE und *.COM Dateien und Int 21h und Int 27h. Jedoch unterstützt das Dateisystem in zumindest einigen Ausführungsformen nicht die CONFIG.SYS Datei oder .SYS-Gerätetreiber. Desgleichen unterstützt das Dateisystem nicht die Batchfile-Befehle (außer Programmausführung), I/O-Umleitungen, Pipes oder Interrupts 20h (Programm beenden), 22h (Adresse beenden), 23h (Ctrl-Break Adresse verlassen), 24h (Kritische Fehler Abwicklungs-Vektor), 25h (Absolute Disk Read), 26h (Absolute Disk Write) und 2Fh (Multiplex Interrupt).
- Aus dem Vorhergehenden wird deutlich, daß, während eine ausgewählte Gruppe der Standard BIOS und DOS Funktionen emuliert oder anderweitig vom Terminal-Betriebssystem der vorliegenden Erfindung unterstützt werden, eine sehr bedeutende Anzahl der Standard-BIOS- und DOS-Funktionen nicht unterstützt werden. Zusätzlich lassen sich sogar jene BIOS- und DOS-Funktionen, die unterstützt werden, nicht unter Standard AT kompatibler Hardware ausführen. Stattdessen richtet der Teil des Terminal-Betriebssystems, der in
4 als der ”Bootblock”300 und als ”Kernel”305 bezeichnet werden, die Fähigkeit zum Emulieren dieser Funktionen ein. - Die vom Bootblock
300 unterstützten Dienstfunktionen schließen ein: GET FLASH DRIVE SIZE, welcher den Flashspeicher438 nach der Laufwerksgröße abfragt; READ FLASH DRIVE zum Lesen von Daten aus dem Flashspeicher438 ; WRITE FLASH DRIVE zum Schreiben von Daten in den Flashspeicher438 ; GET FLASH DRIVE BLOCK SIZE zum Abfragen der Blockgröße des Speichers438 ; ERASE FLASH DRIVE BLOCK zum Löschen von Daten aus dem Speicher438 ; WARM REBOOT wird beim Herstellertest benutzt, um wiederholt durch die Einschaltdiagnose zu schleifen, aber nicht in normalen Betrieb benutzt; GET BOOT BLOCK DATE zur Abfrage der Daten des Bootblocks; CLEAR KEYBORD CONTROLLER I/O BIT wird zur Steuerung von Komponenten benutzt, die mit dem Tastaturkontroller verbunden sind; und schließlich SET KEYBOARD CONTROLLER I/O BIT zum Einstellen des Tastatur-Kontrollers. - Die Betriebsweise des Kernel
305 wird nun im Detail beschrieben. Der Kernel umfaßt im wesentlichen drei Dienstfunktionen. Die erste ist eine ”ACTIVE VIDEO INT 10h” Funktion, welche die normalen int 10h Funktionen für Videodienste aktiviert. Der Interrupt int 10h wird anfänglich vom Kernel305 abgefangen, um die Darstellung von Text-Modus-Mitteilungen von den verschiedenen Gerätetreibern zu unterdrücken, während diese geladen werden. Nachdem die Treiber alle geladen sind und das Terminal in den Graphikmodus gelangt, wird die ACTIVE VIDEO INT 10h Funktion aufgerufen, um die normale int 10h Operation zurückzusetzen. Zusätzlich schließt der Kernel305 eine zweite Funktion ein, die ”SET POWER DOWN TIME”, welche verschiedene Stromsparfunktionen (wie ”ENERGY STAR compliance”) und eine Zeitverzögerung zum Aktivieren dieser Funktionen einstellen kann. Schließlich umfaßt der Kernel305 eine ”PROCESS DOS INTERRUPTS” Funktion, welche jedesmal vom Bootblock oder anderen Teilen des Kernels305 aufgerufen werden kann, wenn es nötig ist, anstehende DOS Interrupts auszuführen, welche eine Echtzeit-Verarbeitung in einer DOS-Umgebung erfordern. Die am meisten auszuführenden Interrupts in dieser Funktion sind Maus- und Tastatur-Interrupts, obwohl auch Zeitgeber-, Seriell-, Parallel und Netzwerk-Interrupts vorkommen. Das Einfangen durch diese Funktion verhindert beispielsweise, daß Maus- und Tastatur-Interrupts für eine längere Periode abgeschaltet bleiben – wobei lang genug für einen Benutzer schon beispielsweise eine Verzögerung von einer Sekunde zwischen der Bewegung der Maus und der Folgebewegung des Cursors sein kann – oder um den Ausgang des Tastatur-Kontrollers freizumachen, wenn es nötig wird, einen Befehl zum Tastatur Kontroller zu senden. - Da die Hardware des bevorzugt verwendeten Terminals nicht dem PC/AT Standard entspricht und die Firmware weder dem konventionellen PC/AT BIOS noch dem DOS entspricht, aber das ganze System dazu ausgelegt ist, dem Benutzer zu erlauben, eine konventionelle WINDOWS®-Darstellung vor sich zu sehen und mit ihr zu interagieren, müssen einige konventionelle Hardware-Interrupts und verwandte Aufrufe gemanaged werden. In einer bevorzugten Ausführungsform werden solche Interrupts und Aufrufe mit der Terminal-Firmware behandelt, entweder durch Emulierung oder durch Modifizierung der geeigneten Antwort auf das eingehende Signal. Diese Antworten werden nachstehend detailliert anhand des Kernels beschrieben.
- Der Kernel bringt den Prozessor in einen virtuellen 8086 Modus und stellt verschiedene Tabellen ein, wie sie zum Einfangen von I/O's an den verschiedenen Ports nötig sind. Nachdem ein Zugriff auf einen ausgewählten Port eine Ablaufunterbrechung erzeugt, wird diese Instruktion, die diese Ablaufunterbrechung erzeugt hat, zerlegt, so daß der Kernel sie korrekt verarbeiten kann, um eine PC-Kompatibilität zu emulieren, was die Übertragung verschiedener Merkmalsgruppen (sog. ”Personalities”) erleichtert. Weil eine ganze Subroutine für jede eingefangene I/O-Instruktion abgearbeitet werden muß, wird die I/O-Instruktion nicht so schnell ausgeführt, so daß das Abfangen von I/O's auf sowenig Ports wie möglich begrenzt wird. In einigen Beispielen werden alle oder nur ein Teil eines I/O-Ports nur soweit (mit Interrupts) unterbrochen, wie es für eine AT-Kompatibilität nötig ist. Ausgehend von der Tatsache, daß beabsichtigt ist, daß die bevorzugteste Ausführungsform eine CITRIX WinFrame-Merkmalsgruppe bereitstellt, ist hervorzuheben, daß auch andere Merkmalsgruppen für die Benutzung des Terminals implementiert werden können. In einigen Beispielen kann das Terminal im Speicher vielfältige Merkmalsgruppen aufweisen, wobei das Terminal zu vielen Hosts verbunden werden kann, die unter verschiedenen Betriebssystemen laufen, und deshalb solch unterschiedliche Merkmalsgruppen erwarten. Der Benutzer oder andere können dann in der Lage sein, unter diesen Merkmalsgruppen zu wählen und zwar durch einen ”Hot Key” oder eine Tastatursequenz, wobei der Kernel dann die entsprechenden Kenndaten aus dem Speicher aufruft und eine Kommunikation mit dem entsprechenden Host ermöglicht.
- Die I/O-Ports, die vom Kernel für die Herstellung einer AT-Kompatibilität abgefangen werden, sind:
20h (Der Befehlsport eines AT-kompatiblen Interruptkontrollers) – Nur der ”Ende des Interrupts”-Befehl wird emuliert, der am Ende jedes Interrupt-Ausführungsprogramms ausgegeben wird, damit mehr Interrupts derselben oder geringerer Priorität auftreten können. Der Kernel emuliert auch die normale Betriebsweise eines PC-kompatiblen Interrupt-Kontrollers, soweit dieser Interrupts von gleicher oder geringerer Priorität blockiert, bis der ”Ende des Interrupts”-Befehl empfangen wird.
21h (Das Maskierregister des AT-kopatiblen Interrupt-Kontrollers) – Wird emuliert.
40h–43h (Zugriff zu einem AT-kompatiblen 8354 System Zeitgeber) – Die Ports werden nicht emuliert, aber abgefangen, weil einige auf AT-basierende Treiber in diese Ports schreiben. Da das Interrupt-Maskierregister nach einer Ausführungsform auf Port 40h gesetzt ist, würden nicht eingefangene Einschreibungen mit dem Interruptmaskierregister kollidieren.
61h (Ein Steuerport für verschieden Anwendungen in einer AT-Architektur) – Ein Lautsprecher Steuerbit wird emuliert, um es zu ermöglichen, den Lautsprecher ein- und auszuschalten.
A0h (Der Befehlsport eines zweiten Interrupt-Kontrollers eines AT-kompatiblen Rechners) – wie bei Port 20h wird der ”Ende des Interrupts”-Befehl emuliert.
A1h (Das Maskierregister für den zweiten Interrupt-Kontroller (ähnlich dem Port 21h)) – Wird emuliert.
2F8h bis 2FFh (Eine Standardadresse für einen zweiten AT-kompatiblen seriellen Port) – Diese Ports werden auf 5F0h bis 5FEh versetzt, die Portadressen für den zweiten seriellen Port einer bevorzugten Ausführungsform. Der neue Portbereich (5F0 bis 5FE) umfaßt nur ”geradzahlige” Adressen. In einer beispielhaften Ausführungsform ist ein ”Byte Swapping” nicht implementiert worden und deshalb kann nur auf ”geradzahlige” Bytes einer des acht-Bit SIO-Bauteils zugegriffen werden. Allerdings kann erforderlichenfalls auch ein ”BYTE Swapping” implementiert werden.
378h bis 37Fh (Eine Standard Adresse für einen AT-kompatiblen parallelen Port) – Wird umgesetzt zu 6F0h bis 6FEh, welches die Portadressen für den parallelen Port einer beispielhaften Ausführungsform sind.
3F8h bis 3FFh (Eine Standard-Adresse für einen ersten AT-kompatiblen seriellen Port) – Werden umgesetzt zu 7F0h bis 7FEh, die die Portadressen für den ersten seriellen Port einer beispielhaften Ausführungsform sind. - Soweit hiermit die bevorzugten Ausführungsformen der Erfindung beschrieben sind, gibt es doch zahlreiche Abwandlungen und gleichartige Lösungen, die nicht aus dem Offenbarungsgehalt der Erfindung hinausführen. Die Erfindung ist deshalb keineswegs auf die beschriebenen Ausführungsformen beschränkt.
Claims (1)
- Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms, wobei das Terminal über eine Kommunikationsverbindung mit einem Host-Rechner verbunden ist und ein Speichersystem aufweist, das zumindest einen Flashspeicher umfasst, wobei in dem Flashspeicher eine Firmware gespeichert ist, die das Terminal-Betriebssystem umfasst, wobei diese weder auf den PC/AT BIOS-Standard noch auf PC-kompatible Platten-Betriebssysteme zurückgreift, wobei das Terminal in einen ersten Betriebszustand versetzt wird, in dem zumindest in einen vorbestimmten Teil des Speichersystems eingeschrieben werden kann und eine Kommunikation mit dem Host-Rechner möglich ist, in diesem Zustand ein vom Host-Rechner auf das Terminal über die Kommunikationsverbindung mit dem Host-Rechner heruntergeladenes aktualisiertes Betriebssystem zur Verfügung gestellt wird und in den Flashspeicher eingeschrieben wird, und der erste Betriebszustand aufgehoben wird, wodurch das Terminal in einen Betriebszustand versetzt wird, in dem Daten nicht in den vorbestimmten Teil des Speichersystems geschrieben werden, die Kommunikation mit dem Host-Rechner aber aufrechterhalten bleibt, wobei durch einen Code im Terminal-Betriebssystem der erste Betriebszustand ohne ein vollständiges Hochfahren des Terminal-Betriebssystems erreicht wird, wobei das Terminal die von dem auf dem Host-Rechner ausgeführten und auf ihm residenten Fensteranwendungsprogramm gelieferte Fensterinformation empfängt und das Terminal die Fensterinformation anzeigt und die Fensterinformation nicht lokal ausführt.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19654766A DE19654766B4 (de) | 1995-12-29 | 1996-12-30 | Terminal für die Anzeige von Anwendungsinformationen in einer Fensterumgebung |
DE19655400A DE19655400B4 (de) | 1995-12-29 | 1996-12-30 | Terminal zum Kommunizieren mit einem Server |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/581,168 US5918039A (en) | 1995-12-29 | 1995-12-29 | Method and apparatus for display of windowing application programs on a terminal |
US08/581168 | 1995-12-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19655235B4 true DE19655235B4 (de) | 2015-07-30 |
Family
ID=24324162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19655235.4A Expired - Lifetime DE19655235B4 (de) | 1995-12-29 | 1996-12-30 | Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms |
Country Status (13)
Country | Link |
---|---|
US (1) | US5918039A (de) |
JP (2) | JPH1021173A (de) |
CN (4) | CN101231578B (de) |
AU (1) | AU734150B2 (de) |
CA (1) | CA2194112C (de) |
DE (1) | DE19655235B4 (de) |
ES (1) | ES2128251B1 (de) |
FR (2) | FR2743169B1 (de) |
GB (1) | GB2308793B (de) |
HK (1) | HK1120627A1 (de) |
IT (1) | IT1286910B1 (de) |
MX (1) | MX9700193A (de) |
SG (2) | SG81965A1 (de) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720672B1 (en) | 1995-12-29 | 2010-05-18 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
US7100069B1 (en) * | 1996-02-16 | 2006-08-29 | G&H Nevada-Tek | Method and apparatus for controlling a computer over a wide area network |
US7080127B1 (en) * | 1996-03-06 | 2006-07-18 | Hickman Paul L | Method and apparatus for computing within a wide area network |
US6199152B1 (en) * | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US6256785B1 (en) * | 1996-12-23 | 2001-07-03 | Corporate Media Patners | Method and system for providing interactive look-and-feel in a digital broadcast via an X-Y protocol |
WO1998034174A2 (en) * | 1997-02-03 | 1998-08-06 | Schmidt Curt A | A computer system using a plurality of remote workstations and centralized computer modules |
US6836885B1 (en) * | 1998-09-21 | 2004-12-28 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
US6409602B1 (en) | 1998-11-06 | 2002-06-25 | New Millenium Gaming Limited | Slim terminal gaming system |
US6356943B2 (en) * | 1998-12-14 | 2002-03-12 | Emc Corporation | Distance learning implementation |
US6470457B1 (en) * | 1998-12-14 | 2002-10-22 | International Business Machines Corporation | Local permanent storage in network computer |
US6732067B1 (en) * | 1999-05-12 | 2004-05-04 | Unisys Corporation | System and adapter card for remote console emulation |
US6373498B1 (en) * | 1999-06-18 | 2002-04-16 | Phoenix Technologies Ltd. | Displaying images during boot-up and shutdown |
US6298068B1 (en) * | 1999-08-31 | 2001-10-02 | Telco Systems, Inc. | Methods and apparatus for ISDN communications with dual mode access to interface apparatus on-board memory |
EP2345966B1 (de) | 1999-09-21 | 2017-05-10 | Wyse Technology L.L.C. | Anzeige von Anwendungsprogrammen mit Fenstertechnik auf einem Endgerät |
US6895499B1 (en) | 1999-12-27 | 2005-05-17 | Dell Usa, L.P. | System and method for device configuration and management using a universal serial bus port |
US6724402B1 (en) | 2000-01-27 | 2004-04-20 | David R. Baquero | Method of launching computer programs within a graphical user interface |
US7695363B2 (en) | 2000-06-23 | 2010-04-13 | Igt | Gaming device having multiple display interfaces |
US7699699B2 (en) | 2000-06-23 | 2010-04-20 | Igt | Gaming device having multiple selectable display interfaces based on player's wagers |
US6682423B2 (en) * | 2001-04-19 | 2004-01-27 | Igt | Open architecture communications in a gaming network |
US7353252B1 (en) | 2001-05-16 | 2008-04-01 | Sigma Design | System for electronic file collaboration among multiple users using peer-to-peer network topology |
US7065531B2 (en) * | 2002-03-12 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Combining computer programs |
US20040053694A1 (en) * | 2002-09-13 | 2004-03-18 | Rick Rowe | Casino open network system architecture |
US7703078B2 (en) * | 2003-09-03 | 2010-04-20 | Cybersoft, Inc. | Apparatus, methods and articles of manufacture for software demonstration |
KR100586309B1 (ko) * | 2004-02-23 | 2006-06-07 | 엔컴퓨팅 주식회사 | 다운로드 방식의 운영체제로 구동되는 네트워크 단말장치및 그 동작 방법 |
US7484247B2 (en) | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
US8251791B2 (en) | 2004-08-19 | 2012-08-28 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7963847B2 (en) | 2004-08-19 | 2011-06-21 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US8021230B2 (en) | 2004-08-19 | 2011-09-20 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
KR100711093B1 (ko) * | 2005-01-11 | 2007-04-27 | 삼성전기주식회사 | 모바일 기기와 디스플레이상의 어플리케이션 간의 직접통신을 위한 방법 및 시스템 |
US7753773B2 (en) | 2005-08-26 | 2010-07-13 | Igt | Gaming device having physical concentric symbol generators which are operable to provide a plurality of different games to a player |
US7841939B2 (en) | 2005-09-09 | 2010-11-30 | Igt | Server based gaming system having multiple progressive awards |
US8128491B2 (en) | 2005-09-09 | 2012-03-06 | Igt | Server based gaming system having multiple progressive awards |
US8137188B2 (en) | 2005-09-09 | 2012-03-20 | Igt | Server based gaming system having multiple progressive awards |
EP1865410A1 (de) * | 2006-06-09 | 2007-12-12 | Delta Electronics, Inc. | Mensch-Maschine Schnittstellensystem mit einem Verbindungsgerät und Verfahren zum Entwickeln und Betreiben des selbigen |
US8512130B2 (en) | 2006-07-27 | 2013-08-20 | Igt | Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award |
US7674180B2 (en) | 2006-09-27 | 2010-03-09 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7862430B2 (en) | 2006-09-27 | 2011-01-04 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8616959B2 (en) | 2006-09-27 | 2013-12-31 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7921139B2 (en) * | 2006-12-01 | 2011-04-05 | Whitserve Llc | System for sequentially opening and displaying files in a directory |
US7985133B2 (en) | 2007-07-30 | 2011-07-26 | Igt | Gaming system and method for providing an additional gaming currency |
US8900053B2 (en) | 2007-08-10 | 2014-12-02 | Igt | Gaming system and method for providing different bonus awards based on different types of triggered events |
US9142097B2 (en) | 2007-10-26 | 2015-09-22 | Igt | Gaming system and method for providing play of local first game and remote second game |
WO2009094021A1 (en) * | 2008-01-23 | 2009-07-30 | Hewlett-Packard Development Company, L.P. | Bios graphical setup engine |
WO2010114523A1 (en) * | 2009-03-31 | 2010-10-07 | Hewlett-Packard Development Company, L.P. | Bios usb write prevent |
US9106696B2 (en) * | 2009-04-15 | 2015-08-11 | Wyse Technology L.L.C. | Method and apparatus for portability of a remote session |
US9448815B2 (en) * | 2009-04-15 | 2016-09-20 | Wyse Technology L.L.C. | Server-side computing from a remote client device |
US9189124B2 (en) * | 2009-04-15 | 2015-11-17 | Wyse Technology L.L.C. | Custom pointer features for touch-screen on remote client devices |
US20100268762A1 (en) * | 2009-04-15 | 2010-10-21 | Wyse Technology Inc. | System and method for scrolling a remote application |
US8676926B2 (en) * | 2009-04-15 | 2014-03-18 | Wyse Technology L.L.C. | System and method for handling remote drawing commands |
US9553953B2 (en) | 2009-04-15 | 2017-01-24 | Dell Products L.P. | Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application |
US9578113B2 (en) | 2009-04-15 | 2017-02-21 | Wyse Technology L.L.C. | Method and apparatus for transferring remote session data |
US9039516B2 (en) | 2009-07-30 | 2015-05-26 | Igt | Concurrent play on multiple gaming machines |
EP2460347A4 (de) * | 2009-10-25 | 2014-03-12 | Lg Electronics Inc | Verfahren zur verarbeitung von rundfunkprogramminformationen und rundfunkempfänger |
US8407662B2 (en) * | 2010-06-25 | 2013-03-26 | Wyse Technology Inc. | Apparatus and method for network driver injection into target image |
US9880712B2 (en) * | 2013-09-06 | 2018-01-30 | Microsoft Technology Licensing, Llc | In-application customization |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
US9972171B2 (en) | 2015-09-24 | 2018-05-15 | Igt | Gaming system and method for providing a triggering event based on a collection of units from different games |
CN105204811B (zh) * | 2015-10-27 | 2020-09-29 | 威海元程信息科技有限公司 | 一种多路控制系统及方法 |
CN107592348A (zh) * | 2017-09-01 | 2018-01-16 | 西安万像电子科技有限公司 | 数据传输方法、装置及系统 |
CN107911353A (zh) * | 2017-11-06 | 2018-04-13 | 西安万像电子科技有限公司 | 数据传输方法、装置及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0237671A2 (de) * | 1985-10-29 | 1987-09-23 | Mitem Development Partners | Steuerung der Ausführung von Anwendungsprogrammen auf einem Wirtsrechner durch einen zweiten Rechner |
US4942540A (en) * | 1987-03-02 | 1990-07-17 | Wang Laboratories, Inc. | Method an apparatus for specification of communication parameters |
EP0479427A2 (de) * | 1990-10-01 | 1992-04-08 | International Business Machines Corporation | Gerät und Verfahren zum Laden von BIOS in ein Rechnersystem |
GB2269032A (en) * | 1992-07-21 | 1994-01-26 | Orbitel Mobile Communications | Reprogramming microprocessor-based equipment |
US5321840A (en) * | 1988-05-05 | 1994-06-14 | Transaction Technology, Inc. | Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal |
DE4332063A1 (de) * | 1993-09-21 | 1995-03-23 | Teltron Elektronik Gmbh | Verfahren zur Programmierung einer Mikrocomputerschaltung sowie eine hierfür ausgelegte Mikrocomputerschaltung |
EP0654936A2 (de) * | 1993-11-19 | 1995-05-24 | Mita Industrial Co. Ltd. | Verfahren und Vorrichtung zur Erneuerung eines internen Programms von einem Gerät mit Übertragungsfähigkeit |
WO1996002034A1 (en) * | 1994-07-08 | 1996-01-25 | Grumman Aerospace Corporation | Updating firmware |
DE69130042T2 (de) * | 1990-07-23 | 1999-04-15 | Ibm | Personalrechnersystem mit geschütztem Speicher für die Schnittstelle und System-Utility-Programme |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4281315A (en) * | 1979-08-27 | 1981-07-28 | Bell Telephone Laboratories, Incorporated | Collection of messages from data terminals using different protocols and formats |
US4496943A (en) * | 1982-11-18 | 1985-01-29 | Portable Terminal Corp. | Portable information display |
US4937036A (en) * | 1986-04-28 | 1990-06-26 | Xerox Corporation | Concurrent display of data from two different display processors and user interface therefore |
JPS6414678A (en) * | 1987-02-27 | 1989-01-18 | Kiyapuran Saibaneteitsukusu Co | Cpmputer graphic system |
US5065343A (en) * | 1988-03-31 | 1991-11-12 | Yokogawa Electric Corporation | Graphic display system for process control using a plurality of displays connected to a common processor and using an fifo buffer |
US5063494A (en) * | 1989-04-12 | 1991-11-05 | Unisys Corporation | Programmable data communications controller |
US5175813A (en) * | 1989-08-14 | 1992-12-29 | International Business Machines Corporation | Window display system and method for creating multiple scrollable and non-scrollable display regions on a non-programmable computer terminal |
AU630567B2 (en) * | 1990-07-31 | 1992-10-29 | Digital Equipment Corporation | System and method for emulating a window management environment having a uniform windowing interface |
EP0475581A3 (en) * | 1990-08-30 | 1993-06-23 | Hewlett-Packard Company | Method and apparatus for window sharing between computer displays |
US5289574A (en) * | 1990-09-17 | 1994-02-22 | Hewlett-Packard Company | Multiple virtual screens on an "X windows" terminal |
AU634431B2 (en) * | 1990-11-27 | 1993-02-18 | Kabushiki Kaisha Toshiba | Japanese emulator |
JPH04196850A (ja) * | 1990-11-28 | 1992-07-16 | Ricoh Co Ltd | マルチプロトコルシステム |
TW198107B (de) * | 1991-02-28 | 1993-01-11 | Ibm | |
EP0524362B1 (de) * | 1991-07-24 | 2000-05-17 | Texas Instruments France | Anzeigeadapter |
US5404445A (en) * | 1991-10-31 | 1995-04-04 | Toshiba America Information Systems, Inc. | External interface for a high performance graphics adapter allowing for graphics compatibility |
US5673403A (en) * | 1992-11-13 | 1997-09-30 | International Business Machines Corporation | Method and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems |
US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
US5831609A (en) * | 1994-06-17 | 1998-11-03 | Exodus Technologies, Inc. | Method and system for dynamic translation between different graphical user interface systems |
US5680530A (en) * | 1994-09-19 | 1997-10-21 | Lucent Technologies Inc. | Graphical environment for interactively specifying a target system |
-
1995
- 1995-12-29 US US08/581,168 patent/US5918039A/en not_active Expired - Lifetime
-
1996
- 1996-12-23 AU AU76426/96A patent/AU734150B2/en not_active Expired
- 1996-12-24 FR FR9615970A patent/FR2743169B1/fr not_active Expired - Lifetime
- 1996-12-24 GB GB9626821A patent/GB2308793B/en not_active Expired - Lifetime
- 1996-12-27 SG SG9900928A patent/SG81965A1/en unknown
- 1996-12-27 SG SG9611930A patent/SG97751A1/en unknown
- 1996-12-27 CN CN2008100742222A patent/CN101231578B/zh not_active Expired - Lifetime
- 1996-12-27 CN CN96123815A patent/CN1177135A/zh active Pending
- 1996-12-27 CN CNB031412351A patent/CN1257448C/zh not_active Expired - Lifetime
- 1996-12-27 CN CN2013100489653A patent/CN103207780A/zh active Pending
- 1996-12-30 ES ES009602759A patent/ES2128251B1/es not_active Expired - Fee Related
- 1996-12-30 DE DE19655235.4A patent/DE19655235B4/de not_active Expired - Lifetime
- 1996-12-30 CA CA002194112A patent/CA2194112C/en not_active Expired - Lifetime
- 1996-12-30 IT IT96FI000309A patent/IT1286910B1/it active IP Right Grant
-
1997
- 1997-01-06 JP JP9000262A patent/JPH1021173A/ja active Pending
- 1997-01-07 MX MX9700193A patent/MX9700193A/es unknown
-
2004
- 2004-01-05 JP JP2004000614A patent/JP2004185633A/ja active Pending
-
2005
- 2005-03-18 FR FR0502726A patent/FR2867638B1/fr active Active
-
2008
- 2008-11-06 HK HK08112166.5A patent/HK1120627A1/xx not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0237671A2 (de) * | 1985-10-29 | 1987-09-23 | Mitem Development Partners | Steuerung der Ausführung von Anwendungsprogrammen auf einem Wirtsrechner durch einen zweiten Rechner |
US4942540A (en) * | 1987-03-02 | 1990-07-17 | Wang Laboratories, Inc. | Method an apparatus for specification of communication parameters |
US5321840A (en) * | 1988-05-05 | 1994-06-14 | Transaction Technology, Inc. | Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal |
DE69130042T2 (de) * | 1990-07-23 | 1999-04-15 | Ibm | Personalrechnersystem mit geschütztem Speicher für die Schnittstelle und System-Utility-Programme |
EP0479427A2 (de) * | 1990-10-01 | 1992-04-08 | International Business Machines Corporation | Gerät und Verfahren zum Laden von BIOS in ein Rechnersystem |
GB2269032A (en) * | 1992-07-21 | 1994-01-26 | Orbitel Mobile Communications | Reprogramming microprocessor-based equipment |
DE4332063A1 (de) * | 1993-09-21 | 1995-03-23 | Teltron Elektronik Gmbh | Verfahren zur Programmierung einer Mikrocomputerschaltung sowie eine hierfür ausgelegte Mikrocomputerschaltung |
EP0654936A2 (de) * | 1993-11-19 | 1995-05-24 | Mita Industrial Co. Ltd. | Verfahren und Vorrichtung zur Erneuerung eines internen Programms von einem Gerät mit Übertragungsfähigkeit |
WO1996002034A1 (en) * | 1994-07-08 | 1996-01-25 | Grumman Aerospace Corporation | Updating firmware |
Also Published As
Publication number | Publication date |
---|---|
CN103207780A (zh) | 2013-07-17 |
ITFI960309A1 (it) | 1998-06-30 |
ES2128251A1 (es) | 1999-05-01 |
GB9626821D0 (en) | 1997-02-12 |
FR2743169B1 (fr) | 2005-10-07 |
CN101231578A (zh) | 2008-07-30 |
GB2308793A (en) | 1997-07-02 |
FR2743169A1 (fr) | 1997-07-04 |
CN1550974A (zh) | 2004-12-01 |
JP2004185633A (ja) | 2004-07-02 |
CA2194112A1 (en) | 1997-06-30 |
SG97751A1 (en) | 2003-08-20 |
JPH1021173A (ja) | 1998-01-23 |
MX9700193A (es) | 1997-11-29 |
AU734150B2 (en) | 2001-06-07 |
CN1177135A (zh) | 1998-03-25 |
ES2128251B1 (es) | 1999-12-16 |
GB2308793B (en) | 2001-02-28 |
IT1286910B1 (it) | 1998-07-17 |
FR2867638A1 (fr) | 2005-09-16 |
SG81965A1 (en) | 2001-07-24 |
FR2867638B1 (fr) | 2017-01-06 |
US5918039A (en) | 1999-06-29 |
HK1120627A1 (en) | 2009-04-03 |
AU7642696A (en) | 1997-07-03 |
CN1257448C (zh) | 2006-05-24 |
CA2194112C (en) | 2003-11-18 |
CN101231578B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19655235B4 (de) | Verfahren zum Aktualisieren eines Terminal-Betriebssystems eines Terminals und zum Anzeigen von Fensterinformation eines Fensteranwendungsprogramms | |
DE10047266B4 (de) | Verfahren und Vorrichtung zum Booten einer Workstation von einem Server | |
US8079021B2 (en) | Method and apparatus for display of windowing application programs on a terminal | |
US6836885B1 (en) | Method and apparatus for display of windowing application programs on a terminal | |
DE60030278T2 (de) | Tastatur-/video-/mausverteiler für mehrfachnutzer | |
DE10085374B4 (de) | Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem | |
DE69830872T2 (de) | Informationsverarbeitungsgerät mit einer drahtlosen Kommunikationsfunktion | |
EP2642395B1 (de) | Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten | |
DE60220838T2 (de) | Verfahren zur steuerung eines home-automation-systems | |
DE112016000218T5 (de) | System und Verfahren zur Darstellung von Treiberinstallationsdateien bei Aktivierung einer USB-Vorrichtung | |
DE19655400B4 (de) | Terminal zum Kommunizieren mit einem Server | |
DE69833817T2 (de) | Emulation und emulierte Bildschirmgeschichte | |
DE102005008778B4 (de) | System und Verfahren zum Verändern einer Buskonfiguration | |
DE60211211T2 (de) | Kommunikationsgerät, empfangprozessausführungsverfahren-und-programm, und rechnerlesbares medium auf dem dieses programm gespeichert ist | |
EP2345966B1 (de) | Anzeige von Anwendungsprogrammen mit Fenstertechnik auf einem Endgerät | |
DE10085323B4 (de) | Einrichtung und Verfahren zum dynamischen Sichtbarmachen der Fähigkeiten und zum Konfigurieren von Hardwaregeräten eines Computersystems | |
DE10007511A1 (de) | Verfahren und Vorrichtung zur Fernwartung von Computer mit masterfähigem Bus | |
DE69835496T2 (de) | Programmierbare Steuerung | |
DE60216071T2 (de) | Verfahren und vorrichtung zum betrieb eines datenverarbeitungssystems unter verwendung mehrerer konsolenansichten | |
DE60219919T2 (de) | Verbesserungen für ein server system | |
AU750333B2 (en) | Method and apparatus for display windowing application programs on a terminal | |
AU766791B2 (en) | A method for updating operating characteristics of a terminal | |
DE10355584B4 (de) | Datenverarbeitungssystem, computerlesbares Speichermedium und Verfahren zum Steuern einer Datenübertragung zu und/oder von einem WLAN-Gerät | |
EP1457891A2 (de) | Verfahren und System zum gemeinsamen Betrachten von Bildschirm Anzeigen | |
CA2440825C (en) | Method for display of terminal configuration menu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AC | Divided out of |
Ref document number: 19654766 Country of ref document: DE Kind code of ref document: P |
|
8125 | Change of the main classification |
Ipc: G06F 13/12 AFI20051017BHDE |
|
8172 | Supplementary division/partition in: |
Ref document number: 19655400 Country of ref document: DE Kind code of ref document: P |
|
Q171 | Divided out to: |
Ref document number: 19655400 Country of ref document: DE Kind code of ref document: P |
|
8172 | Supplementary division/partition in: |
Ref document number: 19655428 Country of ref document: DE Kind code of ref document: P |
|
Q171 | Divided out to: |
Ref document number: 19655428 Country of ref document: DE Kind code of ref document: P |
|
R003 | Refusal decision now final | ||
R010 | Appeal proceedings settled by withdrawal of appeal(s) or in some other way | ||
R003 | Refusal decision now final |
Effective date: 20150212 |
|
R081 | Change of applicant/patentee |
Owner name: WYSE TECHNOLOGY L.L.C., WILMINGTON, US Free format text: FORMER OWNER: WYSE TECHNOLOGY, INC., SAN JOSE, CALIF., US |
|
R082 | Change of representative |
Representative=s name: HOFSTETTER, SCHURACK & PARTNER PATENT- UND REC, DE |
|
R020 | Patent grant now final | ||
R071 | Expiry of right |