-
Die
vorliegende Erfindung betrifft eine Technik zum Steuern von Geräten.
-
Beschreibung
des Standes der Technik
-
Im
Stand der Technik läuft
z.B. in einem Zustand, in dem ein Computer mit einem Scanner bzw. Abtaster
und einem Drucker verbunden ist, ein bestimmtes Anwendungsprogramm
auf dem Computer, um Bilddaten mit dem Abtaster zu lesen und die
eingegebenen Bilddaten mit dem Drucker zu drucken, um Funktionen
wie z.B. eine Kopiermaschine zu ermöglichen.
-
Hinsichtlich
der Kombination vorbestimmter Geräte (der Scanner und der Drucker
indem obigen Beispiel) ermöglicht
es der Stand der Technik einer Vorrichtung, die Daten, die von der
anderen Vorrichtung gesendet werden, unter dem bestimmten Anwendungsprogramm
zu empfangen und zu verarbeiten. Hinsichtlich der Kombination beliebiger
Vorrichtungen besteht jedoch andererseits keine Gewährleistung,
dass eine Vorrichtung die Daten, die von der anderen Vorrichtung übertragen
werden, empfangen und verarbeiten kann. In einigen Fällen ist
dementsprechend ein effektiver Datentransfer zwischen diesen beliebigen
Vorrichtungen nicht möglich.
-
Gemäß dem Stand
der Technik wird bewirkt, dass unterschiedliche Nutzerschnittstellen
für die
jeweiligen Geräte
getrennt in dem Prozess zur Durchführung des Datentransfers zwischen
diesen Geräten
angezeigt werden. Diese Konfiguration zwingt den Nutzer, getrennt
Anweisungen auf den unterschiedlichen Nutzerschnittstellen zu bestimmen, wodurch
die Bedienerfreundlichkeit unerwünscht
verschlechtert wird.
-
In
einer beispielhaften Konfiguration wird angenommen, dass ein bestimmtes
Gerät mit
einem Computer verbunden ist und ein anderes Gerät mit einem anderen Computer
unter einer Vielzahl von Computern, die über ein Netzwerk miteinander
verbunden sind, verbunden ist. In dieser Konfiguration macht es
der Stand der Technik sehr schwer, Daten zwischen dem bestimmten
Gerät und
dem anderen Gerät
entsprechend einem Anwendungsprogramm zu transferieren, das durch
noch einen anderen Computer aktiviert wird, da diese Computer über das Netzwerk
miteinander verbunden sind.
-
Das
Dokument EP-A-0679014 beschreibt ein Netzwerksystem, bei dem mehrere
Bildverarbeitungsvorrichtungen miteinander verbunden sind. Die Einstellungspositionen
der Geräte
der besonderen Gruppe von Geräten
in einer Netzwerkumgebung, die auf unterschiedlichen Etagen in einem
Gebäude angeordnet
sind und durch ein LAN-Netzwerk oder eine Kommunikationsleitung
verbunden sind, werden von einem Computer angezeigt. Einem Nutzer
wird ein Fenster bereitgestellt, um ein Eingabegerät wie z.B.
einen Scanner auszuwählen.
Getrennt davon wird ein Fenster zum Auswählen eines Ausgabegeräts wie z.B.
ein Drucker angezeigt. Die Fenster (Nutzerschnittstellen) zum Auswählen eines
Eingabegeräts
und diejenigen für
die Auswahl eines Ausgabegeräts
sind getrennt voneinander vorgesehen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Aufgabe der vorliegenden Erfindung ist es somit, ein Gerätesteuersystem
zu schaffen, das einen effektiven Datentransfer zwischen beliebigen Geräten ermöglicht und einem
Nutzer eine optimierte Bedienungsfähigkeit in Bezug auf eine beliebige Kombination
von Geräten
bereitstellt.
-
Die
Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Die
abhängigen
Ansprüche
sind auf bevorzugte Ausführungsformen
der Erfindung gerichtet.
-
In
der Gerätesteuervorrichtung,
dem Gerätesteuersystem
und dem Verfahren zum Bestimmen einer Kombination von Geräten gemäß der vorliegenden
Erfindung bestimmt der Prozess zunächst das Quellengerät und das
Zielgerät
und bestimmt anschließend
auf der Grundlage der Attributinformationen des bestimmten Quellengeräts und des
bestimmten Zielgeräts,
ob das bestimmte Zielgerät
die Daten, die von dem bestimmten Quellengerät übertragen werden, empfangen
und verarbeiten kann.
-
In
dieser Beschreibung beinhalten die Geräte nicht nur physikalische
Geräte,
sondern auch Teile der Funktionen der physikalischen Geräte, d.h.
solche, die äquivalente
Funktionen der physikalischen Vorrichtungen durch Software realisiert
haben, und solche, die äquivalent
zu physikalischen Geräten
gehandhabt werden. Die physikalischen Geräte beinhalten einen Scanner,
einen Drucker, eine Digitalkamera, ein Faxgerät, eine Kopiermaschine und
eine Vielzahl anderer Computerperipherausrüstungen. Der Teil der Funktionen
der physikalischen Geräte beinhaltet
z.B. eine externe Präsentation
von nur der Faxfunktion einer Mehrfunktionsfarbkopiermaschine. Diejenigen,
die äquivalente
Funktionen zu physikalischen Geräten
aufweisen, und diejenigen, die äquivalent
zu physikalischen Geräten
gehandhabt werden, beinhalten z.B. eine elektronische Mail bzw. Nachricht,
Bildverarbeitung, einen Verarbeitungsserver und einen Anwendungsserver.
Der Anwendungsserver meint, dass z.B., wenn ein Anwendungsprogramm
automatisch eine Bilddatei, die in einem Cash-Verzeichnis eines
Web-Browsers enthalten ist, holt, das Anwendungsprogramm selbst
als stationäres
Bildeingabegerät
wie z.B. eine Digitalkamera dient. In diesem Fall ist das Gerät kein physikalisches Wesen.
-
In
dieser Beschreibung ist ein Gerät,
das zumindest eine Übertragung
von Daten ermöglicht,
als das Quellengerät
definiert, und ein Gerät,
das zumindest den Empfang von Daten ermöglicht, ist als das Zielgerät definiert.
Wenn ein Gerät
für die
Zwischenverarbeitung zumindest eine Übertragung von Daten ermöglicht,
kann das Gerät
als das Quellengerät
betrachtet werden. Wenn das Gerät
für die
Zwischenverarbeitung zumindest den Empfang von Daten ermöglicht,
kann dasselbe Gerät
als das Zielgerät
betrachtet werden. D.h., jedes der derartigen Geräte kann
als Quellengerät
oder als Zielgerät
betrachtet werden.
-
In
der Beschreibung kann die Bestimmung des Quellengeräts und des
Zielgeräts
dadurch implementiert werden, dass zunächst eine bestimmte Gruppe
bestimmt wird, die mehrere Geräte
als mögliche
Kandidaten zumindest entweder des Quellengeräts oder des Zielgeräts enthält, und
anschließend zumindest
entweder ein Quellengerät
oder ein Zielgerät
in der bestimmten Gruppe bestimmt wird. Eine andere mögliche Prozedur
bestimmt aufeinander folgend zumindest ein Quellengerät oder ein
Zielgerät in
einer bestimmten Gruppe, die eine Vielzahl von Geräten als
mögliche
Kandidaten enthält.
-
Die
Gerätebestimmungseinheit
kann das Quellengerät
und das Zielgerät
entsprechend einer Anweisung bestimmen, die von einem Nutzer oder
einer anderen Vorrichtung gegeben wird, oder das Quellengerät und das
Zielgerät
automatisch durch ein voreingestelltes Verfahren bestimmen.
-
Die
Technik der vorliegenden Erfindung führt die Bestimmung für die Kombination
beliebiger Geräte
durch und garantiert auf das positive Ergebnis der Bestimmung hin,
dass das Zielgerät
die Daten, die von dem Quellengerät übertragen werden, empfangen
und verarbeiten kann. Dieses gewährleistet dementsprechend
den effektiven Datentransfer zwischen diesen beliebigen Geräten.
-
In
dieser Beschreibung beinhaltet der Ausdruck "Betreiben des Geräts" bzw. "Bedienen des Geräts" nicht nur Operationen des Geräts in einem engen
Sinne, sondern auch Einstellungen, Steuerungen und weitere Prozesse
des Geräts.
-
In
der oben beschriebenen Anordnung wird z.B. in dem Fall eines Datentransfers
von dem Quellengerät
zum Zielgerät
eine Nutzerschnittstelle zum Betreiben eines zusammengesetzten Geräts, das
zumindest Teile der jeweiligen Funktionen sowohl des Quellengeräts als auch
des Zielgeräts
aufweist, als die Nutzerstelle zum Betreiben sowohl des Quellengeräts als auch
des Zielgeräts
angezeigt. Diese Anordnung erfordert nicht, dass der Nutzer unterschiedliche
Nutzerschnittstellen für
das Quellengerät
und das Zielgerät
betätigt,
sondern ermöglicht
es dem Nutzer, Einstellungen gleichzeitig in einer vereinigten Nutzerschnittstelle
zu bestimmen. Dieses stellt dem Nutzer dementsprechend eine optimierte
Bedienbarkeit in Bezug auf eine beliebige Kombination von Geräten bereit.
Der Nutzer kann die getrennten Geräte (d.h. das Quellengerät und das
Zielgerät)
als ein zusammengesetztes Gerät
betrachten und betreibt diese getrennten Geräte integral bzw. zusammen.
Dieser Punkt stellt dem Nutzer ebenfalls die optimierte Bedienbarkeit
zur Verfügung.
-
Die
Gerätesteuervorrichtung
enthält
außerdem
eine Datentransferausführungseinheit,
die, wenn die Entschei dungseinheit bestimmt, dass das bestimmte
Zielgerät
Daten, die von dem bestimmten Quellengerät übertragen werden, empfangen
und verarbeiten kann, das bestimmte Quellengerät und das bestimmte Zielgerät steuert,
um einen Datentransfer von dem bestimmten Quellengerät zum bestimmten
Zielgerät über die
Gerätesteuervorrichtung zu
ermöglichen.
-
Auf ähnliche
Weise enthält
gemäß einer
anderen bevorzugten Anwendung der vorliegenden Erfindung das Verfahren
außerdem
den Schritt: (c) wenn im Schritt (b) bestimmt wird, dass das bestimmte
Zielgerät
Daten, die von dem bestimmten Quellengerät übertragen werden, empfangen
und verarbeiten kann, Steuern des bestimmten Quellengeräts und des
bestimmten Zielgeräts,
um einen Datentransfer von dem bestimmten Quellengerät zum bestimmten
Zielgerät über eine
Gerätesteuervorrichtung,
die eine Steuerung des Quellengeräts und den Zielgeräts ermöglicht,
zu ermöglichen.
-
Diese
Anordnung ermöglicht,
dass der effektive Datentransfer tatsächlich von dem bestimmten Quellengerät zum bestimmten
Zielgerät
durchgeführt wird.
-
Entsprechend
einer anderen bevorzugten Anwendung der vorliegenden Erfindung enthält die Gerätesteuervorrichtung
außerdem
eine Datentransferausführungseinheit,
die, wenn die Entscheidungseinheit bestimmt, dass das bestimmte
Zielgerät
Daten, die von dem bestimmten Quellengerät übertragen werden, empfangen
und verarbeiten kann, das bestimmte Quellengerät und das bestimmte Zielgerät steuert,
um einen Datentransfer von dem bestimmten Quellengerät zum bestimmten
Zielgerät,
der nicht über
die Gerätesteuervorrichtung
durchgeführt
wird, zu ermöglichen.
-
Auf ähnliche
Weise enthält
gemäß einer
anderen vorteilhaften Anwendung der vorliegenden Erfindung das Verfahren
außerdem
den Schritt: (c) wenn im Schritt (b) bestimmt wird, dass das bestimmte
Zielgerät
Daten, die von dem bestimmten Quellengerät übertragen werden, empfangen
und verarbeiten kann, Steuern des bestimmten Quellengeräts und des
bestimmten Zielgeräts,
um zu ermöglichen, dass
Daten von dem bestimmten Quellengerät zum bestimmten Zielgerät nicht über eine
Gerätesteuervorrichtung übertragen
werden, die eine Steuerung des Quellengeräts und des Zielgeräts ermöglicht.
-
Die Übertragung
von Daten von dem bestimmten Quellengerät zum bestimmten Zielgerät nicht über die
Gerätesteuervorrichtung
erzielt einen Datentransfer mit höherer Geschwindigkeit.
-
Entsprechend
einer anderen bevorzugten Anwendung der Gerätesteuervorrichtung bestimmt die
Gerätebestimmungseinheit
das Quellengerät
und das Zielgerät,
wenn eine vorbestimmte Operation in Bezug auf sowohl ein Symbol,
das dem Quellengerät entspricht,
als auch ein Symbol, das dem Zielgerät entspricht, durchgeführt wird,
wenn beide Symbole auf einer Anzeigeeinheit angezeigt werden.
-
Auf ähnliche
Weise enthält
gemäß einer
anderen bevorzugten Anwendung des Verfahrens der Schritt (a) die
Schritte: (a-1) Bewirken, dass ein Symbol, das dem Quellengerät entspricht,
und ein Symbol, das dem Zielgerät
entspricht, angezeigt werden, und (a-2) wenn eine vorbestimmte Operation
in Bezug auf beide Symbole durchgeführt wird, Bestimmen des Quellengeräts und des
Zielgeräts.
-
Die
vorbestimmte Operation, die in Bezug auf beide Symbole durchgeführt wird,
zeigt, dass der Nutzer die Geräte,
die diesen Symbolen entsprechen, zu bestimmen wünscht. Das Quellengerät und das
Zielgerät
werden dementsprechend auf die Anforderung des Nutzers hin bestimmt.
Die vorbestimmte Operation der Symbole kann ein Symbol auf das andere
Symbol legen oder beide Symbole auswählen und einen bestimmten Befehl
geben.
-
Diese
und weitere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden
Erfindung werden anhand der folgenden genaueren Beschreibung der
bevorzugten Ausführungsform
mit den zugehörigen
Zeichnungen deutlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Es
zeigen:
-
1 ein
Blockdiagramm, das die Struktur eines Gerätesteuersystems gemäß der vorliegenden Erfindung
zeigt,
-
2A bis 2C Blockdiagramme,
die typische Zustände
der Verbindung in dem Gerätesteuersystem
der 1 zeigen,
-
3A bis 3C Blockdiagramme,
die andere verfügbare
Zustände
der Verbindung in dem Gerätesteuersystem
der 1 zeigen,
-
4 ein
Blockdiagramm, das eine andere Datentransfertechnik, die für das Gerätesteuersystem
der 1 anwendbar ist, zeigt,
-
5 ein
Blockdiagramm, das die andere Datentransfertechnik, die für das Gerätesteuersystem
der 1 anwendbar ist, zeigt,
-
6 ein
Blockdiagramm, das ein konkretes Beispiel zeigt, bei dem die COM-Technologie
angewendet wird, um das Gerätesteuersystem
der 1 zu realisieren,
-
7A und 7B einen
Betrieb eines Scannerpiktogramms und eines Druckerpiktogramms, die
in einem Fenster angezeigt werden,
-
8 einen
Prozess eines Datentransfers, der in dem Gerätesteuersystem der 6 durchgeführt wird,
-
9 den
Prozess des Datentransfers, der in dem Gerätesteuersystem der 6 durchgeführt wird,
-
10 den
Prozess des Datentransfers, der in dem Gerätesteuersystem der 6 durchgeführt wird,
-
11 den Prozess des Datentransfers, der in dem
Gerätesteuersystem
der 6 durchgeführt wird,
-
12 den Prozess des Datentransfers, der in dem
Gerätesteuersystem
der 6 durchgeführt wird,
-
13 ein Blockdiagramm, das ein konkretes Beispiel
zeigt, bei dem die COM-Technologie verwendet wird, um die Datentransfertechnik
der 5 zu realisieren,
-
14 einen Prozess eines direkten Datentransfers
zwischen den Gerätesteuerungen 30a und 30b der 13,
-
15 den Prozess des direkten Datentransfers zwischen
den Gerätesteuerungen 30a und 30b der 13,
-
16 den Prozess des direkten Datentransfers zwischen
den Gerätesteuerungen 30a und 30b der 13,
-
17 den Prozess des direkten Datentransfers zwischen
den Gerätesteuerungen 30a und 30b der 13,
-
18 ein Beispiel einer Nutzerschnittstelle, die
in einem Fenster angezeigt wird, wenn eine virtuelle Kopiermaschine
durch das in 1 gezeigte Gerätesteuersystem
realisiert wird,
-
19 einen Datenfluss, wenn die virtuelle Kopiermaschine
durch das Gerätesteuersystem
der 1 realisiert wird,
-
20 ein Beispiel eines Geräteauswahlbaumes, der in einem
Fenster angezeigt wird,
-
21 ein Blockdiagramm, das ein Gerätesteuersystem
in dem Zustand der Verbindung, der in 2C gezeigt
ist, zeigt,
-
22 ein Blockdiagramm, das eine Hardware-Konfiguration des
Computers 100 der 21 zeigt,
-
23 ein Scannerpiktogramm und ein Druckerpiktogramm,
die in dem Fenster auf dem Monitor 170 der 21 angezeigt werden,
-
24 ein Flussdiagramm, das eine Datentransferstartroutine
zeigt, die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird,
-
25 ein Flussdiagramm, das eine Nutzerschnittstellenanzeigeroutine
zeigt, die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird,
-
26 eine Schnittstelle zum Betreiben einer Kopiermaschine
als ein zusammengesetztes Gerät,
die in dem Fenster auf dem Monitor 170 der 21 angezeigt wird,
-
27 eine andere Nutzerschnittstelle zum Betreiben
eines Empfangsfaxgeräts
als ein zusammengesetztes Gerät,
die in dem Fenster auf dem Monitor 170 der 21 angezeigt wird,
-
28 ein Flussdiagramm, das eine Modifikation der
Nutzerschnittstellenanzeigeroutine der 25 zeigt,
-
29 ein Kopiermaschinenpiktogramm, das in dem Fenster
auf dem Monitor 170 der 21 angezeigt
wird,
-
30 ein Pop-up-Menü, das in der Nähe des Druckerpiktogramms
in dem Fenster auf dem Monitor 170 unter Verwendung der
Informationen der angesammelten Ergebnisse 131 der 21 angezeigt wird,
-
31 mögliche
Kombinationen des Quellengeräts
und des Zielgeräts,
die in einem Fenster auf dem Monitor 170 unter Verwendung
der Informationen der angesammelten Ergebnisse 131 der 21 angezeigt werden,
-
32 ein Pop-up-Menü, das in der Nähe des Kopiermaschinenpiktogramms
in dem Fenster auf dem Monitor 170 unter Verwendung der
Informationen der angesammelten Ergebnisse 131 der 21 angezeigt wird,
-
33 Bildpiktogramme und das Druckerpiktogramm,
die in dem Fenster auf dem Monitor 170 der 21 angezeigt werden,
-
34 ein Blockdiagramm, das eine Konfiguration für den Fall
zeigt, dass eine Anweisung an die Anwendungsein heit 110 des
Computers 100 unter Verwendung eines Informationsterminals 500 gegeben
wird,
-
35 das Erscheinungsbild des Informationsterminals 500 der 34 und ein beispielhaftes Fenster, das in einer
Anzeigeeinheit 530 des Informationsterminals 500 angezeigt
wird, und
-
36 ein Flussdiagramm, das eine andere Nutzerschnittstellenanzeigeroutine,
die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird, zeigt.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist
ein Blockdiagramm, das die Struktur eines Gerätesteuersystems gemäß der vorliegenden
Erfindung zeigt.
-
In
der dargestellten Ausführungsform
der 1 sind mehrere Geräte 34a und 34b zu
steuern, die z.B. ein Scanner und ein Drucker sein können. Eine
Anwendungseinheit 20 ist durch voreingestellte Anwendungsprogramme
aufgebaut und steuert die Endgeräte 34a und 34b über mehrere
untere Bestandteile, die Schnittstelleneinheiten 22a und 22b enthalten,
die später
beschrieben werden.
-
Wie
es in 1 gezeigt ist, enthält das Gerätesteuersystem dieser Ausführungsform
hauptsächlich
die Schnittstelleneinheiten 22a und 22b, Kommunikationspfadabstraktionseinheiten 24a und 24b und
Geräteabstraktionseinheiten 28a und 28b. Diese
Bestandteile werden entsprechend den jeweiligen Geräten 34a und 34b durch
Computerprogramme erzeugt.
-
Die
Geräteabstraktionseinheiten 28a und 28b übertragen
Informationen, die verschiedene Teile von Steuerungs informationen
und Daten zu und von den entsprechenden Geräten 34a und 34b enthalten,
und führen
eine Abstraktion der Geräte
durch, d.h. eine Abstraktion der Hardware in Bezug auf die oberen
Bestandteile wie z.B. die Schnittstelleneinheiten 22a und 22b und
die Anwendungseinheit 20.
-
Die
Geräteabstraktionseinheiten 28a und 28b enthalten
jeweilige Gerätesteuerungen 30a und 30b und
Gerätetreiber 32a und 32b.
Die Gerätetreiber 32a und 32b entfernen
scheinbar einen Unterschied in der Steuerungsprozedur zwischen den
entsprechenden Geräten 34a und 34b,
der den bestimmten Charakteristika der entsprechenden Geräte 34a und 34b zugeschrieben
wird, und führen
jeweils eine Abstraktion für
die oberen Bestandteile aus. Es besteht jedoch weiterhin ein Unterschied
in der Steuerungsprozedur, die einer Geräteklasse oder einem Gerätetyp zugeschrieben
wird.
-
Wenn
beispielsweise sowohl ein Drucker A, der von einer Firma A hergestellt
wird, und ein Drucker B, der von einer anderen Firma B hergestellt wird,
die als die Geräte
in dieser Ausführungsform bereitgestellt
werden, zur selben Geräteklasse
gehören,
d.h. der Druckerklasse, entfernt der Gerätetreiber scheinbar einen Unterschied
in der Steuerungsprozedur zwischen den Druckern A und B und bewirkt,
dass beide Drucker A und B durch die oberen Bestandteile wie z.B.
die Gerätesteuerungen 30a und 30b als ähnliche
Geräte
erkannt werden, die in der gemeinsamen Geräteklasse (Druckerklasse) enthalten
sind.
-
Ein
allgemeiner Druckertreiber für
Windows (Trademark von Microsoft Corporation) ist derart ausgelegt,
dass er die Windows-GDI-(Graphic Device Interface)-Funktion außerhalb
des Druckertreibers zeigt. Wenn eine allgemeine Anweisung wie z.B. "drucke einen bestimmten
Brief an ei ner bestimmten Position" eingegeben wird, wandelt der Druckertreiber
die Anweisung in eine Folge von Befehlen, die speziell für den entsprechenden
Drucker sind, und gibt die Folge von Befehlen an den entsprechenden Drucker
zum Zwecke der Steuerung des Druckers aus. Die Anwendung derartiger
Druckertreiber für
die Gerätetreiber
dieser Ausführungsform
ermöglicht eine
im Wesentlichen vollständige
Entfernung eines Unterschieds in der Steuerungsprozedur zwischen den
Druckern, die den bestimmten Charakteristika der jeweiligen Drucker
zugeschrieben wird.
-
Die
Gerätesteuerungen 30a und 30b entfernen
andererseits scheinbar einen Unterschied in der Steuerungsprozedur,
die der Geräteklasse
zugeschrieben wird, in Bezug auf die entsprechenden Geräte 34a und 34b und
führen
eine vollständige
Abstraktion der jeweiligen Geräte 34a und 34b für die oberen
Bestandteile wie z.B. die Schnittstelleneinheiten 22a und 22b durch.
-
Wie
es oben beschrieben ist, entfernen die Gerätetreiber 32a und 32b scheinbar
den Unterschied in der Steuerungsprozedur zwischen den Geräten, die
zur selben Geräteklasse
gehören,
aber es besteht weiterhin ein Unterschied in der Steuerungsprozedur
zwischen dem Gerät,
das zur Druckerklasse gehört,
und dem Gerät,
das zur Scannerklasse gehört.
Die Gerätesteuerungen 30a und 30b entfernen dann
scheinbar einen Unterschied in der Steuerungsprozedur, der den unterschiedlichen
Geräteklassen
zugeschrieben wird. Diese Anordnung ermöglicht es, dass die oberen
Bestandteile die unterschiedlichen Geräte, die den unterschiedlichen
Geräteklassen
angehören,
als identische Geräte
in Bezug auf die Steuerungsprozedur erkennen können.
-
Die
jeweiligen Gerätesteuerungen 30a und 30b stellen
den oberen Bestandteilen wie z.B. den Schnittstellenein heiten 22a und 22b identische Schnittstellen
bereit und führen
eine vollständige
Abstraktion der Geräte
durch.
-
In
einem einfachen Beispiel können
die folgenden Funktionen durch die gemeinsamen Schnittstellen oder
Universalschnittstellen erzielt werden:
- – Ausgeben
von Daten (Datenstrom, Datentyp)
- – Eingeben
von Daten (Datenstrom, Datentyp)
- – Erhalten
des Gerätezustands
(Zustands-ID, Zustandswert)
- – Einstellen
des Gerätezustands
(Zustands-ID, Zustandswert)
- – Erhalten
von Geräteattribut
(Attribut-ID, Attributwert)
- – Einstellen
von Geräteattribut
(Attribut-ID, Attributwert)
-
Beispiele
für die
Parameter sind in den Klammern gegeben.
-
Eine
Standardisierung der Schnittstelle zu den oberen Bestandteilen durch
jede Gerätesteuerung
bewirkt natürlicherweise,
dass einige Geräteklassen
bedeutungslosen Steuerungen (Funktionen) unterliegen. Die oberen
Bestandteile können
jedoch die adäquaten
Steuerungen für
jedes Gerät
durch Untersuchen der Eigenschaften eines jeweiligen Geräts im Voraus
bestimmen.
-
Die
Gerätetreiber 32a und 32b sind
jeweils entsprechend den Geräten 34a und 34b wie
oben erwähnt
vorgesehen. Es ist jedoch nicht notwendig, die Gerätesteuerungen
entsprechend den jeweiligen Geräten
vorzusehen, sondern es ist ausreichend, die Gerätesteuerungen entsprechend
den bestimmten Geräteklassen
vorzusehen.
-
Die
Schnittstelleneinheiten 22a und 22b übertragen
Informationen einschließlich
verschiedener Teile von Steuerungsinformationen und Daten zu und
von der Anwendungseinheit 20 und den entsprechenden Geräteabstraktionseinheiten 28a und 28b, während sie
die obere Anwendungseinheit 20 mit identischen Schnittstellen
versehen. Die verschiedenen Teile der Steuerungsinformationen und
anderen Informationen werden ebenfalls zwischen den Schnittstelleneinheiten 22a und 22b übertragen.
Die Schnittstelleneinheiten 22a und 22b haben
ebenfalls die Funktion des Anzeigens von Piktogrammen, die die entsprechenden
Geräte 34a und 34b auf
abstrakte Weise darstellen, in einem Fenster auf einer Anzeigeeinrichtung
(nicht gezeigt).
-
In
dem Gerätesteuersystem
dieser Ausführungsform
bestehen Grenzen, die durch die kurz-lang-gestrichelte Linie in 1 gezeigt
sind, zwischen der Schnittstelleneinheit 22a und der Geräteabstraktionseinheit 28a,
zwischen der Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b und
zwischen den Geräteabstraktionseinheiten 28a und 28b.
Im Allgemeinen sind Prozessgrenzen in einem identischen Computer
vorhanden, wohingegen Netzwerkgrenzen zwischen unterschiedlichen Computern
vorhanden sind. Jede der Grenzen, die durch die Kurz-Lang-Linie
gezeigt ist, stellt entweder die Prozessgrenze oder die Netzwerkgrenze
dar.
-
Die 2 und 3 sind
Blockdiagramme, die typische Beispiele einer Verbindung in dem Gerätesteuersystem
der 1 darstellen.
-
In
dem Beispiel der 2A sind die beiden Geräte 34a und 34b,
die in 1 gezeigt sind, direkt mit einem Computer 40 verbunden.
In dieser Konfiguration sind die anderen Bestandteile als die Geräte 34a und 34b,
d.h. die Anwendungseinheit 20, die Schnittstelleneinheiten 22a und 22b,
die Kommunikationspfadabstraktionseinheiten 24a und 24b und
die Geräteabstraktionseinheiten 28a und 28b,
die in 1 gezeigt sind, alle in demselben Computer 40 vorhanden.
Alle Grenzen, die durch die Kurz-Lang-Linie in 1 gezeigt
sind, stellen dementsprechend die Prozessgrenzen dar.
-
In
dem Beispiel der 2B sind zwei Computer 42 und 44 über ein
Netzwerk 46 miteinander verbunden, und die beiden Geräte 34a und 34b sind jeweils
mit diesen beiden Computern 42 und 44 verbunden.
In dieser Konfiguration sind unter den anderen Hauptbestandteilen
als den Geräten 34a und 34b die
Anwendungseinheit 20, die Schnittstelleneinheiten 22a und 22b und
die Geräteabstraktionseinheit 28a in
einem Computer 42 vorhanden, und die Geräteabstraktionseinheit 28b ist
in dem anderen Computer 44 vorhanden. D.h., die Anwendungseinheit 20, die
Schnittstelleneinheiten 22a und 22b und die Geräteabstraktionseinheit 28a sind
in dem identischen Computer 42 vorhanden, wohingegen die
Geräteabstraktionseinheit 28b in
dem anderen Computer 44 vorhanden ist. Die Grenze, die
durch die Kurz-Lang-Linie zwischen der Schnittstelleneinheit 22a und
der Geräteabstraktionseinheit 28a gezeigt ist,
stellt dementsprechend die Prozessgrenze dar. Die Grenzen, die durch
die Kurz-Lang-Linien zwischen der Schnittstelleneinheit 22b und
der Geräteabstraktionseinheit 28b und
zwischen den Geräteabstraktionseinheiten 28a und 28b gezeigt
sind, stellen andererseits die Netzwerkgrenzen dar.
-
Eine
Vielzahl von Netzwerken wie z.B. das Internet, ein Intranet, ein
lokales Netzwerk (LAN) und ein Weitbereichsnetzwerk (WAN) können als
das Netzwerk 46 verwendet werden.
-
In
dem Beispiel der 2C sind drei Computer 48, 50 und 52 über ein
Netzwerk 54 miteinander verbunden, und die beiden Geräte 34a und 34b sind mit
zwei von diesen Computern 50 und 52 verbunden.
In dieser Konfiguration sind unter den anderen Hauptbestandteilen
als die Geräte 34a und 34b die Anwendungseinheit 20 und
die Schnittstelleneinheiten 22a und 22b in dem
ersten Computer 48 vorhanden, die Geräteabstraktionseinheit 28a ist
in dem zweiten Computer 50 vorhanden und die Geräteabstraktionseinheit 28b ist
in dem dritten Computer 52 vorhanden. D.h., die Geräteabstraktionseinheiten 28a und 28b sind
in unterschiedlichen Computern vorhanden, die sich außerdem von
dem Computer unterscheiden, in dem die Anwendungseinheit 20 und
die Schnittstelleneinheiten 22a und 22b vorhanden
sind. Sämtliche
durch die Kurz-Lang-Linien in 1 gezeigten
Grenzen stellen dementsprechend die Netzwerkgrenzen dar.
-
In
den Beispielen der 2 können eine Vielzahl
von Computern wie z.B. ein Personalcomputer, ein mobiler Computer,
ein Informationsverarbeitungsterminal und eine Arbeitsstation ebenso
wie eine periphere Einrichtung, die im Wesentlichen die Computerfunktionen
aufweist, beispielsweise eine Kopiermaschine und ein Drucker, Set-Top-Boxen, die im Wesentlichen
Computerfunktionen aufweisen, beispielsweise ein Empfängerterminal
eines Web-TV und andere Informationsendgeräte und Spielmaschinen bzw.
-geräte
für jeden
dieser Computer verwendet werden. Obwohl die Geräte in den Beispielen der 2 extern mit den Computern verbunden sind, können die
Geräte
und die Computer integral konstruiert sein, wie es in 3 gezeigt ist.
-
In
dem Beispiel der 3A enthält eine Maschine 41 eine
Geräteeinheit 34b' und eine Computereinheit 40'. D.h., das
Gerät und
der Computer sind miteinander integ riert. Auf ähnliche Weise enthält in dem
Beispiel der 3B eine Maschine 45 eine
Geräteeinheit 34b' und eine Computereinheit 44'. In dem Beispiel
der 3C enthält
eine Maschine 53 eine Geräteeinheit 34b' und eine Computereinheit 52'. In jedem dieser
Beispiele sind das Gerät
und der Computer miteinander integriert.
-
Bezug
nehmend auf 1 sind, wie es zuvor beschrieben
wurde, die Prozessgrenzen oder die Netzwerkgrenzen, die durch die
Kurz-Lang-Linien gezeigt sind, zwischen der Schnittstelleneinheit 22a und
der Geräteabstraktionseinheit 28a,
zwischen der Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b und
zwischen den Geräteabstraktionseinheiten 28a und 28b vorhanden.
Kommunikationspfade 26a und 26b sind zwischen
der Schnittstelleneinheit 22a und der Geräteabstraktionseinheit 28a und
zwischen der Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b vorhanden,
um jeweils die Schnittstelleneinheit 22a mit der Geräteabstraktionseinheit 28a und
die Schnittstelleneinheit 22b mit der Geräteabstraktionseinheit 28b über diese
Grenzen zu verbinden. Diese Kommunikationspfade 26a und 26b können unterschiedlichen
Typs sein, beispielsweise interne Busse, Kommunikationsschnittstellen
und Netzwerkkommunikationseinrichtungen, wobei dementsprechend jede
der Grenzen die Prozessgrenze oder die Netzwerkgrenze ist.
-
Die
Kommunikationspfadabstraktionseinheiten 24a und 24b sind
an beiden Enden der Kommunikationspfade 26a und 26b jeweils
zwischen der Schnittstelleneinheit 22a und der Geräteabstraktionseinheit 28a und
zwischen Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b vorgesehen.
Die Kommunikationspfadabstraktionseinheiten 24a und 24b führen eine
Abstraktion der Kommunikationspfade 26a und 26b,
die zwischen der Schnittstelleneinheit 22a und der Geräteabstraktionseinheit 28a und
zwischen der Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b angeordnet
sind, durch, während
die Schnittstelleneinheiten 22a und 22b jeweils
verschiedene Teile von Steuerungsinformationen und Daten zu und
von den Geräteabstraktionseinheiten 28a und 28b über die
Kommunikationspfade 26a und 26b über die
Prozessgrenze oder die Netzwerkgrenze übertragen. D.h., die Kommunikationspfadabstraktionseinheiten 24a und 24b entfernen
scheinbar einen Unterschied in der Steuerungsprozedur, die den unterschiedlichen
Typen der dazwischen angeordneten Kommunikationspfade 26a und 26b zugeschrieben
wird, und ermöglichen
es den Schnittstelleneinheiten 22a und 22b und den
Geräteabstraktionseinheiten 28a und 28b,
die Steuerungsinformationen und Daten untereinander zu übertragen,
ohne zu berücksichtigen,
ob die Grenze die Prozessgrenze oder die Netzwerkgrenze ist.
-
Die
Konstruktionen der Kommunikationspfadabstraktionseinheiten 24a und 24b werden
später genauer
beschrieben.
-
Wie
zuvor erwähnt
werden die Schnittstelleneinheiten 22a und 22b,
die Kommunikationspfadabstraktionseinheiten 24a und 24b und
die Geräteabstraktionseinheiten 28a und 28b durch
Computerprogramme implementiert. Entsprechend einer konkreten Prozedur
liest und führt
eine CPU in jedem Computer, wo die jeweiligen Bestandteile vorhanden sind,
gewünschte
Computerprogramme, die in einem internen Speicher gespeichert sind,
aus und funktioniert dadurch als die Bestandteile, die in dem Computer
enthalten sind.
-
Die
Computerprogramme, die in dem internen Speicher gespeichert sind,
können,
wie es später beschrieben
wird, in aufgezeichneter Form auf einem Aufzeichnungsmedium wie
z.B. einer CD-ROM in einer computerlesbaren Weise vorhanden sein.
Die Computerprogramme, die in dem Aufzeich nungsmedium aufgezeichnet
sind, werden von einer Lesevorrichtung wie z.B. einem CD-ROM-Laufwerk
gelesen und zu einer externen Speichervorrichtung wie z.B. einer
Festplatte transferiert und dort gespeichert. Bei der Aktivierung
des Computers werden diese Computerprogramme z.B. zum internen Speicher
entsprechend den Anforderungen bzw. Bedürfnissen transferiert. Alternativ
können
die Computerprogramme, die von der Lesevorrichtung gelesen werden, zum
internen Speicher nicht über
die externe Speichervorrichtung, sondern direkt übertragen werden.
-
Obwohl
die CD-ROM als das "Aufzeichnungsmedium" verwendet wird,
in dem die Computerprogramme in dieser Ausführungsform auf computerlesbare
Weise aufgezeichnet sind, kann alternativ eine Vielzahl anderer
computerlesbarer Medien verwendet werden, beispielsweise Floppy-Disks, magnetooptische
Disks, IC-Karten, ROM-Kassetten, Lochkarten, Drucke mit Barcodes
oder anderen Codes darauf gedruckt, und interne Speichervorrichtungen
(Speicher wie z.B. RAM und ROM) und externe Speichervorrichtungen
des Computers.
-
Eine
andere mögliche
Prozedur hat einen Zugriff auf einen Programmserver (nicht gezeigt),
der Computerprogramme über
ein Netzwerk zur Verfügung
stellt und die Computerprogramme von dem Programmserver in jeden
Computer gibt.
-
Ein
Teil der Computerprogramme kann als ein Betriebssystemprogramm aufgebaut
sein.
-
Die
Verarbeitungsoperationen des Gerätesteuersystems
der 1 werden kurz beschrieben. Wenn ein Nutzer des
Computers, in dem die Anwendungseinheit 20 und die Schnittstelleneinheiten 22a und 22b vorhanden
sind, eine Anweisung zum Einstellen des Geräts 34a in die Anwen dungseinheit 20 über eine
Eingabeeinrichtung (nicht gezeigt), beispielsweise eine Tastatur
oder eine Maus, eingibt, überträgt die Anwendungseinheit 20 die
Anweisung an die Schnittstelleneinheit 22a. Die Schnittstelleneinheit 22a überträgt außerdem die
Anweisung an die Geräteabstraktionseinheit 28a über den
Kommunikationspfad 26a. Die Geräteabstraktionseinheit 28a stellt
das Gerät 34a entsprechend
der Anweisung ein.
-
Wenn
der Nutzer eine Anweisung zum Datentransfer von dem Gerät 34a zum
Gerät 34b in
die Anwendungseinheit 20 eingibt, überträgt die Anwendungseinheit 20 die
Anweisung an die Schnittstelleneinheiten 22a und 22b.
Die Schnittstelleneinheiten 22a und 22b kommunizieren
miteinander entsprechend der Anweisung und bestimmen, ob ein effektiver
Datentransfer zwischen den Geräten 34a und 34b verfügbar ist,
d.h., ob das Gerät 34b die
Daten, die von dem Gerät 34a übertragen
werden, empfangen und verarbeiten kann.
-
Wenn
bestimmt wird, dass der effektive Datentransfer verfügbar ist,
d.h., es wird bestimmt, dass das Gerät 34b die Daten, die
von dem Gerät 34a übertragen
werden, empfangen und verarbeiten kann, überträgt die Schnittstelleneinheit 22a die
Anweisung des Datentransfers an die Geräteabstraktionseinheit 28a über den
Kommunikationspfad 26a. Die Geräteabstraktionseinheit 28a gibt
dann Daten von dem Gerät 34a ein
und überträgt die Daten
an die Schnittstelleneinheit 22a über den Kommunikationspfad 26a.
Die Schnittstelleneinheit 22a überträgt außerdem die Daten an die Anwendungseinheit 20, die
bewirkt, dass die Daten der vorbestimmten Verarbeitung unterzogen
werden, ruft die Schnittstelleneinheit 22b und überträgt die verarbeiteten
Daten an die Schnittstelleneinheit 22b. Die Schnittstelleneinheit 22b ruft
die Geräteabstraktionseinheit 28b über den
Kommunikationspfad 26b und überträgt die Daten an die Geräteabstraktionseinheit 28b.
Die Geräteabstraktionseinheit 28b gibt
die übertragenen
Daten an das Gerät 34b aus.
Das Gerät 34b bewirkt, dass
die eingegebenen Daten der vorbestimmten Verarbeitung unterzogen
werden.
-
In 1 stellen
schwarze Pfeile eine Übertragung
von Informationen einschließlich
verschiedener Teile von Steuerungsinformationen dar, während offene
bzw. leere Pfeile den Datentransferfluss darstellen.
-
Für den Datentransfer
kann eine andere Technik angewendet werden. Die 4 und 5 sind
Blockdiagramme, die eine andere Datentransfertechnik zeigen, die
für das
Gerätesteuersystem der 1 verwendbar
ist. In 4 überträgt, wenn der Nutzer eine Anweisung
zum Datentransfer von dem Gerät 34a zum
Gerät 34b in
die Anwendungseinheit 20 eingibt, die Anwendungseinheit 20 die
Anweisung an die Schnittstelleneinheiten 22a und 22b. Die
Schnittstelleneinheiten 22a und 22b kommunizieren
miteinander entsprechend der Anweisung und bestimmen, ob ein effektiver
Datentransfer zwischen den Geräten 34a und 34b verfügbar ist,
d.h., ob das Gerät 34b die
Daten, die von dem Gerät 34a übertragen
werden, empfangen und verarbeiten kann.
-
Wenn
bestimmt wird, dass der effektive Datentransfer verfügbar ist,
d.h., es wird bestimmt, dass das Gerät 34b die Daten, die
von dem Gerät 34a übertragen
werden, empfangen und verarbeiten kann, übertragen die Schnittstelleneinheiten 22a und 22b die
Anweisung des Datentransfers an die Geräteabstraktionseinheiten 28a und 28b über die
Kommunikationspfade 26a und 26b. Wie es in 5 gezeigt
ist, trennt dieses die Verbindungen zwischen der Schnittstelleneinheit 22a und
der Geräteabstraktionseinheit 28a und
zwischen der Schnittstelleneinheit 22b und der Gerä teabstraktionseinheit 28b und errichtet
eine neue Verbindung zwischen der Gerätesteuerung 30a der
Geräteabstraktionseinheit 28a und
der Gerätesteuerung 30b der
Geräteabstraktionseinheit 28b über einen
Kommunikationspfad 38. Zwei Kommunikationspfadabstraktionseinheiten 36 werden
neu erzeugt, um eine Abstraktion des Kommunikationspfades 38 durchzuführen, der
zwischen den Geräteabstraktionseinheiten 28a und 28b angeordnet
ist, während
die Geräteabstraktionseinheiten 28a und 28b die
verschiedenen Teile der Steuerungsinformation und Daten miteinander über den Kommunikationspfad 38 über die
Prozessgrenze oder die Netzwerkgrenze übertragen. Die Kommunikationspfadabstraktionseinheiten 36 entfernen
somit scheinbar einen Unterschied in der Steuerungsprozedur, die
dem Typ des dazwischen angeordneten Kommunikationspfads 38 zugeschrieben wird,
und ermöglichen
es den Geräteabstraktionseinheiten 28a und 28b,
die Steuerungsinformationen und Daten untereinander zu übertragen,
ohne zu berücksichtigen,
ob die Grenze die Prozessgrenze oder die Netzwerkgrenze ist.
-
Nach
der Errichtung der Verbindung zwischen den Geräteabstraktionseinheiten 28a und 28b gibt
die Geräteabstraktionseinheit 28a Daten
von dem Gerät 34a ein,
ruft die Geräteabstraktionseinheit 28b über den
Kommunikationspfad 38 und überträgt die eingegebenen Daten an
die Datenabstraktionseinheit 28b. Die Geräteabstraktionseinheit 28b gibt die übertragenen
Daten an das Gerät 34b aus.
Das Gerät 34b bewirkt,
dass die eingegebenen Daten einer vorbestimmten Verarbeitung unterzogen
werden.
-
Nach
Beendigung des Datentransfers trennt die Prozedur die Verbindung
zwischen den Geräteabstraktionseinheiten 28a und 28b und
stellt die Verbindungen zwischen der Schnittstelleneinheit 22a und
der Geräteabstraktionseinheit 28a und
zwischen der Schnittstelleneinheit 22b und der Geräteabstraktionseinheit 28b erneut
her.
-
In
der oben beschriebenen Datentransfertechnik umgeht der Kommunikationspfad 38 die
Datentransferpassage. Wenn das verwendete Computersystem z.B. die
in 2C gezeigte Konfiguration oder die in 3C gezeigte
Konfiguration aufweist, wird entsprechend die Netzwerkgrenze, die
zwischen den Geräteabstraktionseinheiten 28a und 28b vorhanden
ist, optimiert, und der Computer 48, in dem die Anwendungseinheit 20 und
die Schnittstelleneinheiten 22a und 22b vorhanden
sind, ist in dem Datentransfer überhaupt
nicht involviert. Diese Anordnung gewährleistet einen Datentransfer
hoher Geschwindigkeit.
-
Wie
oben erwähnt,
kommunizieren, wenn der Nutzer eine Anweisung zum Datentransfer
von dem Gerät 34a zum
Gerät 34b eingibt,
die Schnittstelleneinheiten 22a und 22b entsprechend
der Anweisung miteinander und bestimmen, ob ein effektiver Datentransfer
zwischen den Geräten 34a und 34b verfügbar ist,
d.h. ob das Gerät 34b die
Daten, die von dem Gerät 34a übertragen
werden, empfangen und verarbeiten kann.
-
Gemäß einer
konkreten Prozedur beziehen sich die Schnittstelleneinheiten 22a und 22b auf
betreffende Informationen der interessierenden Geräte, d.h.
der Geräte 34a und 34b und
führen
die Bestimmung wie oben beschrieben aus. Die Attributinformationen,
auf die sich die Schnittstelleneinheiten 22a und 22b beziehen,
enthalten den Typ den Geräts,
einen Teil von Informationen zum Bestimmen entweder eines Quellengeräts oder
eines Zielgeräts,
einen Teil von Informationen zum Bestimmen entweder eines Push-Typs
oder eines Pull-Typs (d.h. entweder die Quellenseite oder die Zielseite
ist hauptsächlich
für den
Datentransfer verantwortlich), die verarbeitbaren Datenformate,
den Zustand des Geräts
(z.B. betreibbar oder nicht), die Leistungsfähigkeit des Geräts (z.B.
die Ver arbeitungsgeschwindigkeit), den Ort des Geräts (z.B.
die Abteilung und das Stockwerk), die Verarbeitungskosten des Geräts (z.B.
die Kommunikationskosten und die Druckkosten) und das Vorhandensein
oder die Abwesenheit einer Unterstützung für ein spezielles Datentransferverfahren.
-
Anders
als zum Zwecke der Bestimmung werden die Attributinformationen ebenfalls
verwendet, um einen Auswertungswert zu erhalten, der den Grad der
Effektivität
in Bezug auf eine jeweilige Kombination von interessierenden Geräten darstellt,
wie es später
beschrieben wird.
-
Die
Attributinformationen können
in dem Computer gespeichert werden, wo die Applikationseinheit 20 und
die Schnittstelleneinheiten 22a und 22b vorhanden
sind, oder sie können
alternativ in dem Computer gespeichert werden, in dem die Gerätesteuerung
und der Gerätetreiber
vorhanden sind. Im letzteren Fall erstellen die Schnittstelleneinheiten 22a und 22b Verbindungen
mit den entsprechenden Gerätesteuerungen 30a und 30b,
kommunizieren mit den Gerätesteuerungen 30a und 30b entsprechend den
Anforderungen, nehmen Bezug auf Attributinformationen und führen die
Bestimmung in Bezug auf den effektiven Datentransfer durch. Die
Attributinformationen können
alternativ in einem anderen Computer (z.B. einem Server) auf dem
Netzwerk gespeichert werden, der sich von demjenigen Computer unterscheidet,
in dem die Anwendungseinheit 20 und die Schnittstelleneinheiten 22a und 22b vorhanden sind.
In diesem Fall errichten die Schnittstelleneinheiten 22a und 22b Verbindungen
mit dem Server, beziehen sich auf Attributinformationen, die in
dem Server gespeichert sind, und führen die Bestimmung in Bezug
auf den effektiven Datentransfer durch.
-
In
dem Fall, in dem Daten von einem Gerät übertragen und von dem anderen
Gerät empfangen und
verarbeitet wer den können,
kann der Nutzer sogar dann, wenn diese Geräte miteinander über ein Netzwerk
verbunden sind, zeitweise diese Geräte als ein Gerät betrachten.
Ein derartiges Gerät
wird in dieser Beschreibung als zusammengesetztes Gerät bezeichnet.
Das zusammengesetzte Gerät
stellt ein virtuelles Gerät
dar, das aus einer Vielzahl von interessierenden Geräten zumindest
einen Teil der Funktionen eines Geräts aufweist, das Daten überträgt und zumindest
einen Teil der Funktionen des anderen Geräts aufweist, das Daten empfängt. Wenn
die Daten von dem Gerät 34a übertragen
und von dem Gerät 34b ähnlich dem
obigen Beispiel empfangen und verarbeitet werden, sind die interessierenden
Geräte die
Geräte 34a und 34b.
Das virtuelle Gerät,
das zumindest einen Teil der Funktionen des Geräts 34a und zumindest
einen Teil der Funktionen des Geräts 34b aufweist, wird
dementsprechend als das zusammengesetzte Gerät betrachtet.
-
In
einigen Kombinationen beliebiger Geräte kann, während ein Gerät Daten überträgt, das
andere Gerät
nicht in der Lage sein, die Daten zu empfangen und zu verarbeiten.
In derartigen Fällen
kann das virtuelle zusammengesetzte Gerät in dem tatsächlichen Zustand
nicht betrieben werden.
-
Eine
der verfügbaren
Techniken bestimmt somit, ob eine Kombination beliebiger Geräte als das zusammengesetzte
Gerät betreibbar
ist, wie es später
beschrieben wird, um zu bestimmen, ob ein beliebiges Gerät die Daten,
die von dem anderen beliebigen Gerät übertragen werden, empfangen
und verarbeiten kann.
-
Im
Folgenden wird ein konkretes Beispiel beschrieben, bei dem eine
COM(Component Object Model)-Technik angewendet wird, um das Gerätesteuersystem
der 1 zu realisieren.
-
Das
COM ist eine Infrastruktur, die von der Microsoft Corporation vorgeschlagen
und vertrieben wird, um Objekte zu vereinigen. Das COM definiert ein
Verfahren zum Bilden von dynamisch austauschbaren Komponenten und
stellt eine Spezifikation einer Standardkomponentenarchitektur dar.
-
In
der COM-Technik werden Dienste, die von der Software bereitgestellt
werden, als COM-Objekte implementiert. Jedes COM-Objekt unterstützt mindestens
eine Schnittstelle und wird durch eine Klassen-ID identifiziert.
In diesem konkreten Beispiel sind unter den Bestandteilen der 1 die
Schnittstelleneinheiten 22a und 22b und die Gerätesteuerungen 30a und 30b als
COM-Objekte konstruiert.
-
Die
Schnittstelle, die von dem COM-Objekt unterstützt wird, enthält im Allgemeinen
mehrere Verfahren, die irgendeine Beziehung zueinander aufweisen.
Jede Schnittstelle wird durch eine Schnittstellen-ID identifiziert.
Das Verfahren ist ein Funktionsaufruf zum Ausführen einer bestimmten Funktion.
Ein Zeiger auf eine bestimmte Schnittstelle wird benötigt, um
ein Verfahren aufzurufen, das in der speziellen Schnittstelle enthalten
ist. Der Zeiger auf die spezielle Schnittstelle wird durch Bestimmen
der Schnittstellen-ID, die die spezielle Schnittstelle identifiziert,
und der Klassen-ID, die das COM-Objekt identifiziert, das die bestimmte
Schnittstelle unterstützt,
und durch Aufrufen eines Dienstes einer COM-Bibliothek erhalten.
-
6 ist
ein Blockdiagramm, das ein konkretes Beispiel darstellt, bei dem
die COM-Technologie angewendet wird, um das Gerätesteuersystem der 1 zu
realisieren.
-
In 6 arbeitet
die Anwendungseinheit 20 entsprechend den Anwendungsprogrammen,
die zuvor beschrieben wurden, und weist einen Ereignisbehandler
N1 auf, der darin enthalten ist.
-
Die
Schnittstelleneinheiten 22a und 22b sind als COM-Objekte konstruiert,
wie es oben erwähnt wurde,
und unterstützen
mehrere Schnittstellen I1 bis I10. In 6 sind die
Schnittstellen durch offene bzw. leere Kreise gezeigt. Unter diesen
Schnittstellen sind I1 und I6 ICyberPlugs, I2 und I3 sind IContextMenus, I3
und I8 sind IDropSources, I4 und I9 sind IDropTargets und I5 und
I10 sind ICyberEvents. Die IContextMenus I2 und I7, die IDropSources
I3 und I8 und die IDropTargets I4 und I9 sind allgemeine Schnittstellen, wohingegen
die ICyberPlugs I1 und I6 und die ICyberEvents I5 und I10 in diesem
konkreten Beispiel Originalschnittstellen sind.
-
Wie
es zuvor beschrieben wurde, stellen die Schnittstelleneinheiten 22a und 22b der
oberen Anwendungseinheit 20 identische Schnittstellen oder Universalschnittstellen
bereit. Die ICyberPlugs I1 und I6 entsprechen den Universalschnittstellen.
-
Die
Schnittstelleneinheiten 22a und 22b unterstützen andere
Schnittstellen wie z.B. die IDataObjects, ebenso wie die obigen
Schnittstellen.
-
Die
Gerätesteuerungen 30a und 30b sind ebenfalls
als COM-Objekte wie oben erwähnt
konstruiert und unterstützen
die Schnittstellen I11 bis I14. Unter diesen Schnittstellen sind
I11 und I13 IcyberProtocols, und I12 und I14 sind ICyberEvents.
Die Schnittstellen I11 bis I14 sind in diesem konkreten Beispiel
Originalschnittstellen. Die Gerätesteuerungen 30a und 30b enthalten
jeweils Statusmonitore M1 und M2 als Module.
-
Wie
es oben beschrieben ist, stellen die Gerätesteuerungen 30a und 30b den
oberen Bestandteilen einschließlich
den Schnittstelleneinheiten 22a und 22b identische
Schnittstellen oder Universalschnittstellen bereit, um die vollständige Abstraktion
von Geräten
zu erzielen. Die ICyberProtocols I11 und I13 entsprechen den Universalschnittstellen.
-
Die
Gerätetreiber 32a und 32b und
die Geräte 34a und 34b in
dem Beispiel der 6 sind identisch zu denjenigen
der 1.
-
In
dem Beispiel der 6 bilden Proxies P1 und P2 und
Stubs S1 und S2 die Kommunikationspfadabstraktionseinheit 24a der 1.
Proxies P3 und P4 und Stubs S3 und S4 bilden die Kommunikationspfadabstraktionseinheit 24b.
Derartige Proxies und Stubs werden durch den Mechanismus des COM/DCOM
(verteiltes COM) erzeugt. Das COM/DCOM ist der Mechanismus, der
normalerweise von Windows-Plattformen unterstützt wird.
-
Im
Folgenden wird der Mechanismus zur Implementierung der Abstraktion
der Kommunikationspfade durch die Funktionen der Proxies und Stubs, die
die Kommunikationspfadabstraktionseinheiten 24a und 24b bilden,
beschrieben.
-
In
der COM-Technik ist in dem Prozess zum Aufrufen eines Verfahrens,
das in einer Schnittstelle enthalten ist (im Folgenden als Schnittstellenaufruf bezeichnet),
eine aufrufende Seite als Client bezeichnet, und eine aufgerufene
Seite wird als Server bezeichnet. Der Server kann (a) in einem identischen Prozess
(identischer Prozessraum) auf demselben Computer wie der Client,
(b) in einem anderen Prozess (anderer Adressraum) auf demselben
Computer wie der Client oder (c) in einem Prozess (Ad ressraum) auf
einem anderen Computer wie der Client arbeiten.
-
In
dem Fall, in dem die Grenzen (durch die Kurz-Lang-Linien der 1 gezeigt)
zwischen der Schnittstelleneinheit 22a und der Gerätesteuerung 30a und
zwischen der Schnittstelleneinheit 22b und der Gerätesteuerung 30b angeordnet
und die Prozessgrenzen sind, ergibt sich die Server-Client-Beziehung
von (b) für
die Schnittstelleneinheiten 22a und 22b sowie
die Gerätesteuerungen 30a und 30b. In
dem Fall, in dem diese Grenzen die Netzwerkgrenzen sind, ergibt
sich andererseits die Server-Client-Beziehung von (c) für die Schnittstelleneinheiten 22a und 22b sowie
die Gerätesteuerungen 30a und 30b.
-
In
den Fällen
von (b) und (c) arbeitet der Server in einem anderen Adressraum
oder Prozess als demjenigen des Client. Es ist dementsprechend unmöglich, einen
einfachen Aufruf wie z.B. einen Funktionsaufruf für den Schnittstellenaufruf
zu verwenden. In diesem konkreten Beispiel erzeugt der Client zunächst einen
Proxy, der die identische Schnittstelle zu derjenigen des Servers
unterstützt,
in demselben Prozess oder Adressraum wie derjenige des Client, und
ruft die Schnittstelle über
den Proxy, um eine Schnittstelle, die von dem Server realisiert
wird, aufzurufen. Der Proxy wandelt den Schnittstellenaufruf durch
den Client in einen Fernprozeduraufruf (RPC) oder einen Leichtgewichtsfernprozeduraufruf
(LRPC) und ruft einen Stub, der in demselben Prozess oder Adressraum
wie derjenige des Servers erzeugt wird. Der Stub stellt den Fernprozeduraufruf
oder den Leichtfernprozeduraufruf in den Originalschnittstellenaufruf
wieder her und ruft die Zielschnittstelle, die in dem Server enthalten
ist. Die anschließende
Rückgabe
des Schnittstellenaufrufs folgt der Umkehrung der obigen Prozedur.
-
Der
Fernprozeduraufruf ist ein Mechanismus zum Aufrufen einer Funktion über eine
Netzwerkgrenze und wandelt den Funktionsaufruf in eine Datenübertragung
auf dem Netzwerk. Der Fernprozeduraufruf (remote procedure call)
wird dementsprechend in dem Fall von (c) angewendet. Der Leichtfernprozeduraufruf
(lightweight remote procedure call) ist ein Mechanismus zum Aufrufen
einer Funktion über
eine Prozessgrenze auf demselben Computer und führt den Funktionsaufruf durch
die Inter-Prozess-Kommunikation durch. Der Leichtfernprozeduraufruf
wird dementsprechend in dem Fall von (b) angewendet.
-
Das
Verfahren zum Wandeln des Schnittstellenaufrufs in den Fernprozeduraufruf
oder den Leichtfernprozeduraufruf und des Erlaubens der Übertragung
zwischen dem Proxy und dem Stub entfernt scheinbar einen Unterschied
in der Steuerungsprozedur, der den unterschiedlichen Typen der Kommunikationspfade
zugeschrieben wird, und implementiert den Schnittstellenaufruf,
ohne zu berücksichtigen,
ob die Grenze die Prozessgrenze oder die Netzwerkgrenze ist, wodurch
die Abstraktion der Kommunikationspfade ermöglicht wird.
-
Der
Betrieb dieser konkreten Prozedur wird unten anhand der 6, 7A und 7B beschrieben.
In der folgenden Beschreibung ist das Gerät 34a ein Scanner
und das Gerät 34b ist
ein Drucker.
-
Ein
Scanner als das Gerät 34a und
ein Drucker als das Gerät 34b werden
im Voraus als zu steuernde Objekte in einem Anzeigebereich einer
Anwendung durch die Anwendungseinheit 20 montiert. Ein
Scannerpiktogramm und ein Druckerpiktogramm werden in dem Fenster
auf einer Anzeigeeinrichtung (nicht gezeigt), z.B. einem CRT, durch
die Schnittstelleneinheiten 22a und 22b der 7A angezeigt.
Diese Anordnung ermöglicht
es dem Nutzer des Com puters, in dem die Anwendungseinheit 20 vorhanden ist,
eine Vielzahl von notwendigen Operationen in Bezug auf den Scanner
und den Drucker durchzuführen.
-
Es
wird angenommen, dass der Nutzer ein Piktogramm, das in einem Fenster
angezeigt wird, mit einer Betätigungseinrichtung
(nicht gezeigt) bedient, beispielsweise einer Tastatur oder einer
Maus. In dem Fall, in dem die Betätigung des Piktogramms durch
den Nutzer Einstellungen des Scanners bestimmt, beispielsweise durch
Klicken mit einer rechten Taste der Maus auf das Scannerpiktogramm,
ruft die Anwendungseinheit 20 das IContextMenu I2 von der
Schnittstelleneinheit 22a, die dem Scanner oder dem Gerät 34a entspricht.
Das IContextMenu I2 zeigt ein Pop-up-Menü für den Scanner-Context in der Nähe des Scanner-Piktogramms und kommuniziert mit
der Gerätesteuerung 30a,
um die Einstellung des Scanners als das Gerät 34a auf eine ausgewählte Option
in dem Pop-up-Menü durch
den Nutzer hin zu bestimmen.
-
In
dem Fall, in dem die Betätigung
des Piktogramms durch den Nutzer eine Drag-und-Drop-Operation (ziehen
und fallen lassen) des Piktogramms ist, wird die folgende Prozedur
durchgeführt.
-
Wenn
der Nutzer mit einem Mauszeiger das Scanner-Piktogramm auf das Drucker-Piktogramm zieht,
das in dem Fenster angezeigt wird, wie es in 7B gezeigt
ist, bewirkt die Schnittstelleneinheit 22b, dass die IDropSource
I3, die von der Schnittstelleneinheit 22a unterstützt wird,
zum IDropTarget I9, die von der Schnittstelleneinheit 22b unterstützt wird, übertragen
wird. Entsprechend einer konkreten Prozedur wird eines der Verfahren,
die in dem IDropTarget I9 enthalten sind, unter Verwendung des Zeigers der
IDropSource I3 als ein Parameter aufgerufen.
-
In
der Schnittstelleneinheit 22b nimmt das IDropTarget I9
einen Zeiger des ICyberPlug I1, der von der Schnittstelleneinheit 22a unterstützt wird, aus
der übertragenen
IDropSource I3 und fragt den ICyberPlug I6, der von der Schnittstelleneinheit 22b unterstützt wird,
ob der Datentransfer zwischen den ICyberPlugs I6 und I1 verfügbar ist.
-
Zu
diesem Zeitpunkt errichten die Schnittstelleneinheiten 22a und 22b jeweils
die Verbindungen mit den entsprechenden Gerätesteuerungen 30a und 30b,
kommunizieren mit den Gerätesteuerungen 30a und 30b entsprechend
den Anforderungen und bestimmen, ob der Datentransfer verfügbar ist.
-
In
dem Fall, in dem der Datentransfer verfügbar ist, stellen die Schnittstelleneinheiten 22a und 22b den
Mauszeiger, der in dem Fenster angezeigt und gezogen wird, in eine
erste Gestalt ein, die anzeigt, dass der Drag-und-Drop-Betrieb erlaubt
ist. In dem Fall, in dem der Datentransfer nicht verfügbar ist,
stellen andererseits die Schnittstelleneinheiten 22a und 22b den
Mauszeiger in eine zweite Gestalt ein, die anzeigt, dass der Drag-und-Drop-Betrieb nicht
erlaubt ist.
-
In
dem Zustand, in dem der Datentransfer verfügbar ist, überträgt, wenn der Nutzer die Maus betätigt und
das gezogene Scanner-Piktogramm auf das Druckerpiktogramm fallen
lässt,
in der Schnittstelleneinheit 22b das IDrop-Target I9 den ICyberPlug
I1, der von der Schnittstelleneinheit 22a unterstützt wird,
zu einem Verfahren zum Starten des Datentransfers, das in dem ICyberPlug
I6 enthalten ist, und überlässt die
tatsächliche
Verarbeitung dem ICyberPlug I6.
-
Der
tatsächliche
Datentransfer wird auf die folgende Weise implementiert. Wenn der
Datentransfer über
die Schnittstelleneinheit 22a, die Anwendungseinheit 20 und
die Schnittstelleneinheit 22b der 1 durchgeführt wird,
folgt der tatsächliche
Datentransfer einer Prozedur, die in den 8 bis 12 gezeigt
ist. Wenn der Datentransfer direkt zwischen den Gerätesteuerungen 30a und 30b der 5 durchgeführt wird,
folgt andererseits der tatsächliche Datentransfer
einer Prozedur, die in den 13 bis 17 gezeigt
ist.
-
Die 8 bis 12 zeigen
einen Prozess des Datentransfers in dem Gerätesteuersystem der 6 in
zeitlicher Abfolge. In diesen Zeichnungen sind diejenigen Teile,
die hauptsächlich
in einem derzeitig ausgeführten
Schritt involviert sind, durch durchgezogene Linien dargestellt,
wohingegen diejenigen Teile, die in dem derzeitig ausgeführten Schritt kaum
involviert sind, durch gepunktete Linien dargestellt sind.
-
Wenn
der Datentransferprozess startet, werden die Daten, die von dem
Gerät 34a (Scanner)
erhalten werden, in den Gerätetreiber 32a eingegeben und
in einem Puffer in dem Gerätetreiber 32a wie
in 8 gezeigt gespeichert. In 9 erfasst
der Statusmonitor M1 in der Gerätesteuerung 30a den
Dateneingang und informiert den Ereignisbehandler N1 in der Anwendungseinheit 20 über den
erfassten Dateneingang als ein Ereignis über den Proxy P1, den Stub
S1 und das ICyberEvent I5 der Schnittstelleneinheit 22a.
Die Anwendungseinheit 20 kann das informierte Ereignis
ignorieren oder alternativ die Dateneingabe unmittelbar auf die
Information des Ereignisses hin durchführen.
-
In 10 stellt
die Anwendungseinheit, um den Datentransfer zu implementieren, zunächst einen
Datenspeicherbereich darin bereit und ruft die Schnittstellenein heit 22a auf,
um Daten zu erhalten (siehe den durchgezogenen Pfeil). Diese überträgt die Ausführung der
Verarbeitung auf die Schnittstelleneinheit 22a. Die Schnittstelleneinheit 22a ruft
dann die Gerätesteuerung 30a auf,
um Daten zu erhalten (siehe die durchgezogenen Pfeile) und erzeugt
den Proxy P2 und den Stub S2. Der Stub S2 stellt einen zeitweiligen
Datenspeicherbereich für
die Gerätesteuerung 30a bereit,
der dem Datenspeicherbereich entspricht, der in der Anwendungseinheit 20 bereitgestellt
wird, und überträgt den zeitweiligen
Datenspeicherbereich als einen Parameter an die Gerätesteuerung 30a.
Dieses überträgt die Ausführung der Verarbeitung
auf die Gerätesteuerung 30a.
Die Gerätesteuerung 30a ruft
anschließend
den Gerätetreiber 32a auf,
um Daten zu erhalten. Dieses überträgt die Ausführung der
Verarbeitung auf den Gerätetreiber 32a.
-
Der
Gerätetreiber 32a kopiert
die Daten, die in dem Puffer gespeichert sind, in den Datenspeicherbereich,
der in dem Stub S2 bereitgestellt wird. Die Rückgabe des Funktionsaufrufs
verschiebt die Ausführung
der Verarbeitung von dem Gerätetreiber 32a zur
Schnittstelleneinheit 22a über die Gerätesteuerung 30a. Die
Schnittstelleneinheit 22a kopiert dann die Daten in dem
Datenspeicherbereich, der in dem Stub S2 bereitgestellt wird, in
den Originaldatenspeicherbereich, der in der Anwendungseinheit 20 bereitgestellt
wird. Die Rückgabe
des Funktionsaufrufs verschiebt außerdem die Ausführung der Verarbeitung
von der Schnittstelleneinheit 22a zur Anwendungseinheit 20.
-
Die
Anwendungseinheit 20 liest dann Daten von dem Datenspeicherbereich,
der in der Anwendungseinheit 20 bereitgestellt wird, aus
und bewirkt, dass die eingegebenen Daten einer bestimmten Operation
entsprechend den Anforderungen unterzogen werden. Wie es in 11 gezeigt ist, ruft dann die Anwendungseinheit 20 die
Schnittstel leneinheit 22b auf, um die Daten zu übertragen
(siehe den durchgezogenen Pfeil). Dieses überträgt die Ausführung der Verarbeitung auf
die Schnittstelleneinheit 22b. Die Schnittstelleneinheit 22b ruft
dann die Gerätesteuerung 30b auf,
um die Daten zu übertragen (siehe
die durchgezogenen Pfeile) und erzeugt den Proxy P4 und den Stub
S4. Der Stub S4 stellt für
die Gerätesteuerung 30b einen
zeitweiligen Datenspeicherbereich bereit, der dem Datenspeicherbereich
entspricht, der in der Anwendungseinheit 20 bereitgestellt
wird. Die Daten, die von der Anwendungseinheit 20 ausgegeben
werden, werden in dem zeitweiligen Datenspeicherbereich dupliziert
und als ein Parameter zur Gerätesteuerung 30b übertragen. Dieses überträgt die Ausführung der
Verarbeitung auf die Gerätesteuerung 30b.
Die Gerätesteuerung 30b ruft
anschließend
den Gerätetreiber 32b auf,
um die Daten zu übertragen.
Dieses überträgt die Ausführung der
Verarbeitung auf den Gerätetreiber 32b.
-
Der
Gerätetreiber 32b kopiert
die Daten, die in dem Datenspeicherbereich, der in dem Stub S2 bereitgestellt
wird, gespeichert sind, in den Puffer des Gerätetreibers 32b. Die
Rückgabe
des Funktionsaufrufs verschiebt die Ausführung der Verarbeitung von dem
Gerätetreiber 32b über die
Gerätesteuerung 30b und
die Schnittstelleneinheit 22b zur Anwendungseinheit 20.
-
In 12 gibt der Gerätetreiber 32b die
Daten, die in dem Puffer gespeichert sind, an das Gerät 34b (Drucker)
aus.
-
In
dem Fall einer synchronen Ausgabe wird die Ausführung der Verarbeitung nicht
auf die obere Schicht übertragen,
bis die Datenausgabe an das Gerät 34b vollendet
ist. Im Fall einer nicht synchronen Ausgabe wird die Ausführung der
Verarbeitung jedoch auf die obere Schicht ü bertragen, bevor die Datenausgabe
an das Gerät 34b beendet
ist.
-
Wenn
der Datentransfer direkt zwischen den Gerätesteuerungen 30a und 30b der 5 durchgeführt wird,
wird die folgende Prozedur implementiert. 13 ist
ein Blockdiagramm, das ein konkretes Beispiel zeigt, bei dem das
Verfahren des Datentransfers der 5 durch
die COM-Technologie realisiert wird.
-
Wie
es zuvor beschrieben wurde, überträgt in der
Schnittstelleneinheit 22b das IDropTarget I9 den ICyberPlug
I1, der von der Schnittstelleneinheit 22a unterstützt wird,
zum Verfahren zum Starten des Datentransfers, das in dem ICyberPlug
I6 enthalten ist, und übergibt
die tatsächliche
Verarbeitung an den ICyberPlug I6. Das Verfahren zum Starten des
Datentransfers, das in dem ICyberPlug I6 enthalten ist, implementiert
den direkten Datentransfer zwischen den Gerätesteuerungen 30a und 30b gemäß der vorliegenden
Prozedur.
-
Der
ICyberPlug I6 der Schnittstelleneinheit 22b gibt eine Anweisung
an die Gerätesteuerung 30b,
um den direkten Datentransfer zwischen den Gerätesteuerungen 30a und 30b zu
starten, und überträgt benötigte Teile
von Informationen (zumindest die Klassen-ID der Gerätesteuerung 30a)
zur Erzeugung der gepaarten Gerätesteuerung 30a an
die Gerätesteuerung 30b.
-
Die
Gerätesteuerung 30b erzeugt
ihren eigenen Klon ebenso wie einen Klon der gepaarten Gerätesteuerung 30a auf
der Grundlage der übertragenen Informationen.
Die neu erzeugte Gerätesteuerung 30b errichtet
eine Verbindung mit der neu erzeugten Gerätesteuerung 30a und
erstellt einen optimalen Kommunikationspfad. Zu diesem Zeitpunkt
werden ebenfalls die Proxies P5 und P6 und die Stubs S5 und S6 als
die Kommunikationspfadabstraktionseinheit 36 der 5 erzeugt.
-
Die
Gerätesteuerung 30b startet
dann den Datentransfer zu und von der gepaarten Gerätesteuerung 30a entsprechend
den speziellen Einstellungen der Kommunikation. Wenn voreingestellte
Beendigungsbedingungen erfüllt
sind, wird der Datentransfer beendet und die Gerätesteuerung 30b unterbricht
die Verbindung mit der Gerätesteuerung 30a.
-
Die 14 bis 17 zeigen
einen Prozess eines direkten Datentransfers zwischen den Gerätesteuerungen 30a und 30b der 13 in zeitlicher Abfolge. In diesen Figuren sind
diejenigen Teile, die hauptsächlich
in einem derzeitig ausgeführten
Schritt involviert sind, durch durchgezogenen Linien gezeigt, wohingegen
diejenigen Teile, die in dem derzeitig ausgeführten Schritt kaum involviert
sind, durch gepunktete Linien gezeigt sind.
-
In
dem Fall des direkten Datentransfers zwischen den Gerätesteuerungen 30a und 30b führen die
Gerätesteuerungen 30a und 30b direkt
einen Aufruf eines Verfahrens, eine Übertragung eines Ereignisses
und einen Datentransfer durch, da weder die Anwendungseinheit 20 noch
die Schnittstelleneinheiten 22a und 22b in dem
Datentransfer involviert sind. Die Operationen der Gerätesteuerungen 30a und 30b,
der Gerätetreiber 32a und 32b und
der Geräte 34a und 34b ähneln jedoch
denjenigen, die in dem Fall des Datentransfers über die Anwendungseinheit 20 und
weitere Elemente durchgeführt
wird, und werden daher nicht gesondert beschrieben.
-
Wie
es oben beschrieben ist, steuert die Anwendungseinheit 20 in
dieser Ausführungsform
die Geräte 34a und 34b über die
Schnittstelleneinheiten 22a und 22b, die Kommunikationspfadabstraktionseinheiten 24a und 24b und
die Geräteabstraktionseinheiten 28a und 28b,
um die Einstellungen der Geräte 34a und 34b zu
bestimmen und den Datentransfer zwischen den Geräten 34a und 34b zu
implementieren, ohne den Typ der Geräte 34a und 34b und den
Typ der dazwischen angeordneten Kommunikationspfade 26a und 26b zu
berücksichtigen.
-
Im
Folgenden wird ein konkretes Beispiel beschrieben, bei dem das Gerätesteuersystem
der 1 verwendet wird, um eine virtuelle Kopiermaschine
zu implementieren, die ein zusammengesetztes Gerät darstellt, wie es oben beschrieben
wurde.
-
Es
wird angenommen, dass die Anwendungsprogramme, die die Anwendungseinheit 20 der 1 bilden,
Programme zum Implementieren einer virtuellen Kopiermaschine sind
(diese Programme werden im Folgenden als Cyber Copy bezeichnet). Wenn
die Anwendungsprogramme Cyber Copy auf einem Computer (nicht gezeigt)
ausgeführt
werden, werden ein Scanner, der im Voraus als Anfangseinstellung
eines Quellengeräts
registriert wurde, und ein Drucker, der im Voraus als eine Anfangseinstellung
eines Zielgeräts
registriert wurde, automatisch unter möglichen Optionen ausgewählt. Eine
Nutzerschnittstelle wie diejenige der Kopiermaschine wird in einem
Fenster auf einer Anzeigeeinrichtung (nicht gezeigt) angezeigt,
wie es in 18 gezeigt ist. Der Nutzer
klickt nach dem Bestimmen der Anzahl der Kopien und weiteren benötigten Einstellungen
in dem angezeigten Fenster mit der Tastatur oder der Maus auf einen
START-Knopf J1. Dieses errichtet eine Verbindung mit einem Kommunikationspfad
und implementiert einen Transfer von Bilddaten von dem Scanner oder
dem Quellengerät
zum Drucker oder Zielgerät,
um den Betrieb der virtuellen Kopiermaschine zu ermöglichen.
-
In
dieser Beschreibung ist ein Gerät,
das zumindest eine Übertragung
von Daten ermöglicht,
als das Quellengerät
definiert, und ein Gerät,
das zumindest den Empfang von Daten ermöglicht, ist als das Zielgerät definiert.
Wenn ein Gerät
für die
Zwischenverarbeitung zumindest eine Übertragung von Daten ermöglicht,
kann dieses Gerät
als das Quellengerät betrachtet
werden. Wenn das Gerät
für die
Zwischenverarbeitung zumindest den Empfang von Daten ermöglicht,
kann dasselbe Gerät
als das Zielgerät
betrachtet werden. D.h., jedes derartige Gerät kann entweder als das Quellengerät oder das
Zielgerät
betrachtet werden.
-
Die
Anwendungsprogramme Cyber Copy stellen Optionen bereit, um eine Änderung
des Geräts,
eine Vergrößerung oder
Verkleinerung des Bildes und die Bildkorrektur (Farbkorrektur in
diesem Fall) zu ermöglichen.
Wenn z.B. der Nutzer die Ausführung
der Vergrößerung/Verkleinerung
des Bildes oder die Bildkorrektur in dem angezeigten Fenster der 18 auswählt,
wird ein Bildverarbeitungsserver, der im Voraus als eine Anfangseinstellung
registriert wurde, in die Verbindung eingebaut. Der Transfer von
Bilddaten wird über
den Bildverarbeitungsserver implementiert, und das zu kopierende
Bild wird in dem Bildverarbeitungsserver der gewünschten Verarbeitung unterzogen,
beispielsweise der Vergrößerung/Verkleinerung
oder der Farbkorrektur.
-
19 zeigt einen Fluss von Bilddaten. In dem Beispiel
der 19 ist ein Scanner B als das Quellengerät ausgewählt, ein
Drucker D als das Zielgerät
und ein Bildverarbeitungsserver D als der Bildverarbeitungsserver.
Bilddaten werden von dem Scanner B in den Bildverarbeitungsserver
D über eine
Geräteabstraktionseinheit 60a,
eine Kommunikationspfadabstraktionseinheit 62 und eine
Geräteabstraktionseinheit 60c eingegeben
und der ge wünschten
Verarbeitung in dem Bildverarbeitungsserver D unterzogen. Die verarbeiteten
Bilddaten werden zum Drucker D über
die Geräteabstraktionseinheit 60c,
eine Kommunikationspfadabstraktionseinheit 64 und eine
Geräteabstraktionseinheit 60b übertragen.
Obwohl aus Klarheitsgründen
zur Erläuterung
das Quellengerät,
das Zielgerät
und der Bildverarbeitungsserver als getrennte Elemente dargestellt
sind, ist der Bildverarbeitungsserver ebenfalls ein Gerät, wie es
oben beschrieben wurde. Genau gesagt fungiert der Bildverarbeitungsserver
als das Zielgerät
in Bezug auf den Scanner und als das Quellengerät in Bezug auf den Drucker.
-
Der
Zustand der Kommunikation zwischen den Geräten wird in einem Fenster auf
der Anzeigeeinrichtung angezeigt, wie es in 18 gezeigt
ist.
-
Der
Nutzer kann beliebig das Quellengerät, das Zielgerät und den
Bildverarbeitungsserver auswählen.
Wenn der Nutzer auf den GERÄTEAUSWAHL-Knopf
J2 in dem angezeigten Fenster der 18 klickt,
wird ein Geräteauswahlbaum
wie er in 20 gezeigt ist in einem Fenster
auf der Anzeigeeinrichtung angezeigt. Der Nutzer wählt dann
gewünschte
Geräte
unter den Optionen, die in dem Baum enthalten sind, frei aus.
-
Wie
oben beschrieben realisiert das Gerätesteuersystem dieser Ausführungsform
auf einfache Weise eine virtuelle Kopiermaschine als eines der zusammengesetzten
Geräte.
-
Das
Gerätesteuersystem
der Ausführungsform
wird noch konkreter beschrieben. 21 ist
ein Blockdiagramm, das ein Gerätesteuersystem
in dem Zustand der Verbindung der 2C zeigt.
Die jeweiligen Bestandteile, die in 21 gezeigt
sind, werden mit unterschiedlichen Be zugszeichen im Vergleich zu denjenigen,
die denselben Bestandteilen der 1 und 2C zugewiesen
sind, bezeichnet.
-
In 21 ist über
ein Netzwerk (nicht gezeigt) ein Computer 100 mit einem
Computer 200 verbunden, mit dem ein Drucker 240 als
Zielgerät verbunden
ist, und mit einem Computer 300, mit dem ein Scanner 340 als
Quellengerät
verbunden ist. Der Computer 100 ist ebenfalls direkt mit
einem Monitor 170 verbunden, der ein CRT oder eine Flüssigkristallanzeige
sein kann und eine Vielzahl von Bildern einschließlich einer
Nutzerschnittstelle anzeigt.
-
Der
Computer 100 enthält
eine Anwendungseinheit 110, Schnittstelleneinheiten 120 und 140,
eine Nutzerschnittstellen(UI)-Datenspeichereinheit 150,
eine Piktogrammdatenspeichereinheit 160 und Proxies 180 und 190.
Die Computer 200 und 300 enthalten jeweils Stubs 210 und 310,
Gerätesteuerungen 220 und 320 und
Gerätetreiber 230 und 330.
-
Die
Anwendungseinheit 110 ist durch bestimmte Anwendungsprogramme
aufgebaut. Die Anwendungsprogramme enthalten Teile des Betriebssystems
(OS) wie z.B. eine Shell, die eine Windows-Nutzerschnittstelle anzeigt.
Die Schnittstelleneinheit 120, der Proxy 180,
der Stub 210, die Gerätesteuerung 220 und
der Gerätetreiber 230 werden
entsprechend dem Drucker 240 oder dem Zielgerät erzeugt.
Die Schnittstelleneinheit 140, der Proxy 190, der
Stub 310, die Gerätesteuerung 320 und
der Gerätetreiber 330 werden
entsprechend dem Scanner 340 oder dem Quellengerät erzeugt.
-
Die
Schnittstelleneinheit 120 enthält ein Entscheidungselement 122,
ein Geräteinformationsspeicherelement 124,
eine Nutzerschnittstellen(UI)-Bezugstabelle 128, ein Datentransferausführungselement 129,
eine Piktogrammbezugstabelle 130, ein Datenausgabeelement 132,
ein Korrelationselement 134 und ein Bestimmungselement 136.
Die Schnittstelleneinheit 140 enthält zumindest ein Geräteinformationsspeicherelement 144 und
ein Datentransferausführungselement 148.
Diese Elemente werden durch Computerprogramme erzeugt. Informationsteile 125 und 145 der
entsprechenden Geräteklassen, Informationsteile 126 und 146 der
verfügbaren
Geräteklassen
für einen
Verbundbetrieb und Informationsteile 127 und 147 der
Kategorien der zusammengesetzten Geräte werden jeweils im Voraus
in den Geräteinformationsspeicherelementen 124 und 144 gespeichert.
Informationsteile der angesammelten Ergebnisse 131 und 149 werden
ebenfalls in den Geräteinformationsspeicherelementen 124 und 144 angesammelt.
Derartige Informationssteile werden später genauer beschrieben.
-
22 ist ein Blockdiagramm, das eine Hardwarekonfiguration
des Computers 100 der 21 zeigt.
-
In 22 weist der Computer 100 als innere und äußere Hardwarebestandteile
eine CPU 70, die verschiedene Prozesse und Steuerungen
entsprechend Computerprogrammen ausführt, einen Speicher 72,
der die Computerprogramme speichert und zeitweilig Daten, die während der
Verarbeitung erhalten werden, registriert, eine I/O-Einheit 74,
die Daten zu und von einer Vielzahl von peripheren Ausrüstungen
bzw. Einrichtungen überträgt, eine
Festplatte 76, die eine Vielzahl von Daten speichert, eine
Kommunikationseinheit 78, die ein Modem, einen Terminaladapter
und eine Netzwerkkarte enthalten kann und mit einem anderen Gerät über ein
Netzwerk kommuniziert, ein CD-ROM-Laufwerk 80, eine Maus 84,
die zur Eingabe von z.B. Nutzeranweisungen verwendet wird, und den
oben erwähnten
Monitor 170 auf.
-
Wie
es zuvor beschrieben wurde, werden die jeweiligen Bestandteile,
die in der Anwendungseinheit 110 und den Schnittstelleneinheiten 120 und 140 enthalten
sind, durch Computerprogramme implementiert. Genauer gesagt liest
die CPU 70 in dem Computer 100 gewünschte Computerprogramme, die
in dem Speicher 72 gespeichert sind, aus und führt diese
aus, um als die jeweiligen Bestandteile zu fungieren.
-
In
dieser Ausführungsform
sind die Computerprogramme, die in dem Speicher 72 gespeichert sind,
in auf dem Aufzeichnungsmedium oder der CD-ROM 82 aufgezeichneter
Form vorgesehen, wie es zuvor beschrieben wurde. Die Computerprogramme
werden von dem CD-ROM-Laufwerk 80 gelesen und in den Computer 100 eingegeben.
Die eingegebenen Computerprogramme werden z.B. bei der Aktivierung
des Computers 100 zur Festplatte 76 und außerdem zum
Speicher 72 übertragen.
Alternativ können
die eingegebenen Computerprogramme zum Speicher 72 nicht über die
Festplatte 76, sondern direkt übertragen werden.
-
Obwohl
die jeweiligen Bestandteile, die in den Schnittstelleneinheiten 120 und 140 enthalten sind,
in dieser Ausführungsform
durch Software realisiert werden, können sie auch durch Hardware
realisiert werden.
-
Die
UI-Datenspeichereinheit 150 und die Piktogrammdatenspeichereinheit 160 sind
in der Festplatte 76 gespeichert.
-
Im
Folgenden werden die Operationen des Gerätesteuersystems der 21 beschrieben. Es wird hier angenommen, dass
der Nutzer des Computers 100 wünscht, ein Bild mit dem Scanner 340,
der mit dem Computer 300 verbunden ist, zu lesen und das
eingegebene Bild mit dem Drucker 240, der mit dem Computer 200 verbunden
ist, zu drucken.
-
Ein
Scannerpiktogramm 410, das visuell den Scanner 340 als
das Quellengerät
darstellt, und ein Druckerpiktogramm 420, das visuell den
Drucker 240 als das Zielgerät darstellt, werden in einem
Fenster 400 des Monitors 170, der mit dem Computer 100 verbunden
ist, angezeigt, wie es in 23 gezeigt ist.
Das Scannerpiktogramm 410 wird durch die Schnittstelleneinheit 140,
die dem Scanner 340 entspricht, angezeigt, wohingegen das
Druckerpiktogramm 420 durch die Schnittstelleneinheit 120,
die dem Drucker 240 entspricht, angezeigt wird.
-
Der
Nutzer des Computers 100 betätigt zunächst die Maus 84,
die mit dem Computer 100 verbunden ist, und wählt und
zieht das Scanner-Piktogramm 410 als das Quellengerät mit einem
Mauszeiger 430, der in dem Fenster 400 angezeigt
wird. Die Anwendungseinheit 110 ruft die Schnittstelleneinheit 140,
die dem Scanner 340 entspricht, auf den Mausbetrieb hin
auf. Der Nutzer betätigt
dann die Maus 84 und legt das bezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 als
Zielgerät.
Die Anwendungseinheit 110 ruft die Schnittstelleneinheit 120,
die dem Drucker 240 entspricht, auf den Mausbetrieb hin
auf. Die Schnittstelleneinheit 120, die dem Drucker 240 entspricht,
als das Zielgerät
ist dementsprechend für
einen Datentransferstartprozess, der in dem Flussdiagramm der 24 gezeigt ist, zuständig.
-
Obwohl
die Schnittstelleneinheit, die dem Zielgerät entspricht, für die Verarbeitung
dieser Ausführungsform
zuständig
ist, ist das Prinzip der vorliegenden Erfindung nicht auf diese
Anordnung beschränkt.
Die Schnittstelleneinheit, die dem Quellengerät entspricht, kann alternativ
für die
Verarbeitung zuständig
sein.
-
24 ist ein Flussdiagramm, das eine Datentransferstartroutine
zeigt, die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird.
-
Der
Betrieb der Maus 84 durch den Nutzer wurde zur Schnittstelleneinheit 120 über die
Anwendungseinheit 110 übertragen.
Wenn das Programm in die Datentransferstartroutine der 24 eintritt, korreliert im Schritt S102 zunächst das
Korrelationselement 134, das in der Schnittstelleneinheit 120 enthalten
ist, den Drucker 240, der das entsprechende Gerät der Schnittstelleneinheit 120 ist,
mit einem gepaarten Gerät
auf der Grundlage des übertragenen Mausbetriebs.
Das Korrelationselement 134 erkennt, dass der Drucker 240,
der das entsprechende Gerät der
Schnittstelleneinheit 120 ist, Gegenstand der Korrelation
ist, da die Anwendungseinheit 110 die Schnittstelleneinheit 120 aufgerufen
hat. Das Korrelationselement 134 begreift andererseits,
dass das zu korrelierende gepaarte Gerät der Scanner 340 ist, auf
der Grundlage des Betriebs der Maus 84, der von der Anwendungseinheit 110 übertragen
wird. Das Korrelationselement 134 korreliert dementsprechend den
Drucker 240 als das entsprechende Gerät mit dem Scanner 340 als
das gepaarte Gerät
und sendet das Ergebnis der Korrelation zum Entscheidungselement 122.
-
Im
anschließenden
Schritt S104 erhält
das Entscheidungselement 122 auf der Grundlage des eingegebenen
Ergebnisses der Korrelation Informationen, die die Geräteklassen
betreffen (d.h. die Gerätetypen),
bezüglich
des Druckers 240 als das entsprechende Gerät und des
Scanners 340 als das gepaarte Gerät von dem Geräteinformationsspeicherelement 124 und
dem Geräteinformationsspeicherelement 144 der
Schnittstelleneinheit 140, die dem Scanner 340 entspricht.
-
Wie
zuvor erwähnt
werden die Informationsteile 125 und 145, die
die entsprechenden Geräteklassen
betreffen, jeweils in dem Geräteinformationsspeicherelement 124 und
dem Geräteinformationsspeicherelement 144 gespeichert.
Die Informationsteile 125 und 145, die die entsprechenden
Geräteklassen
betreffen, stellen die Geräteklassen
der entsprechenden Geräte
dar, die diejenigen Geräte
sind, die jeweils den Schnittstelleneinheiten 120 und 140 entsprechen.
In einem konkreten Beispiel stellt das Informationsteil 125 "Drucker" als die Geräteklasse des
Druckers 240 dar, wohingegen das Informationsteil 145 "Scanner" als die Geräteklasse
des Scanners 340 darstellt.
-
Das
Entscheidungselement 122 greift dementsprechend auf das
Geräteinformationsspeicherelement 124 zu,
um das Informationsteil 125, das die entsprechende Geräteklasse
betrifft (d.h. die Geräteklasse
des Druckers 240), die in dem Geräteinformationsspeicherelement 124 gespeichert
ist, zu erhalten. Das Entscheidungselement 122 greift ebenfalls auf
das Geräteinformationsspeicherelement 144 zu, um
das Informationsteil 145 zu erhalten, das die entsprechende
Geräteklasse
(d.h. die Geräteklasse
des Scanners 340) betrifft, die in dem Geräteinformationsspeicherelement 144 gespeichert
ist.
-
Nach
dem Begreifen auf der Grundlage der Informationsteile 125 und 145,
die somit erhalten wurden, dass die Geräteklasse des Druckers 240 als das
entsprechende Gerät
der "Drucker" ist und dass die
Geräteklasse
des Scanners 340 als das gepaarte Gerät der "Scanner" ist, bezieht sich das Entscheidungselement 122 in
Schritt S106 auf die Information 126, die die verfügbaren Geräteklassen
für einen Verbundbetrieb
betrifft, die in dem Geräteinformationsspeicherelement 124 gespeichert
ist. Das Entscheidungselement 122 bestimmt dann in Schritt S108,
ob die Kombination der Geräteklassen
(die Kombination aus "Dru cker" und "Scanner" in diesem Fall)
als das zusammengesetzte Gerät
betreibbar ist.
-
Wie
zuvor beschrieben, stellt das zusammengesetzte Gerät ein virtuelles
Gerät dar,
das zumindest einen Teil der Funktionen des Quellengeräts und zumindest
einen Teil der Funktionen des Zielgeräts aufweist. Die interessierenden
Geräte
sind in diesem Fall der Scanner 340 und der Drucker 240,
so dass das zusammengesetzte Gerät
ein virtuelles Gerät
ist, das zumindest einen Teil der Funktionen des Scanners 340 und
zumindest einen Teil der Funktionen des Druckers 240 aufweist.
-
Das
virtuelle zusammengesetzte Gerät,
das durch eine bestimmte Kombination von Geräten bestimmt wird, kann jedoch
in dem tatsächlichen
Zustand nicht betreibbar sein. Die Entscheidungseinheit 122 bestimmt
durch die Verarbeitungsschritte S106 und S108, die oben beschrieben
wurden, dementsprechend, ob das virtuelle zusammengesetzte Gerät tatsächlich betreibbar
ist.
-
Wie
zuvor beschrieben, kann in einigen Kombinationen von beliebigen
Geräten
ein beliebiges Gerät
nicht in der Lage sein, die Daten, die von dem anderen beliebigen
Gerät übertragen
werden, zu empfangen und zu verarbeiten. In derartigen Fällen ist
das virtuelle zusammengesetzte Gerät in dem tatsächlichen
Zustand nicht betreibbar. In dieser Ausführungsform bestimmt das Entscheidungselement 122 durch
die Verarbeitung der Schritte S106 und S108, ob die Kombination
beliebiger Geräte
als das zusammengesetzte Gerät
betreibbar ist, um zu bestimmen, ob ein beliebiges Gerät die Daten,
die von dem anderen beliebigen Gerät übertragen werden, empfangen
und verarbeiten kann.
-
Anstelle
der Bestimmung, ob die Kombination der beliebigen Geräte als das
zusammengesetzte Gerät
betreibbar ist, kann eine andere Technik angewendet werden, um zu
bestimmen, ob ein beliebiges Gerät
die Daten, die von dem anderen beliebigen Gerät übertragen werden, empfangen
und verarbeiten kann.
-
Wie
es zuvor erläutert
wurde, sind die Informationsteile 126 und 146,
die die verfügbaren
Geräteklassen
für einen
Verbundbetrieb betreffen, jeweils in den Geräteinformationsspeicherelementen 124 und 144 gespeichert.
Die Informationsteile 126 und 146 der verfügbaren Geräteklassen
für einen
Verbundbetrieb zeigen jeweils die Geräteklassen der anderen Geräte, die
mit den Geräteklassen
derjenigen Geräte
kombiniert werden, die den Schnittstelleneinheiten 120 und 140 entsprechen
(die entsprechenden Geräte),
und machen die virtuellen zusammengesetzten Geräte betreibbar. In einem konkreten
Beispiel enthalten die Informationen 126 "Scanner", "Digitalkamera", "Faxgerät" und "elektronische Mail" als die Geräteklassen
der anderen Geräte,
die mit der Geräteklasse "Drucker" kombiniert werden,
und machen die virtuellen zusammengesetzten Geräte betreibbar. Die Informationen 146 enthalten
andererseits "Drucker", "Faxgerät" und "elektronische Mail" als die Geräteklassen
der anderen Geräte,
die mit der Geräteklasse "Scanner" kombiniert werden,
und machen die virtuellen zusammengesetzten Geräte betreibbar.
-
Die
Geräteklassen
der anderen Geräte,
die mit der Geräteklasse
eines bestimmten Zielgeräts kombiniert
werden, sind alle Geräteklassen
der Quellengeräte.
Im Gegensatz dazu sind die Geräteklassen
der anderen Geräte,
die mit der Geräteklasse
eines bestimmten Quellengeräts
kombiniert werden, alle Geräteklassen
der Zielgeräte.
In dem obigen Fall sind die Geräteklassen "Scanner", "Digitalkamera", "Faxgerät" und "elektronische Mail", die mit der Geräteklasse "Drucker" des Zielgeräts kombiniert
werden, alle Geräteklassen
der Quellengeräte.
Die Geräteklassen "Drucker", "Faxgerät" und "elektronische Mail", die mit der Geräteklasse "Scanner" des Quellengeräts kombiniert
werden, sind alle Geräteklassen der
Zielgeräte.
Das Faxgerät
und die elektronische Mail fungieren beide als Quellengeräte und als
Zielgeräte,
so dass die Geräteklassen "Faxgerät" und "elektronische Mail" zu den Geräteklassen
sowohl der Quellengeräte
als auch der Zielgeräte
gehören.
-
Das
Entscheidungselement 122 bezieht sich auf die Informationen 126 der
verfügbaren
Geräteklassen
für einen
Verbundbetrieb, die in dem Geräteinformationsspeicherelement 124 gespeichert
sind, in Bezug auf den Fall, in dem die Geräteklasse (Drucker) des Druckers 240 als
das entsprechende Gerät mit
der Geräteklasse "Scanner" des Scanners 340 als
das gepaarte Gerät
kombiniert wird. Wie es zuvor erwähnt wurde, sind die Geräteklassen "Scanner", "Digitalkamera", "Faxgerät" und "elektronische Mail" in den Informationen 126 als
mögliche
Optionen gegeben, die mit der Geräteklasse "Drucker" kombiniert werden können, um die betreibbaren zusammengesetzten
Geräte
zu implementieren. Das Entscheidungselement 122 bestimmt
dementsprechend, dass die Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Scanner" als das zusammengesetzte Gerät betreibbar
ist. Nach der Bestimmung, ob die Kombination als das zusammengesetzte
Gerät betreibbar
ist, überträgt das Entscheidungselement 122 das
Ergebnis der Bestimmung zum Bestimmungselement 136. Das
Entscheidungselement 122 transferiert die anderen Informationsteile,
die das gepaarte Gerät
oder den Scanner 340 betreffen, d.h. den Namen und die
Geräteklasse,
zusammen mit dem Ergebnis der Bestimmung.
-
In
dem Fall, in dem das Entscheidungselement 122 bestimmt,
dass die Kombination als das zusammengesetzte Gerät betreibbar
ist, bezieht sich das Bestimmungselement 136 auf die Informationen 127 der
Kategorien der zusammengesetzten Geräte, die in dem Geräteinformationsspeicherelement 124 gespeichert
sind, und identifiziert den Typ des virtuellen zusammengesetzten
Geräts
in Schritt S110. Das Ergebnis der Bestimmung durch das Entscheidungselement 122 und
das Ergebnis der Identifikation durch das Bestimmungselement 136 werden
als die Informationsteile der angesammelten Ergebnisse 131 und 149 in
den Geräteinformationsspeicherelementen 124 und 144 angesammelt.
-
Wie
zuvor beschrieben werden die Informationsteile 127 und 147 der
Kategorien der zusammengesetzten Geräte jeweils in den Geräteinformationsspeicherelementen 124 und 144 gespeichert.
Die Informationsteile 127 und 147 der Kategorien
der zusammengesetzten Geräte
stellen die Typen der zusammengesetzten Geräte (Kategorien der zusammengesetzten
Geräte)
in Bezug auf die möglichen Kombinationen
der Geräteklassen
dar, die als zusammengesetzte Geräte betreibbar sind. In einem konkreten
Beispiel enthalten die Informationen 127:
"Drucker" + "Scanner" = "Kopiermaschine"
"Scanner" + "Faxgerät" = "Faxgerät (Übertrager)"
"Drucker" + "Faxgerät" = "Faxgerät (Empfänger)"
-
In
Bezug auf eine bestimmte Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Scanner" wird z.B. eine Kopiermaschine als das
Gerät betrachtet,
das die Funktionen sowohl des Druckers als auch des Scanners aufweist.
Die "Kopiermaschine" ist dementsprechend
als der Typ des zusammengesetzten Geräts gegeben, der der bestimmten
Kombination entspricht. In einem anderen Beispiel in Bezug auf eine
bestimmte Kombination der Geräteklasse "Scanner" mit der Geräteklasse "Faxgerät" wird ein Übertragungsfaxgerät als das Gerät betrachtet,
das die Funktionen sowohl des Scanners als auch des Übertragungsabschnitts
des Faxgeräts
aufweist. Das "Faxgerät (Übertrager)" ist dementsprechend
als der Typ des zusammengesetzten Geräts gegeben, das der bestimmten
Kombination entspricht. In einem anderen Beispiel wird in Bezug
auf eine bestimmte Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Faxgerät" ein Empfangsfaxgerät als das Gerät betrachtet,
das die Funktionen sowohl des Druckers als auch des Empfangsabschnitts
des Faxgeräts
aufweist. Das "Faxgerät (Empfänger)" ist dementsprechend
als der Typ des zusammengesetzten Geräts gegeben, das der bestimmten
Kombination entspricht.
-
Die
folgende Option ist ebenfalls als die Kategorie der zusammengesetzten
Geräte
möglich:
"Digitalkamera" + "elektronische Mail" = "direkte Mailübertragung"
-
In
Bezug auf eine bestimmte Kombination der Geräteklasse "Digitalkamera" mit der Geräteklasse "elektronische Mail" wird eine direkte Mailübertragung,
die ermöglicht,
dass Bilder, die mit einer Digitalkamera aufgenommen werden, direkt
zu voreingestellten Adressen per elektronische Mail übertragen werden,
als das virtuelle Gerät
betrachtet, das die Funktionen sowohl der Digitalkamera als auch
des Übertragungsabschnitts
der elektronischen Mail aufweist. Die "direkte Mailübertragung" ist dementsprechend als der Typ des
zusammengesetzten Geräts gegeben,
das der bestimmten Kombination entspricht.
-
Das
Bestimmungselement 136 bezieht sich auf die Informationen 127 der
Kategorien der zusammengesetzten Geräte, die in dem Geräteinformationsspeicherelement 124 gespeichert
sind, in Bezug auf die Kombination der Geräteklasse "Drucker" des Druckers 240 als das entsprechende Gerät mit der Geräteklasse "Scanner" des Scanners 340 als
das gepaarte Gerät.
Wie zuvor erläutert
ist in Bezug auf die Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Scanner" die "Kopiermaschine" als der Typ des zusammengesetzten Geräts gegeben. Das
Bestimmungselement 136 bestimmt dementsprechend die Geräteklassenkategorie "Kopiermaschine" als den Typ des
zusammengesetzten Geräts, der
der Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Scanner" entspricht.
-
Der
Typ des zusammengesetzten Geräts, der
von dem Bestimmungselement 136 identifiziert wird, wird
als die Informationsteile der angesammelten Ergebnisse 131 und 149 zusammen
mit dem Ergebnis der Bestimmung durch das Entscheidungselement 122 angesammelt.
Genauer gesagt werden der Name des Scanners 340 als das
gepaarte Gerät, das
Ergebnis der Bestimmung, dass die Kombination als das zusammengesetzte
Gerät betreibbar
ist, und der Typ des zusammengesetzten Geräts "Kopiermaschine" in den Informationen der angesammelten
Ergebnisse 131 gespeichert. Der Name des Druckers 240,
der das gepaarte Gerät
des Scanners 340 ist, das Ergebnis der Bestimmung, dass
die Kombination als das zusammengesetzte Gerät betreibbar ist, und der Typ
des zusammengesetzten Geräts "Kopiermaschine" werden in den Informationen
der angesammelten Ergebnisse 149 gespeichert.
-
In 23 schreitet, wenn der Nutzer des Computers 100 die
Maus 84 betätigt
und das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 zieht,
das Programm zur Verarbeitung im Schritt S112 des Flussdiagramms
der 24 fort.
-
Das
Bestimmungselement 136 gibt in Schritt S112 eine Anweisung
zum Starten des Datentransfers zum Datentransferausführungselement 126 und zum
Datentransferausfüh rungselement 148,
das in der Schnittstelleneinheit 140 enthalten ist. Die
Datentransferausführungselemente 129 und 148 starten dann
im Schritt S114 den tatsächlichen
Prozess des Datentransfers. Entsprechend einer konkreten Prozedur überträgt das Datentransferausführungselement 148 die
Anweisung des Startens des Datentransfers zum Stub 310,
der in dem getrennten Computer 300 enthalten ist, über den
Proxy 190 über
das Netzwerk. Der Stub 310 überträgt außerdem die Anweisung zum Gerätetreiber 330 über die
Gerätesteuerung 320.
Der Gerätetreiber 330 liest
dementsprechend Daten von dem Scanner 340 und überträgt die eingegebenen
Daten zum Datentransferausführungselement 148,
das in der Schnittstelleneinheit 140 enthalten ist, über die
Gerätesteuerung 320,
den Stub 310 und den Proxy 190. Das Datentransferausführungselement 148 sendet
außerdem
die Daten zum Datentransferausführungselement 129,
das in der Schnittstelleneinheit 120 enthalten ist, über die Anwendungseinheit 110.
Das Datentransferausführungselement 129 sendet
die Daten zum Stub 210, der in dem getrennten Computer 200 enthalten
ist, über
den Proxy 180 über
das Netzwerk. Der Stub 210 überträgt die Daten zum Gerätetreiber 230 über die Gerätesteuerung 220.
Der Gerätetreiber 230 gibt
die Daten an den Drucker 240 aus. Diese Prozedur implementiert
dementsprechend den Datentransfer vom Scanner 340 zum Drucker 240.
-
Wie
zuvor erläutert
führen
die Proxies 180 und 190 und die Stubs 210 und 310 eine
Abstraktion der Kommunikationspfade zur Verbindung der Computer
miteinander in Bezug auf die oberen Bestandteile, d.h. die Anwendungseinheit 110 und
die Schnittstelleneinheiten 120 und 140 aus, im
Verlaufe der Übertragung
verschiedener Teile von Steuerungsinformationen und Daten zwischen
den Computern 100 und 200 und zwischen den Computern 100 und 300 über das
Netzwerk. D.h., die Proxies 180 und 190 und die
Stubs 210 und 310 entfernen scheinbar einen Unterschied
in der Steuerungsprozedur, der den unterschiedlichen Typen der dazwischen
angeordneten Kommunikationspfaden zugeschrieben wird, und ermöglicht es,
dass die Anwendungseinheit 110 und die Schnittstelleneinheiten 120 und 140 eine Übertragung
von Steuerungsinformationen und Daten durchführen können, ohne zu berücksichtigen,
ob die dazwischen angeordneten Kommunikationspfade unterschiedliche
Computer über
die Netzwerkgrenze oder unterschiedliche Prozesse über die
Prozessgrenze in einem identischen Computer verbindet.
-
Die
Gerätesteuerungen 220 und 320 entfernen
scheinbar einen Unterschied in der Steuerungsprozedur, der den unterschiedlichen
Geräteklassen oder
Gerätetypen
der entsprechenden Geräte
(d.h. dem Drucker 240 in dem Fall der Gerätesteuerung 220 und
dem Scanner 340 in dem Fall der Gerätesteuerung 320) zugeschrieben
wird, und führen
eine Abstraktion der Geräte
(Abstraktion der Hardware) in Bezug auf die oberen Bestandteile
aus, d.h. der Anwendungseinheit 110 und den Schnittstelleneinheiten 120 und 140.
-
Der
Verarbeitungspfad über
die Proxies 180 und 190 und die Stubs 210 und 310 ermöglicht es, dass
die Anwendungseinheit 110 und die Schnittstelleneinheiten 120 und 140 das
Gerät mit
einer im Wesentlichen fixierten Steuerungsumgebung unabhängig von
dem Ort des Geräts
einstellen, steuern und betreiben, ohne den Typ des dazwischen angeordneten
Kommunikationspfades zu berücksichtigen.
Der Verarbeitungspfad über
die Gerätesteuerungen 220 und 320 ermöglicht ebenfalls,
dass die Anwendungseinheit 110 und die Schnittstelleneinheiten 120 und 140 das
Gerät in
einer im Wesentlichen fixierten Steuerungsumgebung einstellen, steuern
und betreiben, ohne die Geräteklasse
(Gerätetyp)
zu berücksichtigen.
-
Wenn
der Nutzer des Computers 100 die Maus 84 betätigt und
das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 zieht, wird
der Datentransfer von dem Scanner 340 zum Drucker 240 auf
die obige Weise implementiert.
-
In
dem Fall, in dem das Entscheidungselement 122 in Schritt
S108 im Flussdiagramm der 24 bestimmt,
dass die Kombination als das zusammengesetzte Gerät nicht
betreibbar ist, führt
das Programm andererseits den folgenden Prozess aus. Entsprechend
einer konkreten Prozedur gibt in dem Fall einer negativen Antwort
im Schritt S108 das Bestimmungselement 136 im Schritt S116
eine Anweisung zum Anzeigen eines Zeichens hinsichtlich einer unmöglichen
Korrelation an das Datenausgabeelement 132. Das Datenausgabeelement 132 zeigt dementsprechend
ein vorbestimmtes Zeichen, das eine unmögliche Korrelation darstellt,
an einer bestimmten Position in dem Fenster auf dem Monitor 170 an,
wo das Piktogramm, das dem Quellengerät entspricht, auf das Piktogramm
gelegt wird, das dem Zielgerät
entspricht. Dieses informiert den Nutzer darüber, dass die Kombination des
interessierenden Quellengeräts
mit dem interessierenden Zielgerät
als das zusammengesetzte Gerät
nicht betreibbar ist und die Korrelation nicht durchgeführt wird.
-
Wie
oben beschrieben bestimmt die Prozedur der Ausführungsform automatisch, ob
die Kommunikation des Scanners 340 mit dem Drucker 240 als
das zusammengesetzte Gerät
betreibbar ist, wenn der Nutzer des Computers 100 das Scanner-Piktogramm 410 auf
das Drucker-Piktogramm 420 zieht, um ein Bild mit dem Scanner 240,
der mit dem Computer 300 verbunden ist, zu lesen und das eingegebene
Bild mit dem Drucker 240, der mit dem Computer 200 verbunden
ist, zu drucken. In dem Fall der positiven Antwort im Schritt S108,
d.h. wenn bestimmt wird, dass die Kombi nation als das zusammengesetzte
Gerät betreibbar
ist, wird garantiert, dass der Drucker 240 die Bilddaten,
die von dem Scanner 340 übertragen werden, empfangen
und verarbeiten kann. Wenn der Nutzer anschließend das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 zieht,
um den tatsächlichen Transfer
der Bilddaten von dem Scanner 340 zum Drucker 240 zu
starten, gewährleistet
diese Anordnung der Ausführungsform
den effektiven Datentransfer zwischen dem Scanner 340 und
dem Drucker 240.
-
Wenn
in dem obigen Beispiel das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 gezogen
wird, startet unmittelbar der Datentransfer von dem Scanner 340 zum
Drucker 240. In einem weiter unten beschriebenen Beispiel
startet der Datentransfer nicht unmittelbar, sondern es wird eine
Nutzerschnittstelle in einem Fenster auf dem Monitor 170 zum
Zeitpunkt des Fallenlassens des gezogenen Scanner-Piktogramms 410' auf das Drucker-Piktogramm 420 angezeigt.
-
25 ist ein Flussdiagramm, das eine Nutzerschnittstellenanzeigeroutine
zeigt, die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird.
-
Die
Verarbeitung der Schritte S122 bis S130 und die Verarbeitung des
Schritts 136 in dem Flussdiagramm der 25 sind identisch zu der Verarbeitung der Schritte
S102 bis S110 und der Verarbeitung des Schritts S116 des Flussdiagramms
der 24 und werden hier somit nicht
besonders beschrieben.
-
Nach
dem Identifizieren des Typs des zusammengesetzten Geräts (d.h.
der Bestimmung, dass in diesem Beispiel der Typ des zusammengesetzten
Geräts
die "Kopiermaschine" ist) im Schritt S130,
bezieht sich das Bestimmungselement 136 auf die UI-Bezugstabelle 128 und
bestimmt in Schritt S132 eine Nutzerschnittstelle, die dem Typ des
zusammengesetzten Geräts,
das somit bestimmt wurde, entspricht. Die UI-Bezugstabelle 128 enthält z.B. Identifikationsnummern
von Nutzerschnittstellen, die den jeweiligen Typen der betreibbaren
zusammengesetzten Geräte
entsprechen. Entsprechend einer konkreten Prozedur des Schritts
S132 liest das Bestimmungselement 136 die Identifikationsnummer der
Nutzerschnittstelle entsprechend dem Typ des zusammengesetzten Geräts, das
im Schritt S130 identifiziert wird, aus der UI-Bezugstabelle 128 aus und überträgt die Identifikationsnummer
zum Datenausgabeelement 132.
-
Wenn
gemäß 23 der Nutzer des Computers 100 die Maus 84 betätigt und
das gezogene Scanner-Piktogramm 410' auf des Drucker-Piktogramm 420 fallen
lässt,
schreitet das Programm zur Verarbeitung des Schritts S134 des Flussdiagramms der 25.
-
Das
Datenausgabeelement 132 lädt Daten der entsprechenden
Nutzerschnittstelle, d.h. Daten, die zum Anzeigen der entsprechenden
Nutzerschnittstelle in einem Fenster auf dem Monitor 170 benötigt werden,
aus der UI-Datenspeichereinheit 150 auf
der Grundlage der übertragenen
Identifikationsnummer der entsprechenden Nutzerschnittstelle herunter.
Die UI-Datenspeichereinheit 150 speichert Daten der Nutzerschnittstellen,
die den jeweiligen Typen der betreibbaren zusammengesetzten Geräte entsprechen.
Die Nutzerschnittstelle, die dem Typ des zusammengesetzten Geräts entspricht,
beinhaltet eine Nutzerschnittstelle, die zum Einstellen, Steuern
und Betreiben (im engen Sinne) des zusammengesetzten Geräts geeignet
ist.
-
Da
der Typ des zusammengesetzten Geräts, der von dem Bestimmungselement 136 identifiziert wird,
in diesem Beispiel die "Kopiermaschine" ist, wählt das
Datenausgabe element 132 Daten der Nutzerschnittstelle zum
Betreiben der Kopiermaschine unter den Daten der Nutzerschnittstellen,
die in der UI-Datenspeichereinheit 150 gespeichert sind,
aus und lädt
die Daten der ausgewählten
Nutzerschnittstellen herunter.
-
Das
Datenausgabeelement 132 gibt anschließend die herunter geladenen
Daten der Nutzerschnittstelle zum Monitor 170, der mit
dem Computer 100 verbunden ist, aus und zeigt im Schritt
S134 die Nutzerschnittstelle, die zum Betreiben der Kopiermaschine
als das zusammengesetzte Gerät
geeignet ist, in einem Fenster auf dem Monitor 170 an.
-
Entsprechend
der obigen Prozedur wird in dem Moment, in dem der Nutzer des Computers 100 die
Maus 84 betätigt
und das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 fallen
lässt,
eine Nutzerschnittstelle zum Betreiben einer Kopiermaschine als
das zusammengesetzte Gerät,
wie es in 26 gezeigt ist, in einem Fenster
auf dem Monitor 170 als die Nutzerschnittstelle zum Betreiben
sowohl des Scanners 340 als auch des Druckers 240 angezeigt.
-
In
dem obigen Beispiel ist der Typ des zusammengesetzten Geräts die "Kopiermaschine", die durch die Kombination
der Geräteklasse "Drucker" mit der Geräteklasse "Scanner" bestimmt ist. Die Nutzerschnittstelle
zum Betreiben der Kopiermaschine, die in 26 gezeigt
ist, wird somit in einem Fenster auf dem Monitor 170 angezeigt.
In dem Fall einer anderen Kombination der Geräteklasse "Drucker" mit der Geräteklasse "Faxgerät", ist der Typ des zusammengesetzten
Geräts
das "Faxgerät" (Empfänger)", so dass eine andere
Nutzerschnittstelle zum Betreiben eines Empfangsfaxgeräts in einem Fenster
auf dem Monitor 170 angezeigt wird, wie es in 27 gezeigt ist.
-
Wie
zuvor beschrieben wird, wenn der Nutzer des Computers 100 wünscht, ein
Bild mit dem Scanner 340, der mit dem Computer 300 verbunden ist,
zu lesen und das eingegebene Bild mit dem Drucker 240,
der mit dem Computer 200 verbunden ist, zu drucken, eine
Nutzerschnittstelle zum Betreiben einer Kopiermaschine, die die
Funktionen sowohl eines Druckers als auch eines Scanners aufweist,
als die Nutzerschnittstelle zum Betreiben sowohl des Scanners 340 als
auch des Druckers 240 angezeigt. Diese Anordnung benötigt keine
unterschiedlichen Nutzerschnittstellen für den Scanner 340 und
den Drucker 240 und ermöglicht
es dem Nutzer, die benötigten
Einstellungen gleichzeitig in einer vereinigten Nutzerschnittstelle
zu bestimmen. Dieses schafft dementsprechend dem Nutzer eine optimierte
Bedienbarkeit. Der Nutzer betrachtet die Kombination des Scanners 340 mit
dem Drucker 240 als ein zusammengesetztes Gerät, d.h.
eine Kopiermaschine, und betätigt
den Scanner 340 und den Drucker 240 gemeinsam.
Dieses optimiert außerdem
die Bedienbarkeit.
-
In
dem obigen Beispiel wird die Nutzerschnittstelle in dem Fenster
auf dem Monitor 170 in dem Moment angezeigt, in dem das
gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 fallen
gelassen wird. Wie unten beschrieben kann jedoch ein Piktogramm,
das dem zusammengesetzten Gerät
entspricht, vor der Anzeige der Nutzerschnittstelle zum Betreiben
des zusammengesetzten Geräts
angezeigt werden. In diesem Fall kann eine typische Prozedur eine
Betätigung
oder Nicht-Betätigung
einer bestimmten Taste in dem Moment der Drag-und-Drop-Operation erfassen
oder ein Menü zum
Auswählen
der Erzeugung oder Nicht-Erzeugung eines Piktogramms anzeigen, um dem
Nutzer zu ermöglichen,
eine Anzeige oder keine Anzeige des Piktogramms auszuwählen.
-
28 ist ein Flussdiagramm, das eine Modifikation
der Nutzerschnittstellenanzeigeroutine der 25 zeigt.
-
In
dieser modifizierten Prozedur bezieht sich im Schritt S132 das Bestimmungselement 136 auf die
UI-Bezugstabelle 128 und
bestimmt eine Nutzerschnittstelle, die dem Typ des zusammengesetzten Geräts, das
im Schritt S130 identifiziert wird, entspricht. Im anschließenden Schritt
S140 bezieht sich das Bestimmungselement 136 auf die Piktogramm-Bezugstabelle 130 und
wählt ein
Piktogramm entsprechend dem Typ des zusammengesetzten Geräts, das
in Schritt S130 identifiziert wird, aus. Die Piktogramm-Bezugstabelle 130 speichert
die Identifikationsnummern von Piktogrammen, die den jeweiligen
Typen der betreibbaren zusammengesetzten Geräte entsprechen. Das Bestimmungselement 136 liest
die Identifikationsnummer des Piktogramms, das dem vorbestimmten
Typ des zusammengesetzten Geräts
entspricht, aus der Piktogramm-Bezugstabelle 130 aus und überträgt die Identifikationsnummer
des Piktogramms an das Datenausgabeelement 132.
-
Wenn
der Nutzer des Computers 100 die Maus 84 betätigt und
das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm 420 fallen lässt, schreitet
das Programm zur Verarbeitung des Schritts S142 des Flussdiagramms
der 28.
-
Das
Datenausgabeelement 132 lädt Daten zum Anzeigen des entsprechenden
Piktogramms in dem Fenster auf dem Monitor 170 aus der
Piktogramm-Datenspeichereinheit 160 auf der Grundlage der
Identifikationsnummer des Piktogramms, das von dem Bestimmungselement 136 übertragen
wird, herunter. Die Piktogramm-Datenspeichereinheit 160 speichert die
Daten von Piktogrammen, die visuell die jeweiligen Typen der betreibbaren
zusammengesetzten Geräte
darstellen.
-
In
dem Fall, in dem der Typ des zusammengesetzten Geräts, der
von dem Bestimmungselement 136 identifiziert wird, die "Kopiermaschine" ist, wählt das
Datenausgabeelement 132 die Daten des Piktogramms, das
der Kopiermaschine entspricht, unter den Daten der Piktogramme,
die in der Piktogramm-Datenspeichereinheit 160 gespeichert
sind, aus und lädt
die Daten des ausgewählten
Piktogramms herunter.
-
Das
Datenausgabeelement 132 gibt anschließend die herunter geladenen
Daten des ausgewählten
Piktogramms an den Monitor 170, der mit dem Computer 100 verbunden
ist, aus und zeigt das Piktogramm, das der Kopiermaschine als das
zusammengesetzte Gerät
entspricht, in dem Fenster auf dem Monitor 170 im Schritt
S142 an.
-
In
dem Moment, in dem der Nutzer des Computers 100 die Maus 84 betätigt und
das gezogene Scanner-Piktogramm 410' auf das Drucker-Piktogramm fallen
lässt,
wird ein Kopiermaschinen-Piktogramm 440, das visuell die
Kopiermaschine als das zusammengesetzte Gerät darstellt, in dem Fenster auf
dem Monitor 170 angezeigt, wie es in 29 gezeigt ist. Das Kopiermaschinen-Piktogramm 440 kann
an der Position des Drag-und-Drop-Betriebs oder an einer getrennten
Position ähnlich
einem Ordner für
zusammengesetzte Geräte
anzeigt werden. Das Scanner-Piktogramm 410 und das Drucker-Piktogramm 420 können zeitweilig
aus dem Fenster auf dem Monitor 170 gelöscht werden, wie es in 29 gezeigt ist, oder können alternativ in dem Fenster
gehalten werden.
-
Das
Bestimmungselement 136 speichert ein Informationsteil dahingehend,
welche Geräte
tatsächlich
das zusammengesetzte Gerät
bilden, das durch das angezeigte Kopiermaschinen-Piktogramm 440 dargestellt
wird (d.h. ein Informationsteil, das zeigt, dass die Kopiermaschine
als das zusammengesetzte Gerät
aus dem Scanner 340 als das Quellengerät und dem Drucker 240 als
das Zielgerät
besteht), in den Geräteinformationsspeicherelementen 122 und 144 als
die Informationsteile der angesammelten Ergebnisse 131 und 149.
Das Bestimmungselement 136 überwacht dann im Schritt S144,
ob der Nutzer des Computers 100 den Mauszeiger 430 auf dem
Kopiermaschinen-Piktogramm 440 platziert, wie es in 29 gezeigt ist, und eine Taste auf der Maus 84 klickt.
Auf die Erfassung eines Mausklicks hin führt das Bestimmungselement 136 die
Verarbeitung des Schritts S134 durch, die zuvor mit Bezug auf das Flussdiagramm
der 25 beschrieben wurde.
-
In
dem Moment, in dem der Nutzer des Computers 100 eine Taste
der Maus 84 betätigt,
während der
Mauszeiger 430 auf dem Kopiermaschinen-Piktogramm 440 platziert
ist, bewirkt die Verarbeitung der Schritte S144 und S134, dass die
Nutzerschnittstelle zum Betreiben der Kopiermaschine in dem Fenster
auf dem Monitor 170 angezeigt wird, wie es in 26 gezeigt ist.
-
Diese
modifizierte Prozedur zeigt das Piktogramm, das dem zusammengesetzten
Gerät entspricht,
d.h. der Kopiermaschine, als das Piktogramm an, das der Kombination
aus dem Scanner 340 und dem Drucker 240 entspricht,
die die Objekte der Korrelation sind. Dieses ermöglicht es dem Nutzer des Computers 100,
visuell die Kombination aus dem Scanner 340 und dem Drucker 240 als
ein neues Gerät,
die Kopiermaschine, zu erkennen, und erleichtert die anschließende Verarbeitung.
Während das
Piktogramm, das dem zusammengesetzten Gerät oder der Kopiermaschine ent spricht,
angezeigt wird, wird die Nutzerschnittstelle zum Betreiben des zusammengesetzten
Geräts
oder der Kopiermaschine auf eine bestimmte Anweisung des Nutzers
hin angezeigt. Diese Anordnung ermöglicht es dem Nutzer, die benötigten Anweisungen über die
Nutzerschnittstelle einzugeben, beispielsweise die Einstellungen
der Kopiermaschine.
-
Während die
Nutzerschnittstelle zum Betreiben des zusammengesetzten Geräts, beispielsweise der
Kopiermaschine, in dem Fenster auf dem Monitor 170 angezeigt
wird, wenn der Nutzer des Computers 100 die benötigten Anweisungen,
beispielsweise die Einstellungen des zusammengesetzten Geräts, in den
Computer 100 über
die Nutzerschnittstelle eingibt, werden die Anweisungen zum Drucker 240,
der mit dem Computer 200 verbunden ist, und zum Scanner 340,
der mit dem Computer 300 verbunden ist, entsprechend dem
später
beschriebenen Prozess übertragen.
-
Wenn
der Nutzer des Computers 100 die Tastatur (nicht gezeigt)
oder die Maus 84 betätigt
und die Anweisungen, die die gewünschten
Einstellungen des zusammengesetzten Geräts betreffen, über die Nutzerschnittstelle,
die in dem Fenster auf dem Monitor 170 angezeigt wird,
eingibt, überträgt die Anwendungseinheit 110 die
Anweisungen, die die Einstellung des Druckers 240 betreffen,
zur Schnittstelleneinheit 120, und die Anweisungen, die
die Einstellungen des Scanners 340 betreffen, an die Schnittstelleneinheit 140.
Die Schnittstelleneinheiten 120 und 140 übertragen
jeweils über
das Netzwerk die eingegebenen Anweisungen von den Proxies 180 und 190 zu
den Stubs 210 und 310 in den getrennten Computern 200 und 300.
Die Stubs 210 und 310 übertragen außerdem die
Anweisungen zu den Gerätetreibern 230 und 330 über die
Gerätesteuerungen 220 und 320.
Der Gerätetreiber 230 implementiert
die Einstellungen des Druckers 240 auf die Anweisungen
hin, wo hingegen der Gerätetreiber 330 die
Einstellungen des Scanners 340 auf die Anweisungen hin
implementiert.
-
Wie
zuvor beschrieben werden das Ergebnis der Bestimmung durch das Entscheidungselement 122 und
das Ergebnis der Identifikation durch das Bestimmungselement 136 als
die Informationen der angesammelten Ergebnisse 131 in dem
Geräteinformationsspeicherelement 124 im
Schritt S110 in dem Datentransferstartprozess der 24 oder im Schritt S130 in dem Nutzerschnittstellenanzeigeprozess
der 25 angesammelt. In dem obigen
Beispiel wird der Drucker 240 als das entsprechende Gerät mit dem
Scanner 340 als das gepaarte Gerät korreliert, und die anschließende Verarbeitung
wird wie oben beschrieben durchgeführt. Jedes Mal, wenn ein anderes
Gerät mit
dem Drucker 240 als das entsprechende Gerät korreliert
wird, wird die obige Verarbeitung durchgeführt, um das Ergebnis der Bestimmung und
das Ergebnis der Identifikation als die Informationen der angesammelten
Ergebnisse 131 anzusammeln. Die Informationen der angesammelten
Ergebnisse 131 enthalten dementsprechend die Namen sämtlicher
Geräte,
die mit dem Drucker 240 als das entsprechende Gerät in der
Vergangenheit korreliert wurden, die Ergebnisse der Bestimmung,
ob die jeweiligen Kombinationen der Geräte mit dem Drucker 240 als
zusammengesetzte Geräte
betreibbar sind, und die Typen der betreibbaren zusammengesetzten Geräte.
-
Die
Verwendung der Informationen der angesammelten Ergebnisse 131 ermöglicht den
folgenden Betrieb. Die Informationsteile, die ein bestimmtes Gerät betreffen,
das mit dem Drucker 240 als das entsprechende Gerät korreliert
wurde, werden in den Informationen der angesammelten Ergebnisse 131 gespeichert.
In dem Datentransferstartprozess der 24 oder
in dem Nutzerschnittstellenanzeigeprozess der 25 greift das Entscheidungselement 122 auf
Informationen der angesammelten Ergebnis se 131 zu, um die
Informationsteile, die das gepaarte Gerät betreffen, zu holen, zu dem
Zeitpunkt, zu dem der Name des zu korrelierenden gepaarten Geräts von dem
Korrelationselement 134 übertragen wird. In dem Fall,
in dem die Informationssteile, die das gepaarte Gerät betreffen,
in den Informationen der angesammelten Ergebnisse 131 enthalten
sind, liest das Entscheidungselement 122 die Informationsteile, die
das gepaarte Gerät
betreffen, aus. Wenn zuvor bestimmt wurde, dass die Kombination
mit dem bestimmten gepaarten Gerät
als das zusammengesetzte Gerät
entsprechend den Informationsteilen betreibbar ist, springt das
Programm zum Schritt S112 in dem Datentransferstartprozess oder
zum Schritt S132 in dem Nutzerschnittstellenanzeigeprozess. Die
anschließende
Verarbeitung basiert auf diesen Informationsteilen. Wenn zuvor bestimmt
wurde, dass die Kombination mit dem bestimmten gepaarten Gerät als das
zusammengesetzte Gerät
nicht betreibbar ist, springt das Programm andererseits zum Schritt
S116 im Datentransferstartprozess oder zum Schritt S136 im Nutzerschnittstellenanzeigeprozess.
-
Diese
Anordnung lässt
die Prozesse der Bezugnahme, der Bestimmung und Identifikation (die Verarbeitung
der Schritte S104 bis S110 oder die Verarbeitung der Schritte S124
bis S130) weg, wodurch die Verarbeitungszeit vorteilhaft verkürzt wird.
-
In
dem Fall, in dem die Informationen der angesammelten Ergebnisse 131 Korrelationshäufigkeitsinformationen
enthalten, die die Häufigkeit
der Korrelation eines bestimmten gepaarten Geräts mit dem Drucker 240 darstellen,
greift, nachdem die Folge der Verarbeitung in dem Datentransferstartprozess
oder in dem Nutzerschnittstellenanzeigeprozess beendet ist, das
Entscheidungselement 122 auf die Informationen der angesammelten
Ergebnisse 131 erneut zu und erneuert die Korrelationshäufigkeitsinfor mationen,
die das bestimmte gepaarte Gerät
betreffen. Eine konkrete Prozedur erhöht die Häufigkeit der Korrelation um
eins in Bezug auf das bestimmte gepaarte Gerät.
-
Die
Nutzung der Informationen der angesammelten Ergebnisse 131 ermöglicht ebenfalls
den folgenden Betrieb. 30 zeigt
ein Pop-up-Menü, das
in der Nähe
des Drucker-Piktogramms 420 in dem Fenster auf dem Monitor 170 unter
Verwendung der Informationen der angesammelten Ergebnisse 131 der 21 angezeigt wird. Wie es in 30 gezeigt ist, bezieht sich, während das
Drucker-Piktogramm 420 in
dem Fenster 400 auf dem Monitor 170 angezeigt
wird, wenn der Nutzer die Maus 84 betätigt, um das Drucker-Piktogramm 420 mit
dem Mauszeiger 430, der in dem Fenster 400 angezeigt
wird, auszuwählen,
und auf die rechte Taste der Maus 84 klickt, das Datenausgabeelement 132 auf
die Informationen der angesammelten Ergebnisse 131 und bewirkt
die Anzeige eines Pop-up-Menüs 470 in
der Nähe
des Drucker-Piktogramms 420. Das Pop-up-Menü 470 enthält die Namen
der Geräte,
die mit dem Drucker 240 als das entsprechende Gerät in der
Vergangenheit korreliert wurden, und bestimmt, dass deren jeweilige
Kombinationen mit dem Drucker 240 als zusammengesetzte
Geräte
betreibbar sind. Die Namen der Geräte, die in dem Pop-up-Menü 470 angezeigt
werden, sind in absteigender Reihenfolge der Häufigkeit der Korrelation mit
dem Drucker 240 auf der Grundlage der Korrelationshäufigkeitsinformationen,
die in den Informationen der angesammelten Ergebnisse 131 gespeichert
sind, angeordnet.
-
Wenn
der Nutzer ein mit dem Drucker 240 als das entsprechende
Gerät zu
korrelierendes gewünschtes
Gerät unter
den angezeigten Geräteoptionen
mit dem Mauszeiger 430 auswählt, korreliert das Korrelationselement 134 den
Drucker 240 als das entsprechende Gerät mit dem ausgewählten gepaarten
Gerät.
-
Die
Anzeige des Pop-up-Menüs
ermöglicht es
dem Nutzer, die möglichen
Geräteoptionen,
die als mit dem Drucker 240 (entsprechendes Gerät) als zusammengesetzte
Geräte
betreibbar bestimmt wurden, zu begreifen bzw. zu erfassen und ebenfalls
die Häufigkeit
der Korrelation der jeweiligen Geräteoptionen mit dem Drucker 240 zu
erhalten. Da die Geräte, die
die höheren
Häufigkeiten
der Korrelation mit dem Drucker 240 aufweisen, an den oberen
Positionen angeordnet sind, kann der Nutzer unmittelbar das Gerät auswählen, das
mit dem Drucker 240 am häufigsten korreliert wurde.
-
31 zeigt mögliche
Kombinationen des Quellengeräts
und des Zielgeräts,
die in einem Fenster auf dem Monitor 170 unter Verwendung
der Informationen der angesammelten Ergebnisse 131 der 21 angezeigt werden. Wenn der Nutzer durch den
Betrieb der Maus 84 den Computer 100 anweist, mögliche Kombinationen
des Quellengeräts
und des Zielgeräts
anzuzeigen, bezieht sich eine bestimmte Schnittstelleneinheit auf
die Informationen der angesammelten Ergebnisse, die darin gespeichert
sind, und die Informationen der angesammelten Ergebnisse, die in
einer anderen Schnittstelleneinheit gespeichert sind, und holt die
Kombinationen der Geräte, die
in der Vergangenheit mittels des Computers 100 miteinander
korreliert und als zusammengesetzte Geräte betreibbar bestimmt wurden.
Ein Kombinationsanzeigefenster 480 wird in dem Fenster 400 auf dem
Monitor 170 geöffnet,
um die Ergebnisse des Holens anzuzeigen, wie es in 31 gezeigt ist.
-
Das
Kombinationsanzeigefenster 480 zeigt die Namen des Quellengeräts und des
Zielgeräts
in Bezug auf jede Kombination der Geräte, die in der Vergangenheit
mittels des Computers 100 miteinander korreliert wurden
und als zusammengesetztes Gerät
betreibbar bestimmt wurden, zu sammen mit dem letzten Datum und dem
Zeitpunkt der Korrelation an.
-
Der
Nutzer kann somit auf einfache Weise erfassen, welche Kombinationen
von Geräten
mittels des Computers 100 korreliert wurden und als zusammengesetztes
Gerät betreibbar
bestimmt wurden.
-
32 zeigt ein Pop-up-Menü, das in der Nähe des Kopiermaschinen-Piktogramms 440 in dem
Fenster auf dem Monitor 170 unter Verwendung der Informationen
der angesammelten Ergebnisse 131 der 21 angezeigt wird. Wie es in 32 gezeigt ist, bezieht sich, während das
Kopiermaschinen-Piktogramm 440, das visuell die Kopiermaschine als
das zusammengesetzte Gerät
darstellt, in dem Fenster 400 auf dem Monitor 170 angezeigt
wird, wenn der Nutzer die Maus 84 betätigt, um das Kopiermaschinen-Piktogramm 440 mit
dem Mauszeiger 430, der in dem Fenster 400 angezeigt
wird, auszuwählen
und die rechte Taste der Maus 84 klickt, das Datenausgabeelement 132 auf
die Informationen der angesammelten Ergebnisse 131 und
bewirkt die Anzeige eines Pop-up-Menüs 440 in der Nähe des Kopiermaschinen-Piktogramms 440.
Das Pop-up-Menü 490 zeigt
die Namen der Geräte,
die das zusammengesetzte Gerät
bilden (d.h. die Kopiermaschine), das durch das Kopiermaschinen-Piktogramm 440 dargestellt
wird. In einem konkreten Beispiel werden der Name des Scanners 340 (z.B.
Scanner C) als das Quellengerät
und der Name des Druckers 240 (z.B. Drucker A) als das
Zielgerät
in dem Pop-up-Menü 490 als
die Geräte,
die das zusammengesetzte Gerät bilden,
angezeigt.
-
Während ein
Piktogramm, das ein bestimmtes zusammengesetztes Gerät darstellt,
angezeigt wird, informiert die Anzeige des Pop-up-Menüs 490 sogar
dann, wenn der Nutzer vergisst, welche Kombination der Geräte das bestimmte
zu sammengesetzte Gerät
bildet, sogleich über
die Kombination der Geräte.
-
In
der oben erläuterten
Ausführungsform wird
der Datentransferstartprozess der 24 oder der
Nutzerschnittstellenanzeigeprozess der 25 durch
Ziehen des Scanner-Piktogramms 410, das dem Scanner 340 als
das Quellengerät
entspricht, auf das Drucker-Piktogramm 420, das dem Drucker 240 als
das Zielgerät
entspricht, durch Betätigung
der Maus 84 durchgeführt,
wie es in 23 gezeigt ist. Entsprechend
einer möglichen
Modifikation kann der Datentransferstartprozess oder der Nutzerschnittstellenanzeigeprozess
in dem folgenden Fall ebenso wie in dem Fall implementiert sein,
in dem das Piktogramm, das dem Quellengerät entspricht, auf das Piktogramm,
das dem Zielgerät
entspricht, gezogen werden.
-
Es
wird hier angenommen, dass anstelle des Scanners 340 eine
Digitalkamera als das Quellengerät
verwendet wird und dass ein Digitalkamera-Piktogramm, das dem Quellengerät entspricht,
und das Drucker-Piktogramm 420, das dem Zielgerät entspricht,
in dem Fenster 400 auf dem Monitor 170 angezeigt
werden. Wenn der Nutzer die Maus 84 betätigt, um den Mauszeiger 430 auf
das Digitalkamera-Piktogramm
zu legen, und einen Doppelklick auf die Maustaste 84 durchführt, wird
ein Fenster 460 geöffnet,
wie es in 33 gezeigt ist, um Bildpiktogramme,
die jeweiligen Bilddateien entsprechen, die in der Digitalkamera
aufgenommen werden, anzuzeigen. Wenn der Nutzer eine gewünschte Bilddatei,
die mit dem Drucker 240 zu drucken ist, unter mehreren
Bilddateien, die in der Digitalkamera aufgenommen wurden, auswählt und
ein Bildpiktogramm 450, das der ausgewählten Bilddatei entspricht,
auf das Drucker-Piktogramm 420 zieht, wird der Datentransferstartprozess
der 24 oder der Nutzerschnittstellenanzeigeprozess
der 25 implementiert.
-
Im
Schritt S102 des Flussdiagramms der 24 oder
im Schritt S122 im Flussdiagramm der 25 analysiert
das Korrelationselement 134, das in der Schnittstelleneinheit 120 enthalten
ist, die Betätigung
der Maus 84, die von der Anwendungseinheit 110 übertragen
wird. Die Analyse zeigt, dass die Gerätekamera das Quellengerät ist, das
die interessierende Bilddatei aufgenommen hat, und dadurch das gepaarte
Gerät ist,
das mit dem Drucker 240 zu korrelieren ist, der das Gerät ist, das
der Schnittstelleneinheit 120 entspricht. Das Korrelationselement 134 korreliert
dementsprechend den Drucker 240 mit der Digitalkamera.
-
Auf
diese Weise kann der Datentransferstartprozess oder der Nutzerschnittstellenanzeigeprozess
durch Ziehen des Piktogramms, das einer speziellen Teilinformation,
die in das Quellengerät
eingegeben wird, entspricht, auf das Piktogramm, das dem Zielgerät entspricht,
durchgeführt
werden.
-
In
der obigen Beschreibung wird das Piktogramm, das dem Quellengerät entspricht
(oder dem Piktogramm, das einer bestimmten Teilinformation, die
in das Quellengerät
eingegeben wird, entspricht) auf das Piktogramm, das dem Zielgerät entspricht, gezogen.
Der Datentransferstartprozess oder der Nutzerschnittstellenanzeigeprozess
kann jedoch alternativ durch Ziehen des Piktogramms, das dem Zielgerät entspricht,
auf das Piktogramm, das dem Quellengerät entspricht (oder dem Piktogramm,
das einer bestimmten Teilinformation, die in das Quellengerät eingegeben
wird, entspricht) durchgeführt
werden.
-
Anstelle
des Ziehens des Piktogramms wählt eine
andere mögliche
Prozedur sowohl das Piktogramm, das dem Quellengerät entspricht
(oder dem Piktogramm, das einer be stimmten Teilinformation, die
in das Quellengerät
eingegeben wird, entspricht), und das Piktogramm, das dem Zielgerät entspricht, durch
die Mausbetätigung
aus und wählt
anschließend
einen Ausführungsbefehl
des Datentransferstartprozesses oder des Nutzerschnittstellenanzeigeprozesses
unter den Optionen, die in einem angezeigten Pop-up-Menü enthalten
sind, aus, um den ausgewählten
Prozess zu implementieren.
-
In
der Konfiguration der 21 gibt der Nutzer eine Vielzahl
von Anweisungen durch Betätigen der
Maus 84, die mit dem Computer 100 verbunden ist,
an die Anwendungseinheit 110 in dem Computer 100.
Das Prinzip der vorliegenden Erfindung ist jedoch nicht auf diese
Konfiguration beschränkt.
Es kann z.B. eine Vielzahl von Anweisungen an die Anwendungseinheit 110 in
dem Computer 100 über
ein Netzwerk mit einem Informationsterminal wie z.B. einem PDA (Personal
Digital Assistant)-Modul, einem Mobiltelefon oder einem Mobilcomputer
gegeben werden.
-
34 ist ein Blockdiagramm, das eine Konfiguration
in dem Fall zeigt, in dem eine Anweisung an die Anwendungseinheit 110 des
Computers 100 unter Verwendung eines Informationsterminals 500 gegeben
wird. Die Bestandteile in der Struktur der 34,
die identisch zu denen in der Struktur der 21 sind,
werden mit denselben Bezugszeichen bezeichnet.
-
In 34 ist der Computer 100 mit dem Informationsterminal 500 über ein
Netzwerk (nicht gezeigt) ebenso wie mit den Computern 200 und 300 verbunden.
Der Computer 100 enthält
eine öffentliche
Informationseinheit 195, zusätzlich zur Anwendungseinheit 110,
den Schnittstelleneinheiten 120 und 140 und den
Proxies 180 und 190. Das Informationsterminal 500 enthält eine
Fernanwendungseinheit 510, eine Betriebseinheit 520 und
eine Anzeigeeinheit 530.
-
Die öffentliche
Informationseinheit 195 in dem Computer 100 ist
z.B. durch eine Web-Server-Software aufgebaut, wohingegen die Fernanwendungseinheit 510 in
dem Informationsterminal 500 z.B. durch eine Web-Browser-Software aufgebaut
ist.
-
Die öffentliche
Informationseinheit 195 öffnet die Informationen, die
die Anwendungseinheit 110 besitzt, dem Netzwerk durch das
Web. Wenn der Nutzer des Informationsterminals 500 die
Betriebseinheit 520 betreibt und eine URL (Uniform Resource Locator)
des Computers 100, beispielsweise "http://123.45.67.89/resource" eingibt, greift
die Fernanwendungseinheit 510 auf den Computer 100 auf der
Grundlage der eingegebenen URL zu, erhält Informationen, die dem Netzwerk
durch die öffentliche Informationseinheit 195 geöffnet sind,
und bewirkt eine Anzeige der erhaltenen Informationen auf der Anzeigeeinheit 530.
Dem Fachmann ist bekannt, dass HTTP, das das Web-Standardprotokoll ist, zur Übertragung
von Informationen zwischen dem Computer 100, der ein Web-Server
ist, und dem Informationsterminal 500, das ein Web-Client
ist, angewendet wird.
-
35 zeigt das Erscheinungsbild des Informationsterminals 500 der 34 und ein beispielhaftes Fenster, das in der
Anzeigeeinheit 530 des Informationsterminals 500 angezeigt
wird. Die Informationen, die dem Netzwerk durch die öffentliche
Informationseinheit 195 des Computers 100 geöffnet werden,
werden in der Form einer Homepage in der Anzeigeeinheit 530 des
Informationsterminals 500 angezeigt, wie es in 35 gezeigt ist.
-
In
dem Beispiel der 35 betreibt der Nutzer des
Informationsterminals 500 die Betriebseinheit 520,
wählt eine
der Optionen, die in einem ersten Anzeigebereich 532 angezeigt
werden, d.h. "Quellengerät" und "Zielgerät" aus und drückt einen
Suchknopf 534. Die möglichen
Kandidaten für
das ausgewählte Gerät werden
dann in einem zweiten Anzeigebereich 536 angezeigt.
-
In
dem Fall, in dem der Nutzer des Informationsterminals 500 die
Betriebseinheit 520 betreibt und jeweils "Scanner 1" und "Drucker 1" als das gewünschte Quellengerät und das
gewünschte
Zielgerät
unter den angezeigten Optionen auswählt, wird das Ergebnis der
Auswahl in dem zweiten Anzeigebereich 536, wie es in 35 gezeigt ist, angezeigt. Wenn der Nutzer außerdem einen
Ausführungsknopf "Los" 538 drückt, gibt
die Fernanwendungseinheit 510 eine Anweisung zum Starten
des Datentransfers von dem Scanner 1 zum Drucker 1 an die Anwendungseinheit 110 über das
Netzwerk und die öffentliche
Informationseinheit 195. Die Anwendungseinheit 110 transferiert
außerdem
die Anweisung an die Schnittstelleneinheit 120, die dementsprechend
den Datentransferstartprozess der 24 startet.
-
Diese
Konfiguration ermöglicht
es, dass Anweisungen von dem Informationsterminal an die Anwendungseinheit über das
Netzwerk gegeben werden, wodurch es möglich wird, dass das Informationsterminal
mit geringen Ressourcen eine Vielzahl von Geräten auf dem Netzwerk steuern
kann.
-
In
der Konfiguration der 21 werden Informationen der
Geräte
wie dem Drucker 240 und dem Scanner 340, d.h.
die Informationsteile 125 und 145, die die entsprechenden
Geräteklassen
betreffen, die Informationsteile 126 und 146,
die die verfügbaren Geräteklassen
für einen
Verbundbetrieb betreffen, die Informationsteile 127 und 147,
die die Kategorien der zusammengesetzten Geräte betreffen, und die Informationsteile
der angesammelten Ergebnisse 131 und 149 in den
Geräteinformationsspeicherelementen 124 und 144,
die in den Schnittstelleneinheiten 120 und 140 enthalten
sind, gespeichert. Die Informationsteile der Geräte wie dem Drucker 240 und dem
Scanner 340 werden ebenfalls in den Gerätesteuerungen 220 und 320,
die den jeweiligen Geräten 240 und 340 entsprechen,
gespeichert. Es ist jedoch notwendig, die Informationsteile der
angesammelten Ergebnisse 131 und 149 als unabhängige Operationen
zu speichern. Eine andere mögliche Konfiguration
beinhaltet dementsprechend nicht die Informationen der Geräte wie dem
Drucker 240 und dem Scanner 340 in den Schnittstelleneinheiten 120 und 140,
sondern greift auf die Gerätesteuerungen 220 und 320 über das
Netzwerk entsprechend den Anforderungen zu, um die Informationen,
die die Geräte
wie den Drucker 240 und den Scanner 340 betreffen,
zu erhalten. Eine andere mögliche
Konfiguration speichert die Informationen, die die Geräte wie den
Drucker 240 und den Scanner 340 betreffen, in einem
separaten Computer, beispielsweise einem Server, auf einem anderen
Netzwerk als die Computer 100 bis 300, und greift
auf den separaten Computer über
das Netzwerk zu, um die Informationen entsprechend den Anforderungen
bzw. Bedürfnissen
zu erhalten.
-
In
der Konfiguration der 21 werden die Daten der Nutzerschnittstellen
und die Daten der Piktogramme in der UI-Datenspeichereinheit 150 und der
Piktogramm-Datenspeichereinheit 160 gespeichert,
die von der Schnittstelleneinheit 120 getrennt sind, und
von den entsprechenden Speichereinheiten herunter geladen, um in
dem Fenster auf dem Monitor 170 angezeigt zu werden. Das
Prinzip der vorliegenden Erfindung ist jedoch nicht auf diese Konfiguration
beschränkt.
Die Daten der Nutzerschnittstellen und die Daten der Piktogramme
können
z.B. in der Schnittstelleneinheit 120 enthalten sein, die
als COM-Objekt aufgebaut ist. Alternativ können die Daten der Nutzerschnittstellen
und die Daten der Piktogramme in dem Computer 200 oder 300 oder
einem getrennten Computer, beispielsweise einem Server, auf dem
anderen Netzwerk als die Computer 100 bis 300 gespeichert
werden.
-
Das
Gerätesteuersystem
der 21 weist den Verbindungszustand
der 2C auf. D.h., die Geräte wie der Drucker 240 und
der Scanner 340 sind mit den Computern 200 und 300 verbunden,
die von dem Computer 100 getrennt sind, der die Anwendungseinheit 110 und
die Schnittstelleneinheiten 120 und 140 enthält. In einem
anderen Verbindungszustand, der in 2B gezeigt
ist, kann eines der Geräte
wie der Drucker 240 und der Scanner 340 mit dem
Computer 100, der die Anwendungseinheit 110 enthält, verbunden
sein, wohingegen das andere Gerät
mit einem separaten Computer, beispielsweise dem Computer 200 verbunden
ist. Im letzteren Zustand werden die Bestandteile des separaten
Computers, beispielsweise des Computers 300, d.h. der Stub,
die Gerätesteuerung
und der Gerätetreiber ebenfalls
in dem Computer 100 erzeugt, der die Anwendungseinheit 110 enthält. In der
Konfiguration der 21 sind die Geräte wie der
Drucker 240 und der Scanner 340 extern mit den
Computern 200 und 300 verbunden. Wie es in den 3A bis 3C gezeigt
ist, können
das Gerät
und der Computer zusammen integriert sein.
-
Die
vorliegende Erfindung ist nicht auf die obige Ausführungsform
oder deren Modifikationen beschränkt,
sondern kann beliebige andere Modifikationen, Änderungen und Alternativen
beinhalten, ohne von dem Bereich oder dem Geist der Hauptkennzeichen
der vorliegenden Erfindung abzuweichen.
-
In
der oben beschriebenen Ausführungsform bezieht
sich die Verarbeitungsroutine auf Informationsteile in Bezug auf
die Typen der Geräte,
die in den Attributinformationen der interessierenden Geräte enthalten
sind, bei spielsweise die Informationsteile 125 und 145,
die die entsprechenden Geräteklassen betreffen,
und die Informationsteile 126 und 146, die die
verfügbaren
Geräteklassen
für einen
Verbundbetrieb betreffen, wie es in 21 gezeigt
ist, und bestimmt, ob die Kombination der interessierenden Geräte als ein
zusammengesetztes Gerät
betreibbar ist (siehe Schritt S108 im Flussdiagramm der 24 oder Schritt S128 im Flussdiagramm der 25). Wie zuvor erwähnt enthalten die Attributinformationen,
auf die von den Schnittstelleneinheiten 22a und 22b Bezug
genommen wird, verschiedene andere Informationsteile als den Typ
des Geräts,
beispielsweise ein Informationsteil zum Bestimmen entweder eines
Quellengeräts
oder eines Zielgeräts,
ein Informationsteil zum Bestimmen entweder eines Push-Typs oder
eines Pull-Typs (d.h. entweder der Quellenseite oder der Zielseite,
die hauptsächlich
für den
Datentransfer verantwortlich ist), die verarbeitbaren Datenformate,
den Zustand des Geräts
(z.B. betreibbar oder nicht), die Leistungsfähigkeit des Geräts (z.B. die
Verarbeitungsgeschwindigkeit), den Ort des Geräts (z.B. die Abteilung und
das Stockwerk), die Verarbeitungskosten des Geräts (z.B. die Kommunikationskosten
und die Druckkosten) und das Vorhandensein oder die Abwesenheit
einer Unterstützung für ein spezielles
Datentransferverfahren.
-
Gemäß einer
modifizierten Anwendung kann die Prozedur nach der Bestimmung, ob
die Kombination der interessierenden Geräte als das zusammengesetzte
Gerät betreibbar
ist, umfassend den Grad der Effektivität in Bezug auf die Kombination
der interessierenden Geräte,
die als das zusammengesetzte Gerät
betreibbar bestimmt wurde, auf der Grundlage der Attributinformationen
schätzen
und einen Auswertungswert erhalten, der den Grad der Effektivität darstellt.
Die Prozedur kann beispielsweise vorher gewichtete Punkte den jeweiligen
Attributinformationsteilen zuweisen und die Gesamtpunkte in Bezug auf
die Kombinati on der interessierenden Geräte berechnen, um den Auswertungswert
zu erhalten.
-
Der
Auswertungswert kann in der Nähe
des Piktogramms, das das interessierende Gerät darstellt, in dem Fenster 400 auf
dem Monitor 170 angezeigt werden.
-
In
dem Fall, in dem mehrere gepaarte Geräte für ein bestimmtes entsprechendes
Gerät ausgewählt werden,
um mehrere Kombinationen von interessierenden Geräten zu erstellen,
kann die Prozedur Auswertungswerte in Bezug auf die jeweiligen Kombinationen
erhalten und eine Liste der gepaarten Geräte in absteigender Reihenfolge
des Auswertungswerts auflisten.
-
36 ist ein Flussdiagramm, das eine andere Nutzerschnittstellenanzeigeroutine
zeigt, die von der Schnittstelleneinheit 120 der 21 ausgeführt
wird.
-
Wenn
in 36 das Entscheidungselement 122 im Schritt
S148 bestimmt, dass die Kombination der interessierenden Geräte als das
zusammengesetzte Gerät
betreibbar ist, identifiziert das Bestimmungselement 136 den
Typ des zusammengesetzten Geräts
im Schritt S150 und bezieht sich anschließend auf die Attributinformationen,
die in dem Geräteinformationsspeicherelement 122 oder 144 gespeichert
sind, um den Auswertungswert, der den Grad der Effektivität in Bezug
auf die Kombination der interessierenden Geräte darstellt, in Schritt S152 zu
berechnen. Das Datenausgabeelement 132 erstellt dann im
Schritt S154 die Anzeige wie oben beschrieben in dem Fenster 400 auf
den Monitor 170 auf der Grundlage des berechneten Auswertungswerts.
-
In
der obigen Ausführungsform
sind entweder zwei oder drei Geräte
die zu steuernden Objekte. Das Prinzip der Erfindung ist jedoch
nicht auf derartige Aufbauten beschränkt, sondern es können ebenfalls
vier oder mehr Geräte
als zu steuernde Objekte eingestellt sein.
-
Der
Bereich der vorliegenden Erfindung wird nur durch die zugehörigen Ansprüche begrenzt.