DE69534883T2 - System zum Fernzugriff auf Personalcomputer - Google Patents

System zum Fernzugriff auf Personalcomputer Download PDF

Info

Publication number
DE69534883T2
DE69534883T2 DE69534883T DE69534883T DE69534883T2 DE 69534883 T2 DE69534883 T2 DE 69534883T2 DE 69534883 T DE69534883 T DE 69534883T DE 69534883 T DE69534883 T DE 69534883T DE 69534883 T2 DE69534883 T2 DE 69534883T2
Authority
DE
Germany
Prior art keywords
host
remote
host unit
video
data
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
Application number
DE69534883T
Other languages
English (en)
Other versions
DE69534883D1 (de
Inventor
Ronald J. Jupiter Perholtz
Eric J. Arlinghton Elmquest
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avocent Huntsville LLC
Vertiv IT Systems Inc
Original Assignee
Avocent Huntsville LLC
Avocent Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avocent Huntsville LLC, Avocent Corp filed Critical Avocent Huntsville LLC
Application granted granted Critical
Publication of DE69534883D1 publication Critical patent/DE69534883D1/de
Publication of DE69534883T2 publication Critical patent/DE69534883T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006—Details of the interface to the display terminal
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26—Power supply means, e.g. regulation thereof
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31—User authentication
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/28—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using colour tubes
    • G09G1/285—Interfacing with colour displays, e.g. TV receiver
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/30—Control of display attribute
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00—Data switching networks
    • H04L12/02—Details
    • H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40—Network security protocols
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04M—TELEPHONIC COMMUNICATION
    • H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/04—Telephonic communication systems specially adapted for combination with other electrical systems with alarm systems, e.g. fire, police or burglar alarm systems
    • H04M11/045—Telephonic communication systems specially adapted for combination with other electrical systems with alarm systems, e.g. fire, police or burglar alarm systems using recorded signals, e.g. speech
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466—Performance evaluation by tracing or monitoring
    • G06F11/3495—Performance evaluation by tracing or monitoring for systems
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/18—Timing circuits for raster scan displays
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222—Control of the character-code memory
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00—Network arrangements or protocols for supporting network services or applications
    • H04L67/01—Protocols
    • H04L67/131—Protocols for games, networked simulations or virtual reality
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00—Reducing energy consumption in communication networks
    • Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer And Data Communications (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Burglar Alarm Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Saccharide Compounds (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein ein Verfahren und eine Vorrichtung zur Überwachung und Steuerung von Personal-Computern (PCs), und insbesondere ein Verfahren und eine Vorrichtung, die es ermöglichen, auf einen PC, an den die Vorrichtung angeschlossen ist (nachfolgend „Host-PC" genannt), aus der Ferne zuzugreifen, ihn neu zu starten, zu betreiben und zu steuern, von einem anderen PC aus (nachfolgend „Fern-PC" genannt), über das öffentliche Telefonnetz oder eine Direktleitung. Die Erfindung ermöglicht dem Fern-PC auch, auf die Hostverarbeitungsstatusinformation zuzugreifen und/oder den Host-PC ohne Unterstützung der Zentraleinheit (CPU) des Host-PCs neu zu starten (d.h. neu zu booten). Insbesondere betrifft die vorliegende Erfindung ein System gemäß dem Oberbegriff des Anspruchs 1 und ein Verfahren gemäß dem Oberbegriff des Anspruch 4.
  • Gegenwärtig sind Millionen von PCs in Gebrauch. Jeder PC umfaßt verschiedene Hardwarekomponenten, einschließlich einer CPU, einer Tastatur, einer Maus, einer Graphikkarte/-schaltung (nachstehend „Bildschirmkarte" genannt), eines Videoanzeigegeräts (nachstehend „Bildschirmgerät" genannt) und eines oder mehrerer Massenspeichergeräte(s). Andere spezielle Hardwaregeräte wie ein Modem, eine Voice- oder Sound-Karte können an den PC angeschlossen oder in diesen eingebaut werden.
  • Gegenwärtig ist ein Bildschirmgerät normalerweise ein Analog- oder ein TTL-Bildschirm (digital) und wird an die 15-Pin- oder 9-Pin-Buchse der Bildschirmkarte eines PCs angeschlossen. Die Bildschirmkarte sendet die Videoinformation an das Bildschirmgerät normalerweise in einem monochromen, CGA-, EGA- oder VGA-Format, das dem Fachmann vertraut ist. Diese Erfindung beschränkt sich aber nicht auf diese Videoformate und funktioniert mit jedem Videoformat, wenn sie korrekt konfiguriert ist.
  • Es gibt im wesentlichen zwei verschiedene Verfahren, um aus der Ferne auf PCs zuzugreifen und diese von anderen PCs aus zu steuern. Erstens kann eine Netzschnittstellenkarte oder ein Netzschnittstellengerät in einen PC eingebaut oder an diesen angeschlossen werden. Dieses Schnittstellengerät wird dann mit einem Kabel oder, bei einem drahtlosen Netzschnittstellengerät, per Funk mit anderen PCs verbunden, die an ein lokales Netzwerk (LAN) angeschlossen sind. All diese Geräte erfordern Host-CPU-Unterstützung (über eine Netzschnittstellensoft ware, die im Speicher des PCs installiert ist), damit ein Fern-PC auf einen Host-PC zugreifen oder diesen steuern kann. Dem Fachmann ist dieses Verfahren als „Peer-to-Peer-Netzwerkbetrieb" bekannt.
  • Zweitens kann ein speicherresidentes Softwaresystem auf einem Host-PC mit Zugang zu einem Modem installiert sein, das dem Host-PC erlaubt, von einen anderen Fern-PC mit Zugang zu einem Modem und einer kompatiblen speicherresidenten Schnittstellensoftware, die auf dem Fern-PC ausgeführt wird, über eine Standardtelefonleitung aus der Ferne gesteuert zu werden. Auch in diesem Fall hängt die Fähigkeit des Fern-PCs, den Host-PC zu steuern und auf diesen zuzugreifen, von der CPU-Unterstützung beider PCs ab, und vom speicherresidenten Softwaresystem, das auf dem Host-PC vorinstalliert sein muß, um einen eingehenden Anruf vom Fern-PC zu erkennen und zu verarbeiten.
  • In vielen Fällen ist die Steuerung eines PCs aus der Ferne nicht immer praktisch oder möglich. Viele PC-basierte Anwendungsprogramme nehmen einen PC voll in Anspruch und können aufgrund von Speicherbeschränkungen oder anderer Verarbeitungskonflikte nicht mit diesen Softwaresystemen zusammenarbeiten, die den Fern-PC-Zugriff ermöglichen. Selbst bei erfolgreicher Installation der erforderlichen Host- und Fernzugriffsschnittstellensoftware verliert der Fernbenutzer sofort den Zugriff auf das Hostsystem, wenn der Hostprozessor abstürzt oder anderweitig ausfällt. In solchen Fällen ist der Fernbenutzer nicht in der Lage, aus der Ferne auf die Information zuzugreifen, die nach dem Absturz auf dem Bildschirm des Host-PCs angezeigt wird. Die auf dem Bildschirm angezeigte Information zeigt aber in der Regel an, warum der Fehler aufgetreten ist, und den Verarbeitungsstatus zum Zeitpunkt des Fehlers, und kann daher besonders nützlich sein, um den Fehler zu analysieren und künftige vergleichbare Ausfälle zu vermeiden.
  • Gegenwärtig sind zahlreiche PC-Überwachungssysteme verfügbar, um bestimmte Personen über Anrufmelder, voraufgezeichnete Voice-Alarme oder E-Mail zu alarmieren, wenn ein PC oder eine auf einem PC laufende Anwendung ausgefallen ist. Wenn solche Ausfälle auftreten, können die benachrichtigten Personen sich an fernen Orten (z.B. zu Hause) aufhalten und nicht in der Lage sein, physikalisch auf den ausgefallenen PC zuzugreifen.
  • Wenn ein Fehleralarm auftritt, haben die alarmierten Personen typischerweise Zugang zu einem Fern-PC, können aber nicht in der Lage sein, auf den gewünschten Host-PC zuzugreifen, weil die Host-CPU abgestürzt ist und nicht mehr auf Benutzereingaben reagiert, die auf dem Hostsystem laufende Anwendung den Fern-PC-Zugriff nicht unterstützt oder zuläßt, oder die Software, die benötigt wird, damit ein Fern-PC auf einen Host-PC zugreifen kann, nicht auf dem Hostsystem installiert ist. Wenn eine Host-CPU abgestürzt ist oder ein Programmfehler aufgetreten ist, werden häufig wichtige Informationen zur genauen Art des Problems, das aufgetreten ist, auf dem Bildschirm des PCs angezeigt. Normalerweise muß diese Information gelesen und/oder analysiert werden, bevor Korrekturmaßnahmen ergriffen werden. Es sind gegenwärtig Geräte verfügbar, die den Neustart eines PCs aus der Ferne oder automatisch erlauben, wodurch in vielen Fällen nach der Alarmmeldung eine normale Verarbeitung wiederhergestellt werden kann. Doch verwenden alarmierte Personen diese Geräte nur ungern, ohne zuvor den Bildschirm des PCs geprüft zu haben, um zu erkennen, was diesen Fehler verursacht haben kann, damit ähnliche Fehler vermieden werden können. In anderen Fällen kann die Information auf dem Bildschirm erforderlich sein, um eine Anwendung von dem Punkt an, wo der Fehler aufgetreten ist, neu zu starten.
  • Viele PC-Benutzer haben andere PCs aus der Ferne zu überwachen und zu steuern, wobei es aufgrund von Verarbeitungseinschränkungen oder Beschränkungen nicht möglich sein kann, für den Fernzugriff einen bestimmten PC den Prozessor des PCs zu nutzen. Zum Beispiel kann eine Bank aus Sicherheitsgründen wünschen, daß die PC-Nutzung durch die Kassierer oder Kreditbearbeiter von einem zentralen, fernen Ort aus überwacht wird. Als zweites Beispiel kann ein Netzwerkmanager wünschen, die Aktivitäten eines bestimmten Netzwerkdateiservers oder einer Bandsicherungsstation regelmäßig aus der Ferne zu überwachen und zu steuern. Als drittes Beispiel können unerfahrene PC-Benutzer vor Ort ein einfaches Mittel benötigen, das dem PC-Wartungspersonal für den Fall, daß Probleme oder Fehler auftreten, einen umfassenden Zugriff auf ihre PCs ermöglicht, und insbesondere auf einen Netzwerkdateiserver.
  • Es sind zahlreiche Softwaresysteme verfügbar, um einen PC mit anderen PCs zu verbinden, mit Modems, die über eine Standardtelefonleitung miteinander verbunden sind. Diese Systeme erlauben die Steuerung eines Host-PCs durch einen Fern-PC. Diese Softwaresysteme verwenden spezielle Funktionstasten und Menüs, die diesen Produkten erlauben, einen Host-PC von einem Fern-PC aus zu betreiben, als säße der Fernbenutzer physikalisch vor dem Host-PC. Beispiele für solche Softwarepakete sind CrosstalkTM, entwickelt von Digital Communications Associates, Inc., 1000 Alderman Dr., Alpharetta, GA 30202-1000 (404442-4000); Procomm PlusTM, entwickelt von Datastorm Technologies Inc., 3212 Lemone Blvd, Columbia, MO 65201, (314443-3282); oder UnicomTM, entwickelt von Data Graphics, P.O. Box 58517, Renton, WA 98058 (206-432-1201). Jedes dieser Produkte benötigt Verarbeitungsunterstützung und Speicher vom Host-PC und hält an, wenn die Hostverarbeitung abstürzt oder ausfällt. Wenn diese Produkte nicht auf dem Host-PC vorinstalliert sind, ist kein Fernzugriff möglich, und diese Produkte sehen nicht die Speicherung eines Bildschirmprotokolls oder eines aktiven Bildschirms vor, falls ein PC abstürzt. Schließlich gehen diese Produkte von einer softwarebasierten Tastatur- und/oder Maussteuerung aus, im Gegensatz zur physikalischen Steuerung der Tastatur und/oder Maus des PCs, die weniger einschränkend ist.
  • Es sind Netzwerksoftware-Hilfsprogramme vorhanden, die einer Arbeitsstation erlauben, auf eine andere Arbeitsstation zuzugreifen, die am Netzwerk angeschlossen ist, und deren Aktivität zu steuern. Zu den Produkten, die in diese Kategorie fallen, gehören Carbon CopyTM for LANs, entwickelt von Microcom Inc., 500 River Ridge Drive, Norwood, MA 02062 (617-551-1000); und Map Assist, entwickelt von Fresh Technology Company, 1478 North Tech Boulevard, Suite 101, Gilbert Arizona, 85234 (602-4974200). Wie die anderen Hilfsprogramme für den Fernzugriff setzen diese Produkte voraus, daß Software im Speicher des Host-PCs resident ist, um betrieben werden zu können. Weder die Fernsteuerung noch der Zugriff sind möglich, wenn der Host-PC abstürzen oder ausfallen sollte.
  • Es sind Hilfsprogramme vorhanden, um Graphikbilddaten, die mit Dokumentenscannern erfaßt wurden, in Textdaten umzuwandeln, damit die erhaltenen Textdaten mit Textverarbeitungsprogrammen manipuliert und bearbeitet werden können. Beispiele für solche Programme sind OmniPage ProfessionalTM, entwickelt von Caere Corp, 100 Cooper Ct., Los Gatos, CA 95030 (408-395-7000); Perceive, entwickelt von Ocron, 3350 Scott Blvd., #36, Santa Clara, CA 95054; TypeReaderTM, entwickelt von ExperVision Inc., 3590 N. First St., San Jose, CA 95134 (408-428-9444); und WordScanTM Plus, entwickelt von Calera Recognition Sy stems, 475 Potrero Ave., Sunnyvale, CA 94086 (408-720-8300). Diese Programme erhalten ihren Eingabedaten aus der digitalisierten Ausgabe von statischen Datendateien, die von Dokumentscannern erzeugt werden, im Gegensatz zur Erfassung, Decodierung und anschließenden Umwandlung in Text der Ausgabesignale der Bildschirmkarte/-schaltungen eines PCs (d.h. in Echtzeit). Zudem sind diese Hilfsprogramme auf die CPU-Unterstützung des PCs angewiesen, auf dem sie installiert sind, können keine auf den Verarbeitungsstatus bezogene Daten übertragen, wenn der PC ausfällt, und bieten keine Fernsteuerung der Tastatur- und/oder Maus.
  • Es sind Geräte vorhanden, welche die Verwendung einer zentralen Tastatur und eines zentralen Bildschirmgeräts erlauben, um auf mehrere PCs zuzugreifen und diese zu steuern. Beispiele für solche Produkte sind CommanderTM, entwickelt von Cybex Corporation, 2800-H Bob Wallace Ave. Huntsville, Alabama (205-534-0011); Master ConsoleTM, entwickelt von Raritan Computer, Inc., 10-1 Ilene Court, Belle Mead, NJ 08502; und Plex, entwickelt von Data Vision Inc., 370 West Camino Gardens Blvd, Boca Raton, Florida, 33432 (407-482-3996). Diese Produkte erfordern, daß die Tastatur und die PC-Schnittstellenkabel direkt mit einem oder mehreren physikalischen Kabelumschaltgerät(en) verbunden werden. Die Bildschirmkartensignale werden lediglich verstärkt und als Videosignale über die direkten dedizierten Kabel übertragen. Es wird kein Versuch unternommen, die Signalausgabe der Bildschirmkarte in eine digitale Form umzuwandeln, die zur Übertragung über das öffentliche Telefonnetz oder andere Kommunikationsnetze geeignet ist. Desgleichen wird die von der Zentraleinheit genutzte Tastatur durch lokale Leitungen direkt mit jedem gesteuerten PC verbunden, und es wird kein Versuch unternommen, um Tastaturen über das öffentliche Telefonnetz zu steuern oder beide Tastaturen an der Fernkonsole und am Host-PC zu unterstützen.
  • Es sind Geräte vorhanden, die ein zusammengesetztes (TV) Videosignal über eine Telefonleitung übertragen. Zu diesen Produkten gehören Phone Viewer, vertrieben von Home Automation Lab, 5500 Highlands Pkwy, Suite 450, Symrna, GA 30082-5141, und AT&T's Bildtelefon, entwickelt von AT&T, 14250 Clayton Road, Baldwin, Missouri 63011, 1-800437-9504. Diese Produkte verwenden eine Videokamera, die periodisch ein Bild erfaßt, das dann zum Bildtelefon des Fernanrufers übertragen wird. Diese Systeme wandeln die erfaßten Videokamerabilder in Graphikbilder um, die Bitabbildungen sind. Es wird kein Versuch unternom men, um die erfaßten Daten in Textdaten umzuwandeln. Zudem sind diese Produkte nicht in der Lage, die Videosignale zu decodieren und zu übertragen, die von der Bildschirmkarte eines PCs erzeugt werden. Wenn diese Produkte lediglicht benutzt werden, um eine Momentaufnahme des PC-Bildschirms zu erzeugen, ist die Übertragung der erhaltenen Daten langsam und von schlechter Qualität, vor allem, wenn sich die Videoausgabe des PCs während der Momentaufnahme geändert hat. Zudem bietet keines dieser Produkte eine PC-Tastatur/Maus-Telefonschnittstelle, die zur Steuerung eines Fern-PCs notwendig ist. Selbst wenn eine solche Schnittstelle vorhanden wäre, würde der Benutzer eine separate Telefonleitung benötigen, um auf den Fern-PC zuzugreifen, um nicht die Übertragung der Videographik-Bilddaten zu stören, die aus der zusammengesetzten Videomomentaufnahme abgeleitet wurden.
  • Es sind Geräte vorhanden, welche die Erfassung eines Videosignals von einem externen analogen Videoaufnahmegerät, wie z.B. einer Videokamera, durch einen PC erlauben, und die Umwandlung des Signals in ein digitales Format, das zur Anzeige auf dem Bildschirmgerät des PCs geeignet ist, mit einer Videoerfassungskarte, die in den PC gesteckt wird. Ein solches Gerät ist der Smart Video Recorder, hergestellt von Intel Corp., P.O. box 58130, Santa Clara, CA 95052 (800-955-5599). Diese Geräte erfordern ein dediziertes Kabel, das direkt zwischen der Videoerfassungskarte und dem Videoaufnahmegerät verbunden ist, und keines dieser Produkte bietet eine PC-Tastatur/Maus-Telefonschnittstelle, die notwendig wäre, um einen Fern-PC zu steuern.
  • Es sind zahlreiche Geräte vorhanden, die den Neustart eines PCs aus der Ferne erlauben, wie der Sentry Remote Power Manager, entwickelt von Server Technology, 2332-B Walsh Ave., Santa Clara, CA 95051 (408-988-0142), Tone Operated Switch (TOPS), entwickelt von Black Box Corp., P.O. Box 12800, Pittsburgh PA 15241 (412-746-5530), oder TELEBOOT, entwickelt von Fox Network Systems, 15200 Shady Grove Road, Suite 350, Rockville Md 20750 (301-924-2264). Ein solches System wird in der US-Patentschrift Nr. 5,566,399 vom 23. Oktober 1992 beschrieben, die an den Abtretungsempfänger der vorliegenden Erfindung abgetreten wurde. Diese Geräte bieten aber nicht die Möglichkeit der Fernvideoanzeige und weisen keine Tastatur-/Mausschnittstelle auf.
  • Die US-Patentschrift Nr. 5,153,886 von Tuttle offenbart ein System und ein Verfahren zur Verarbeitung von Videoanzeigesignalen, das für Regressionstests von Computerhardware und/oder Softwareanwendungen verwendet wird. Das von Tuttle offenbarte System ist aber auf die Verbindung zur internen Videoadapterschaltung angewiesen und wird nicht betrieben, um die Videorastersignale zu interpretieren, die von der Videoadapterschaltung erzeugt werden. Zudem ist das von Tuttle offenbarte System aufwendig, da eine Steckkarte in den zu testenden Computer eingebaut werden muß, und läßt sich nicht einfach über die vorhandenen Standardschnittstellenanschlüsse an einen Rechner anschließen.
  • Die US-Patentschrift 5,084,875 von Weinbert et al. offenbart ein System, um Kopier von einem fernen Ort aus automatisch zu überwachen und den Betrieb eines Kopierers aus der Ferne zu erlauben. Weinbert et al. offenbaren aber kein System, das für die Fernüberwachung und -steuerung eines Personal-Computer-Systems oder Netzwerks geeignet ist, und kein System, das die von einem Ferncomputersystem erzeugten Videorastersignale überwachen und weiterleiten kann.
  • Die US-Patentschrift Nr. 5,124,622 von Kawamura et al. offenbart eine Vorrichtung zur Ferndiagnose einer numerischen Vorrichtung. Doch auch Kawamura et al. offenbaren kein System, das die von einem Ferncomputersystem erzeugten Videorastersignale überwachen und weiterleiten kann. Außerdem offenbaren Kawamura et al. kein System, das zur Fernüberwachung und -steuerung eines Personal-Computer-Systems oder Netzwerks verwendet werden kann.
  • Die US-Patentschrift Nr. 5,237,677 von Hirosawa et al. offenbart eine Vorrichtung und ein Verfahren zur Überwachung und Steuerung eines Datenverarbeitungssystems, bei dem eine automatische Fehlermeldung an ein Überwachungs-/Steuersystem erfolgt, das sich an einem fernen Ort befindet. Hirosawa et al. offenbaren aber kein System, das in der Lage ist, die von einem Ferndatenverarbeitungssystem erzeugten Videorastersignale zu überwachen.
  • Die FR 2 672 707 A1 offenbart ein Verfahren zur Fernwartung oder Fernsteuerung eines Host-Computers. Das vom Host-Computer erzeugte und von einem zugehörigen Anzeigeterminal empfangene Videosignal kann vom Host-Computer in Digitalsignale umgewandelt und über ein Modem im Host-Computer an einen Ferncomputer gesendet werden. Der Host-Computer kann ferner Fernsteuerkom mandos über das Modem empfangen. Der Host-Computer führt die gesamte Datenverarbeitung und den gesamten Datenaustausch selbst durch, d. h. mit seinem eigenem Mikroprozessor. Wenn der Host-Computer abgestürzt ist, ist eine Wartung oder Steuerung nicht mehr möglich.
  • Die US 4,057,847 offenbart eine universelle, fernsteuerbare Testschnittstelleneinheit, die Signale von einer entfernten Zentralprozessoreinheit empfängt und die Signale in ein kompatibles Schnittstellenformat zur Verwendung in einem zugeordneten Zentralprozessorsystem konvertiert. Die Testeinheit ist vorzugsweise an eine Konsole des Zentralprozessorsystems und die Schnittstelle der I/O-Einheit des Zentralprozessorsystems angeschlossen. Die Testeinheit gestattet es nicht, das Zentralprozessorsystem neu zu starten.
  • Die JP 03-276342 A offenbart ein Hauptsystem zur Fernsteuerung eines entfernten Systems mit einem Computer. Ein Betätigungssignal von einer Tastatur wird in dem Hauptsystem in ein Übertragungssignal konvertiert. Das Übertragungssignal wird über eine Kommunikationsleitung zu einer Fern-Wiederherstellungs-Einheit am entfernten System übertragen. Das dekodierte Signal wird an einen Eingabevorrichtungsanschluß des Computers geleitet. Ein Videoausgabesignal von dem Computer wird kodiert und über eine Kommunikationsleitung an das Hauptsystem übertragen. Wenn der entfernte Computer abgestürzt ist, ist eine Wartung oder Steuerung nicht mehr möglich.
  • Aufgabe der vorliegenden Erfindung ist es, ein verbessertes System und ein verbessertes Verfahren zur Fernsteuerung eines Datenverarbeitungsgeräts an einem entfernten Ort anzugeben.
  • Die obige Aufgabe wird durch ein Computerüberwachungssystem gemäß Anspruch 1 oder durch ein Verfahren gemäß Anspruch 4 gelöst. Bevorzugte Weiterbildungen sind Gegenstand der Unteransprüche.
  • Insbesondere gestattet die Erfindung einen Kaltstart des gesteuerten Datenverarbeitungsgerätes, wie eines Host-PC, sogar wenn das Gerät bzw. der PC abgestürzt ist.
  • Die vorliegende Erfindung ermöglicht einem Fern-PC, auf einen Host-PC zuzugreifen und diesen zu steuern. Das System umfaßt ein mikroprozessorgesteuertes Computerhardwaregerät (nachstehend „Hosteinheit" genannt), Softwareprogramme, die auf dem Host-PC ausgeführt werden, und Softwareprogramme, die auf dem Fern-PC ausgeführt werden.
  • Die Verbindung zwischen einem Host-PC und einem Fern-PC kann durch eines von zwei Mitteln hergestellt werden. Als erstes Mittel wird ein Modem an die serielle Schnittstelle des Fern-PCs angeschlossen, und ein kompatibles Modem wird an die Datenschnittstelle der Hosteinheit angeschlossen. Auf diese Weise kann ein Fern-PC über eine Standardtelefonleitungsverbindung zwischen beiden Modems mit einer Hosteinheit verbunden werden. Dieses Mittel wird nachstehend „Modemverbindung" genannt.
  • Als zweites Mittel kann ein Fern-PC direkt durch ein dediziertes Kabel von einem Datenübertragungsanschluß des PCs (z.B. eine serielle Schnittstelle oder Parallelschnittstelle) zur Datenschnittstelle an der Hosteinheit verbunden werden. Dieses Mittel wird nachstehend „Direktleitungsverbindung" genannt. Die Direktleitungsverbindung unterstützt höhere Datenübertragungsgeschwindigkeiten als die Modemverbindung, und die Direktleitungsverbindung erfordert nicht die Verwendung von Modems. Die Direktleitungsverbindung bietet aber nicht die gleiche Flexibilität für den Fernzugriff auf die Hosteinheit wie die Modemverbindung.
  • Die Hosteinheit umfaßt einen eigenen Mikroprozessor (oder andere Rechenschaltkreise) zum Erfassen, Interpretieren und Speichern der Information aus der Videorastersignalausgabe der Bildschirmkarte des Host-PCs (wobei ein Videorastersignal das Videoausgabesignal einer Bildschirmkarte ist, das direkt in ein Bildschirmgerät eingegeben wird), die auf dem Bildschirm eines Host-PCs angezeigt wird. Die auf diese Weise gesammelten Bildschirmdaten erlauben einem Fernbenutzer, auf die aktuellen und früheren Bildschirmdaten zuzugreifen, sie zu betrachten und auf einem Fern-PC zu speichern, wenn der Fern-PC mit der Hosteinheit verbunden ist. Die Bildschirmdaten, die von der Hosteinheit aus der Videorasterausgabe der Bildschirmkarte des Host-PCs erfaßt, interpretiert und gespeichert werden, können Text- oder Graphikdaten (d.h. Bilder) sein und farbig oder monochrom. Die Anzeigeformate der Videorastersignalausgabe der Host-PC-Bildschirmkarte, die von einer Hosteinheit erfaßt und interpretiert werden, umfas sen den monochromen, CGA-, EGA- und VGA-Modus, die dem Fachmann vertraut sind, und ähnliche Techniken können für jedes Anzeigeformat angewandt werden.
  • Außerdem ermöglichen das System und Verfahren vorzugsweise einem Fern-PC, (1) die Tastatur- und/oder Maussteuerung von einer Tastatur und/oder Maus, die an einem Host-PC an der Hostsite angeschlossen ist, physikalisch zur Tastatur und/oder Maus umzuleiten, die am Fern-PC angeschlossen ist, wodurch der Fern-PC die Tastatur- und/oder Mauseingabe zum Host-PC voll steuern kann, (2) aus der Ferne Softwareprogramme aufzurufen, die auf einem Host-PC installiert sind und erforderlich sind, um Daten und Dateien zwischen dem Host-PC und dem Fern-PC zu übertragen, (3) mehrere Hosteinheiten miteinander zu verbinden (d.h. zu verketten), so daß ein Fern-PC während einer einzigen Zugriffssitzung zwischen verschiedenen Hosteinheiten wechseln kann, und (4) einen Host-PC bei Bedarf neu zu starten, indem die Hosteinheit angewiesen wird, die Stromversorgung zum Host-PC kurzzeitig zu unterbrechen, um dessen Neustart zu erzwingen.
  • Ein Ausführungsbeispiel umfaßt (1) Software, die auf dem Fern-PC installiert ist und die dem Fern-PC erlaubt, ein Standardmodem wie z.B. „Hayes 9600 baud Ultra", „Hayes 2400 Smart" oder „Boca 14.4" für eine Modemverbindung zu verwenden, oder eine direkte Kabelverbindung für die Direktleitungsverbindung, um aus der Ferne auf eine Hosteinheit zuzugreifen, wodurch der Fern-PC mit der Hosteinheit verbunden werden kann und auf einen an der Hosteinheit angeschlossenen Host-PC zugreifen oder diesen steuern kann; (2) eine Hosteinheit, die (a) direkt an ein Modem oder an einen Fern-PC angeschlossen ist oder (b) über eine andere Hosteinheit mit einem Fern-PC verbunden (d.h. verkettet) ist, und direkt an den Tastatur-, optionalen Maus-, Bildschirmkarten- und Stromanschluß des Host-PCs angeschlossen ist; (3) Softwareprogrammdateien, die auf dem Host-PC installiert sind und aus der Ferne aktiviert werden können, um Dateiübertragungen zwischen Host- und Fern-PCs zu erleichtern, und (4) Softwareprogramme, die bei der Installation auf dem Host-PC ausgeführt werden, um der am Host-PC angeschlossenen Hosteinheit zu erlauben, automatisch selbst zu trainieren, wie die spezifischen Videorasterausgabesignale von der Bildschirmkarte des Host-PCs zu decodieren sind.
  • Die auf dem Fern-PC installierte Software erlaubt (1) den Zugriff auf eine Host-PC-Site im Modemverbindungs- oder im Direktleitungsverbindungsmodus, (2) die Initialisierung eines am Fern-PC angeschlossenen Modems (einschließlich Baudrate und Initialisierungszeichenketten), das für den Modemverbindungsmodus erforderlich ist, (3) das Führen einer Liste der Hosteinheiten, auf die vom Fern-PC aus zugegriffen werden kann (einschließlich der Wählinformation, die benötigt wird, um das Hostmodem für jede Hosteinheit anzuwählen (im Modemverbindungsmodus), der Identifikationsnummer für jede Hosteinheit, und des Kennworts, das für den Zugriff auf jede Hosteinheit benötigt wird), (4) den Aufbau einer Modem- oder Direktleitungsverbindung vom Fern-PC zu einer bestimmten Hosteinheit, (5) die Anzeige der Statusinformation bezüglich einer aktiven Verbindung auf dem Bildschirm des Fern-PCs, (6) die Abfrage des Bildschirmprotokolls des Host-PCs, das von der Hosteinheit übertragen und in einem Massenspeichergerät des Fern-PCs gespeichert wird, (7) die Einstellung des spezifischen Verfahrens, das von der aktiven Hosteinheit anzuwenden ist, um die Videorasterausgabe der Host-PC-Bildschirmkarte zu erfassen (d.h. Textmodi, Graphikmodi usw. in Monochrom oder Farbe), (8) das Umschalten der Tastatur und/oder Maus des Fern-PCs vom Gebrauch als normale Ferntastatur und/oder -maus in den Gebrauch als Tastatur und/oder Maus für den Host-PC, (9) den Zugriff auf einen Host-PC, um die Bildschirmaktivität des Host-PCs zu betrachten, ohne die Tastatur und/oder Maus des Host-PCs auf die Tastatur und/oder Maus des Fern-PCs umzuschalten, (10) das Rückschalten der Tastatur und/oder Maus vom Gebrauch als Host-PC-Tastatur/Maus in den Gebrauch als Fern-PC-Tastatur/Maus, (11) das Initialisieren und Steuern der Übertragung von Datendateien zwischen Host- und Fern-PC, (12) den Datenaustausch mit der Hosteinheit über das öffentliche Telefonnetz und Modemverbindungsprotokolle im Modemverbindungsmodus, oder über eine festgeschaltete Direktleitung im Direktleitungsverbindungsmodus, (13) das Umschalten des Bildschirms des Fern-PCs von einem normalen (d.h. Fern-) Bildschirmmodus in einen Hostbildschirmmodus, wobei die Ausgabedaten der Bildschirmkarte eines Host-PCs von der Hosteinheit erfaßt werden (ohne Host-PC-CPU-Unterstützung) und an den Fern-PC übertragen werden, um anstelle der normalen Bildschirmanzeige des Fern-PCs auf dem Bildschirm des Fern-PCs angezeigt zu werden, (14) das Rückschalten des Bildschirms des Fern-PCs von einer Host-PC-Videoanzeige in eine Fern-PC-Videoanzeige, (15) die Anweisung an die Hosteinheit, die Stromversorgung zum Host-PC kurzzeitig zu unterbrechen, um dadurch den Neustart des Host-PCs zu erzwingen, was dem Fachmann allgemein als „Kaltstart" bekannt ist, (16) das Wechseln zwischen Hosteinheiten und den zu den Hosteinheiten gehörigen Host-PCs, wenn mehrere Hosteinheiten miteinander verbunden sind, (17) das Ändern des permanenten oder vorläufigen Kennworts, das von Fern-PCs für den Zugriff auf die Hosteinheit verwendet wird, um den unbefugten Zugriff eines Fernbenutzers auf einen Host-PC zu verhindern, (18) das Trennen einer Modemverbindung oder Direktleitungsverbindung mit einem Host, (19) den Aufbau einer Verbindung zu einer anderen Site, bei Bedarf, (20) das Speichern der Prozeduren, die erforderlich sind, damit eine Hosteinheit das Videorasterausgabesignal der Bildschirmkarte eines bestimmten Host-PCs decodieren kann, so daß diese Prozeduren von einem Fern-PC neu in den Speicher der Hosteinheit geladen werden können, damit mit einer Hosteinheit auf mehrere Host-PCs zugegriffen werden kann, ohne daß der Trainingsvorgang vor Ort wiederholt werden muß, und (21) das Schließen der Anwendung auf dem Fern-PC, wenn kein Zugriff auf Host-PCs mehr benötigt wird.
  • Eine Hosteinheit kann (über Kabel und Adapter) an einen Host-PC angeschlossen werden und ist in der Lage, (1) das von einem Fernbenutzer eingegebene Kennwort für den Zugriff auf die Hosteinheit zu prüfen, so daß der Zugriff auf den Host-PC verweigert wird, wenn ein ungültiges Kennwort empfangen wird; (2) einem Fern-PC optional die Übernahme der Tastatur und/oder Maus des Host-PCs zu erlauben, indem sie jede Eingabe von der Tastatur und/oder Maus des Host-PCs ignoriert und nur die Tastatur- und/oder Mauseingabe vom Fern-PC akzeptiert, die über eine Modemverbindung oder Direktleitungsverbindung empfangen wird; (3) einem Benutzer an der Hostsite die Rücknahme der Tastatur und/oder Maussteuerung des Host-PCs durch Drücken eines Impulsschalters an der Hosteinheit zu erlauben; (4) die Tastatur- und/oder Mauseingabesignale des Host-PCs über Tastatur- und/oder Mauseingänge und -ausgänge an der Hosteinheit zum Host-PC durchzulassen; (5) die Videorastersignale von der Bildschirmkarte des Host-PCs abzufangen, zu speichern, zu analysieren und zu decodieren und über die Videoeingänge und -ausgänge an der Hosteinheit zum Bildschirmgerät des Host-PCs durchzulassen, selbst wenn kein Fern-PC auf die Hosteinheit zugreift; (6) die Videorasterausgabesignale der Bildschirmkarte des Host-PCs in ein Textformat oder in ein bitabbildendes Graphikformat umzuwandeln, (7) die Bildschirmdaten, die zwischen jedem Aktualisierungszyklus der Bildschirmkarte geändert wurden, zu erkennen und bei Bedarf zu speichern; (8) die Änderungen in den Text- oder Graphikdaten, die aus dem Rasterausgabesignal der Bildschirmkarte decodiert wur den, zu komprimieren, zu einen Fern-PC zu übertragen und zu speichern; (9) Eingangs-/Ausgangsschnittstellenkabelbuchsen zur Verkettung mehrerer Hosteinheiten aufzunehmen, so daß ein Fern-PC über eine einzige Telefonleitung und ein Modem während eines Anrufs zwischen mehreren Host-PCs wechseln und diese fernsteuern kann; (10) den Host-PC über einen Wechselstromausgang mit Strom zu versorgen, so daß die Hosteinheit die Stromversorgung zum Host-PC bei Bedarf kurzzeitig unterbrechen kann, um den Neustart des Host-PCs zu erzwingen.
  • Die Videorasterausgabesignale von der Bildschirmkarte des Host-PCs können von PC zu PC (oder von Bildschirmkarte zu Bildschirmkarte) unterschiedlich sein, weshalb zum Decodieren des Signals kein Standardverfahren verwendet werden kann. Während der Installation der Hosteinheit kann eine mit der Vorrichtung gelieferte Software auf dem Host-PC ausgeführt werden, damit die Hosteinheit trainiert wird, die Videorasterausgabesignale von der Bildschirmkarte des Host-PCs im Textmodus korrekt zu decodieren. Bei diesem einmaligen Trainingsvorgang werden von der Software, die mit der Hosteinheit geliefert wird, über die Bildschirmkarte des Host-PCs vorgegebene Text- und Zeichenketten angezeigt. Das von der Bildschirmkarte des PCs erhaltene Videorasterausgabesignal wird dann von den Prozessoren der Hosteinheit analysiert, um die genauen Prozeduren zu ermitteln, die erforderlich sind, um das Videorasterausgabesignal der Bildschirmkarte in bekannte Textdaten oder Graphikpixeldaten umzuwandeln, die während des Trainingsvorgangs angezeigt werden. Die Ergebnisse dieses Trainingsvorgangs ergeben die spezifischen Prozeduren und Daten, die erforderlich sind, um die Textdaten oder Graphikpixeldaten aus der Bildschirmkartenausgabe eines spezifischen PCs zu erfassen. Diese Prozeduren und Daten werden im nicht flüchtigen RAM-Speicher der Hosteinheit gespeichert, so daß der Trainingsvorgang für einen spezifischen Host-PC nicht wiederholt zu werden braucht, es sei denn, die Bildschirmkarte des Host-PCs wird ausgetauscht. Dieser Trainingsvorgangs erlaubt der Hosteinheit den Anschluß an jede monochromen oder Farbgraphikkarte, wie z.B. CGA, EGA oder VGA, die dem Fachmann vertraut sind. Auf Anforderung durch einen Fern-PC können diese Trainings-prozeduren, die zum Decodieren des Signals der Bildschirmkarte eines bestimmten Host-PCs erforderlich sind, in eine Datei auf einem Massenspeichergerät am Fern-PC kopiert werden. Diese Prozedur erlaubt dann dem Fern-PC, das von der Hosteinheit verwendete Decodierverfahren umzustellen, wenn an einer Site eine einige Hosteinheit vorhanden ist, die von Be nutzern vor Ort an verschiedene PCs angeschlossen wird, um die Ferndiagnose eines ausgefallenen PCs zu erleichtern.
  • Ein weniger vorzugsweises Ausführungsbeispiel kann verwendet werden, bei dem die Videoerfassungsfunktion der Hosteinheit durch eine Steckkarte erfüllt wird, die in einen der Steckplätze des PCs gesteckt wird. Diese Steckkarte weist ihren eigenen Mikroprozessor auf, oder andere Verarbeitungsschaltkreise, welche die BIOS-Videodaten eines PCs selbstständig erfassen und speichern, um sie über eine Kabelschnittstelle von der Steckkarte zur Hosteinheit zu übertragen. Dieses Ausführungsbeispiel der vorliegenden Erfindung wird aus mehreren Gründen weniger bevorzugt:
    • A. Viele PCs werden nun in einem Graphikbildschirmmodus betrieben, im Gegensatz zum Textbildschirmmodus, wobei Daten über das interne BIOS (Basic Input/Output System) des PCs angezeigt werden, indem auf dem Bildschirm Pixel gesetzt werden, statt Standardzeichenformatdaten an den Bildschirm zu senden. Das von Microsoft entwickelte Betriebssystem WindowsTM ist ein Beispiel für solch eine graphische Benutzerschnittstelle. In einem Graphikbildschirmmodus sind verschiedene Normen vorhanden, um die Optionen bezüglich der Zahl, der Anordnung und der Intensität zu definieren, die für die Anzeige von Graphikinformationen auf einem Bildschirm verfügbar sind. Die traditionellen BIOS-Funktionen für die Anzeige von Daten auf dem Bildschirm können von den Softwaretreibern der verschiedenen PC-Anwendungshersteller modifiziert und umgangen werden. Daher ist der Prozeß der Decodierung von Graphikinformation auf dieser Ebene verschiedenartiger und unterliegt größeren Änderungen als die vorzugsweise Ausführungsform der Decodierung des tatsächlichen Videorasterausgabesignals von der Bildschirmkarte, das einer relativ festen Norm entspricht (d.h. die Eingabe zum Bildschirmgerät).
    • B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die auf der Hauptplatine integriert sind, die es dem Benutzer nicht erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine Videodaten über den PC-Bus leiten.
    • C. Der Einbau einer Steckkarte in einen PC erfordert das Ausschalten des PCs und dann das Öffnen des PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer nicht so leicht wie der Anschluß von Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des PCs. Darüber hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen Host-PCs für die Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst für ungeschultes Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau der Steckkarte geöffnet werden muß.
    • D. Die Größe der Steckkarte muß festgelegte Grenzmaße einhalten. Diese Begrenzungen können die Funktionalität der Karte einschränken.
    • E. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen, wodurch die Hosteinheit nicht mehr in der Lage ist, die gespeicherten Videodaten vom Host-PC zu übertragen.
    • F. Eine zusätzliche Steckkarte ist erforderlich, wodurch Benutzer ohne verfügbaren Steckplatz vom Einbau der Vorrichtung ausgeschlossen sind.
  • Ein zweites weniger vorzugsweises Ausführungsbeispiel, das mit dem oben genannten vergleichbar ist, kann verwendet werden, bei dem eine Steckkarte mit Doppelfunktion konstruiert und anstelle der vorhandenen Bildschirmkarte des PCs in den Steckplatz des PCs gesteckt wird. Eine Funktion dieser Steckkarte ist die Erzeugung der Videoausgabe an ein Bildschirmgerät mit standardmäßigem Anschlußstecker. Die andere Funktion der Steckkarte ist die Erfassung der Video-BIOS-Daten mit den zusätzlichen Schaltungen auf der Bildschirmkarte und die Übertragung dieser Daten zu einem Fern-PC. In diesem Fall kann die Bildschirmkarte standardmäßigen, vorgegebenen Videoanzeigeoptionen entsprechen und dadurch die unterschiedlichen Treiber und Anzeigeverfahren vermeiden, die von den verschiedenen Bildschirmkartenherstellern verwendet werden. Dieses Ausführungsbeispiel wird aus mehreren Gründen weniger bevorzugt:
    • A. Der Einbau einer Steckkarte in einen PC erfordert das Ausschalten des PCs und dann das Öffnen des PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer nicht so leicht wie der Anschluß von Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des PCs. Darüber hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen Host-PCs für die Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst für ungeschultes Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau der Steckkarte geöffnet werden muß.
    • B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die auf der Hauptplatine integriert sind, die es dem Benutzer nicht erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine Videodaten über den PC-Bus leiten.
    • C. Die Größe der Steckkarte muß festgelegte Grenzmaße einhalten. Diese Begrenzungen können die Funktionalität der Karte einschränken.
    • D. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen, wodurch die Hosteinheit nicht mehr in der Lage ist, Videodaten vom Host-PC zu übertragen.
  • Es können andere weniger vorzugsweise Ausführungsbeispiele verwendet werden, bei denen eine, mehrere oder alle restlichen Funktionen der Hosteinheit auf einer oder mehreren Steckkarten untergebracht sind, ähnlich wie bei den oben beschriebenen weniger vorzugsweisen Ausführungsbeispielen. Zum Beispiel kann ein spezielles Adapterkabel mit dem Ende des Tastatursteckers verbunden werden und in die Eingangsbuchse einer Tastaturschnittstellenkarte gesteckt werden. Ein anderes Kabel kann dann in die Ausgangsbuchse der Tastaturschnittstellenkarte gesteckt werden und mit dem normalen Tastaturanschluß am PC verbunden werden. Die Tastaturschnittstellenkarte enthält einen eigenen Mikroprozessor und Schaltkreise, um die oben für die Hosteinheit beschriebene Tastaturverarbeitungsfunktion durchzuführen. Dieses Ausführungsbeispiel wird aus mehreren Gründen weniger bevorzugt:
    • A. Die Verwendung mehrerer Schnittstellenkarten ist kostspielig und erfordert die Herstellung von nicht standardmäßigen Schnittstellenkabeln.
    • B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die auf der Hauptplatine integriert sind, die es dem Benutzer nicht erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine Videodaten über den PC-Bus leiten.
    • C. Der Einbau einer Steckkarte in einen PC erfordert das Ausschalten des PCs und dann das Öffnen des PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer nicht so leicht wie der Anschluß von Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des PCs. Darüber hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen Host-PCs für die Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst für ungeschultes Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau der Steckkarte geöffnet werden muß.
    • D. Die Größe der Steckkarte muß festgelegte Grenzmaße einhalten. Diese Begrenzungen können die Funktionalität der Karte einschränken.
    • E. Mehrere Steckkarten sind erforderlich, wodurch Benutzer ohne verfügbaren Steckplatz vom Einbau der Vorrichtung ausgeschlossen sind.
    • F. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen, wodurch die Funktionen, die nun von der Hosteinheit übernommen werden, von den Steckkarten im Host-PC nicht durchgeführt werden können.
  • Aus dem vorstehenden wird ersichtlich, daß ein Aspekt ist, einem Benutzer an einem ersten Ort das Betrachten der Information zu ermöglichen, die auf einem Videoanzeigegerät an einem zweiten Ort angezeigt wird, oder die Überwachung eines Datenverarbeitungsgeräts an diesem Ort.
  • Ein anderer Aspekt ist, einem Benutzer auch dann das Betrachten der Information zu ermöglichen, wenn auf dem Videoanzeigegerät angezeigt wird, wenn das Datenverarbeitungsgerät am zweiten Ort abgestürzt ist und keine Eingabebefehle mehr verarbeitet.
  • Ein weiterer Aspekt ist, dem Benutzer am ersten Ort die Eingabe von Befehlen an das Datenverarbeitungsgerät am zweiten Ort zu ermöglichen, und zwar so, daß das Datenverarbeitungsgerät annimmt, daß die Befehle von einem Standardeingabegerät kommen, das an das Datenverarbeitungsgerät angeschlossen ist, wie z.B. eine Tastatur oder Maus.
  • Ein anderer Aspekt ist, die kurzzeitige Unterbrechung der Stromversorgung zum Datenverarbeitungsgerät am zweiten Ort zu ermöglichen, durch einen Befehl des Benutzers, um den Neustart oder die Einschaltroutine des Datenverarbeitungsgeräts zu erzwingen.
  • Ein weiterer Aspekt ist die Bereitstellung einer Vorrichtung und eines Verfahrens, wobei die Videoanzeigeinformation, die in der Videorastersignalausgabe vom Videoanzeigekreis des Datenverarbeitungsgeräts enthalten ist, analysiert wird, um den Inhalt des Signals zu ermitteln und das Signal in eine Form umzuwandeln, die geeignet ist, über das öffentliche Telefonnetz oder ein anderes Kommunikationsnetz übertragen zu werden.
  • Ein weiterer Aspekt ist die Bereitstellung eines Systems und eines Verfahrens, um die Vorrichtung zu trainieren, damit sie die verschiedenen Anzeigeformate erkennen kann, die verwendet werden, um die Information vom Videoanzeigekreis zum Videoanzeigegerät oder Bildschirmgerät zu übertragen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Zeichnungen umfassen 7 Figuren, die von 1 bis 7 durchnumeriert sind. Figuren, die aus mehr als einem Blatt bestehen, weisen ein alphabetisches Suffix für jedes Blatt auf. Wenn auf eine Figur in ihrer Gesamtheit Bezug genommen wird, wird das Suffix ausgelassen. Nachstehend folgt eine kurze Beschreibung jeder Figur:
  • 1 ist eine funktionelle Übersicht der Erfindung.
  • 2 ist eine Außenansicht der Hosteinheit von vorne.
  • 3 ist eine Außenansicht der Hosteinheit von hinten.
  • 4 ist ein technisches Diagramm, das eine Übersicht der internen Schaltungen der Hosteinheit darstellt.
  • 5 ist ein Blockdiagramm, das die in der Hosteinheit stattfindende Steuerverarbeitung des mikroprozessorgestützten Softwarebetriebssystems beschreibt.
  • 6 ist ein Blockdiagramm, das den Trainingsvorgang der Hosteinheit beschreibt, um den Text bei einem spezifischen PC zu erkennen.
  • 7 ist ein Blockdiagramm, das die auf dem Fern-PC ausgeführte Software beschreibt.
  • 8 stellt das gegenwärtige Protokoll dar, das für die Kommunikation zwischen einem Fern-PC und einer Hosteinheit verwendet wird.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 ist eine funktionelle Übersicht der Erfindung. Die rechteckigen Objekte in diesem Diagramm stellen physikalische Komponenten (d.h. Hardware) der Vorrichtung dar. Die gestrichelten rechteckigen Kästen stellen Anordnungen der betreffenden Hardwarekomponenten an verschiedenen Orten dar, die gestrichelten Linien stellen Kabel oder Leitungen dar, eine durchgezogene Linie stellt eine Kommunikationsschnittstelle (d.h. eine Telefonleitung oder eine Direktleitung) dar, ein Pfeil am Ende einer Linie stellt die Richtung des Daten- oder Stromflusses dar, und eine pfeillose Linie zeigt an, daß Daten in beide Richtungen fließen.
  • Ein PC, der sich an einer Fernsite 1 befindet, kann benutzt werden, um auf ein Hostsystem 6 zuzugreifen. Der Fern-PC 2 kann mit einer Bildschirmkarte und einem Bildschirmgerät 3, einer Tastatur 4 und einem Hayes-kompatiblen Modem 5 ausgestattet sein, um auf bekannte Weise über eine Modemverbindung auf eine Fernsite zuzugreifen. Wenn statt einer Modemverbindung eine Direktleitungsverbindung verwendet wird, ist für den Zugriff auf eine Hosteinheit kein Modem erforderlich. Auch eine Maus 4A kann am Fern-PC angeschlossen sein.
  • Die auf dem Fern-PC 2 installierte Software erlaubt dem Fern-PC, über das Modem 5 am Fern-PC das Modem 7 an der Fernsite über eine normale Telefonleitung anzuwählen, oder über eine Direktleitung eine Direktleitungsverbindung herzustellen. Die Vorrichtung unterstützt gegenwärtig Datenübertragungsgeschwindigkeiten von bis zu 19,2 KB zwischen einem Fern-PC 1 und einem Hostsystem 6, oder zwischen einer Hosteinheit 8 und einer anderen Hosteinheit 13 oder 18, doch die Aufgaben der Erfindung werden auch erfüllt, wenn die Geschwindigkeit der Datenübertragung höher oder niedriger ist.
  • Die Hosteinheiten 8, 13, 18 können miteinander verkettet sein, um einem Fern-PC während einer einzigen Zugriffssitzung das Umschalten zwischen mehreren Hosteinheiten zu ermöglichen. Eine Gruppe von Hosteinheiten, die durch eine Verkettung miteinander verbunden sind, werden hier als „Hostsite" bezeichnet. Die zur Vorrichtung gehörige Software erlaubt einem Fern-PC, auf mehr als eine Hostsite zuzugreifen, doch gegenwärtig muß der Zugriff auf eine Hostsite beendet sein, bevor auf eine andere Hostsite zugegriffen werden kann.
  • Die Hosteinheiten 8, 13, 18 werden durch eine einmalige Nummer identifiziert, die durch DIP-Schalter an jeder Hosteinheit eingestellt wird. An einer Hosteinheit sind insgesamt sechs DIP-Schalter verfügbar, um eine spezifische Hosteinheit-Identifikationsnummer einzustellen, so daß die Identifikationsnummer der Hosteinheit vom Benutzer je nach Schalterposition auf eine Dezimalzahl zwischen 00 und 63 eingestellt werden kann. Um die Adressierung einer größeren Anzahl von Hosteinheiten zu ermöglichen, können natürlich zusätzliche Schalter vorgesehen werden. Gegenwärtig muß die Hosteinheit 00 8 über ein Modemkabel angeschlossen werden, das die Buchse „Data In" 70 (siehe 3) der Hosteinheit mit der seriellen Schnittstelle des Modems verbindet, oder sie muß eine Direktleitungsverbindung über ein spezielles Kabel haben, das die Buchse „Data In" 70 (siehe 3) der Hosteinheit mit einer seriellen Schnittstelle des Fern-PCs verbindet. Zu beiden Zwecken kann ein RJ-12-Kabel mit seriellen Schnittstellenadaptern verwendet werden. Obwohl jedes geeignete Kabel benutzt werden kann, weist das RJ-12-Kabel sechs Adern auf, wovon zwei für den serielle Datenaustausch verfügbar sind. Andere Hosteinheiten können über ein Kabel von der Buchse „Data Out" 71 (3) der letzten Hosteinheit in der Verkettung 13 zur Buchse „Data In" 70 (3) der neu angeschlossenen Hosteinheit 18 verkettet werden. Hosteinheiten, die in einer Verkettung miteinander verbunden sind, verwenden gegenwärtig RJ-12-Kabel für die Verbindung von Hosteinheit zu Hosteinheit, doch kann hierfür jedes Kabel mit geeigneten Adern verwendet werden. Damit ein Fern-PC mit einer spezifischen Hosteinheit in einer Verkettung kommunizieren kann, muß jede Hosteinheit eine einmalige Identifikationsnummer aufweisen, die zwischen 01 und 63 liegt. Alle Datenpakete, die vom Fern-PC an eine bestimmte Hosteinheit in einer Verkettung gesendet werden, benutzen die Hosteinheit-Identifikationsnummer, um das übertragene Datenpaket an die betreffende Hosteinheit zu adressieren. Gegenwärtig kann ein Fern-PC nur auf eine Hosteinheit auf einmal zugreifen, kann aber während einer einzigen Kommunikationssitzung zwischen mehreren Hosteinheiten umschalten.
  • Eine Hosteinheit 8 wird von einer Wechselstromquelle mit Strom versorgt, über ein Stromkabel, das mit der Buchse „AC Power" 61 (3) der Hosteinheit verbunden ist. Die Hosteinheit versorgt auch den Host-PC 10 mit Wechselstrom, mit dem sie über ein Stromkabel von der Buchse „AC To PC" 62 (3) an der Hosteinheit zum Stromkabelanschluß am Host-PC verbunden ist. Wenn der Host-PC auf diese Weise mit Strom versorgt wird, kann die Stromzufuhr zum Host-PC von der Hosteinheit kurzzeitig unterbrochen werden, wenn sie vom Fern-PC eines Fernbenutzers angewiesen wird, den Neustart eines abgestürzten Host-PCs zu erzwingen, damit die normale Verarbeitung des Host-PCs aus der Ferne wiederhergestellt werden kann. Dieses „Kaltstartverfahren" ist vor allem dann nützlich, wenn der Host-PC nicht mehr auf Tastatureingaben oder sonstige Eingaben reagiert. Der Host-PC wird vom Fernbenutzer aus- und wieder eingeschaltet, wodurch die Schaltkreise des Host-PCs wieder initialisiert werden.
  • Wenn eine Hosteinheit 8 zuerst an einen Host-PC 10 angeschlossen wird, wird die Tastatur 11 des Host-PCs aus dem Tastaturanschluß ausgesteckt und in eine Buchse „Keyboard Input from KB" 68 (3) der Hosteinheit gesteckt. Dann wird ein mit der Vorrichtung geliefertes Tastaturkabel in die Buchse „Keyboard Output to PC" 69 (3) der Hosteinheit gesteckt, und das andere Ende dieses Kabels wird mit dem Tastaturanschluß am Host-PC verbunden. Auf diese Weise werden die Signale der Tastatur durch die Hosteinheit zum Host-PC geführt, was es der Hosteinheit ermöglicht, die Signale der Host-Tastatur zu unterbrechen und die Tastatureingabe umzuleiten, um statt der Tastatur des Host-PCs die des Fern-PCs zu benutzen. Daher wird die Dateneingabe durch die Tastatur 4 und die Steuerung des Host-PCs durch einen Fern-PC vereinfacht, wenn am Host-PC keine Tastatur 11 vorhanden ist. Was die Tastatur 4 des Fern-PCs anbetrifft, wird während des Zugriffs des Fern-PCs 2 auf eine Hosteinheit auch die Tastatureingabe des Fern-PCs durch ein Softwareprogramm erfaßt, das auf dem Fern-PC ausgeführt wird und mit der Ausrüstung geliefert wird, und aus dem Fern-PC zur Hosteinheit 8 umgeleitet, um über ein Modem (5 bis 7) oder eine Direktleitungsverbindung (2 bis 8) in den Host-PC 10 eingegeben zu werden.
  • Ähnlich wie das Tastaturkabel wird auch das Bildschirmkabel vom Bildschirmgerät 9 des Host-PCs aus der Bildschirmkarte des Host-PCs ausgesteckt und entweder in die 15-Pin-Buchse „VGA Out" 64 (3) oder in die 9-Pin-Buchse „Video Out" 66 (3) der Hosteinheit 8 gesteckt, je nach Pinzahl am Stecker des Bildschirmgerätekabels. Dann wird das jeweilige 9-Pin- oder 15-Pin-Videokabel, das mit der Vorrichtung geliefert wird, in die geeignete 15-Pin-Buchse „VGA In" 65 (3) oder in die 9-Pin-Buchse „Video In" 67 (3) der Hosteinheit 8 gesteckt, und das andere Ende des Kabels wird mit der Bildschirmkarte 9 des Host-PCs verbunden. Diese Konfiguration ermöglicht, daß die Ausgabesignale der das Bildschirmkarte 9 des Host-PCs, einschließlich der Videorastersignale, durch die Hosteinheit 8 geführt werden, so daß die Hosteinheit auf die Signale zugreifen, sie abtasten und zu Bitbildern, einfarbigen oder farbigen Textdaten decodieren kann und auch die jüngsten Daten speichern kann (je nach interner Speicherkapazität der Hosteinheit), um diese auf Anforderung an einen Fern-PC zu übertragen.
  • Ein serielles Kabel kann von einer der Kommunikationsschnittstellen des Host-PCs mit der Buchse „Serial" 72 (3) der Hosteinheit 8 verbunden werden. Dies erlaubt Dateiübertragungen zwischen einem Massenspeichergerät eines Fern-PCs 2 und dem Host-PC 10. Dieser Anschluß ermöglicht auch, daß Daten von der Maus 4A eines Fern-PCs über die serielle Schnittstelle 72 (3) der Hosteinheit zum seriellen Schnittstellenanschluß des Host-PCs übertragen werden. Die Eingabe der Maus 4A eines Fern-PCs wird von einer (mit der Vorrichtung gelieferten) Software erfaßt, die auf dem Fern-PC ausgeführt wird, und aus dem Fern-PC 2 zur Hosteinheit 8 umgeleitet, um in den Host-PC 10 eingegeben zu werden.
  • Wenn eine Hosteinheit 8 an einen Host-PC 10 angeschlossen wird, wird die serielle Maus 11A (falls vorhanden) des Host-PCs von der seriellen Schnittstelle des Host-PCs getrennt und in eine Buchse „Mouse" 73 (3) an der Hosteinheit gesteckt. Dadurch können die Signale der Maus 11A über die serielle Schnittstelle 72 (3) der Hosteinheit 8 durch die Hosteinheit zum Host-PC geleitet werden. Dieser Ansatz ermöglicht der Hosteinheit 8, die Eingabesignale der Maus 11A des Host-PCs zu unterbrechen und die Mauseingabesignale so umzuleiten, daß statt der Maus 11A des Host-PCs die Maus 4A des Fern-PCs benutzt wird. Daher wird die Dateneingabe mit der Maus 4A und die Steuerung des Host-PCs durch einen Fern-PC vereinfacht, wenn am Host-PC keine Maus 11A vorhanden ist. Eine Mausschnittstelle kann an jeder Hosteinheit in einer Verkettung (z.B. Hosteinheit 01 13, die Einheit .. 18 usw.) vorhanden sein.
  • Ein Mikroprozessor und eine Software in jeder Hosteinheit 8, 13, 19 einer Verkettung sucht nach Kommunikationsdatenpaketen, die von einem Fern-PC gesendet wurden und an die Hosteinheit mit der entsprechenden Identifikationsnummer adressiert sind. Der Code, der im empfangenen Datenpaket enthalten ist, definiert die Art der Verarbeitungsanforderung eines Fern-PCs. Zum Beispiel kann ein Datenpaket einen Code enthalten, der von der Hosteinheit anfordert, zu prüfen, ob ein im Paket enthaltenes Kennwort richtig ist. Wenn das Kennwort richtig ist, sendet die Hosteinheit ein Datenpaket an den Fern-PC zurück, mit einem Code, der besagt, daß das Kennwort richtig ist. Sonst wird ein Datenpaket mit einem Code an den Fern-PC gesendet, der besagt, daß das Kennwort falsch ist. Ähnliche Anforderungs- und Antwortdatenpakete werden für die übrigen Funktionen des Systems über die Kommunikationsschnittstellen gesendet.
  • Auch ein zweiter Mikroprozessor mit Speicher und Software ist in jeder Hosteinheit vorhanden. Der Hauptzweck dieses Mikroprozessors und der zugehörigen Betriebssystemsoftware ist die Erfassung, Decodierung, Speicherung und Übertragung der Bildschirmkartendaten des jeweiligen Host-PCs an einen Fern-PC. Obwohl das vorzugsweise Ausführungsbeispiel der Erfindung zwei Mikroprozessoren aufweist, um die Videoanalyse und die Kommunikation durchzuführen, wird berücksichtigt, daß diese Funktionen auch von einem einzigen Mikroprozessor ausgeführt werden können, der genug Rechenleistung aufweist, um beide Vorgänge durchzuführen. Insbesondere der ständige Fortschritt der Mikroprozessortechnologie könnte die Entwicklung eines Einzelprozessorsystems ermöglichen, was zur Erhöhung der Zuverlässigkeit und zu Kostensenkungen führen würde.
  • Das Hostsystem 01 12 und das Hostsystem .. 17 zeigen Beispiele, wie andere Hosteinheit/Host-PC-Konfigurationen an einem Ort verkettet werden können, so daß ein Fern-PC mit einer Modem- oder Direktleitungsverbindung in der Lage ist, während einer einzigen Kommunikationssitzung zwischen mehreren Hosteinheiten zu wechseln. Die Kennung „.." in „Hosteinheit.." und „Hostsystem.." in 1 zeigt an, daß eine oder mehrere zusätzliche Hosteinheiten in einer Verkettung vorhanden sein können. Die Höchstzahl der Hosteinheiten hängt von der verfügbaren Bitzahl ab, die für jede Hosteinheitsadresse verwendet wird, und das vorzugsweise Ausführungsbeispiel unterstützt bis zu 64 Hosteinheiten an jeder Hostsite. Diese anderen Hostsystemkonfigurationen sind auf gleiche Weise an ihre jeweiligen Host-PCs angeschlossen wie oben für die Hosteinheit 00 8 beschrieben. D.h., die Hosteinheit 01 13 und die Hosteinheit .. 18 sind jeweils wie oben für die Hosteinheit 00 8 beschrieben an das Bildschirmgerät 15, 19 den Host-PC 16, 20 und die Tastatur 17, 21 angeschlossen, mit der Ausnahme, daß die letzte Hosteinheit in der Verkettung kein Verkettungskabel hat, das mit der Buchse „Data Out" 71 (3) der Hosteinheit verbunden ist. Die auf einem Fern-PC installierte Software (die mit der Ausrüstung geliefert wird) ermöglicht einem Fern-PC, auf mehr als eine Hostsite zuzugreifen, doch muß der Zugriff auf eine Hostsite erst beendet werden, bevor auf eine andere Hostsite zugegriffen werden kann (d.h., es kann nur auf eine Hostsite auf einmal zugegriffen werden).
  • 2 zeigt eine Vorderansicht einer Hosteinheit. Die Frontplatte der Hosteinheit umfaßt fünf Zustandsanzeigelampen 50-54 und einen Impulsschalter 55. Alle fünf Anzeigelampen sind aus, bis der Ein-/Ausschalter auf der Rückseite der Hosteinheit eingeschaltet wird. Die Funktion jeder dieser fünf Anzeigelampen wird im folgenden von links nach rechts ausführlich wie folgt beschrieben:
    „AC Power" (Stromversorgung) 50 – Diese Lampe zeigt an, daß der Ein-/Ausschalter der Hosteinheit in der Stellung „An" ist und die Hosteinheit mit Strom versorgt wird.
    „Keyboard Local" (lokale Tastatur) 51 – Diese Lampe zeigt an, daß die an die Hosteinheit angeschlossene Tastatur/Maus verfügbar ist und benutzt werden kann.
    „Keyboard Remote" (Ferntastatur) 52 – Diese Lampe zeigt an, daß ein Fernbenutzer auf die Hosteinheit zugreift. Wenn die Lampe blinkt, bedeutet dies, daß ein Fernbenutzer im Begriff ist, sich mit der Hosteinheit zu verbinden, oder daß die Übernahme der Tastatur und/oder Maus zuvor von einem Benutzer des Host-PCs gesperrt wurde. Wenn die Lampe AN ist, bedeutet dies, daß ein Fernbenutzer die Tastatur und/oder Maus des Host-PCs übernommen hat.
    „Daisy Chain" (Verkettung) 53 – Diese Lampe blinkt gegenwärtig periodisch, um anzuzeigen, daß ein Fernbenutzer mit einer der Hosteinheiten der Verkettung verbunden ist. Wenn kein Fernbenutzer auf eine Hosteinheit in der Verkettung zugreift, ist die Lampe aus.
    „Setup-Mode" (Setupmodus) 54 – Diese Lampe blinkt während des anfänglichen Trainings oder bei der Neukonfiguration der Hosteinheit, um anzuzeigen, daß die Hosteinheit korrekt an den Host-PC angeschlossen ist. Diese Lampe blinkt auch, wenn zwischen einem Fern-PC und einem Host-PC Dateiübertragungen stattfinden.
  • Wenn jemand die Tastatur und/oder Maus eines Host-PCs benutzt, während ein Fern-PC versucht, den Host-PC zu übernehmen, kann der Benutzer des Host-PCs auf Wunsch die Kontrolle über die Tastatur und/oder Maus des Host-PCs behalten, indem er den Aktionsschalter 55 drückt. Nur ein Benutzer auf einmal kann die Kontrolle über die Tastatur und/oder Maus des Host-PCs haben. In Konfliktfällen hat der Benutzer an der Hostsite die letzte Entscheidung darüber, wer die Kontrolle über die Tastatur und/oder Maus des Hostsystems hat. Die Kontrolle kann durch Drücken des Aktionsschalters 55 abgegeben und übernommen werden. Unabhängig davon, wer gerade die Kontrolle über die Tastatur und/oder Maus des Hostsystems hat, ist ein Fernbenutzer nach erfolgreicher Verbindung mit einer Hosteinheit in der Lage, den Bildschirm des Host-PCs an seinem Fern-PC zu betrachten. Dieser Bildschirmzugriff kann vom Hostbenutzer verhindert werden, indem er den Ein-/Ausschalter an der Hosteinheit ausschaltet.
  • Wie oben erwähnt, zeigt die Lampe „Keyboard Remote" 52 auf der Vorderseite der Hosteinheit an, daß ein Fernbenutzer auf die Hosteinheit zugreift. Wenn die Lampe blinkt, bedeutet dies zunächst, daß ein Fern-PC im Begriff ist, auf die Hosteinheit zuzugreifen, oder daß der Benutzer am Host-PC die Übernahme der Tastatur des Host-PCs zuvor gesperrt hat. Wenn die Lampe AN ist, bedeutet dies, daß ein Fernbenutzer die Tastatur und/oder Maus des Host-PCs übernommen hat. Wenn ein Fernbenutzer anfangs versucht, einen Host-PC zu übernehmen, wird ein kurzer akustischer Alarm von einem Lautsprecher (nicht gezeigt) in der Hosteinheit erzeugt, um jeden an der Hostsite zu warnen, daß die Tastatur und/oder Maus an der Hosteinheit im Begriff ist, von einem Fern-PC übernommen zu werden.
  • Während die Lampe „Keyboard Remote" 52 blinkt, kann ein anderer Benutzer am Host-PC den Aktionsschalter 55 auf der Frontplatte drücken, um zu verhindern, daß ein Fern-PC die Tastatur und/oder Maus des Host-PCs übernimmt. Wenn der Aktionsschalter 55 zu diesem Zweck betätigt wird, blinkt die Lampe „Keyboard Remote" 52 weiter und der Fernbenutzer wird daran gehindert, die Tastatur und/oder Maus des Host-PCs zu übernehmen, bis der Aktionsschalter 55 erneut gedrückt wird oder der Fernbenutzer die Verbindung trennt und sie zu einem späterem Zeitpunkt wieder aufbaut. Wenn der Fernbenutzer die Verbindung trennt, während die Lampe „Keyboard Remote" 52 blinkt, erlischt die Anzeigelampe automatisch. Wenn der Zugriff eines Fernbenutzers auf die Tastatur und/oder Maus einer Hosteinheit gesperrt wird, erscheint während des Verbindungsvorgangs eine Warnmeldung auf seinem Bildschirm (am Fern-PC). Selbst wenn ein Fernbenutzer von einer Person an der Hosteinheit gehindert wird, auf die Tastatur und/oder Maus zuzugreifen, ist der Fernbenutzer dennoch in der Lage, jede Bildschirmaktivität auf dem Host-PC zu überwachen. Sobald ein Benutzer eine Hosttastatur übernommen hat, bleibt die Anzeigelampe „Keyboard Remote" 52 an. Die Berechtigung des Fernbenutzers, die Tastatur und Maus des Host-PC weiter zu benutzen, kann jederzeit durch Drücken des Aktionsschalters 55 auf der Vorderseite der Hosteinheit widerrufen werden, wonach die Anzeigelampe „Keyboard Remote" 52 blinkt, bis der Fernbenutzer die Verbindung zur Hosteinheit trennt. Dann bleibt der Fernbenutzer gesperrt, bis der Impulsschalter 55 erneut gedrückt wird oder der Fernbenutzer die Verbindung beendet und sie zu einem späteren Zeitpunkt wieder aufbaut.
  • Falls ein Fernbenutzer wünscht, auf eine Weise auf eine Hosteinheit zuzugreifen, die vom Benutzer des Host-PCs nicht leicht zu erkennen ist (nachstehend „heimlicher Modus" genannt), kann die Ausführung der Hosteinheit nur die Lampen „AC Power" 50 und „Setup Mode" 54 umfassen, und keinen akustischen Alarm. In diesen Fällen greift der Fernbenutzer in einem „Nur Betrachten"-Modus auf die Hosteinheit zu, wie unten in der Erläuterung zu 5B ausführlicher beschrieben. Diese Ausführung kann zum Beispiel verwendet werden, wenn ein Arbeitgeber die Nutzung eines Host-PCs einen Angestellten auf diskrete Weise aus der Ferne zu überwachen wünscht.
  • 3 zeigt die gegenwärtige Rückansicht der Hosteinheit. Es hätten verschiedene andere Schnittstellenkabel, Adapter und Steckverbinder verwendet werden können, um die Hosteinheit mit dem Host-PC, Modem (Modemverbindungsmodus), Fern-PC (Direktleitungsverbindungsmodus) und/oder einer anderen Hosteinheit in der Verkettung zu verbinden. Zum Beispiel hätte anstelle der RJ-12-Buchse, die gegenwärtig verwendet wird, um den seriellen Ausgang der Hosteinheit mit dem seriellen Eingang des Host-PCs zu verbinden, eine 25-Pin-Buchse und ein Parallelschnittstellenkabel von der Hosteinheit zu einer der Parallelschnittstellen des Host-PCs verwendet werden können. Als zweites Beispiel hätten statt der RJ-12-Buchsen standardmäßige serielle Kabel und serielle Buchsen verwendet werden können, um die Hosteinheit mit einem Modem/Fern-PC zu verbinden und die Hosteinheiten in einer Verkettung miteinander zu verbinden. Diese alternativen Kabel, Stecker und Buchsen sind dem Fachmann vertraut und beeinflussen die Arbeitsweise der Vorrichtung nicht wesentlich.
  • Die Rückseite der Hosteinheit umfaßt gegenwärtig Buchsen für den Anschluß des Stromkabels, mehrere RJ-12-Buchsen für die Datenübertragungskabel, mehrere Buchsen für den Anschluß der Videokabel, Tastaturschnittstellen, optionale Mausschnittstellen und eine vom Benutzer austauschbare Sicherung mit einer Anzeigelampe, die leuchtet, wenn die Sicherung durchgebrannt ist. Jedes Element auf der Rückseite wird in folgenden von links nach rechts gehend ausführlich wie folgt beschrieben:
    EIN-/AUS-Schalter 60 – Der Ein-/Ausschalter 60 wird verwendet, um die Stromzufuhr zur Hosteinheit zu unterbrechen. Sein Ein- und Ausschalten steuert nur die Stromzufuhr zu den internen Schaltungen der Hosteinheit und hat keinen Einfluß auf die Stromversorgung des Host-PCs.
    „AC Power" (Stromversorgung) 61 – Das eine bzw. weibliche Ende des Stromkabels, das normalerweise mit dem Host-PC verbunden wird, um Strom zuzuführen, wird in diese Buchse gesteckt, und das andere dreiklauige männliche Ende wird in eine Wechselstromquelle wie z.B. eine Wandsteckdose oder in eine Netzausfallreserve mit Batterie gesteckt. Dieses Kabel versorgt dann die Hosteinheit mit Wechselstrom.
    „AC To PC" (Stromversorgung zum PC) 62 – Ein Ende des Stromkabels, das mit der Vorrichtung geliefert wird, wird in diese Buchse gesteckt, und das andere Ende dieses Stromkabels wird in den Stromkabelanschluß am Host-PC gesteckt, so daß die Stromversorgung des Host-PCs von der Hosteinheit abhängt. Dieser Ansatz erlaubt der Hosteinheit, einer Anforderung nach Neustart des Host-PCs zu entsprechen, indem sie Stromzufuhr zum Host-PC kurzzeitig unterbricht. Der Strom kann für jede geeignete Zeit unterbrochen werden, um dem Host-PC einen korrekten Neustart zu ermöglichen, zum Beispiel von etwa 1 bis 30 Sekunden. Im vorzugsweisen Ausführungsbeispiel entspricht diese Zeit etwa 15 Sekunden.
    „Fuse" (Sicherung) 63 – Das System verwendet eine vom Benutzer austauschbare 5 Ampere/250 Volt-Sicherung auf der Rückseite, mit einer Anzeigelampe, die aufleuchtet, wenn die Sicherung durchgebrannt ist. Wenn die Sicherung durchgebrannt ist, ist die Stromzufuhr zum Host-PC unterbrochen.
    „Fuse light" (Sicherungslampe) 63A – Wenn Wechselstrom an der Hosteinheit anliegt und die Sicherung 63 durchgebrannt ist, ist diese Anzeigelampe AN.
    „VGA Out" (VGA-Ausgang) 64 – Bei Host-PCs mit einer VGA-Bildschirmkarte wird der 15-Pin-Stecker am Ende des Bildschirmgerätekabels des Host-PCs in diese Buchse gesteckt. Das Signal, das über die Buchse „VGA In" 65 von der Bildschirmkarte des Host-PCs empfangen wird, kann durch diese Buchse zum Bildschirmgerät des Host-PCs ausgeleitet werden.
    „VGA In" (VGA-Eingang) 65 – Bei Host-PCs mit einer VGA-Bildschirmkarte wird ein Ende des VGA-Videoschnittstellenkabels (das mit der Vorrichtung geliefert wird), das 15-Pin-Stecker an beiden Enden aufweist, in diese Buchse gesteckt, und das andere Kabelende wird in den Anschluß der Bildschirmkarte des Host-PCs gesteckt. Diese Kabelschnittstelle erlaubt der Hosteinheit, das Videoausgabesignal von der Bildschirmkarte des Host-PCs zu erfassen und das Signal durch die Buchse „VGA Out" 64 zum Bildschirmgerät des Host-PCs auszuleiten.
    „Video Out" (Videoausgang) 66 – Bei Host-PCs mit anderen Bildschirmkarten als VGA wird der 9-Pin-Stecker am Ende des Bildschirmgerätekabels des Host-PCs in diese Buchse gesteckt. Das Signal, das durch die Buchse „Video In" 67 von der Bildschirmkarte des Host-PCs empfangen wird, kann durch diese Buchse zum Bildschirmgerät des Host-PCs ausgeleitet werden.
    „Video In" (Videoeingang) 67 – Bei Host-PCs mit anderen Bildschirmkarten als VGA wird das weibliche Ende des 9-Pin-Videoschnittstellenkabels (das mit der Vorrichtung geliefert wird), das ein weibliches und ein männliches Ende aufweist, in diese Buchse gesteckt, und das männliche Kabelende wird in den Anschluß der Bildschirmkarte des Host-PCs gesteckt. Diese Kabelschnittstelle erlaubt der Hosteinheit, das Videoausgabesignal von der Bildschirmkarte des Host-PCs zu erfassen und das Signal durch die Buchse „Video Out" 66 zum Bildschirmgerät des Host-PCs auszuleiten.
    „Keyboard Input from KB" (Tastatureingabe von der Tastatur) 68 – Das Tastaturkabel des Host-PCs wird in diese Buchse gesteckt, statt in den Tastaturanschluß des PCs. Dies erlaubt der Hosteinheit, die Eingabe von der Hosttastatur zum Host-PC nach Bedarf durchzulassen oder zu sperren.
    „Keyboard Output to PC" (Tastaturausgabe an PC) 69 – Ein Ende des Tastaturschnittstellenkabels (das mit der Vorrichtung geliefert wird), das zwei männliche Enden aufweist, wird in diese Buchse gesteckt, und das andere Ende des Kabels wird in den Tastaturanschluß des Host-PCs gesteckt. Diese Buchse wird von der Hosteinheit benutzt, um die Tastatureingabe von der Tastatur des Fern-PCs oder des Host-PCs zum Host-PC zu leiten.
    „Data In" (Dateneingang) 70 – Ein Ende des telefonkabelartigen (6-adrigen) RJ-12-Kabels (das mit der Vorrichtung geliefert wird) wird in diese Buchse gesteckt, und der RJ-12-Stecker am anderen Ende des Kabels wird mit der Buchse „Data Out" 71 einer anderen Hosteinheit verbunden, oder entweder mit (1) einem externen, autonomen, Hayeskompatiblen Modem im Modemverbindungsmodus oder (2) mit der Datenübertragungsschnittstelle eines Fern-PCs im Direktleitungsverbindungsmodus. Wenn eine Hosteinheit über eine Verkettung mit einer anderen Hosteinheit verbunden wird, muß mindestens eine der Hosteinheiten in der Verkettung an ein Modem (Modemverbindungsmodus) oder direkt an einen Fern-PC (Direktleitungsverbindungsmodus) angeschlossen sein. Der Anschluß des Modems wird erreicht, indem das offene Ende des Telefonkabels in den (mit der Vorrichtung gelieferten) männlichen 9-Pin-Adapter gesteckt wird, der dann mit der Datenschnittstelle des Modems verbunden wird. Wenn das Modem eine andere Buchse als eine weibliche mit 9-Pins hat, müssen Steckadapter und/oder 9/25 Pin-Adapter (für die Vorrichtung verfügbar) verwendet werden, um den Anschluß der Hosteinheit an das Modem zu ermöglichen. Die Direktleitungsverbindung mit einem Fern-PC kann erreicht werden, indem das offene Ende des Telefonkabels in den weiblichen 9-Pin-Steckadapter (mit der Vorrichtung geliefert) gesteckt wird, der dann in die Datenschnittstelle des Fern-PCs gesteckt wird. Wenn der Fern-PC einen anderen Datenschnittstellenanschluß als einen männlichen mit 9-Pins hat, müssen Steckadapter und/oder 9/25 Pin-Adapter (für die Vorrichtung verfügbar) verwendet werden, um den Anschluß der Hosteinheit an den Fern-PC zu ermöglichen.
    „Data Out" (Datenausgang) 71 – Ein Ende des telefonkabelartigen (6-adrigen) RJ-12-Kabels (das mit der Vorrichtung geliefert wird) wird in diese Buchse gesteckt, und das andere Ende des RJ-12-Kabels wird in die Buchse „Data In" 70 einer anderen Hosteinheit gesteckt. Wenn es sich um die letzte Hosteinheit in einer Verkettung handelt, wird kein Kabel in diese Buchse gesteckt. Wenn eine Hosteinheit mit einer anderen Hosteinheit verbunden wird, muß mindestens eine der Hosteinheiten in der Verkettung an ein Modem beim Modemverbindungsmodus oder an einen Fern-PC beim Direktleitungsverbindungsmodus angeschlossen sein (wie oben für die Buchse „Data In" 70 beschrieben). Die Buchsen „Data In" 70 und „Data Out" 71 werden auch verwendet, um Datenpakete zwischen einer ausgewählten Hosteinheit und einem Fern-PC zu übertragen.
    „Serial" (Serielle Schnittstelle) 72 – Ein Ende eines RJ-12-Kabels, das mit der Vorrichtung geliefert wird, wird in diese Buchse gesteckt, und das andere Ende des RJ-12-Kabels wird in eine serielle Schnittstelle des Host-PCs gesteckt, mit Hilfe eines entsprechenden Adapters, der mit der Vorrichtung geliefert wird. Die Datenübertragung zwischen dem Host-PC und dem Fern-PC erfolgt über diese Buchse „Serial" 72. Gegenwärtig verwendet die Vorrichtung die serielle Datenübertragung, doch die Übertragung ist auch über die Parallelschnittstelle des Host-PCs möglich.
    „Mouse" (Maus) 73 – Das Kabel der seriellen Maus des Host-PCs in die männliche Buchse „Mouse" 73 gesteckt, statt mit der seriellen Schnittstelle des Host-PCs verbunden zu werden. Dies erlaubt der Hosteinheit, die Eingabe der Host-Maus je nach Bedarf zum Host-PC durchzulassen oder zu sperren.
    „Aux" (AUX-Anschluß) 74 – Zusatzgeräte können an dieser Buchse angeschlossen werden, die gegenwärtig eine RJ-12-Buchse ist, und diese Buchse erlaubt den bidirektionalen Datenaustausch zwischen dem Gerät und der Hosteinheit. Spezifische Verwendungen für diesen Anschluß werden später erläutert.
  • Auf der Seite der Hosteinheit sind acht DIP-Schalter vorgesehen (nicht gezeigt). Die ersten 6 linken DIP-Schalter zeigen die Identifikationsnummer der Hosteinheit an. Wenn diese 6 DIP-Schalter in der unteren Position sind, ist die Hosteinheit direkt an ein Modem (Modemverbindungsmodus) oder an einen Fern-PC (Direktleitungsverbindungsmodus) angeschlossen. Sonst, wenn die Hosteinheit mit anderen Hosteinheiten verkettet ist, muß jeder Hosteinheit in der Verkettung vom Benutzer eine einmalige DIP-Schalterstellung zugewiesen werden, die einer Adresse von 1 bis 63 entspricht. Dadurch können nur maximal 64 Hosteinheiten an einer Hostsite verkettet werden. Wie oben erwähnt, kann die Zahl der DIP-Schalter erhöht werden, um die Verkettung zusätzlicher Hosteinheiten zu ermöglichen. Gegenwärtig stellen die 6 DIP-Schalterstellungen Binärwerte dar, die von links nach rechts gelesen werden. Demgemäß ist die Identifikationsnummer der Hosteinheit 1, wenn nur der ganz linke DIP-Schalter in der oberen Stellung ist. Wenn die ersten zwei linken DIP-Schalter in der oberen Stellung sind, ist die Identifikationsnummer der Hosteinheit 3 (d.h. 1 + 2) und so weiter. Für den Fernzugriff auf eine Hosteinheit muß die Identifikationsnummer der Hosteinheit im Anrufverzeichnis des Fern-PCs korrekt definiert sein, wie unten in der Erläuterung zu 7 beschrieben.
  • Der siebte und achte DIP-Schalter sind für die Schaltungen der Hosteinheit verfügbar. Der siebte DIP-Schalter ist gegenwärtig unbelegt. Der achte DIP-Schalter wird gegenwärtig für VGA-Bildschirmkarten benutzt, um einzustellen, ob an der Buchse „VGA Out" 64 der Hosteinheit ein monochromer Bildschirm (DIP-Schalter in der oberen Stellung) oder ein Farbbildschirm (DIP-Schalter in der unteren Stellung) angeschlossen ist.
  • 4A bis 4P zeigen allgemeine Funktionsdiagramme der internen Schaltungen der Hosteinheit. 4A ist eine Übersicht der Schaltungen der Hosteinheit. Die Hosteinheit umfaßt eine Stromversorgung 100, zwei Mikroprozessoren (CPUs) 106, 114 und zugehörige Schaltungen.
  • Die Video-CPU 114 steuert die Videoschaltungen (d.h. Block 110-113 und 115), die Schnittstelle 116 zur Datenschaltung des Host-PCs und die Schnittstelle 117 zur Mausschaltung des Host-PCs. Die Schnittstellen zur Hostdatenschaltung 116 und Mausschaltung 117 verwenden hier den seriellen Schnittstellenanschluß des Host-PCs. Zu diesem Zweck hätten aber auch andere Datenanschlüsse des Host-PCs gewählt werden können, z.B. die Parallelschnittstelle. Die Schnittstelle zur Hostdatenschaltung 116 wird verwendet, um Datenübertragungen zwischen einem Fern-PC und einem Host-PC durchzuführen.
  • Weitere Merkmale, die unten erläutert werden und vom Fachmann in die Gerätesoftware aufgenommen werden können, umfassen die Mausverarbeitungsfähigkeit, das Aufzeichnen eines Host-PC-Bildschirmprotokolls, den Kennwortschutz, die Verarbeitung eines vorläufigen Kennworts, das Hoch- und Herunterladen der Trainingsparameter, den Betrieb eines internen Modems, den Betrieb eines Akustikkopplers und den Betrieb des AUX-Anschlusses.
  • Die Steuer-CPU 106 steuert die Tastaturschaltung 101, die Frontplattenschaltung 102 und die Ferndatenschaltung 103. Die Tastaturschaltung 101 läßt die Tastatursignale des Host-PCs zum Host-PC durch oder leitet alle Tastatursignale von der Tastatur des Host-PCs zur Tastatur eines Fern-PCs um (über die Ferndatenschaltung 103), wenn dies von einem berechtigten Fernbenutzer angefordert wird. Die Frontplattenschaltung steuert die Anzeigelampen und den Impulsschalter, die auf der Frontplatte der Hosteinheit (siehe 2) angeordnet sind, sowie den akustischen Alarm der Hosteinheit. Die Ferndatenschaltung 103 erlaubt den Austausch von Digitaldaten zwischen der Hosteinheit und einem Fern-PC und/oder anderen Hosteinheiten in einer Verkettung. Diese Digitaldaten können mit seriellen RS-232-Datenübertragungssignalen übertragen werden, die dem Fachmann vertraut sind. Diese Digitaldaten können zum Beispiel Videoanzeigedaten umfassen, die von einer Hosteinheit zu einem Fern-PC übertragen werden, Tastatureingabedaten, die vom Fern-PC zu einer Hosteinheit übertragen werden, und Zeichenketten zur Modemeinstellung. Die Steuer-CPU 106 hat auch Zugriff auf die feststehende Seriennummer 104 der Hosteinheit und auf den nicht flüchtigen RAM-Speicher 108 (NV RAM). Der NV RAM 108 wird zum Speichern der kritischen Daten verwendet, die für den Fall gesichert werden müssen, daß die Stromzufuhr zur Hosteinheit unterbrochen wird, wie z.B. die Kennwörter, die für den Zugriff auf die Hosteinheit benötigt werden.
  • Die Steuer-CPU 106 und die Video-CPU 114 sind über einen bidirektionalen Data-Port 107 miteinander verbunden.
  • Gegenwärtig ist die Stromquelle 100 eine lineare Stromversorgung mit Netztransformator, Brückengleichrichter, Filterkondensator und zwei 7805 5 Volt-Spannungsreglern. Der Stromsteuerkreis steuert den Wechselstrom zum Host-PC und umfaßt im diesem Ausführungsbeispiel eine 5 Ampere-Sicherung, ein 5 Ampere-Relais und einen zugehörigen Treibertransistor. Der Treibertransistor wird durch eine Stromverriegelungsschaltung 105 gesteuert, die eine unbeabsichtigte Aktivierung dieser Schaltung verhindert, was zur kurzzeitigen Unterbrechung der Stromversorgung des Host-PCs führen würde.
  • Die Tastaturschaltung 101 ist über eine Schnittstelle mit dem Host-PC und seiner Tastatur verbunden. Wie in 4B gezeigt, weisen die Hosttastatursignale 122 zwei Primärleitungen auf: CLOCK (Takt) und DATA (Daten), die den bidirektionalen Datenaustausch zwischen der Tastatur und dem Host-PC 120 ermöglichen. Die Symbole, die in 4B zur Kennzeichnung der Schalter, der Zahl der Leitungen usw. verwendet werden, sind dem Fachmann vertraut. Wenn kein Fernzugriff auf die Hosteinheit erfolgt (d.h., im normalen lokalen Betriebmodus), werden die Tastatursignale des Host-PCs direkt zum Tastaturanschluß des Host-PCs geleitet, der als Block 121 dargestellt ist. Im Fernmodus (d.h., wenn ein Fernbenutzer die Kontrolle über die Tastatureingabe des Host-PCs übernommen hat), bewirkt die Steuer-CPU 106, daß die Schaltung 121 die Tastatur 120 des Host-PCs trennt, und daß der Host-PC seine Tastatursignale über die 123, 124, 125 von der Steuer-CPU empfängt. Die zwei Tastatursignale „Takt" und „Daten" (5 Volt Nennspannung, mit Pull-up-Widerständen) durchlaufen eine E/A-Schaltung 124 und 125, die diese auf die Ein- und Ausgangsleitungen für jedes Signal verteilt und in Block 127 detaillierter dargestellt ist. Diese Schaltung umfaßt ein Gatter 142 mit einem potentialfreiem Ausgang und einen Pull-up-Widerstand 141 (mit einem Nennwert von 2,2 K). Dies ermöglicht der Hosteinheit, ein Tastatursignal zu emulieren. 143 und 144 veranschaulichen, wie die Takt- und Datensignale auf die Ein- und Ausgangsleitungen verteilt werden, die mit der Steuer-CPU verbunden sind.
  • Die Mausschaltung 117 (4A) wird im Block 131 von 4B detaillierter dargestellt. Im lokalen Modus werden die seriellen Maussignale 132, die ein RS-232C-Protokoll verwenden können, von der Mausschnittstelle (siehe 73 in 3) direkt zum seriellen Ausgang (siehe 72 in 3) der Hosteinheit und zur seriellen Schnittstelle 130 des Host-PCs durchgelassen, wie gezeigt. Im Fernmodus aktiviert die Video-CPU 114 der Hosteinheit einen Schalter, so daß nur die Mauseingabedaten, die vom Fern-PC 133 empfangen werden, zur seriellen Schnittstelle des Host-PCs durchgelassen werden. Zudem erfüllt dieser Anschluß auch einem anderen Zweck. Er erlaubt auch die Dateiübertragung zwischen dem Host-PC und dem Fern-PC. Die Entscheidung darüber, ob Mausdaten oder Da teien übertragen werden sollen, wird vom Softwarebetriebssystem auf dem Fern- und/oder Host-PC gefällt. Der Host-PC behandelt jede serielle Eingabe als Mausdaten, solange kein spezielles Softwareprogramm, das mit der Vorrichtung geliefert wird, auf dem Host-PC aktiviert wird (über Tastaturbefehle vom Fern-PC aus), das den Host-PC veranlaßt, die seriellen Eingabedaten als Dateiübertragung statt als Mauseingabedaten zu behandeln. Wenn die Verarbeitung dieser Software beendet ist, behandelt der Host-PC jede nachfolgende serielle Eingabe wieder als Mausdaten.
  • Hosteinheiten können miteinander verkettet werden, durch ein spezielles Kabel, das alle Hosteinheiten miteinander verbindet. Ein Modem (oder eine primäre serielle Datenleitung) wird mit der Buchse „Data In" der Hosteinheit Nummer 00 verbunden, und die Buchse „Data Out" dieser Hosteinheit kann dann mit der Buchse „Data In" einer anderen Hosteinheit verbunden werden, wie oben in der Erläuterung zu 1 beschrieben.
  • Die Steuer-CPU 106 umfaßt einen 80C32-Mikroprozessor, 32K RAM-Speicher und 32K EPROM-Speicher, doch für diese Erfindung kann jeder Mikroprozessor und jede Speichergröße verwendet werden. Der EPROM-Speicher enthält die Betriebssystemsoftware für diese CPU. Die Steuer-CPU 106 hat auch Zugriff auf einen DIP-Schalter mit 8 Stellungen. Wie oben erwähnt, legt dieser DIP-Schalter die Identifikationsnummer der Hosteinheit fest. Diese Nummer oder Adresse wird verwendet, um einem Fern-PC den Zugriff auf eine bestimmte Hosteinheit in einer Verkettung zu erlauben, und die Adressen können vom Benutzer festgelegt werden. Doch die Hosteinheitsnummer 00 ist speziell und verlangt, daß ein Hayes-kompatibles Modem oder eine Direktleitung mit dem Dateneingang (siehe 70 in 3) verbunden wird.
  • Wie in 4C gezeigt, ermöglicht die Ferndatenschaltung 103 den Zugriff auf die Hosteinheit. Die vom Fern-PC 150 kommenden Daten werden elektrisch vom Dateneingang zum Datenausgang jeder Hosteinheit 151, 152, 153 in einer Verkettung durchgeleitet. Die Steuer-CPU 151A, 152A, 153A jeder Hosteinheit empfängt alle Daten, die vom Fern-PC 150 auf einer Empfangsleitung 155 durch die Verkettung geleitet werden.
  • Daten von Hosteinheiten zu einem Fern-PC werden über eine separate Sendeleitung 156 übertragen, die von der Empfangsleitung 155 getrennt ist. Wenn kein Zugriff auf eine Hosteinheit in einer Verkettung erfolgt, ist keine der Hosteinheiten elektrisch mit der Sendeleitung 156 verbunden. Doch wenn ein Fern-PC über die Empfangsleitung 155 auf eine Hosteinheit zugreift, wird diese Hosteinheit durch ein Relais 151B, 152B, 153B elektrisch mit der Sendeleitung 156 verbunden, um den bidirektionalen Datenaustausch zwischen der Hosteinheit und dem Fern-PC zu ermöglichen.
  • Die Stromversorgung des Host-PCs wird durch eine Stromverriegelungsschaltung 105 (4A) gesteuert. Diese Schaltung stellt sicher, daß ein beabsichtigter Datentransfer erfolgt, bevor die Stromversorgung des Host-PCs vom Stromsteuerkreis 100 kurzzeitig unterbrochen wird. Diese „Verriegelungsschaltung" verlangt, daß nicht nur eine spezifische Reihe von Werten geschrieben wird, sondern auch an spezifischen Port-Adressen, und beim Schreiben muß ein bestimmter Bitwert korrekt sein, bevor die Hosteinheit die Unterbrechung der Stromzufuhr zum Host-PC zuläßt. Diese Stromverriegelungsschaltung, sowie die Videoverarbeitungsschaltungen, die unten beschrieben werden, verwenden für die Verarbeitung beide eine zyklische Blockprüfungsfunktion (CRC), die dem Fachmann vertraut ist.
  • Wie in 4D gezeigt, ist die CRC ein gängiges Verfahren, daß zur Erzeugung von Pseudozufallszahlen verwendet wird, und um lange Datenströme zu kleineren Prüfsummen (1, 2 oder mehr Bytes) zu reduzieren. CRC wird typischerweise zur Pseudozufallszahlenerzeugung, Bitstromidentifikation und Bitstromfehlererkennung verwendet.
  • Das CRC-Verfahren basiert auf der Verschiebung der Parität, oder Einzelbitsumme, eines Eingabedatensignals 185 und ausgewählter Bits 178, 179, 181 einer Verschieberegisterausgabe 177. Jedes mal, wenn das Verschieberegister 172 getaktet wird 171, wird ein neues Bit 170 in das Verschieberegister verschoben. Die EXKLUSIVES-ODER-Gatter 180, 182, 184 erzeugen das Paritätssignal. Nach 8 Taktimpulsen weist der neue Wert 177 keinen erkennbaren Bezug mehr zum vorhergehenden Wert auf. Wenn das Eingabebit 185 mit plus festverdrahtet (oder eine logische 1) ist, lassen sich lange Reihen von Pseudozufallswerten erzeugen. Statt diese Eingabe 185 fest zu verdrahten, läßt man das Gatter 184 nor malerweise aus und verbindet das Signal 183 mit 170. Die erzeugten Reihen wiederholen sich alle N Taktzyklen, wobei der theoretische Höchstwert von N bei einem 8 Bit-Verschieberegister 256 ist, und 65.536 bei einem 16 Bit-Verschieberegister. Wenn ein Datenstrom 185 vorhanden ist, wird dieser die Pseudozufallsreihen modifizieren und einen einmaligen Wert in 177 ergeben, der zur Identifizierung des Datenstroms verwendet werden kann. Die speziellen Bits 173, 174, 176 der für die Paritätserzeugung gewählten Verschieberegisterausgabe 177 legen übrigens die erzeugten Pseudozufallszahlenreihen fest. D.h., die Verbindungen 178 und 179 können mit anderen Bits von 177 verbunden werden, zum Beispiel mit dem Ausgabebit 175, und/oder es können mehr Bits mit mehr EXKLUSIVES-ODER-Gattern hinzugefügt werden, wodurch die erzeugten Nummern geändert werden.
  • 4E zeigt ein Diagramm der Stromverriegelungsschaltung. Der CRC-Generator 213 verwendet ein 8 Bit-Verschieberegister und entspricht dem in 4D gezeigten, wobei die Dateneingabe 185 ausgelassen wurde und eine Löscheingabe 212 vorgesehen ist. Diese Löscheingabe setzt den CRC-Wert auf null. Die Stromzufuhr zum Host-PC wird unterbrochen, wenn die Ausgabe 222 der Latch-Schaltung für Bits „AN" ist. Um diese Ausgabe 222 zu setzen, erzeugt die Steuer-CPU (in der gegenwärtigen Ausführung) einen Schreibimpuls an die Latch-Schaltung 221, wenn das Digitalsignal 223 eine eins ist (hoher Pegel). Dieses Signal 223 ist nur dann eine eins (hoher Pegel), wenn die CRC-Werte 196 über die Vergleichsschaltung 198 verglichen wird und dem Wert „128" (hex 80) entspricht, der mit dieser festverdrahtet 197 ist. Das Signal 202 taktet den CRC-Generator 213 nur dann, wenn das Vergleichsausgabesignal 190 eine eins (hoher Pegel) ist. Sonst wird das Signal 202 den CRC-Wert 196 statt dessen auf null setzen. Dies wird durch die Logikgatter 200, 204, 205 erreicht. Wenn eine CRC-Ausgabe 196 in der Vergleichsschaltung 195 mit der Dateneingabe 194 verglichen wird und gleich ist, ist die Ausgabe 190 eine eins (hoher Pegel). Angenommen, der CRC-Wert 196 ist gleich null, dann erreicht der CRC-Generator 213 nach etwa 250 Taktimpulsen 211 „128" (hex 80), wobei der CRC-Generator 213 in dieser Zeit etwa 250 einmalige CRC-Werte 196 erzeugt hat. Damit diese Taktimpulse 211 erzeugt werden, muß der Wert 194 dem aktuellen CRC-Wert 196 für jeden Schreibimpuls 202 entsprechen. Diese Datenbyteeingabe 194 ist aus drei Signalsätzen 191, 192, 193 zusammengesetzt. Die Adreßleitungen 193 lassen diesen Port 194 der Steuer-CPU 106 (4A) als 8 Ausgabekanäle er scheinen. Daher muß die Steuer-CPU das Verriegelungsbit 191 korrekt setzen und einen korrekten Wert 192 an den korrekten Port 193 schreiben (durch Impulse an 202), wobei die Kombination dieser Signale dem aktuellen CRC 196 entsprechen muß, um den CRC-Generator zu takten 211 und den nächsten CRC-Wert zu erhalten. Dies setzt sich fort, bis der CRC-Wert „128" (hex 80) ist, dann gibt die Steuer-CPU den Impuls 220 aus. Die Wahl von 191, 192, 193 gewährleistet, daß die Stromversorgung des Host-PCs bei einem Verarbeitungsfehler der Steuer-CPU nicht unbeabsichtigt unterbrochen wird.
  • Die obige Schaltung wird im vorzugsweisen Ausführungsbeispiel der vorliegenden Erfindung verwendet, um sicherzustellen, daß die Stromzufuhr zum Host-PC nicht unterbrochen wird, außer wenn dies von einem Benutzer angefordert wird. Wenn solche Vorkehrungen nicht notwendig sind, kann ein einfacherer Stromsteuerkreis verwendet werden, zum Beispiel, um die Gesamtkosten des Systems zu senken. Diese Schaltung kann zum Beispiel nur verlangen, daß die Steuer-CPU 106 ein Stromunterbrechungsbefehlsbyte vom Fernbenutzer erhält. Weitere Beispiele für weniger komplex aufgebaute Stromsteuerkreise sind für den Fachmann aufgrund der obigen Erläuterung leicht zu ersehen.
  • Die Steuer-CPU 106 hat Zugriff auf ein Seriennummerngerät 104. Dieses versieht die Hosteinheit mit einer einmaligen Hardwareseriennummer. Das vorzugsweise Ausführungsbeispiel der vorliegenden Erfindung verwendet ein DALLAS DS2401- Bauteil, das mit einer vorprogrammierten, einmaligen Seriennummer geliefert wird. Natürlich können auch andere geeignete Mittel verwendet werden, um die Hardwareseriennummer für jede Hosteinheit zu speichern. Die Hosteinheit umfaßt auch 2 K nicht flüchtigen RAM-Speicher 108 zum Speichern des Kennworts der Hosteinheit und der Videotakt- und CRC-Information, die für die Videohardwarekonfiguration des Host-PCs spezifisch ist, die während eines Hosteinheit-Trainingsvorgangs ermittelt wird, der unten in Verbindung mit 6A bis 6D erläutert wird.
  • Im vorzugsweisen Ausführungsbeispiel umfaßt die Video-CPU 114 einen 80C32-Mikroprozessor, zwei Bänke mit 32 K 8-Bit-RAM-Speicher (insgesamt 64 K) und 32 K EPROM-Speicher. Wie der obige Steuer-Mikroprozessor 106 kann auch dieser Mikroprozessor durch jeden geeigneten Mikroprozessor (z.B. ein 80286, 80386, 80486, 68000, 68010 usw.) und Speicher ersetzt werden. Der EPROM-Speicher enthält die Betriebssystemsoftware für diese CPU. Ein serieller RS-232C-Anschluß 116 ist für die Übertragung von Dateien oder seriellen Mausdaten zum Host-PC vorgesehen.
  • Die Teile der Hosteinheit, welche die Videoverarbeitung betreffen, verwenden einen kombinierten Hardware/Software-Ansatz. D.h., ein Teil der Videoverarbeitung wird von diskreten Logikschaltungen übernommen, und der Rest der Videoverarbeitung wird von einem Mikroprozessor mit der zugehörigen Betriebssoftware durchgeführt. Im vorzugsweisen Ausführungsbeispiel wurde dies getan, um Flexibilität bei den Videoverarbeitungstechniken zu erhalten. Wie für den Fachmann leicht ersichtlich, kann in anderen Ausführungsformen der Erfindung ein größerer Teil dieser Verarbeitung den diskreten Schaltungen zugewiesen werden, um die Anforderungen an die Verarbeitungssoftware zu senken und die Verarbeitungsgeschwindigkeit zu erhöhen, oder ein größerer Teil dieser Verarbeitung kann der Hardware oder Software zugewiesen werden, um die Flexibilität zu erhöhen.
  • Die Steuer-CPU 106 und die Video-CPU 114 sind durch einen bidirektionalen Data Port 107 miteinander verbunden. Wie in 4F gezeigt, prüft die Steuer-CPU 106 den Schreibstatus 232, um zu sehen, ob die Latch-Schaltung 234 leer ist. Wenn sie leer ist, übergibt die CPU einen Wert 230 und schaltet die Schreibleitung 231 um. Dadurch wird die Latch-Schaltung für Bits 236 gesetzt und der Status 232 zeigt an, daß die Latch-Schaltung 234 voll ist. Die Video-CPU 114 kann dann den Lesestatus 232 abfragen und, wenn er gesetzt ist, den Wert 233 durch Takten von 235 auslesen. wodurch der Lesestatus 232 zurückgesetzt wird. Die Video-CPU 114 prüft den Schreibstatus 240, um zu sehen, ob die Latch-Schaltung 245 leer ist. Wenn sie leer ist, übergibt die Video-CPU 114 einen Wert 246 und schaltet die Schreibleitung 244 um. Dadurch wird die Latch-Schaltung für Bits 243 gesetzt und der Status 240 zeigt an, daß die Latch-Schaltung 245 voll ist. Die Steuer-CPU 106 kann dann den Lesestatus 240 abfragen und, wenn er gesetzt ist, den Wert 242 durch Takten von 241 auslesen. wodurch der Lesestatus 240 zurückgesetzt wird. Die Statussignale 232 und 240 werden beide als Lese- und Schreibstatus bezeichnet, und ihre Funktion hängt davon ab, von welcher CPU das Statussignal abgefragt wird.
  • Wie in 4A gezeigt, programmiert die Video-CPU 114 die Videoschaltungen 110, 112, 113, wonach die Videosignale, einschließlich der Videorastersignale, die von der Bildschirmkarte des Host-PCs kommen (in 4G ausführlicher erläutert), von der Videosignaleingangsschaltung 110 und vom Videoprozessor 111 verarbeitet werden. Die resultierenden Videodaten werden in den Videoausgabepuffer 115 geschrieben. Im vorzugsweisen Ausführungsbeispiel ist dieser Puffer 32.000 × 16 Bit groß, was genug Speicher ist, um einen Graphikbildschirm mit 800 × 600 digitalisierter Graphik oder mehr als einen Textbildschirm zu fassen. Der Videoprozessor 111 schreibt in diesen Videoausgabepuffer 115, so daß die in den Puffer geschriebenen Daten von der Video-CPU 114 ausgelesen werden können.
  • Die Videoeingabe von der Bildschirmkarte des Host-PCs wird durch ein Videoschnittstellenkabel geleitet, das gegenwärtig mit einer DB-9-Pin-Buchse (bei TTL-Videosignalen) oder einer DB-15-Pin-Buchse (bei analogen Videosignalen) verbunden wird, die auf der Rückseite der Hosteinheit angeordnet sind (siehe 65 oder 67 in 3). Bei beiden Buchsen sind die Horizontal- und Vertikalsynchronisationsimpulse TTL-Signale. Wenn diese Videosignale die Videosignaleingangsschaltung 110 erreichen, wählt die Schaltung die Synchronpulspolarität, den TTL- oder analogen Modus, und ein bestimmtes Farbsignal. Dieses Signal wird an den Videoprozessor 111 übergeben.
  • Analoge VGA-Bildschirmgeräte können Farbbildschirme oder monochrome Bildschirme sein. Wie zuvor erwähnt, wird der achte DIP-Schalter gegenwärtig benutzt, um anzugeben, ob an der Buchse 64 „VGA OUT" der Hosteinheit ein monochromer (d.h., DIP-Schalter in der Stellung OBEN) oder ein farbiger VGA-Bildschirm (d.h., DIP-Schalter in der Stellung UNTEN) angeschlossen ist.
  • Analoge (VGA-) Monochrombildschirme zeigen allgemein nur das Grünsignal an. Wenn der PC zurückgesetzt wird, fragt die Bildschirmkarte die drei Bildschirmerkennungssignale ab, die vom Bildschirmgerät kommen, um festzustellen, welcher Bildschirmtyp (d.h., monochrom oder farbig) angeschlossen ist. Wenn ein monochromer Bildschirm erkannt wird, addiert die Bildschirmkarte die roten, grünen und blauen Farbsignale und gibt dieses eine kombinierte Signal an alle Elektronenstrahlsystemausgänge aus. Diese Grauskalensummierung wird so durchgeführt, daß in Monochrom der gleiche Helligkeitsgrad wie in Farbe angezeigt wird.
  • Die drei Bildschirmerkennungssignale liegen an den Pins 4, 11 und 12 des DB 15-Videosteckers an. In der Hosteinheit sind diese Signale gegenwärtig festverdrahtet, so daß für die Bildschirmkarte stets ein Farbbildschirm erscheint (z.B. Pins 4 und 11 an Erde, Pin 12 offen), unabhängig davon, ob an der Buchse 64 „VGA-OUT" ein monochromer oder ein Farbbildschirm angeschlossen ist.
  • Wenn ein Farbbildschirm an der Hosteinheit angeschlossen ist, werden die Rot-, Grün- und Blausignale einfach durchgeleitet und in Farbe angezeigt. Wenn ein monochromer Bildschirm angeschlossen ist, führt die Hosteinheit die Grauskalensummierung durch und gibt diese Summe an die Rot-, Grün- und Blausignale zum Bildschirmgerät aus. Die Formel für die Grauskalensummierung ist: 30% Rot + 59% Grün + 11% Blau. Diese Grauskalensummierung ist von der Videoverarbeitung der Hosteinheit unabhängig und betrifft nur die Ausgabe an den monochromen Bildschirm. Die Hosteinheit könnte erkennen, ob diese Grauskalensummierung durchzuführen ist oder nicht, indem sie die vom Bildschirmgerät kommenden Bildschirmerkennungssignale prüft, doch in der aktuellen Ausführung wird die Stellung des 8. DIP-Schalters verwendet, um den an der Hosteinheit angeschlossenen Bildschirmtyp anzugeben.
  • Dadurch, daß die Bildschirmkarte des Host-PCs stets einen Farbbildschirm erkennt, ist es der Hosteinheit und damit den Fernbenutzern stets möglich, auf die Farbinformation zuzugreifen, ungeachtet des Bildschirmtyps, der über die Hosteinheit an den Host-PC angeschlossen ist. Mit anderen Worten, dieser Ansatz erlaubt dem Fernbenutzer, die Bildschirmkartenausgabe eines Host-PCs selbst dann in Farbe zu sehen, wenn ein monochromer Bildschirm an die Hosteinheit angeschlossen ist. Und da die Videoausgabesignale der Hosteinheit zwischengespeichert werden, braucht an der Hosteinheit kein Bildschirmgerät angeschlossen zu sein. Falls am Fern-PC eines Fernbenutzers ein monochromer Bildschirm angeschlossen ist, ignoriert das Softwareprogramm TVLINK.EXE (das später erläutert wird) alle Farbattribute, die von der Hosteinheit zu Anzeigezwecken gesendet werden.
  • Eine Übersicht der Farbsignalselektionskreise der Videosignaleingangsschaltung 110 ist in 4G zu finden. Die Latch-Schaltung „Video select" 257 steuert, welches Farbsignal gewählt wird. Diese Latch-Schaltung wird von der Video-CPU 114 gesetzt. Die Latch-Signale 256 steuern den Multiplexer im Videosignalselektor 264, der eines der TTL-Signale Rot 260, Grün 261, Blau 262 oder Intensität 263 wählt, oder das umgewandelte Analogsignal 254, und dieses Signal dann bei 265 übergibt, wo es bei jedem Pixeltaktsignal 266 in die Latch-Schaltung für Bits 267 getaktet wird und am Ausgang 268 der Latch-Schaltung für Bits erscheint. Das VGA-Farbselektionssignal 255 bewirkt, daß der Analog-TTL-Wandler 253 ein bestimmtes Analogsignal wählt (d.h. Rot 250, Grün 251 oder Blau 252), um es in eine TTL-Ausgabe 254 umzuwandeln.
  • Das vorzugsweise Ausführungsbeispiel sieht gegenwärtig vor, daß nur ein Farbsignal je Videoraster-Abtastzylus verarbeitet wird. Deshalb sind mehrfache Abtastzyklen notwendig, um farbige Textinformationen zu gewinnen. Da etwa 60 Abtastzyklen pro Sekunde auftreten, lassen sich Farbsignale so verarbeiten und decodieren, daß ein angemessener Durchsatz von farbigen Textdaten an den Fern-PC erreicht wird. Künftige Ausführungsformen können zusätzliche Schaltungen und/oder Software umfassen, um die Simultanverarbeitung aller Farbsignale zu ermöglichen, zum Beispiel durch Vordigitalisieren jedes Farbsignals (mit Verschieberegistern und Latch-Schaltungen, wie in 4K beschrieben) und Speichern dieser Daten in einem separaten Speicherbereich, bevor diese Information an die Schaltungen des Video-Prozessors 111 übergeben wird. Dieses alternative Ansatz erhöht die Genauigkeit der Text- und Graphikfarbattribute, indem es potentielle Abweichungen vermeidet, die durch die Verarbeitung mehrfacher Abtastzyklen verursacht werden, wenn die Bildschirmdaten der Bildschirmkarte sich zwischen jedem Zyklus ändern.
  • Wie in 4H gezeigt, variieren analoge Farbsignale von null Volt 272 für Schwarz 278 bis etwa 0,7 Volt 270 (bei einer 75 Ohm-Last) für Weiß 275. Hellgrau 276 und Dunkelgrau 277 liegen zwischen diesen beiden Grenzen. Um von den gegenwärtigen Videoschaltungen verarbeitet werden zu können, muß dieses Analogsignal in ein digitales TTL-Signal umgewandelt werden. Um dies zu erreichen, muß ein Schwellenpegel 271 gesetzt werden, so daß Farbwerte 274, 275, 276, die über diesem Pegel liegen, in eine LOGISCHE 1 (hoher Signalpegel) 281 umgewandelt werden. Farbsignale, die unter diesem Pegel liegen, wie z.B. 273, 277, 278 usw., werden in eine LOGISCHE 0 (niedriger Signalpegel) umgewandelt. Das resultierende VGA-Videoausgabesignal 280 ist bei 280 beginnend dargestellt und ist die Ausgabe der Schaltung bei 297. Bei diesem Ansatz wird eine Vordergrundfarbe Dunkelgrau 277 auf einer Hintergrundfarbe Schwarz 278 von der Schaltung nicht unterschieden. Eine Kombination aus Weiß 275 und Hellgrau 276 auch nicht. Obwohl Weiß, Grau und Schwarz 275, 276, 277, 278 berücksichtigt werden, hängt die tatsächliche Farbe vom gewählten Farbsignal ab und ist entweder Rot, Grün oder Blau. Die analogen Farbsignale 290, 291, 292 werden von einem Analogsignalmultiplexer 293 gewählt und zum Pluseingang 294 eines Komparators 296 geleitet. Der Minuseingang 295 ist mit einem festen Schwellenwert 271 verbunden. Die Ausgabe der Schaltung 273 ist ein TTL-Signal, das bei 280 beginnend dargestellt ist. Die Schaltung kann zum Beispiel einen Komparator AD9696 von Analog Devices verwenden.
  • Der Videoprozessor übernimmt sowohl die Digitalisierung der Graphik als auch die Zeichenerkennung im Textmodus. Für Verarbeitungszwecke entspricht ein „Pixel" einem „logischen Bit".
  • Wie in 4I gezeigt, stellt der Kasten 300 ein Bildschirmgerät dar, das sechs Zeichen anzeigt: „A", „B", „C", „D" und zwei Zeichen aus dem erweiterten ASCII-Zeichensatz, d.h. ein Block- und ein Kreuzzeichen. Wie in 4J gezeigt, setzt sich das Gesamtvideosignal aus mehreren Teilen zusammen: Ein Vertikalsynchronisationssignal 340, ein Horizontalsynchronisationssignal 343, und Farbsignal(e) 350 (als nur ein Signal dargestellt). Farbbildschirmkarten verwenden Rot-, Grün- und Blausignale, wogegen monochrome Bildschirmkarten nur das Grün- und Intensitätssignal verenden. Wie in 4I gezeigt, macht der sichtbare Teil des Bildschirms 302, wo Text und Graphik erscheinen, nur einen Teil des Gesamtvideosignals aus. Block 310 zeigt eine vergrößerte Ansicht der oberen linken Ecke des Gesamtbildschirms 301, die einen Teil der linken oberen Ecke des sichtbaren Bildschirms 302 enthält.
  • Wie in 4J gezeigt, weist das Vertikalsynchronisationssignal 340 den Bildschirm an, zur oberen Bildschirmseite 301, 313 zu gehen und die Abtastung zur unteren Bildschirmseite 304 hin zu starten. Das Horizontalsynchronisationssignal 343 weist den Bildschirm an, zur linken Bildschirmseite 305, 325 zu gehen und die Abtastung zur rechten Bildschirmseite 303 hin durchzuführen. Die Farbsi gnale erzeugen auf dem Bildschirm des Bildschirmgeräts sichtbares Licht in Form von Text und/oder Graphik 302. Auch wenn 314 die erste sichtbare horizontale Abtastzeile zeigt, sind horizontale Abtastzeilen (siehe 301, 313 und 352) über der ersten sichtbaren Abtastzeile 314 vorhanden. Wie in 4J gezeigt, stellt 345 die erste sichtbare horizontale Abtastzeile dar, und 348 die letzte sichtbare horizontale Abtastzeile. 330 und 333 stellen eine einzelne horizontale Abtastzeile 346 dar. Obwohl die erste Abtastzeile 314 bis zur letzten Abtastzeile 315 einer Zeichenzeile 16 Abtastzeilen (entspricht typischer VGA-Textmodus), erzeugen einige ältere monochrome Bildschirmkarten nur 8 horizontale Abtastzeilen, wie durch 353 zwischen 345 und 346 angezeigt. 334 zeigt die Abtastzeile 316 der ersten Zeichenzeile über den Buchstaben „C" in 4I. Dementsprechend stellt 336 die Abtastzeile 316 über dem „D" dar. 338 ist dieselbe Zeile über dem 80. Zeichen (in 4I nicht gezeigt). 347 stellt die nächste horizontale Abtastzeile bei 317 dar. Der Horizontalsynchronisationsimpuls 330 startet die horizontale Abtastzeile 316. Vor dem ersten sichtbaren horizontalen Pixel 324 findet eine Verzögerung 335, 325, 305 statt.
  • 324, 322, 321 und 320 positionieren das erste Pixel jedes Zeichens auf einer bestimmten Zeile. Die 9. Position 323, die bei VGA-, Hercules- und anderen Bildschirmkarten vorgegeben ist (nicht bei älteren monochromen Graphikarten mit 8 × 8), wird nicht berücksichtigt. Das Pixeltaktsignal erfaßt nur die ersten 8 Pixel des Zeichens, weshalb das digitalisierte Video dieses Pixel 323 ignoriert.
  • Die erste horizontale Abtastzeile (nicht sichtbar) 344 wird in 4I durch 312 dargestellt. Die letzte sichtbare Abtastzeile 348 schließt den Bildschirm eines Bildschirmgeräts ab. Der VGA-Textmodus weist gegenwärtig 350 sichtbare horizontale Abtastzeilen auf, der VGA-Graphikmodus (640 × 480) weist 480 Abtastzeilen auf, der hochauflösende Modus (800 × 600) 600 Abtastzeilen, doch das vorliegende System kann mit jedem anderen Graphikmodus und mit anderen Zeilenzahlen betrieben werden.
  • Nach dem Horizontalsynchronpuls 330 und der linken Randverzögerung 305, 325, 335 erscheint das sichtbare Bild wie bei 337 gezeigt. Eine Abtastzeile für die ersten zwei Zeichen wird in 4K bei 360 beginnend gezeigt. Das vorzugsweise Ausführungsbeispiel des Videoprozessors verwendet ein 16 Bit-Verschieberegister und eine 16 Bit-Latch-Schaltung. Der Einfachheit halber zeigt 4K aber nur eine Latch-Schaltung und ein Verschieberegister für 8 Bits.
  • Um die Verarbeitung von digitalisierten Videozeichen zu veranschaulichen, wird davon ausgegangen, daß jedes Zeichen 8 Pixel breit ist, wie z.B. von 365 bis 370 gezeigt. Bei der Digitalisierung bilden diese acht Pixelwerte die acht Bits eines Bytes, das für die weitere Verarbeitung verwendet wird. Auf das 8. Pixel 370 folgt ein 9. ungenutztes Pixel mit der Bezeichnung „X" (bei 375). Dieses 9. Pixel ist sowohl bei VGA-Bildschirmkarten als auch einigen monochromen Bildschirmkarten vorhanden. Bei einigen Bildschirmkarten fehlt dieses Pixel, so daß auf das letzte Pixel eines Zeichens 370 direkt das erste Pixel des nächsten Zeichens 373 folgt.
  • 361 zeigt eine effektive Wellenform einer horizontalen Abtastzeile, die im Graph 390 als die letzte horizontale Abtastzeile an der Grundlinie der Zeichen „L" und „M" dargestellt ist und mit dem Pixel bei 394 endet. 364 zeigt die Grundlinie des „L", 371 zeigt das linke Bein des „M", und 374 zeigt das rechte Bein des „M".
  • Die Eingabe 391 der Videopixeldaten 365 in das Verschieberegister 393 erscheint nach einem Taktimpuls 392 beim ersten Ausgabebit 395 des Verschieberegisters. Nach 7 weiteren Taktimpulsen erscheinen die Videopixeldaten 365 beim letzten Ausgabebit 399 des Verschieberegisters. Zur Digitalisierung eines Zeichens wird jedes Pixeldatenbit (z.B. 365) vom Videosignaleingang 391 durch einen Pixeltaktimpuls 362, 392 in ein Verschieberegister 393 verschoben. Wenn das 8. Pixel 370 in das Verschieberegister verschoben wurde, werden die Daten durch einen Latchtaktimpuls 363, 372 bei 396 in die Latch-Schaltung 398 übertragen. Nachdem die Daten gehalten werden, wird die Ausgabe der Latch-Schaltung 398, die durch 397 angezeigt ist, im Videoausgabepuffer 115 gespeichert, um später von der Video-CPU 114 (siehe 4A) abgerufen zu werden. Bei Bildschirmkarten, bei denen auf das letzte Pixel eines Zeichens 370 direkt das erste Pixel des nächsten Zeichens 373 folgt, stimmt der Latchtaktimpuls 372 mit dem ersten Pixel des nächsten Zeichens überein.
  • Sobald die digitalisierten Videodaten im Videoausgabepuffer 115 (4A) sind, können sie übertragen werden, durch die Steuer-CPU 106 (4A) und von der Ferndatenschaltung 103 (4A) zu einem Fern-PC 2 (1), wobei sie dann direkt im Graphikmodus angezeigt werden können. Auch wenn diese Übertragung gegenwärtig unterstützt wird, erfordert sie 16-Bytes pro Zeichen, was die Geschwindigkeit der Bildschirmdatenübertragung zu einen Fern-PC erheblich herabsetzt. Wenn die Bildschirmkarte eines Host-PCs in einem Textmodus betrieben wird, lassen sich die Bildschirmübertragungszeiten drastisch verkürzen, indem das 16-Byte-Paket eines Zeichens in einen 1-Byte-Zeichencode umgewandelt wird, wie er vom ASCII-Code benutzt wird, und statt dessen nur der 1-Byte-Code übertragen wird. Je nach Bildschirmkarte können die Zeichen 8, 9, 14 oder 16 horizontale Abtastzeilen oder Bytepakete verwenden, die alle von den Schaltungen der Hosteinheit verarbeitet werden. Zur Veranschaulichung werden in der folgenden Erläuterung 16 horizontale Abtastzeilen gewählt (wie bei gegenwärtigen VGA-Bildschirmkarten).
  • Die Umwandlung von Pixeldaten in Zeichen erfordert eine Art von Zeichenerkennung, für die verschiedene Ansätze möglich sind. Der erste Ansatz ist, das digitalisierte Bild zu nehmen und eine Bezugstabelle nach einer Entsprechung für das 16-Byte-Paket dieses Zeichens zu durchsuchen, das die geordneten Pixeldaten für ein Einzelzeichen darstellt. Die relative Position in dieser Tabelle ergibt dann den zum gewünschten Zeichen gehörigen Zeichencode, wie er vom ASCII-Codierschema verwendet wird. Dieser Ansatz wird weniger bevorzugt, da die spezifische Zeichenform je nach Bildschirmkarte abweicht und die Bezugstabelle einen übermäßigen Speicherbedarf für Zeichensatzabbildungen erfordert. Zudem muß diese Tabelle aktualisiert werden, damit neue Zeichensätze oder Zeichenformatänderungen verarbeitet werden können.
  • Ein zweiter Ansatz ist, die digitalisierten Videodaten durch bestimmte Algorithmen zu verarbeiten, welche die Identität des Zeichens direkt ableiten (oder erkennen), wie jene, die typischerweise von OCR-Software (optische Zeichenerkennung) verwendet werden und dem Fachmann vertraut sind. Dieser Ansatz wird weniger bevorzugt, da er rechenintensiv ist von der Video-CPU 114 (4A) zu viel Verarbeitung verlangt, was den Bildschirmzugriff durch einen Fern-PC verlangsamt und den Datendurchsatz zu einem Fern-PC beeinträchtigt.
  • Ein dritter Ansatz, der im vorzugsweisen Ausführungsbeispiel verwendet wird, verwendet CRC-Methoden für die Zeichenerkennung. Bei diesem Ansatz wird das digitalisierte Bild von Hardwareschaltungen direkt in CRC-Werte umgewandelt, wonach diese Werte in den Videoausgabepuffer geschrieben werden.
  • Um ein 16-Byte-Paket in einen CRC-Wert umzuwandeln, werden die Paketdaten serialisiert (das neunte Pixel wird ausgelassen, falls vorhanden), und der erhaltene Datenstrom wird in den CRC-Generator eingegeben. 4L veranschaulicht dieses Verfahren. Jede horizontale Abtastzeile 410, 411 usw. bis nach unten 417 für ein bestimmtes Zeichen wird sequentiell verarbeitet, wie bei Bezugszeichen 400 beginnend dargestellt. Es ist zu erkennen, daß auf die Spitze des „A" (siehe 412) die obere Linie des „B" folgt, wie im Block 407 gezeigt. Im vorzugsweisen Ausführungsbeispiel wird der CRC-Generator zutreffender CRC-Prozessor genannt, da die erzeugten CRC-Zwischenwerte gespeichert und später abgerufen werden können, um die nächste horizontale Abtastzeile zu verarbeiten. Erst wird der CRC-Verschieberegisterwert auf null gesetzt. Dann wird die erste Zeile 410, 401 der Zelle, die das „A" enthält, verarbeitet, wonach der CRC-Zwischenwert gespeichert wird. Dann wird der CRC-Verschieberegisterwert erneut gelöscht, und die erste Zeile der Zelle, die das „B" (siehe 407) enthält, wird verarbeitet, und so weiter. Nachdem die ganze horizontale Abtastzeile 410 verarbeitet wurde, wird mit der Abtastzeile 411 begonnen. Zuerst wird der zuvor gespeicherte CRC-Zwischenwert für die Zelle, die das „A" enthält, in das CRC-Verschieberegister geladen. Dann wird 402 verarbeitet, wonach der CRC-Zwischenwert wieder gespeichert wird, und so weiter. Wenn Textdaten mit 80 Spalten verarbeitet werden, werden daher 80 CRC-Zwischenwerte für jede Abtastzeile gespeichert. Dies erlaubt dem CRC-Generator, 16 zusammenhängende Bytes für jedes Zeichen zu erkennen. Nachdem die letzte horizontale Abtastzeile 417 für das „A" verarbeitet wurde, ist der resultierende CRC-Wert die CRC-Werte für das Zeichen und wird im Videoausgabepuffer 115 (4A) gespeichert, und so weiter für die restlichen Zeichen. Später liest die Video-CPU 114 (4A) diese CRC-Werte aus und durchsucht eine Bezugstabelle nach den Zeichen, die diesen CRC-Werten entsprechen. Diese Tabelle mit CRC-Werten wird bei einem speziellen anfänglichen Trainingsvorgang angelegt, der unten ausführlicher beschrieben wird, und gibt die realen Merkmale der Bildschirmkarte des Host-PCs wieder. Dieser Prozeß wandelt die realen Zeichenformate, die von einer bestimmten Bildschirmkarte benutzt werden, in einen einmaligen CRC-Wert für jedes einzelne Zeichen um.
  • Ein weiterer Ansatz, um Pixelinformation in ein Zeichenformat umzuwandeln, ist, die digitalisierten Daten aller 16 horizontalen Zeilen (16 × 80 Bytes) zu speichern und jedes Zeichen in einer seriellen Reihenfolge 400 zu verarbeiten. Zwei Bänke mit 16 × 80 Byte Speicher sind erforderlich, um die neu digitalisierten Daten zu speichern, während die zuvor gespeicherten Daten in CRC-Werte umgewandelt werden. Dieser Ansatz verwendet für die Verarbeitung Software statt Hardware, ist aber ansonsten für die vorliegende Erfindung geeignet.
  • Die Schaltungen der Hosteinheit können verbessert werden, indem zwischen dem Videoprozessor 111 (4A) und dem Videoausgabepuffer 115 (4A) eine Speicherübersetzungsschaltung vorgesehen wird, wobei die CRC-Wertausgabe von 111 (4A) die Adresse für den Zugriff auf ein Speicherbyte bildet, das den Zeichencode, wie er vom ASCII-Code verwendet wird, für das Zeichen enthält und diesen Code im Videoausgabepuffer 115 (4A) speichert. Die Video-CPU 114 (4A) liest diesen Zeichencode dann aus dem Videoausgabepuffer aus.
  • 4M ist eine Übersicht der aktuellen Ausführung des Videoprozessors 111 (4A). Der CRC-Generator umfaßt ein 16-Bit-Verschieberegister 439 (statt 8 Bit, wie in 4D gezeigt) und einen 9-Bit-Paritätsgenerator 423 (statt der EXKLUSIVES ODER-Gatter in 4D). Die Ausgabe 421 des Paritätsgenerators wird in das Verschieberegister 439 eingegeben. Die jeweiligen Ausgabebits des Verschieberegisters 439, die mit der Videoeingabe 420 summiert werden, werden von einem Rückkopplungsselektionskreis 425 (8 UND-Gatter mit Dualinput) gesteuert. Die ersten 7 niederwertigsten Bits werden zusammen mit dem hochwertigsten Bit der Verschieberegisterausgabe 426 durch ein logisches UND mit 8 „Freigabebits" 428 aus der Latch-Schaltung „CRC Config" 429 verknüpft. Diese Latch-Schaltung 429 wird von der Video-CPU 114 (4A) gesetzt und konfiguriert, welches dieser 8 Verschieberegisterausgabebits 426 in den Paritätsgenerator eingegeben wird. Diese Latch-Schaltung 429 wird verwendet, um den CRC-Generator so zu konfigurieren, daß einmalige CRC-Werte erzeugt werden, damit der Videozeichensatz erkannt wird. Wenn dieser Wert 428 auf null gesetzt wird, sind alle 8 Bits in 424 ebenfalls null, und das Videoeingabesignal 420 wird von der Paritätsausgabe 421 direkt wiedergegeben. Auf diese Weise wird die Videoeingabe 420 digitalisiert, wobei die gehaltenen Daten 442 direkt im Videopuffer 444 gespeichert werden, ohne vom CRC-Generator geändert zu werden.
  • Der Pixeltaktimpuls 422 taktet die Videopixeldaten in das CRC-Verschieberegister 439. Wie in Block 454 gezeigt, folgt das erste Pixel 453 des zweiten Zeichens direkt auf das letzte Pixel 452 des ersten Zeichens. Das (zuvor erwähnte) 9. ungenutzte Bit erscheint nicht im Graph von 4M und weist keinen zugehörigen Pixeltaktimpuls auf.
  • Der CRC-Zwischenspeicher 438 wird durch die Löschleitung 433 gelöscht, die vom Vertikalsynchronisationssignal getaktet wird. Das Verschieberegister 439 wird durch 431 auf null gesetzt. Dann werden 8 Pixeltaktimpulse 422 erzeugt, die mit den acht Pixeln ab 451 übereinstimmen. Nachdem das 8. Pixel 452 verarbeitet wurde, wird der nun am Eingang 427 der Latch-Schaltung erscheinende CRC-Zwischenwert durch den Latch-Taktimpuls 440 gehalten. Das Verschieberegister 439 wird erneut durch 431 gelöscht, und das nächste Zeichen wird bei Pixel 453 beginnend verarbeitet. Während der Verarbeitung dieses nächsten Zeichens wird der zuvor gehaltenen Wert 441, 442 durch Impulse der Schreibleitung 443 in einen CRC-Zwischenspeicher 438 geschrieben. Dies wird fortgesetzt, bis alle Zeichen für diese horizontale Abtastzeile verarbeitet wurden und der CRC-Zwischenspeicher 438 80 CRC-Zwischenwerte enthält. Dann beginnt die nächste horizontale Abtastzeile. Bevor Pixel 450 verarbeitet wird, wird der zuvor im CRC-Zwischenspeicher 438 gespeicherte CRC-Zwischenwert über die Schreibleitung 437, 432 und 430 in das Verschieberegister 439 geschrieben. Nach Verarbeitung das 8. Pixels wird der neue CRC-Zwischenwert wieder gehalten 441 und im CRC-Zwischenspeicher gespeichert 438, wie oben beschrieben.
  • Dieser Prozeß setzt sich fort, bis eine horizontale Abtastzeile 455 beginnt. Bei dieser Abtastung werden die CRC- Zwischenwerte wie zuvor gespeichert, doch wenn Pixel 456 erreicht wird, ist der bei 442 gehaltene CRC-Wert der endgültige CRC-Wert, der das verarbeitete Zeichen (in diesem Beispiel „A") kennzeichnet, und wird über die Schreibleitung 445 im Videopuffer 444 gespeichert. Dies gilt auch für die restlichen Zeichen in dieser Abtastzeile 455. Die nächste Abtastzeile beginnt mit der nächsten Zeichenzeile, und der bei 451 startende Prozeß wiederholt sich, bis alle 25 Zeichenzeilen (bei einem 80 × 25 Videotextmodus) umgewandelt sind und alle 2000 Zeichen-CRC-Werte im Video(ausgabe)puffer 444 gespeichert sind, der dem Videoausgabepuffer 115 in 4A entspricht.
  • Eine mögliche Alternative zum Speichern der CRC-Werte im Videopuffer 444 ist die Umwandlung der CRC-Werte, bevor sie im Videopuffer 444 gespeichert werden. Dies kann erreicht werden, indem vor dem Videopuffer eine Speicherschaltung eingefügt wird, die als Bezugstabelle fungiert, wobei die 16-Bit-CRC-Werte bei 442 die Speicheradresse bilden. Die aus diesem Speicher erhaltene 16-Bit-Ausgabe enthält dann das Zeichen für einen bestimmten CRC-Wert bezieht. Dieser Speicher wird von der Video-CPU mit CRC-Information initialisiert. Bei ungültigen CRCs wird der 16-Bit-Wert auf null gesetzt. Bei normalen Zeichen-CRCs wird das niederwertige Byte auf den ASCII-Code des Zeichens und das hochwertige Byte auf null gesetzt. Bei hervorgehobenen (invertierten) Zeichen-CRCs wird das hochwertige Byte auf den ASCII-Code des Zeichens und das niederwertige Byte auf null gesetzt. Dieser Ansatz erlaubt die sofortige Umwandlung von CRC-Werten in Zeichen und erhöht die Leistung des Hosteinheit.
  • Wie in 4N gezeigt, entspricht die Videopixeldauer bei einer monochromen Bildschirmkarte etwa 65 Nanosekunden, bei VGA-Bildschirmkarten etwa 30 Nanosekunden. Die Videozeitlinie 458 zeigt drei Videopixel: ein weißes, ein schwarzes und ein anderes weißes Pixel. VGA-Video erfordert einen schnellen Pixeltakt 459. Die schrägen Linien, die durch 461 angezeigt sind, stellen Synchronisationsstörungen dar, die auftreten, wenn zwei asynchrone Signale (das Videosignal und der Videotaktimpuls der Hosteinheit) zusammenwirken. Bei einer Grundtaktrate von 90 Megahertz für die Pixeltakterzeugung (in der aktuellen Ausführung), ist die Dauer dieser Synchronisationsstörung etwa 11 Nanosekunden. Aufgrund dieser Synchronisationsstörung wurde eine Auflösung von 5 Nanosekunden angewandt, um die steigende Flanke des Pixeltaktsignals nahe am Ende des Videopixels zu positionieren, wie bei 460 gezeigt. Auf diese Weise kann der Schaltkreis, wenn 467 das Pixeltaktsignal bei 460 zeigt, das Pixeltaktsignal bei Bedarf auf 468 verschieben, oder um 5 Nanosekunden. Dadurch wird ein scheinbarer Grundtakt zwischen 180 und 200 Megahertz erreicht. Da der Grundtakt in der aktuellen Ausführung 90 Megahertz entspricht, oder einer Periode von 11 Nanosekunden, und die Verzögerung 5 Nanosekunden beträgt, folgt die Position des Pixeltaktsignals natürlich dem Muster 0 ns, 5 ns, 11 ns, 16 ns, 22 ns usw. D.h., sie entspricht in etwa einer 190 Megahertz-Auflösung und stellt eine praktische Lösung dar, um das gewünschte Ergebnis zu erreichen (d.h. das Eintakten eines stabilen Pixeldatenbits).
  • Zur Erläuterung der Synchronisationsstörungen: Die steigende Flanke des Horizontalsynchronisationssignals 462 synchronisiert den Pixeltakt. Synchronisationsstörungen sind inhärent, da nicht im voraus bekannt sein kann, in welcher Phase sich der Grundtakt gerade befindet. In der Tat ändert sich die Phase dieses Taktsignals ständig bei jeder neuen horizontalen Abtastung. Zur Verdeutlichung zeigen 463 und 464 das Grundtaktsignal in verschiedenen Phasen. Die steigenden Flanken 465 und 466 des Grundtaktsignals treten zu verschiedenen Zeiten nach der steigenden Flanke des Synchronisationssignals 462 auf. Das Pixeltaktsignal 460 wird von diesem Synchronisationssignal und vom Grundtaktsignal abgeleitet, weshalb die Synchronisationsstörung auf die Videopixel 458 übertragen wird, wie durch 461 gezeigt. Der Anfang und das Ende jedes Pixels schwankt innerhalb des Bereichs, der durch 461 angezeigt ist.
  • Die aktuelle Ausführung des Pixeltaktsteuerschaltung 112 (4A) wird in 4O gezeigt. Gegenwärtig ist diese Schaltung ein 4.000 × 8 Bit-20 Nanosekunden-RAM-Speicher. Die Video-CPU 114 (4A) programmiert diesen Speicher über die Dateneingabe 470 und die Schreibleitung 477. Der Speicher wird durch die Ausgabe 483 eines 12-Bit-Zählers 484 adressiert. Zuerst wird dieser Zähler 484 über 485 gelöscht, und dann wird, nach jedem Schreibimpuls, der Adreßzähler über 486 inkrementiert (diese Verbindung ist in der Figur nicht dargestellt). Während der Videoverarbeitung ist die Leseleitung 478 aktiviert. Das Horizontalsynchronisationssignal löscht den Adreßzähler über die Löschleitung 485. Das Ausgabebyte des RAM-Speichers 471 wird in zwei Halbbytes 472 und 479 aufgespalten, die in zwei 4-Bit-Verschieberegister 473A und 480 geladen werden. Ein 90 Megahertz-Oszillator 489 taktet diese Verschieberegister und lädt die zwei Halbbytes über das Taktsignal 488 und die Vierteilungsschaltung 487 bei jedem vierten Taktzyklus in die Verschieberegister und inkrementiert dann den 12-Bit-Zähler 484. Die zwei Verschieberegister geben dann jedes Halbbyte bitweise an 473B und 481 aus, um das Pixeltaktsignal 476 zu erzeugen. Die Ausgabe des Verschieberegisters 481 wird durch eine 5 ns-Verzögerungsschaltung 483 (gegenwärtig DALLAS DS1000-25) um 5 Nanosekunden verzögert, und die zwei Signale 473B und 474 werden über 475 durch ein logisches ODER verknüpft, um das Pixeltaktsignal zu erzeugen. Dadurch kann das erzeugte Pixeltaktsignal alle 11 Nanosekunden an die 90 Megahertz-Taktrate angepaßt oder um 5 Nanosekunden verzögert werden. Weitere Mittel, die verwendet werden können, umfassen einen Phasenregelkreis (PLL) oder andere Präzisionsverzögerungselemente zur Erzeugung des Pixeltaktsignals.
  • Die Polarität der Vertikal- und Horizontalsynchronisationssignale, sowie ihre Beziehung zueinander, ist je nach verwendeter Bildschirmkarte und dem jeweiligen Videomodus (z.B. Text- oder Graphikmodus) verschieden. In 4P zeigen 490 und 491 Beispiele eines Vertikal- 490 und eines Horizontalsynchronisationssignals 491. Doch je nach Videomodus oder Bildschirmkarte kann das Horizontalsynchronisationssignal 491 wie bei 492 gezeigt erscheinen, und das Vertikalsynchronisationssignal 490 wie bei 501 gezeigt. Um dies zu berücksichtigen, werden zwei exklusives-ODER-Gatter 498 und 500 verwendet, so daß die Synchronisationssignale, die die Videoschaltungen treiben, bei 487 und 499 stets eine negative Polarität aufweisen. Die Video-CPU 114 (4A) setzt die Polaritätsbits 494 und 496, um eine negative Polarität zu erhalten.
  • Das Phasenverhältnis des Vertikal- und Horizontalsynchronisationssignals kann auch je nach Bildschirmkarte unterschiedlich sein, wie bei 501 und 503 gezeigt. Beide steigenden Flanken treten gleichzeitig auf. Bezug nehmend auf 503 und 504 ist zu erkennen, daß die steigende Flanke von 504 nach der steigenden Flanke von 503 auftritt, im Vergleich zum Phasenverhältnis von 501 und 502. Um ein einheitliches Phasenverhältnis zu erhalten, wird eine Flip-Flop-Schaltung verwendet, wie in Block 508 gezeigt. Das Signal „VSYNC Temp" 499 wird verwendet, um die Flip-Flop-Schaltung zu löschen, wie bei 510 gezeigt, und die steigende Flanke des Signals „HSYNC Out" 497, das mit der Takteingabe 507 verbunden ist und die Ausgabe 509 über den Dateneingang 506 (an +5 Volt festverdrahtet) auf eine logische eins (niedriger Signalpegel) setzt. Das Signal VSYNC Out wird bei 505 gezeigt.
  • Die Horizontalsteuerschaltung 113 (4A) implementiert die Erläutung und das Taktsteuerungsdiagramm in 4J und 4M. Nachdem das Vertikalsynchronisationssignal, Bezug nehmend auf 4J, bei 340 und 351 einen neuen Bildschirm begonnen hat, überspringt diese Schaltung die nicht sichtbaren Horizontalsynchronisationssignale 352, wiederholt dann für jedes Zeichen der ersten horizontalen Abtastzeile den Zyklus der Initialisierung des CRC-Verschieberegisterwerts 439 auf null 431 durch, speichert die CRC-Zwischenwerte für die mittleren Abtastzeilen 438 und stellt sie wieder her, und schreibt die endgültigen CRC-Werte für jede Zeichenzeile in den Videoausgabepuffer 444 (115 4A).
  • Die Hosteinheit umfaßt zwei Mikroprozessoren (d.h. CPUs) 106, 114, die jeweils ein eigenes unabhängiges Softwarebetriebssystem aufweisen. 5A bis 5K zeigen eine Übersicht dieser Softwarebetriebssysteme. Der Quellprogrammcode für die Video-CPU 114 ist in 8032-Assemblersprache geschrieben. Auch der Quellprogrammcode für die Steuer-CPU 106 ist in 8032-Assemblersprache geschrieben. Wie dem Fachmann bekannt, ist Betriebssystemsoftware wie jene, die von der Steuer- und Video-CPU verwendet wird, primär ereignis- oder interruptgesteuert und folgt nicht dem linearen Logikfluß, der für die meiste Anwendungssoftware typisch ist.
  • Die vorliegende Erfindung umfaßt zwei CPUs, hauptsächlich, um die Arbeitslast der Verarbeitung zu verteilen und dem Fernbenutzer (so weit wie möglich) den Eindruck zu geben, daß er vor der Hosteinheit sitzt. Die Decodierung des schnellen Videosignals der Bildschirmkarte an der Hosteinheit nimmt gegenwärtig fast die gesamte Verarbeitungsgeschwindigkeit eines typischen schnellen Mikroprozessors in Anspruch. Wenn die CPU, die für die Decodierung der Videosignale zuständig ist, mit zusätzlichen Verarbeitungsanforderungen belastet wird, kann es sein, daß sie nicht mit der Datenausgabe der Bildschirmkarte mithalten kann. Daher wurde für die gegenwärtige Ausführung der Hosteinheit eine zweite CPU vorgesehen. Wie oben erwähnt, wäre es mit einer schnelleren Mikroprozessortechnologie aber auch möglich, eine einzige CPU zu verwenden.
  • 5A zeigt eine Übersicht der Betriebssystemsoftware der Steuer-CPU 106 (4A). Wenn die Hosteinheit zuerst eingeschaltet wird, beginnt die CPU mit der Ausführung der Initialisierungsroutine 600. Diese Routine führt die notwendige Systemverwaltung durch, wie z.B. das Setzen bestimmter Variablen auf Standardwerte, das Löschen der Zähler, das Einrichten der Interruptparameter. Danach wird auf die DIP-Schalter zugegriffen, um die Identifikationsnummer der Hosteinheit zu ermitteln. Dann wird für das Zugriffskennwort und die Standardmodemdaten der Hosteinheit auf den nicht flüchtigen RAM-Speicher 108 (4A) zugriffen, und um zu prüfen, ob die Hosteinheit für die Verarbeitung von Videodaten eingerichtet ist (durch den Trainingsvorgang, der in Verbindung mit 6 erläutert wird).
  • Wenn die Hosteinheit bereit ist, Videodaten zu verarbeiten, wird ein Befehl „Video bereit" zur Video-CPU (über 107 in 4A) gesendet, um anzuzeigen, daß die Videoverarbeitung beginnen kann. Die Initialisierungsroutine 600 richtet dann der seriellen Datenanschluß der Ferndatenschaltungen 103 (4A) ein. Wenn die Identifikationsnummer der Hosteinheit null ist, wird der Datenanschluß (Data Port) der Hosteinheit vom Verkettungsanschluß getrennt, die seriellen Sende- und Empfangssignale der CPU werden direkt mit dem Hostdatenanschluß verbunden, und ein Modem, das am Ferndatenanschluß erwartet wird, wird initialisiert. Wenn ein Fern-PC über eine Direktleitungsverbindung direkt mit der Hosteinheit verbunden ist, ist an der Hostsite keine Hosteinheit mit der Identifikationsnummer null vorhanden. In diesem Fall wird der Fern-PC direkt an die Buchse „Data In" der ersten Hosteinheit in der Verkettung angeschlossen. Dann warten die erste und alle anderen Hosteinheiten in der Verkettung auf eine Zugriffsanforderung.
  • Wenn dieser Initialisierungsvorgang abgeschlossen ist, ist die Steuer-CPU bereit, Zugriffsanforderungen vom Fern-PC an die Hosteinheit zu verarbeiten 601. Währenddessen wird auch der Impulsschalter auf der Frontplatte der Hosteinheit überwacht. Wenn der Impulsschalter gedrückt wird, wird normalerweise ein Befehl „System-Setup" an die Video-CPU gesendet und ein Merker „System-Setup" wird gesetzt, so daß die Setup-Lampe auf der Frontplatte der Hosteinheit anfängt, zu blinken, und die Routine 601 „Zugriffsanforderung verarbeiten" wartet weiter. Wenn die Hosteinheit aufgrund einer Sicherheitsverletzung gesperrt wurde, wird die Hosteinheit durch Drücken des Impulsschalters für den Fernzugriff freigegeben, wobei die Zähler „Sitzung" und „Sperre" auf null gesetzt werden. Schließlich wird während der Wartezeit von „Zugriffsanforderung verarbeiten" 601 jeder Befehl ausgeführt, der von der Video-CPU empfangen wird. Dann wartet die Routine 601 „Zugriffsanforderung verarbeiten" weiter.
  • Wenn ein Fern-PC erst eine Verbindung mit einer Hostsite aufbaut (d.h., es wird ein Trägererkennungssignal oder eine Sendeanforderung empfangen), setzt jede Hosteinheit in der Verkettung an der Hostsite ihren Sicherheitszähler „Sitzung" und den Merker „Sperre" auf null zurück.
  • Wenn ein Fern-PC eine Zugriffsanforderung ausgibt, prüft jede Hosteinheit an der Hostsite ihre Identifikationsnummer 601. Wenn die Identifikationsnummer der Zugriffsanforderung der Nummer der Hosteinheit entspricht, antwortet die Hosteinheit auf die Zugriffsanforderung, und die Verarbeitung des Kennworts 602 beginnt. Wenn die Hosteinheit sich gerade im SETUP-Modus befindet, antwortet die Routine „Zugriffsanforderung verarbeiten" 601 BESETZT, und der Zugriff wird verweigert.
  • Die Routine 602 fordert nun vom Fern-PC ein Kennwort an und wartet. Gegenwärtig verwendet die Hosteinheit ein nicht kennbares Kennwortprotokoll, wobei jede Kennwortanforderung einen zufälligen Codierschlüssel enthält, der das Kennwort auf andere Weise verschlüsselt, was jedem, der keine Zugriffsberechtigung zur Datenleitung hat, die Erkennung eines Kennworts erschwert.
  • Wenn nach Ablauf einer vorgegebenen Zeit kein Kennwort oder ein ungültiges Kennwort erhalten wird 603, wird ein „Sitzungszähler" inkrementiert, um die Zahl der erfolglosen Zugriffsversuche während einer Sitzung zu zählen. Wenn dieser Zähler einen bestimmten Wert übersteigt, wird der Zähler genullt, ein „Sperrzähler" wird inkrementiert, ein Sitzungssperrmerker wird gesetzt, und ein Datenpaket wird an den Fern-PC zurückgesendet, das besagt, daß der Zugang zur Hosteinheit für die Sitzung verweigert wird, und die Verarbeitung kehrt zur Routine 601 „Zugriffsanforderung verarbeiten" zurück. Wenn der „Sperrzähler" einen vom Benutzer definierten Grenzwert übersteigt, der im nicht flüchtigen RAM-Speicher enthalten ist, wird keinem Benutzer der Zugriff auf die Hosteinheit gestattet, bis der Impulsschalter auf der Vorderseite der Hosteinheit gedrückt wird.
  • Wenn ein gültiges Kennwort empfangen wird 603, werden die Zähler „Sitzung" und „Sperre" beide auf null gesetzt, der Sitzungssperrmerker wird gelöscht und die Routine 604 „Befehl verarbeiten" wird aufgerufen.
  • Die Routine 604 „Befehl verarbeiten" verarbeitet jeden Befehl, der vom Fern-PC oder von der Video-CPU empfangen wird. Die Unterroutine „Diverse Befehle" 608 enthält einige Unterroutinen, die von der Video-CPU-Verarbeitung aufgerufen werden können, wonach die Verarbeitung wieder zur aufrufenden Routine zurückkehrt.
  • Der Befehl „Zugriff beenden" 605 ist keine Unterroutine, sondern beendet die Befehlsverarbeitung, indem er zur Routine 601 „Zugriffsanforderung verarbeiten" der Steuer-CPU zurückkehrt.
  • Die Routinen „Durchleiten" 606 und „Fernzugriff" 607 werden weiter unten im Anschluß an die allgemeine Erläuterung der Video-CPU beschrieben.
  • Mehrere Prozesse sind unter der Überschrift „Diverse Befehle" 608 zusammengefaßt. Diese Prozesse umfassen die Trennung der Tastatur des Host-PCs vom Host-PC, damit die Steuer-CPU das Tastatursignal erzeugen kann. Es sind auch Befehle enthalten, um eine Videotrainingssitzung aus der Ferne zu starten, oder um videobezogene Daten (aus dem nicht flüchtigen RAM-Speicher) zum und vom Fern-PC zu übertragen, um das Kennwort der Hosteinheit zu ändern, oder um einen Tastatur-Abtastcode zum Host-PC zu senden (wird während des Trainings von der Video-CPU verwendet).
  • 5B ist eine Übersicht der Betriebssystemsoftware der Video-CPU. Linien mit Pfeilen zeigen den Verarbeitungsfluß an, während pfeillose Linien einen aufgerufenen Prozeß oder eine Unterroutine darstellen.
  • Wenn die Hosteinheit zuerst eingeschaltet wird, beginnt die Video-CPU mit der Ausführung der Initialisierungsroutine 620. Diese Routine führt die notwendige Systemverwaltung durch, wie z.B. das Setzen bestimmter Variablen auf Standardwerte, das Einrichten der Interruptparameter und die Initialisierung des seriellen Datenanschlusses 116 (4A) der Hosteinheit. Danach wartet die Software auf einen Befehl 621 von der Steuer-CPU 107 (4A). Block 622, 623A, 624, 625 und „Diverse Befehle" 626 sind alle Unterroutinen, die von der Routine „Auf Befehl warten" 621 aufgerufen werden können, und die Verarbeitung kehrt zur Routine „Auf Befehl warten" 621 zurück, wenn die Verarbeitung der Unterroutinen abgeschlossen ist. Block 634A bis 623E sind alle Teil einer einzigen Unterroutine.
  • Wenn die Steuer-CPU einen Befehl „Video bereit" sendet, wird die Unterroutine „videobezogene Daten laden" 623A aufgerufen und wartet eine Sekunde lang, um dann die nicht flüchtigen videobezogenen Daten von der Steuer-CPU anzu fordern, die zum Decodieren der Videoausgabe des Host-PCs erforderlich sind. Wenn diese Daten in den Speicher der Video-CPU geladen sind 623A, wird die Videoprozessorhardware 110, 112, 113 (4A) mit den Taktdaten und der Standardsynchronpulspolarität initialisiert 623B, und es werden auch Merker gesetzt, um den Videoverarbeitungsmodus anzugeben (Monochrom- oder Farbmodus). Dann beginnt der Prozeß „Bildschirm protokollieren" 623E, die neusten Bildschirmkartenausgabe der Speichergröße der Hosteinheit entsprechend zu protokollieren.
  • Wenn der Videomodus von einem Textmodus in einen Graphikmodus wechselt, wird das Protokollieren des Bildschirms in der Hosteinheit abgebrochen, bis der Videomodus wieder in einen Textmodus zurückkehrt.
  • Der Prozeß „Bildschirm protokollieren" 623E erfaßt zuerst die Textdaten, die aktuell von der Bildschirmkarte des Host-PCs angezeigt werden, und speichert sie in einem Datenbereich „Basisbildschirm" ab, wonach nur noch die auftretenden Änderungen gespeichert werden. Wenn so viele Änderungen auftreten, daß die Speichergrenze der Video-CPU erreicht ist, werden die ältesten Änderungen in den Datenbereich „Basisbildschirm" verschoben, um mehr Speicher freizugeben, so daß neuere Änderungen gespeichert werden können.
  • Wenn ein Fernbenutzer auf eine Hosteinheit zugreift, muß er zuerst angeben (über das Programm TVLINK.EXE, das auf dem Fern-PC läuft, wie unten beschrieben), (1) ob vor Beginn der Zugriffssitzung ein Bildschirmprotokoll, die im Speicher der Hosteinheit gespeichert ist, an den Fern-PC übertragen werden soll oder nicht, und (2) ob der Benutzer den Nur-Betrachten-Zugriff auf die Hostsite oder den vollen Zugriff wünscht. Wenn der Benutzer sich für das Bildschirmprotokoll oder den Nur-Betrachten-Zugriff entscheidet, wird dies der Hosteinheit durch Datenpakete mitgeteilt, wenn anfangs auf die Hosteinheit zugegriffen wird. Wenn das Bildschirmprotokoll übertragen werden soll, überträgt die Routine „Bildschirm protokollieren" 623E die Bildschirmprotokolldaten durch die Video-CPU an den Fern-PC, über die Routine „Diverse Befehle" 608 der Steuer-CPU und in Form von Datenpaketen, wonach die Verarbeitung zur Routine „Auf Befehl warten" 621 zurückkehrt. Sonst kehrt die Verarbeitung zur Routine „Auf Befehl warten" 621 zurück.
  • Wenn der Fernbenutzer statt des Nur-Betrachten-Zugriffs den vollen Zugriff auf die Hosteinheiten einer Hostsite angefordert hat, sendet der Fern-PC einen Ferntastaturbefehl an die Hosteinheit, der die Unterroutine „Diverse Befehle" 608 aufruft, was bewirkt, daß die Tastatursignale des Host-PC von der Hosteinheit erzeugt werden, statt von der Tastatur des Host-PCs. Dann sendet der Fern-PC einen Fernzugriffsbefehl, um die Unterroutine „Fernzugriff" 607 aufzurufen.
  • Erst weist die Unterroutine „Fernzugriff" 607 der Steuer-CPU die Video-CPU an, die Verarbeitung ihrer Unterroutine „Fernzugriff" 622 zu beginnen. Die Unterroutine „Fernzugriff" 622 bewirkt, daß der Videotext erfaßt wird und von der Steuer-CPU zur Anzeige an den Fern-PC gesendet wird. Der letzte Status der gesendeten Bildschirmdaten wird mit dem Inhalt des aktuellen Bildschirms verglichen, und nur geänderte Bildschirmdaten werden übertragen.
  • 5C zeigt eine Übersicht der Datenflüsse zwischen der Software TVLINK.EXE, die auf dem Fern-PC 630A ausgeführt wird, der Hosteinheit 630B und dem Host-PC 630C. Die Aktivität der Ferntastatur 631A und die Maus 631B wird durch TVLINK.EXE-Interruptprozesse erfaßt, die diese Daten 633, 634 kombinieren und zur Hosteinheit 632 übertragen. Die Steuer-CPU 636A trennt diese Daten auf und sendet die Mausinformation an die Video-CPU 636B, die diese als serielle Eingabe 638 für den Host-PC weiterleitet. Die eingehenden Tastaturdaten werden in Takt- und Datensignale 637 ungewandelt, die zum Tastaturanschluß des Host-PCs durchgeleitet werden. Die Videosignale 639 von der Bildschirmkarte des Host-PCs werden von der Video-CPU in codierte Textdaten wie z.B. ASCII-Code umgewandelt und von der Steuer-CPU zum Fern-PC 635 übertragen, wo sie von TVLINK.EXE verarbeitet werden, um an die Bildschirmkarte des Fern-PCs ausgegeben zu werden. Die Sende- und Empfangsdatenleitungen 632 können direkt verbunden sein oder über Modems oder andere Datenübertragungsgeräte verbunden sein.
  • Um die Dateiübertragung zwischen dem Fern-PC und Host-PC durchzuführen, wird zuerst ein Dateiübertragungsprogramm namens TVFILES.EXE (das mit der Vorrichtung geliefert und auf dem Massenspeichergerät des Host-PCs installiert ist) auf dem Host-PC aufgerufen, indem der Dateiname mit dem Prozeß „Fernzugriff" 607 von der Tastatur des Fern-PCs aus eingegeben wird. TVLINK.EXE sendet dann ein Paket mit dem Befehl „Durchleiten" an den Host-PC. Die Steu er-CPU empfängt diesen Befehl 604 und ruft die Unterroutine „Durchleitmodus" 606 auf.
  • Die Unterroutine „Durchleitmodus 606 sendet erst einen Durchleitbefehl an die Routine „Auf Befehl warten" 621 der Video-CPU, wodurch die Unterroutine „Durchleiten" 624 in der Video-CPU aufgerufen wird. Die Durchleitunterroutinen 606, 624 der Steuer-CPU und Video-CPU arbeiten so zusammen, daß Daten, die vom Fern-PC empfangen werden, von der Video-CPU an den seriellen Anschluß des Host-PCs weitergeleitet werden. Daten, die vom Host-PC empfangen werden, werden von der Steuer-CPU an den Fern-PC weitergeleitet. Dadurch ist TVLINK.EXE (das auf dem Fern-PC läuft) direkt mit den Dateiübertragungsprogramm (das auf dem Host-PC läuft) in Verbindung, und die Dateiübertragung vom Host-PC zum Fern-PC oder umgekehrt wird von diesen zwei Programmen übernommen.
  • „Videotraining und Setup" 625 wird aufgerufen, wenn der Befehl „System-Setup" von der Steuer-CPU empfangen wird, nachdem der Impulsschalter auf der Frontplatte der Hosteinheit gedrückt wurde. Dieser Prozeß bildet eine Schnittstelle zu einem Softwareprogramm namens TVTRAIN.EXE, das auf dem Host-PC läuft, mit der Vorrichtung geliefert wird und auf dem Massenspeichergerät des Host-PCs installiert ist, wie in der Erläuterung zu 6A bis 6D beschrieben. Um Daten an das Programm zu senden, weist die Unterroutine „Videotraining und Setup" 625 die Steuer-CPU an, Tastenanschläge an das Programm zu senden, und empfängt Daten vom Programm, indem sie die Videosignale der Bildschirmkarte, einschließlich eines Videorastersignals, verarbeitet. Dieser Prozeß wird im Zusammenhang mit 6A, 6B und 6C ausführlicher beschrieben.
  • Während des Fernzugriffs 622 und Videotrainings und Setups 625 werden bestimmte Unterroutinen verwendet, um Videodaten zu erfassen und zu interpretieren. Videographik wird von der Unterroutine „Videographik erfassen" 640 erfaßt und digitalisiert. Diese Unterroutine prüft zuerst, ob das Horizontal- und der Vertikalsynchronisationssignal ihre Polarität nicht geändert haben, und wartet dann, bis das Vertikalsynchronisationssignal aktiv wird, aktiviert dann die Videoverarbeitungsschaltungen und wartet dann auf das nächste Vertikalsynchronisationssignal. In diesem Augenblick enthält der Videoausgabepuffer die digitali sierten Videodaten. Diese Daten werden dann an den Fern-PC übertragen, wo das Programm TVLINK.EXE sie im Graphikmodus anzeigen kann. Diese Daten werden auch vom (weiter unten beschriebenen) Trainingvorgang benutzt, um die Pixeltaktsteuerung anzupassen. Die Videoschaltungen (siehe 110, 111, 112, 113 in 4A) müssen korrekt ohne CRC initialisiert werden.
  • Wenn die Polarität der Synchronisationssignale wechselt 641, bricht diese Routine ab und gibt den Videostatus zurück 642. Sonst gibt die Unterroutine „Videographik erfassen" 640 „OK" zurück 643.
  • Um Videotext zu erfassen, müssen die Videoschaltungen (siehe 110, 111, 112, 113 in 4A) korrekt mit CRC für Text initialisiert werden. Dann erfaßt die Unterroutine „Videotext erfassen" 644 den Videotext und 2000 CRCs (bei einem Textmodus mit 80 Zeichen × 25 Zeilen). Gegenwärtig sind die Unterroutinen „Video erfassen" für Graphik und Text 640, 644 gleich. Dies ist darauf zurückzuführen, daß die Videoverarbeitungsschaltungen anders initialisiert werden, da statt des digitalisierten Bilds Zeichen-CRCs im Videoausgabepuffer gespeichert werden.
  • Wenn die Polarität der Synchronisationssignale wechselt 645, wird die Verarbeitung der Unterroutine „Video erfassen" 644 beendet, und der Videostatus wird an die aufrufende Routine 646 zurückgegeben. Sonst laden die Videoschaltungen jede Zeichen-CRC aus dem Videoausgabepuffer und wandeln diese über eine Bezugstabelle in Zeichencodes um (wie die Ein-Byte-Zeichencodes, die für den ASCII-Code verwendet werden), speichert diese Codes im Speicher ab, über einen Datenzeiger, der vor dem Aufruf dieser Unterroutine 647 initialisiert wurde, und geben dann „OK" zurück 648.
  • 5E zeigt die Unterroutine „Video erfassen" 644 (bei 650B, 651B, 652B), die verwendet wird, um Textdaten aus den Farbsignalen für Rot, Grün und dann Blau zu erfassen. Vor dem Erfassen von Textdaten wird das betreffende Farbsignal bei 650A, 651A, 652A gewählt (wie zuvor in der Erläuterung zu 4G beschrieben). Die Unterroutine „Videotext erfassen" 650B, 651B, 652B gibt den Videostatus 650D, 651D, 652D zurück, wenn die Polarität der Synchronisationssignale sich geändert hat 650C, 651C, 652C. Sonst gibt die Unterroutine „Vi deotext erfassen" bei 653 „OK" zurück, nachdem die Videotextinformation aus dem Rot-, Grün- und Blausignal erfaßt wurde.
  • 5F veranschaulicht einige der Datenspeicherbereiche, die von Videounterroutinen verwendet werden. Die Zeichendaten, die von der Unterroutine „Videotext erfassen" 650B, 651B, 652B erzeugt wurden, werden in entsprechende Datenbereiche 660A, 661A, 662A gespeichert. Diese Unterroutinen aktualisieren auch einen Bitmerker (in 660B, 661B, 662B) für jedes Zeichen. Ein Bitmerker zeigt an, ob ein Zeichen normal oder invertiert (hervorgehoben) ist.
  • Mit den roten, grünen und blauen Textdaten und dem Bitmerker können jeder Zeichenwert, zum Beispiel als ASCII-Wert, und die Farbattribute (Vordergrund oder Hindergrund) ermittelt werden. 5G zeigt 5 Zeichen 665A, 665B, 665C, 665D, 665E mit jeweils unterschiedlichen Vordergrund- und Hintergrundfarbkombinationen. Für jede davon werden auch die Zeichen gezeigt, die aus den drei Farbsignalen abgeleitet wurden, nachdem jedes Signal verwendet wurde, um den zugehörigen CRC abzuleiten. Die Vordergrund- und Hintergrundfarben werden jeweils durch eine Dreibitnummer dargestellt, wobei jedes Bit einer der drei Primärfarben entspricht. Diese Dreibitmenge kann einen Wert von 0 bis 7 annehmen, wobei Schwarz 0 (000b), Blau 1 (001b), Grün 2 (010b), Hellbau 3 (011), Rot 4 (100b), Violett 5 (101b), Gelb 6 (110b) und Weiß 7 (111b) ist. Die in Klammern stehenden Zahlen sind die binäre Entsprechung des Dreibitwerts und werden in der Beschreibung verwendet. Die Kombination aus rotem, grünen und blauem Licht ergibt Weiß. Wenn die Analyse eines Farbsignals eine „normale" CRC ergibt, ist der entsprechende Bitwert dieses Signals 1 für AN und 0 für AUS. Sonst wird der Bitwert des Signals umgekehrt (d.h. auf 0 für AN und 1 für AUS gesetzt), wenn das Signal einer invertierten CRC entspricht.
  • Der Prozeß der Ableitung der Vordergrund- und Hintergrundfarben aus den drei Primärfarbsignalen wird in 5G und 5H veranschaulicht.
  • Bei Weiß (Vordergrund) auf Schwarz (Hintergrund) 665A entspricht jedes Farbsignal einer „normalen" CRC für ein „A". Demgemäß zeigt 666A ein rotes „A" auf einem schwarzen Hintergrund, was bedeutet, daß das Rotsignal für Vordergrund AN (d.h. 1) und für Hintergrund AUS (d.h. 0) ist. Dementsprechend zeigen 667A ein grünes „A" und 668A ein blaues „A" auf einem schwarzen Hinter grund. Zusammen erscheinen diese drei Farbsignale auf einem Bildschirm als ein weißes „A" auf einem schwarzen Hintergrund. Daher ergeben sich die Bitwerte: Vordergrund: 111b, Hintergrund: 000b.
  • Bei Weiß auf Blau 665B ist das Blausignal 668B immer AN. Es erzeugt die blaue Hintergrundfarbe und erzeugt mit dem roten „B" 666B und dem grünen „B" 667B die weiße Vordergrundfarbe des „B". Die CRC für das Rot- und Grünsignal ergibt ein „normales" B-Zeichen. Daher sind die ersten zwei Vordergrundbits „11" und die Hintergrundbits „00". Die CRC für das Blausignal ergibt ein „normales" CRC-Blockzeichen, bei dem sowohl die Vordergrund- als auch die Hintergrundfarbe Blau ist (d.h. AN). Daher werden das dritte Vordergrundbit und das dritte Hintergrundbit beide auf 1 gesetzt. Daher ergeben sich die Bitwerte: Vordergrund: 111b, Hintergrund: 001b.
  • Bei Gelb auf Blau 665C sind das rote „C" 666C und das grüne „C" 667C AN und erzeugen miteinander die gelbe Vordergrundfarbe. Bei der Analyse der CRCs des Rot- und Grünsignals ergibt sich ein „normales" CRC-Zeichen „C", was heißt, daß die ersten zwei Bits auf den Vordergrundwert 1 und auf den Hintergrundwert 0 gesetzt werden. Wenn die CRC des Blausignals analysiert wird, bildet das Blausignal 668C nur den Hintergrund und ist nicht Teil der Vordergrundfarbe, da das Signal einem „invertierten" CRC-Wert für den Buchstaben „C" entspricht. Daher ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 001b.
  • Bei Rot auf Blau 665D erzeugt das rote „D" 666D die Vordergrundfarbe und entspricht daher einer „normalen" CRC für den Buchstaben „D". Das erste Bit wird also auf 1 für den Vordergrund und auf 0 für den Hintergrund gesetzt.
  • Das Grünsignal 667D ist aus, oder schwarz; es leistet keinen Beitrag; und entspricht einem CRC-Wert für ein „normales" Leerzeichen. Das zweite Bit für den Vordergrund und für den Hintergrund wird also auf 0 (d.h. AUS) gesetzt. Wenn die CRC des Blausignals analysiert wird, bildet das Blausignal 668D nur den Hintergrund und ist nicht Teil der Vordergrundfarbe, da das Signal einer „invertierten" CRC für den Buchstaben „D" entspricht. Daher ergeben sich die Bitwerte: Vordergrund: 100b, Hintergrund: 001b.
  • Bei Gelb auf Violett 665E ist das Rotsignal 666E immer an, um mit dem grünen „E" 667E die gelbe Vordergrundfarbe zu erzeugen und mit der blauen Hintergrundfarbe 668E violett zu ergeben. Da das Rotsignal „AN" ist, um sowohl die Vordergrund- als auch die Hintergrundfarbe zu erzeugen, entspricht das Rotsignal einem „normalen" CRC-Wert für ein Blockzeichen, und das erste Bit für den Vordergrund und für den Hintergrund wird auf 1 gesetzt. Das Grünsignal erzeugt mit dem Rotsignal den gelben Vordergrund des Zeichens „E", ist aber nicht Teil der Hintergrundfarbe, weshalb sein Hintergrund aus ist. Das Grünsignal entspricht dem CRC-Wert für ein „normales" Zeichen „E", weshalb das zweite Bit auf 1 für den Vordergrund und auf 0 für den Hintergrund gesetzt wird. Das Blausignal 668E hat keinen Einfluß auf den Vordergrund, aber auf den Hintergrund, da es mit dem Rotsignal 666E Violett ergibt. Wenn der CRC-Wert des Blausignals analysiert wird, bildet das Blausignal 668E nur den Hintergrund und ist nicht Teil der Vordergrundfarbe, da das Signal einem „invertierten" CRC-Wert für den Buchstaben „E" entspricht. Daher ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 101b.
  • Bei Gelb auf Grün 665F ist das Blausignal 668F aus, oder schwarz, und leistet keinen Beitrag. Daher entspricht das Blausignal einem CRC-Wert für ein „normales" Leerzeichen, wobei das dritte Bit sowohl für den Vordergrund als auch für den Hintergrund aus ist. Das Grünsignal 667F erzeugt die ganze Hintergrundfarbe und ergibt mit dem Rotsignal 666F auch die gelbe Vordergrundfarbe. Daher ergibt der CRC-Wert für das Grünsignal ein „normales" Blockzeichen, wobei das dritte Bit sowohl für den Vordergrund als auch für den Hintergrund auf „1" gesetzt ist. Das Rotsignal trägt nur zum Vordergrund des „F" bei. Daher ergibt das Rotsignal ein „normales" Zeichen „F", wobei das erste Bit auf einen Vordergrund von „1" und einen Hintergrund von „0" gesetzt ist. Daher ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 010b.
  • Bei Schwarz (Vordergrund) auf Weiß (Hintergrund) 665G ist jedes Farbsignal identisch und ergibt den CRC-Wert für ein „invertiertes" Zeichen „G". 666G zeigt ein schwarzes „G" auf einem roten Hintergrund. Dementsprechend zeigt 667G ein schwarzes „G" auf einem grünen Hintergrund und 668G ein schwarzes „G" auf blauem Hintergrund. Zusammen erscheinen diese drei Farbsignale auf dem Bildschirm als schwarzes „G" auf einem weißen Hintergrund. Daher ergeben sich die Bitwerte: Vordergrund: 000b, Hintergrund: 111b.
  • Andere Zeichen werden auf entsprechende Weise behandelt, mit Ausnahme der Zeichen, die ein Blockzeichen oder ein Leerzeichen sind.
  • Wenn die Analyse aller drei Farbsignale ein Zeichen ergibt, das ein Blockzeichen 665X, 665Y, 665Z ist, wird der ASCII-Code für das Zeichen stets als Blockzeichen „hex DB" mit Vordergrund- und Hintergrundattributen gespeichert, die beide auf die Farbe des Blockzeichens gesetzt sind. Dieser Ansatz verbessert die Verarbeitungsleistung, wie weiter unten erläutert.
  • 665X zeigt ein schwarzes Blockzeichen. Alle Farbsignale 666X, 667X, 668X sind aus, oder schwarz. Der CRC-Wert für jedes Farbzeichen 666X, 667X, 668X wird in ein „normales" Leerzeichen (ASCII hex 20) umgewandelt, doch das Zeichen 665X wird auf ein Blockzeichen (ASCII hex DB) mit einem Vordergrund 000b und einem Hintergrund 000b gesetzt.
  • 665Y zeigt ein weißes Blockzeichen. Alle Farbsignale 666Y, 667Y, 668Y sind an. Der CRC-Wert für dieses Zeichen wird bei jedem Farbsignal in ein Blockzeichen (ASSII hex DB) umgewandelt. Daher ergeben sich die Bitwerte: Vordergrund: 111b, Hintergrund: 111b.
  • 665Z zeigt ein gelbes Blockzeichen. Das Blausignal 668Z ist aus, oder schwarz, und leistet keinen Beitrag, da es in ein „normales" CRC-Leerzeichen umgewandelt wird. Rot 666Z und Grün 667Z sind sowohl im Vorder- als auch im Hintergrund, um zusammen das gelbe Blockzeichen zu ergeben. Der CRC-Wert für dieses Zeichen wird in den ASCII-Wert von „hex DB" umgewandelt. Daher ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 110b.
  • Die ASCII-Zeichen „hex 00" (Nullzeichen) und „hex FF" werden (auf dem Bildschirm) identisch wie ein Blockzeichen 666X, 666Y angezeigt. Gegenwärtig werden diese Zeichen in ein Blockzeichen (hex DB) umgewandelt. Der ASCII-Code 00 wird benutzt, um ein Zeichen darzustellen, dessen CRC-Wert unbekannt (in der CRC-Bezugstabelle nicht vorhanden) ist. Dies kann aus zwei Gründen vorkommen. Erstens, wenn das Videosignal durch Rauschen oder andere Störungen verfälscht wird, und zweitens, wenn das Zeichen vom blinkenden Cursor des Host-PCs periodisch verdunkelt wird. Der ASCII-Code „hex FF" ist als un gültiges Zeichen definiert und wird verwendet, um ASCII-Videodatenbereiche zu löschen (initialisieren).
  • Wie oben erwähnt, wird ein „normales" Zeichen als eine Vordergrundfarbe auf schwarzem Hintergrund definiert, wie z.B. 666F. Ein invertiertes oder „hervorgehobenes" Zeichen dagegen wird als Schwarz auf einer Hintergrundfarbe definiert, wie z.B. 666G. Eine Zeichen-CRC gibt nur an, ob ein bestimmtes Zeichen normal oder invertiert ist, je nachdem, ob das entsprechende Farbsignal in ein Zeichen mit dem „normalen" oder „invertierten" Zeichensatz umgewandelt wird. Bei der Analyse des roten, grünen und blauen Zeichens kann jedes Zeichen einer der folgenden ASCII-Codes sein: Ein Leerzeichen (hex 20) 666X, ein Blockzeichen (hex DB) 666Y oder der ASCII-Code für ein bestimmtes Zeichen 666F oder 666G. Bei der Ableitung der drei Vordergrund- und Hintergrundfarbwerte wird wie folgt vorgegangen: Wenn das Zeichen in einer bestimmten Farbe ein Leerzeichen ist, das ganz schwarz ist, dann wird sowohl das Vordergrundbit als auch das Hintergrundbit für diese Farbe auf null gesetzt. Wenn es ein farbiges Blockzeichen ist, dann wird sowohl das Vordergrundbit als auch das Hintergrundbit für diese Farbe auf eins gesetzt. Sonst wird das Farbbit durch den Merker „normal/invertiert" des Zeichens gesetzt: „normal" setzt das Vordergrundbit und „invertiert" setzt das Hintergrundbit.
  • Wenn bei der Ermittlung eines Zeichencodes alle drei Farbzeichen entweder Leer- oder Blockzeichen (wie 665X, 665Y, 665Z) sind, dann ist das Zeichen ein Blockzeichen 665X. Sonst ist das Zeichen kein Leer- oder Blockzeichen, sondern ein anderes Zeichen (wie z.B. 665F), das gefunden wird. Wenn mehr als ein Zeichen vorliegt, das kein Leer- oder Blockzeichen ist, müssen diese Zeichen gleich sein. Wenn zwei solche Zeichen vorliegen und nicht gleich sind, wird das Zeichen auf hex 00 (unbekanntes Zeichen) gesetzt. Auch bei einem unbekannten Farbzeichen (CRC-Wert nicht erkannt) wird das erhaltene Zeichen auf „hex 00" gesetzt.
  • Der Zeichenvergleich zur Feststellung der Änderungen, wie oben erwähnt, verwendet sowohl den ASCII-Code als auch die Farbattribute. Wenn sich die Vordergrundfarbe von einem Zeichen zum nächsten ändert, wird diese Farbänderungsinformation verarbeitet. Wenn sich die Hintergrundfarbe von einem Zeichen zum nächsten ändert, dann wird diese Farbänderungsinformation verarbei tet. Wenn sich der Zeichencode ändert, wird das neue Zeichen verarbeitet. Blockzeichen (ASCII-Code hex DB) erfordern besondere Aufmerksamkeit, da sie je nach Vordergrund- und Hintergrundfarbwert als Leerzeichen interpretiert werden können. Wenn zum Beispiel Weiß-auf-Schwarz-Text verarbeitet wird, wie. z.B. 665A, dann ist das schwarze Blockzeichen 665X ein Leerzeichen (hex 20) und das weiße Blockzeichen 665Y ein Blockzeichen (hex DB). Wenn aber Schwarz-auf-Weiß-Text verarbeitet wird 665G, dann wird das Leerzeichen 665X zu einen Blockzeichen, da die Voerdergrundfarbe Schwarz ist. Entsprechend wird das weiße Blockzeichen 665Y ein Leerzeichen, da die Hintergrundfarbe Weiß ist. Dies wird ermittelt, indem die Farbattribute des zuvor verarbeiteten Zeichens geprüft werden. Wenn der ganze Bildschirm leer ist (es werden nur Leerzeichen angezeigt), kann dies als 2000 Leerzeichen mit schwarzem Hintergrund oder als 2000 Blockzeichen (schwarzer Vordergrund) interpretiert werden. Dies spielt keine Rolle, da beides gleich ist. Der einzige Grund, Leerzeichen von Blockzeichen zu differenzieren, ist die Effizienz, da nur der ASCII-Code verarbeitet werden muß, und nicht die Vordergrund- und Hintergrundinformation. Da Bildschirme typischerweise erhebliche Mengen an Leerzeichen enthalten, wird die Gesamtleistung des Videosignalumwandlungsprozesses erhöht, wenn die Notwendigkeit der Verarbeitung der Vordergrund- und Hintergrundinformation entfällt.
  • Aus der obigen Diskussion ist für den Fachmann ersichtlich, daß die Farbattribute der Zeichen, die auf dem Bildschirmgerät des Host-PCs angezeigt werden, mit der vorliegenden Erfindung interpretiert und an einen Fern-PC übertragen werden können. Die oben aufgeführten Beispiele veranschaulichen das von der vorliegenden Erfindung verwendete Verfahren, das verwendet werden kann, um die Farbattribute aller Zeichen zu ermitteln, die auf dem Bildschirmgerät des Host-PCs angezeigt werden.
  • Wenn Videotext anfangs für den Fernzugriff verarbeitet wird, wird der aktuelle Bildschirm 663A mit „hex DB" (Blockzeichen) initialisiert, und die Farbattribute 663B werden auf null (schwarzer Vorder- und Hintergrund) initialisiert. Diese zwei Datenbereiche enthalten die aktuell erfaßten Textdaten und stellen einen leeren Bildschirm dar. Jeder neu erfaßten Textbildschirm wird dann mit diesen aktuellen Bildschirmdaten verglichen, und nur die Änderungen werden verarbeitet (d.h. entweder an TVLINK.EXE gesendet oder protokolliert) und in den aktuellen Bildschirmdaten aktualisiert. Dadurch, daß die aktuellen Bildschirmdaten mit „hex DB" und Farbattributen auf null initialisiert werden, ist nur der erste erfaßte nicht leere Bildschirm mit Sicherheit verschieden und muß daher vollständig verarbeitet werden. Danach werden nur die Änderungen verarbeitet. Die anfänglichen Textdaten und die nachfolgenden Änderungen werden von der Steuer-CPU an den Fern-PC übertragen. Dadurch, daß nur Änderungen über die relativ langsamen Telefonleitungen übertragen werden, läßt sich die zur Übertragung der Videoanzeigeinformation vom Host-PC an den Fern-PC benötigte Zeit erheblich reduzieren. Durch Datenkompressionstechniken, die dem Fachmann vertraut sind, läßt sich die zur Datenübertragung an einen Fern-PC benötigte Zeit weiter reduzieren.
  • Um Videotext zu protokollieren, werden die Videotextdaten erst erfaßt und dann in den Datenbereichen „aktueller Bildschirm" 663A und „Basisbildschirm" 664A sowie in den Datenbereichen „Farbattribute" 663B, 664B gespeichert. Nachdem die neu erfaßten Textdaten mit den aktuellen Bildschirmdaten verglichen wurden, werden nur die Änderungen von der Routine „Bildschirm protokollieren" 623E im Datenbereich „Änderungsprotokoll" 664C gespeichert und dann in den aktuellen Bildschirmdaten aktualisiert. Wenn der Datenbereich „Änderungsprotokoll" 664C voll ist, werden die ältesten Änderungen in den Basisbildschirm 664A aufgenommen, wodurch mehr Speicherplatz 664C freigegeben wird.
  • Einige Fernbenutzer können auf die Farbattribute verzichten wollen, um die Übertragung der Textdaten zu beschleunigen. Gegenwärtig hat der Fernbenutzer (über das Programm TVLINK.EXE, das auf dem Fern-PC ausgeführt wird und später beschrieben wird) die Möglichkeit, eines von drei Farbsignalen zu wählen, statt der Farberkennung mit allen drei Farbsignalen, wie zuvor beschrieben. Wenn ein Farbsignal gewählt wird, verarbeitet die Video-CPU nur dieses Farbsignal und sendet normale und invertierte Videotextdaten zurück. Im manchen Fällen können die Zeichen nur durch andere Farbsignale als das gewählte gebildet werden. In diesen Fällen kann das korrekte Zeichen nicht ermittelt werden. Beispielsweise kann ein blaues Zeichen auf einem schwarzen Hintergrund nicht mit dem Grün- oder Rotsignal erkannt werden.
  • Die Tastaturschnittstelle der Steuer-CPU emuliert die Tastatur des Host-PCs. Tastatursignale (von der Tastatur oder von der Steuer-CPU) durchlaufen zwei Etappen, bevor sie das auf dem Host-PC ausgeführte Anwendungsprogramm erreichen. Das Anwendungsprogramm kann das Programm DOS COMMAND.COM umfassen. Wenn eine Taste gedrückt und/oder losgelassen wird, sendet die Tastatur ein oder mehrere serielle Datenbytes an den Host-PC. Die Bytes werden von einem dedizierten Mikrocontroller im Host-PC verarbeitet, der diese Information in Abtastcodes umsetzt und über den Interrupt 9 mit den Zentralprozessoren des Host-PCs (zum Beispiel ein 80386-Mikroprozessor) in Verbindung ist. Dieser Interrupt ruft eine BIOS-Routine auf, die den Abtastcode in einen ASCII- (oder erweiterten) Zeichencode umwandelt und diesen in einen Pufferspeicher für die aktuelle Anwendung ablegt. Auch wenn einige Anwendungen das BIOS umgehen können und direkt auf diesen Interrupt zugreifen können, wird der Betrieb der Erfindung dadurch nicht beeinflußt. Beispiele für erweiterte Zeichencodes sind die Tasten POS1, PFEIL-NACH-LINKS und EINFÜGEN.
  • Die Tastatur verwendet ein bidirektionales, synchrones serielles Protokoll (8 Bit plus Parität) für den Datenaustausch mit dem Host-PC, und die Steuer-CPU emuliert diese Schnittstelle, wenn ein Fernbenutzer auf den Host-PC zugreift. 5K zeigt die Tastaturtaktsignale 671A und Tastaturdatensignale 670A. Diese Signale werden durch einen Pull-up-Widerstand auf einen hohen Pegel (logisches Hoch) von 5 Volt gehalten. Der Host-PC oder die Tastatur legt an diese Leitungen durch einen Treiber mit potentialfreiem Ausgang einen niedrigen Pegel (0 Volt) an. Für jedes übertragene Bit werden zuerst die Daten gesendet (hoher oder tiefer Pegel) (z.B. 670D), wonach das Taktsignal ca. 50 Mikrosekunden lang auf einen niedrigen Pegel gebracht wird (z.B. 671C). Die Datenübertragung wird von der Tastatur gesteuert, nicht vom Host-PC. D.h., wenn Daten vom oder zum Host-PC getaktet werden, wird das Taktsignal von der Tastatur erzeugt.
  • Wenn eine Taste gedrückt wird, sendet die Tastatur ein Byte oder Bytes an die Host-CPU. Zuerst sendet sie ein serielles „Startbit" 670B und einen Taktimpuls 671B, dann sendet sie das erste Datenbit 670C und so weiter, bis das 8. Datenbit 670E und das Paritätsbit 670F getaktet wurden. Dann wird ein Stopbit 670G mit dem Taktimpuls 671D gesendet. Dadurch wird die Datenübertragung beendet. Wenn der Taktimpuls dabei auf einen hohen Pegel gebracht wird 671E, legt der Host-PC in der Taktleitung einen niedrigen Pegel an. Dieser bleibt niedrig 671F, bis der Host-PC die Verarbeitung dieses Datenbytes abgeschlossen hat, wonach die Taktleitung einen hohen Pegel annimmt 671G und die Tastatur ein anderes Byte senden kann. 670A und 671A zeigen das Protokoll für Tastenanschläge wie zum Beispiel „A" bis „Z", der Datenfluß ist von der Tastatur zum Host-PC.
  • Bei Tasten wie „CAPS-LOCK", „NUM-LOCK" und „SCROLL-LOCK" findet der Datenfluß in beide Richtungen statt. D.h., das Host-PC steuert den Status dieser Funktionen. Wenn zum Beispiel die Zahlenfeststelltaste „NUM-LOCK" gedrückt wird, sendet die Tastatur diese Information an den Host-PC, wonach der Host-PC den Status aller drei Funktionen sendet, der die Leuchten „CAPS-LOCK„, „NUM-LOCK" und „SCROLL-LOCK" auf der Tastatur aktiviert. Das Takt- und Datenprotokoll dafür wird in 672A und 673A gezeigt. Wenn die Taste „NUM-LOCK" gedrückt wird, beginnen das Startbit 672B und der erste Taktimpuls 673B die Übertragung des Bytes. Nachdem das Byte übertragen wurde, bringt die Tastatur die Taktleitung auf einen hohen Pegel 673C, der vom sofort vom Host-PC sofort wieder auf einen niedrigen Pegel 673D gesenkt wird, um besetzt anzuzeigen. Während dieser Zeit setzt der Host-PC die Datenleitung auf einen niedrigen Pegel 672C, um eine Datenübertragung von der Tastatur anzufordern. Wenn dies passiert, wartet die Tastatur, bis der Host-PC die Taktleitung wieder auf einen hohen Pegel 673E setzt, und dann erzeugt die Tastatur die Taktimpulse 673F. Das Datensignal bei 672C dient übrigens auch als Startbit. Bei jedem Taktsignal verschiebt die Tastatur die Daten 673D des Host-PCs in ihren Speicher. Nach erfolgter Übertragung setzt die Tastatur die Taktleitung auf einen hohen Pegel 673H, und der Host-PC setzt sie wieder auf einen niedrigen Pegel 673G, um „besetzt" anzuzeigen. Dann setzt der Host-PC die Taktleitung auf einen hohen Pegel 673J, um anzeigen, daß er für mehr Tastaturdaten bereit ist. Wenn der Host-PC mehr Daten hat, nachdem der Host-PC die Taktleitung auf den niedrigen Pegel 673G gesetzt hat, wird die Datenleitung wieder auf den niedrigen Pegel gesetzt, wie bei 672C gezeigt, und eine neue Datenübertragung vom Host-PC zur Tastatur findet statt.
  • Hier endet die Übersicht über des Takt- und Datenprotokoll. Obwohl Ein-Byte-Übertragungen beschrieben wurden, um die Mechanismen des bidirektionalen Datenaustauschs zu erläutern, werden tatsächlich mehrere Bytes übertragen, wenn eine Taste gedrückt und losgelassen wird oder eine Feststelltaste („NUM-LOCK", usw.) aktiviert ist. Tasten wie „Print-Screen" (Druck), „Sys-Req.". oder „CLT-Break" weisen auch ihr eigenes Mehrbyteprotokoll auf.
  • 6A zeigt den Haupttrainingsbildschirm 681, der gegenwärtig vom Programm TVTRAIN.EXE erzeugt wird, das mit der Vorrichtung geliefert wird.
  • Die Verarbeitungsparameter, die benötigt werden, um die Videosignale von einer Bildschirmkarte in Digital- oder Textdaten umzuwandeln, können von Bildschirmkarte zu Bildschirmkarte verschieden sein und unterliegen den Änderungen in der Bildschirmkartentechnologie. Das Programm TVTRAIN.EXE wird auf dem Host-PC aufgerufen. Das Programm ermöglicht der Hosteinheit, die realen Videoausgabesignale einer Bildschirmkarte zu decodieren, einschließlich der Videorastersignale, anhand bekannter Daten, die auf dem Bildschirm angezeigt werden, um die genauen Verarbeitungsschritte abzuleiten, die notwendig sind, um die Ausgabe der Bildschirmkarte zu decodieren. Dieser Ansatz erlaubt der Hosteinheit, Videosignale unabhängig von der verwendeten Bildschirmkartentechnologie zu verarbeiten. Diese Verarbeitungsparameter werden im nicht flüchtigen RAM-Speicher der Hosteinheit in Form von Datentabellen gespeichert, auf welche von den Softwareprogrammen Bezug genommen wird, die in der Video-CPU der Hosteinheit ausgeführt werden, um die Videosignale der Hosteinheit decodieren. Wenn der TVTRAIN.EXE-Vorgang einmal für einen Host-PC erfolgreich durchgeführt wurde, braucht er nicht wiederholt zu werden, außer, wenn die Bildschirmkarte oder das Bildschirmgerät des Host-PCs ausgetauscht wird oder ein neuer Host-PC an die Hosteinheit angeschlossen wird.
  • Wenn TVTRAIN.EXE auf einem Host-PC aufgerufen wird, wartet der Host-PC auf eine bestimme Reihe von Tastenanschlägen, die von der Hosteinheit gesendet wird, um den Trainingsvorgang zu starten. Danach steuert die Hosteinheit die Aktivität des Programms TVTRAIN.EXE über Tastatureingaben zum Host-PC. Nachdem TVTRAIN.EXE auf dem Host-PC aufgerufen wurde, muß der Impulsschalter auf der Vorderseite der Hosteinheit gedrückt werden, um die Hosteinheit anzuweisen, daß sie mit dem Senden von Tastaturdaten an den Host-PC beginnen soll. Danach steuert die Hosteinheit TVTRAIN.EXE weiter über Tastatureingaben, bis der Trainingsvorgang abgeschlossen ist. Während das Training durchgeführt wird, blinkt die Anzeigelampe „Setup Mode" auf der Vorderseite der Hosteinheit.
  • Während des Trainingsvorgangs wird auf dem Bildschirmgerät des Host-PCs gegenwärtig ein Bildschirm wie in 4A angezeigt. Dieser Bildschirm verwendet nur Schwarz und Grau oder Weiß, außer bei anderslautender Angabe.
  • Die gestrichelte waagerechte Linie, die bei 683 anfängt, zeigt 40 Halbblockzeichen (hex DF) des ASCII-Zeichensatzes. Jedes dieser Zeichen alterniert mit einem Leerzeichen. Die nächste, durchgezogene waagerechte Linie, die bei 684 anfängt, enthält 80 Halbblockzeichen (hex DF), die einen durchgezogenen Balken bilden. Die dritte, senkrechte Linie, die bei 685 anfängt und bis zur vierundzwanzigsten Zeile 687 durchgezogen ist, enthält ein Zeichen „hex B1" in der ersten Spalte (das bei 680A auch vergrößert dargestellt ist). Die fünfundzwanzigste Linie (d.h. Zeile) enthält 80 Zeichen (hex DC), die wie gezeigt bei 688 beginnen.
  • Als erster Schritt des Trainingsvorgangs wird die Polarität des Horizontal- und Vertikalsynchronisationssignals bestimmt, und dann werden die Videoverarbeitungsschaltungen von der Video-CPU der Hosteinheit initialisiert, um Videodaten zu verarbeiten (die Latch-Schaltung „CRC konfigurieren" wird auf null gesetzt). Bei 8 Pixeltaktsignalen pro Zeichen und 80 Zeichen pro Zeile sind insgesamt 640 Pixeltaktimpulse erforderlich. Jedes dieser Pixeltaktimpulse wird bei einem kleinen Standardwert initialisiert, mit einer Auflösung von etwa 25 Nanosekunden.
  • Dann wird das grüne Analogsignal gewählt und das Bild wird erfaßt, um festzustellen, ob das Videosignal analog oder TTL ist. Die Videodaten werden dann auf eine Schwarzweißaktivität hin abgetastet, die gefunden wird, wenn die Daten für 683 vorliegen. Wenn die Daten nur Nullen oder nur „FF" sind, dann ist der Bildschirm nicht analog und das TTL-Grünsignal wird gewählt, wonach die Bildschirmaktivität wieder geprüft wird. Wenn immer noch kein Bild erkannt wird, weist die Video-CPU die Steuer-CPU an, über die Tastaturschnittstelle einen Tastenanschlag an den Host-PC zu senden, um TVTRAIN anzuweisen, eine Fehlermeldung anzuzeigen. Sonst wird der Trainingsvorgang fortgesetzt.
  • Als nächstes wird ein Bildschirm erfaßt. Erstens muß die Zahl der nicht anzeigbaren horizontalen Abtastzeilen 682 ermittelt werden. Dies wird erreicht, indem je 80 Bytes (eine Abtastzeile) abgezählt werden, bis eine Abtastzeile gefunden wird, die nicht leer ist (d.h. 683). Zweitens werden die Abtastzeilen von der ersten nicht leeren Abtastzeile 683 an gezählt, bis die nächste waagerechte Linie (d.h. 684) ge funden wird. Dies ergibt die Zahl der horizontalen Abtastzeilen, die erforderlich sind, um ein Zeichen darzustellen.
  • Mit dieser Information setzt der Trainingsvorgang die Erfassung des Videobilds fort, wobei er die beiden ersten Zeilen 683, 684 ignoriert, und beginnt, die Pixeltaktsteuerung mit Hilfe der senkrechten Linie zwischen 685 und 687 zu regeln. Diese Spalte 685 wird bei 680A detaillierter dargestellt. Das weiße Quadrat 680B zeigt das erste Pixel des Zeichens „hex B1". Das schwarze Quadrat 680C zeigt das erste Pixel der nächsten Abtastzeile. Die durch 680D angezeigte Reihe aus weißen und schwarzen Quadraten stellt das erste Zeichen in seiner Gesamtheit dar. Im VGA-Modus sind 16 horizontale Zeilen erforderlich, um ein Zeichen zu bilden. Das nächste Zeichen, das bei 680E gezeigt wird, folgt direkt auf das erste Zeichen, so daß eine ununterbrochene Reihe von alternierenden Pixeln (d.h. von 680B, 680C nach unten) erzeugt wird. Die senkrechte Spalte aus B1-Zeichen, die durch 685 bis 687 angezeigt wird, umfaßt im VGA-Textmodus 352 horizontale Abtastzeilen (16 Abtastzeilen × 22 Zeilen). Bei einigen monochromen Bildschirmkarten, die 8 Abtastzeilen je Zeichenzeile verwenden, sind nur 176 Abtastzeilen vorhanden. In jedem Falle werden 100 Abtastzeile der Spalte 685 bis 687 für den Trainingsvorgang benutzt.
  • 6B zeigt die ersten vier horizontalen Abtastzeilen von 680A und die zugehörigen Datenströme. Das Pixel 680B wird bei 690B erneut gezeigt. Die 8 Zeichenpixel ab 690B sind bei 690F als Datenstrom dargestellt. Dementsprechend ist 690C bei 690G, 690D bei 690H und 690E bei 690J dargestellt. Die korrekt positionierten Pixeltaktsignale werden auf der Linie gezeigt, die bei 690K beginnt. Korrekt positioniert heißt, daß die Pixeltaktsignale die Pixeldaten zuverlässig ohne synchronisationsstörungsbedingte Fehler erfassen. Das Pixeltaktsignal 690M erfaßt das erste Pixel oder Datenbit, die folgenden 7 Pixeltaktsignale erfassen die restlichen 7 Pixel, um ein Datenbyte für jede Abtastzeile zu erzeugen. Der Wert dieses Bytes für 690B, 690F ist 55 hexadezimal oder 01010101 binär. Der Wert des nächsten Bytes für 690C, 690G ist AA hexadezimal oder 10101010 binär. Das erste Pixel ist das hochwertigste Bit (MSB) des resultierenden Bytewerts.
  • Wie gezeigt, ist das erste Pixel 680B des Zeichens „hex B1" in Null-Datenbit, und 690C ein Eins-Datenbit. Bei einigen Bildschirmkarten wird das Zeichen „hex B1" aber invertiert. Das heißt, das erste Pixel 680B des Zeichens „hex B1" ist ein Eins- Datenbit, und 690C ein Null-Datenbit. Da die Hosteinheit den an jeder Stelle des Bildschirms zu erwartenden Zeicheninhalt kennt, kann die Hosteinheit diese Umkehrung automatisch erkennen, was zeigt, wie diese Vorrichtung durch diesen Trainingsvorgang an diverse Bildschirmkarten angepaßt werden kann.
  • Eine wichtige, am Trainingsvorgang beteiligte Unterroutine bewertet, ob die Position eines Pixeltaktimpulses relativ zu den Videopixeldaten korrekt ist. Diese Routine verarbeitet 100 Abtastzeilen. Jede Abtastzeile wird zu 80 Bytes digitalisiert, wobei jedes Byte eine Abtastzeile eines Zeichens darstellt. Vor dem Aufruf dieser Unterroutine wird ein INDEX- und ein MASK-Wert gesetzt. INDEX wählt eines der 80 Bytes auf dem Bildschirm. INDEX startet bei null, der Spalte ganz links, läuft quer über den Bildschirm und endet jeweils bei 79, der Spalte ganz rechts 689B. MASK wählt eines der Bits innerhalb des Bytes, das von INDEX gewählt wurde. Der Kasten 690R zeigt eine Tabelle mit diesen MASK-Werten.
  • Im ersten Schritt dieser Unterroutine wird das Pixel 690B geprüft. Wenn es null ist, wird ein Zähler COUNTER inkrementiert. Dann wird das Pixel 690C geprüft. Wenn es nicht null ist, wird ein COUNTER auch inkrementiert. Dies wird für die Pixel 690D, 690E usw. wiederholt, wobei auf alternierende Pixelwerte geprüft wird, bis 100 Pixel gezählt wurden. Der Wert von COUNTER sollte nun gleich 100 sein, wenn ja, dann ist der Pixeltaktimpuls 690M korrekt. Wenn er kleiner als 100 ist, dann muß der Pixeltaktimpuls neu positioniert werden, und die Pixelspalte 690B wird neu geprüft. Wenn der Pixeltaktimpuls 690M korrekt positioniert wurde, wird der Pixeltaktimpuls 690N gewählt. Hier ist das erste Pixel in dieser Pixelspalte (rechts von 690B) eine Eins statt einer Null wie bei 690B.
  • Anfangs wird der INDEX für den Pixeltaktimpuls bei 690M auf null gesetzt, und MASK auf hex 80. Nachdem die Pixelspalte verarbeitet wurde, wird MASK nach rechts verschoben und wird zu „hex 40", um 690N zu prüfen, wird dann für 690O auf „hex 20" gesetzt, und auf „hex 10" für 690P, bis die achte Pixelspalte verarbeitet wurde und MASK gleich „hex 01" ist. Die acht Pixeltaktimpulse für diese Zeichenspalte (d.h. 685 bis 687) sind nun positioniert.
  • Die Video-CPU weist nun die Steuer-CPU an, einen Tastenanschlag an den Host-PC zu senden, der das Programm TVTRAIN.EXE anweist, die Spalte hex B1-Zeichen (685, 687) zur nächsten Spalte bei 689A zu verschieben. Der Trai ningsvorgang inkrementiert nun INDEX um eins und setzt MASK auf hex 80, um die Positionierung der nächsten 8 Pixeltaktimpulse 690Q vorzunehmen. Dieser Vorgang wird wiederholt, bis die letzte Spalte bei 689B verarbeitet wurde (bis INDEX gleich 79 ist) Die 640 Pixel werden nun korrekt von den Pixeltaktimpulsen erfaßt.
  • Wenn die horizontale Abtastzeile beginnt 690A, ist vor den sichtbaren Pixeln eine Leerfläche oder ein linker Rand vorhanden. Bevor der erste Pixeltaktimpuls bei 690M positioniert wird, kann er sich bei 690L oder an einer anderen Stelle befinden. Die Datenströme 680F, 690G, 680H, 690J usw. weisen hier alle einen Wert von null auf. Und wenn die oben beschriebene Unterroutine diese Daten verarbeitet, hat COUNTER einen Wert von 50, da nur die Hälfte der Pixel den korrekten Wert haben. D.h., sie sind alle null, während die Unterroutine alternierende Pixelwerte erwartet. Aufgrund dessen ermöglicht der Trainingsvorgang der Hosteinheit, die Leerflächen einer bestimmten Bildschirmkarte automatisch anzupassen, durch Überspringen der Situationen, in denen der vertikale Pixelzähler 50 ist.
  • Signalstörungen oder Rauschen während des Trainingsvorgangs können zu geringfügigen Verzerrungen im Pixelzähler COUNTER führen. Daher wird gegenwärtig bei der Einstellung der Pixeltaktimpulse eine Toleranz von plus oder minus 3% zugelassen. Und wenn ein Pixeltaktimpuls außerhalb dieses Bereichs liegt, wird die Verarbeitung für den Pixeltaktimpuls bis zu zehn mal automatisch wiederholt, um das Problem zu lösen. Wenn das Problem dann nicht behoben ist, wird der Trainingsvorgang abgebrochen und es wird eine Fehlermeldung angezeigt, die empfiehlt, eine andere Bildschirmkarte oder Hosteinheit zu verwenden.
  • 6C zeigt den Einfluß der Pixeltaktsteuerung auf den Wert des Zählers COUNTER. Die Wellenformen 692A und 692B zeigen mehrere Pixel aus zwei Abtastzeilen mit einer Synchronisationsstörung 692M. Die Wellenformen 692C, 692D, 692E, 692F, 692G, 692H, 692J zeigen den Pixeltaktimpuls von 690N an verschiedenen Positionen. Dieser Pixeltaktimpuls ist bei 692H korrekt für 690N positioniert. Der bei 692C gezeigte Pixeltaktimpuls ist für das vorhergehende Pixel 690M, 690B, 690C positioniert. Der COUNTER-Wert für diesen Pixeltaktimpuls ist null, da keines der Pixel korrekt ist. Wie erklärt, erwartet der Pixel taktimpuls 690N stets einen Pixelwert von eins 692K, gefolgt von einem Pixelwert von null 692L.
  • Bei 692D ist der COUNTER-Wert etwa 10, da aufgrund einer Synchronisationsstörung die Pixel in 10 Prozent der Fälle korrekt sind.
  • Bei 692E ist der COUNTER-Wert etwa 50. Bei 692F liegt der COUNTER-Wert ungefähr bei 90. Bei 692G ist der COUNTER-Wert nahe bei 100 (aufgrund ungenügender Synchronisation). Bei 692H ist der COUNTER-Wert 100. Bei 692J liegt der COUNTER-Wert wieder nahe bei 90.
  • Nachdem die Pixeltaktsteuerung festgelegt wurde, weist die Video-CPU die Steuer-CPU an, einen Tastenanschlag an den Host-PC zu senden, um das Programm TVTRAIN.EXE anzuweisen, den in 6D gezeigten Zeichensatz anzuzeigen. Es werden sowohl normale als auch invertierte (hervorgehobene) Zeichen angezeigt. Danach aktiviert die Video-CPU die CRC-Generierung, indem sie die Latch-Schaltung „CRC konfigurieren" auf den Wert „hex 83" setzt (wodurch die zwei niederwertigsten Bits und das hochwertigste Bit des Verschieberegisters 439 für die Rückkopplung 426 gewählt werden).
  • Dann wird das Videosignal erfaßt, um CRC-Werte für jedes Zeichen in 6D zu erzeugen. Gegenwärtig gibt es 512 mögliche Zeichen (256 normale, 256 invertierte) die im Textmodus auf dem Bildschirm des Host-PCs angezeigt werden können. Einige dieser Zeichen sind doppelt. Zum Beispiel werden der ASCII-Code null oder das Nullzeichen bei 698A und das Zeichen „hex FF" 698C auf dem Bildschirm nicht angezeigt und entsprechen dem Leerzeichen 698B, weshalb sie als Leerstelle (hex 20) interpretiert werden. Desgleichen ist das Blockzeichen (über dem Quadratwurzelzeichen und neben 698C) mit dem invertierten Nullzeichen 698D und einem invertierten Leerzeichen 698E identisch und wird daher als Blockzeichen interpretiert. Obwohl die ASCII-Codes in diesen zwei Zeichensätzen verschieden ist, ist die optische Information identisch.
  • Gegenwärtig werden nur die CRC-Werte für die in 6D gezeigten Zeichensätze verarbeitet. Zuerst werden sie auf Einmaligkeit hin überprüft (wobei doppelte oder identische Zeichen ignoriert werden). Wenn sie nicht einmalig sind, muß ein neuer Wert in die Latch-Schaltung „CRC config" 429 geschrieben wer den, z.B. „hex 85", usw. Das Videobild wird dann erneut erfaßt, und die Einmaligkeitsprüfung wird wiederholt. Wenn für die Latch-Schaltung „CRC config" ein geeigneter Wert gefunden wurde, der einmalige CRC-Codes für jedes Zeichen ergibt, wird der Videotrainingsvorgang fortgesetzt.
  • Wenn die Bildschirmkarte analog (nicht TTL) ist, weist die Video-CPU die Steuer-CPU an, einen Tastenanschlag über die Tastaturschnittstelle an den Host-PC zu senden, um TVTRAIN.EXE anzuweisen, in einen 16-farbigen Graphikmodus mit einer Auflösung von 640 × 480 umzuschalten und einen einzelnen waagerechten Streifen auf der Bildschirmoberseite anzuzeigen. Die Polarität des Horizontal- und des Vertikalsynchronisationssignals wird für diesen Modus ermittelt, dann werden die Videoverarbeitungsschaltungen initialisiert, um die Videodaten zu digitalisieren (die Latch-Schaltung „CRC konfigurieren" 429 wird auf null gesetzt). Dann wird die Zahl der horizontalen Abtastzeilen 682 ermittelt, die vor jedem sichtbaren Pixel liegen.
  • Alle Informationen, die während des Trainingsvorgangs gesammelt werden, einschließlich der Pixeltaktsteuerungsinformation und der Zeichen-CRCs, werden zur Steuer-CPU übertragen, um im nicht flüchtigen RAM-Speicher gespeichert zu werden. Ein Merker im nicht flüchtigen RAM-Speicher wird gesetzt, um anzuzeigen, daß der Trainingsvorgang der Hosteinheit erfolgreich abgeschlossen wurde, und die SETUP-Anzeigelampe 54 wird ausgeschaltet.
  • Wenn der Trainingsvorgang abgeschlossen ist, weist die Video-CPU die Steuer-CPU an, einen Tastenanschlag über die Tastaturschnittstelle an den Host-PC zu senden, um mitzuteilen, daß das Training erfolgreich abgeschlossen wurde. Dann kehrt der Host-PC zu seinem normalen Betriebssystem (z.B. DOS) zurück.
  • 7 ist ein Blockdiagramm, das die Softverarbeitung beschreibt, die gegenwärtig auf einem Fern-PC stattfindet. Die rechteckigen Objekte in diesem Diagramm stellen Softwareunterroutinen oder Menüanzeigen dar, die in der CPU des Fern-PCs aufgerufen werden können, wenn ein Programm (hier TVLINK.EXE genannt), das mit der Vorrichtung geliefert wird, ausgeführt wird. Die rautenförmigen Objekte stellen wichtige Verarbeitungsentscheidungen dar, die im Programm TVLINK.EXE auftreten. Die kreisförmigen Objekte, die Buchstaben enthalten, stellen eine Verbindung zum nächsten Verarbeitungs schritt im Blockdiagram dar, auf dem gleichen oder auf einem anderen Blatt. Linien mit Pfeilen zeigen die Richtung des TVLINK.EXE-Verarbeitungsflusses an.
  • Die TVLINK-Software wird auf jeden Fern-PC installiert, der auf die Hostsite(s) zugreifen soll. Die Verarbeitung von TVLINK.EXE beginnt bei Block 700 in 7A. Wenn das Programm zuerst aufgerufen wird, wird ein Systemhauptmenü 701 mit drei Verarbeitungsoptionen angezeigt. Die erste Menüoption, „System-Setup" 702, erlaubt die Anpassung des Systems an die spezifischen Bedürfnisse des Benutzers und an die Hardwarekonfiguration des Fern-PCs, wo das System installiert ist. Die zweite Menüoption, „Hostsite anrufen" 703, erlaubt dem Benutzer, von seinem Fern-PC aus die Anwahl einzuleiten und sich mit einem gewünschten Host-PC zu verbinden. Wenn diese Menüoption gewählt wird, wird eine Anrufliste 704 mit Hosteinheiten angezeigt, aus der gewählt werden kann. Diese Liste wird bei der Verarbeitung von „System-Setup" 702 angelegt und geführt. Wenn eine Hosteinheit aus der Liste gewählt wird, initialisiert das Programm die Verarbeitung für den Verbindungsaufbau zur gewählten Hostsite und verbindet sich dann mit der gewünschten Hosteinheit. Sobald die Verbindung hergestellt ist, wird ein Kennwort von der Hosteinheit angefordert, mit einem Kennwortübertragungsschlüssel, der auf einer Zufallszahl basiert, weshalb das übertragene Kennwort nach einem Verfahren entschlüsselt werden muß, das dem Schlüssel entspricht. Dieser Ansatz erschwert das Entschlüsseln eines Kennworts, das von einem Fern-PC zu einer Hosteinheit übertragen wird, durch Anzapfen der Übertragungsleitung. Wenn von der Hosteinheit ein ungültiges Kennwort empfangen wird, wird ein Zähler „Sitzungssperre" für die Hosteinheit um eins inkrementiert. Wenn dieser Zähler einen den für die Sitzung eingestellten Grenzwert übersteigt (siehe unten die Verarbeitung von Block 734), wird der Benutzer für die aktuelle Sitzung von allen weiteren Zugriffsversuchen ausgeschlossen und ein Sperrzähler, der im nicht flüchtigen RAM-Speicher der Hosteinheit gespeichert wird, wird um eins inkrementiert. Wenn der Sperrzähler den Grenzwert für die Hosteinheit übersteigt (siehe unten die Verarbeitung von Block 734), wird jeder Zugriff auf den Host-PC so lange gesperrt, bis der Impulsschalter auf der Vorderseite der Hosteinheit gedrückt wird.
  • Wenn eine Verbindung zur gewählten Hosteinheit 705 besteht, blendet das Programm TVLINK.EXE auf dem Bildschirm ein Menü mit zwei Optionen ein, das dem Fernbenutzer erlaubt, einen normalen Zugriffsmodus oder einen Nur- Betrachten-Modus zu wählen. Im normalen Modus hat der Benutzer den vollen Tastatur- und Bildschirmzugriff auf die Hosteinheit. Im Nur-Betrachten-Modus hat der Benutzer nur die Möglichkeit, die Ausgabe der Bildschirmkarte des Host-PCs zu betrachten. Dann geht die Verarbeitung zu Block 472 über. Wenn der Host-PC nicht eingeschaltet ist oder die Hosteinheit nicht korrekt mit dem Host-PC verbunden ist, gibt die Hosteinheit eine Fehlermeldung zurück, daß kein Hostvideosignal vorliegt, doch die Verbindung zur Hosteinheit wird aufrechterhalten, bis sie vom Fernbenutzer unterbrochen wird, damit das Bildschirmprotokoll übertragen werden kann, das in der Hosteinheit vorhanden ist. Wenn zu einer Hosteinheit 705 keine Verbindung hergestellt werden kann, erscheint auf dem Bildschirm des Fern-PCs eine geeignete Fehlermeldung, die angibt, warum die Verbindung nicht hergestellt werden konnte, und das Systemhauptmenü 701 wird wieder angezeigt. Die letzte Option des Systemhauptmenüs, „Beenden" 708 beendet die Verarbeitung des Programms TVLINK.EXE und kehrt zum Betriebssystem des Fern-PCs zurück.
  • Wenn das Programm TVLINK.EXE zum erstmals auf einem Fern-PC ausgeführt wird, wird zuerst die Menüoption „System-Setup" 702 gewählt, um (1) zu definieren, ob die Verbindung zu einem Host-PC im Modemverbindungsmodus oder im Direktleitungsverbindungsmodus erfolgt; (2) die Modemeinstellungen und -parameter 711 einzurichten, um das Modem am Fern-PC zu initialisieren und darauf zuzugreifen, wenn der Modemverbindungsmodus verwendet wird; (3) die Mauseinstellungen und -parameter 713 einzurichten, um die Nummer des seriellen Anschlusses zu definieren, an dem die Maus des Fern-PCs angeschlossen ist, wenn am Fern-PC eine serielle Maus vorhanden ist, die verwendet wird, um einen Host-PC zu steuern; und (4) das Anlegen der ANRUFLISTE 715 der Hosteinheiten, auf welche der Fern-PC zugreifen 715 kann. Nachdem diese anfänglichen Einstellungen vorgenommen wurden, kann die Menüoption „System-Setup" 702 gewählt werden, um die Systemkonfigurationsoptionen zu ändern oder zuvor eingetragene Optionen zu rekonfigurieren.
  • Wenn das Setup-Hauptmenü 710 gewählt wird, wird eine Liste mit vier Optionen angezeigt. Die Menüoption „Modemeinstellungen" erlaubt es, für das am Fern-PC angeschlossene Modem die Baudrate, die Nummer der seriellen Schnittstelle und die Zeichenkette zur Modeminitialisierung zu definieren. Wenn der Fern-PC nur in einem Direktleitungsverbindungsmodus betrieben wird, sollte keine Zeichenkette zur Modeminitialisierung eingetragen werden.
  • Wenn diese Option gewählt wird, sucht die Software 712 automatisch nach einem Hayes-kompatiblen Modem, das an einer seriellen Schnittstelle des Fern-PCs angeschlossen ist. Wenn das Modem nicht antwortet, ist das Modem ausgeschaltet (externes Modem), das Kabel zwischen Hosteinheit und Modem ist nicht richtig angeschlossen (externes Modem), oder ein serieller Interruptkonflikt verhindert den Zugriff auf das Modem, so daß der Setup-Vorgang davon ausgeht, daß der Direktleitungsverbindungsmodus verwendet wird.
  • Nachdem die Modemeinstellungen eingetragen oder geändert wurden, wird diese Information auf dem Massenspeichergerät des Fern-PCs gespeichert. Wenn die Baudrate und die Zeichenkette zur Modeminitialisierung auf die gewünschten Werte gesetzt wurden, kann die Escape-Taste gedrückt werden, um in das Setup-Hauptmenü 710 zurückzukehren. Wenn die Escape-Taste gedrückt wird und der Modemverbindungsmodus eingestellt ist, initialisiert die Software das Modem des Fern-PCs automatisch mit der angegebenen Baurate und Zeichenkette. Danach wird das im Host-PC installierte Modem bei jedem Aufruf des Programms TVLINK.EXE automatisch initialisiert, so daß diese Menüoption nicht mehr erneut ausgeführt zu werden braucht, es sei denn, im Fern-PC wird ein anderes Modem installiert, oder das Modem kann keine korrekte Verbindung zur Hosteinheit herstellen. Wenn alle notwendigen Änderungen an den Modemeinstellungen vorgenommen wurden, kann die Escape-Taste gedrückt werden, um zum SETUP-Menü zurückzukehren.
  • Die Menüoption „Mauseinstellungen" 713 erlaubt die Angabe der seriellen Schnittstelle des Fern-PCs, an der die Maus angeschlossen ist. Wenn die Nummer der seriellen Schnittstelle nicht angegeben wird, geht die Software davon aus, daß am Fern-PC keine Maus installiert ist. Sonst prüft das Programm TVLINK.EXE, ob an der angegebenen Schnittstelle eine Maus vorhanden ist, und zeigt eine Fehlermeldung an, wenn die Maus von der Software TVLINK.EXE nicht erkannt wird. Wenn eine gültige serielle Schnittstellen angegeben wird, wird die Nummer des gewählten Anschlusses in einer Konfigurationsdatei auf dem Massenspeichergerät des Fern-PCs gespeichert, so daß bei den nachfolgenden TVLINK.EXE-Sitzungen bekannt ist, ob und wo eine Maus am Fern-PC installiert ist. Wenn alle notwendigen Änderungen an der seriellen Mausschnittstelle vorgenommen wurden, kann die Escape-Taste gedrückt werden, um zum SETUP-Menü zurückzukehren.
  • Die Menüoption „Anrufliste aktualisieren" 715 gestattet, jede Hosteinheit zu definieren oder zu ändern 716, auf welche ein Fern-PC Zugriff hat. Bevor eine Hosteinheit angerufen werden kann, muß diese Hosteinheit in der Anrufliste des Fern-PCs definiert sein.
  • Die spezifischen Datenelemente, die gegenwärtig für jede Hosteinheit definiert werden müssen, auf die zugegriffen werden soll, umfassen: (1) Eine Ortsbeschreibung, die eine benutzerdefinierte alphanumerische Beschreibung der Hosteinheit ist, auf die zugegriffen werden soll, wie z.B. „SERVER XYZ", „VAST TAPE Unit" usw. (solche Beschreibungen erleichtern Benutzern mit Zugriff auf mehrere Hosteinheiten die Auswahl der gewünschten Hosteinheit); (2) eine Wählzeichenkette, die für die Anwahl und für die Verbindung mit dem Modem an der Hosteinheit erforderlich ist, wenn der Fern-PC im Modemverbindungsmodus betrieben wird; (3) ein alphanumerisches Kennwort, das nur berechtigten Personen, die das Kennwort kennen, den Zugriff auf eine spezifische Hosteinheit erlaubt; und (4) die Identifikationsnummer der Hosteinheit, auf welche zugegriffen werden soll.
  • Wenn eine Hosteinheit erstmals installiert wird, entspricht das Standardkennwort, das werkseitig eingestellt ist, der achtstelligen Seriennummer der Hosteinheit, die auf dem Etikett auf der Unterseite der Hosteinheit angegeben ist. Dieses numerische Kennwort muß im Fern-PC angegeben werden, das für den erstmaligen Zugriff auf eine neu installierte Hosteinheit verwendet wird. Wenn mit dem korrekten Kennwort erfolgreich auf die Hosteinheit zugegriffen wurde, kann das Kennwort wie unten bei Block 734 beschrieben geändert werden.
  • Neue Anruflisteneinträge können hinzugefügt werden, indem die Pfeil-nach-unten-Taste des Fern-PCs benutzt wird, um zur letzten Zeile in der Anrufliste zu gehen, die eine Leerzeile ist, welche die Eingabe der Daten für die neue Hosteinheit erlaubt, auf welche zugegriffen werden soll.
  • Ein Eintrag kann aus der Anrufliste gelöscht werden, indem die Pfeil-nach-oben- oder Pfeil-nach-unten-Taste des Fern-PCs benutzt wird, um die betreffende Zeile zu markieren, und dann die Taste F3, um die Zeile aus der Anrufliste zu löschen.
  • Ein Anruflisteneintrag kann geändert werden, indem die betreffende Zeile markiert wird, und die in der Zeile enthalten Daten dann wie gewünscht geändert werden. Es können verschiedene andere Tasten benutzt werden, um das Navigieren durch die Anrufliste zu beschleunigen. Eine Liste dieser Tasten wird in einem Einblendfenster angezeigt, sobald der Benutzer die Taste F1 drückt. Das Einblendfenster wird vom Bildschirm entfernt, wenn das Benutzer die Escape-Taste drückt.
  • Wenn alle notwendigen Änderungen in der Anrufliste durchgeführt wurden, kann die Escape-Taste gedrückt werden, um zum Setup-Menü zurückzukehren.
  • Die letzte Option des Setup-Hauptmenüs 710, „Zum Hauptmenü zurückkehren" 719, erlaubt die Rückkehr zum entsprechenden Systemhauptmenü-Bildschirm, der unten ab Block 742 beschrieben wird.
  • Die Menüzeile „Verbindungsoptionen" erscheint nur dann im Hostsystem-Hauptmenü 755, wenn eine aktive Verbindung zwischen dem Fern-PC und einer Hosteinheit besteht. Wenn es gewählt wird, wird das Hauptmenü „Verbindungsoptionen" 720 angezeigt, das gegenwärtig verschiedene Verarbeitungsoptionen enthält.
  • Die Verbindungsmenüoption „Bildschirmprotokoll abfragen" 721 erlaubt, die während einer Verbindungssitzung erfaßten Host-Bildschirmdaten zum Bildschirm eines Fern-PCs zu übertragen, um diese anzuzeigen 722.
  • Wenn der Fern-PC mit einem Host-PC verbunden ist, werden alle von der Hosteinheit empfangenen Videobildschirmdaten automatisch in einer Bildschirmprotokoll-Datendatei namens SCRNHIST.DAT auf dem Fern-PC protokolliert. Diese Datei wird bei jeder Initialisierung der TVLINK.EXE-Verarbeitung automatisch gelöscht.
  • Wenn die Verbindungsmenüoption „Bildschirmprotokoll anzeigen" gewählt wird, aktiviert das Programm TVLINK.EXE automatisch ein Unterprogramm VIEWHIST.EXE, um die Datei SCRNHIST.DAT für die aktuelle TVLINK.EXE-Sitzung anzuzeigen. Dies erlaubt die Anzeige aller Bildschirmdaten, die erfaßt wurden, seitdem das Programm TVLINK.EXE aufgerufen wurde. Das Bildschirmprotokoll kann mit der Pfeil-nach-oben- und Pfeil-nach-unten-Taste betrachtet werden. Die Escape-Taste kann gedrückt werden, um zum Verbindungsoptionen-Hauptmenü 720 zurückzukehren.
  • Die Verbindungsmenüoption „Farbmodus" 723 wird gewählt, um die aktive Hosteinheit auf einen spezifischen Farb- oder Monochromanzeigemodus einzustellen, der für die Erfassung der an einen Fern-PC zu übertragenden Bildschirmkartenausgabe gilt.
  • Wenn die Menüoption „Farbmodus" 723 gewählt wird, werden fünf Menüoptionen angezeigt, d.h. (1) Normaler Farbmodus, (2) Heller Farbmodus, (3) Grünsignalmodus, (4) Rotsignalmodus und (5) Blausignalmodus. Diese Menüoptionen bieten einem Fernbenutzer die Möglichkeit, die Bildschirmkarten-Textausgabe entweder im Farbmodus mit normaler bzw. großer Helligkeit oder im monochromen Modus mit dem Rot-, Blau- oder Grünsignal als Basis für die Decodierung der Bildschirmkartenausgabe an einen Fern-PC zu übertragen. Im hellen Farbmodus wird für die Vordergrundfarben eine helle Farbpalette verwendet, während die Hintergrundfarben normal bleiben.
  • Normalerweise ist die Hosteinheit in einem Standardanzeigemodus, bei dem der Videoprozessor der Hosteinheit nur die Grünsignalausgabe der Bildschirmkarte verwendet. Dieser Modus ist einer von drei möglichen monochromen Modi, ergibt normalerweise die schnellstmögliche Videoverarbeitung und bietet die größte Wahrscheinlichkeit, daß der von einer Farbbildschirmkarte angezeigte Text decodiert wird, und außerdem ist das Grünsignal bei einigen monochromen Bildschirmkarten das einzige Signal, das ausgegeben wird. Auch der Blausignal- und der Rotsignalmodus ergeben die schnellstmögliche Videoverarbeitung, doch wenn diese Modi gewählt werden, ist die Wahrscheinlichkeit der Decodierung des Blau- oder Rotsignals zu Zeichen geringer, da Host-PC-Farbanwendungen das Blau- oder Rotsignal typischerweise seltener verwenden als das Gründsignal.
  • Wenn der normale oder helle Farbmodus gewählt wird, nimmt die Geschwindigkeit der Video-CPU ab, da sie mehrere Signale zu decodieren hat, um die Farbe und das Textzeichen zu ermitteln. Daher wird der Text nicht so schnell am Fern-PC angezeigt, wenn einer der beiden Farbmodi gewählt wird. Doch die Farbwahl bietet die größte Wahrscheinlichkeit, daß die Textdatenausgabe einer Bildschirmkarte richtig decodiert wird.
  • Gegenwärtig wird für die Graphikmodi nur das von der Bildschirmkarte ausgegebene Grünsignal verwendet, ungeachtet der gewählten Menüoption. Wie oben erwähnt, würde der Zusatz zusätzlicher Hardware in der Videoverarbeitungsschaltung der Hosteinheit die Übertragung mehrfarbiger Graphiken an einen Fern-PC in angemessener Zeit erlauben.
  • Die Pfeil-nach-oben- und die Pfeil-nach-unten-Taste kann benutzt werden, um zum gewünschten Farb- oder Monochromanzeigemodus zu wechseln, und die Eingabetaste kann gedrückt werden, um diesen Modus zu wählen.
  • Wenn der gewünschte Anzeigemodus aus dem Menü gewählt wurde oder die Escape-Taste gedrückt wird, kehrt die Verarbeitung zum Menü „Verbindungsoptionen" 720 zurück.
  • Die Verbindungsmenüoption „Umschalten Host-/Femmodus" 725 wird gewählt, um den Modus einzustellen, der nach dem Verlassen des Hauptsystemmenüs aktiv wird, wenn eine Verbindung zu einer Hosteinheit aktiv ist. Jedes mal, wenn die TVLINK.EXE-Verarbeitung initiiert wird, wird die Hostmodusverarbeitung angenommen.
  • Ein Menü 726 mit zwei möglichen Modi erscheint, wenn die Menüoption „Umschalten Host-/Femmodus" 725 gewählt wird. Der gewünschte Modus wird mit der Pfeil-nach-oben- und der Pfeil-nach-unten-Taste markiert, dann wird die Eingabetaste gedrückt, um den Modus zu wählen.
  • Wenn die Menüoption „Fernmodus" gewählt wird, wechselt die letzte Menüoption im Systemhauptmenü von „Ausgang zum Hostmodus" zu „Ausgang zu DOS", wenn das Verbindungsoptionen-Hauptmenü 720 geschlossen wird. Auf dieser Basis bewirkt die Wahl der Option „Ausgang zu DOS", daß die Verar beitung des Fern-PCs die Anwendung TVLINK.EXE kurzzeitig verläßt und zum Betriebssystem des Host-PCs (z.B. DOS) übergeht, während die Verbindung zur Hosteinheit weiter bestehen bleibt. Sobald die DOS-Verarbeitung beendet ist, kann der Benutzer zum Systemhauptmenü zurückkehren, indem er in der DOS-Eingabeaufforderung „EXIT" eingibt. Das Herausgehen zu DOS während einer TVLINK.EXE-SITZUNG kann zum Beispiel notwendig sein, um das Verzeichnis zu finden, in dem sich eine Datei befindet, die zum Host-PC übertragen werden soll.
  • Wenn die Menüoption „Hostmodus" gewählt wird, ist die letzte Menüoption des TVLINK.EXE-Menüs „Ausgang zum Hostmodus". Wenn ein Fern-PC in den Hostmodus gesetzt wird, übernimmt der Fern-PC die Kontrolle über den Host-PC. In diesem Modus gibt der Bildschirminhalt des Fern-PCs den Bildschirminhalt des Host-PCs wieder, und die Tastatur und Maus (vorausgesetzt, die Mausoption ist installiert) des Fern-PCs werden umgeleitet, um Tastenanschläge/Mausdaten in den Host-PC einzugeben, statt in den Fern-PC. Und da die Tastatur, Maus und der Bildschirm des Fern-PCs so betrieben werden, als ob der Fernbenutzer vor dem Host-PC säße, muß eine vorgegebene Folge und/oder Kombination von Tastenanschlägen (d.h. Tastenkombination) vorgesehen werden, die bewirkt, daß der Fern-PC wieder in seinen normalen Betriebsmodus zurückkehrt. Gegenwärtig kehrt der Fern-PC in den normalen Betriebsmodus zurück, wenn die linke Shift-Taste dreimal in 2 Sekunden gedrückt wird. Und wenn der Benutzer im Hostmodus zweimal in 2 Sekunden die rechte Shift-Taste drückt, wird der Bildschirm des Fern-PCs aufgefrischt, indem die Hosteinheit veranlaßt wird, den gesamten aktuellen Bildschirminhalt des Host-PCs zu übertragen. Normalerweise überträgt die Hosteinheit nur die Änderungen, die auf dem Bildschirm des Host-PCs aufgetreten sind, um die Menge der an den Fern-PC übertragenen Daten zu minimieren. Gelegentlich können Abweichungen in den Signalen von der Bildschirmkarte des Host-PCs bewirken, daß die Hosteinheit die auf einem Bildschirm angezeigten Daten fehlinterpretiert und fehlerhafte Anzeigedaten an einen Fern-PC sendet. Dann kann der Bildschirm des Fern-PCs durch zweimaliges Tippen der rechten Shift-Taste aufgefrischt werden.
  • Wenn ein Fern-PC im Hostmodus ist, werden normalerweise alle Tastenanschläge, die an der Tastatur des Fern-PCs eingegeben werden, vom Programm TVLINK.EXE abgefangen und an die Hosteinheit übertragen, damit die Host einheit diese Tastenanschläge an den Host-PC übertragen kann. Dieser Vorgang erlaubt TVLINK.EXE auch, bei Bedarf andere Aktionen durchzuführen. Wie oben erwähnt, bewirkt gegenwärtig ein mehrfaches Tippen der linken oder rechten Shift-Taste, daß das Programm TVLINK.EXE eingeblendet und die TVLINK.EXE-Menüverarbeitung aktiviert wird. Und wenn die Taste „Drucken" gedrückt wird, wird dieser Tastenanschlag gegenwärtig von TVLINK.EXE zum Betriebssystem des Fern-PCs 2 durchgelassen, wodurch der Fern-PC den Bildschirminhalt des Host-PCs an einem Drucker ausgeben kann, der am Fern-PC angeschlossen ist. Andere derartige Verarbeitungsausnahmen können bei Bedarf vorgesehen werden (durch Änderung des Programmcodes von TVLINK.EXE), um dem Fernbenutzer die Möglichkeit zu geben, die Ressourcen seines Fern-PCs und die des Host-PCs besser zu verwalten.
  • Wenn ein Benutzer die linke Shift-Taste im Hostmodus dreimal in zwei Sekunden drückt, kehrt er zum Systemhauptmenü 741 zurück. Dieses Menü und andere Menüs werden über einem Teil des Host-PC-Bildschirms eingeblendet (d.h. überlagern diesen). Jede angezeigte Hostbildschirminformation wird weiter aktualisiert und bleibt hinter dem Einblendmenü auf dem Bildschirm des Fern-PCs sichtbar, bis die Verbindung zum Host-PC getrennt wird oder der Benutzer kurzzeitig zum PC-Betriebssystem (z.B. DOS) wechselt, wie bei Block 753 und 754 beschrieben.
  • Nachdem die Option Host- oder Fernmodus gewählt wurde, kehrt die Verarbeitung zum Menü „Verbindungsoptionen" 720 zurück.
  • Die Verbindungsmenüoption „Dateiübertragung" 727 wird gewählt, um Dateiübertragungen zwischen dem Host-PC und dem Fern-PC zu ermöglichen. Dateiübertragungen von einem Verzeichnis auf dem Fern-PC zu einem anderen Verzeichnis auf dem Fern-PC können durchgeführt werden, indem temporär zum PC-Betriebssystem gewechselt wird, wie oben in der Erläuterung zu Block 726 beschrieben. Dateiübertragungen von einem Verzeichnis auf dem Host-PC zu einem anderen Verzeichnis auf demselben Host-PC können durchgeführt werden, indem vom Systemhauptmenü aus die Option „Ausgang zum Hostmodus" gewählt wird, wonach die Ferntastatur (die umgeleitet wird, um die Tastatur des Host-PCs zu ersetzen) benutzt wird, um die Übertragung zum Beispiel mit dem DOS-Befehl „COPY" durchzuführen.
  • Um eine Dateiübertragung zwischen einem Host-PC und einem Fern-PC durchzuführen, muß die Hosteinheit korrekt mit einer der seriellen Schnittstellen des Host-PCs verbunden sein. Wenn diese Option Dateiübertragung gewählt wird, erscheint ein Menü mit zwei Optionen, die die Richtung der Dateiübertragung 728 definieren. Die erste Option erlaubt Dateiübertragungen vom Fern-PC zum Host-PC. Die zweite Option erlaubt Dateiübertragungen vom Host-PC zum Fern-PC. Die Dateiübertragungsverarbeitung kann durch Drücken der Escape-Taste abgebrochen werden. Wenn die Escape-Taste gedrückt wird, kehrt die Verarbeitung zum Menü „Verbindungsoptionen" 720 zurück.
  • Wenn die Richtung der Dateiübertragung festgelegt wurde, ist die Eingabe des Dateinamens erforderlich, um anzugeben, welche Dateien) kopiert werden sollen. Dieser Dateiname entspricht gegenwärtig dem normalen DOS COPY-Befehlsformat, das verwendet wird, um eine zu kopierende Quelldatei anzugeben. Zum Beispiel kann die Quelldatei C:\NETWARE\*.EXE, C:VREPAIR.COM oder \NETWARE\VREPAIR.COM sein. Wenn die Quelldatei angegeben wurde, muß gegenwärtig das Ziellaufwerk und der volle Verzeichnispfad eingegeben werden, wohin die Dateien kopiert werden sollen.
  • Nachdem die Quelldateien und das Zielverzeichnis angegeben wurden, wird die Dateiübertragungsverarbeitung automatisch gestartet, mit einem Dateiübertragungsprotokoll wie XMODEM, das dem Fachmann vertraut ist. Die Dateiübertragungsverarbeitung wird abgebrochen, wenn (1) die Escape-Taste gedrückt wird, (2) keine Quelldateien vorhanden sind oder das Quellaufwerk und/oder -verzeichnis ungültig ist, (3) die Hosteinheit nicht korrekt mit einer aktiven, verfügbaren seriellen Schnittstelle des Host-PCs verbunden ist, oder (4) das Ziellaufwerk und/oder -verzeichnis nicht vorhanden ist.
  • Wenn die Verarbeitung abgebrochen wird, wird eine entsprechende Fehlermeldung angezeigt, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Die Verbindungsmenüoption „Host-PC neu booten" 729 wird gewählt, um die Stromversorgung zum aktiven Host-PC etwa 15 Sekunden lang zu unterbrechen.
  • Ein „Kaltstart" des Host-PCs ist nur dann möglich, wenn der Netzstecker des Host-PCs in der Buchse „AC Out" auf der Rückseite der Hosteinheit steckt.
  • Wenn diese Menüoption gewählt wird, muß die Kaltstartanforderung bestätigt werden, indem die Frage „SIND SIE SICHER? (J/N) 730 mit „J" beantwortet wird. Wenn die Frage mit „N" beantwortet wird, wird die Kaltstartverarbeitung abgebrochen, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird, sendet der Fern-PC Anweisungen zur Hosteinheit, um die Stromversorgung des Host-PCs etwa 15 Sekunden lang zu unterbrechen. Sobald die Stromversorgung wiederhergestellt ist, startet der Host-PC neu, die Hosteinheit gibt eine Bestätigung an den Fern-PC zurück, daß der Neustart des Host-PCs durchgeführt wurde, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Die Verbindungsmenüoption „Zu neuer Hosteinheit wechseln" 731 wird gewählt, um von einer Hosteinheit in einer Verkettung zu einer anderen Hosteinheit in derselben Verkettung zu wechseln, ohne die Verbindung zwischen einem Fern-PC und einer Hostsite zu trennen.
  • Wenn an einer Hostsite nur die aktuell aktive Hosteinheit verfügbar ist, besteht kein Grund, diese Menüoption „Zu neuer Hosteinheit wechseln" zu wählen. Um von einer Hosteinheit zu einer anderen Hosteinheit an einer anderen Hostsite zu wechseln, muß zuerst die aktuell bestehende Modemverbindung getrennt werden, indem die Menüoption „Anruf beenden" 737 gewählt wird und dann eine neue Verbindung zur gewünschten neuen Hostsite hergestellt wird, wie bei Block 703 beschrieben.
  • Wenn die Option „Zu neuer Hosteinheit wechseln" 731 gewählt wird, wird eine Anrufliste 732 angezeigt, die alle definierten Hosteinheiten mit derselben Wählzeichenkette enthält.
  • Die Liste der Hosteinheiten wird angezeigt, um das Wechseln zwischen miteinander verketteten Hosteinheiten zu gestatten, ohne daß die bestehende Telefonverbindung unterbrochen werden muß. Die Escape-Taste kann gedrückt werden, um das Wechseln zu einer anderen Hosteinheit abzubrechen und zum Hauptme nü „Verbindungsoptionen" 720 zurückzukehren. Sonst wird die aktive Verbindung zur angeforderten Hosteinheit umgeschaltet, und die Verbindung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Die Pfeil-nach-oben- und die Pfeil-nach-unten-Taste kann benutzt werden, um die Liste der definierten Hosteinheiten durchzublättern. Sobald die gewünschte Hosteinheit markiert ist, kann die Eingabetaste gedrückt werden, um zur neuen Hosteinheit zu wechseln.
  • Wenn die neue Hosteinheit nicht verfügbar ist oder das für die neue Hosteinheit verwendete Kennwort falsch ist, wird auf dem Bildschirm des Fern-PCs eine entsprechende Fehlermeldung angezeigt, die Verbindung zum zuletzt aktiven Hosteinheit wird wieder hergestellt, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst schaltet die aktive Verbindung zur angeforderten Hosteinheit um, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Wenn die Option „Hosteinheit-Kennwort ändern" 733 gewählt wird, fordert das System die Eingabe eines neuen Kennworts für die aktuell aktive Hosteinheit an 734. Die Option „Hosteinheit-Kennwort ändern" erlaubt das Festlegen eines neuen Kennworts für die aktuell aktive Hosteinheit. Wenn das Kennwort geändert wurde, wird der Anruflisteneintrag für die betreffende Hosteinheit automatisch aktualisiert, um das neue Kennwort wiederzugeben. Gegenwärtig wird das Kennwort einer Hosteinheit werksseitig auf die Seriennummer der Hosteinheit eingestellt.
  • Wenn die Option „Hosteinheit-Kennwort ändern" gewählt wird, wird der Benutzer aufgefordert, ein neues Kennwort einzugeben, das bis zu 8 Stellen lang sein kann. Die Kennwort-Änderungsverarbeitung kann durch Drücken der Escape-Taste abgebrochen werden. Wenn die Escape-Taste gedrückt wird, kehrt die Verarbeitung zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst wird die Hosteinheit nach der Eingabe des neuen Kennworts für das neue Kennwort aktualisiert.
  • Wenn das Kennwort aktualisiert wurde, wird der Benutzer aufgefordert, die Zahl der Versuche zu ändern, die ein Benutzer während einer Sitzung hat, um ein gültiges Kennwort einzugeben, bevor er von der Hosteinheit für die Sitzung gesperrt wird. Der Eintrag null gibt an, daß ein Benutzer eine unbegrenzte Zahl von Ver suchen hat, um ein gültiges Kennwort für den Zugriff auf die Hosteinheit einzugeben. Für die Sperrverarbeitung bezieht sich eine Sitzung auf die Zeit, die zwischen der Verbindungsaufbau zur einer Hostsite und der Trennung dieser Verbindung durch den Fernbenutzer liegt.
  • Sobald die Zahl der Kennwortversuche während einer Sitzung aktualisiert wurde, wird der Benutzer aufgefordert, die Zahl der möglichen aufeinanderfolgenden Sitzungen einzugeben, bei denen ein Benutzer beim Zugriff auf diese Hosteinheit ein falsches Kennwort eingeben kann. Wenn die Zahl dieser aufeinanderfolgenden Zugriffssperren die spezifizierte Zahl übersteigt, wird die Hosteinheit elektronisch gesperrt, bis jemand den Impulsschalter auf der Vorderseite der Hosteinheit betätigt. Wenn eine Hosteinheit elektronisch gesperrt ist, wird jedem Benutzer, der versucht, auf die Hosteinheit zuzugreifen, eine Fehlermeldung angezeigt, die besagt, daß die Hosteinheit aufgrund eines möglichen Eindringlings elektronisch gesperrt wurde und der Zugriff auch bei Eingabe eines gültigen Kennworts verweigert wird, bis der Impulsschalter auf der Vorderseite der Hosteinheit gedrückt wird. Wenn eine Hosteinheit elektronisch gesperrt ist, gibt sie einen periodischen akustischen Alarm von sich, der anzeigt, daß die Hosteinheit so lange gesperrt bleibt, bis der Impulsschalter auf der Vorderseite der Hosteinheit gedrückt wird. Der Eintrag null gibt an, daß die Hosteinheit niemals elektronisch gesperrt werden soll. Wann immer ein Fernbenutzer erfolgreich auf eine Hosteinheit zugreift, wird der Sitzungssperrzähler auf null zurückgesetzt.
  • Sowohl die Sitzungssperre als auch die elektronische Sperre sind Sicherheitsmaßnamen, die verhindern sollen, daß ein Unbefugter das Kennwort zu einer Hosteinheit errät, indem sie die Zahl der Rateversuche begrenzen und das Management durch die elektronische Sperre auf unbefugte Zugriffsversuche aufmerksam machen.
  • Nachdem das Kennwort und die diesbezügliche Zahl der Zugriffsversuche eingegeben wurden, wird der betreffende Anruflisteneintrag aktualisiert, um das neue Kennwort wiederzugeben, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Wenn die Option „Vorläufiges Kennwort ändern" 735 gewählt wird, fordert das System den Benutzer auf, ein neues vorläufiges Kennwort für die aktuell aktive Hosteinheit einzugeben 736.
  • In manchen Fällen kann es notwendig sein, jemandem eine vorübergehende Zugriffsberechtigung auf eine Hosteinheit zu gewähren. Zum Beispiel kann es vorkommen, daß ein freiberuflicher Netzwerktechniker von einer Fernsite aus vorübergehend auf einen Dateiserver zugreifen muß, um ein ungewöhnliches Netzwerkproblem zu beheben.
  • Wenn die Menüoption „Vorläufiges Kennwort ändern" 735 gewählt wird, kann der Benutzer ein zusätzliches „vorläufiges" Kennwort und die Zahl der Stunden eingeben, für die das Kennwort gültig bleiben soll. Die Eingabe des vorläufigen Kennworts kann durch Drücken der Escape-Taste abgebrochen werden. Wenn die Escape-Taste gedrückt wird, kehrt die Verarbeitung zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst wird, nach Eingabe des neuen vorläufigen Kennworts, die Hosteinheit mit dem neuen vorläufigen Kennwort und der Zahl der Stunden, die dieses Kennwort gültig bleibt, aktualisiert, und dann kehrt die Verarbeitung zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Die Menüoption „Anruf beenden" 737 wird gewählt, um die Verbindung zur Hostsite zu beenden. Wenn die Menüoption „Anruf beenden" 737 gewählt wird, muß diese Anrufbeendungsanforderung bestätigt werden, indem die Frage „SIND SIE SICHER (J/N)" mit „J" beantwortet wird 738. Wenn die Frage mit „N" beantwortet wird, wird die Anrufbeendungsverarbeitung abgebrochen und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird, wird die Verbindung zur Hostsite getrennt, wodurch in einem Modemverbindungsmodus sowohl das Host- als auch das Fernmodem zurückgesetzt werden, und die Verarbeitung kehrt zum Systemhauptmenü 701 zurück.
  • Die Verbindungsmenüoption „Bildschirmprotokoll löschen" 739 wird gewählt, um alle Bildschirme zu löschen, die erfaßt und auf dem Massenspeichergerät des Fern-PCs gespeichert wurden, seitdem die TVLINK.EXE-Verarbeitung gestartet wurde oder die Bildschirmprotokolldatei zuletzt während einer aktiven Sitzung gelöscht wurde.
  • Wenn die Menüoption „Bildschirmprotokoll löschen" 739 gewählt wird, muß die Bildschirmprotokollöschanforderung bestätigt werden, indem die Frage „SIND SIE SICHER (J/N)" mit „J" beantwortet wird 740. Wenn die Frage mit „N" beantwortet wird, wird die Bildschirmprotokollöschverarbeitung abgebrochen und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird, wird die Bildschirmprotokolldatei gelöscht, eine neue leere Bildschirmprotokolldatei wird erzeugt und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
  • Die Verbindungsmenüoption „Mausmodus wählen" 740A wird gewählt, um die Erkennung der am Fern-PC angeschlossenen Maus zu aktivieren oder zu deaktivieren. Wenn diese Menüoption gewählt wird, erscheinen zwei Menüoptionen 740B, die dem Benutzer erlauben, die Software TVLINK.EXE anzuweisen, die Mausbewegungen der am Fern-PC angeschlossenen Maus bei der Übertragung der Mausbewegungsdaten zur Steuerung des Host-PCs zu erkennen oder zu ignorieren.
  • Die Verbindungsmenüoption „Zum Hauptmenü zurückkehren" 741 wird gewählt, um zum Hauptmenü des Systems zurückzukehren, oder wird automatisch aufgerufen, wenn die Verbindung zu einer Hosteinheit verloren wird. Die Verarbeitungsoptionen, die im Systemhauptmenü angezeigt werden, variieren je nach Verarbeitungsstatus und oder Fern-/Hostmoduszustand 726. Wenn eine Verbindung zwischen einer Fernsite und einer Hostsite aufgrund eines Übertragungsfehlers während der Verarbeitung der Verbindungsmenüoptionen 742 verloren wird, kehrt die Verarbeitung zum Systemhauptmenü bei Block 701 zurück. Sonst, wenn das System im Hostmodus 743 ist, wird die Verarbeitung des Hostmodus-Hauptmenüs bei Block 755 beginnend gestartet. Wenn das System nicht im Hostmodus 743 ist, wird Verarbeitung des Fernmodus-Hauptmenüs bei Block 750 beginnend gestartet.
  • Die Verarbeitung des Fernmodus-Hauptmenüs beginnt bei Block 750. Dieses Menü umfaßt drei Verarbeitungsoptionen. Wenn die Verarbeitungsoption „System-Setup" 751 gewählt wird, wird die Verarbeitung des Setup-Hauptmenüs bei Block 710 gestartet. Wenn die Option „Verbindungshauptmenü" gewählt wird 752, wird die Verarbeitung der Verbindungsoptionen bei Block 720 gestartet.
  • Wenn die Option AUSGANG ZU DOS gewählt wird 753 gewählt wird, wird die Steuerung an das Betriebssystem des PCs (z.B. DOS, Windows, usw.) zurückgegeben, bis der Fernbenutzer „EXIT" eingibt 754. Wenn der Benutzer „EXIT" eingegeben hat, kehrt die Verarbeitung zum Fernmodus-Hauptmenü 750 zurück.
  • Die Verarbeitung des Fernmodus-Hauptmenüs 750 endet automatisch, wenn die Verbindung zwischen einem Fern-PC und einem Host-PC unterbrochen wird 754A (z.B. aufgrund einer gestörten Telefonleitung), wonach die Verarbeitung zum Systemhauptmenü 701 zurückkehrt. Sonst wird die Verarbeitung des Fernmodus-Hauptmenüs fortgesetzt, bis die Verbindung zur Hosteinheit getrennt wird 738 oder während der Verarbeitung des Verbindungsoptionen-Hauptmenüs 720 zum Hostmodus gewechselt wird.
  • Die Verarbeitung des Hostmodus-Hauptmenüs beginnt bei Block 755. Dieses Menü umfaßt drei Verarbeitungsoptionen. Wenn die Verarbeitungsoption „System-Setup" 756 gewählt wird, beginnt die Verarbeitung der Verbindungsoptionen bei Block 720. Wenn die Option „Ausgang zum Hostmodus" 758 gewählt wird, werden die Tastatur, Maus (falls am Fern-PC eine Maus angeschlossen und wie bei Block 740B beschrieben aktiviert ist) und die Bildschirmanzeige umgeleitet, um die Tastatur/Maus des Host-PCs zu steuern und die Videoausgabe des Host-PCs anzuzeigen 761, bis der Fernbenutzer die linke Shift-Taste dreimal in zwei Sekunden drückt, wie oben bei Block 726 beschrieben. Wenn der Benutzer die linke Shift-Taste dreimal drückt, kehrt die Verarbeitung zum Hauptmenü „Hostmodus" zurück 755.
  • Wenn ein Fern-PC sich im Host-Modus befindet, schaltet der Bildschirmmodus des Fern-PCs automatisch in den Bildschirmmodus um (d.h. Text oder Graphik), der gerade auf dem Host-PC aktiv ist. Wenn der aktive Videomodus vom Programm TVLINK.EXE oder von der Bildschirmkarte des Fern-PCs nicht unterstützt wird, erscheint am Fern-PC eine Fehlermeldung, die besagt, daß der Host-PC einen Videomodus hat, der nicht unterstützt wird. Wenn der Videomodus während des Zugriffs auf den Host-PC wechselt, meldet die Hosteinheit dem Fern-PC automatisch, daß in einen neuen Videomodus umgeschaltet wurde, und wartet dann auf eine Antwort vom Fern-PC, die bestätigt, daß die Bildschirmkarte des Fern-PCs auf den neuen Videomodus umgeschaltet wurde, bevor die Übertragung weiterer Videodaten erfolgt.
  • Die Verarbeitung des Hostmodus-Hauptmenüs 755 endet automatisch, wenn die Verbindung zwischen einem Fern-PC und einem Host-PC verloren wird 760, und die Verarbeitung kehrt dann zum Systemhauptmenü 701 zurück. Sonst wird die Verarbeitung des Hostmodus-Hauptmenüs fortgesetzt, bis die Verbindung getrennt wird 738 oder während der Verarbeitung des Verbindungsoptionen-Hauptmenüs 720 zum Fernmodus 726 gewechselt wird.
  • 8A und 8B zeigen Beispiele des aktuellen Protokolls, das zwischen der Hosteinheit und dem auf einem Fern-PC ausgeführten Programm TVLINK.EXE implementiert ist. Es hätten zahlreiche andere Verfahren verwendet werden können, die dem Fachmann bekannt sind, um ein Protokoll für die Vorrichtung zu implementieren.
  • Die im Protokoll verwendeten Werte sind als Hexadezimalzahlen dargestellt. Am Anfang, sobald eine Verbindung zwischen dem Fern-PC und der Hosteinheit 00 hergestellt wurde, überwachen sämtliche Hosteinheiten an einer Site ständig die Daten vom Programm TVLINK.EXE, um auf eine korrekte Zugriffsanforderung zu warten, die an ihre eigene Identifikationsnummer adressiert ist.
  • 807 stellt Daten dar, die vom Programm TVLINK.EXE zur Hosteinheit gesendet werden. 806 stellt Daten dar, die von der Hosteinheit zum Programm TVLINK.EXE gesendet werden. Das Programm TVLINK.EXE greift auf eine bestimmte Hosteinheit zu, indem es ein Vier-Byte-Paket sendet, wie bei 800, 801 gezeigt. Die ersten zwei Bytes (hex 70 und hex 00) geben an, daß der Zugriff angefordert wird, und die zwei nachfolgenden Bytes enthalten die Identifikationsnummer der angeforderten Hosteinheit. Diese Nummer ist in zwei 4-Bit-Mengen (Halbbytes) aufgeteilt: Hex 40 plus das hochwertige Halbbyte (verschobene 4 Bits) und hex 50 plus das niederwertige Halbbyte. Die Hosteinheit in der Verkettung mit der entsprechenden Identifikationsnummer antwortet, indem sie sich aus der Verkettung löst und sich direkt mit der Datenleitung verbindet. Diese Hosteinheit fordert dann vom Programm TVLINK.EXE auf dem Fern-PC ein Kennwort an.
  • Ein „hex FF" 802 ist als BREAK-Zeichen reserviert. Wenn dieses Zeichen empfangen wird, zeigt es an, daß das nächste Byte ein Befehls- oder Statusbyte ist. Das „hex 06" nach 802 ist eine Kennwortanforderung, worauf zwei Bytes 803 folgen, die eine Verschlüsselung bilden. Das Programm TVLINK.EXE sendet dann das verschlüsselte Kennwort 804 an die Hosteinheit. Wenn dieses verschlüsselte Kennwort richtig ist, sendet die Hosteinheit die Bytes „hex FF" und „hex 10" 805, was bedeutet, daß die Hosteinheit bereit ist und erfolgreich auf die Hosteinheit zugegriffen wurde.
  • Obwohl in der Figur nur ein Kennwort angefordert wird, werden in der gegenwärtigen Ausführung drei bis zehn Kennwörter jeweils mit einer einmaligen Verschlüsselung verarbeitet. Nur nachdem alle Kennwörter richtig empfangen wurden, sendet die Hosteinheit den Status „bereit" 805. Dieses Kennwortprotokoll sorgt für erhöhte Sicherheit beim Zugriff auf die Hosteinheit. Wenn ein Kennwort falsch ist, erfolgt keine weitere Kennwortanforderung und dem Fern-PC wird der Zugriff zu Hosteinheit verweigert.
  • Um den unbeabsichtigten Zugriff auf andere Hosteinheiten zu vermeiden, wenn der Zugriff für eine bestimmte Hosteinheit gewährt wurde, wird „hex 70" vom Programm TVLINK.EXE niemals an die Hosteinheit übertragen (im Gegensatz zur Zugriffsanforderung 800). Statt dessen wird das Zwei-Byte-Paket 810 gesendet, das als Einzelbytewert von „hex 70" interpretiert wird.
  • 827 stellt Daten dar, die vom Programm TVLINK.EXE zur Hosteinheit gesendet werden. 838 stellt Daten dar, die von der Hosteinheit zum Programm TVLINK.EXE gesendet werden. Nachdem die Hosteinheit den Status „bereit" 805 gesendet hat, kann das Programm TVLINK.EXE nun Befehle an die Hosteinheit ausgeben.
  • Für den Fernzugriff im Textmodus wird das Zwei-Byte-Paket 820 gesendet. Es ist aus dem BREAK-Zeichen (hex FF) und dem Befehlsbyte (hex 33) zusammengesetzt. Die Hosteinheit startet nun den Fernzugriffsmodus. In diesem Modus werden die Datenbytes, die vom Programm TVLINK.EXE zur Hosteinheit gesendet werden, als Tastaturabtastcodes interpretiert, die umgewandelt werden und als Tastatursignale an den Host-PC gesendet werden. Der Hexadezimalwert 1E bei 821 ist ein Abtastcode, der erzeugt wird, wenn die Taste „A" gedrückt wird. Der Hexadezimalwert 9E bei 822 ist ein Abtastcode, der erzeugt wird, wenn die Taste „A" losgelassen wird.
  • Im Fernzugriffsmodus werden auch Videotextdaten erfaßt und zum Programm TVLINK.EXE gesendet 838. Dieser Videodatenstrom setzt sich aus verschiedenen Teilen zusammen. Zuerst wird die Bildschirmzeichenadresse gesendet, die aus dem BREAK-Zeichen 830 und der Zwei-Byte-Adresse 831 besteht. Diese Adresse 831 ist als null dargestellt, da aber angenommen wird, daß der Bildschirm nach dem Eintritt in den Fernzugriffsmodus vom Programm TVLINK.EXE gelöscht wurde, um die Daten für den ersten ganzen Bildschirm zu empfangen, werden keine Leerzeichen gesendet. Daher muß diese Startadresse 831 nicht unbedingt null sein, sondern kann die Adresse des ersten Zeichens sein, das nicht ein Leerzeichen ist.
  • Als nächstes wird die Farbattributinformation gesendet (da BREAK-Zeichen 832 mit dem Attribut 833). Dieses Attributbyte ist ein Wert „hex CO", der mit dem 6-Bit-Farbattribut summiert ist. Jedes Bit kann in Form von „11rgbRGB" dargestellt werden, bei dem die zwei hochwertigsten Bits „11" (eins, eins) anzeigen, daß dies ein Farbattributbyte ist, worin r, g und b rote, grüne und blaue Vordergrundfarbbits und R, G und B das rote, grüne und blaue Hintergrundfarbbits darstellen, wie in der Erläuterung zu 5G und 5H beschrieben. Der bei 833 gezeigt Wert (hex F8) stellt Weiß auf Schwarz dar. Die zwei hochwertigsten Bits (hex CO) sind ausgeblendet (auf null gesetzt), was hex 38 oder 00111000b ergibt. Alle Vordergrundbits (rgb) sind gleich eins und alle Hintergrundbits (RGB) sind gleich null, was Weiß auf Schwarz bedeutet.
  • Nachdem die Adreß- und Farbinformation gesendet wurde, folgen die Zeichencodewerte, wie z.B. ASCII-Codes. 834 zeigt die hexadezimale Darstellung eines „A", gefolgt von einem hex 42, das ein Zeichen „B" darstellt. Darauf folgt eine Farbänderung, weshalb 835A gesendet wird, das sich aus einem BREAK-Zeichen und dem neuen Farbbyte zusammensetzt. In diesem Fall stellt das hex F1 Blau auf Schwarz dar. Die zwei hochwertigsten Bits (hex C0) sind ausgeblendet (auf null gesetzt), was hex 08 oder 00001000b ergibt. Nur das Vordergrundblaubit (rgb) ist gleich eins, und alle Hintergrundbits (RGB) sind gleich null, was Blau auf Schwarz bedeutet. Dann wird ein hex 43 gesendet 835B, das ein Zeichen „C" darstellt. Dies setzt sich fort, bis die Daten für einen ganzen Bildschirm gesendet wurden, danach werden nur noch die Änderungen gesendet (weshalb 831 einen anderen Wert als null annehmen kann). Der Hexadezimalwert FF, der in diesem Modus bei 838 als BREAK-Zeichen verwendet wird, wurde gewählt, weil dieser Wert kein gültiges Zeichen darstellt.
  • Neben den Abtastcodes 821, 822, die vom Programm TVLINK.EXE an die Hosteinheit 827 gesendet werden, können auch diverse Befehle gesendet werden. Ein Befehl „Bildschirm auffrischen" (hex F1) 823 weist die Hosteinheit an, einen gesamten Videotextbildschirm neu zu senden, als sei der Fernzugriffsmodus gerade aufgerufen worden. Dies beginnt mit der Übertragung eines anderen Adreßpakets 836 (mit 830 identisch), gefolgt von der Farbinformation, den Zeichen usw.
  • Ein anderer Befehl 824 sendet serielle Mausdaten 825 zur Hosteinheit, damit diese zur seriellen Mausschnittstelle des Host-PCs weitergeleitet werden. Der Inhalt dieser Mausdaten 825 ist weder für das Programm TVLINK.EXE noch für die Hosteinheit wichtig, da sie lediglich zur seriellen Mausschnittstelle des Host-PCs durchgelassen werden.
  • Während die Hosteinheit Videotextdaten erfaßt, kann der Videomodus des Host-PCs in den Graphikmodus umschalten, wobei diese Information an das Programm TVLINK.EXE gesendet wird, wie bei 837 angezeigt (ein BREAK-Zeichen plus der Graphikmodusstatus: hex 83). In diesem Augenblick sendet die Hosteinheit keine weitere Videotextinformation mehr, setzt aber die Verarbeitung der vom Programm TVLINK.EXE empfangenen Abtastcodes und Befehle fort. In der aktuellen Ausführung beendet das Programm TVLINK.EXE den Fernzugriff im Textmodus, indem es ein „hex FF" 826 sendet (das hier nicht als BREAK-Zeichen dient) und dann den Fernzugriff im Graphikmodus startet. Dann sendet die Hosteinheit einen Bereitschaftsstatus (siehe 805), um anzuzeigen, daß sie bereit ist, einen anderen Befehl zu verarbeiten.
  • Der Fernzugriff im Graphikmodus beginnt, indem das Programm TVLINK.EXE 840 sendet (ein BREAK-Zeichen plus ein Befehl „hex 34" für den Fernzugriff im Graphikmodus). In diesem Augenblick sendet die Hosteinheit Videographikdaten 855 und verarbeitet Abtastcodes, Mausdaten oder andere Befehle 846. Die Abtastcodes sind bei 841, 842 gezeigt, der Befehl zum „Auffrischen" des Graphikbildschirms bei 843, und der Befehl zum Beenden des Graphikvideomodus bei 845. Mausdaten sind nicht dargestellt, können aber ebenfalls verarbeitet werden.
  • Der Hauptunterschied zwischen der Graphikverarbeitung und der Textverarbeitung ist, daß der BREAK-Zeichenwert nun ein „hex 2a" ist. Dieser Wert wurde gewählt, da ein „hex FF" im Graphikmodus häufig vorkommt das bedeutet, daß alle Pixel an sind, weshalb statt dessen der Wert „hex 2A" gewählt wurde. Dieser Modus beginnt, indem die Startadresse gesendet wird (das BREAK-Zeichen 850 mit zwei Bytes Graphikadreßinformation 851). Es wird angenommen, daß der Bildschirm des Fern-PCs leer ist, weshalb nur Graphikdatenbytes gesendet werden, die nicht null sind. Der Adreßwert 851 kann einen anderen Wert als den gezeigten Nullwert haben.
  • Im vorzugsweisen Ausführungsbeispiel werden nur graphische „Momentaufnahmen" aufgenommen. D.h., nachdem die Adresse gesendet wurde, und wenn die Graphikdaten 852 komplett gesendet wurden, bricht die Übertragung von Videographikdaten ab, bis ein Befehl „Bildschirm auffrischen" 843 empfangen wird, wonach die Graphikdaten wieder erfaßt und gesendet werden (siehe 853). 854 zeigt, daß der Videomodus des Host-PCs wieder in den Textmodus zurückgeschaltet wurde (ein BREAK-Zeichen plus der Textmodusstatus, hex 85). Dann beendet das Programm TVLINK.EXE den Ferngraphikmodus durch 845 und startet den Ferntextmodus (siehe 820). Wenn ein Graphikdatenbyte im Ferngraphikmodus einem hex 2A (wie das BREAK-Zeichen) entspricht, werden zwei Byte-Pakete gesendet, die das BREAK-Zeichen (hex 2A) umfassen, gefolgt vom Wert „hex A2". Das Programm TVLINK.EXE interpretiert dies dann als ein hex Datenbyte „hex 2A".
  • Sowohl der Text- als auch der Graphikmodus können jederzeit durch Senden des Zeichens „hex FF" 826, 845 beendet werden.
  • Es kann vorkommen, daß der Videomodus in einen unerkannten Videomodus umschaltet oder die Videoausgabe ganz abbricht (z.B., wenn der Host-PC ausgeschaltet wird oder das Videokabel getrennt wird). Dann wird TVLINK.EXE über dieses Ereignis informiert (ähnlich wie bei 837 und 854), indem ein BREAK-Zeichen gesendet wird, gefolgt von einem „hex 89" (kein Video vorhanden) oder einem „hex 8B" (unbekannter Videomodus).
  • Der Datenübertragungsmodus wird ähnlich wie die gerade beschriebenen Videomodi aktiviert (d.h. durch ein BREAK-Zeichen, auf das ein Befehlsbyte folgt). Die Hosteinheit leitet die Dateien von TVLINK.EXE einfach zum Host-PC weiter, oder umgekehrt, nachdem das Programm TVFILE.EXE auf dem Host-PC aufgerufen wurde, um Dateiübertragungen durchzuführen. TVLINK.EXE wandelt alle (an die Hosteinheit gerichteten) „hex 70"-Werte in das Zwei-Byte-Paket bei 810 um, das von der Hosteinheit in einen einzigen Wert „hex 70" umgewandelt wird, bevor es an den Fern-PC gesendet wird. Wenn TVLINK.EXE ein „hex FF"-Zeichen sendet, wird dadurch der Datenübertragungsmodus beendet. Daher müssen (an den Host-PC gerichtete) „hex-FF"-Datenwerte in ein Zwei-Byte-Paket aus „hex F0" plus „hex 0F" 811 umgewandelt werden, die von der Hosteinheit in einen einzigen Wert „hex FF" umgewandelt werden, bevor sie zum Host-PC und zum Programm TVFILE.EXE gesendet werden. Abgesehen von diesen Ausnahmen sind die Programme TVLINK.EXE und TVFILE.EXE für das Datenübertragungsprotokoll zuständig. In der aktuellen Ausführung wird für die Dateiübertragung ein modifiziertes XMODEM-Protokoll verwendet, mit Datenpaketgrößen, die je nach auftretender Fehlerzahl (Leitungsrauschen) variieren. Das XMODEM-Protokoll ist eine Industrienorm, die dem Fachmann vertraut ist.
  • Das aktuelle Hosteinheitsprotokoll kann modifiziert werden, um eine höhere Fehlererkennung und -quittierung bei der Datenübertragung zu erreichen, damit die Wahrscheinlichkeit von leitungsrauschenbedingten Datenfehlern verringert wird.

Claims (5)

  1. System, um einem ersten Datenverarbeitungsgerät (2) zu gestatten, ein zweites Datenverarbeitungsgerät (10, 16, 20) an einem entfernten Ort zu steuern, aufweisend: ein Befehlseingabemittel (4, 4A), das an das erste Datenverarbeitungsgerät (2) angeschlossen sind, um Befehle von einem Benutzer zu empfangen, die an das zweite Datenverarbeitungsgerät (10, 16, 20) übertragen und von diesem ausgeführt werden sollen; ein erstes Befehlsübersetzungsmittel zur Übersetzung der Befehle in eine digitale Form, die zur Übertragung unter Verwendung eines üblichen Trägertelekommunikationssystems geeignet ist; ein Befehlsübertragungsmittel (5), das an das erste Befehlsübersetzungsmittel angeschlossen ist, um die Befehle in der digitalen Form an den entfernten Ort zu übertragen; ein Befehlsempfangsmittel (7) an dem entfernten Ort, das an die Befehlsübertragungsmittel (5) zum Empfangen der Befehle angeschlossen sind; ein zweites Befehlsübersetzungsmittel an dem entfernten Ort, das an das Befehlsempfangsmittel (7) und das zweite Datenverarbeitungsgerät (10, 16, 20) angeschlossen ist, wobei das zweite Befehlsübersetzungsmittel angepaßt ist, um die Befehle in Signale zu übersetzen, die eine Form haben, die zur direkten Eingabe in einen Standardpersonalcomputertastaturschnittstellenanschluß geeignet ist, und wobei das zweite Befehlsübersetzungsmittel eine von dem zweiten Datenverarbeitungsgerät (10, 16, 20) unabhängige bzw. getrennte Schaltung aufweist; und ein Befehlausgabemittel, das an das zweite Befehlsübersetzungsmittel und das zweite Datenverarbeitungsgerät (10, 16, 20) angeschlossen ist, um die Signale zu einer Standardpersonalcomputertastaturschnittstelle zuzuleiten, die dem zweiten Datenverarbeitungsgerät (10, 16, 20) zugeordnet ist; dadurch gekennzeichnet, daß das System weiter eine Host-Einheit (8, 13, 18) aufweist, die das zweite Datenverarbeitungsgerät (10, 16, 20) mit Energie bzw. Strom versorgt, wobei die Host-Einheit (8, 13, 18) die Energie- bzw. Stromversorgung zu dem zweiten Datenverarbeitungsgerät (10, 16, 20) unterbrechen kann, um das zweite Datenverarbeitungsgerät (10, 16, 20) in Abhängigkeit von einem entsprechenden Befehl von dem Benutzer des ersten Datenverarbeitungsgeräts (2) neu zu starten, selbst wenn das zweite Datenverarbeitungsgerät (10, 16, 20) abgestürzt ist oder nicht länger auf eine Tastatur- oder sonstige Eingabe reagiert.
  2. System nach Anspruch 1, dadurch gekennzeichnet, daß das zweite Befehlsübersetzungsmittel weiter aufweist: ein lokales Befehlseingabemittel zum Empfangen von Befehlen von einer Eingabevorrichtung, die über ein Kabel an das Steuermittel angeschlossen ist; und ein Schaltmittel, das an das lokale Befehlseingabemittel und das Befehlsausgabemittel angeschlossen ist, um selektiv bzw. wahlweise das Befehlsausgabemittel mit dem zweiten Befehlsübersetzungsmittel oder dem lokalen Befehlseingabemittel zu verbinden.
  3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Host-Einheit (8, 13, 18) eine Schaltung von dem zweiten Datenverarbeitungsgerät (10, 16, 20) unabhängige bzw. getrennte Schaltung bildet.
  4. Verfahren, um einem ersten Datenverarbeitungsgerät (2) zu gestatten, ein zweites Datenverarbeitungsgerät (10, 16, 20) an einem entfernten Ort zu steuern, wobei das Verfahren die folgenden Schritte aufweist: Empfangen von Befehlen von einem Benutzer, die an das zweite Datenverarbeitungsgerät (10, 16, 20) übertragen und von diesem ausgeführt werden sollen; Übersetzen der Befehle in eine digitale Form, die zur Übertragung unter Verwendung eines üblichen Trägertelekommunikationssystems geeignet ist; Übertragen der Befehle in der digitalen Form an den entfernten Ort; Empfangen der Befehle an dem entfernten Ort; und Übersetzen der Befehle an dem entfernten Ort; dadurch gekennzeichnet, daß die Energie- bzw. Stromversorgung des zweiten Datenverarbeitungsgeräts (10, 16, 20) mittels einer Host-Einheit (8, 13, 18) unterbrochen werden kann, selbst wenn das zweite Datenverarbeitungsgerät (10, 16, 20) abgestürzt ist oder nicht länger auf eine Tastatur- oder sonstige Eingabe reagiert, um das zweite Datenverarbeitungsgerät (10, 16, 20) in Abhängigkeit von einem entsprechenden Befehl von dem Benutzer des ersten Datenverarbeitungsgeräts (2) neu zu starten.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Befehle an dem entfernten Ort in Signale übersetzt werden, die eine geeignete Form zur direkten Eingabe in einen Standardpersonalcomputertastaturschnittstellenanschluß haben, und daß die Signale einem Standardpersonalcomputertastaturschnittstellenanschluß zugeleitet werden, der dem zweiten Datenverarbeitungsgerät (10, 16, 20) zugeordnet ist.
DE69534883T 1994-01-13 1995-01-13 System zum Fernzugriff auf Personalcomputer Expired - Lifetime DE69534883T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US180824 1994-01-13
US08/180,824 US5732212A (en) 1992-10-23 1994-01-13 System and method for remote monitoring and operation of personal computers

Publications (2)

Publication Number Publication Date
DE69534883D1 DE69534883D1 (de) 2006-05-11
DE69534883T2 true DE69534883T2 (de) 2006-08-17

Family

ID=22661882

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69534883T Expired - Lifetime DE69534883T2 (de) 1994-01-13 1995-01-13 System zum Fernzugriff auf Personalcomputer
DE69528041T Expired - Lifetime DE69528041T2 (de) 1994-01-13 1995-01-13 Vorrichtung zur Überwachung der auf einem Videoanzeigegerät angezeigten Information

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69528041T Expired - Lifetime DE69528041T2 (de) 1994-01-13 1995-01-13 Vorrichtung zur Überwachung der auf einem Videoanzeigegerät angezeigten Information

Country Status (7)

Country Link
US (1) US5732212A (de)
EP (2) EP1152341B1 (de)
AT (2) ATE321302T1 (de)
AU (1) AU694167B2 (de)
CA (1) CA2181148C (de)
DE (2) DE69534883T2 (de)
WO (1) WO1995019595A1 (de)

Families Citing this family (236)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091850A1 (en) 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
US6633861B2 (en) 1993-03-19 2003-10-14 Ricoh Company Limited Automatic invocation of computational resources without user intervention across a network
US5546502A (en) * 1993-03-19 1996-08-13 Ricoh Company, Ltd. Automatic invocation of computational resources without user intervention
US6137473A (en) * 1994-09-02 2000-10-24 Nec Corporation System and method for switching control between a host computer and a remote interface device
US6230063B1 (en) * 1995-07-07 2001-05-08 Samsung Electronics Co., Ltd. Factory mode free setting apparatus and method thereof
US5721842A (en) * 1995-08-25 1998-02-24 Apex Pc Solutions, Inc. Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
US7512671B1 (en) * 1995-10-16 2009-03-31 Nec Corporation Computer system for enabling a wireless interface device to selectively establish a communication link with a user selectable remote computer
DE19543075A1 (de) * 1995-11-13 1997-05-15 Francotyp Postalia Gmbh Verfahren und Anordnung zur automatischen Modem-Typerkennung und Adaption
US7100069B1 (en) * 1996-02-16 2006-08-29 G&H Nevada-Tek Method and apparatus for controlling a computer over a wide area network
US7007070B1 (en) * 1996-03-06 2006-02-28 Hickman Paul L Method and apparatus for computing over a wide area network
US5793951A (en) * 1996-05-10 1998-08-11 Apple Computer, Inc. Security and report generation system for networked multimedia workstations
DE69728178T2 (de) * 1996-06-18 2005-03-10 ONTRACK Data International, Inc., Eden Prairie Vorrichtung und verfahren zur fernen datenrückgewinnung
US6145088A (en) * 1996-06-18 2000-11-07 Ontrack Data International, Inc. Apparatus and method for remote data recovery
US7089332B2 (en) * 1996-07-01 2006-08-08 Sun Microsystems, Inc. Method for transferring selected display output from a computer to a portable computer over a wireless communication link
US6711613B1 (en) * 1996-07-23 2004-03-23 Server Technology, Inc. Remote power control system
US7774443B2 (en) 1996-07-23 2010-08-10 Server Technology, Inc. Power-manager configuration upload and download method and system for network managers
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US6513154B1 (en) 1996-10-21 2003-01-28 John R. Porterfield System and method for testing of computer programs in programming effort
US6070253A (en) * 1996-12-31 2000-05-30 Compaq Computer Corporation Computer diagnostic board that provides system monitoring and permits remote terminal access
US5996078A (en) * 1997-01-17 1999-11-30 Dell Usa, L.P. Method and apparatus for preventing inadvertent power management time-outs
US6134615A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6446119B1 (en) * 1997-08-07 2002-09-03 Laslo Olah System and method for monitoring computer usage
WO1999010801A1 (en) * 1997-08-22 1999-03-04 Apex Inc. Remote computer control system
US6304895B1 (en) 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US6119228A (en) * 1997-08-22 2000-09-12 Compaq Computer Corporation Method for securely communicating remote control commands in a computer network
EP0901079B1 (de) 1997-09-02 2006-03-15 R. Brent Johnson Emulation und emulierte Bildschirmgeschichte
US20090043907A1 (en) * 1997-09-11 2009-02-12 Digital Delivery Networks, Inc. Local portal
US6219695B1 (en) * 1997-09-16 2001-04-17 Texas Instruments Incorporated Circuits, systems, and methods for communicating computer video output to a remote location
US6128484A (en) * 1997-10-07 2000-10-03 International Business Machines Corporation Wireless transceivers for remotely controlling a computer
US5901161A (en) * 1997-10-27 1999-05-04 Sony Corporation Initialization data redundancy system
US20010044843A1 (en) 1997-10-28 2001-11-22 Philip Bates Multi-user computer system
US6256664B1 (en) 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US7246150B1 (en) 1998-09-01 2007-07-17 Bigfix, Inc. Advice provided for offering highly targeted advice without compromising individual privacy
US6263362B1 (en) 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US7197534B2 (en) * 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US8914507B2 (en) * 1998-09-01 2014-12-16 International Business Machines Corporation Advice provided for offering highly targeted advice without compromising individual privacy
IL142119A0 (en) * 1998-09-22 2002-03-10 Cybex Computer Prod Corp System and method for accessing and operating personal computers remotely
US6170021B1 (en) 1998-10-19 2001-01-02 Hewlett-Packard Company Server computer I/O redirection tool
US6418494B1 (en) * 1998-10-30 2002-07-09 Cybex Computer Products Corporation Split computer architecture to separate user and processor while retaining original user interface
US6615255B1 (en) * 1998-12-14 2003-09-02 Intervoice Limited Partnership Remote administration of a system using configuration logic objects
US6408334B1 (en) * 1999-01-13 2002-06-18 Dell Usa, L.P. Communications system for multiple computer system management circuits
FR2788618B1 (fr) * 1999-01-14 2002-02-22 Enertec Systeme d'enregistrement d'ecran pour reconstitution d'operation
US6317798B1 (en) 1999-02-11 2001-11-13 Hewlett-Packard Company Remote initiation of BIOS console redirection
US7277919B1 (en) 1999-03-19 2007-10-02 Bigfix, Inc. Relevance clause for computed relevance messaging
JP2001014285A (ja) * 1999-04-28 2001-01-19 Fujitsu Ltd データ転送管理システム、データ転送システム、転送履歴収集装置及び記録媒体
DE19919473A1 (de) * 1999-04-29 2000-11-02 Bosch Gmbh Robert Fernkonfigurierbare Prozessorbaugruppe und Verfahren zu ihrer Konfigurierung
US6732067B1 (en) 1999-05-12 2004-05-04 Unisys Corporation System and adapter card for remote console emulation
JP3905250B2 (ja) * 1999-05-21 2007-04-18 富士通株式会社 情報処理装置の制御装置および制御方法ならびにインタフェース装置
US6378014B1 (en) * 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
US6281894B1 (en) 1999-08-31 2001-08-28 Everdream, Inc. Method and apparatus for configuring a hard disk and for providing support for a computer system
US6301666B1 (en) 1999-08-31 2001-10-09 Everdream, Inc. Method and apparatus for remotely enabling a preinstalled and previously disabled application on a computer system
US7734744B1 (en) * 1999-11-09 2010-06-08 Cisco Technology, Inc. System for communicating management information and method of operation
KR100404186B1 (ko) * 2000-01-12 2003-11-03 엘지전자 주식회사 인터넷 전자레인지
US7299281B1 (en) 2000-01-27 2007-11-20 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US6662226B1 (en) * 2000-01-27 2003-12-09 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US8510437B2 (en) 2000-01-27 2013-08-13 Yawonba Holdings Au, Llc Method and system for tracking screen activities
US6711682B1 (en) * 2000-02-09 2004-03-23 Microsoft Corporation Online service registration system and method
US6754759B1 (en) * 2000-03-08 2004-06-22 Intel Corporation Transfer of information between devices on different buses
US6760785B1 (en) 2000-03-29 2004-07-06 Unisys Corporation Method, apparatus, and computer program product for establishing communications between an adapter card and a host processor running in a bios supported environment
US6609034B1 (en) 2000-03-29 2003-08-19 Epicenter, Incorporated System and method for remotely controlling and monitoring a plurality of computer systems
US6560641B1 (en) 2000-03-29 2003-05-06 Unisys Corporation System, method, and adapter card for remote console emulation including remote control of a peripheral device
US6636929B1 (en) 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6697905B1 (en) 2000-04-13 2004-02-24 International Business Machines Corporation Apparatus for providing I/O support to a computer system and method of use thereof
US6681250B1 (en) * 2000-05-03 2004-01-20 Avocent Corporation Network based KVM switching system
US7043697B1 (en) * 2000-05-15 2006-05-09 Intel Corporation Virtual display driver
US7032023B1 (en) * 2000-05-16 2006-04-18 America Online, Inc. Throttling electronic communications from one or more senders
US6751794B1 (en) 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
KR100338604B1 (ko) * 2000-05-29 2002-05-27 배영주 직렬 포트를 통한 원격 망 관리 시스템
AU5662701A (en) * 2000-06-16 2001-12-24 Silicom Ltd. Device-related software installation
FR2810485B1 (fr) * 2000-06-19 2002-09-06 Cit Alcatel Procede pour reinitialiser des terminaux raccordes a un reseau local, et dispositif pour la mise en oeuvre de ce procede
US6985967B1 (en) 2000-07-20 2006-01-10 Rlx Technologies, Inc. Web server network system and method
KR20020009650A (ko) * 2000-07-26 2002-02-02 김인광 원격제어 방법
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US7711790B1 (en) * 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
US7725587B1 (en) 2000-08-24 2010-05-25 Aol Llc Deep packet scan hacker identification
US7395232B1 (en) 2000-08-30 2008-07-01 Traderisks, Inc. Method and system for providing financial functions
JP3936835B2 (ja) * 2000-09-20 2007-06-27 株式会社日立製作所 計算機ネットワーク用の端末装置および操作履歴記録方法
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7249167B1 (en) 2000-11-09 2007-07-24 Raritan, Inc. Intelligent modular server management system for selectively operating a plurality of computers
US7149792B1 (en) 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
JP2002163059A (ja) * 2000-11-27 2002-06-07 Nec Corp 携帯端末用外部キーボード装置
JP2004536472A (ja) * 2000-11-30 2004-12-02 シリコン、グラフィクス、インコーポレイテッド 視覚化セッションをキャプチャするためのシステム、方法、および、コンピュータプログラム
US7389341B2 (en) * 2001-01-31 2008-06-17 Accenture Llp Remotely monitoring a data processing system via a communications network
US8176137B2 (en) * 2001-01-31 2012-05-08 Accenture Global Services Limited Remotely managing a data processing system via a communications network
US8206379B2 (en) * 2001-02-02 2012-06-26 Homer Gregg S Techniques for alteration of iris pigment
GB0104836D0 (en) * 2001-02-27 2001-04-18 Ccc Network Systems Group Ltd Improvements relating to server systems
US20020188718A1 (en) * 2001-05-04 2002-12-12 Rlx Technologies, Inc. Console information storage system and method
US20020188709A1 (en) * 2001-05-04 2002-12-12 Rlx Technologies, Inc. Console information server system and method
US6652378B2 (en) 2001-06-01 2003-11-25 Igt Gaming machines and systems offering simultaneous play of multiple games and methods of gaming
WO2003012577A2 (en) * 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation
US20030028827A1 (en) * 2001-08-06 2003-02-06 Gray Peter Daniel Method and apparatus for monitoring a computing device
US7102691B2 (en) * 2001-08-08 2006-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for remote use of personal computer
US8267767B2 (en) 2001-08-09 2012-09-18 Igt 3-D reels and 3-D wheels in a gaming machine
US7003563B2 (en) * 2001-11-02 2006-02-21 Hewlett-Packard Development Company, L.P. Remote management system for multiple servers
US6957287B2 (en) * 2001-11-09 2005-10-18 Aten International Co., Ltd. Asynchronous/synchronous KVMP switch for console and peripheral devices
US8176226B2 (en) * 2001-11-09 2012-05-08 Aten International Co., Ltd. KVMP switch allowing asynchronous and synchronous switching for console devices and peripheral devices among different computers
US6825846B2 (en) * 2001-12-10 2004-11-30 American Megatrends, Inc. Systems and methods for capturing screen displays from a host computing system for display at a remote terminal
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7184797B2 (en) * 2001-12-28 2007-02-27 Nokia Corporation Data transfer rate display selection
US20030131127A1 (en) * 2002-01-05 2003-07-10 King Randy J. KVM video & OSD switch
US7023470B2 (en) * 2002-01-22 2006-04-04 Hewlett-Packard Development Company, L.P. Self-testing video display devices and method of use thereof
US20030172128A1 (en) * 2002-03-05 2003-09-11 Intel Corporation Dynamic asynchronous results
US6884946B2 (en) * 2002-03-05 2005-04-26 Premark Feg L.L.C. Scale for weighing and determining a price of an item
US20030169289A1 (en) * 2002-03-08 2003-09-11 Holt Duane Anthony Dynamic software control interface and method
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20030217293A1 (en) * 2002-05-17 2003-11-20 Lee Tony J. System for permitting access to an electronic device when the password is not known
KR100538217B1 (ko) * 2002-06-19 2005-12-21 삼성전자주식회사 모니터 제어 방법 및 장치
US8068546B2 (en) * 2002-08-29 2011-11-29 Riip, Inc. Method and apparatus for transmitting video signals
US8558795B2 (en) * 2004-03-12 2013-10-15 Riip, Inc. Switchless KVM network with wireless technology
US7606314B2 (en) * 2002-08-29 2009-10-20 Raritan America, Inc. Method and apparatus for caching, compressing and transmitting video signals
US7684483B2 (en) * 2002-08-29 2010-03-23 Raritan Americas, Inc. Method and apparatus for digitizing and compressing remote video signals
US7818480B2 (en) * 2002-08-29 2010-10-19 Raritan Americas, Inc. Wireless management of remote devices
US20040059850A1 (en) * 2002-09-19 2004-03-25 Hipp Christopher G. Modular server processing card system and method
US7260624B2 (en) * 2002-09-20 2007-08-21 American Megatrends, Inc. Systems and methods for establishing interaction between a local computer and a remote computer
JP4601895B2 (ja) * 2002-09-26 2010-12-22 富士通コンポーネント株式会社 切替器及びコンピュータシステム
US7321623B2 (en) * 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US20040093391A1 (en) * 2002-11-07 2004-05-13 Heng-Chien Chen Computer console for wirelessly controlling remote computers
DE50214851D1 (de) * 2002-11-15 2011-02-17 Tektronix Int Sales Gmbh Verfahren zur Konfiguration einer Messaufgabe auf einem Protokolltester und Protokolltester
JP2004180115A (ja) * 2002-11-28 2004-06-24 Nec Infrontia Corp 無線lanシステム
JP2004192510A (ja) * 2002-12-13 2004-07-08 Fuji Photo Film Co Ltd ファイル転送プログラム
US6875059B2 (en) * 2003-01-15 2005-04-05 American Megatrends, Inc. In-line remote controllable power switch with integrated power supply
TW200416521A (en) * 2003-02-17 2004-09-01 Elitegroup Computer Systems Co Ltd TV image converter switching on and off computer through multimedia remote control
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040215742A1 (en) * 2003-03-04 2004-10-28 Soronti, Inc. Image perfection for virtual presence architecture (VPA)
US7418141B2 (en) * 2003-03-31 2008-08-26 American Megatrends, Inc. Method, apparatus, and computer-readable medium for identifying character coordinates
US7512704B2 (en) * 2003-04-03 2009-03-31 Avocent Corporation Wireless computer system
US7412625B2 (en) * 2003-05-27 2008-08-12 American Megatrends, Inc. Method and system for remote software debugging
US7546584B2 (en) 2003-06-16 2009-06-09 American Megatrends, Inc. Method and system for remote software testing
CN1297914C (zh) * 2003-06-19 2007-01-31 联想(北京)有限公司 一种机群中应用的鼠标、键盘和显示器信号管理器
EP1492010A1 (de) * 2003-06-25 2004-12-29 Agilent Technologies Inc Fernbedienung einer Datenverarbeitungseinheit erlaubt ferngesteuertes Ein/Ausschalten
US7543277B1 (en) 2003-06-27 2009-06-02 American Megatrends, Inc. Method and system for remote software debugging
US7667733B1 (en) 2003-07-18 2010-02-23 Oswald David L Computer monitor receiver
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7853740B2 (en) * 2003-09-18 2010-12-14 Riip, Inc. Keyboard video mouse (KVM) switch for transmission of high quality audio with 64-bit data packets wherein transmissions of data packets are wherein a defined time limit
US7454495B2 (en) * 2003-09-18 2008-11-18 Raritan America, Inc. Intelligent modular server management system for selectively operating and locating a plurality of computers
US7259482B2 (en) * 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US7870504B1 (en) * 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
US20050080597A1 (en) * 2003-10-10 2005-04-14 Blair Timothy P. System and method for monitoring equipment
US7475322B2 (en) * 2003-11-14 2009-01-06 Avocent Huntsville Corporation Wireless broadcast protocol
US8176155B2 (en) 2003-11-26 2012-05-08 Riip, Inc. Remote network management system
US8683024B2 (en) * 2003-11-26 2014-03-25 Riip, Inc. System for video digitization and image correction for use with a computer management system
US20050132087A1 (en) * 2003-12-12 2005-06-16 Lech Glinski Method and apparatus for video signal skew compensation
US8427421B2 (en) * 2003-12-12 2013-04-23 Raritan Americas, Inc. Option menu for use with a computer management system
US8031169B2 (en) * 2003-12-17 2011-10-04 Riip, Inc. Automated system and method for high-frequency signal attenuation compensation
US7730137B1 (en) 2003-12-22 2010-06-01 Aol Inc. Restricting the volume of outbound electronic messages originated by a single entity
US20050210056A1 (en) * 2004-01-31 2005-09-22 Itzhak Pomerantz Workstation information-flow capture and characterization for auditing and data mining
US7847505B2 (en) * 2004-02-25 2010-12-07 Siemens Industry, Inc. System and method for configuring a soft starter
US7827258B1 (en) * 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
US20050198245A1 (en) * 2004-03-06 2005-09-08 John Burgess Intelligent modular remote server management system
US20050202388A1 (en) * 2004-03-11 2005-09-15 Zuhl Michael A. Method and apparatus for remote interaction with a computer over a network
US20050204015A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for generation and transmission of computer graphics data
US20050201404A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for remote interaction with a computer over a network
US7853663B2 (en) * 2004-03-12 2010-12-14 Riip, Inc. Wireless management system for control of remote devices
US7710888B2 (en) 2004-04-05 2010-05-04 Verizon Business Global Llc Apparatus and method for testing and fault isolation in a communication network
US8488476B2 (en) * 2004-04-05 2013-07-16 Verizon Business Global Llc Providing applets to remote devices in a communications network
US20060202964A1 (en) * 2004-05-03 2006-09-14 Yee Liaw Intelligent modular server management system with enhanced graphical user interface
US7457461B2 (en) * 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US20050289539A1 (en) * 2004-06-29 2005-12-29 Sudhir Krishna S Central installation, deployment, and configuration of remote systems
US7519749B1 (en) 2004-08-25 2009-04-14 American Megatrends, Inc. Redirecting input and output for multiple computers
US8499337B1 (en) 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
US20060085562A1 (en) * 2004-10-14 2006-04-20 Blaho Bruce E Devices and methods for remote computing using a network processor
US7613927B2 (en) * 2004-11-12 2009-11-03 Raritan Americas, Inc. System for providing secure access to KVM switch and other server management systems
JP4628929B2 (ja) * 2004-11-30 2011-02-09 富士通コンポーネント株式会社 ラックマウントシステム
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US7698405B2 (en) * 2005-01-07 2010-04-13 Lantronix, Inc. MILARRS systems and methods
US8214398B1 (en) 2005-02-16 2012-07-03 Emc Corporation Role based access controls
US20060236347A1 (en) * 2005-03-24 2006-10-19 Jayson Holovacs Digital remote device management system for selectively operating a plurality of remote devices
US8332523B2 (en) * 2005-04-06 2012-12-11 Raritan Americas, Inc. Architecture to enable keyboard, video and mouse (KVM) access to a target from a remote client
US8516171B2 (en) * 2005-04-06 2013-08-20 Raritan Americas Inc. Scalable, multichannel remote device KVM management system for converting received signals into format suitable for transmission over a command network
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US8949404B2 (en) * 2005-05-24 2015-02-03 Hewlett-Packard Development Company, L.P. Acquiring graphical operating system post-failure screen
US8132018B2 (en) * 2005-06-30 2012-03-06 Intel Corporation Techniques for password attack mitigation
US10015630B2 (en) 2016-09-15 2018-07-03 Proximity Grid, Inc. Tracking people
US10390212B2 (en) 2016-09-15 2019-08-20 Proximity Grid, Inc. Tracking system having an option of not being trackable
US7761400B2 (en) 2005-07-22 2010-07-20 John Reimer Identifying events
US7546374B2 (en) 2005-08-05 2009-06-09 Global Serv Inc. Methods and arrangements for managing and maintaining a switch environment
US7886091B2 (en) * 2005-08-05 2011-02-08 Global Serv Inc. Methods and arrangements for performing desktop switching
US7689704B2 (en) 2005-08-05 2010-03-30 Global Serv Inc. Methods and arrangements for managing automated switching
US20070058657A1 (en) * 2005-08-22 2007-03-15 Graham Holt System for consolidating and securing access to all out-of-band interfaces in computer, telecommunication, and networking equipment, regardless of the interface type
US7822857B2 (en) * 2005-09-07 2010-10-26 Hewlett-Packard Development Company, L.P. Methods and systems for sharing remote access
US8478884B2 (en) * 2005-09-30 2013-07-02 Riip, Inc. Wireless remote device management utilizing mesh topology
US20070103739A1 (en) * 2005-11-09 2007-05-10 Anderson Thomas P Jr Apparatus and methods for remote viewing and scanning of microfilm
US7962552B2 (en) * 2005-11-14 2011-06-14 Red Hat, Inc. Borrow and give back of windows
US20070130289A1 (en) * 2005-12-07 2007-06-07 Christopher Defazio Remote access
US8010843B2 (en) 2005-12-14 2011-08-30 American Megatrends, Inc. System and method for debugging a target computer using SMBus
US7783820B2 (en) * 2005-12-30 2010-08-24 Avocent Corporation Packet-switched split computer having disassociated peripheral controller and plural data buses
US7478182B2 (en) * 2006-01-31 2009-01-13 Schweig Marc E Keyboard, mouse, and video (KVM) session capture system that stores and can playback portions of live KVM session via forensic capture module
US20070208891A1 (en) * 2006-03-01 2007-09-06 Aten International Co., Ltd KVM switching system
US7852873B2 (en) * 2006-03-01 2010-12-14 Lantronix, Inc. Universal computer management interface
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
JP2007280071A (ja) * 2006-04-07 2007-10-25 Yokogawa Electric Corp アラーム情報表示装置
US7782961B2 (en) * 2006-04-28 2010-08-24 Avocent Corporation DVC delta commands
US8427489B2 (en) 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8009173B2 (en) * 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US7783799B1 (en) 2006-08-31 2010-08-24 American Megatrends, Inc. Remotely controllable switch and testing methods using same
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
FR2909787A1 (fr) * 2006-12-12 2008-06-13 Hvh Partners Systeme d'acces a distance a une unite de traitement d'informations
DE102006058828A1 (de) * 2006-12-13 2008-06-19 Fujitsu Siemens Computers Gmbh System zur Übermittlung von Statusinformationen eines Computers
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8136042B2 (en) * 2007-05-11 2012-03-13 Raritan Americas, Inc. Local port browser interface
US20080313319A1 (en) * 2007-06-18 2008-12-18 Avocent Huntsville Corporation System and method for providing multi-protocol access to remote computers
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
DE102007033346A1 (de) * 2007-07-16 2009-05-20 Certon Systems Gmbh Verfahren und Vorrichtung zur Administration von Computern
EP2224338A3 (de) * 2007-09-12 2011-03-16 Citrix Systems, Inc. Verfahren und Systeme zur Erzeugung von Desktop-Umgebungen für Integrierten Zugang zu Entfernten und lokalen Ressourcen
US8108513B2 (en) * 2007-09-26 2012-01-31 Microsoft Corporation Remote monitoring of local behavior of network applications
US8543683B2 (en) * 2007-09-26 2013-09-24 Microsoft Corporation Remote monitoring of local behavior of network applications
US8444473B2 (en) 2007-11-09 2013-05-21 Igt Gaming system, gaming device, and gaming method for shifting symbols from a staging area to a symbol matrix
US20090132579A1 (en) * 2007-11-21 2009-05-21 Kwang Edward M Session audit manager and method
US20090177901A1 (en) * 2008-01-08 2009-07-09 Aten International Co., Ltd. Kvm management system capable of controlling computer power
JP2009278288A (ja) * 2008-05-13 2009-11-26 Funai Electric Co Ltd ネットワーク機器
US9785761B2 (en) * 2008-07-31 2017-10-10 Qualcomm Incorporated Unlocking a locked user device using a computer generated unlock code provided by a user
FR2936620B1 (fr) * 2008-10-01 2010-10-22 Ingenico Sa Terminal de paiement electronique a affichage ameliore
WO2010042114A1 (en) * 2008-10-07 2010-04-15 Hewlett-Packard Development Company, L.P. Portable management device
US20100147041A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Tethering arrangement for portable electronic devices
US8117054B2 (en) * 2009-11-20 2012-02-14 Palo Alto Research Center Incorporated Method for estimating task stress factors from temporal work patterns
AU2011242390A1 (en) * 2010-04-21 2012-12-13 James Ross An apparatus for use in providing technical support for a computing device
US20130300557A1 (en) * 2012-05-09 2013-11-14 International Business Machines Corporation Alert and response messaging between devices
US9313602B2 (en) 2012-10-24 2016-04-12 Beta Brain, Inc. Remotely accessing a computer system
US9858777B2 (en) * 2013-03-08 2018-01-02 Sensormedia Inc. System, method and computer readable medium for managing mobile devices
US9207651B2 (en) * 2013-06-27 2015-12-08 Crestron Electronics Inc. Connection aware power control of network displays
US9390587B2 (en) 2013-09-17 2016-07-12 Igt Gaming system and method for providing a cascading symbol game with multiple symbol display position symbols
US9355528B2 (en) 2013-09-17 2016-05-31 Igt Gaming system and method for providing a cascading symbol game with shifting symbols between multiple symbol display position matrices
US9460587B2 (en) 2013-09-17 2016-10-04 Igt Gaming system and method for providing a cascading symbol game with shifting symbols in different directions between multiple symbol display position matrices
US9472065B2 (en) 2013-09-17 2016-10-18 Igt Gaming system and method for providing a cascading symbol game with interacting symbols
US9418518B2 (en) 2013-09-17 2016-08-16 Igt Gaming system and method for providing a cascading symbol game with interacting symbols
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
JP6404649B2 (ja) * 2014-09-09 2018-10-10 ファナック株式会社 コンピュータ制御機器のリモート診断装置
US10025932B2 (en) * 2015-01-30 2018-07-17 Microsoft Technology Licensing, Llc Portable security device
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
CN110164399B (zh) * 2019-07-01 2020-11-24 深圳市卡迪智能科技有限公司 8位深度字模存储优化方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4057847A (en) * 1976-06-14 1977-11-08 Sperry Rand Corporation Remote controlled test interface unit
GB2046051B (en) * 1979-03-29 1983-01-26 Philips Electronic Associated Real time histogram modification system for image processing
US4641262A (en) * 1983-03-07 1987-02-03 International Business Machines Corporation Personal computer attachment for host system display station
US4833625A (en) * 1986-07-09 1989-05-23 University Of Arizona Image viewing station for picture archiving and communications systems (PACS)
GB8801628D0 (en) * 1988-01-26 1988-02-24 British Telecomm Evaluation system
JP2541631B2 (ja) * 1988-07-26 1996-10-09 ファナック株式会社 Cncのリモ―ト診断方式
US5140435A (en) * 1988-10-24 1992-08-18 Victor Company Of Japan, Ltd. Video signal frame search apparatus for selection of a desired frame
US5315512A (en) * 1989-09-01 1994-05-24 Montefiore Medical Center Apparatus and method for generating image representations of a body utilizing an ultrasonic imaging subsystem and a three-dimensional digitizer subsystem
US5170466A (en) * 1989-10-10 1992-12-08 Unisys Corporation Storage/retrieval system for document
JP2804125B2 (ja) * 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
US5327243A (en) * 1989-12-05 1994-07-05 Rasterops Corporation Real time video converter
US5084875A (en) * 1989-12-13 1992-01-28 Joseph Weinberger System for automatically monitoring copiers from a remote location
US5153886A (en) * 1990-01-31 1992-10-06 Hewlett Packard Company Visual display signal processing system and method
JP2698685B2 (ja) * 1990-03-27 1998-01-19 株式会社東芝 計算機システム遠隔操作装置
US5193174A (en) * 1990-07-23 1993-03-09 International Business Machines Corporation System for automatically redirecting information to alternate system console in response to the comparison of present and default system configuration in personal computer system
US5349675A (en) * 1990-09-04 1994-09-20 International Business Machines Corporation System for directly displaying remote screen information and providing simulated keyboard input by exchanging high level commands
US5388252A (en) * 1990-09-07 1995-02-07 Eastman Kodak Company System for transparent monitoring of processors in a network with display of screen images at a remote station for diagnosis by technical support personnel
FR2672707B1 (fr) * 1991-02-13 1993-06-04 Commande Electronique Procede de telemaintenance d'un poste de travail informatique et systeme pour sa mise en óoeuvre.
KR940001742B1 (ko) * 1991-05-27 1994-03-05 삼성전자 주식회사 고속 비디오 칼라 프린터
CA2072198A1 (en) * 1991-06-24 1992-12-25 Scott C. Farrand Remote console emulator for computer system manager
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
US5404493A (en) * 1992-11-17 1995-04-04 Intermec Corporation Method and computer system for processing keycode data and symbol code data in a bar code device

Also Published As

Publication number Publication date
EP0740811A1 (de) 1996-11-06
EP0740811B1 (de) 2002-09-04
DE69528041T2 (de) 2003-01-02
US5732212A (en) 1998-03-24
EP1152341A3 (de) 2001-12-12
AU1560495A (en) 1995-08-01
EP1152341B1 (de) 2006-03-22
ATE321302T1 (de) 2006-04-15
EP0740811A4 (de) 1998-04-15
EP1152341A2 (de) 2001-11-07
AU694167B2 (en) 1998-07-16
CA2181148C (en) 2007-01-09
CA2181148A1 (en) 1995-07-20
DE69534883D1 (de) 2006-05-11
ATE223589T1 (de) 2002-09-15
DE69528041D1 (de) 2002-10-10
WO1995019595A1 (en) 1995-07-20

Similar Documents

Publication Publication Date Title
DE69528041T2 (de) Vorrichtung zur Überwachung der auf einem Videoanzeigegerät angezeigten Information
DE69834266T2 (de) Mehrfach-benutzer-rechnersystem
USRE44814E1 (en) System and method for remote monitoring and operation of personal computers
DE69935234T2 (de) System zum fernzugriff auf personalcomputer
DE3786266T2 (de) Vorrichtung zum Anschluss einer Datenverarbeitungseinrichtung an ein Telefonnetz.
DE69935604T2 (de) Gerät, Verfahren und System zur Steuerung und Überwachung von einem Tastatur-, Video- und Mausschaltsystem
DE69515085T2 (de) Anzeigeeinrichtung mit drahtlosen Kommunikationsmitteln
DE69525336T2 (de) Lernfähiger benutzeroberflächenübersetzer
DE69032027T2 (de) Rechner und telefonapparat mit benutzerfreundlicher rechnerschnittstelle und erhöhter vollständigkeit
DE68925474T2 (de) Verriegelungsrechnersysteme
DE69718754T2 (de) Kombiniertes Fernzugriffs- und Sicherheitssystem
DE69129659T2 (de) System und methode zur fernüberwachung von kopiergeräten
DE3853550T2 (de) Verfahren und Vorrichtung zur Spezifikation von Kommunikationsparametern.
DE4227346C2 (de) Gerät zur Datenübertragung zwischen mehreren, mit einem SCSI-Bus verbundenen Einheiten
DE68922206T2 (de) NETBIOS-Namenauthentisierung.
DE3486199T3 (de) Werkführungssystem.
DE60030278T2 (de) Tastatur-/video-/mausverteiler für mehrfachnutzer
DE2148906C2 (de) Schaltungsanordnung zur Übertragung von Daten zwischen einem Rechner und einer Vielzahl von Endgeräten
DE69724325T2 (de) Verfahren und Einrichtung zum Auswählen der optimalen Fähigkeit zwischen einem Computersystem und einem Peripheriegerät
DE10341566A1 (de) Bildanzeigesystem
DE2843609A1 (de) Bildschirm-datenendstation
DE102005003264A1 (de) Tastatur-Maus-Video-Umschalter mit einer digitalen visuellen Schnittstelle
DE68916496T2 (de) Örtliches Kommunikationsbussystem mit einer Anzahl miteinander verbundener Einrichtungen, einem Steuerbus und einer Anzahl von Signalverbindungen, sowie einer Einrichtung und einem Schaltkasten zur Verwendung in einem derartigen System.
EP0224187A2 (de) Informationsabnahmesystem für eine Datenverarbeitungsanlage
DE69032881T2 (de) Benutzerschnittstelle für verwaltungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition