-
Die
Erfindung betrifft ein Verfahren zum Visualisieren graphischer Ausgabedaten
eines ersten Rechners auf einer Ausgabeeinheit eines zweiten Rechners,
der mit dem ersten Rechner in Verbindung steht.
-
Häufig ist
es nach Auslieferung eines komplizierten, insbesondere rechnergesteuerten
Produktes, wie beispielsweise einer Druckmaschine, eines Druckvorstufengerätes oder
eines Druckproduktverarbeitungsgerätes, erforderlich, dem Kunden
bei der Bedienung behilflich zu sein oder ihm die richtige Bedienung
mittels eine Vorführung
oder Erläuterung
der durchzuführenden
Schritte durch einen Servicemitarbeiter zu lehren. Aufgrund der
Möglichkeit,
verschiedene, voneinander entfernte Rechner miteinander zu verbinden
und Daten zwischen den beteiligten Rechnern auszutauschen, ist es
nicht mehr zwangsläufig erforderlich,
dass der Servicemitarbeiter vor Ort eine Schulung durchführt oder
eine Hilfestellung gibt. Der Servicemitarbeiter kann von seinem
Rechner aus mittels eines Fernsteuerungs-Rechnerprogramm direkt
auf den Rechner des Kunden zugreifen.
-
Es
ist bereits eine Reihe von Fernsteuerungs-Rechnerprogrammen bekannt,
welche, ausgehend von einem ersten lokalen Rechner, zur Steuerung
eines zweiten entfernten Rechners eingesetzt werden können. Ein
typisches Beispiel hierfür
ist das Programm „PC-Anywhere”. Begründet in
der Zielsetzung eines derartigen Programms besteht für den Bediener
des ersten Rechners die Möglichkeit
aktiv auf den im Remote-Dialog also ferngesteuert zugänglichen
beziehungsweise überwachten
zweiten Rechner einzugreifen. Beispielsweise werden Maus- und Tastaturereignisse
von dem überwachenden Rechner
(Server) in den zu überwachenden
Rechner (Client) kopiert. Dazu nutzt das Fernsteuerungs-Rechnerprogramm
als Applikation in einer Client-Server-Konfiguration Betriebssystemdienste,
wie Tastatur- und Grafiktreiber oder dergleichen, welche typischerweise
auf niedriger Maschinenebene realisiert sind. Ein Zugriff kann dabei
sowohl lesend (Visualisierung) als auch schreibend (Steuerung) erfolgen. Der
Zugriff auf die Daten des zweiten Rechners (Client) wird vom ersten
Rechner derart kontrolliert, als ob die Treiber, die bedient werden,
auf dem ersten Rechner wären.
Mit anderen Worten, die Fernsteuerung kann nur durch Eingriffe in
das Betriebssystem, bei Personalcomputern insbesondere das BIOS,
des fernzusteuernden Rechners erfolgen, indem Maus-, Tastatur- und Grafik-Daten
vom fernsteuernden in den fernzusteuernden Rechner geschrieben werden. Die
erreichte Funktionalität
entspricht also, vereinfacht ausgedrückt, einer „entfernten Verlängerung” des Monitor-,
Maus- und Tastaturkabels.
-
Ein
typischer Ablauf einer Aktion stellt sich wie folgt dar: Der zweite
Rechner (Client) startet über den
fernsteuernden Zugriff auf dem ersten Rechner (Server) ein Anwendungsprogramm
oder eine Applikation. Diese Applikation öffnet nun ihre Grafikoberfläche auf
dem Server und auf dem Client, indem die Grafikdaten, die im Server
zu seiner graphischen Bedienerschnittstelle (Graphical User Interface,
GUI) gesendet werden, kopiert und auf dem Client ebenfalls in die
zugeordnete graphischen Bedienerschnittstelle (GUI) gesendet werden.
Im Anschluss haben sowohl der Bediener des ersten Rechners als auch der
Bediener des zweiten Rechners die Möglichkeit, über Tastatureingaben oder dergleichen
den jeweils zugeordneten Tastaturpuffer oder dergleichen zu füllen, welcher
dann ebenfalls wieder kopiert und versendet wird. Als Ergebnis erscheinen
sowohl die eingegebenen Zeichen des ersten Rechners als auch die
eingegebenen Zeichen des zweiten Rechners auf den graphischen Bedienerschnittstellen
des ersten und des zweiten Rechners.
-
Aus
dem Dokument
DE 691
31 816 T2 geht ein computervermitteltes Kommunikationssystem hervor,
welches mehreren Benutzern, typischerweise einem Lehrer und mehreren
Studenten, gestattet, gleichzeitig an verschiedenen Rechnern Eingaben für eine gemeinsame
elektronische Text- oder Grafikdatei (elektronisches Blatt Papier),
welche gleichzeitig auf verschiedenen den Rechnern zugeordneten Monitoren
angezeigt werden, vorzunehmen. Eine Ausführungsform des Kommunikationssystems
umfasst die Funktionalität,
dass der Rechner des Lehrers eine Kopie des Bildschirms eines Rechners
eines Studenten anfordern kann. Wenn die Übertragung erfolgreich ist,
wird ein Merker am Studentenrechner für dessen Zeichenmaus eingeschaltet,
um zu signalisieren, dass alle nachfolgenden Ereignisse bis zur
Beendigung der Kommunikation mitzuteilen sind.
-
Nachteilig
bei derartigen Fernsteuerungs-Rechnerprogrammen für bestimmte
Anwendung, insbesondere die Führung
eines Kunden durch einen Servicemitarbeiter zur Vorführung oder
aktiven Lehre einer Bedienungsabfolge der durchzuführenden
Schritte, ist, dass mit diesen Programmen immer auch auf dem entfernten,
fernzusteuernden Rechner Eingriffe vom Bediener des lokalen Rechners
vorgenommen werden können.
Eine einfache Reduzierung der Funktionalität, beispielsweise durch das
Setzen von Optionen oder dergleichen in der Konfiguration, ist aus
Gründen
der Konzeption dieser Programme nicht möglich.
-
Das
US Patent 6,023,558 zeigt
ein Verfahren zur Übertragung
von komprimierten Grafikdaten von einem ersten Computersystem zu
einem zweiten Computersystem. Das Verfahren dient dazu, die übertragene
Datenmenge zwischen dem ersten und dem zweiten Computersystem zu
reduzieren. Zur Datenreduktion wird die Farbpalette des ersten Computersystems
reduziert und so die zwischen dem ersten und dem zweiten Computer übertragenen
Grafikdaten entsprechend verringert. Zu diesem Zweck werden die
Bilddaten des ersten Computers Pixel für Pixel in die zu übertragenden
Grafikdaten gemäß der reduzierten
Farbpalette umgerechnet.
-
Aus
dem
US Patent 5,748,189 sind
ein Verfahren und eine Vorrichtung bekannt, welche es erlauben,
Eingabegeräte
eines Computers wie Mouse und Tastatur über mehrere Computerbildschirme
hinweg zu benutzen. Sobald z. B. der von der Mouse gesteuerte Cursor
den rechten Bildrand eines Bildschirms erreicht hat, springt dieser
Cursor auf den linken Bildrand eines rechts neben dem Bildschirm
stehenden weiteren Bildschirm über.
Auf diese Art und Weise kann der Cursor mittels einer Mouse über mehrere
Bildschirme hinweg bewegt werden, so dass der Bediener mit einer
einzigen Mouse mehrere Bildschirme bedienen kann.
-
Es
ist Aufgabe der vorliegenden Erfindung, ein Verfahren zum Visualisieren
grafischer Ausgabedaten eines ersten Rechners auf einer Ausgabeeinheit
eines zweiten Rechners zu schaffen, bei dem möglichst wenig grafische Ausgabedaten
vom ersten Rechner zum zweiten Rechner übertragen werden müssen, ohne
dass der Ausgabeeinheit des zweiten Rechners wichtige grafische
Ausgabedaten des ersten Rechners vorenthalten werden.
-
Diese
Aufgabe wird erfindungsgemäß durch ein
Verfahren zum Visualisieren graphischer Ausgabedaten eines ersten
Rechners auf der Ausgabeeinheit eines zweiten Rechners, der mit
dem ersten Rechner in Verbindung steht, mit den Merkmalen gemäß Anspruch
1 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen charakterisiert.
-
Erfindungsgemäß zeichnet
sich das Verfahren zum Visualisieren graphischer Ausgabedaten eines
ersten Rechners auf der Ausgabeeinheit eines zweiten Rechners, der
mit dem ersten Rechner in Verbindung steht, dadurch aus, dass ein
Client-Programm auf dem zweiten Rechner über ein Server-Programm auf
dem ersten Rechner einen Kopiervorgang des aktuellen Bildspeichers
auslöst,
wobei der zu kopierende Bildspeicher in einen Grafik-Kopierspeicherbereich
abgelegt wird, und zumindest ein Teil des Inhaltes des Grafik-Kopierspeicherbereiches
auf den zweite Rechner übertragen
wird.
-
In
anderen Worten, ausgehend von dem Wunsch, dass einem Kunden, der
mit der Bedienung der Steuerung eines komplizierten Produktes, beispielsweise
einer Druckmaschine, einem Druckvorstufengerät oder einer Druckproduktverarbeitungsgerät, ein Problem
hat und/oder bestimmte Bedienungsvorgänge erklärt haben möchte, durch einen entfernten
Servicetechniker die Bedienung derart erläutert werden soll, dass der
Kunde als Geführte
vom Servicetechniker als Führendem
unterrichtet wird, wird durch das erfindungsgemäße Verfahren ein System zur
Verfügung
gestellt, mittels dessen der Servicetechniker dem Kunden bei der
richtigen Bedienung behilflich sein kann, ohne jedoch durch eine
ferngesteuerte Bedienung in den Rechner des Kunden einzugreifen,
dem Kunden also vorzugreifen. Der Kunde führt folglich die einzelnen
Schritte eigenständig
aus und lernt vorteilhafterweise aktiv, die Bedienung der Steuerung
auszuführen.
Er kann die Geschwindigkeit der Schrittabfolge selbst bestimmen
und prägt
sich die einzelnen Aktionen besser ein.
-
Durch
das erfindungsgemäße Verfahren kann
schnell und sicher durch den Bediener eines zweiten Rechners dem
Bediener eines ersten Rechners eine Hilfestellung oder Erläuterung
gegeben werden. Insbesondere können
Erklärungen
gegeben werden, ohne den Aktionen des Bedieners des ersten Rechners
vorzugreifen. Beispielsweise tauschen die zwei Bediener über konventionelle
Kommunikationsmittel, wie ein Telefonat, eine Videokonferenzschaltung,
elektronische Nachrichten oder dergleichen Informationen bezüglich der
durchzuführenden Bedienungsschritte
und Fragen und Erläuterungen aus.
-
Es
ist vorteilhaft, wenn vor der Übertragung eine
Komprimierung, typischerweise mit konventionellen Komprimierungsalgorithmen,
des Inhaltes des Grafik-Kopierspeichers erfolgt und die komprimierten Daten
in einen Komprimierspeicherbereich des ersten Rechners abgelegt
werden, damit die zu übermittelnde
Datenmenge reduziert wird, so dass eine höhere Geschwindigkeit des Datentransfers
erreicht wird. Desweiteren kann ein Historiespeicher vorgesehen
sein, in dem Bildschirminhalt einer zeitlich vorhergehenden Kopie
des Bildschirminhalts abgelegt ist. Der Inhalt des Komprimierungsspeicherbereichs kann
mit demjenigen des Historiespeicherbereichs vor dem Übertragen
verglichen wird. Das Resultat dieses Vergleichs liefert zum einen
eine Aussage, ob eine Veränderung
stattgefunden hat, beantwortet also die Frage, ob ein Datentransfer
erforderlich ist, zum anderen kann nach dem Vergleich des Historiespeicherbereichs
und des Komprimierungsspeicherbereichs eine Differenz gebildet wird,
die einen Unterschied zwischen beiden Speicherbereichen repräsentiert.
Folglich kann mit besonderem Vorteil zur Reduktion der zu übertragenden
Datenmenge lediglich die sich aus dem Vergleich der beiden Speicherbereiche
ergebende Differenz auf die zweite Recheneinheit übertragen
werden.
-
Auf
dem zweiten Rechner wird bevorzugt der übertragene Teil der Grafikdaten
in einem Übertragungsspeicher
abgelegt. Soweit erforderlich kann eine Dekomprimierung der Daten
erfolgen und gegebenenfalls anschließend ein Vergleich des Inhaltes des Übertragungsspeichers
mit dem aktuellen Inhalt eines Spiegelspeicherbereiches durchgeführt werden,
wobei der Spiegelspeicherbereich die bislang im zweiten Rechner
abgelegten Bilddaten des ersten Rechners aufweist. Optional wird
dann in der Folge aus den aktuellen im Spiegelspeicherbereich liegenden
Daten und der Differenz aus den Spiegelspeicherbereichdaten mit
den Daten im Übertragungsspeicherbereich
ein neues Bild auf einer Ausgabeeinheit des zweiten Rechners erzeugt
wird, welches die Bilddaten des ersten Rechners repräsentiert.
-
Zusätzlich zu
den oben genannten Verfahrensschritten können optional noch weitere
Verfahrensschritte vorgesehen werden, mit deren Hilfe es möglich ist,
die Position eines Zeigerelementes, bevorzugt eines Mauszeigers,
an den ersten Rechner, insbesondere als weitere Hilfestellung, zu übermitteln.
Von besonderem Vorteil ist es dabei, wenn der Mauszeiger so ausgestaltet
ist, dass aus einer äußeren Form
schon erkennbar ist, dass es sich um einen „externen”, also vom zweiten Rechner
stammenden Mauszeiger handelt. Zusätzliche Verfahrensschritte umfassen
dazu, auf ein Aktivierungssignal der zweiten Recheneinheit hin die Übermittlung
die aktuelle Position eines Zeigerelementes einer Bedieneroberfläche, insbesondere
eines Mauszeigers, an den ersten Rechner und die Aktivierung eines
Zeigerelementes auf der Ausgabeeinheit des ersten Rechners mit den
Daten der aktuellen übertragenen
Zeigerposition. Bevorzugt erfolgt dabei die Aktivierung in vorgegebenen
Zeitabständen,
insbesondere in regelmäßigen Zeitabständen. Es
ist besonders vorteilhaft, wenn nach dem Anzeigen des Zeigeelementes
auf der Ausgabeeinheit des ersten Rechners auf ein zweites Aktivierungssignal
des zweiten Rechners hin die Anzeige des Zeigerelementes gelöscht und/oder ein
Unterbrechungssignal zum Unterbrechen der Verbindung zwischen dem
ersten Rechner und dem zweiten Rechner gesendet wird.
-
Eine
bevorzugte Ausführungsform
des erfindungsgemäßen Verfahrens
besteht darin, dass ein Client-Rechner mit einem Server-Rechner
verbunden ist, der Client auf dem Server eine Screenshot-Operation
veranlasst, die Daten des Screenshots abgespeichert, optional komprimiert
und dann auf den Client übertragen
werden. Vor der Übertragung findet
gegebenenfalls ein Vergleich mit einem zeitlich vorhergehenden Screenshot
statt, so dass lediglich die Daten übertragen werden müssen, bei
denen sich an der Bildanzeige etwas geändert hat.
-
Weitere
Vorteile und vorteilhafte Ausführungsformen
und Weiterbildungen der Erfindung werden anhand der nachfolgenden
Figuren sowie deren Beschreibungen dargestellt. Es zeigt im Einzelnen:
-
1 eine
schematische Darstellung zweier miteinander in Verbindung stehenden
Rechner mit zugeordneten Ausgabeeinheiten,
-
2 ein
Flussdiagramm der Schritte des erfindungsgemäßen Verfahrens zur Visualisierung graphischer
Ausgabedaten eines ersten Rechners auf der Ausgabeeinheit eines
zweiten Rechners,
-
3 ein
Flussdiagramm des erfindungsgemäßen Verfahrens
zur Visualisierung graphischer Ausgabedaten eines ersten Rechners
auf der Ausgabeeinheit eines zweiten Rechners mit zusätzlichen vorteilhaften
Verfahrensschritten, und
-
4 eine schematische Darstellung des Datenflusses
in verschiedenen Speicherbereichen.
-
Die 1 zeigt
eine schematische Darstellung zweier miteinander in Verbindung stehenden Rechner
mit zugeordneten Ausgabeeinheiten. Ein erster Rechner 10 weist
eine erste Ausgabeeinheit 11 auf. Er steht mit einem zweiten,
entfernten Rechner 12 mit einer zweiten Ausgabeeinheit 13 in
Wirkverbindung. Eine typische Ausgabeeinheit umfasst einen Monitor,
einen Drucker oder dergleichen. Zwischen den Rechnern können Daten
und/oder Steuerbefehle ausgetauscht werden. Der erste Rechner 10 wird
auch als Server und der zweite Rechner 12 als Client bezeichnet.
Graphische Ausgabedaten des ersten Rechners 10 werden für den Bediener
des ersten Rechners 120 auf der ersten Ausgabeeinheit 11 dargestellt.
Mittels des erfindungsgemäßen Verfahrens
können
die graphischen Ausgabedaten des ersten Rechners 10 auf
der zweiten Ausgabeeinheit 13 für den Bediener des zweiten
Rechners 12 visualisiert werden. Bevorzugt handelt es sich
beim Bediener des ersten Rechners 10 um einen Kunden und beim
Bediener des zweiten Rechners 12 um einen Servicemitarbeiter,
welcher dem Kunden eine Hilfestellung zur Problemanalyse und Problembeseitigung
und/oder eine Anleitung zur Durchführung von Bedienungsschritten
der Steuerung des Produktes gibt. In einer vorteilhaften Weiterbildung
der Erfindung ist vorgesehen, dass als weitere Hilfe für den Bediener
des ersten Rechners 11 durch den Bediener des zweiten Rechners 12 die
Position eines zweiten Zeigerelementes 17, beispielsweise
eines Mauszeigers oder eines Lichtgriffels, in Form eines ersten Zeigerelementes 15 auf
die erste Ausgabeeinheit 13 des ersten Rechners 11 übertragen
und dargestellt wird. Das Zeigerelement 15 ist dabei derart
ausgeführt,
dass an seiner äußeren Form,
beispielsweise durch einen Rahmen oder dergleichen, erkennbar ist, dass
dem Zeigerelement des zweiten Rechners 12 zugeordnet ist.
-
In 2 ist
ein Flussdiagramm der Schritte des erfindungsgemäßen Verfahrens zur Visualisierung
graphischer Ausgabedaten eines ersten Rechners auf der Ausgabeeinheit
eines zweiten Rechners dargestellt. Der aktuelle Bildschirminhalt
oder wenigstens ein Teil des aktuellen Bildschirminhalts des ersten
Rechners 10 wird, ausgelöst durch ein Programm oder
einen Programmzugriff des zweiten Rechners 12, in einem
ersten Verfahrensschritt 14 kopiert. Der Bildschirminhalt
wird in einem Graphikkopierspeicherbereich in einem zweiten Verfahrensschritt 16 abgelegt
und anschließend
wenigstens teilweise in einem dritten Verfahrensschritt 18 auf
den zweiten Rechner 12 übertragen.
Durch das erfindungsgemäße Verfahren
werden die Aktionen des Bedieners, dargestellt auf der ersten Ausgabeeinheit 11,
des ersten Rechners 10 als der Geführte für den Bediener des zweiten
Rechners 12 als der Führende auf
der zweiten Ausgabeeinheit 13 des zweiten Rechners 12 visualisiert.
-
Die 3 stellt
schematisch ein Flussdiagramm des erfindungsgemäßen Verfahrens zur Visualisierung
graphischer Ausgabedaten eines ersten Rechners auf der Ausgabeeinheit
eines zweiten Rechners mit zusätzlichen
vorteilhaften Verfahrensschritten dar. Nach dem ersten Verfahrensschritt 14 der
Kopie des Bildschirminhalts und dem zweiten Verfahrensschritt 16 der
Ablage im Kopierspeicherbereich kann gegebenenfalls ein dritter
Verfahrensschritt 20 des Vergleich des Kopierspeicherinhalts mit
dem Inhalt eines Historiespeicherbereichs erfolgen. Im Historiespeicherbereich
ist der Bildschirminhalt einer zeitlich vorhergehenden Kopie des
Bildschirminhalts abgelegt. Der dritte Verfahrensschritt 20 des
Vergleichs dient zur Differenzbildung, also zur Feststellung des
Unterschiedes zwischen aktuellem Bildschirminhalt und zeitlich vorhergehendem,
so dass nur die sich aus dem Vergleich ergebende Abweichung auf
den zweiten Rechner in einem vierten Verfahrensschritt 24 übertragen
zu werden braucht. Optional kann unabhängig vom oder ergänzend zum gegebenenfalls
durchgeführten
Vergleich der Speicherbereichsinhalte ein weiterer, zwischengeschobener
Verfahrensschritt 22 einer Komprimierung der zu übertragenden
Daten vorgesehen sein.
-
In
der 4 ist eine schematische Darstellung
des Datenflusses in verschiedenen Speicherbereichen gezeigt. Im
Teilbild 4a der 4 ist
gezeigt, dass der Inhalt des Bildschirmspeicherbereichs 26 in
den Graphikkopierspeicherbereich 28 kopiert und abgelegt
wird. Diese Daten werden in einen Übertragungsspeicherbereich 36 des
zweiten Rechners 12 transferiert und können mit den Daten in einem
Spiegelspeicherbereich 38 verglichen werden. Beispielsweise
kann in Abhängigkeit
vom Vergleichsergebnis entschieden werden, ob eine Darstellung oder
Visualisierung der Daten im Übertragungsspeicherbereich 36 auf
der zweiten Ausgabeeinheit 13 des zweiten Rechners 12 erfolgen
soll oder nicht. Bei auftretenden Unterschieden zwischen Daten im Übertragungsspeicherbereich 36 und
Spiegelspeicherbereich 38 wird bevorzugt eine Visualisierung
vorgenommen. Desweiteren ersetzen die aktuellen Bilddaten in der
Folge die Daten im Spiegelspeicherbereich 38 für einen
weiteren zeitlich nachgeordneten Vergleich.
-
Alternativ
dazu ist im Teilbild 4b der 4 dargestellt,
dass der Inhalt des Bildschirmspeicherbereichs 26 nach
Kopie und Ablage in den Graphikkopierspeicherbereich 28 einem
Vergleich mit dem Inhalt eines Historiespeicherbereichs 30 unterzogen
wird. Anschließend
erfolg eine Differenzbildung der Dateninhalte, welche in einem Differenzspeicherbereich 32 abgelegt
werden. Diese Differenzinformation wird gegebenenfalls nach einer
optionalen, aber vorteilhaften Komprimierung und Ablage in einem
Komprimierungsspeicherbereich 34 in einen Übertragungsspeicherbereich 36 des
zweiten Rechners 12 transferiert. In einer Weiterbildung
der Erfindung kann darüber
hinaus auch ein Vergleich mit dem Dateninhalt eines Spiegelspeicherbereichs 38 des
zweiten Rechners 12 erfolgen.
-
- 10
- erster
Rechner
- 11
- erste
Ausgabeeinheit
- 12
- zweiter
Rechner
- 13
- zweite
Ausgabeeinheit
- 14
- erster
Verfahrensschritt der Kopie des Bildschirminhalts
- 15
- ersten
Zeigerelement
- 16
- zweiter
Verfahrensschritt der Ablage in Kopierspeicherbereich
- 17
- zweites
Zeigerelement
- 18
- dritter
Verfahrensschritt der Übertragung
auf zweiten Rechner
- 20
- dritter
Verfahrensschritt des Vergleichs und der Differenzbildung
- 22
- weiterer
Verfahrensschritt der Komprimierung der Daten
- 24
- vierter
Verfahrensschritt der Übertragung
der Differenz
- 26
- Bildschirmspeicherbereich
- 28
- Grafikkopierspeicherbereich
- 30
- Historiespeicherbereich
- 32
- Differenzspeicherbereich
- 34
- Komprimierungsspeicherbereich
- 36
- Übertragungsspeicherbereich
- 38
- Spiegeispeicherbereich