-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Korrelieren
oder Übereinstimmen der
Eigenschaften, die durch eine Vorrichtung unterstützt werden,
mit den Eigenschaften, die durch andere Vorrichtungen angefordert
werden können,
die mit dieser Vorrichtung durch eine oder mehrere Versionen eines
Protokolls zum Kommunizieren zwischen den Vorrichtungen kommunizieren.
-
Eine
zeitgemäße Eigenschaft
von üblichen Computer-
und Kommunikationssystemen besteht darin, daß die Systeme eine Mehrzahl
von zusammenwirkend funktionierenden, jedoch getrennten Einheiten
oder Vorrichtungen aufweisen, wobei jede derselben spezifische Aufgaben
oder einen Bereich von verallgemeinerten Aufgaben durchführen kann. Die
Vorrichtungen sind entweder direkt oder durch ein Netz verbunden
und tauschen Anforderungen nach Operationen mittels eines gemeinsamen
Protokolls oder Kommunikationssprachen aus, wobei jedes Protokoll
oder jede Sprache derselben für
die Zwischenvorrichtungskommunikation bezüglich der Aufgaben oder des
Bereichs der Aufgaben, die durch die Vorrichtungen durchgeführt werden,
entworfen ist. Ein gegebenes Protokoll wird die Anweisungen, Antworten
und Informationsformate umfassen, die notwendig sind, um die Anforderungen
von einer anfordernden Vorrichtung, wie z. B. einer Prozessoreinheit,
für die
Ausführung
von Funktionen oder Operationen durch eine antwortende Vorrichtung,
mit der dieselbe kommuniziert, wie z. B. einen Drucker, zu unterstützen. Auf
die Funktionen und Operationen, die durch eine antwortende Vorrichtung
durchgeführt oder
unterstützt
werden, wird allgemein als die „Eigenschaften" bzw. „Charakteristika" der antwortenden
Vorrichtungen Bezug genommen. Auf eine anfor dernde bzw. anfragende
Vorrichtung wird dementsprechend als eine „Eigenschaft" unterstützend Bezug
genommen, wenn dieselbe eine Anforderung dieser Eigenschaft zu einer
antwortenden Vorrichtung ausgeben kann, und auf ein Protokoll wird
als eine „Eigenschaft" unterstützend Bezug
genommen, wenn dasselbe die Anweisungen, Antworten und Informationsformate
umfaßt,
die notwendig sind, um eine Anforderung dieser „Eigenschaft" von der anfordernden
Vorrichtung zu der antwortenden Vorrichtung und die entsprechenden
Antworten von der antwortenden Vorrichtung zu der anfordernden Vorrichtung
zu kommunizieren.
-
Es
ist allgemein offensichtlich und anerkannt, daß die Verwendung von solchen
Protokollen ein wesentlicher Vorteil für die Benutzer und Hersteller
von solchen Systemen und der Vorrichtungen, die in solchen Systemen
verwendet werden, ist, und die Verwendung von solchen Protokollen
ist zu einer üblichen
Praxis geworden, wobei viele solcher Protokolle Industriestandards
werden. Ein Personalcomputersystem weist beispielsweise typischerweise
eine Zentralverarbeitungseinheit mit einem zugeordneten Monitor
und einer Tastatur und mit einer oder mehreren Peripherievorrichtungen,
wie z. B. Druckern, Scannern bzw. Abtastvorrichtungen und Modems auf.
Die Zentralverarbeitungseinheit kommuniziert mit den Peripherievorrichtungen,
um Operationen oder Eigenschaften anzufordern, die für jede der
Peripherievorrichtungen spezifisch sind, und führt dies bei jedem Fall unter
Verwendung eines Protokolls durch, daß für den Typ oder den Bereich
der Eigenschaften, die durch jede Vorrichtung unterstützt werden,
geeignet ist. Die Verwendung von gemeinsamen Protokollen durch Zentralverarbeitungseinheiten
und Peripherievorrichtungen von verschiedenen Quellen oder Herstellern
ist ein wesentlicher Vorteil für
sowohl die Benutzer von Personalcomputern als auch die Hersteller
von Personalcomputern und Peripherievorrichtungen, um die freie
Kombination von Zentralverarbeitungseinheiten und Peripherievorrichtungen
von verschiedenen Quellen und in unterschiedlichen Systemkonfigurationen
zu ermöglichen.
-
Bei
einem weiteren Beispiel werden solche Protokolle ebenfalls gemeinsam
in größeren Systemen
verwendet, die eine oder mehrere anfordernde Vorrichtungen, wie
z. B. Personalcomputer, Workstations bzw. Arbeitsstationen oder
gemeinsam verwendete Verarbeitungseinheiten, und eine Anzahl von antwortenden
Vorrichtungen, wie z. B. gemeinsam verwendete Drucker, Dateiserver
und Kommunikationsserver, die durch ein Netz verbunden sind und eine
Anzahl von Benutzern bedienen, aufweisen. In solchen größeren Systemen
sind die gemeinsam verwendeten Vorrichtungen typischerweise komplexer
als beispielsweise ein Personalcomputersystem und unterstützen typischerweise
einen breiten Bereich von Eigenschaften, so daß die Protokolle entsprechend
umfassender und komplexer sind. Die Verwendung von solchen Protokollen
hat jedoch Vorteile ähnlich
zu denselben, die bei Personalcomputersystemen auftreten, beim Ermöglichen
der freien Kombination von Vorrichtungen aus unterschiedlichen Quellen
und von unterschiedlichen Typen in einem breiten Bereich von Systemkonfigurationen
geliefert.
-
Um
die Verwendung von solchen Protokollen weiter darzustellen, umfaßt ein Personalcomputersystem
allgemein einen oder mehrere Drucker, um gedruckte Kopien von elektronischen
Dokumenten von verschiedenen Typen zu erzeugen, und der Personalcomputer
wird mit den Druckern durch ein Druckerprotokoll kommunizieren,
das typischerweise gemeinsam durch einen Bereich von Druckern von
unterschiedlichen Herstellern und mit unterschiedlichen Eigenschaften
verwendet wird. Bei größeren Systemen,
wie z. B. bei einem System, das eine Unternehmensabteilung oder
Einrichtung bedient, sind die Druckeinrichtungen durch eine Vorrichtung
des Typs vorgesehen, auf den als „Papierhandhabungssteuerung" Bezug genommen wird,
und andere Vorrichtungen in dem System, wie z. B. Server, Prozessoren, Workstations
und Personalcomputer, werden mit der „Papierhandhabungssteuerung" durch ein „Papierhandhabungsprotokoll" kommunizieren. In
dieser Hinsicht kann eine Papierhandhabungssteuerung beispielsweise
ein Drucker, eine Multifunktionsvorrichtung, wie z. B. ein Hewlett-Packard-Mopier,
sein, die die Funktionen eines Netzdruckers, eines Kopierers und
eines Scanners bzw. einer Abtastvorrichtung, einer Druckersteuerung,
die von einem Netz verbunden ist und die eine Zahl von einzelnen
Druckern steuert, um einen Druckerkomplex oder einen Druckerknoten
zu bilden, oder eines Faksimilegeräts durchführen. Es ist daher offensichtlich,
daß die
Vorrichtungen und Protokolle, die in einem großen System erscheinen, analog
zu denselben sind, die in einem kleineren System erscheinen, wobei
der Ausdruck „Papierhandhabungssteuerung" im Gegensatz zu „Drucker" den breiteren Bereich
von Eigenschaften bezeichnet, der in den Vorrichtungen eines großen Systems
erscheinen kann, und der Ausdruck „Papierhandhabungsprotokoll" die Ausdehnung oder die
Erweiterung des Protokolls oder der Protokolle, um den breiteren
Bereich von Eigenschaften aufzunehmen, und die notwendigen Anpassungen
für die Kommunikation
in einer vernetzten Umgebung in einem großen System bezeichnet. In einem
großen System
oder in einem komplexeren kleineren System kann beispielsweise eine
Papierhandhabungssteuerung eine Druckersteuerung sein, die einen
Zugriff auf einen Komplex von Druckern oder andere Vorrichtungen
besitzt oder steuert, der einen breiten Bereich von Eigenschaften
liefern kann. Die Vorrichtungen des Systems, wie z. B. die Prozessoren,
Workstations oder Personalcomputer, werden mit der Papierhandhabungssteuerung
durch ein Papierhandhabungsprotokoll kommunizieren, das den Bereich
von Eigenschaften unterstützt,
der durch die Vorrichtungen unterstützt wird, die für die Papierhandhabungsvorrichtung
verfügbar
sind, und das an eine vernetzte Umgebung angepaßt ist. Die Papierhandhabungssteuerung
wird ihrerseits mit den einzelnen Druckern oder anderen Vorrichtungen
unter Verwendung des gleichen einen oder ähnlichen Papierhandhabungsprotokolls
oder der gleichen oder ähnlichen
Papierhandhabungsprotokolle abhängig
von den Druckern oder anderen Typen von Papierhandhabungsvorrichtungen,
die mit der Papierhandhabungssteuerung verbunden sind oder für die Papierhandhabungssteuerung
zugänglich
sind, kommunizieren.
-
Die
Verwendung von solchen Protokollen führt jedoch zu bestimmten Problemen
bei den bekannten Systemen und den bekannten Protokollen. Wie beschrieben,
wird ein gegebenes Protokoll oder eine gegebene Version eines Protokolls
einen gegebenen Satz von Eigenschaften unterstützen, die durch eine erste
Vorrichtung, wie z. B. eine Prozessoreinheit, angefordert werden
können,
und die durch eine zweite Vorrichtung, mit der dieselbe kommuniziert,
wie z. B. eine Papierhandhabungssteuerung, unterstützt werden.
Es ist jedoch bekannt und beabsichtigt, daß die Eigenschaften, die durch
die Vorrichtungen eines Systems, wie z. B. Druckern, unterstützt werden,
sich mit der Zeit ändern,
sowie Vorrichtungen hinzugefügt
oder entfernt oder aktualisiert werden, so daß die vorher unterstützten Eigenschaften
nicht länger
verfügbar
sind oder modifiziert sind, während
neue Eigenschaften verfügbar
werden und unterstützt
werden. Eine Änderung
der durch die Vorrichtung unterstützten Eigenschaften und insbesondere
eine Hinzufügung
von neuen Eigenschaften oder Modifikationen von existierenden Eigenschaften erfordert
seinerseits eine Hinzufügung
von entsprechenden Eigenschaften zu dem Protokoll oder die Modifikation
von existierenden Eigenschaften des Protokolls.
-
Im
Stand der Technik werden Änderungen
an Protokollen durch die Erzeugung und Verteilung von aktualisierten
oder neuen Versionen des Protokolls oder von neuen Protokollen,
wie erforderlich, implementiert. Die bekannten Verfahren führen jedoch
zu zahlreichen Problemen, da die Eigenschaften, die durch ein Protokoll
unterstützt
werden, von der Version des verwendeten Protokolls abhängig sind
und durch dasselbe bestimmt sind. Eine Vorrichtung, die beispielsweise
eine spezielle Version eines Protokolls aufgrund einer Eigenschaft
in dieser Version des Protokolls verwendet, muß allgemein als ein Resultat
alle Eigenschaften dieser Version des Protokolls unterstützen, um
Fehler oder Fehlerbedingungen bei dem Systembetrieb zu vermeiden,
die aus Anforderungen nach Eigenschaften auftreten, die durch das
Portal, jedoch nicht durch die Vorrichtung, unterstützt werden.
Wenn eine Vor richtung zusätzlich Eigenschaften
unterstützt,
die nicht durch die Version eines Protokolls unterstützt werden,
das durch das System oder eine anfordernde Vorrichtung verwendet
wird, können
die Eigenschaften, die durch die Vorrichtung unterstützt werden
und die nicht durch Eigenschaften des Protokolls unterstützt werden, nicht
aufgerufen werden und sind nicht verfügbar. Dieses Problem wird noch
weiter dahingehend verschlimmert, daß es üblich ist, daß eine Vorrichtung Annahmen
hinsichtlich der Anforderungen von Eigenschaften vornimmt, d. h.
Anforderungen von Eigenschaften gemäß der Version des Protokolls
interpretiert, in dem die Anforderung übermittelt wird. Als solches
kann eine Vorrichtung eine Anforderung einer Eigenschaft in einer
Version eines Protokolls übermitteln
und die antwortende Vorrichtung kann diese Anforderung gemäß den Bestimmungen
einer anderen Version des Protokolls interpretieren, was zu einem
Fehler oder nicht erwünschten
Antwort auf die Anforderung führt.
-
Die
Installation bzw. Einrichtung einer neuen Version eines Protokolls
in einem System, um beispielsweise neue oder aktualisierte Eigenschaften aufzunehmen,
wie z. B. die Hinzufügung
einer neuen Vorrichtung, die neue Eigenschaften aufweist, oder das
Aktualisieren einer Vorrichtung mit neuen oder modifizierten Eigenschaften,
kann daher zu Problemen führen,
die aus diesen fehlenden Übereinstimmungen
zwischen den Eigenschaften des Protokolls und den Eigenschaften
der Vorrichtung auftreten. Die Einrichtung von beispielsweise einer
neuen Version eines Protokolls, um neue oder modifizierte Eigenschaften
aufzunehmen oder in Erwartung von neuen oder modifizierten Eigenschaften,
kann dazu führen, daß ältere Eigenschaften
oder ältere
Versionen von Eigenschaften nicht länger unterstützt werden.
Wenn ähnlicherweise
eine neue Vorrichtung zu einem System hinzugefügt wird oder neue oder modifizierte
Eigenschaften zu einer existierenden Vorrichtung hinzugefügt werden,
sind diese Eigenschaften für
das System so lange nicht verfügbar,
bis das Protokoll dementsprechend aktualisiert ist.
-
Es
ist daher offensichtlich, daß das
Verfolgen und Korrelieren der Eigenschaften, die durch die Vorrichtungen
eines Systems unterstützt
werden, und der Eigenschaften der Protokolle, die mit den Vorrichtungen
des Systems kommunizieren, ein wesentliches Problem ist. Es ist
ferner offensichtlich, daß diese
Probleme sehr in Systemen verstärkt
werden, die eine Anzahl von Vorrichtungen verwenden, die ein gemeinsames
Protokoll verwenden, da Unterschiede in den Eigenschaften, die die
Vorrichtungen unterstützen,
abhängig
davon, welche Eigenschaften jede derselben unterstützen soll,
oder abhängig
von dem Alter oder dem Aktualisierungszustand derselben, auftreten
können.
Es ist ferner offensichtlich, daß das Problem des Korrelierens
von Protokollen mit Eigenschaften nicht auf Hardwaretypvorrichtungen,
wie z. B. Drucker, Faksimile-Sende/Empfangs-Vorrichtungen, Netzschnittstellen
und Modems, begrenzt ist, sondern sich auf „Softwarevorrichtungen", d. h. Programme,
mit denen ein Benutzer oder eine andere Vorrichtung, einschließlich eines
weiteren Programms, mittels eines Protokolls kommuniziert, erstreckt.
Beispiele solcher „Softwarevorrichtungen" können die
Programme, die sich in den Internetservern befinden und mit Internetbrowsern
bzw. Internetblättervorrichtungen
oder Elektronik-Mail-Programmen bzw. Elektronikpostprogrammen kommunizieren,
Programme, die sich in einem Systemserver befinden, um unter den
Systembenutzern gemeinsam verwendet zu werden, Eingangs/Ausgangs-Programme
oder Treiber, die durch andere Programme gemeinsam verwendet oder
verwendet werden, usw. umfassen.
-
Die
US-A-4,953,210 beschreibt ein Protokoll zum Austausch von Eigenschaften
zwischen synchronen Modems. Zwei Modems, die für einen synchronen Betrieb
konfiguriert sind, eine Datenübertragungsrate
von mindestens 4.800 Bit pro Sekunde und zumindest eine nicht fest
voreingestellte Eigenschaft aufweisen, können nach dem Beendigen von Standardübergabesignalsequenzen
in Verhandlungen treten, um Eigenschaften auszutauschen. Ein erstes
Modem initiiert die Verhandlungen durch Übersenden einer Liste von unterstützten Eigenschaften,
und das antwortende Modem antwortet durch Bestätigen, dass alle empfangenen
Eigenschaften unterstützt
werden, durch Zurückgeben
eines Teilsatzes der Eigenschaftenliste oder durch Übersenden
einer unterschiedlichen Eigenschaftenliste. Bestätigt das antwortende Modem
die Liste nicht, dann gibt das ursprüngliche Modem eine Antwort
auf den Teilsatz der Eigenschaften oder die unterschiedliche Liste
von Eigenschaften aus, indem seitens des ersten Modems entweder
ein Teilsatz oder eine unterschiedliche Liste von Eigenschaften an
das zweite Modem weitergegeben wird. Werden keine übereinstimmenden
Eigenschaften festgestellt, so verwenden die Modems ihre voreingestellten Standardeigenschaften.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
und eine Vorrichtung zu schaffen, die innerhalb eines Informationsverarbeitungssystems
mit einer Vielzahl von miteinander verbundenen Vorrichtungen, in
dem eine Vielzahl unterschiedlicher Protokolle bzw. unterschiedlicher
Protokollversionen zur Kommunikation Verwendung finden, eine zuverlässige Zusammenarbeit
der Vielzahl von Vorrichtungen ermöglichen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und ein System
gemäß Anspruch
4 gelöst.
-
Die
vorliegende Erfindung ist auf eine Eigenschaftsübereinstimmungsvorrichtung
zur Verwendung in einem Informationsverarbeitungssystem gerichtet,
das Funktionsvorrichtungen zum Durchführen von Operationen des Systems
umfaßt,
wobei die Vorrichtungen durch ein Protokoll kommunizieren, um Eigenschaften
anzufordern, die durch andere der Vorrichtungen erfüllt werden
sollen. Jede Eigenschaft ist eine Operation des Systems, die durch
mindestens eine Version des Protokolls unterstützt wird, und jede Vorrichtung
umfaßt
eine Funktionseinheit, die mindestens einen Teilsatz der Eigenschaften
des Protokolls unterstützt,
und eine Protokollvorrichtung, die mindestens eine Version des Protokolls
zum Kommunizieren von Anforderungen von Eigenschaften und Antworten
auf Anforderungen von Eigenschaften zwischen der Vorrichtung und
anderen der Vorrichtungen ausführt.
-
Die
Eigenschaftsübereinstimmungsvorrichtung
umfaßt
bei einer ersten Vorrichtung eine Tabelle von unterstützten Eigenschaften
zum Speichern von Informationen, die die Eigenschaften identifizieren, die
durch die erste Vorrichtung unterstützt werden, und eine Übereinstimmungsvorrichtung.
Die Übereinstimmungsvorrichtung
erzeugt und überträgt eine Deklaration
bzw. Erklärung
zu mindestens einer zweiten Vorrichtung, mit der die erste Vorrichtung
unter Verwendung des Protokolls kommunizieren soll, das durch die
erste Vorrichtung unterstützt
wird, wobei jede Erklärung
aus Informationen aus der Tabelle der unterstützten Eigenschaften der ersten
Vorrichtung erzeugt wird und die Eigenschaften identifiziert, die
durch die erste Vorrichtung unterstützt werden. Die erste Vorrichtung
empfängt
eine Erklärung
von mindestens einer zweiten Vorrichtung, mit der die erste Vorrichtung
kommuniziert, wobei jede Erklärung
von einer zweiten Vorrichtung die Eigenschaften identifiziert, die
durch die zweite Vorrichtung unterstützt werden, und die Übereinstimmungsvorrichtung der
ersten Vorrichtung baut eine Übereinstimmungseigenschaftstabelle
auf, die für
jede zweite Vorrichtung, von der die erste Vorrichtung eine Erklärung empfangen
hat, die Eigenschaften identifiziert, die gemeinsam durch die erste
Vorrichtung und die entsprechende zweite Vorrichtung unterstützt werden. Die Übereinstimmungsvorrichtung
der ersten Vorrichtung überwacht
dann jede Anforderung einer Eigenschaft, die zu einer zweiten Vorrichtung
gerichtet ist, die in der Übereinstimmungseigenschaftstabelle dargestellt
ist, um zu bestimmen, ob eine Eigenschaft, die in einer Anforderung
identifiziert ist, durch die zweite Vorrichtung unterstützt wird,
zu der die Anforderung gerichtet ist.
-
Bei
einem Ausführungsbeispiel
der vorliegenden Erfindung identifiziert eine Erklärung von
einer zweiten Vorrichtung die Eigenschaften, die gemeinsam durch
die erste Vorrichtung und die entsprechende zweite Vorrichtung unterstützt werden. Bei
diesem Ausführungsbeispiel
umfaßt
eine zweite Vorrichtung eine Tabelle für unterstützte Eigenschaften der Vorrichtung
zum Speichern von Informationen, die die Eigenschaften identifizieren,
die durch die zweite Vorrichtung unterstützt werden, und eine Übereinstimmungsvorrichtung, ähnlich zu
derselben einer ersten Vorrichtung. Die Übereinstimmungsvorrichtung
der zweiten Vorrichtung empfängt
eine Erklärung
von einer ersten Vorrichtung, die die Eigenschaften identifiziert,
die durch die erste Vorrichtung unterstützt werden, und vergleicht
die Eigenschaften, die in der Erklärung von der ersten Vorrichtung
als durch die erste Vorrichtung unterstützt identifiziert sind, mit
den Eigenschaften, die in der Tabelle der unterstützten Eigenschaften
der zweiten Vorrichtung identifiziert sind, um die Eigenschaften
zu identifizieren, die gemeinsam durch die erste Vorrichtung und die
zweite Vorrichtung unterstützt
werden. Die zweite Vorrichtung überträgt dann
zu der ersten Vorrichtung eine Erklärung, die die Eigenschaften
identifiziert, die gemeinsam durch die erste Vorrichtung und die
zweite Vorrichtung unterstützt
werden.
-
Bei
einem alternativen Ausführungsbeispiel, bei
dem eine Erklärung
von einer zweiten Vorrichtung die Eigenschaften identifiziert, die
durch die zweite Vorrichtung unterstützt werden, jedoch nicht dieselben,
die durch die erste und die zweite Vorrichtung gemeinsam unterstützt werden,
bestimmt die Übereinstimmungsvorrichtung
der ersten Vorrichtung die Eigenschaften, die gemeinsam durch die
erste Vorrichtung und die zweite Vorrichtung unterstützt werden,
durch Vergleichen der Eigenschaften, die in der Erklärung von
der zweiten Vorrichtung identifiziert sind, mit den Eigenschaften,
die in der Tabelle der unterstützten
Eigenschaften der ersten Vorrichtung als durch die erste Vorrichtung
unterstützt
identifiziert sind.
-
Bei
noch einem weiteren Ausführungsbeispiel
umfaßt
jede Vorrichtung eine Tabelle für
unterstützte
Eigenschaften zum Speichern von Informationen, die die Eigenschaften
identifizieren, die durch die Vorrichtung unterstützt werden,
und eine Übereinstimmungsvorrichtung.
Die Übereinstimmungsvorrichtung
erzeugt und überträgt eine
Erklärung
zu mindestens einer anderen Vorrichtung, mit der die Vorrichtung
unter Verwendung des Protokolls kommunizieren soll, das durch die
Vorrichtung unterstützt wird,
wobei jede Erklärung
aus Informationen aus der Tabelle der unterstützten Eigenschaften der Vorrichtung
erzeugt wird und die Eigenschaften identifiziert, die durch die
Vorrichtung unterstützt
werden. Die Vorrichtung wird eine Antworterklärung von mindestens einer anderen
Vorrichtung empfangen, mit der die Vorrichtung kommunizieren soll,
wobei jede Antworterklärung
von einer anderen Vorrichtung die Eigenschaften identifiziert, die
gemeinsam durch diese Vorrichtung und die andere Vorrichtung unterstützt werden.
Die Übereinstimmungsvorrichtung
der Vorrichtung baut eine Tabelle von übereinstimmenden Eigenschaften
auf, die für
jede andere Vorrichtung, von der die Vorrichtung eine Antworterklärung empfangen
hat, die Eigenschaften identifiziert, die gemeinsam durch die erste
Vorrichtung und die entsprechende zweite Vorrichtung unterstützt werden.
-
Die
Vorrichtung kann ferner eine Erklärung von mindestens einer anderen
Vorrichtung empfangen, die die Eigenschaften identifiziert, die
durch jede der anderen Vorrichtungen unterstützt wird, die eine Erklärung liefert.
Die Übereinstimmungsvorrichtung der
Vorrichtung wird die Eigenschaften, die in jeder Erklärung von
einer anderen Vorrichtung als durch die andere Vorrichtung unterstützt identifiziert
sind, mit den Eigenschaften vergleichen, die in der Tabelle der
unterstützten
Eigenschaften der Vorrichtung identifiziert sind, um die Eigenschaften
zu identifizieren, die gemeinsam durch die Vorrichtung und jede andere
Vorrichtung unterstützt
werden, von der dieselbe eine Erklärung von unterstützten Eigenschaften
empfangen hat. Die Übereinstimmungsvorrichtung
der Vorrichtung wird dann zu jeder anderen Vorrichtung, von der
die Vorrichtung eine Erklärung
von unterstützten
Eigenschaften empfangen hat, eine Antworterklärung aufbauen und übertragen,
die die Eigenschaften identifiziert, die gemeinsam durch die Vorrichtung
und die entsprechende andere Vorrichtung unterstützt werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf
die beigefügten
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm eines Systems, das die vorliegende Erfindung enthält; und
-
2 ein
Blockdiagramm einer anfordernden Vorrichtung, die die vorliegende
Erfindung enthält.
-
A. Einführung und
Definitionen (1)
-
Bezugnehmend
auf 1 zeigt diese eine schematische Darstellung der
vorliegenden Erfindung. Wie darin dargestellt, wird ein Informationsverarbeitungssystem 10 zwei
oder mehr Vorrichtungen 12 umfassen, die beispielsweise
durch einen Systembus oder ein lokales Netz oder ein Weitbereichsnetz
verbunden sind, die allgemein als Verbindung 14 gezeigt
sind, und mittels eines Protokolls, wie hierin oben beschrieben
ist, kommunizieren, um das Durchführen von Funktionen und Operationen
anzufordern und auf Anforderungen nach Funktionen und Operationen
zu antworten.
-
Es
sei bemerkt, daß für den Zweck
der folgenden Erörterung
bestimmte Vorrichtungen 12 in 1 als anfordernde
Vorrichtungen 12A bezeichnet sind, während andere Vorrichtungen 12 als
antwortende Vorrichtungen 12B oder als bilaterale Vorrichtungen 12C bezeichnet
sind. Für
den Zweck der folgenden Erörterung
ist eine anfordernde Vorrichtung 12A als eine Vorrichtung 12 definiert,
die eine Anforderung zu einer antwortenden Vorrichtung 12B nach Eigenschaften,
d. h. Funktionen oder Operationen, die durch die antwortende Vorrichtung 12B durchgeführt werden
sollen, erzeugt, während
eine antwortende Vorrichtung 12B entsprechend als eine
Vorrichtung 12 definiert ist, die auf eine Anforderung
von einer anfordernden Vorrichtung 12A durch Durchführen der
angeforderten Eigenschaft antwortet. Schließlich ist eine bilaterale Vorrichtung 12C als eine
Vorrichtung definiert, die gleichzeitig als sowohl eine anfordernde
Vorrichtung 12A als auch eine antwortende Vorrichtung 12B funktionieren
kann.
-
Beispiele
von anfordernden Vorrichtungen 12A können einen Prozessor, eine
Workstation, einen Personalcomputer oder einen Scanner, einen Elektronik-Mail-Server
oder einen Faksimileempfänger,
der Dokumente zu einem Drucker oder einem anderen Empfänger weiterleitet,
umfassen, während Beispiele
von antwortenden Vorrichtungen 12B einen Drucker oder Plotter
bzw. Zeichengerät,
eine Druckersteuerung, die einen Komplex von Druckern steuert, einen
Faksimile-Sender oder -Drucker, einen Dateiserver, einen Elektronik-Mail-Server,
einen gemeinsam verwendeten Prozessor oder eine Anzeige jeder Form
umfassen können.
Beispiele von bilateralen Vorrichtungen 12C können eine
Papierhandhabungssteuerung, wie z. B. eine Systemdruckersteuerung
oder einen Server, der von einem Netz verbunden ist, um einen Komplex
von Druckern zu steuern, und andere Papierhandhabungsvorrichtungen
für Prozessoren
oder Workstations des Systems, oder einen Netzverbindungsknoten,
der einen Zugriff zwischen den Vorrichtungen von zwei Systemen liefert, umfassen.
Die bilateralen Vorrichtungen 12C umfassen jedoch alle
Vorrichtungen 12, die sowohl Eigenschaften anfordern als
auch auf Anforderungen nach Eigenschaften antworten.
-
In
dieser Hinsicht ist es offensichtlich, daß die obigen Definitionen und
die folgende Erörterung der
Vorrichtungen 12 als anfordernde Vorrichtungen 12A oder
als antwortende Vorrichtungen 12B für Zwecke der Klarheit und des
Verständnisses
der folgenden Erörterungen
dienen. Das heißt,
obwohl einige Vorrichtungen 12 entworfen sein können, um
ausschließlich
als anfordernde Vorrichtungen 12A oder als antwortende
Vorrichtungen 12B betrieben zu werden, werden die Vorrichtungen 12 typischerweise
als sowohl anfordernde Vorrichtungen 12A als auch als antwortende
Vorrichtungen 12B betrieben oder können als sowohl anfordernde
Vorrichtungen 12A als auch antwortende Vorrichtungen 12B,
d. h. als bilaterale Vorrichtungen 12C, wie es im folgenden
beschrieben ist, betrieben werden. Ein Personalcomputer funktioniert
beispielsweise als eine anfordernde Vorrichtung 12A für den Zweck
des Anforderns einer Datei von einem Dateiserver und als eine antwortende
Vorrichtung 12B, wenn derselbe durch den Dateiserver hinsichtlich
der Versionen der Dateien abgefragt wird, die sich in dem Personalcomputer
befinden, während
der Dateiserver jeweils als eine antwortende Vorrichtung 12B und
als eine anfordernde Vorrichtung 12A betrieben wird. Bei
einem weiteren Beispiel kann eine erste Vorrichtung 12,
die anfangs als eine antwortende Vorrichtung 12B ansprechend auf
eine Anforderung von einer zweiten Vorrichtung 12 funktioniert,
die anfänglich
als eine anfordernde Vorrichtung 12A funktioniert, im Verlauf
des Lieferns der angeforderten Eigenschaft, Anforderungen von anderen
Eigenschaften, wie z. B. eine Anforderung von weite ren Informationen,
zu der zweiten Vorrichtung 12, die dann als eine antwortende
Vorrichtung 12B funktioniert, übertragen. Das heißt, zwei
Vorrichtungen 12 können
erforderlich sein, um ihre jeweiligen Rollen als eine anfordernde
Vorrichtung 12A und als eine antwortende Vorrichtung 12B umzukehren, um
eine angeforderte Eigenschaft auszuführen, so daß es erforderlich ist, daß jede Vorrichtung 12 als sowohl
eine anfordernde Vorrichtung 12A als auch eine antwortende
Vorrichtung 12B funktioniert.
-
Es
ist ferner offensichtlich, daß zwei
Vorrichtungen 12, die durch ein Protokoll kommunizieren, um
eine Eigenschaft auszuführen,
im wesentlichen der gleiche Vorrichtungstyp sein können, wie
z. B. zwei Dateiserver oder Prozessoren, wie z. B. Personalcomputer,
die Dateien austauschen oder korrelieren, oder zwei Vorrichtungen 12 könnten hinsichtlich einander
komplementäre
Vorrichtungen oder Spiegelvorrichtungen sein, wie z. B. ein Internet-Browser bzw.
eine Internet-Blättervorrichtung
und ein Internet-Dateiserver. Bei weiteren Fällen können die Vorrichtungen 12,
die durch ein Protokoll kommunizieren, um eine Eigenschaft auszuführen, vollständig unterschiedliche
Vorrichtungstypen, wie z. B. eine Druckervorrichtung, die ein Wortverarbeitungs-
bzw. Textverarbeitungs- oder Graphik-Programm bedient, oder ein
Faksimileserver, sein. Zusätzlich
kann eine Vorrichtung 12 eine „Hardware"-Vorrichtung, wie z. B. ein Prozessor,
Drukker oder Server, oder eine „Software"-Vorrichtung, wie z. B. ein Textverarbeitungsprogramm,
ein Internet-Browser und Serverprogramme oder ein Schnittstellentreiber,
sein.
-
Schließlich wird
in der folgenden Beschreibung der vorliegenden Erfindung angenommen,
daß die
Eigenschaftskorrelations- und Übereinstimmungs-Vorrichtung
der vorliegenden Erfindung unter Vorrichtungen 12 eines
Systems durch ein existierendes Protokoll kommuniziert, das unter
den Vorrichtungen 12 gemeinsam verwendet wird, die die
vorliegende Erfindung darstellen sollen, d. h. das Protokoll wird
erweitert, um Eigenschaften zu umfassen, die die Vorrichtun gen und
Operationen der vorliegenden Erfindung unterstützen. Wie es anschließend beschrieben
ist, können
andere Implementationen aufgebaut sein, die keine Erweiterungen
oder Hinzufügungen
zu den Protokollen erfordern, die Industriestandardprotokolle sein
können
und daher für
jeden Zweck schwer zu modifizieren sind, der nicht ebenfalls eine
akzeptierte Industriestandardpraxis ist.
-
B. Beschreibung einer
Vorrichtung 12 als eine anfordernde Vorrichtung (1 und 2)
-
Bezugnehmend
auf die 1 und 2 und zunächst die
Struktur und den Betrieb einer Vorrichtung 12 als eine
anfordernde Vorrichtung 12A betrachtend, die eine bilaterale
Vorrichtung 12C als eine anfordernde Vorrichtung 12 umfaßt, wird
jede anfordernde Vorrichtung 12A typischerweise einen Eigenschaftssatz 16 unterstützen, der
einen Teilsatz von Eigenschaften 18 umfaßt, bei
dem Eigenschaften 18 alle Eigenschaften, die durch Vorrichtungen 12 unterstützt werden
oder unterstützt
werden können,
und das Protokoll, durch das die Vorrichtungen 12 kommunizieren,
umfassen. Ein Eigenschaftssatz 16 kann alle Eigenschaften 18 oder
lediglich einen Teil der Eigenschaften 18 umfassen, und
die Eigenschaftssätze 16 der
anfordernden Vorrichtungen 12A können bis zu einem bestimmten
Grad überlappen.
Das heißt,
die Eigenschaftssätze 16 von
zwei oder mehr anfordernden Vorrichtungen 12A können identische Sätze von
Eigenschaften 18 umfassen oder können keine gemeinsamen Eigenschaften 18 aufweisen, oder
eine Vorrichtung kann eine oder mehrere Eigenschaften 18 unterstützen, die
eine andere Vorrichtung nicht unterstützt.
-
Jede
anfordernde Vorrichtung 12A wird eine Funktionseinheit 20 zum
Durchführen
der Funktionen und Operationen der Vorrichtung 12 umfassen,
wobei die Funktionseinheit 20 die Quelle der Anforderungen 22 für die Durchführung oder
Lieferung der Eigenschaften 18 durch andere Vorrichtungen 12 ist. Jede
anfordernde Vorrichtung 12A wird ferner eine Protokollvorrichtung 24 umfassen,
die ein Protokoll 26 ausführt, um Anforderungen 22 nach
Eigenschaften 18 zu anderen Vorrichtungen 12,
wie z. B. eine antwortende Vorrichtung 12B, zu kommunizieren, und
um Antworten 28 von den anderen Vorrichtungen 12 gemäß dem Protokoll 26 zu
empfangen, wobei die Antworten 28 zu der Funktionseinheit 20 durch
die Protokollvorrichtung 24 für eine geeignete Handlung durch
die Funktionseinheit 20 kommuniziert werden. Wie beschrieben,
kann eine Funktionseinheit 20 jede Quelle einer Anforderung
nach einer Operation oder einer Funktion sein, die durchgeführt oder
durch eine andere Vorrichtung 12 geliefert werden soll,
wie z. B. ein Textverarbeitungsprogramm, das eine Datei von einem
Dateiserver anfordert, oder anfordert, daß ein Dokument gedruckt werden
soll, ein E-Mail-Programm, das eine E-Mail-Nachricht zu einem Empfänger weiterleitet,
ein Faksimile-Empfänger/Server,
der ein Faksimile-Dokument weiterleitet, das gespeichert oder gedruckt
werden soll, usw. Ein Protokoll 26 ist seinerseits, wie
beschrieben, eine Kommunikationssprache, die für eine Zwischenvorrichtungskommunikation
bezüglich
der Aufgaben, Funktionen und Operationen, die angefordert oder durch
die Vorrichtungen 12 durchgeführt werden sollen, entworfen
ist, und umfaßt
Befehle, Antworten und Informationsformate, die notwendig sind,
um die Eigenschaften 18 zu unterstützen, die der Gegenstand der
Anforderungen 22 und der Antworten 28 sind. In
dieser Hinsicht sei bemerkt, daß,
während
eine anfordernde Vorrichtung 12A typischerweise ein Protokoll 26 und üblicherweise
eine Version dieses Protokolls 26 unterstützt, ein
Anforderungsgenerator 12A mehr als ein Protokoll 26 oder
mehr als eine Version eines gegebenen Protokolls 26 unterstützen und
ausführen kann.
In solchen Fällen
wird die Protokollvorrichtung 24 entweder den Entwurf aufweisen,
um mehrere Protokolle 26 zu unterstützen, oder die anfordernde Vorrichtung 12A kann
mehrere Protokollvorrichtungen 24 umfassen.
-
Wie
gezeigt und gemäß der vorliegenden
Erfindung umfaßt
eine anfordernde Vorrichtung 12A eine Tabelle 30 von
durch die Vorrichtung unterstützten
Eigenschaften bzw. von vorrichtungsunterstützten Eigenschaften (DS-Tabelle;
DS = Device Supported), die im wesentlichen einen oder mehrere Eigenschaftseinträge 30A speichert,
wobei jeder Eigenschaftseintrag 30A eine Eigenschaft 18 bezeichnet, die
durch diese Vorrichtung 12A unterstützt wird, so daß eine DS-Tabelle 30 im
wesentlichen eine Auflistung der Eigenschaften 18 ist,
die durch diese Vorrichtung 12A unterstützt werden. Wie in 1 dargestellt,
kann eine erste Vorrichtung 12 beispielsweise Eigenschaften 18A, 18C und 18F unterstützen, eine zweite
Vorrichtung 12 kann Eigenschaften 18A, 18B und 18C unterstützen, eine
dritte Vorrichtung 12 kann Eigenschaften 18A, 18C und 18D unterstützen usw. und
so ähnlich
für alle
Vorrichtungen 12. Wie gezeigt, kann die DS-Tabelle 30 ferner
eine vorrichtungsunterstützte
Protokollversion (PVer) 30B speichern, die die Version
des Protokolls 26 bezeichnet, das derzeit durch die Vorrichtung 12A verwendet
wird. In solchen Fällen,
bei denen eine anfordernde Vorrichtung 12A mehr als ein
Protokoll 26 oder mehr als eine Version eines Protokolls 26 unterstützt, kann
die anfordernde Vorrichtung 12A eine Mehrzahl von DS-Tabellen 30 umfassen,
wobei die Zahl der DS-Tabellen 30 von der Anzahl der Protokolle 26 und
der Versionen eines Protokolls 26, die durch die anfordernde
Vorrichtung 12A unterstützt
werden, und davon abhängt,
ob bestimmte Protokolle 26 oder Versionen von Protokollen 26 funktionell
identisch sind und daher eine DS-Tabelle 30 gemeinsam verwenden
können.
Alternativ können
alle Protokolle 26 oder Versionen eines Protokolls 26,
die durch eine anfordernde Vorrichtung 12A unterstützt werden,
innerhalb der Eigenschaftseinträge 30A einer
einzigen DS-Tabelle 30 durch Zuordnen einer PVer 30B zu
jedem Eigenschaftseintrag 30A aufgenommen werden.
-
Jede
anfordernde Vorrichtung 12A umfaßt ferner eine Eigenschaftsübereinstimmungsvorrichtung
(Übereinstimmung) 32,
die beispielsweise ein Teil der Protokollvorrichtung 24 oder
eine getrennte Vorrichtung sein kann, die der Protokollvorrichtung 24 zugeordnet
ist, die mit der Protokollvorrichtung 24 und der DS-Tabelle 30 betrieben
wird, um einzurichten, welche Eigenschaften 18 gemeinsam
durch die anfordernde Vorrichtung 12A und andere Vorrichtungen 12 unterstützt werden,
auf die die anfordernde Vorrichtung 12A zugreifen kann.
Bei der Initialisierung der anfordernden Vorrichtung 12A,
das beispielsweise bei der Initialisierung des Systems 10 oder
der anfordernden Vorrichtung 12A oder beim Empfangen einer
Initialisierungsnachricht von einer anderen Vorrichtung 12 auftreten
kann, wird die Übereinstimmung 32 durch
die Protokollvorrichtung 24 betrieben, um mindestens eine
Erklärung
der eigenen Eigenschaften (Erklärung) 34A zu
erzeugen. Eine Erklärung 34A enthält Informationen,
die aus der DS-Tabelle 30 oder den DS-Tabellen 30 extrahiert
werden, die die Eigenschaften 18 identifizieren, die durch
die anfordernde Vorrichtung 12A unterstützt werden, wie z. B. Übereinstimmungseinträge 38,
kann die Informationen enthalten, die ein Protokoll 26 und
eine Version des Protokolls 26 identifizieren, die durch
die anfordernde Vorrichtung 12A unterstützt werden, wie z. B. PVer 30,
und kann eine Identifikation der anfordernden Vorrichtung 12A enthalten,
die die Erklärung 34A erzeugt.
-
Bei
diesen Implementationen, bei denen die anfordernde Vorrichtung 12A ein
Protokoll 26 und eine Version des Protokolls 26 unterstützt, wird
die Übereinstimmung 32 eine
einzige Erklärung 34A erzeugen,
die Informationen von unterstützten
Eigenschaften 18 aus der DS-Tabelle 30 enthält, und
die beispielsweise die PVer 30A aus der DS-Tabelle 30 enthalten
kann. Bei diesen Implementationen, bei denen eine anfordernde Vorrichtung 12A mehr
als ein Protokoll 26 oder mehr als eine Version eines Protokolls 26 unterstützt, kann
die Übereinstimmung 32 eine
Erklärung 34A für und entsprechend
zu jedem Protokoll 26 oder einer Version eines Protokolls 26, das
durch die anfordernde Vorrichtung 12A unterstützt wird,
erzeugen. Bei diesen Fällen
wird jede Erklärung 34A das
entsprechende Protokoll 26 oder die Version des Protokolls 26 und
die Eigenschaften 18 identifizieren, die durch die anfordernde
Vorrichtung 12A für
dieses Protokoll 26 oder diese Version eines Protokolls 26 unterstützt werden.
Bei einem alternativen Ausführungsbeispiel
kann die Übereinstimmung 32 eine
einzige, kombinierte Erklärung 34A erzeugen,
die jedes Protokoll 26 oder jede Version eines Protokolls 26,
die durch die anfordernde Vorrichtung 12A unterstützt werden,
und die Eigenschaften 18 identifiziert, die durch die anfordernde
Vorrichtung 12A jeweils unterstützt werden. Bei noch einem
weiteren Ausführungsbeispiel
kann die Übereinstimmung 32 Erklärungen 34A für jede Gruppe
von verwandten Protokollen 26 oder von Versionen eines Protokolls 26 erzeugen.
-
Die
Erklärung 34A oder
die Erklärungen 34A werden
durch die anfordernde Vorrichtung 12A zu anderen Vorrichtungen 12 üblicherweise
mittels einer Protokollvorrichtung 24 und der Protokolle 26,
die für den
Inhalt der Erklärung 34A oder
der Erklärungen 34A geeignet
sind, und unter Verwendung einer Version des Protokolls 26,
das durch die anfordernde Vorrichtung 12A unterstützt wird, übertragen.
Wie es weiter im folgenden beschrieben ist, werden die Vorrichtungen,
die als eine antwortende Vorrichtung 12B hinsichtlich der
anfordernden Vorrichtung 12A, die die bilateralen Vorrichtungen 12C umfaßt, betrieben werden
können,
auf eine Erklärung 34A mit
einer Erklärung
von eigenen Eigenschaften (Erklärung) 34B antworten,
die die Eigenschaften 18 identifiziert, die durch die antwortende
Vorrichtung 12A unterstützt werden,
und die mit den Eigenschaften 18 übereinstimmen, die durch die
anfordernde Vorrichtung 12A unterstützt werden, die die Erklärung 34A ausgibt. Jede
Erklärung 34B wird
eine Antwortliste von übereinstimmenden
Eigenschaften (R-Übereinstimmung-Liste) 36A enthalten,
die die Identifizierungen der Eigenschaften 18 enthält, die
von der antwortenden Vorrichtung 12 unterstützt werden,
und die mit den Eigenschaften 18 übereinstimmen, die durch die anfordernde
Vorrichtung 12A für
das Protokoll 26 oder die Version eines Protokolls 26,
die in der Erklärung 34A iden tifiziert
sind, unterstützt
werden. Eine Erklärung 34B kann
ferner eine Identifizierung der Vorrichtung 12 enthalten,
die die Erklärung 34B erzeugt,
und kann ferner eine Antwortprotokollversion (RPVer) 36B enthalten,
die das Protokoll 26 und die Version des Protokolls 26 identifiziert,
die derzeit durch die Vorrichtung 12 verwendet werden,
die die Erklärung 34B liefert.
-
Es
sei bemerkt, daß die
Form einer Erklärung 34B von
der Form der Erklärung 34A oder
der Erklärungen 34A,
die durch die anfordernde Vorrichtung 12A ausgegeben werden,
und von dem Entwurf und der Natur der anfordernden Vorrichtung 12A abhängen wird.
Das heißt
bei Fällen,
bei denen die anfordernde Vorrichtung 12A ein einziges
Protokoll 26 und eine einzige Version des Protokolls 26 unterstützt und
dementsprechend eine einzige Erklärung 34A ausgibt,
wird die antwortende Vorrichtung 12 eine einzige Erklärung 34B erzeugen,
die die Eigenschaften 18 identifiziert, die gegenseitig
durch die anfordernde Vorrichtung 12A und die antwortende
Vorrichtung 12 für
das Protokoll 26 oder die Version des Protokolls 26,
das in der Erklärung 34A identifiziert ist,
unterstützt
werden. Bei solchen Fällen,
bei denen die anfordernde Vorrichtung 12A mehrere Protokolle 26 oder
mehrere Versionen eines Protokolls 26 unterstützt und
mehrere Erklärungen 34A einer
beliebigen Form, wie oben beschrieben, ausgibt, kann eine antwortende
Vorrichtung 12B mit einer einzigen kombinierten Erklärung 34B oder
mit mehreren Erklärungen 34B,
wie hinsichtlich der Erklärungen 34A oben beschrieben,
antworten.
-
Beim
Empfangen von einer oder mehreren Erklärungen 34B mittels
des Protokolls 26 und der Protokollvorrichtung 24 wird
die Übereinstimmung 32 der
anfordernden Vorrichtung 12A den Inhalt jeder Erklärung 34B in
den Übereinstimmungseintrag 38 einer Übereinstimmungstabelle 40 schreiben,
so daß die Übereinstimmungstabelle 40 einen Übereinstimmungseintrag 38 für und entsprechend
jeder Vorrichtung 12 enthält, mit der die anfordernde
Vorrichtung 12A kommunizieren kann. Jeder Übereinstimmungseintrag 38 enthält Identifikationen
von jeder der Eigenschaften 18, die durch die antwortende
Vorrichtung 12 unterstützt
werden und die mit den Eigenschaften 18 übereinstimmen,
die durch die anfordernde Vorrichtung 12A unterstützt werden,
wie z. B. eine R-Übereinstimmung-Liste 36A aus
der Erklärung 34B,
die eine Identifikation der Vorrichtung 12, die die entsprechende
Erklärung 34B liefert,
und eine RPVer 36B umfassen kann, die die Version des Protokolls 26 identifiziert,
die durch die antwortende Vorrichtung 12 verwendet wird.
Um diese beispielhaft darzustellen, wurde bei einem obigen Beispiel
beschrieben, daß eine
erste anfordernde Vorrichtung 12A Eigenschaften 18A, 18C und 18F unterstützten kann,
eine zweite anfordernde Vorrichtung 12A Eigenschaften 18A, 18B und 18C unterstützen kann, und
eine dritte anfordernde Vorrichtung 12A Eigenschaften 18A, 18C und 18D unterstützen kann.
Unter der Annahme, daß jede
dieser anfordernden Vorrichtungen 12A mit einer Vorrichtung 12 kommunizieren soll,
die beispielsweise eine antwortende Vorrichtung 12B oder
eine bilaterale Vorrichtung 12C sein kann, wird die Übereinstimmungstabelle 40 von
jeder der anfordernden Vorrichtungen 12A einen Übereinstimmungseintrag 38 für und entsprechend
dieser Vorrichtung 12 enthalten. Wenn beispielsweise diese Vorrichtung 12 Eigenschaften 18A, 18C, 18D, 18E und 18F unterstützt, identifiziert
der Übereinstimmungseintrag 38 für die erste
anfordernde Vorrichtung 12A Übereinstimmungen der Eigenschaften 18A, 18C und 18F,
derselbe der zweiten anfordernden Vorrichtung 12A identifiziert
die Übereinstimmungen
der Eigenschaften 18A und 18C, und derselbe für die dritte
anfordernde Vorrichtung 12A identifiziert die Übereinstimmungen
der Eigenschaften 18A, 18C und 18D. Es
sei bemerkt, daß,
wie im folgenden beschrieben, eine antwortende Vorrichtung 12B oder eine
bilaterale Vorrichtung 12C mehrere Protokolle 26 oder
mehrere Versionen eines Protokolls 26 unterstützen können und
dementsprechend mehrere Erklärungen 34B ansprechend
auf eine Erklärung 34A liefern
können,
oder die Informationen der Erklärung 34B für jedes
Protokoll 26 oder jede Version eines Protokolls 26 in
einer einzigen kombinierten Erklärung 34B aufnehmen
können.
In jedem Fall wird die Übereinstimmung 32 der
anfordernden Vorrichtung 12A die Informationen des Übereinstimmungseintrags 38 für jedes
Protokoll 26 oder jede Version eines Protokolls 26 aus
den einzelnen Erklärungen 34B oder
der kombinierten Erklärung 34B extrahieren
und Übereinstimmungseinträge 38 dementsprechend
aufbauen. In dieser Hinsicht sei bemerkt, daß ein gegebener Übereinstimmungseintrag 38 unter mehreren
Vorrichtungen 12 gemeinsam verwendet werden kann, mit denen die
anfordernde Vorrichtung 12A kommunizieren soll, wenn die
entsprechenden Protokolle 26 oder Versionen eines Protokolls 26 funktionell ähnlich hinsichtlich
der unterstützten
Eigenschaften 18 sind.
-
Nach
dem Aufbau einer Übereinstimmungstabelle 40 mit
einem oder mehreren Übereinstimmungseinträgen 38 für und entsprechend
zu jeder anderen Vorrichtung 12, mit der die anfordernde
Vorrichtung 12A kommunizieren soll, wird danach die Übereinstimmung 32 einer
anfordernden Vorrichtung 12A jede Anforderung 22,
die durch die Funktionseinheit 20 derselben zu einer oder
diesen Vorrichtungen 12 erzeugt wird, beispielsweise durch
Abfangen oder Erfassen jeder Anforderung 22, überwachen,
und wird die Vorrichtung 12, zu der die Anforderung 22 gerichtet
ist, und die Eigenschaft 18, die in der Anforderung 22 identifiziert
ist, identifizieren. Die Übereinstimmung 32 wird
den Übereinstimmungseintrag 38 der Übereinstimmungstabelle 40 lesen,
die der Vorrichtung 12 entspricht, zu der die Anforderung 22 gerichtet
ist, und wird die angeforderte Eigenschaft 18 mit den Eigenschaften 18 vergleichen,
die durch die Vorrichtung 12 unterstützt werden, zu der die Anforderung 22 gerichtet
ist. Dieser Vergleich wird typischerweise die Version oder die Versionen
der Protokolle 26 umfassen, die durch die anfordernde Vorrichtung 12A und
die Vorrichtung 12 unterstützt werden, zu der die Anforderung 22 gerichtet
ist, wenn entweder die anfordernde Vorrichtung 12A oder
die Vorrichtung 12, zu der die Anforderung 22 gerichtet
ist, mehrere Versionen des Protokolls 26 unterstützt, mit dem
die Anforderung 22 über tragen
werden soll. Wenn die Vorrichtung 12 die angeforderte Eigenschaft 18 unterstützt, wird
es die Übereinstimmung 32 der
Protokollvorrichtung 24 ermöglichen, die Anforderung 22 zu
der Vorrichtung 12 zu kommunizieren. Wenn die Vorrichtung 12 nicht
die angeforderte Eigenschaft 18 unterstützt, wird die Übereinstimmung 32 die
Anforderung 22 beenden und eine geeignete Nachricht zu
der Funktionseinheit 20 senden, daß die angeforderte Eigenschaft 18 nicht
durch diese Vorrichtung 12 verfügbar ist. Bei weiteren Ausführungsbeispielen
der vorliegenden Erfindung und beim Erfassen, daß die Vorrichtung 12,
zu der eine Anforderung 22 gerichtet ist, nicht die angeforderte Eigenschaft 18 unterstützt, kann
die Übereinstimmung 32 Übereinstimmungseinträge 38 suchen,
um eine Vorrichtung 12 zu identifizieren, die die angeforderte
Eigenschaft 18 unterstützt.
Die Übereinstimmung 32 kann
dann eine Nachricht zu der Funktionseinheit 20 erzeugen,
die die Vorrichtung 12 identifiziert, die die angeforderte
Eigenschaft 18 unterstützt, so
daß die
Funktionseinheit 20 eine Anforderung 22 erzeugen
kann, die zu der Vorrichtung 12 gerichtet ist, die die
Eigenschaft 18 unterstützt,
oder die Übereinstimmung 32 kann
die Anforderung 22 zu dieser Vorrichtung 12 umrichten
bzw. umleiten und eine Nachricht zu der Funktionseinheit 20 erzeugen,
daß die
Anforderung 22 zu der Vorrichtung 12, die die
Eigenschaft 18 unterstützt,
umgeleitet wurde.
-
C. Beschreibung einer
Vorrichtung als eine antwortende Vorrichtung (1 und 2)
-
Bezugnehmend
auf 1 und 2 und die Struktur und den Betrieb
einer Vorrichtung 12 als eine antwortende Vorrichtung 12B,
einschließlich
bilateraler Vorrichtungen 12C, die als antwortende Vorrichtungen 12B funktionieren,
betrachtend, ist eine antwortende Vorrichtung 12B allgemein ähnlich zu
einer anfordernden Vorrichtung 12A und umfaßt eine Funktionseinheit
20 zum Durchführen
der Funktionen oder Operationen jeder Anforderung 22, die
zu der antwortenden Vorrich tung 12B für eine Eigenschaft 18 gerichtet
ist, die durch die antwortende Vorrichtung 12B unterstützt wird,
und zum Erzeugen von geeigneten Antworten 28 auf Anforderungen 22.
In dieser Hinsicht ist es offensichtlich, daß die Funktionseinheit 20 einer
gegebenen antwortenden Vorrichtung 12B, ähnlich zu
der Funktionseinheit 20 einer anfordernden Vorrichtung 12A,
ein „Hardware"-Element, wie z.
B. ein Modem, oder ein „Software"-Element, wie z.
B. ein Programm, das in einem Prozessor ausgeführt wird, sein kann. Es ist
ferner offensichtlich, daß eine
Funktionseinheit 20 im wesentlichen der gleiche Vorrichtungstyp
wie die Funktionseinheit 20 sein kann, mit der dieselbe
kommuniziert, wie z. B. zwei Dateiserver, die Dateien austauschen oder
korrelieren. Bei anderen Fällen
kann die Funktionseinheit 20 eine komplementäre Vorrichtung
oder eine Spiegelvorrichtung hinsichtlich der Funktionseinheit 20 sein,
wie z. B. ein Internet-Dateiserver, der mit einem Browser-Programm
kommuniziert. Bei weiteren anderen Fällen können die Funktionseinheit 20 und
die Funktionseinheit 20 vollständig unterschiedliche Vorrichtungstypen,
wie z. B. eine Druckervorrichtung, die ein Textverarbeitungs- oder
Graphikprogramm bedient, oder ein Faksimileserver, sein.
-
Wie
gezeigt, umfaßt
jede antwortende Vorrichtung 12B ferner eine Protokollvorrichtung 24,
um mindestens eine Version von mindestens dem Protokoll 26 auszuführen, und
eine Tabelle 30 von vorrichtungsunterstützten Eigenschaften (DS-Tabelle), die einen
oder mehrere Eigenschaftseinträge 30A speichert,
wobei jeder derselben eine Eigenschaft 18 bezeichnet, die
durch die antwortende Vorrichtung 12B unterstützt wird.
Wiederum kann eine gegebene antwortende Vorrichtung 12B bestimmte
oder alle oder keine der Eigenschaften 18 unterstützen, die
durch eine gegebene anfordernde Vorrichtung 12A unterstützt werden.
Wie beschrieben, kann die DS-Tabelle 30 ferner eine vorrichtungsunterstützte Protokollversion
(PVer) 30B umfassen, die die Version des Protokolls 26 bezeichnet,
die derzeit durch diese antwortende Vorrichtung 12B bei
der Unterstützung
der Eigenschaften 18, die in der DS-Tabelle 30 bezeichnet sind,
verwendet wird. Wiederum kann eine antwortende Vorrichtung 12B mehrere
Protokolle 26 oder mehrere Versionen eines Protokolls 26 unterstützen, und
wenn dies der Fall ist, sind die Protokollvorrichtung 24 und
die DS-Tabelle 30 oder die DS-Tabellen 30 der
antwortenden Vorrichtung 12B entsprechend angepaßt, wie
es oben unter Bezugnahme auf die anfordernde Vorrichtung 12A beschrieben
ist. Wie beschrieben, kann die PVer 30B jeder DS-Tabelle 30 in
einer Erklärung 34B als
eine Antwortprotokollversion (RPVer) 36B für diese
antwortende Vorrichtung 12B für die Eigenschaften 18,
die in der entsprechenden DS-Tabelle 30 bezeichnet sind, übertragen
werden.
-
Jede
antwortende Vorrichtung umfaßt
ferner eine Eigenschaftsübereinstimmungsvorrichtung (Übereinstimmung) 32,
die wiederum und beispielsweise ein Teil einer Protokollvorrichtung 24 oder
einer getrennten Vorrichtung sein kann, die der Protokollvorrichtung 24 zugeordnet
ist. Die Übereinstimmung 32 einer
antwortenden Vorrichtung 12B wird mit der Protokollvorrichtung 24 und
der DS-Tabelle 30 oder den DS-Tabellen 30 beim Empfangen
einer Erklärung 34A von
einer Vorrichtung 12 betrieben, um die Eigenschaften 18,
die durch die Vorrichtung 12 unterstützt werden, wie es in der Erklärung 34A definiert ist,
mit den Eigenschaften 18, die durch die antwortende Vorrichtung 12B,
wie es in der DS-Tabelle
30 oder den DS-Tabellen 30 der antwortenden Vorrichtung 12B aufgelistet
ist, für
ein gegebenes Protokoll 26 oder eine Version eines Protokolls
zu vergleichen. In dieser Hinsicht können das Protokoll 26 oder
die Version eines Protokolls 26, für die die gegenseitig unterstützten Eigenschaften 18 identifiziert
werden sollen, durch die Übereinstimmung 32 aus
dem Protokoll 26 und der Version des Protokolls 26,
in der die Erklärung 34A empfangen
wurde, oder aus den Informationen der PVer 30B, die in
der Erklärung 34A enthalten
ist, bestimmt werden. Wenn festgestellt wurde, welche Eigenschaften 18 gemeinsam
durch die anfordernde Vorrichtung 12A und die antwortende
Vorrichtung 12B für
das identifizierte Protokoll 26 oder die Version eines
Protokolls 26 unterstützt
werden, wird die Übereinstimmung 32 der
antwortenden Vorrichtung 12B eine entsprechende Erklärung 34B oder
Erklärungen 34B zu
der Vorrichtung 12 erzeugen, die die Erklärung 34A erzeugt,
wie es oben beschrieben ist. Bei jenen Ausführungsbeispielen, bei denen
die antwortende Vorrichtung 12B ein einziges Protokoll 26 unterstützt, oder
bei denen lediglich ein Protokoll 26 für die Erklärung 34B geeignet
ist, wird die Erklärung 34B,
wie beschrieben, eine Antwortliste von übereinstimmenden Eigenschaften
(R-Übereinstimmung-Liste) 36A umfassen,
die Identifizierung der Eigenschaften 18 enthält, die
durch die antwortende Vorrichtung 12B unterstützt werden,
und die mit den Eigenschaften 18 übereinstimmen, die durch die
anfordernde Vorrichtung 12A unterstützt werden, die die Erklärung 34A ausgibt.
Die Erklärung 34B kann
ferner eine Identifikation der antwortenden Vorrichtung 12B und
eine Antwortprotokollversion (RPVer) 36B umfassen, die
das Protokoll 26 und die Version des Protokolls 26 identifiziert,
die durch die antwortende Vorrichtung 12B gerade verwendet
werden. In jenen Fällen,
bei denen die antwortende Vorrichtung 12B mehrere Protokolle 26 oder
mehrere Versionen eines Protokolls 26 unterstützt, kann
die antwortende Vorrichtung 12B eine Erklärung 34B für jedes
Protokoll 26 oder Version eines Protokolls 26 erzeugen,
die durch die antwortende Vorrichtung 12B unterstützt werden,
oder eine Erklärung 34B für jede von
einer oder mehreren Gruppen von verwandten Protokollen 26 oder
Versionen eines Protokolls 26 erzeugen. Alternativ kann
die antwortende Vorrichtung 12B die Informationen der Erklärung 34B für jedes
Protokoll 26 oder jede Version eines Protokolls 26 in
einer einzigen, kombinierten Erklärung 34B aufnehmen.
-
Eine
antwortende Vorrichtung 12B wird dadurch bezüglich einer
Vorrichtung 12 initialisiert, von der dieselbe Anforderungen 22 nach
Eigenschaften 18 durch Empfangen einer Erklärung 34A von
der Vorrichtung 12 und durch Liefern einer entsprechenden
Erklärung 34B zu
der Vorrichtung 12 empfan gen kann. In dieser Hinsicht ist
es offensichtlich, daß eine antwortende
Vorrichtung 12B hinsichtlich einer gegebenen Vorrichtung 12 zu
jedem beliebigen Zeitpunkt initialisiert werden kann, als ob eine
Vorrichtung 12 zu dem System 10 hinzugefügt oder
auf eine andere Art und Weise in dem System 10 aktiviert
wird, so daß sich
die Gruppe von Vorrichtungen 12, die durch eine antwortende
Vorrichtung 12B unterstützt
wird, über
die Zeit ändern
kann. Sobald eine antwortende Vorrichtung 12B hinsichtlich
einer gegebenen Vorrichtung 12 initialisiert ist, wird
dieselbe auf Anforderungen 22 nach Eigenschaften 18 von
der Vorrichtung 12 durch Durchführen oder Liefern der Funktionen
oder Operationen der angeforderten Eigenschaften 18 ansprechen.
Wie hinsichtlich der anfordernden Vorrichtungen 12A beschrieben,
wird die Eigenschaftskorrelations- und Übereinstimmungsvorrichtung
der vorliegenden Erfindung so betrieben, daß eine anfordernde Vorrichtung 12A keine
Anforderung 22 nach einer Eigenschaft 18, die
nicht durch sowohl die anfordernde Vorrichtung 12A als
auch die antwortende Vorrichtung 12B unterstützt wird,
oder in einem Protokoll 26 oder in Versionen von Protokollen 26,
die nicht durch die anfordernde Vorrichtung 12A und die antwortende
Vorrichtung 12B für
die angeforderte Eigenschaft 18 unterstützt werden, zu einer antwortenden
Vorrichtung 12B übermitteln
sollte.
-
D. Beschreibung einer
Vorrichtung 12 als eine bilaterale (anfordernde und antwortende)
Vorrichtung (1 und 2)
-
Wie
hierin im vorhergehenden beschrieben, können die Vorrichtungen 12 typischerweise
sowohl als anfordernde Vorrichtungen 12A als auch als antwortende
Vorrichtungen 12B betrieben werden. Beispielsweise ist
es bei Vorrichtungen, wie z. B. Workstations, Prozessoren, Personalcomputern,
Dateiservern, Druckservern, Papierhandhabungssteuerungen, die einen
oder mehrere Clients oder Kunden durch Steuern von einem oder mehreren
Druckern oder anderen Papierhandha bungsvorrichtungen bedienen, und
Systemkommunikationsknotenvorrichtungen, erforderlich, daß dieselben
als sowohl anfordernde als auch antwortende Vorrichtungen beim Unterstützen der
Eigenschaften, die dieselben liefern, betrieben werden.
-
Aus
diesem Grund, und wie in den 1 und 2 dargestellt,
umfaßt
eine bilaterale Vorrichtung 12C wiederum eine Funktionseinheit 20 zum
Erzeugen von Anforderungen 22 von gegenseitig unterstützten Eigenschaften 18 zu
anderen Vorrichtungen 12 und zum Durchführen der Funktionen oder Operationen
jeder Anforderung 22 von einer gegenseitig unterstützten Eigenschaft 18,
die zu der bilateralen Vorrichtung 12C durch andere Vorrichtungen 12 gerichtet
wird. Wiederum kann die Funktionseinheit 20 ein „Hardware"-Element oder eine „Software"-Element sein, und
die Funktionseinheit 20 kann der gleiche Typ einer Vorrichtung
oder eine komplementäre Vorrichtung
oder Spiegelvorrichtung oder ein vollständig anderer Typ von Vorrichtungselementen
hinsichtlich der Funktionseinheit 20, mit der dieselbe
in anderen Vorrichtungen 12 kommuniziert, sein.
-
Jede
bilaterale Vorrichtung 12C umfaßt wiederum eine Protokollvorrichtung 24 oder
eine Protokollvorrichtung 24, um entsprechende Protokolle 26 auszuführen, wobei
die Zahl, der Typ und die Versionen der Protokolle 26,
die durch eine bilaterale Vorrichtung 12C unterstützt werden,
von den Protokollen abhängen,
die erforderlich sind, um mit den anderen Vorrichtungen 12 zu
kommunizieren, mit der die bilaterale Vorrichtung 12C kommunizieren
soll. Eine bilaterale Vorrichtung 12C, die als eine Papierhandhabungssteuerung
betrieben wird, um einen Druckerkomplex oder einen Knoten für ein System
zu steuern, soll beispielsweise sowohl mit Vorrichtungen 12, die
Anforderungen 22 für
das Drucken von Dokumenten erzeugen, wie z. B. Workstations oder
Fax- oder E-Mail-Servern, als auch mit anderen Vorrichtungen 12,
die die tatsächlichen
Papierhandhabungsoperationen ausführen, wie z. B. Druckern, kommunizieren. Die
papierhandhabende bilaterale Vorrichtung 12C kann mit sowohl
den Vorrichtungen 12, die die Druckanforderungen ausgeben,
als auch den Vorrichtungen 12, die die Druckanforderungen
ausführen,
durch ein einziges Papierhandhabungsprotokoll kommunizieren, oder
es kann erforderlich sein, daß dieselbe
mit unterschiedlichen Typen von Vorrichtungen 12 durch
getrennte Protokolle kommuniziert.
-
Eine
bilaterale Vorrichtung 12C wird ferner eine oder mehrere
Tabellen 30 von vorrichtungsunterstützten Eigenschaften (DS-Tabellen)
enthalten, wobei jede DS-Tabelle 30 einem Protokoll 26 oder
einer Version eines Protokolls 26 entspricht, mit dem die
bilaterale Vorrichtung 12C mit einer anderen Vorrichtung 12,
wie oben beschrieben, kommunizieren kann. Jede DS-Tabelle 30 speichert
wiederum einen oder mehrere Eigenschaftseinträge 30A, wobei jeder Eigenschaftseintrag 30A eine
Eigenschaft 18 bezeichnet, die durch die bilaterale Vorrichtung 12C in dem
entsprechenden Protokoll 26 oder der Version eines Protokolls 26 unterstützt wird.
Wiederum kann eine gegebene bilaterale Vorrichtung 12C einige,
alle oder keine der Eigenschaften 18 unterstützen, die durch
eine andere anfordernde Vorrichtung 12A, antwortende Vorrichtung 12B oder
eine bilaterale Vorrichtung 12C unterstützt werden. Eine bilaterale
Vorrichtung 12C kann ferner eine vorrichtungsunterstützte Protokollversion
(PVer) 30B umfassen, die das Protokoll 26 oder
die Version des entsprechenden Protokolls 26 bezeichnet,
das derzeit durch die bilaterale Vorrichtung 12C für die Eigenschaften 18 dieser
Eigenschaft 18A unterstützt
werden. Wiederum kann die PVer 30B in einer Erklärung 34B zu
einer Erklärung 34A als
Antwortprotokollversion (RPVer) 36B für die bilaterale Vorrichtung 12C übertragen
werden.
-
Jede
bilaterale Vorrichtung 12C umfaßt ferner eine Eigenschaftsübereinstimmungsvorrichtung (Übereinstimmung) 32,
die wiederum und beispielsweise ein Teil der Protokollvorrichtung 24 oder
eine getrennten Vorrichtung sein kann, die der Protokollvorrichtung 24 zugeordnet
ist. Wie beschrie ben, wird die Übereinstimmung 32 einer
bilateralen Vorrichtung 12C mit den Protokollvorrichtungen 24 und
den DS-Tabellen 30 beim
Empfangen einer Erklärung 34A von
einer Vorrichtung 12 durch Vergleichen der Eigenschaften 18,
die durch die Vorrichtung 12 unterstützt werden, wie es in der Erklärung 34A definiert ist,
mit den Eigenschaften 18, die durch die bilaterale Vorrichtung 12C unterstützt werden,
wie es in der entsprechenden DS-Tabelle 30 der bilateralen
Vorrichtung 12C für
ein Protokoll 26 oder eine Version eines Protokolls 26 aufgelistet
ist, betrieben. Wenn festgestellt wurde, welche Eigenschaften 18 gemeinsam
durch die Vorrichtung 12 und die bilaterale Vorrichtung 12C unterstützt werden,
wird die Übereinstimmung 32 eine
entsprechende Erklärung 34B zu der
Vorrichtung 12 erzeugen, die die Quelle der Erklärung 34A ist,
wie es oben beschrieben ist. Wie ferner oben beschrieben, wird eine
Erklärung 34B eine Antwortliste
von übereinstimmenden
Eigenschaften (R-Übereinstimmung-Liste) 36A umfassen,
die Identifikationen der Eigenschaften 18 enthält, die
gegenseitig durch die bilaterale Vorrichtung 12C und die Vorrichtung 12 unterstützt werden,
die die Erklärung 34A ausgibt,
und kann eine Antwortprotokollversion (RPVer) 36B umfassen,
die die Version des Protokolls 26 identifiziert, das derzeit
durch die bilaterale Vorrichtung 12C für diese Eigenschaften 18 verwendet
wird. Wie bezüglich
der anfordernden Vorrichtungen 12A beschrieben, wird eine
Vorrichtung 12, die eine Erklärung 34B zu einer
Erklärung 34A von
einer bilateralen Vorrichtung 12C empfängt, die Informationen, die
in der Erklärung 34B enthalten
sind, in einer Übereinstimmungstabelle 40 speichern,
und wird alle Anforderungen 22 zu der bilateralen Vorrichtung 12C,
die die Erklärung 34B geliefert
hat, gegen die entsprechenden Einträge in der Übereinstimmungstabelle 40 prüfen, so
daß die
Vorrichtung 12 keine Anforderung 22 einer Eigenschaft 18 zu
der bilateralen Vorrichtung 12 übermitteln wird, die nicht
gegenseitig durch die Vorrichtung 12 und die bilaterale
Vorrichtung 12C unterstützt
wird.
-
Wie
beschrieben, kann es erforderlich sein, daß eine bilaterale Vorrichtung 12C Anforderungen 22 zu
anderen Vorrichtungen 12 erzeugt, und für diesen Zweck wird die Übereinstimmung 32 der
bilateralen Vorrichtung 12C eine oder mehrere Erklärungen 34A zu
den Vorrichtungen 12 erzeugen, zu denen dieselbe Anforderungen 22 ausgeben
wird, wie es oben hinsichtlich der anfordernden Vorrichtungen 12A beschrieben
ist, und wird eine Übereinstimmungstabelle 40 aufbauen,
die einen Übereinstimmungseintrag
für und
entsprechend jeder Vorrichtung 12, von der die bilaterale
Vorrichtung 12C eine Erklärung 34B empfängt, enthalten.
Wie beschrieben, enthält
jeder Übereinstimmungseintrag 38 Identifikationen
von jeder der Eigenschaften 18, die gemeinsam durch die
bilaterale Vorrichtung 12C und die entsprechende Vorrichtung 12 unterstützt werden,
zu der dieselbe eine Anforderung 22 ausgeben wird, und
kann eine PVer 30B umfassen, die die Version des Protokolls 26 identifiziert,
das derzeit durch die entsprechende Vorrichtung 12 verwendet
wird. Wie beschrieben, kann eine bilaterale Vorrichtung 12C mehrere
Protokolle 26 oder mehrere Versionen eines Protokolls 26 unterstützen, und
kann dementsprechend mehrere Erklärungen 34A erzeugen
und mehrere Erklärungen 34B empfangen,
oder kann die Informationen der Erklärung 34A für jedes
Protokoll 26 oder jede Version eines Protokolls 26 in
einer einzigen kombinierten Erklärung 34A aufnehmen,
und kann eine einzige Erklärung 34B von
einer gegebenen Vorrichtung 12 empfangen. In jedem Fall
wird die Übereinstimmung 32 der
anfordernden Vorrichtung 12A die Informationen des Übereinstimmungseintrags 38 für jedes
Protokoll 26 oder jede Version eines Protokolls 26 aus
den einzelnen Erklärungen 34B oder
der kombinierten Erklärung 34B extrahieren
und wird dementsprechend Übereinstimmungseinträge 38 aufbauen.
Wiederum kann ein gegebener Übereinstimmungseintrag 38 unter
mehreren Vorrichtungen 12 gemeinsam verwendet werden, mit denen
die anfordernde Vorrichtung 12A kommunizieren soll, wenn
die entsprechenden Protokolle 26 oder Versionen eines Protokolls 26 hinsichtlich
der unterstützten
Eigenschaften 18 funktionell ähnlich sind.
-
Eine
bilaterale Vorrichtung 12C wird dadurch hinsichtlich jeder
Vorrichtung 12, zu der dieselbe eine Anforderung 22 einer
Eigenschaft 18 ausgibt, durch Übertragen von einer oder mehreren
Erklärungen 34A zu
jeder solchen Vorrichtung 12, Empfangen von einer oder
mehreren entsprechenden Erklärungen 34B und
Aufbauen einer Übereinstimmungstabelle 40 initialisiert.
Eine bilaterale Vorrichtung 12C kann hinsichtlich einer
gegebenen Vorrichtung 12 zu einem beliebigen Zeitpunkt
initialisiert werden, beispielsweise wenn eine Vorrichtung 12 zu
einem System 10 hinzugefügt wird oder auf eine andere
Art und Weise in dem System 10 aktiviert wird, so daß sich die
Gruppe der Vorrichtung 12, die durch eine bilaterale Vorrichtung 12C unterstützt wird, über die
Zeit ändern
kann.
-
Sobald
die Funktionseinheit 20 einer bilateralen Vorrichtung 12C hinsichtlich
einer gegebenen Vorrichtung 12 initialisiert ist, kann
dieselbe Anforderungen 22 nach Eigenschaften 18 zu
der Vorrichtung 12 erzeugen. Wenn die Funktionseinheit 20 eine
Anforderung 22 zu einer Vorrichtung 12 erzeugt,
wird die Übereinstimmung 32 der
bilateralen Vorrichtung 12C die Anforderung 22 abfangen
oder erfassen, die durch die Funktionseinheit 20 erzeugt
wird, und wird die Vorrichtung 12, zu der die Anforderung 22 gerichtet
ist, und die Eigenschaft 18 bestimmen, die in der Anforderung 22 identifiziert
ist. Die Übereinstimmung 32 wird
dann den Übereinstimmungseintrag 38 der Übereinstimmungstabelle 40 lesen,
der der Vorrichtung 12 entspricht, zu der die Anforderung 22 gerichtet
ist, und wird die angeforderte Eigenschaft 18 mit den Eigenschaften 18 vergleichen,
die gemeinsam durch die bilaterale Vorrichtung 12C und
die Vorrichtung 12 unterstützt werden, zu der die Anforderung 22 gerichtet
ist. Wenn die Vorrichtung 12 die angeforderte Eigenschaft 18 unterstützt, wird
es die Übereinstimmung 32 der
Protokollvorrichtung 24 ermöglichen, die Anforderung 22 zu
der Vorrichtung 12 zu kommunizieren. Wenn die Vorrichtung 12 die
angeforderte Eigenschaft 18 nicht unterstützt, wird
die Übereinstimmung 32 die
Anforderung 22 beenden und eine geeignete Nachricht zu
der Funktionseinheit 20 senden, daß die angeforderte Eigenschaft
nicht durch diese Vorrichtung 12 verfügbar ist. Bei weiteren Ausführungsbeispielen
der vorliegenden Erfindung und beim Erfassen, daß die Vorrichtung 12,
zu der eine Anforderung 22 gerichtet ist, nicht die angeforderte
Eigenschaft 18 unterstützt,
kann die Übereinstimmung 32 Übereinstimmungseinträge 38 suchen, um
eine Vorrichtung 12 zu identifizieren, die die angeforderte
Eigenschaft 18 unterstützt.
Die Übereinstimmung 32 kann
dann eine Nachricht zu der Funktionseinheit 20 erzeugen,
die die Vorrichtung 12 identifiziert, die die angeforderte
Eigenschaft 18 unterstützt,
so daß die
Funktionseinheit 20 eine Anforderung 22 erzeugen
kann, die zu der Vorrichtung 12 gerichtet ist, die die
Eigenschaft 18 unterstützt,
oder eine Übereinstimmung 32 kann
die Anforderung 22 zu dieser Vorrichtung 12 umleiten
und eine Nachricht zu der Funktionseinheit 20 erzeugen,
daß die
Anforderung 22 zu der Vorrichtung 12, die die
Eigenschaft 18 unterstützt,
umgeleitet wurde.
-
E. Zusammenfassung und
alternative
-
Ausführungsbeispiele
-
Zusammenfassend
sieht die vorliegende Erfindung eine Vorrichtung und ein Verfahren
zum Korrelieren und Übereinstimmen
von gegenseitig unterstützten
Eigenschaften von Systemvorrichtungen unter Verwendung eines Protokolls
vor, um Anforderungen von Eigenschaften und Antworten auf Eigenschaften
zu kommunizieren. Wie beschrieben, kommuniziert eine erste Vorrichtung
eine Liste der Eigenschaften, die durch die erste Vorrichtung unterstützt werden,
zu einer zweiten Vorrichtung, mit der dieselbe hinsichtlich der
Eigenschaften kommunizieren soll, wobei die zweite Vorrichtung die
Eigenschaften bestimmt, die gemeinsam durch die erste und die zweite
Vorrichtung unterstützt
werden, und die erste Vorrichtung über die Eigenschaften informiert,
die gemeinsam durch die Vorrichtungen unterstützt werden. Die erste Vorrichtung
verwendet dann die Informationen, die von der zweiten Vorrichtung
hinsichtlich gegenseitig unterstützter
Eigenschaften empfangen wurden, beim Erzeugen von Anforderungen
von Eigenschaften zu der zweiten Vorrichtung, so daß die erste
Vorrichtung lediglich jene Eigenschaften anfordert, die gemeinsam
durch die zwei Vorrichtungen unterstützt werden.
-
Es
ist offensichtlich, daß die
vorliegende Erfindung eine Zahl von Vorteilen gegenüber Verfahren des
Stands der Technik bietet. Beispielsweise ist es nicht erforderlich,
daß eine
Vorrichtung alle Eigenschaften eines Protokolls unterstützt, sondern
lediglich jene Eigenschaften unterstützt, die zu der Vorrichtung
notwendig sind, wodurch der Aufbau von einfacheren und weniger aufwendigen
Vorrichtungen ermöglicht
wird. Alternativ kann eine Vorrichtung entworfen sein, um mehrere
Protokolle oder mehrere Versionen eines Protokolls zu unterstützen. Die
gesamte Kommunikation zwischen dieser Vorrichtung und anderen Vorrichtungen
wird jedoch lediglich in dem Protokoll oder in der Protokollversion
stattfinden, die gemeinsam durch die Vorrichtungen unterstützt werden,
wodurch die Inkompatibilität
und Fehler zwischen den Vorrichtungen reduziert werden. Zusätzlich werden
die Fehler oder die Unfähigkeit,
zu kommunizieren, die zwischen Vorrichtungen auftritt, die unterschiedliche
Versionen eines Protokolls unterstützen, reduziert, da die Vorrichtungen
Eigenschaften bestimmen können,
die gemeinsam in unterschiedlichen Versionen des Protokolls unterstützt werden,
wodurch Betriebsfehler aufgrund von Eigenschaften, die nicht gegenseitig
unterstützt
werden, vermieden werden, und mindestens eine Teilkommunikation
und eine gegenseitige Unterstützung
von einigen Eigenschaften eingerichtet wird.
-
Es
ist für
Fachleute offensichtlich, daß es
einen Bereich von alternativen Ausführungsbeispielen der vorliegenden
Erfindung gibt, ohne von den wesentlichen Prinzipien der vorliegenden
Erfindung abzuweichen, wobei bestimmte derselben hierin im vorhergehenden
erörtert
sind. Es ist beispiels weise in der obigen Beschreibung der vorliegenden
Erfindung angenommen, daß die
Eigenschaftskorrelations- und Übereinstimmungs-Vorrichtung
der vorliegenden Erfindung unter Vorrichtungen 12 durch
ein Protokoll 26 kommuniziert, das unter den Vorrichtungen 12 gemeinsam
verwendet wird. Das heißt,
daß die
Eigenschaften 18 eines Protokolls 26, das durch
die Vorrichtungen 12 unterstützt wird, in denen die vorliegende
Erfindung implementiert werden soll, durch die Hinzufügung von
einer oder mehreren Eigenschaften 18 erweitert werden,
die den Betrieb der Eigenschaftskorrelations- und Übereinstimmungsvorrichtungen
der vorliegenden Erfindung unterstützen. Bei anderen Ausführungsbeispielen
kann ein zweckgebundenes Protokoll 26 für diesen Zweck entwikkelt werden,
das systemspezifisch oder schließlich als ein Industriestandardprotokoll
zur Verwendung in einer Vielfalt von Systemen und Protokollvorrichtungen 24 entwickelt
ist, die vergrößert werden,
um das Eigenschaftsübereinstimmungsprotokoll
auszuführen. Bei
noch einem weiteren Beispiel ist es offensichtlich, daß es bei
vielen Implementationen der Eigenschaftsübereinstimmungsvorrichtungen
der vorliegenden Erfindung nicht notwendig ist, Protokollversionsinformationen,
sondern lediglich Informationen hinsichtlich der Eigenschaften 18,
die gegenseitig durch die Vorrichtungen 12 unterstützt werden,
zu kommunizieren. Diese Situation kann beispielsweise in solchen
Fällen
auftreten, bei denen die Vorrichtungen die gleiche Version eines
Protokolls verwenden, oder wenn die Implementation einer Eigenschaft nicht
von der Version eines Protokolls abhängt, d. h. wenn die Eigenschaften
eines Protokolls auf die gleiche Art und Weise über alle Versionen eines Protokolls
ausgeführt
werden, und lediglich die Eigenschaften, die nicht unterstützt werden,
sich mit den Versionen des Protokolls ändern. Bei einem weiteren Beispiel
kann der Austausch von Protokollinformationen bei Fällen nicht
erforderlich sein, bei denen die Versionsunterschiede für den Betrieb
der Eigenschaftsübereinstimmungsvorrichtungen
der vorliegenden Erfindung, die in einem gegebenen System implementiert
sind, nicht wesentlich sind, oder bei denen die Eigenschaftsüber einstimmungsvorrichtungen
der vorliegenden Erfindung auf eine andere Art und Weise implementiert
sind, um keine Protokollversionsinformationen zu erfordern, als
ob ein Fehlen einer Antwort aufgrund einer fehlenden Unterstützung eines
Protokolls als eine Antwort akzeptiert wird, die anzeigt, daß die Eigenschaften
tatsächlich
nicht unterstützt
werden.
-
Ferner
wurde oben beschrieben, daß eine Vorrichtung
eine Erklärung
ausgeben wird, die die Eigenschaften angibt, die durch die Vorrichtung
unterstützt
werden, und Erklärungen
von anderen Vorrichtungen empfangen wird, die die Eigenschaften
angeben, die dieselben gemeinsam mit der Vorrichtung, die die Erklärung ausgibt,
unterstützen,
wobei danach Einträge
in einer Übereinstimmungseigenschaftstabelle
aufgebaut werden, um Informationen zu speichern, die die Eigenschaften
identifizieren, die gemeinsam mit jeder anderen Vorrichtung unterstützt werden.
Bei einem alternativen Ausführungsbeispiel der
anfordernden Vorrichtungen 12A, der antwortenden Vorrichtungen 12B oder
der bilateralen Vorrichtungen 12C, wie in 2 dargestellt
und wie oben beschrieben, kann jede Vorrichtung 12 zu allen
anderen Vorrichtungen 12 eine Erklärung 34A senden, die eine
Aufstellung der Eigenschaften enthält, die durch die Vorrichtung
unterstützt
werden, wie es oben hinsichtlich der Erklärungen 34A beschrieben
ist. Das heißt
beispielsweise, daß die
Sendeerklärung 34A Eigenschaftseinträge 30A enthält und Protokollversionsinformationen,
wenn notwendig oder gewünscht, wie
z. B. PVer 30B, umfassen kann. Jede Vorrichtung 12 wird
entsprechend ähnliche
Sendeerklärungen 34A von
anderen Vorrichtungen 12 des Systems empfangen, wobei jede
derselben die Eigenschaften 18 und die Version eines Protokolls 26 identifiziert, die
durch die Vorrichtung 12 unterstützt werden, die die Erklärung 34A sendet.
Jede Vorrichtung 12 wird dann eine Übereinstimmungstabelle 40,
die Übereinstimmungseinträge 38 für und entsprechend
den Erklärungen 34A enthält, die
von anderen Vorrichtungen 12 empfangen werden, durch Vergleichen
der Eigenschaften 18 und der Versionen des Protokolls 26, die
in den Sendeerklärun gen 34A von
anderen Vorrichtungen 12 identifiziert sind, mit den Eigenschaften 18 und
der Version des Protokolls 26, die durch die Vorrichtung 12 unterstützt werden,
wie es in der DS-Tabelle 30 der Vorrichtung 12 identifiziert
ist, aufbauen, wodurch die Eigenschaften 18 bestimmt sind, die
gegenseitig zwischen der Vorrichtung 12 und jeder anderen
Vorrichtung 12 des Systems unterstützt werden. Es ist offensichtlich,
daß diese
Implementation lediglich erfordert, daß jede Vorrichtung 12 eine Erklärung 34A sendet
und ähnlicherweise
Sendeerklärungen 34A von
anderen Vorrichtungen empfängt, und
keine zweistufige bilaterale Kommunikation einer Erklärung 34A und
einer Erklärung 34B für jede andere
Vorrichtung in dem System erfordert.