DE60023429T2 - Geräteregistrierung in einem Netzwerk - Google Patents

Geräteregistrierung in einem Netzwerk Download PDF

Info

Publication number
DE60023429T2
DE60023429T2 DE60023429T DE60023429T DE60023429T2 DE 60023429 T2 DE60023429 T2 DE 60023429T2 DE 60023429 T DE60023429 T DE 60023429T DE 60023429 T DE60023429 T DE 60023429T DE 60023429 T2 DE60023429 T2 DE 60023429T2
Authority
DE
Germany
Prior art keywords
log
request
logged
initiator
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60023429T
Other languages
English (en)
Other versions
DE60023429D1 (de
Inventor
Fumio Suwa-shi Nagano-ken Nagasaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE60023429D1 publication Critical patent/DE60023429D1/de
Application granted granted Critical
Publication of DE60023429T2 publication Critical patent/DE60023429T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Cereal-Derived Products (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Bereich der Erfindung
  • Die vorliegende Erfindung betrifft eine Technik, die ein Einloggen von mehreren sich einloggenden Vorrichtungen in eine eingeloggte Vorrichtung über einen vorbestimmten Kommunikationspfad erzielt. Genauer gesagt betrifft die vorliegende Erfindung eine Technik, die vorzugsweise im Falle einer Kommunikation zwischen mehreren Vorrichtungen gemäß einem SBP(serielles Busprotokoll)-2-Protokoll in einem System, in dem die Vorrichtungen gemeinsam über einen IEEE1394-Bus verbunden sind, angewendet wird.
  • 2. Beschreibung des Standes der Technik
  • Der IEEE1394 ist ein serieller Busstandard, der von der IEEE vorgeschlagen wurde und zur Übertragung von digitalen Daten verwendet wird, und ist durch "IEEE STD. 1394–1995 IEEE Standard für einen seriellen Hochleistungsbus" definiert.
  • Das SBP-2-Protokoll (im folgenden als das SBP-2 bezeichnet) wird zur Standardisierung von ANSI-X3T10 in den Vereinigten Staaten empfohlen und ist ein Protokoll einer Transportschicht, die konform mit dem IEEE1394-Standard entwickelt ist.
  • In einem System, in dem mehrere Vorrichtungen gemeinsam über einen IEEE1394-Bus verbunden sind, wird in einem Fall, in dem das SBP-2 zur Kommunikation zwischen den Vorrichtungen angewendet wird, die Vorrichtung, die einen allgemeinen Speicher aufweist, als Initiator bezeichnet, und die Vorrichtung, die den allgemeinen Speicher nicht aufweist, wird als ein Ziel bezeichnet.
  • Das Ziel weist mindestens eine logische Einheit auf, die jeweils einen Dienst bereitstellt. Der Initiator erfordert ein Einloggen in die logische Einheit, die in dem Ziel enthalten ist, und das Erhalten eines Rechts zur Verwendung der logischen Einheit, die den Dienst bereitstellt. Entsprechend einer konkreten Prozedur gibt der Initiator eine Anforderung eines Einloggens an die logische Einheit, die in dem Ziel enthalten ist, aus und empfängt eine Antwort hinsichtlich des Akzeptierens des Einloggens von der logischen Einheit.
  • Wenn die Verwendung der logischen Einheit beendet ist, loggt sich der Initiator aus der logischen Einheit, die in dem Ziel enthalten ist, aus und gibt das Recht zur Verwendung der logischen Einheit auf. Entsprechend einer konkreten Prozedur gibt der Initiator eine Anforderung des Ausloggens an die logische Einheit, die in dem Ziel enthalten ist, aus und empfängt eine Antwort hinsichtlich des Akzeptierens des Ausloggens von der logischen Einheit.
  • Eine Anzahl von Initiatoren, die sich gleichzeitig Einloggen können (eine erlaubte Anzahl von gleichzeitigen Einloggungen) wird im Voraus in der Entwicklungsstufe in Bezug auf jede logische Einheit, die in dem Ziel enthalten ist, bestimmt. In dem Fall, in dem die Anzahl der Initiatoren, die derzeitig in eine bestimmte logische Einheit, die in dem Ziel enthalten ist, eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen, die in Bezug auf die logische Einheit eingestellt ist, erreicht, gibt die logische Antwort eine Antwort hinsichtlich des Fehlschlagens des Einloggens zu jedem anderen Initiator, der noch nicht eingeloggt ist und derzeitig eine Anforderung eines Einloggens ausgibt, aus.
  • Nach dem Empfang der Antwort hinsichtlich des Fehlschlagens des Einloggens, die von der logischen Einheit ausgegeben wird, gibt der Initiator wiederholt die Anforderung eines Einloggens an die logische Einheit in voreingestellten Zeitintervallen aus, um eine Antwort hinsichtlich des Akzeptierens des Einloggens zu erhalten. Wenn sich einer der Initiatoren, die in die logische Einheit eingeloggt sind, ausloggt, wird die Anzahl der Initiatoren, die in der logischen Einheit eingeloggt sind, kleiner als die erlaubte Anzahl von gleichzeitigen Einloggungen. Beim Empfang einer nächsten Anforderung eines Einloggens von dem Initiator, der wiederholt die Anforderung eines Einloggens ausgibt, gibt die logische Einheit eine Antwort hinsichtlich des Akzeptierens des Einloggens an den Initiator aus. Der Initiator, der wiederholt die Anforderung eines Einloggens ausgegeben hat, ist dementsprechend beim Einloggen in die logische Einheit erfolgreich und erlangt ein Recht zur Verwendung der logischen Einheit.
  • Die folgenden Probleme treten jedoch in der Technik gemäß dem Stand der Technik auf. In einem Beispiel wird angenommen, dass ein erster Initiator zuerst eine Anforderung eines Einloggens an eine bestimmte logische Einheit, die in dem Ziel enthalten ist, ausgibt, und ein zweiter Initiator danach eine Anforderung eines Einloggens an die bestimmte logische Einheit auszugeben beginnt, während die Anzahl der Initiatoren, die derzeitig in der bestimmten logischen Einheit eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen erreicht. Unter einer derartigen Bedingung fahren sowohl der erste Initiator als auch der zweite Initiator fort, die Anforderung eines Einloggens an die logische Einheit zu unter schiedlichen Zeitpunkten mit voreingestellten Zeitintervallen auszugeben. Wenn irgendeiner der Initiatoren, der in der logischen Einheit eingeloggt ist, sich ausloggt, gibt in einigen Fällen der erste Initiator eine nächste Anforderung eines Einloggens zu einem früheren Zeitpunkt als dem Zeitpunkt aus, zu dem der zweite Initiator eine nächste Anforderung eines Einloggens ausgibt. In diesem Fall erlangt der Initiator, der das Ausgeben einer Anforderung eines Einloggens zuerst begonnen hat, die Möglichkeit, sich zuerst einzuloggen. Dieses verursacht kein Problem. In anderen Fällen jedoch gibt der erste Initiator eine nächste Anforderung eines Einloggens zu einem späteren Zeitpunkt als dem Zeitpunkt, zu dem der zweite Initiator eine nächste Anforderung eines Einloggens ausgibt, aus. In diesem Fall erlangt der zweite Initiator, der später begonnen hat, die Anforderung eines Einloggens auszugeben, die Möglichkeit des Einloggens vor dem ersten Initiator.
  • Wenn andere Initiatoren zusätzlich zum zweiten Initiator starten, die Anforderung eines Einloggens auszugeben, können diese Initiatoren sich vor dem ersten Initiator in die logische Einheit einloggen. In diesem Fall braucht der erste Initiator eine unerwünscht lange Zeit, um sich in die logische Einheit einloggen zu können und ein Recht zur Verwendung der logischen Einheit zu erlangen.
  • Das Dokument US 5734909 beschreibt ein Verfahren und ein System zum Steuern des Sperrens und Entsperrens (locking and unlocking) von Systemressourcen in einer verteilten Computerumgebung mit geteilten Ressourcen. Informationen über eine Warteanforderung werden in Steuerstrukturen bewahrt; dann wird derselbe Prozess, der eine Ressource freigibt, verwendet, um auf in einer Warteschlange angeordnete Anforderungen für diese Ressource zu antworten. Ein Computerprozessor führt Prozesskommunikationen mit mehreren fernen Computerprozessoren über ein Netzwerk durch. Das Computersystem weist mehrere Ressourcen, die mit einem Zentralcomputer verbunden sind, auf. Ein Client fordert den Zugriff auf eine Ressource wie z.B. eine Serverdatendatei an, wenn der Client die Ressource nutzen muss. Der Zugriff auf die Ressourcen wird verwaltet, wenn mehrere Clients versuchen, dieselben Ressourcen gleichzeitig zu verwenden. Um komplexe Sperrstrukturen und ein Ausbilden von Warteschlangen für die Sperrungen einer Ressource zu vermeiden, wird vorgeschlagen, Sperrungen zurückzuweisen, wenn ein Wettbewerb vorhanden ist, wobei der Anforderer der Sperrung aufgefordert wird, die Sperrung zu einem späteren Zeitpunkt erneut zu versuchen.
  • Das Dokument US 4199661 beschreibt ein Verfahren und eine Vorrichtung zum Eliminieren von Konflikten auf einem Kommunikationskanal, und insbesondere auf einem geteilten Kommunikationskanal, der mehrere aktive Stationen aufweist, die jeweils in der Lage sind, die Verwendung des Kanals aufzunehmen. Ein Zähler an jeder Station enthält eine Darstellung der Identität der Station, die die derzeitige Möglichkeit hat, die Verwendung des Kanals aufzunehmen. Die Darstellung wird sequentiell geändert, um jeder Station die Möglichkeit zu geben, die Verwendung des Kanals aufzunehmen, und jede Station, der eine derartige Möglichkeit nicht gegeben wird, wird daran gehindert, den Kanal zu verwenden. Die Darstellungen in den Zählern werden jedes Mal synchronisiert, wenn eine Station die Verwendung des Kanals aufnimmt, und können ebenfalls synchronisiert werden, wenn keine Station die Verwendung des Kanals aufnimmt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Aufgabe der vorliegenden Erfindung ist es somit, eine Technik bereitzustellen, die praktisch gewährleistet, dass ein Initiator, der mit dem Ausgeben einer Anforderung eines Einloggens in ein Ziel zuerst beginnt, sich zuerst Einloggen kann.
  • Zumindest ein Teil der obigen und der weiteren betreffenden Aufgaben wird durch eine eingeloggte Vorrichtung, in die von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird, gelöst. Die eingeloggte Vorrichtung enthält: eine Antworteinheit, die eine Antwort hinsichtlich des Fehlschlagens eines Einloggens an eine bestimmte interessierende Vorrichtung gibt, die gerade einer Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl von bestimmten Vorrichtungen, die derzeitig in der eingeloggten Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht; und eine Wiederanforderungszeitpunktbestimmungseinheit, die einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens eines Einloggens empfangen hat, eine weitere Anforderung des Einloggens ausgeben sollte.
  • In der eingeloggten Vorrichtung der vorliegenden Erfindung gibt in dem Fall, in dem die Anzahl der bestimmten Vorrichtungen, die derzeitig in der eingeloggten Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, die Antworteinheit die Antwort hinsichtlich des Fehlschlagens des Einloggens an die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat, aus. Die Wiederanforderungszeitpunktbestim mungseinheit bestimmt dann den Zeitpunkt der Wiederanforderung des Einloggens, um den Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung des Einloggens ausgeben sollte.
  • In der eingeloggten Vorrichtung der vorliegenden Erfindung kann die Wiederanforderungszeitpunktbestimmungseinheit unterschiedliche Zeitpunkte der Wiederanforderung eines Einloggens den bestimmten Vorrichtungen, die auf das Einloggen warten, zuweisen. Der Zeitpunkt der Wiederanforderung eines Einloggens wird somit bestimmt, um es der bestimmten interessierenden Vorrichtung, die die Anforderung eines Einloggens zuerst ausgegeben hat, zu ermöglichen das Einloggen zuerst durchzuführen. Diese Anordnung gewährleistet praktisch, dass die bestimmte Vorrichtung, die das Ausgeben der Anforderung eines Einloggens zuerst an die eingeloggte Vorrichtung gestartet hat, das Einloggen zuerst durchführt.
  • In dieser Beschreibung ist das Einloggen ein Prozess des Erlangens eines Rechtes zur Verwendung der eingeloggten Vorrichtung.
  • Gemäß einer bevorzugten Anwendung der eingeloggten Vorrichtung enthält die Wiederanforderungszeitpunktbestimmungseinheit: eine Vorrangbestimmungseinheit, die der bestimmten interessierenden Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat, eine Ordnungsnummer des Vorrangs zuweist, und eine Wiederanforderungszeitpunktfestlegungseinheit, die den Zeitpunkt der Wiederanforderung eines Einloggens in Bezug auf die bestimmte interessierende Vorrichtung auf der Grundlage der Ordnungsnummer des Vorrangs, die der bestimmten interessierenden Vorrichtung zugewiesen ist, festlegt.
  • Diese Anordnung ermöglicht es, den Zeitpunkt der Wiederanforderung eines Einloggens entsprechend der Ordnungsnummer des Vorrangs, die der jeweiligen bestimmten Vorrichtung, die auf das Einloggen wartet, zugewiesen ist, zu bestimmen.
  • Entsprechend einer anderen bevorzugten Anwendung der vorliegenden Erfindung enthält die eingeloggte Vorrichtung mindestens eine logische Einheit, in die unabhängig von jeder der bestimmten Vorrichtungen eingeloggt wird. Die Antworteinheit gibt eine Antwort hinsichtlich des Fehlschlagens des Einloggens in Bezug auf eine bestimmte logische Einheit an eine bestimmte interessierende Vorrichtung aus, die gerade eine Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat, wenn eine Anzahl der bestimmten Vorrichtungen, der derzeitig in der bestimmten logischen Einheit eingeloggt sind, eine erlaubte Anzahl von gleichzeitigen Einloggungen, die für die bestimmte logische Einheit eingestellt ist, erreicht. Die Wiederanforderungszeitpunktbestimmungseinheit bestimmt einen Zeitpunkt der Wiederanforderung eines Einloggens, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die grade die Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens an die bestimmte logische Einheit ausgeben sollte.
  • In der Struktur, bei der die eingeloggte Vorrichtung eine oder mehrere logische Einheiten enthält, in die unabhängig eingeloggt wird, ermöglicht diese Anordnung, dass der Zeitpunkt der Wiederanforderung eines Einloggens, zu dem die bestimmte. Vorrichtung eine weitere An forderung eines Einloggens ausgeben sollte, in Bezug auf jede logische Einheit bestimmt werden kann.
  • Die vorliegende Erfindung ist ebenfalls auf eine Einlogg-Vorrichtung gerichtet, die sich in eine bestimmte Vorrichtung über einen vorbestimmten Kommunikationspfad einloggt. Die Einlogg-Vorrichtung enthält eine Einlogg-Anforderungseinheit, die eine Anforderung eines Einloggens an die bestimmte Vorrichtung ausgibt und, wenn sie eine Antwort hinsichtlich des Fehlschlagens des Einloggens und eine Bestimmung eines Zeitpunkts der Wiederanforderung von der bestimmten Vorrichtung empfängt, eine weitere Anforderung eines Einloggens an die bestimmte Vorrichtung zu dem bestimmten Zeitpunkt der Wiederanforderung ausgibt.
  • In der Einlogg-Vorrichtung der vorliegenden Erfindung gibt die Einlogg-Anforderungseinheit die Anforderung eines Einloggens erneut an die bestimmte Vorrichtung zu dem Zeitpunkt der Wiederanforderung eines Einloggens, der von der bestimmten Vorrichtung bestimmt wird, aus. Der Zeitpunkt der Wiederanforderung eines Einloggens kann bestimmt werden, um es der bestimmten Vorrichtung, die die Anforderung eines Einloggens zuerst ausgegeben hat, zu ermöglichen sich zuerst einzuloggen. Diese Anordnung gewährleistet praktisch, dass die bestimmte Vorrichtung, die das Ausgeben der Anforderung eines Einloggens in die eingeloggte Vorrichtung zuerst gestartet hat, sich zuerst einloggen kann.
  • Die vorliegende Erfindung ist außerdem auf ein System zur Kommunikation zwischen Vorrichtungen gerichtet, bei dem in eine eingeloggte Vorrichtung von mehreren Einlogg-Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird. Die eingeloggte Vorrichtung enthält: eine Antworteinheit, die eine Antwort hinsichtlich des Fehlschlagens des Einloggens an eine interessierende Einlogg-Vorrichtung ausgibt, die grade eine Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl der Einlogg-Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, und eine Wiederanforderungszeitpunktbestimmungseinheit, die einen Zeitpunkt der Wiederanforderung des Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die interessierende Einlogg-Vorrichtung, die grade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgeben sollte. Jede der Einlogg-Vorrichtungen enthält eine Einlogg-Anforderungseinheit, die die Anforderung eines Einloggens an die eingeloggte Vorrichtung ausgibt und, wenn sie die Antwort hinsichtlich des Fehlschlagens des Einloggens und die Bestimmung des Zeitpunktes der Wiederanforderung von der eingeloggten Vorrichtung empfängt, eine weitere Anforderung eines Einloggens an die eingeloggte Vorrichtung zu dem bestimmten Zeitpunkt der Wiederanforderung ausgibt.
  • Das System zur Kommunikation zwischen Vorrichtungen der vorliegende Erfindung gewährleistet praktisch, dass die Einlogg-Vorrichtung, die das Ausgeben der Anforderung eines Einloggens an die eingeloggte Vorrichtung zuerst gestartet hat, sich zuerst einloggen kann.
  • Die vorliegende Erfindung ist ebenfalls auf ein Verfahren zum Steuern des Einloggens gerichtet, um es mehreren Einlogg-Vorrichtungen zu ermöglichen, sich in mindestens eine logische Einheit, die in einer eingeloggten Vorrichtung enthalten ist, über einen vorbestimmten Kommunikationspfad einzuloggen. Das Verfahren enthält die Schritte: (a) Bewirken, dass die eingeloggte Vorrichtung eine Antwort hinsichtlich des Fehlschlagens eines Einloggens in Bezug auf eine bestimmte logische Einheit einer interessierenden Einlogg-Vorrichtung gibt, die grade eine Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat, wenn eine Anzahl von Einlogg-Vorrichtungen, die derzeitig in die bestimmte logische Einheit eingeloggt sind, eine erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, die für die bestimmte logische Einheit voreingestellt ist; (b) Bewirken, dass die eingeloggte Vorrichtung einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die interessierende Einlogg-Vorrichtung, die grade die Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens an die bestimmte logische Einheit ausgeben sollte; und (c) Bewirken, dass die interessierende Einlogg-Vorrichtung eine weitere Anforderung eines Einloggens an die bestimmte logische Einheit, die in der eingeloggten Vorrichtung enthalten ist, zu dem vorbestimmten Zeitpunkt der Wiederanforderung ausgibt, wenn die interessierende Einlogg-Vorrichtung die Antwort hinsichtlich des Fehlschlagens des Einloggens in Bezug auf die bestimmte logische Einheit und die Bestimmung des Zeitpunkts der Wiederanforderung von der eingeloggten Vorrichtung empfängt.
  • In dem Verfahren der vorliegenden Erfindung kann die eingeloggte Vorrichtung den Einlogg-Vorrichtungen, die auf das Einloggen warten, unterschiedliche Zeitpunkte der Wiederanforderung eines Einloggens zuweisen. Der Zeitpunkt der Wiederanforderung eines Einloggens wird somit bestimmt, um es der interessierenden Einlogg-Vorrichtung, die die Anforderung eines Einloggens zuerst ausgegeben hat, zu ermöglichen sich zuerst einzuloggen. Diese Anordnung gewährleistet praktisch, dass sich die Einlogg- Vorrichtung, die das Ausgeben der Anforderung eines Einloggens an die eingeloggte Vorrichtung zuerst gestartet hat, zuerst einloggen kann.
  • Gemäß einer bevorzugten Anwendung des Verfahrens enthält der Schritt (b) den Schritt des Bewirkens, dass die eingeloggte Vorrichtung Ordnungsnummern des Vorrangs den Einlogg-Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen eines Einloggens an die bestimmte logische Einheit zuweist, und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer Einlogg-Vorrichtung, die eine größere Ordnungsnummer des Vorrangs aufweist, zuweist. Diese Anordnung bewirkt, dass die interessierende Einlogg-Vorrichtung, die die erste Anforderung eines Einloggens zuerst ausgegeben hat, die höhere Ordnungsnummer des Vorrangs und den kürzeren Zeitpunkt der Wiederanforderung eines Einloggens aufweist. Im Vergleich zu den anderen Einlogg-Vorrichtungen gibt die interessierende Einlogg-Vorrichtung, die die erste Anforderung eines Einloggens zuerst ausgegeben hat, eine weitere Anforderung eines Einloggens zu dem kürzesten Zeitpunkt der Wiederanforderung aus, und gibt dadurch eine größte Anzahl von Anforderungen eines Einloggens je Zeiteinheit aus. In dem Fall, in dem sich eine der Einlogg-Vorrichtungen, die sich eingeloggt hat, ausloggt, besteht eine gute Möglichkeit, dass die interessierende Einlogg-Vorrichtung die nächste Anforderung eines Einloggens zuerst ausgibt und sich zuerst einloggt.
  • Die vorliegende Erfindung ist außerdem auf ein erstes Computerprogrammprodukt gerichtet, das bewirkt, dass ein Computer eine Abfolge von eingeloggten Verarbeitungen ausführt, wobei in den Computer von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird. Das erste Computerprogrammprodukt enthält: einen ersten Programmcode, der bewirkt, dass der Computer eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer bestimmten interessierenden Vorrichtung gibt, die grade eine Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht; einen zweiten Programmcode, der bewirkt, dass der Computer einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die grade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgeben sollte; und ein computerlesbares Medium, auf dem der erste Programmcode und der zweite Programmcode gespeichert sind.
  • In dieser Beschreibung kann der Computer ein Personalcomputer, ein mobiler Computer, ein Informationsverarbeitungsterminal, eine Arbeitsstation, ein beliebiger anderer Computer, eine beliebige periphere Einrichtung, die praktisch die Funktionen des Computers aufweist, wie beispielsweise ein Drucker, ein Kopiergerät oder eine Schnittstellenschaltvorrichtung, oder eine beliebige Heim- und Geschäftseinrichtung sein, die praktisch die Funktionen des Computers aufweist, wie beispielsweise eine Audioeinrichtung oder eine Videoeinrichtung. In der später beschriebenen Ausführungsform kann der Ausdruck "Computer" im engeren Sinne verwendet werden und stellt einen Personalcomputer oder einen anderen äquivalenten Computer dar.
  • Der Computer führt den ersten und den zweiten Programmcode zum Aktualisieren der Funktionen ähnlich denjenigen der Antworteinheit und der Wiederanforderungszeitpunktbestimmungseinheit, die in der eingeloggten Vorrich tung der vorliegenden Erfindung enthalten sind, aus. Das erste Computerprogrammprodukt übt dementsprechend dieselben Wirkungen wie diejenigen der oben beschriebenen eingeloggten Vorrichtung aus.
  • Gemäß einer bevorzugten Anwendung des ersten Computerprogrammprodukts enthält der zweite Programmccde einen Programmcode, der bewirkt, dass der Computer Ordnungsnummern des Vorrangs den bestimmten Vorrichtungen in einer Abfolge des Ausgebens der ersten Anforderungen eines Einloggens zuweist und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer bestimmten Vorrichtung, die eine höhere Ordnungsnummer des Vorrangs aufweist, zuweist.
  • Diese Anordnung bewirkt, dass die bestimmte interessierende Vorrichtung, die die erste Anforderung eines Einloggens zuerst ausgegeben hat, eine weitere Anforderung eines Einloggens zum kürzesten Zeitpunkt der Wiederanforderung ausgibt und dadurch eine größte Anzahl von Anforderungen des Einloggens je Zeiteinheit ausgibt. In dem Fall, in dem sich eine der bestimmten Vorrichtungen, die sich eingeloggt hat, ausloggt, besteht eine gute Möglichkeit, dass die bestimmte interessierende Vorrichtung die nächste Anforderung eines Einloggens zuerst ausgibt und sich zuerst einloggt.
  • Die vorliegende Erfindung ist außerdem auf ein zweites Computerprogrammprodukt gerichtet, das bewirkt, dass ein Computer eine Folge von Einlogg-Verarbeitungen ausführt, wobei sich der Computer in eine bestimmte Vorrichtung über einen vorbestimmten Kommunikationspfad einloggt. Das zweite Computerprogrammprodukt enthält: einen Programmcode, der bewirkt, dass der Computer eine Anforderung eines Einloggens an die bestimmte Vorrichtung ausgibt und, wenn er eine Antwort hinsichtlich des Fehl schlagens des Einloggens und eine Bestimmung des Zeitpunkts der Wiederanforderung von der bestimmten Vorrichtung empfängt, eine weitere Anforderung eines Einloggens an die bestimmte Vorrichtung zu dem bestimmten Zeitpunkt der Wiederanforderung ausgibt; und ein computerlesbares Medium, auf dem das Computerprogramm gespeichert ist.
  • Der Computer führt den Programmcode aus, um die Funktionen ähnlich denjenigen der Einlogg-Anforderungseinheit, die in der Einlogg-Vorrichtung der vorliegenden Erfindung enthalten ist, zu aktualisieren. Das zweite Computerprogrammprodukt übt dementsprechend dieselben Wirkungen wie diejenigen der Einlogg-Vorrichtung, die oben beschrieben wurde, aus.
  • Das Prinzip der vorliegenden Erfindung kann durch eine Vielzahl von Anwendungen, beispielsweise durch die eingeloggte Vorrichtung, die Einlogg-Vorrichtung, das System zur Kommunikation zwischen Vorrichtungen und das Verfahren zum Steuern des Einloggens, die oben beschrieben wurden, ebenso wie durch Computerprogramme, die eine beliebige derartiger Vorrichtungen bilden, Aufzeichnungsmedien, in denen die Computerprogramme aufgezeichnet sind, sowie Datensignale, die die Computerprogramme enthalten und in Trägern verkörpert sind, erzielt werden.
  • Diese und weitere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden anhand der folgenden genaueren Beschreibung der bevorzugten Ausführungsform und den zugehörigen Zeichnungen deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 ein Blockdiagramm, das ein System zur Kommunikation zwischen Vorrichtungen in einer Ausführungsform gemäß der vorliegenden Erfindung darstellt,
  • 2 ein Blockdiagramm, das die Hardwarestruktur eines Computers und eines Druckers, die jeweils als Initiator und als Ziel der 1 dienen, zeigt,
  • 3 ein Flussdiagramm, das eine Verarbeitungsroutine eines Einloggens, die durch einen der in 1 gezeigten Initiatoren ausgeführt wird, zeigt,
  • 4 ein Flussdiagramm, das eine Verarbeitungsroutine eines Einloggens, die von dem in 1 gezeigten Ziel ausgeführt wird, zeigt,
  • 5 ein Zeitdiagramm, das zur Übertragung von Anforderungen und Antworten zwischen den jeweiligen Initiatoren und dem Ziel, die in 1 gezeigt sind, zeigt,
  • 6A bis 6H jeweils eine beispielhafte Warteschlange, die in einem Verwaltungsagenten ME1 enthalten ist,
  • 7 eine beispielhafte Zeitkonstantentabelle, die in dem Verwaltungsagenten ME1 enthalten ist, und
  • 8 ein Flussdiagramm, das eine Verarbeitungsroutine eines Ausloggens, die von dem in 1 gezeigten Ziel ausgeführt wird, zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Ein Modus zur Durchführung der vorliegenden Erfindung wird unten als eine bevorzugte Ausführungsform der vorliegenden Erfindung beschrieben. Vor der Beschreibung der Ausführungsform werden ein IEEE1394-Bus und ein SBP-2 skizziert.
  • (A) Skizzierung des IEEE1394-Bus und des SBP-2
  • Der IEEE1394-Bus wird durch Serialisieren von Prozessorbussen, die einen Adressraum von 64 Bit aufweisen, auf einer identischen Signalleitung, erhalten. Die Übertragungsgeschwindigkeit des IEEE1394-Bus beträgt bisher 400 MHz, aber es wird in Zukunft erwartet, dass sie sich auf maximal 3,2 GHz erhöht. Der IEEE1394-Bus ähnelt grundlegend den herkömmlichen Prozessorbussen, die auf einem Motherboard eines Computers verwendet werden, unterstützt aber einen großen Speicherraum durch eine einzige Signalleitung.
  • Der IEEE1394-Bus wird nicht ausschließlich für einen Prozessor verwendet, sondern verbindet mehrere Prozessoren miteinander. Dieses ist äquivalent zu einer Zuordnung des Speicherraums, der von einem Bus belegt wird, in den Prozessoren. Die Prozessoren verwenden gemeinsam einen Signalpfad. Dieses erzielt eine Situation, die einem Netzwerk sehr ähnelt.
  • Mehrere Computer können mit einem IEEE1394-Bus verbunden werden. Außerdem ermöglicht die Verbindung eines Druckers mit dem IEEE1394-Bus eine geteilte Verwendung des Druckers von mehreren Computern. Dieses wird als ein Netzwerk geringer Größe betrachtet.
  • Entgegen dem allgemeinen Netzwerk folgt der IEEE1394-Bus jedoch dem Entwurf der Prozessorbusse und ermöglicht im Wesentlichen die Verwaltung von Anforderungen, die von den jeweiligen Prozessoren ausgegeben werden, ohne jegliche Kollision. Dieser Mechanismus wird Busarbitration genannt. Während des Datentransfers für den IEEE1394-Bus ermöglicht es die Busarbitration nur einem Knoten (in diesem Fall einem Computer), den Datentransfer auszuführen. Mit anderen Worten verhindert, wenn ein bestimmter Knoten den IEEE1394-Bus belegt, die Steuerung, dass die anderen Knoten den Bus in derselben Zykluszeit (125 μms) verwenden. Der IEEE1394-Bus benötigt dementsprechend nicht die Technik der Steuerung der ausschließlichen Ressourcen, die in dem allgemeinen Netzwerk verwendet wird, wie beispielsweise das Erfassen von Trägern oder das Erfassen von Kollisionen (Kollisionen von Paketen). Da der IEEE1394-Bus keine Erfassung von Kollisionen ausführt, sollte ein Protokoll einer oberen Schicht oder ein Anwendungsprogramm für den Wettbewerb um die Ressourcen zuständig sein.
  • Das SBP-2 ist andererseits auf einer Verbindungsbasis ausgelegt. D.h., eine Host-Vorrichtung, die die Verwendung eines bestimmten Ziels des SBP-2 fordert, sollte als ein Initiator des SBP-2 ausgelegt sein. Der Initiator gibt eine Anforderung eines Einloggens an das Ziel und erlangt ein Recht zur Verwendung des Ziels nur in dem Fall eines akzeptierten Einloggens. Genauer gesagt erfordert der Initiator ein Einloggen in Bezug auf jede logische Einheit, die in dem Ziel enthalten ist. Aus Gründen der Klarheit der Darstellung wird jedoch angenommen, dass der Initiator einfach eine Anforderung eines Einloggens an das Ziel ausgibt. Sogar wenn nur ein Ziel für mehrere Initiatoren vorhanden ist, kann nur der Initiator mit dem akzeptierten Einloggen in dem Moment das Ziel verwenden. Diese Anordnung ermöglicht es, dass mehrere Initiatoren das Ziel teilen.
  • Die Spezifikation des SBP-2 verhindert nicht, dass sich mehrere Initiatoren in ein Ziel einloggen. Das gleichzeitige Einloggen durch mehrere Initiatoren kann somit erlaubt werden, so lange wie das Ziel ausgelegt ist, die gleichzeitigen Einloggungen zu akzeptieren. Die Anzahl der Initiatoren, die sich gleichzeitig einloggen können, d.h. die erlaubte Anzahl von gleichzeitigen Einloggungen wird in der Entwicklungsstufe des Ziels entsprechend den Entwicklungsgrenzen bestimmt. In einigen Fällen, in denen ein bestimmtes Ziel die erlaubte Anzahl N von gleichzeitigen Einloggungen aufweist, geben M Initiatoren (wobei M größer als N ist) die Anforderung eines Einloggens an das bestimmte Ziel aus. In diesen Fällen akzeptiert das Ziel das Einloggen bis zu N Initiatoren, weist aber jede anschließende Anforderung eines Einloggens zurück, bis die Anzahl der Initiatoren, die gleichzeitig eingeloggt sind, kleiner als N wird, d.h. bis sich irgendeiner der Initiatoren, die eingeloggt sind, ausloggt.
  • In dem SBP-2 sind die Initiatoren mit den Zielen über den IEEE1394-Bus verbunden. Der IEEE1394-Bus ermöglicht es den Zielen, Daten von den Speichern der Initiatoren zu lesen und in diese zu schreiben. Wie zuvor erwähnt werden in dem SBP-2 die Vorrichtungen, die allgemeine Speicher aufweisen, Initiatoren genannt, während die Vorrichtungen, die den allgemeinen Speicher nicht aufweisen, Ziele genannt werden. Es ist nicht notwendig, dass sowohl die Initiatoren als auch die Ziele allgemeine Speicher aufweisen. Es ist nämlich ausreichend, dass nur die Initiatoren allgemeine Speicher aufweisen. Jeder der Initiatoren weist einen allgemeinen Speicher als Teil seines eigenen Speichers auf und ermöglicht es dementsprechend, dass Daten durch den lokalen Zugriff gelesen und geschrieben werden können. Jeder der Ziele verwendet andererseits einen Teil des Speichers, der dem Initiator als der allgemeine Speicher gehört, und muss Daten durch den Fernzugriff lesen und schreiben. Die Rollen der jeweiligen Vorrichtungen als Initiatoren und Ziele werden in der Anfangsstufe des Entwicklungsprozesses bestimmt. Im All gemeinen werden die Hostvorrichtungen, beispielsweise Computer, als Initiatoren definiert, und die Vorrichtungen wie beispielsweise der Drucker und der Scanner werden als die Ziele definiert. Diese Rollen sind festgelegt und werden im Prinzip nicht geändert, obwohl es ein Entwurf erlauben kann, dass sich die Rolle einer Vorrichtung beispielsweise über einen Schalter von dem Ziel zum Initiator ändert.
  • Wenn sich der Initiator in das Ziel einloggt, läuft folgendes in dem SBP-2 ab.
  • Der Initiator stellt zunächst eine bestimmte Datenstruktur, die ORB (Betriebsanforderungsblock) genannt wird, auf seinem eigenen allgemeinen Speicher bereit und hält die Daten, die an das Ziel zu geben sind, in dem ORB. In einem Beispiel ist der Initiator ein Computer und das Ziel ist ein Drucker. In diesem Fall hält der Computer, der als der Initiator dient, die Bilddaten, die durch den Drucker, der als das Ziel dient, zu drucken sind, in einem bestimmten Teil des allgemeinen Speicherraums und speichert einen Adresszeiger, der den bestimmten Teil anzeigt, an einer vorbestimmten Position in dem ORB. Diese Anordnung ermöglicht es, dass der Initiator die benötigte Verarbeitung mit der größtmöglichen Geschwindigkeit unabhängig von dem Zustand des Ziels durchführt. Das Ziel nimmt andererseits aufeinander folgend die ORBs auf, die in dem allgemeinen Speicher des Initiators platziert sind, und verarbeitet die Inhalte in den ORBs. Der Drucker, der als das Ziel dient, nimmt einen nächsten Satz von Bilddaten auf und verarbeitet diese unmittelbar nachdem der Drucker das Drucken eines bestimmten Satzes von Bilddaten beendet hat, um einen Freiraum in seinem eigenen Speicher bereitzustellen. Der Drucker fährt dementsprechend mit dem Drucken ohne Rest fort und verarbeitet die Jobs mit der größtmöglichen Effizienz.
  • Das herkömmliche Netzwerk führt eine Steuerung vom Push-Typ durch, wobei der Initiator den Zustand des Ziels abruft und einen Befehl sendet, wenn das Ziel für die Akzeptierung der Anforderung bereit ist. Das SBP-2 führt andererseits eine Steuerung vom Pull-Typ aus, wobei der Initiator einen Befehl und Daten in seinem eigenen Speicherraum hält, die dem Ziel zu geben sind, und das Ziel nimmt den Befehl und die Daten zur Verarbeitung zu einem für ihn geeigneten Zeitpunkt auf, der die Verarbeitung gewährleistet. Diese Anordnung des SBP-2 verbessert die Gesamteffizienz der Durchführung.
  • (B) Struktur der Ausführungsform
  • Auf der Grundlage eines derartigen Wissens wird eine Ausführungsform der vorliegenden Erfindung anhand der Zeichnung der 1 beschrieben. 1 ist ein Blockdiagramm, das ein System zur Kommunikation zwischen Vorrichtungen gemäß der Ausführungsform der vorliegenden Erfindung darstellt, das mehrere Initiatoren und ein Ziel enthält. In dem System zur Kommunikation zwischen Vorrichtungen der 1 sind die jeweiligen Vorrichtungen über einen IEEE1394-Bus B1 verbunden und kommunizieren entsprechend dem SBP-2-Protokoll miteinander. Die Vorrichtungen, die mit dem IEEE1394-Bus B1 verbunden sind, beinhalten Initiatoren I0 bis I3, die allgemeine Speicher aufweisen, und ein Ziel T1 ohne den allgemeinen Speicher. In dieser Ausführungsform sind die Initiatoren I0 bis I3 Computer, und das Ziel T1 ist ein Drucker.
  • Die Initiatoren I0 bis I3 weisen jeweils Steuerungen C0 bis C3 und allgemeine Speicher SM0 bis SM3 auf.
  • Das Ziel T1 weist eine logische Einheit LUN1 auf. Wie zuvor beschrieben kann der Initiator das Einloggen für jede logische Einheit, die in dem Ziel enthalten ist, durchführen. In dieser Ausführungsform weist das Ziel T1 nur eine logische Einheit LUN1 auf, so dass die Initiatoren I0 bis I3 das Einloggen nur für diese logische Einheit LUN1 des Ziels T1 erlangen können.
  • Wie zuvor beschrieben weist jede logische Einheit, die in dem Ziel enthalten ist, die voreingestellte Anzahl von Initiatoren auf, die gleichzeitig ein Einloggen durchführen können, d.h. die erlaubte Anzahl von gleichzeitigen Einloggungen, die in der Entwurfsstufe festgelegt wird. Zur Vereinfachung der Darstellung weist die logische Einheit LUN1, die in dem Ziel T1 enthalten ist, eine erlaubte Anzahl von gleichzeitigen Einloggungen von "1" auf. Nach dem Akzeptieren des Einloggens von irgendeinem der Initiatoren weist die logische Einheit LUN1 weitere anschließende Anforderungen eines Einloggens zurück.
  • Die logische Einheit LUN1, die in dem Ziel T1 enthalten ist, weist einen Verwaltungsagenten ME1, der eine Anforderung eines Einloggens oder eines Ausloggens von dem Initiator empfängt und eine geeignete Antwort an den Initiator ausgibt, und einen Hohlagenten FE1 auf, der Daten zu und von dem Initiator überträgt, der das Einloggen durchgeführt hat.
  • 2 ist ein Blockdiagramm, das die Hardwarestruktur eines Computers und eines Druckers, die jeweils als Initiator und Ziel der 1 dienen, darstellt.
  • Wie es in 2 gezeigt ist, enthält der Computer 100, der als der Initiator dient, eine CPU 102, die verschiedene Prozesse und Steuerungen entsprechend Computerprogrammen ausführt, und einen Speicher 104, in dem die Computerprogramme gespeichert sind und Daten, die im Ver laufe der Verarbeitung erhalten werden, zeitweilig registriert werden. Der Computer 100 enthält außerdem eine I/O-Einheit 106, die für die Datenübertragung zwischen der CPU 102 und den verschiedenen peripheren Vorrichtungen und dem IEEE1394-Bus B1 zuständig ist, eine Festplatte 108, auf der verschiedene Daten gespeichert sind, und ein CD-ROM-Laufwerk 110. Eine Tastatur 112 und eine Maus 114, die zum Eingeben von Befehlen von Nutzern verwendet werden, und ein Monitor 116, der zum Anzeigen von Daten verwendet wird, sind extern mit dem Computer 100 verbunden.
  • Die CPU 102 liest ein gewünschtes Computerprogramm, das in dem Speicher 104 gespeichert ist, aus, und führt dieses aus, wodurch sie als die in 1 gezeigte Steuerung dient. Ein Teil des Speichers 104 ist dem allgemeinen Speicher der 1 zugeordnet.
  • Der Drucker 200, der als das Ziel dient, enthält eine CPU 202, die verschiedene Prozesse und Steuerungen entsprechend Computerprogrammen ausführt, und einen Speicher 204, in dem die Computerprogramme gespeichert sind und Daten, die im Verlaufe der Verarbeitung erhalten werden, zeitweilig registriert werden. Der Drucker 200 enthält außerdem eine I/O-Einheit 206, die für die Datenübertragung zwischen der CPU 202 und den verschiedenen peripheren Vorrichtungen und dem IEEE1394-Bus B1 zuständig ist, einen Druckermechanismus 208, der einen Druckbetrieb zum Drucken eines Bildes auf ein Druckpapier auf einen Befehl von der CPU 202 hin ausführt, und einen Eingangspuffer 210, in dem Druckdaten zeitweilig registriert werden.
  • Die CPU 202 liest ein gewünschtes Computerprogramm, das in dem Speicher 204 gespeichert ist, aus und führt dieses aus, wodurch sie als die logische Einheit der 1 wirkt.
  • In dieser Ausführungsform sind die Computerprogramme, die in dem Speicher 104 des Computers 100 gespeichert sind, in der Form einer Aufzeichnung auf einer CD-ROM 111 als Aufzeichnungsmedium vorgesehen und werden von dem CD-ROM-Laufwerk 110 ausgelesen, um in den Computer 100 aufgenommen zu werden. Die eingegebenen Computerprogramme werden zur Festplatte 108 und außerdem zum Speicher 104 nach Bedarf, beispielsweise zum Zeitpunkt der Aktivierung transferiert. Die eingegebenen Computerprogramme können alternativ nicht über die Festplatte 108, sondern direkt zum Speicher 104 transferiert werden.
  • In dem Drucker 200 ist andererseits ein Teil des Speichers 204 als ein ROM aufgebaut. Die Computerprogramme für den Drucker 200 sind in dem ROM gespeichert und in Form einer Aufzeichnung in dem ROM-Chip vorgesehen. Der Teil des Speichers 104 kann an Stelle des ROM alternativ als ein wiederbeschreibbarer nichtflüchtiger Speicher aufgebaut sein. In dieser alternativen Struktur sind die Computerprogramme für den Drucker 200 in Form einer Aufzeichnung in der CD-ROM 111 vorgesehen. Die Computerprogramme werden von dem CD-ROM-Laufwerk 110 des Computers 100 gelesen und zum Drucker 200 über ein Netzwerk (nicht gezeigt) transferiert, um in den nicht flüchtigen Speicher geschrieben zu werden.
  • In dieser Ausführungsform werden die CD-ROM und der ROM als die Aufzeichnungsmedien verwendet, auf denen die Computerprogramme auf computerlesbare Weise aufgezeichnet sind. Andere Beispiele für ein verfügbare Aufzeichnungsmedien beinhalten Disketten, magnetooptische Laufwerke, IC-Karten, ROM-Module, Lochkarten, Drucke mit Barcodes oder anderen Codes darauf gedruckt, interne Speichervorrichtungen (Speicher wie ein RAM) und externe Speicher vorrichtungen des Computers sowie eine Vielzahl anderer computerlesbarer Medien.
  • Die Computerprogramme können andererseits in dem Computer 100 oder dem Drucker 200 von einem Programmserver (nicht gezeigt) aufgenommen werden, auf den über ein Netzwerk zugegriffen wird und der als ein Versorger von Computerprogrammen dient.
  • Ein Teil der Computerprogramme kann in dem Betriebssystem enthalten sein.
  • (C) Betrieb der Ausführungsform
  • Der Betrieb der Ausführungsform wird unten mit Bezug auf die 3 bis 5 beschrieben.
  • 3 ist ein Flussdiagramm, das eine Verarbeitungsroutine eines Einloggens, die von irgendeinem der Initiatoren der 1 ausgeführt wird, zeigt. 4 ist ein Flussdiagramm, das eine Verarbeitungsroutine eines Einloggens, die von dem Ziel der 1 ausgeführt wird, zeigt. 5 ist ein Zeitdiagramm, das die Übertragung von Anforderungen und Antworten zwischen den jeweiligen Initiatoren und dem Ziel der 1 zeigt. Die Ordinate der 5 bezeichnet die Zeitachse. Die jeweiligen Spalten von links nach rechts stellen die Zeitpunkte der Übertragung der Anforderungen und Antworten beim Initiator I0, dem Ziel T1, dem Initiator I1, dem Initiator I2 und dem Initiator I3 dar.
  • Die jeweiligen Initiatoren I0 bis I3 und das Ziel T1 sind über den IEEE1394-Bus B1 verbunden. Gemäß der Busarbitration, die zuvor beschrieben wurde, wird, während ein Initiator, der unter den Initiatoren I0 bis I3 ausgewählt wird, eine Anforderung zum Ziel T1 sendet, der IEEE1394- Bus B1 von dem ausgewählten Initiator belegt. Die anderen Initiatoren werden somit daran gehindert, die Anforderungen gleichzeitig zu senden.
  • In dem Beispiel der 5 gibt der Initiator I0 als erstes eine Anforderung eines Einloggens an das Ziel T1 aus. Die Steuerung C0 des Initiators I0 sendet dann im Schritt S102 des Flussdiagramms der 3 ein Einlogg-Paket zum Ziel T1. Das Einlogg-Paket enthält eine Anforderung eines Einloggens zum Auffordern des Ziels T1, ein Einloggen zu akzeptieren, und eine GUID des Initiators I0. Die GUID steht hier für globale einzigartige Identifikation (Gobal Unique Identification) und stellt einen Identifikationscode dar, der jedem der Initiatoren und Ziele immanent ist. Die GUID wird als einzigartiger Identifikationscode nur einmal in der Welt einer jeweiligen Vorrichtung, die als Initiator oder Ziel aufgebaut ist, in deren Entwurfsstufe zugewiesen. In dieser Ausführungsform besitzt der Initiator I0 die GUID "I0". Auf ähnliche Weise besitzen die Initiatoren I1, I2 und I3 jeweils die GUIDs "I1", "I2" und "I3". Die GUID, die in dem Einlogg-Paket, das von dem Initiator I0 gesendet wird, enthalten ist, ist dementsprechend "I0", wie es in 5 gezeigt ist.
  • In dem Flussdiagramm der 4 wartet unterdessen der Verwaltungsagent ME1 des Ziels T1 im Schritt S204 auf die Eingabe eines Einlogg-Pakets. Wenn er ein Paket empfängt, bestimmt der Verwaltungsagent ME1, ob das eingegebene Paket eine Anforderung eines Einloggens enthält. In dem Fall, in dem die Anforderung eines Einloggens in dem eingegebenen Paket enthalten ist, identifiziert der Verwaltungsagent ME1 das eingegebene Paket als ein Einlogg-Paket und schreitet zur Verarbeitung des Schrittes S206.
  • Im Schritt S206 liest der Verwaltungsagent ME1 die GUID, die in dem eingegebenen Einlogg-Paket enthalten ist, aus. Wie zuvor erwähnt ist, wenn der Verwaltungsagent ME1 das Einlogg-Paket, das von dem Initiator I0 gesendet wird, empfängt, die gelesene GUID "I0". Auf der Grundlage der ausgelesenen GUID bestimmt der Verwaltungsagent ME1, dass das eingegebene Einlogg-Paket von dem Initiator I0 gesendet wurde.
  • Der Verwaltungsagent ME1 weist eine Warteschlange auf, in die die GUIDs der Initiatoren, die die Anforderung eines Einloggens ausgeben, registriert sind. 6 zeigt eine beispielhafte Warteschlange, die in dem Verwaltungsagenten ME1 enthalten ist. Die 6A bis 6H entsprechen der zeitlichen Folge des Zeitdiagramms der 5.
  • Die GUIDs der Initiatoren werden an Adressen n = 1 bis 7 der Warteschlange der 6A in einer Folge des Empfangens der ersten Anforderung eines Einloggens von den jeweiligen Initiatoren registriert. Die Adressen n = 1 bis 7 stellen dementsprechend die Reihenfolge des Empfangens der ersten Anforderung eines Einloggens von den jeweiligen Initiatoren dar. In der Ausführungsform wird dieses als die Ordnung des Vorrangs der Initiatoren betrachtet. Die GUID des Initiators, der sich in die logische Einheit LUN1 eingeloggt hat, ist an der Adresse n = 0 registriert. In diesem Beispiel besitzt die logische Einheit LUN1 wie zuvor erwähnt die erlaubte Anzahl von gleichzeitigem Einloggen von "1". Die Anzahl von Initiatoren, die sich gleichzeitig einloggen können, beträgt dementsprechend nur eins. Es wird somit nur eine Adresse n = 0 dem Initiator zugewiesen, der sich in die logische Einheit LUN1 eingeloggt hat.
  • Der Verwaltungsagent ME1 bestimmt im Schritt S208, ob die GUID, die im Schritt S206 ausgelesen wird, bereits in der Warteschlange registriert wurde. Zu diesem Zeitpunkt ist die Anforderung eines Einloggens von dem Initiator I0 die erste Anforderung eines Einloggens. Die gelesene GUID "I0" wurde somit noch nicht in der Warteschlange registriert, wie es in 6A gezeigt ist. Das Programm schreitet dementsprechend zur Verarbeitung des Schrittes S218.
  • Der Verwaltungsagent ME1 fügt im Schritt S218 die gelesene GUID zum derzeitigen Ende der Warteschlange hinzu. Zu diesem Zeitpunkt besteht keine Registrierung an den Adressen n = 1 bis 7 in der Warteschlange. Der Verwaltungsagent ME1 registriert dementsprechend die derzeitig gelesene GUID "I0" an der Adresse n = 1 in der Warteschlange der 6B.
  • Der Verwaltungsagent ME1 liest dann eine Anzahl von Initiatoren "p", die derzeitig in der logischen Einheit LUN1 eingeloggt sind, im Schritt S210 aus. Wie zuvor beschrieben wird, wenn einer der Initiatoren sich in die logische Einheit LUN1 einloggt, die GUID des Initiators an der Adresse n = 0 in der Warteschlange registriert. Der Verwaltungsagent ME1 überprüft dementsprechend im Schritt S210 die Adresse n = 0. Wenn irgendeine GUID an der Adresse n = 0 registriert ist, beträgt die Anzahl der Initiatoren "p", die derzeitig eingeloggt sind, gleich "1". Wenn an der Adresse n = 0 keine Registrierung vorliegt, beträgt im Gegensatz dazu die Anzahl der Initiatoren "p" gleich "0". Zu diesem Zeitpunkt wurde noch keine GUID an der Adresse n = 0 in der Warteschlange registriert, so dass im Schritt S210 die Anzahl der Initiatoren "p" gleich "0" ausgelesen wird.
  • Im anschließenden Schritt S212 vergleicht der Verwaltungsagent ME1 die eingegebene Anzahl von Initiatoren "p" mit der vorbestimmten erlaubten Anzahl von gleichzeitigen Einloggungen der logischen Einheit LUT1, die gleich "1" gesetzt ist. D.h., der Verwaltungsagent ME1 bestimmt, ob die Anzahl der Initiatoren "p", die derzeitig in die logische Einheit LUN1 eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen "1" der logischen Einheit LUN1 erreicht.
  • In dem Fall, in dem die Anzahl der Initiatoren "p", die derzeitig eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen "1" erreicht, kann die logische Einheit LUN1 kein weiteres Einloggen von irgendeinem Initiator akzeptieren. Das Programm schreitet dementsprechend zur Verarbeitung des Schrittes S213 und der folgenden Schritte, die später beschrieben werden.
  • In dem Fall, in dem die Anzahl der Initiatoren "p", die derzeitig eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen "1" nicht erreicht, kann andererseits die logische Einheit LUN1 das Einloggen des Initiators, der gerade die Anforderung eines Einloggens ausgegeben hat, akzeptieren. Das Programm schreitet dementsprechend zur Verarbeitung des Schrittes S220 und der anschließenden Schritte.
  • Wie es in 5 gezeigt ist, sendet der Verwaltungsagent ME1 im Schritt S220 ein Statuspaket, das auf einen Status eines erfolgreichen Einloggens gesetzt ist, zum Initiator I0, der gerade die Anforderung eines Einloggens gegeben hat. Der Status des erfolgreichen Einloggens stellt eine Antwort hinsichtlich des Akzeptierens des Einloggens dar.
  • Der Verwaltungsagent ME1 verschiebt dann sämtliche GUIDs, die in der Warteschlange registriert sind, im Schritt S222. In diesem Beispiel ist die GUID, die in der Warteschlange registriert ist, nur die GUID des Initiators I0, die an der Adresse n = 1 registriert ist, wie es in 6B gezeigt ist. Die GUID des Initiators I0 wird dementsprechend zur Adresse n = 0 verschoben, was den Einloggzustand darstellt, wie es in 6C gezeigt ist.
  • Nach der Beendigung der Verarbeitung im Schritt S222 wartet der Verwaltungsagent ME1 im Schritt S204 erneut auf die Eingabe eines anderen Einlogg-Pakets.
  • Im Flussdiagramm der 3 wartet die Steuerung C0 des Initiators I0 im Schritt S104 auf die Eingabe des Statuspakets, nachdem das Einlogg-Paket im Schritt S102 gesendet wurde. Wenn sie das Statuspaket von dem Ziel T1 empfängt, liest die Steuerung C0 den Status, der in dem Statuspaket spezifiziert ist, im Schritt S106 aus.
  • Die Steuerung C0 bestimmt dann im Schritt S108, ob der eingegebene Status ein Einlogg-Fehlerstatus ist, der ein Fehlschlagen eines Einloggens darstellt. Wenn der eingegebene Status der Einlogg-Fehlerstatus ist, ist das Einloggen fehlgeschlagen. Die Steuerung C0 führt dementsprechend die Verarbeitung des Schrittes S110 aus, um eine weitere Anforderung eines Einloggens zum Ziel T1 auszugeben. Die Verarbeitung des Schrittes S110 und der anschließenden Schritte wird später beschrieben.
  • Wenn der eingegebene Status nicht der Einlogg-Fehlerstatus, sondern der Status eines erfolgreichen Einloggens ist, wird andererseits das Einloggen akzeptiert. Die Steuerung C0 beendet dementsprechend die Folge der Einlogg-Verarbeitungen des Flussdiagramms der 3.
  • Wenn der Initiator I0 sich durch die obige Prozedur in die logische Einheit LUN1 des Ziels T1 einloggt, startet die Steuerung C0 des Initiators I0 die tatsächliche Übertragung von Daten zu und von dem Hohlagenten FE1 des Ziels T1.
  • In dem Beispiel der 5 gibt, nachdem sich der Initiator I0 in die logische Einheit LUN1 des Ziels T1 eingeloggt hat, ein anderer Initiator I1 eine Anforderung eines Einloggens an das Ziel T1 aus. Die Folge der Verarbeitungen schreitet dann auf die folgende Weise fort.
  • Die Steuerung C1 des Initiators I1 sendet zuerst im Schritt S102 im Flussdiagramm der 3 ein Einlogg-Paket, das eine Anforderung eines Einloggens und die GUID des Initiators I1 enthält, zum Ziel T1. In diesem Fall ist die GUID, die in dem Einlogg-Paket enthalten ist, "I1", wie es in 5 gezeigt ist.
  • Im Flussdiagramm der 4 empfängt der Verwaltungsagent ME1 das Einlogg-Paket und liest die GUID, die in dem eingegebenen Einlogg-Paket enthalten ist, im Schritt S206 aus. Auf der Grundlage der ausgelesenen GUID "I1" bestimmt der Verwaltungsagent ME1, dass das eingegebene Einlogg-Paket von dem Initiator I1 gesendet wurde.
  • Der Verwaltungsagent ME1 bestimmt dann im Schritt S208, ob die gelesene GUID bereits in der Warteschlange registriert wurde. Zu diesem Zeitpunkt ist die Anforderung eines Einloggens von dem Initiator I1 die erste Anforderung eines Einloggens, so dass die gelesene GUID "I1" noch nicht in der Warteschlange registriert wurde, wie es in 6C gezeigt ist. Der Verwaltungsagent ME1 fügt dementsprechend im Schritt S218 die gelesene GUID zum derzeitigen Ende der Warteschlange hinzu. Zu diesem Zeitpunkt ist die GUID "I0" des Initiators I0 an der Ad resse n = 0 in der Warteschlange registriert, aber es besteht keine Registrierung an den Adressen n = 1 bis 7. Der Verwaltungsagent ME1 registriert dementsprechend die derzeitige gelesene GUID "I1" an der Adresse n = 1, wie es in 6D gezeigt ist.
  • Der Verwaltungsagent ME1 liest anschließend die Anzahl der Initiatoren "p", die derzeitig in die logische Einheit LUN1 eingeloggt sind, im Schritt S210 aus. Zu diesem Zeitpunkt wurde die GUID des Initiators I0 bereits an der Adresse n = 0 in der Warteschlange registriert, wie es in 6D gezeigt ist. Die Anzahl der Initiatoren "p", die auf "1" gesetzt ist, wird dementsprechend in Schritt S210 gelesen.
  • Der Verwaltungsagent ME1 vergleicht dann die eingegebene Anzahl von Initiatoren "p" mit der erlaubten Anzahl von gleichzeitigen Einloggungen "1" im Schritt S212. In diesem Fall ist die Anzahl der Initiatoren "p" zu "1" gesetzt und gleicht der erlaubten Anzahl von gleichzeitigen Einloggungen "1". Der Verwaltungsagent ME1 bestimmt dann, dass die Anzahl von Initiatoren "p", die bereits in der logischen Einheit LUN1 eingeloggt sind, die erlaubte Anzahl von gleichzeitigen Einloggungen "1" erreicht und dass die logische Einheit LUN1 keine weitere Einloggung eines Initiators erlaubt. Das Programm schreitet dementsprechend zur Verarbeitung des Schritts S213 und der anschließenden Schritte.
  • Der Verwaltungsagent ME1 liest eine Ordnungsnummer des Vorrangs "n", die der GUID des interessierenden Initiators zugewiesen ist, im Schritt S213 aus. Zu diesem Zeitpunkt ist die GUID des interessierenden Initiators, d.h. des Initiators I1, an der Adresse n = 1 in der Warteschlange registriert, wie es in 6D gezeigt ist. Da die GUID die zugeordnete Ordnungsnummer des Vorrangs "1" aufweist, liest der Verwaltungsagent ME1 die Ordnungsnummer des Vorrangs "1" im Schritt S213 aus.
  • Im anschließenden Schritt S214 liest der Verwaltungsagent ME1 eine Zeitkonstante, die mit der Ordnungsnummer des Vorrangs, die im Schritt S213 ausgelesen wird, übereinstimmt bzw. zu dieser passt, von einer Zeitkonstantentabelle aus, die im Voraus bereitgestellt wird.
  • Die Zeitkonstante stellt hier eine Zeitdauer dar, die verstreicht, bevor der interessierende Initiator, der einmal eine Anforderung eines Einloggens ausgegeben hat und eine Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgibt. In der Anordnung der Ausführungsform bestimmt das Ziel einen Zeitpunkt der Wiederanforderung eines Einloggens, um eine Zeit festzulegen, wann der interessierende Initiator, der grade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgeben sollte. Die Zeitkonstante wird hier dem interessierenden Initiator als Zeitpunkt der Wiederanforderung eines Einloggens gegeben.
  • In dieser Ausführungsform wird eine vorbestimmte Beziehung zwischen der Zeitkonstante und der Ordnungsnummer des Vorrangs "n" (d.h., die Ordnungsnummer des Vorrangs in der Warteschlange), die dem interessierenden Initiator zugewiesen ist, der eine Anforderung eines Einloggens gegeben hat, eingestellt. Der Verwaltungsagent ME1 stellt im Voraus die Zeitkonstantentabelle, die diese Beziehung darstellt, bereit. 7 zeigt eine beispielhafte Zeitkonstantentabelle, die in dem Verwaltungsagenten ME1 enthalten ist.
  • Im Schritt S214 liest der Verwaltungsagent ME1 die Zeitkonstante, die mit der zugewiesenen Ordnungsnummer des Vorrangs "n" übereinstimmt, aus dieser Zeitkonstantentabelle aus. Hier ist die Ordnungsnummer des Vorrangs "n", die im Schritt S213 gelesen wird, gleich "1", so dass "t1", die mit n = 1 übereinstimmt, als die Zeitkonstante aus der Zeitkonstantentabelle, die in 7 gezeigt ist, ausgelesen wird.
  • Wie es in 5 gezeigt ist, sendet der Verwaltungsagent ME1 anschließend im Schritt S216 das Statuspaket, das auf den Einlogg-Fehlerstatus gesetzt ist, zum Initiator I1, der grade die Anforderung eines Einloggens ausgegeben hat. Der Einlogg-Fehlerstatus stellt eine Antwort hinsichtlich des Fehlschlagens eines Einloggens dar. Zu diesem Zeitpunkt sendet der Verwaltungsagent ME1 das Statuspaket, das den Einlogg-Fehlerstatus enthält, ebenso wie die Zeitkonstante "t1", die im Schritt S214 gelesen wird, wie es in 5 gezeigt ist. Der Verwaltungsagent ME1 bestimmt dementsprechend den Zeitpunkt der Wiederanforderung eines Einloggens, um die Zeit festzulegen, wann der Initiator I1, der grade die Anforderung eines Einloggens ausgegeben hat, eine weitere Anforderung eines Einloggens ausgeben sollte.
  • Nach der Beendigung der Verarbeitung im Schritt S216 wartet der Verwaltungsagent ME1 im Schritt S204 erneut auf die Eingabe eines anderen Einlogg-Pakets.
  • Im Flussdiagramm der 3 empfängt die Steuerung C1 des Initiators I1 das Statuspaket, das von dem Ziel T1 gesendet wird, und liest den Status, der in dem Statuspaket spezifiziert ist, im Schritt S106 aus. Die Steuerung C1 bestimmt dann im Schritt S108, ob der eingegebene Status der Einlogg-Fehlerstatus ist, der ein Fehlschlagen hinsichtlich des Einloggens darstellt. Zu diesem Zeit punkt ist der eingegebene Status der Einlogg-Fehlerstatus, der das Fehlschlagen eines Einloggens darstellt. Die Steuerung C1 führt dementsprechend die Verarbeitung des Schrittes S110 aus, um eine weitere Anforderung eines Einloggens zum Ziel T1 auszugeben.
  • Die Steuerung C1 liest die Zeitkonstante, die in dem empfangenen Statuspaket enthalten ist, im Schritt S110 aus und bestimmt anschließend im Schritt S112, ob eine Zeitdauer, die von der eingegebenen Zeitkonstante spezifiziert wird, verstrichen ist, seitdem das vorherige Einlogg-Paket im Schritt S102 zum Ziel T1 ausgegeben wurde. Die Zeitkonstante, die zu diesem Zeitpunkt eingegeben wird, ist gleich "t1". Es wird dementsprechend bestimmt, ob die Zeitdauer "t1" seit der vorherigen Anforderung eines Einloggens verstrichen ist. In dem Fall, in dem die Zeitdauer "t1" noch nicht verstrichen ist, wartet die Steuerung C1 auf das Verstreichen der Zeitdauer "t1". In dem Fall, in dem die Zeitdauer "t1" bereits verstrichen ist, kehrt das Programm andererseits zum Schritt S102 zurück, bei dem die Steuerung C1 erneut das Einlogg-Paket zum Ziel T1 ausgibt. D.h., der Initiator I1 sendet nach dem Verstreichen der Zeitdauer "t1" nach der Ausgabe der ersten Anforderung eines Einloggens eine zweite Anforderung eines Einloggens zum Ziel T1, wie es in 5 gezeigt ist. Auf diese Weise gibt die Steuerung C1 eine weitere Anforderung eines Einloggens zum Ziel T1 auf der Grundlage des Zeitpunkts der Wiederanforderung eines Einloggens, der als die Zeitkonstante durch das Ziel T1 bestimmt wird, aus.
  • In dem Fall, in dem weitere Initiatoren I2 und I3 jeweils eine Anforderung eines Einloggens zum Ziel T1 in der Zeitdauer zwischen der Ausgabe der ersten Anforderung eines Einloggens und der Ausgabe der zweiten Anforderung eines Einloggens durch den Initiator I1 ausgeben, folgt das Programm der Folge der Verarbeitung, die der Verarbeitung, die oben mit Bezug auf den Initiator I1 beschrieben wurde, ähnelt.
  • Im Schritt S102 geben die Steuerung C2 des Initiators I2 und die Steuerung C3 des Initiators I3 jeweils das Einlogg-Paket aus, das eine Anforderung eines Einloggens und die GUID, die dem Initiator immanent ist, enthält, zum Ziel T1 zu den Zeitpunkten, die in 5 gezeigt sind, aus. Der Verwaltungsagent ME1 des Ziels T1 empfängt das Einlogg-Paket zu den jeweiligen Zeitpunkten, die in 5 gezeigt sind, in Schritt S204, liest die GUID, die in dem empfangenen Einlogg-Paket enthalten ist, in Schritt S206 aus und bestimmt im Schritt S208, ob die eingegebene GUID bereits in der Warteschlange registriert wurde. Zu diesem Zeitpunkt sind beide Anforderungen eines Einloggens von den Initiatoren I2 und I3 die ersten Anforderungen eines Einloggens. Keine der gelesenen GUIDs wurde bereits in der Warteschlange registriert, wie es in 6D gezeigt ist. Der Verwaltungsagent ME1 fügt dann im Schritt S218 die gelesene GUID zum derzeitigen Ende der Warteschlange hinzu. Genauer gesagt wurde die GUID "I1" des Initiators I1 bereits an der Adresse n = 1 in der Warteschlange registriert, wie es in 6D gezeigt ist. Zu dem Zeitpunkt, zu dem die Anforderung eines Einloggens von dem Initiator I2 empfangen wird, registriert der Verwaltungsagent ME1 die derzeitig gelesene GUID "I2" des Initiators I2 an der Adresse n = 2, wie es in 6E gezeigt ist. Im anschließenden Zeitpunkt, zu dem er die Anforderung eines Einloggens von dem Initiator I3 empfängt, registriert der Verwaltungsagent ME1 die derzeitig gelesene GUID "I3" des Initiators I3 an der Adresse n = 3, wie es in 6F gezeigt ist.
  • Zu jedem der Zeitpunkte ist der Initiator I0 bereits in die logische Einheit LUN1 eingeloggt. Der Verwaltungs agent ME1 bestimmt dementsprechend in den Schritten S210 und S212, dass die Anzahl der Initiatoren "p", die derzeitig eingeloggt sind, die erlaubte Anzahl gleichzeitiger Einloggungen "1" erreicht, und liest die Ordnungsnummer des Vorrangs "n", die der GUID des interessierenden Initiators zugewiesen ist, aus der Warteschlange in Schritt S213 aus. Die Warteschlange weist den in 6E gezeigten Zustand auf, wenn der Verwaltungsagent ME1 die Anforderung eines Einloggens von dem Initiator I2 empfängt. Da die GUID des Initiators I2 an der Adresse n = 2 in der Warteschlange registriert wurde, liest der Verwaltungsagent ME1 die Ordnungsnummer des Vorrangs "n" gleich "2" in Schritt S213 aus. Die Warteschlange weist den in 6F gezeigten Zustand auf, wenn der Verwaltungsagent ME1 die Anforderung eines Einloggens von dem Initiator I3 empfängt. Da die GUID des Initiators I3 an der Adresse n = 3 in der Warteschlange registriert wurde, liest der Verwaltungsagent ME1 die Ordnungsnummer des Vorrangs "n" gleich "3" im Schritt S213 aus. Der Verwaltungsagent ME1 liest anschließend die Zeitkonstante, die mit einer jeweiligen Ordnungsnummer des Vorrangs "n" übereinstimmt, aus der Zeitkonstantentabelle, die in 7 gezeigt ist, im Schritt S214 aus. Genauer gesagt wird "t2", die mit n = 2 übereinstimmt, als die Zeitkonstante des Initiators I2 ausgelesen, wohingegen "t3", die mit n = 3 übereinstimmt, als die Zeitkonstante des Initiators I3 ausgelesen wird.
  • In dieser Ausführungsform stimmt die kürzere Zeitkonstante mit der höheren Ordnungsnummer des Vorrangs "n" überein, und die längere Zeitkonstante stimmt mit der niedrigeren Ordnungsnummer des Vorrangs "n" überein, wie es in 7 gezeigt ist. Hier ist die Zeitkonstante "t1", die mit der Ordnungsnummer des Vorrangs "n = 1" übereinstimmt, auf den Bezugswert eingestellt. Die Zeitkonstante "t2", die mit n = 2 übereinstimmt, beträgt das Zweifache des Bezugswerts "t1". Die Zeitkonstante "t3", die mit n = 3 übereinstimmt, beträgt das Vierfache des Bezugswerts "t1". Die Zeitkonstante "t4", die mit n = 4 übereinstimmt, beträgt das Achtfache des Bezugswerts "t1". D.h. die Zeitkonstante "ti", die mit n = i übereinstimmt, beträgt das 2i-fache des Bezugswerts "t1". Eine Bestimmung der zu langen Zeitkonstante hat jedoch keine signifikanten Wirkungen. Die Zeitkonstante "t7", die mit der relativ niedrigen Ordnungsnummer des Vorrangs "n = 7" übereinstimmt, wird somit gleich der Zeitkonstanten "t6" (d.h. dem 32-fachen des Bezugswerts "t1") eingestellt, die mit der Ordnungsnummer des Vorrangs "n = 6" übereinstimmt.
  • Im anschließenden Schritt S216 sendet der Verwaltungsagent ME1 das Statuspaket, das den Einlogg-Fehlerstatus enthält, und die Zeitkonstante zu den Initiatoren I2 und I3, die grade die Anforderung eines Einloggens ausgegeben haben, zu den jeweiligen Zeitpunkten, die in 5 gezeigt sind. Die Steuerung C2 des Initiators I2 und die Steuerung C3 des Initiators I3 empfangen dann jeweils das Statuspaket zu den Zeitpunkten, die in 5 gezeigt sind, im Schritt S104, lesen den Status, der in dem empfangenen Statuspaket enthalten ist, im Schritt S106 aus und bestimmen im Schritt S108, ob der eingegebene Status der Einlogg-Fehlerstatus ist. In diesem Fall ist der eingegebene Status der Einlogg-Fehlerstatus, so dass die Steuerungen C2 und C3 anschließend die Zeitkonstante aus dem Statuspaket im Schritt S110 auslesen. Genauer gesagt liest die Steuerung C2 die Zeitkonstante "t2" aus, und die Steuerung C3 liest die Zeitkonstante "t3" aus. Die Steuerung C2 gibt dementsprechend das Einlogg-Paket erneut an das Ziel T1 nach dem Verstreichen der Zeitdauer "t2" seit der vorherigen Anforderung eines Einloggens in den Schritten S112 und S102 aus. Auf ähnliche Weise gibt die Steuerung C3 das Einlogg-Paket erneut zum Ziel T1 nach dem Verstreichen der Zeitdauer "t3" seit der vorherigen Anforderung eines Einloggens in den Schritten S112 und S102 aus. D.h. der Initiator I2 sendet eine zweite Anforderung eines Einloggens zum Ziel T1 nach dem Verstreichen der Zeitdauer "t2" seit der Ausgabe der ersten Anforderung eines Einloggens, wohingegen der Initiator I3 eine zweite Anforderung eines Einloggens zum Ziel T1 nach dem Verstreichen der Zeitdauer "t3" seit der Ausgabe der ersten Anforderung eines Einloggens sendet, wie es in 5 gezeigt ist.
  • Auf diese Weise geben die Initiatoren I1 bis I3 jeweils die zweiten und anschließenden Anforderungen eines Einloggens zum Ziel T1 aus. In diesem Fall sind die GUIDs, die von den jeweiligen Einlogg-Paketen gelesen werden, bereits in der Warteschlange registriert. Der Verwaltungsagent ME1 des Ziels T1 überspringt dementsprechend die Verarbeitung des Schrittes S218 auf der Grundlage der Bestimmung des Schrittes S208 und schreitet zur Verarbeitung des Schrittes S210.
  • In dieser Ausführungsform geben, wie es in 5 gezeigt ist, nachdem der letzte Initiator I3 die erste Anforderung eines Einloggens ausgegeben hat, keine weiteren Initiatoren als die Initiatoren I1 bis I3 erneut eine Anforderung eines Einloggens zum Ziel T1 aus, bis der Initiator I0, der eingeloggt ist, sich ausloggt. Die Warteschlange, die in dem Verwaltungsagenten ME1 enthalten ist, hält dementsprechend den Zustand der 6F unverändert. Keine Änderung wird in Bezug auf die Ordnungsnummern des Vorranges, die den GUIDs der jeweiligen Initiatoren I1 bis I3, die in der Warteschlange registriert sind, zugewiesen sind, durchgeführt. Auf die zweiten und anschließenden Anforderungen eines Einloggens von den Initiatoren I1 bis I3 hin sendet der Verwaltungsagent ME1 entsprechend das Statuspaket, das die Zeitkonstante ent hält, die identisch zur vorherigen ausgegebenen Zeitkonstante ist, zum interessierenden Initiator, der grade die Anforderung eines Einloggens ausgegeben hat. Die Initiatoren I1 bis I3 geben jeweils eine andere Anforderung eines Einloggens zum Ziel T1 zu den Zeitpunkten, die von den Zeitkonstanten bestimmt werden, die identisch mit den vorherigen Zeitkonstanten sind, aus, wie es in 5 gezeigt ist.
  • In dem Fall, in dem der Initiator I0 bereits in der logischen Einheit LUN1 eingeloggt ist, weist die Technik gemäß der Ausführungsform die kürzere Zeitdauer zwischen einer Anforderung eines Einloggens und einer nächsten Anforderung eines Einloggens (d.h. die kürzere Zeitkonstante) dem vorherigen Initiator zu, der die erste Anforderung eines Einloggens zum früheren Zeitpunkt ausgegeben hat. D.h. der vorherige Initiator gibt eine größere Anzahl von Anforderungen eines Einloggens je Zeiteinheit aus.
  • Genauer gesagt ist das Verhältnis der Zeitkonstanten der Initiatoren I1, I2 und I3 1 zu 2 zu 4, wie es anhand der 7 klar ersichtlich ist. Das Verhältnis der Anzahl der Anforderungen eines Einloggens, die je Zeiteinheit von den Initiatoren I1, I2 und I3 ausgegeben werden, beträgt dementsprechend 4 zu 2 zu 1.
  • In dem Fall, in dem sich der Initiator I0, der sich eingeloggt hat, zu einem beliebigen Zeitpunkt ausloggt, loggt sich der Initiator, der die Anforderung eines Einloggens zu dem frühesten Zeitpunkt nach dem Ausloggen ausgibt, in die logische Einheit LUN1 ein. Es besteht eine gute Möglichkeit, dass der Initiator, der die größte Anzahl von Anforderungen eines Einloggens je Zeiteinheit ausgibt, die Anforderung eines Einloggens zu dem frühesten Zeitpunkt nach dem Ausloggen ausgibt. D.h. es besteht eine hohe Wahrscheinlichkeit, dass der Initiator I1 sich als nächstes in die logische Einheit LUN1 einloggt. Die Technik der vorliegenden Erfindung gewährleistet somit praktisch, dass der Initiator, der die erste Anforderung eines Einloggens zum Ziel T1 zuerst ausgibt, sich zuerst einloggt.
  • In dem Fall, in dem der Initiator I0 eine Anforderung eines Ausloggens zum Ziel T1 zum Zeitpunkt, der in 5 gezeigt ist, ausgibt, führt das Programm die Folge von Verarbeitungen, die unten beschrieben werden, aus.
  • Wenn die Datenübertragung, die zwischen der Steuerung C0 des Initiators I0 und dem Holagenten FE1 des Ziels C1 durchgeführt wird, beendet ist, sendet die Steuerung C0 ein Auslogg-Paket zum Ziel T1. Das Auslogg-Paket enthält eine Anforderung eines Ausloggens zum Auffordern des Zieles T1, ein Ausloggen zu akzeptieren, und die GUID des Initiators I0, wie es in 5 gezeigt ist.
  • Unterdessen führt das Ziel T1 die Auslogg-Verarbeitung durch. 8 ist ein Flussdiagramm, das eine Verarbeitungsroutine eines Ausloggens zeigt, die von dem Ziel der 1 ausgeführt wird.
  • Der Verwaltungsagent ME1 des Ziels T1 wartet im Schritt S302 auf die Eingabe eines Auslogg-Pakets. Wenn er ein Paket empfängt, bestimmt der Verwaltungsagent ME1, ob das eingegebene Paket eine Anforderung eines Ausloggens enthält. In dem Fall, in dem die Anforderung eines Ausloggens in dem eingegebenen Paket enthalten ist, identifiziert der Verwaltungsagent ME1 das eingegebene Paket als ein Auslogg-Paket und schreitet zur Verarbeitung des Schrittes S304.
  • Im Schritt S304 liest der Verwaltungsagent ME1 die GUID, die in dem eingegebenen Auslogg-Paket enthalten ist, aus. Zu diesem Zeitpunkt ist die gelesene GUID "I0", so dass der Verwaltungsagent ME1 bestimmt, dass das eingegebene Auslogg-Paket von dem Initiator I0 gesendet wurde.
  • Der Verwaltungsagent ME1 vergleicht anschließend im Schritt S304 die GUID, die an der Adresse n = 0 in der Warteschlange registriert ist, d.h. die GUID des Initiators, der sich eingeloggt hat, mit der GUID, die ausgelesen wird. Wenn die beiden GUIDs identisch sind, löscht der Verwaltungsagent ME1 im Schritt S306 die registrierte GUID aus der Warteschlange. In diesem Fall weist die Warteschlange den in 6F gezeigten Zustand auf, wo "I0" an der Adresse n = 0 als die GUID des Initiators, der eingeloggt ist, registriert ist. Die im Schritt S304 gelesene GUID ist ebenfalls "I0" und damit identisch mit der registrierten GUID. Der Verwaltungsagent ME1 löscht dann die GUID "I0", die an der Adresse n = 0 registriert ist, wie es in 6G gezeigt ist.
  • Im anschließenden Schritt S308 sendet der Verwaltungsagent ME1 das Statuspaket, das auf einen Status eines erfolgreichen Ausloggens gesetzt wurde, zum Initiator I0, der grade die Anforderung des Ausloggens ausgegeben hat, wie es in 5 gezeigt ist. Der Status eines erfolgreichen Ausloggens stellt eine Antwort hinsichtlich eines akzeptierten Ausloggens dar.
  • Nach Beendigung der Verarbeitung im Schritt S308 wartet der Verwaltungsagent ME1 erneut im Schritt S302 auf die Eingabe eines anderen Auslogg-Pakets.
  • Durch die Folge der oben beschriebenen Verarbeitung loggt sich der Initiator I0, der eingeloggt ist, aus der logischen Einheit LUN1 des Ziels T1 aus.
  • In dem Fall, in dem der Initiator I1 eine Anforderung eines Einloggens an das Ziel T1 zum Zeitpunkt, der in 5 gezeigt ist, nach dem Ausloggen des Initiators I0 aus der logischen Einheit LUN1 ausgibt, folgt das Programm der Folge der Verarbeitung, die unten beschrieben wird.
  • Der Initiator I1 und das Ziel T1 führen die Folge der Einlogg-Verarbeitung durch, die im Wesentlichen der Folge der Verarbeitung, die ausgeführt wird, wenn sich der Initiator I0 in die logische Einheit LUN1 des Ziels T1 einloggt, ähnelt, mit Ausnahme der Verarbeitung ab dem Schritt S210, die von dem Ziel T1 ausgeführt wird.
  • Der Verwaltungsagent ME1 liest die Anzahl der Initiatoren "p", die derzeitig in der logischen Einheit LUN1 eingeloggt sind, im Schritt S210 aus. Zu diesem Zeitpunkt wurde die GUID, die an der Adresse n = 0 in der Warteschlange registriert war, wie zuvor erläutert und in 6G gezeigt gelöscht. Die Anzahl der Initiatoren "p", die hier gelesen wird, beträgt dementsprechend "0".
  • Im anschließenden Schritt S212 vergleicht der Verwaltungsagent ME1 die eingegebene Anzahl der Initiatoren "p" mit der vorbestimmten erlaubten Anzahl von gleichzeitigen Einloggungen "1" der logischen Einheit LUT1. In diesem Fall erreicht die Anzahl der Initiatoren "p", die derzeitig eingeloggt sind, nicht die vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen "1". Wie es in 5 gezeigt ist, sendet der Verwaltungsagent ME1 im Schritt S220 dementsprechend das Statuspaket, das auf den Status eines erfolgreichen Einloggens eingestellt ist, der die Antwort hinsichtlich eines akzeptierten Einloggens darstellt, zum Initiator I1, der grade die Anforderung eines Einloggens ausgegeben hat. Der Verwaltungsagent ME1 verschiebt dann sämtliche GUIDs, die in der Warteschlange registriert sind, im Schritt S222. In diesem Beispiel sind die GUID des Initiators I1, die GUID des Initiators I2 und die GUID des Initiators I3 jeweils an den Adressen n = 1, n = 2 und n = 3 in der Warteschlange registriert, wie es in 6G gezeigt ist. Die konkrete Prozedur des Schrittes S222 verschiebt somit zunächst die GUID des Initiators I1 von der Adresse n = 1 zur freien Adresse n = 0. D.h. die GUID des Initiators I1, der grade die Anforderung eines Einloggens ausgegeben hat, wird zur Adresse n = 0 verschoben, die den Einlogg-Zustand darstellt. Die Prozedur verschiebt dann die GUIDs der Initiatoren I2 und I3, die an den Adressen n = 2 und n = 3 registriert sind, jeweils um eins auf die oberen Adressen. Die Warteschlange weist dementsprechend den in 6H gezeigten Zustand auf.
  • Auf diese Weise hat sich der Initiator I1, der die Anforderung eines Einloggens zum frühesten Zeitpunkt nach dem Ausloggen des Initiators I0 ausgegeben hat, in die logische Einheit LUN1 des Ziels T1 eingeloggt.
  • In dem Fall, in dem die Initiatoren I2 und I3 jeweils die Anforderung eines Einloggens zum Ziel T1 zu den in 5 gezeigten Zeitpunkten ausgeben, nachdem sich der Initiator I1 eingeloggt hat, folgt das Programm der Folge der Verarbeitung, die unten beschrieben wird.
  • In diesem Fall führen die Initiatoren I2 und I3 und das Ziel T1 die Folge der Verarbeitung aus, die im Wesentlichen der Verarbeitung, die ausgeführt wird, wenn die Initiatoren I2 und I3, die die vorherige Anforderung eines Einloggens zum Ziel T1 ausgegeben haben, ausgeführt wird, ähnelt, mit Ausnahme einiger Details.
  • In der Einlogg-Verarbeitung durch das Ziel T1 liest der Verwaltungsagent ME1 im Schritt S213 die Ordnungsnummer des Vorrangs "n", die der GUID des interessierenden Initiators zugewiesen ist, der grade die Anforderung eines Einloggens ausgegeben hat, aus der Warteschlange aus. Hier weist die Warteschlange den in 6H gezeigten Zustand auf. Die GUID des Initiators I2, der an der Adresse n = 2 in dem vorherigen Zyklus der Verarbeitung registriert war, ist derzeitig an der Adresse n = 1 registriert, so dass die Ordnungsnummer des Vorrangs "n", die hier mit Bezug auf den Initiator I2 gelesen wird, gleich "1" ist. Auf ähnliche Weise ist die GUID des Initiators I3, die an der Adresse n = 3 in dem vorherigen Zyklus der Verarbeitung registriert war, derzeitig an der Adresse n = 2 registriert, so dass die Ordnungsnummer des Vorrangs "n", die hier mit Bezug auf den Initiator I3 gelesen wird, gleich "2" ist. D.h. beide Initiatoren I2 und I3 haben eine höhere Ordnungsnummer des Vorrangs "n" als in dem vorherigen Zyklus der Verarbeitung.
  • Im anschließenden Schritt S214 liest der Verwaltungsagent ME1 die Zeitkonstanten, die mit den jeweiligen Ordnungsnummern des Vorrangs "n" übereinstimmen, aus der Zeitkonstantentabelle der 7 aus. Hier wird die Zeitkonstante "t1", die mit "n = 1" übereinstimmt, in Bezug auf den Initiator I2 ausgelesen, und die Zeitkonstante "t2", die mit "n = 2" übereinstimmt, wird in Bezug auf den Initiator I3 ausgelesen. Die Zeitkonstante des Initiators I2 hat sich dementsprechend von "t2" zu "t1" geändert, wohingegen sich die Zeitkonstante des Initiators I3 von "t3" zu "t2" geändert hat. D.h. beide Initiatoren I2 und I3 haben Zeitkonstanten, die sich auf jeweils die Hälfte verkürzt haben.
  • Im anschließenden Schritt S216 sendet der Verwaltungsagent ME1 das Statuspaket, das den Einlogg-Fehlerstatus enthält, und die Zeitkonstante an die Initiatoren I2 und I3, die grade die Anforderung eines Einloggens ausgegeben haben, zu den jeweiligen Zeitpunkten, die in 5 gezeigt sind. Die Steuerung C2 des Initiators I2 und die Steuerung C3 des Initiators I3 empfangen dann im Schritt S104 jeweils das Statuspaket zu den in 5 gezeigten Zeitpunkten und lesen im Schritt S110 die Zeitkonstante aus dem Statuspaket aus. Zu diesem Zeitpunkt liest die Steuerung C2 die Zeitkonstante "t1" aus, und die Steuerung C3 liest die Zeitkonstante "t2" aus. Die Steuerung C2 gibt dementsprechend das Einlogg-Paket erneut an das Ziel T1 nach dem Verstreichen der Zeitdauer "t1" seit der vorherigen Anforderung eines Einloggens in den Schritten S112 und S102 aus. Auf ähnliche Weise gibt die Steuerung C3 das Einlogg-Paket erneut an das Ziel T1 nach dem Verstreichen der Zeitdauer "t2" seit der vorherigen Anforderung eines Einloggens in den Schritten S112 und S102 aus.
  • Die Zeitdauern zwischen einer Anforderung eines Einloggens und einer nächsten Anforderung eines Einloggens (d.h., die Zeitkonstanten), die nach dem Einloggen des Initiators I1 für die Initiatoren I2 und I3 eingestellt sind, werden jeweils auf die Hälfte der Zeitdauern vor dem Einloggen des Initiators I1 verringert. D.h. die Anzahl der Anforderungen eines Einloggens, die zum Ziel T1 je Zeiteinheit ausgegeben werden, wird jeweils in Bezug auf beide Initiatoren I2 und I3 verdoppelt. Diese Anordnung ermöglicht es, dass der Initiator, der auf das nächste Einloggen gewartet hat, die Anforderung eines Einloggens zum frühen Zeitpunkt ausgibt, wenn sich der Initiator I1, der sich eingeloggt hat, zu einem beliebigen Zeitpunkt ausloggt.
  • Auf diese Weise weisen die Initiatoren I2 und I3 die kürzeren Zeitkonstanten auf und geben die größeren Anzahlen von Anforderungen eines Einloggens je Zeiteinheit nach dem Einloggen des Initiators I1 als vor dem Einloggen des Initiators I1 aus. Der Initiator I2, der die erste Anforderung eines Einloggens früher als der Initiator I3 ausgegeben hat, weist jedoch die kürzere Zeitkonstante auf und gibt die größere Anzahl von Anforderungen eines Einloggens je Zeiteinheit aus als der Initiator I3. Wenn der Initiator I1, der sich eingeloggt hat, zu einem beliebigen Zeitpunkt ausloggt, besteht eine gute Möglichkeit, dass der Initiator I2, der die größere Anzahl von Anforderungen eines Einloggens je Zeiteinheit ausgibt, eine nächste Anforderung eines Einloggens zu dem früheren Zeitpunkt ausgibt. D.h. es besteht eine hohe Wahrscheinlichkeit, dass sich der Initiator I2 als nächstes in die logische Einheit LUN1 einloggt.
  • (D) Ergänzung
  • Wie zuvor beschrieben sendet jeder der jeweiligen Initiatoren I0 bis I3 das Einlogg-Paket oder das Auslogg-Paket zum Ziel T1, und das Ziel T1 sendet das Statuspaket zu jedem der Initiatoren I0 bis I3. Diese Operationen werden genauer beschrieben.
  • In 1 weisen die jeweiligen Initiatoren I0 bis I3 die allgemeinen Speicher SM0 bis SM3 auf. Jeder der Initiatoren I0 bis I3 sendet das Einlogg-Paket oder das Auslogg-Paket zum Ziel T1 auf die folgende Weise. Jeder der Initiatoren I0 bis I3, d.h. der interessierende Initiator, ordnet jeweils zunächst die Daten des Einlogg-Pakets oder des Auslogg-Pakets, die an das Ziel T1 auszugeben sind, in Form einer bestimmten Datenstruktur, die ein Verwaltungs-ORB genannt wird, wie es in 1 gezeigt ist, in den entsprechenden der jeweiligen allgemeinen Speicher SM0 bis SM3 an. Der interessierende Initiator sendet dann einen Zeiger, der eine Adresse im allgemeinen Speicher anzeigt, an der die bestimmte Datenstruktur angeordnet ist, zum Verwaltungsagenten ME1 des Ziels T1 über den IEEE1394-Bus B1. Der Verwaltungsagent ME1 des Ziels T1 empfängt den Zeiger, erlangt Zugriff auf den allgemeinen Speicher des interessierenden Initiators, der grade den Zeiger gesendet hat, über den IEEE1394-Bus B1 und übernimmt den Verwaltungs-ORB, der an der Adresse, die von dem Zeiger bestimmt wird, angeordnet ist, um die Daten des Einlogg-Pakets oder des Auslogg-Pakets zu empfangen. Auf diese Weise sendet jeder der Initiatoren I0 bis I3 das Einlogg-Paket oder das Auslogg-Paket zum Ziel T1.
  • Auf die Eingabe des Einlogg-Pakets oder des Auslogg-Pakets hin sendet das Ziel T1 das Statuspaket zu jedem der Initiatoren I0 bis I3, d.h. dem interessierenden Initiator. Das Einlogg-Paket oder das Auslogg-Paket, das von dem interessierenden Initiator gesendet wird, enthält den Zeiger, der die Adresse in dem allgemeinen Speicher des Initiators bestimmt, zusätzlich zur Anforderung eines Einloggens oder Ausloggens und die GUID. Wenn er das Einlogg-Paket oder das Auslogg-Paket empfängt, liest der Verwaltungsagent ME1 des Ziels T1 den Zeiger, der in dem eingegebenen Paket enthalten ist, aus, erlangt Zugriff auf den allgemeinen Speicher des interessierenden Initiators über den IEEE1394-Bus B1 und schreibt die Daten des Statuspakets in ein STATUS_FIFO, das durch den Zeiger spezifiziert ist. Auf diese Weise schreibt das Ziel T1 von Ferne das Statuspaket in jeden der Initiatoren I0 bis I3.
  • Nachdem sich der interessierende Initiator in die logische Einheit LUN1 des Ziels T1 einloggt hat, wird die Datenübertragung zwischen dem interessierenden Initiator und dem Holagenten FE1 des Ziels T1 auf ähnliche Weise durchgeführt. In dem Fall der Datenübertragung zwischen dem Initiator und dem Holagenten FE1 platziert der Initiator jedoch die Daten in seinem eigenen allgemeinen Speicher in einer bestimmten Datenform, die eine normale ORB genannt wird, wie in 1 gezeigt ist, anstelle der oben beschriebenen Verwaltungs-ORB.
  • Wie es zuvor beschrieben wurde, besteht gemäß der Technik der Ausführungsform, wenn sich der Initiator I0, der sich eingeloggt hat, zu einem beliebigen Zeitpunkt ausloggt, eine gute Möglichkeit, dass der Initiator I1, der die größte Anzahl von Anforderungen eines Einloggens je Zeiteinheit ausgibt, eine nächste Anforderung eines Einloggens zum frühesten Zeitpunkt ausgibt. In dem Beispiel der 5 gibt, nachdem sich der Initiator I0 ausloggt, der Initiator I1 die Anforderung eines Einloggens zum Ziel T1 zum frühesten Zeitpunkt aus. In dem tatsächlichen Zustand besteht jedoch weiterhin die Möglichkeit, dass der Initiator I2 oder I3 die Anforderung eines Einloggens zum Ziel T1 zum frühesten Zeitpunkt nach dem Ausloggen des Initiators I0 ausgibt. Dieses hängt von dem Auslogg-Zeitpunkt des Initiators I0 ab. Es wird z.B. angenommen, dass der Initiator I2 oder I3 die Anforderung eines Einloggens zwischen der vorherigen Anforderung eines Einloggens und der nächsten Anforderung eines Einloggens durch den Initiator I1 ausgibt. In dem Fall, in dem sich der Initiator I0 nach der vorherigen Anforderung eines Einloggens durch den Initiator I1 und vor der nächsten Anforderung eines Einloggens durch den Initiator I2 oder I3 ausloggt, gibt der Initiator I2 oder I3 die Anforderung eines Ausloggens zum Ziel T1 zum frühesten Zeitpunkt nach dem Ausloggen aus.
  • In derartigen Fällen loggt sich der Initiator I2 oder I3, der die Anforderung eines Einloggens zum frühesten Zeitpunkt nach dem Ausloggen des Initiators I0 ausgegeben hat, in die logische Einheit LUN1 des Ziels T1 ein. D.h. der Initiator I2 oder I3, der die erste Anforderung eines Einloggens später als der Initiator I1 ausgegeben hat, loggt sich vor dem Initiator I1 ein.
  • In diesem Fall wird die Verarbeitung des Schrittes S222 in der Folge der Einlogg-Verarbeitungen durch das Ziel T1 auf die folgende Weise durchgeführt. In Schritt S222 verschiebt der Verwaltungsagent ME1 sämtliche GUIDs, die in der Warteschlange registriert sind. In diesem Beispiel gibt, nachdem der Initiator I0 sich ausloggt, der Initiator I2 die Anforderung eines Einloggens zum Ziel T1 zum frühesten Zeitpunkt aus, um sich einzuloggen.
  • Hier weist die Warteschlange den in 6G gezeigten Zustand auf. Die GUID des Initiators I1, die GUID des Initiators I2 und die GUID des Initiators I3 sind jeweils an den Adressen n = 1, n = 2 und n = 3 in der Warteschlange registriert. Unter derartigen Umständen verschiebt der Verwaltungsagent ME1 die GUID des Initiators I2, der grade die Anforderung eines Einloggens ausgegeben hat, von der Adresse n = 2 zur Adresse n = 0, die den Einloggzustand darstellt. Der Verwaltungsagent ME1 verschiebt dann die GUID des Initiators I3 von der Adresse n = 3 um eins zur oberen Adresse, d.h. zur freien Adresse n = 2. Die GUID des Initiators I1 wird unverändert gehalten.
  • In diesem Fall loggt sich der Initiator I2, der die erste Anforderung eines Einloggens später ausgegeben hat, vor dem Initiator I1 ein, der die erste Anforderung eines Einloggens früher ausgegeben hat. D.h. jedoch, es gibt keine Änderung der Ordnungsnummer des Vorrangs "n", die der GUID des Initiators I1 in der Warteschlange zugewiesen ist. Nachdem sich der Initiator I2 eingeloggt hat, weist der Initiator I1 weiterhin die kürzeste Zeitdauer zwischen einer Anforderung eines Einloggens und einer nächsten Anforderung eines Einloggens (d.h. die kürzeste Zeitkonstante) auf und gibt die größte Anzahl von Anforderungen eines Einloggens je Zeiteinheit aus. Daher besteht weiterhin eine gute Möglichkeit, dass der Initiator I1 die nächste Anforderung eines Einloggens zum frühesten Zeitpunkt ausgibt, um sich als nächstes einzuloggen, nachdem sich der Initiator I2, der sich eingeloggt hat, zu einem beliebigen Zeitpunkt ausgeloggt hat.
  • Das folgende Problem kann jedoch in der zuvor beschriebenen Verarbeitung auftreten. Hier wird angenommen, dass der Initiator I1, der die erste Anforderung eines Einloggens zu einem früheren Zeitpunkt ausgegeben hat, das wiederholte Ausgeben der Anforderung eines Einloggens aus irgendeinem Grund, beispielsweise aufgrund einer Entfernung der Verbindung des Initiators I1 zum IEEE1394-Bus B1 stoppt. Als Ergebnis der obigen Verarbeitung in Schritt S222 verbleibt die GUID des Initiators I1 an der Adresse n = 1 in der Warteschlange, die die Ordnungsnummer des Vorrangs "n" gleich "1" aufweist. Der Initiator I3, dessen GUID von der Adresse n = 3 zur Adresse n = 2 verschoben wird, weist die Ordnungsnummer des Vorrangs "n" von gleich "2" auf. Während der Initiator I1 das Ausgeben der Anforderung eines Einloggens zum Ziel T1 stoppt, wird "t2", das mit der Ordnungsnummer des Vorrangs "n = 2" übereinstimmt, weiterhin als die Zeitkonstante des Initiators I3 verwendet. Dieses verlängert den Zeitpunkt des Ausgebens der Anforderung eines Einloggens von dem Initiator I3 zu dem Ziel T1 auf unerwünschte Weise.
  • Zum Zwecke der Verbesserung kann die Verarbeitung des Schritts S222, die oben beschrieben wurde, durch einen unten beschriebenen anderen Prozess ersetzt werden.
  • Hier weist die Warteschlange den in 6G gezeigten Zustand auf. Der Verwaltungsagent ME1 verschiebt die GUID des Initiators I2, der grade die Anforderung eines Einloggens ausgegeben hat, von der Adresse n = 2 zur Adresse n = 0, die den Einloggzustand darstellt, und löscht die GUID des bestimmten Initiators, der eine höhere Ordnungsnummer des Vorrangs "n" als diejenige aufweist, die der GUID des Initiators I2 zugewiesen ist (d.h. die GUID des Initiators I1), aus der Warteschlange. Der Verwaltungsagent ME1 verschiebt dann die GUID des Initiators I3, der die niedrigere Ordnungsnummer des Vorrangs "n" als diejenige, die der GUID des Initiators I2 zugewiesen ist, um zwei von der Adresse n = 3 zur oberen Adresse, d.h. zur freien Adresse n = 1. Dieser Prozess löst das oben beschriebene Problem.
  • Gemäß einer anderen möglichen Prozedur erfasst der Verwaltungsagent ME1 den Zeitpunkt der wiederholten Anforderung eines Einloggens, die von einem jeweiligen Initiator ausgegeben wird. Wenn keine weitere Anforderung eines Einloggens von dem interessierenden Initiator nach dem Verstreichen einer vorbestimmten Zeitdauer ausgegeben wird, löscht der Verwaltungsagent ME1 die GUID des Initiators aus der Warteschlange.
  • Die vorliegende Erfindung ist nicht auf die obige Ausführungsform oder ihre Modifikationen beschränkt, sondern es können viele anderen Modifikationen, Änderungen und Alternativen angewendet werden, ohne von dem Bereich oder dem Geist der Hauptkennzeichen der vorliegenden Erfindung abzuweichen.
  • In der oben beschriebenen Ausführungsform sind vier Initiatoren und ein Ziel mit dem IEEE1394-Bus B1 verbunden, wie es in 1 gezeigt ist. Die Technik der vorliegenden Erfindung ist jedoch nicht auf eine derartige Anzahl beschränkt. In dem Fall, in dem zwei oder mehr Ziele mit dem IEEE1394-Bus B1 verbunden sind, wird die oben beschriebene Folge der Verarbeitungen von jedem Ziel durchgeführt.
  • In der oben beschriebenen Ausführungsform weist das Ziel T1 nur eine logische Einheit LUN1 auf. Das Ziel kann jedoch auch zwei oder mehr logische Einheiten aufweisen. In diesem Fall loggt sich jeder Initiator unabhängig in jede logische Einheit ein. Die logische Einheit LUN1 weist in der obigen Ausführungsform eine erlaubte Anzahl von gleichzeitigen Einloggungen von "1" auf. Die erlaubte Anzahl von gleichzeitigen Einloggungen kann jedoch auch auf einen anderen Wert von nicht weniger als zwei eingestellt sein. Im letzteren Fall sollte die Verarbeitung des Schritts S212 in der Folge der Einlogg-Verarbeitung durch das Ziel, die in dem Flussdiagramm der 4 gezeigt ist, entsprechend der voreingestellten erlaubten Anzahl von gleichzeitigen Einloggungen modifiziert werden.
  • In der oben beschriebenen Ausführungsform sind die Initiatoren die Computer und das Ziel ist der Drucker. Die Technik der vorliegenden Erfindung ist jedoch nicht auf derartige Vorrichtungen beschränkt. Der Initiator kann ein Scanner oder eine andere geeignete Vorrichtung als der Computer sein. Das Ziel kann ebenfalls eine andere geeignete Vorrichtung als der Drucker sein. In einem Beispiel kann eine Schnittstellenschaltvorrichtung als das Ziel festgesetzt sein. In diesem Fall spielt das Ziel nur die Rolle des Schaltens zwischen dem IEEE1394-Bus und ei ner vorhandenen Schnittstelle, die mit einem Scanner oder einem Drucker verbunden ist.
  • Der Bereich der vorliegenden Erfindung ist nur durch die zugehörigen Ansprüche begrenzt.

Claims (13)

  1. Eingeloggte Vorrichtung, in die von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird, wobei die eingeloggte Vorrichtung aufweist: eine Antworteinheit, die ausgelegt ist, eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer bestimmten interessierenden Vorrichtung zu geben, die gerade eine Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, gekennzeichnet durch eine Wiederanforderungszeitpunktbestimmungseinheit, die ausgelegt ist, einen Zeitpunkt der Wiederanforderung eines Einloggens zu bestimmen, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens eines Einloggens empfangen hat, eine weitere Anforderung des Einloggens ausgeben sollte, wobei die Wiederanforderungszeitpunktbestimmungseinheit aufweist: eine Vorrangbestimmungseinheit, die ausgelegt ist, des Vorrangs der bestimmten interessierenden Vorrichtung, die gerade die Anforderung des Einloggens ausgegeben hat, eine Ordnungsnummer zuzuweisen, und eine Wiederanforderungszeitpunktfestlegungseinheit, die ausgelegt ist, den Zeitpunkt der Wiederanforderung eines Einloggens in Bezug auf die bestimmte interessierende Vorrichtung auf der Grundlage der Ordnungsnummer des Vorrangs festzulegen, die der bestimmten interessierenden Vorrichtung zugewiesen ist.
  2. Eingeloggte Vorrichtung nach Anspruch 1, wobei die Vorrangbestimmungseinheit Ordnungsnummern des Vorrangs den bestimmten Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen eines Einloggens zuweist.
  3. Eingeloggte Vorrichtung nach Anspruch 1 oder 2, wobei die Wiederanforderungszeitpunktfestlegungseinheit einer bestimmten Vorrichtung, die eine höhere Ordnungsnummer des Vorrangs aufweist, einen kürzeren Zeitpunkt der Anforderung eines Einloggens zuweist.
  4. Eingeloggte Vorrichtung nach Anspruch 1, wobei die Wiederanforderungszeitpunktbestimmungseinheit den Zeitpunkt der Wiederanforderung eines Einloggens als eine Zeitkonstante bestimmt, die eine Zeitdauer darstellt, die verstreicht, bevor eine weitere Anforderung eines Einloggens ausgegeben wird.
  5. Eingeloggte Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die eingeloggte Vorrichtung zumindest eine logische Einheit aufweist, in die von jeder der bestimmten Vorrichtungen unabhängig eingeloggt wird, wobei die Antworteinheit einer bestimmten interessierenden Vorrichtung, die gerade eine Anforderung eines Einloggens in eine bestimmte logische Einheit ausgegeben hat, eine Antwort hinsichtlich des Fehlschlagens eines Einloggens in Bezug auf die bestimmte logische Einheit gibt, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die bestimmte logische Einheit eingeloggt sind, eine erlaubte Anzahl gleichzeitiger Einloggungen erreicht, die für die bestimmte logische Einheit voreingestellt ist, und die Wiederanforderungszeitpunktbestimmungseinheit einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die be stimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben sollte.
  6. Eingeloggte Vorrichtung nach einem der Ansprüche 1 bis 5, wobei die bestimmten Vorrichtungen eingestellt sind, die Anforderung eines Einloggens nicht gleichzeitig über den vorbestimmten Kommunikationspfad auszugeben.
  7. Eingeloggte Vorrichtung nach einem der Ansprüche 1 bis 5, wobei der vorbestimmte Kommunikationspfad einen IEEE1394-Bus aufweist.
  8. Eingeloggte Vorrichtung nach einem der Ansprüche 1 bis 5, wobei die eingeloggte Vorrichtung mit den bestimmten Vorrichtungen gemäß einem SBP-2-Protokoll kommuniziert.
  9. System zur Kommunikation zwischen Vorrichtungen, wobei von mehreren Einlog-Vorrichtungen in eine eingeloggte Vorrichtung über einen vorbestimmten Kommunikationspfad eingeloggt wird, wobei die Einlog-Vorrichtung aufweist: eine Antworteinheit, die ausgelegt ist, eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer interessierenden Einlog-Vorrichtung gibt, die gerade eine Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl von Einlog-Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, wobei jede der Einlog-Vorrichtungen aufweist: eine Einlog-Anforderungseinheit, die ausgelegt ist, die Anforderung eines Einloggens an die eingeloggte Vorrichtung auszugeben, dadurch gekennzeichnet, dass die eingeloggte Vorrichtung eine Wiederanforderungszeitpunktbestimmungseinheit aufweist, die ausgelegt ist, einen Zeitpunkt der Wiederanforderung des Einloggens zu bestimmen, um einen Zeitpunkt zu festzulegen, wann die interessierende Einlog-Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgegeben sollte, wobei die Wiederanforderungszeitpunktbestimmungseinheit aufweist: eine Vorrangbestimmungseinheit, die ausgelegt ist, eine Ordnungsnummer des Vorrangs der bestimmten interessierenden Vorrichtung zuzuweisen, die gerade die Anforderung eines Einloggens ausgegeben hat, und eine Wiederanforderungszeitpunktfestlegungseinheit, die ausgelegt ist, den Zeitpunkt der Wiederanforderung eines Einloggens in Bezug auf die bestimmte interessierende Vorrichtung auf der Grundlage der Ordnungsnummer des Vorrangs, die der bestimmten interessierenden Vorrichtung zugewiesen ist, festzulegen, wobei die Einlog-Anforderungseinheit beim Empfang der Antwort hinsichtlich des Fehlschlagens des Einloggens und der Bestimmung des Zeitpunkts der Wiederanforderung von der eingeloggten Vorrichtung eine weitere Anforderung des Einloggens an die eingeloggte Vorrichtung zu dem bestimmten Zeitpunkt der Wiederanforderung anfordert.
  10. Verfahren zum Steuern eines Einloggens, um mehreren Einlog-Vorrichtungen zu ermöglichen, über einen vorbestimmten Kommunikationspfad in zumindest eine logische Einheit einzuloggen, die in einer eingeloggten Vor richtung enthalten ist, wobei das Verfahren die folgenden Schritte aufweist: (a) Bewirken, dass die eingeloggte Vorrichtung eine Antwort hinsichtlich des Fehlschlagens eines Einloggens in Bezug auf eine bestimmte logische Einheit einer interessierenden Einlog-Vorrichtung gibt, die gerade eine Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben hat, wenn eine Anzahl von Einlog-Vorrichtungen, die derzeitig in die bestimmte logische Einheit eingeloggt sind, eine erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, die für die bestimmte logische Einheit voreingestellt ist, gekennzeichnet durch (b) Bewirken, dass die eingeloggte Vorrichtung einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt zu festzulegen, wann die interessierende Einlog-Vorrichtung, die gerade die Anforderung des Einloggens an die bestimmte logische Einheit ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens an die bestimmte logische Einheit ausgegeben sollte, und (c) Bewirken, dass die interessierende Einlog-Vorrichtung eine weitere Anforderung des Einloggens an die bestimmte logische Einheit, die in der eingeloggten Vorrichtung enthalten ist, zu dem vorbestimmten Zeitpunkt der Wiederanforderung ausgibt, wenn die interessierende Einlog-Vorrichtung die Antwort hinsichtlich des Fehlschlagens des Einloggens in Bezug auf die bestimmte logische Einheit und die Bestimmung des Zeitpunkts der Wiederanforderung von der eingeloggten Vorrichtung empfängt, wobei der Schritt (b) den Schritt aufweist: Bewirken, dass die eingeloggte Vorrichtung den Einlog-Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen eines Einloggens an die bestimmte logische Einheit Ordnungsnummern des Vorrangs zuweist, und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer Einlog-Vorrichtung zuweist, die eine höhere Ordnungsnummer des Vorrangs aufweist.
  11. Computerprogrammprodukt, das einen Computer veranlasst, eine Folge von eingeloggten Verarbeitungen durchzuführen, wobei in den Computer von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird, wobei das Computerprogrammprodukt aufweist: einen ersten Programmcode, der bewirkt, dass der Computer eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer bestimmten interessierenden Vorrichtung gibt, die gerade eine Anforderung eines Einloggens ausgegeben hat, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, gekennzeichnet durch einen zweiten Programmcode, der bewirkt, dass der Computer einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung des Einloggens ausgegeben sollte, und ein computerlesbares Medium, auf dem der erste Programmcode und der zweite Programmcode gespeichert sind, wobei der zweite Programmcode aufweist: einen Programmcode, der bewirkt, dass der Computer Ordnungsnummern des Vorrangs den bestimmten Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen eines Einloggens zuweist und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer bestimmten Vorrich tung zuweist, die eine höhere Ordnungsnummer des Vorrangs aufweist.
  12. Datensignal, das in einem Träger verkörpert ist, wobei das Datensignal ein Computerprogramm repräsentiert, das bewirkt, dass ein Computer eine Folge von eingeloggten Verarbeitungen ausführt, wobei in den Computer von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird, wobei das Datensignal aufweist: einen ersten Programmcode, der bewirkt, dass der Computer eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer bestimmten interessierenden Vorrichtung gibt, die gerade eine Anforderung des Einloggens ausgegeben hat, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl von gleichzeitigen Einloggungen erreicht, gekennzeichnet durch einen zweiten Programmcode, der bewirkt, dass der Computer einen Zeitpunkt der Wiederanforderung des Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine weitere Anforderung eines Einloggens ausgeben sollte, wobei der zweite Programmcode aufweist: einen Programmcode, der bewirkt, dass der Computer Ordnungsnummern des Vorrangs den bestimmten Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen des Einloggens zuweist und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer bestimmten Vorrichtung zuweist, die eine höhere Ordnungsnummer des Vorrangs aufweist.
  13. Computerprogramm, das bewirkt, dass ein Computer eine Folge von eingeloggten Verarbeitungen ausführt, wobei in den Computer von mehreren bestimmten Vorrichtungen über einen vorbestimmten Kommunikationspfad eingeloggt wird, wobei das Computerprogramm aufweist: einen ersten Programmcode, der bewirkt, dass der Computer eine Antwort hinsichtlich des Fehlschlagens eines Einloggens einer bestimmten interessierenden Vorrichtung gibt, die gerade eine Anforderung des Einloggens ausgegeben hat, wenn eine Anzahl bestimmter Vorrichtungen, die derzeitig in die eingeloggte Vorrichtung eingeloggt sind, eine vorbestimmte erlaubte Anzahl gleichzeitiger Einloggungen erreicht, gekennzeichnet durch einen zweiten Programmcode, der bewirkt, dass der Computer einen Zeitpunkt der Wiederanforderung eines Einloggens bestimmt, um einen Zeitpunkt festzulegen, wann die bestimmte interessierende Vorrichtung, die gerade die Anforderung eines Einloggens ausgegeben hat und die Antwort hinsichtlich des Fehlschlagens des Einloggens empfangen hat, eine andere Anforderung eines Einloggens ausgeben sollte, wobei der zweite Programmcode aufweist: einen Programmcode, der bewirkt, dass der Computer Ordnungsnummern des Vorrangs den bestimmten Vorrichtungen in einer Abfolge des Ausgebens erster Anforderungen eines Einloggens zuweist und einen kürzeren Zeitpunkt der Wiederanforderung eines Einloggens einer bestimmten Vorrichtung zuweist, die eine höhere Ordnungsnummer des Vorrangs aufweist.
DE60023429T 1999-08-03 2000-07-28 Geräteregistrierung in einem Netzwerk Expired - Lifetime DE60023429T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11219858A JP2001045031A (ja) 1999-08-03 1999-08-03 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体
JP21985899 1999-08-03

Publications (2)

Publication Number Publication Date
DE60023429D1 DE60023429D1 (de) 2005-12-01
DE60023429T2 true DE60023429T2 (de) 2006-07-27

Family

ID=16742170

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60023429T Expired - Lifetime DE60023429T2 (de) 1999-08-03 2000-07-28 Geräteregistrierung in einem Netzwerk

Country Status (5)

Country Link
US (2) US7017180B1 (de)
EP (1) EP1107532B1 (de)
JP (1) JP2001045031A (de)
AT (1) ATE308188T1 (de)
DE (1) DE60023429T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045031A (ja) * 1999-08-03 2001-02-16 Seiko Epson Corp 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体
JP2002118558A (ja) * 2000-10-10 2002-04-19 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
US7164689B2 (en) * 2000-12-05 2007-01-16 Matsushita Electric Industrial Co., Ltd. Multi-initiator control unit and method
JP3575603B2 (ja) * 2001-03-16 2004-10-13 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP2003052660A (ja) * 2001-07-25 2003-02-25 Ge Medical Systems Global Technology Co Llc プロトコル・医用画像登録方法、医用画像提供方法、プロトコル利用方法、プロトコル・医用画像登録システム、医用画像提供システム、プロトコル利用システム、ベンダー端末、利用者端末、およびプロトコル管理サーバ装置
JP4264924B2 (ja) * 2002-06-07 2009-05-20 ソニーマニュファクチュアリングシステムズ株式会社 データ転送方法
US20050144263A1 (en) * 2003-12-15 2005-06-30 Masayuki Shiba Server, data processing system, and method of data processing
US7409550B2 (en) * 2004-08-16 2008-08-05 Mitsubishi Electric Research Laboratories, Inc. Method for binding networked devices
JP5006569B2 (ja) * 2006-04-21 2012-08-22 キヤノン株式会社 制御装置及びその制御方法
EP1921817A1 (de) * 2006-11-09 2008-05-14 Thomson Licensing Verfahren und Vorrichtung zur Verbindung eines ersten Geräts mit einem zweiten Gerät

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4199661A (en) 1978-05-05 1980-04-22 Control Data Corporation Method and apparatus for eliminating conflicts on a communication channel
US4561092A (en) * 1983-05-13 1985-12-24 The Bdm Corporation Method and apparatus for data communications over local area and small area networks
US4667191A (en) * 1984-12-21 1987-05-19 Motorola, Inc. Serial link communications protocol
US5175837A (en) 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
JPH0387962A (ja) 1989-06-09 1991-04-12 Hitachi Ltd プロセッサ間通信制御方法
JPH0345991A (ja) 1989-07-14 1991-02-27 Hitachi Ltd 画像表示方法及びそれに用いる計算機システム
JPH04111561A (ja) 1990-08-30 1992-04-13 Fujitsu Ltd 通信方式
US5339313A (en) * 1991-06-28 1994-08-16 Digital Equipment Corporation Method and apparatus for traffic congestion control in a communication network bridge device
JPH05122383A (ja) 1991-10-23 1993-05-18 Hitachi Ltd 共通線通信制御システム
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5293621A (en) * 1993-01-11 1994-03-08 Unisys Corporation Varying wait interval retry apparatus and method for preventing bus lockout
JP2609818B2 (ja) 1994-08-19 1997-05-14 日本電気テレコムシステム株式会社 再送制御方法
US5734909A (en) 1995-09-01 1998-03-31 International Business Machines Corporation Method for controlling the locking and unlocking of system resources in a shared resource distributed computing environment
US5717872A (en) 1996-01-11 1998-02-10 Unisys Corporation Flexible, soft, random-like counter system for bus protocol waiting periods
EP0932958B1 (de) * 1996-10-16 2003-10-15 Thomson Consumer Electronics, Inc. Verfahren zum sicherstellen des gemeinsamen betriebs von an einem bus angeschlossenen geräten und geeignetes gerät dafür.
JPH10198622A (ja) 1996-12-28 1998-07-31 Casio Comput Co Ltd クライアント及びサーバー
US6076115A (en) * 1997-02-11 2000-06-13 Xaqti Corporation Media access control receiver and network management system
JP3733699B2 (ja) * 1997-06-20 2006-01-11 ソニー株式会社 シリアルインタフェース回路
US6430635B1 (en) * 1998-10-10 2002-08-06 Lg Electronics Inc Protocol interfacing method
US6243778B1 (en) * 1998-10-13 2001-06-05 Stmicroelectronics, Inc. Transaction interface for a data communication system
JP2001045031A (ja) * 1999-08-03 2001-02-16 Seiko Epson Corp 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Also Published As

Publication number Publication date
US7017180B1 (en) 2006-03-21
EP1107532A3 (de) 2003-09-17
US20050273622A1 (en) 2005-12-08
ATE308188T1 (de) 2005-11-15
US7302699B2 (en) 2007-11-27
DE60023429D1 (de) 2005-12-01
EP1107532A2 (de) 2001-06-13
JP2001045031A (ja) 2001-02-16
EP1107532B1 (de) 2005-10-26

Similar Documents

Publication Publication Date Title
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE68928311T2 (de) Fern-Urlader
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE68927508T2 (de) Zeitweilige Zustandsbewahrung für einen verteilten Dateidienst
DE69634983T2 (de) Verfahren und vorrichtung für ein hybrides wettbewerbs- und abfrageprotokoll
DE68919975T2 (de) Verfahren für die simultane Ablaufverwaltung eines verteilten Anwenderprogramms in einem Hostrechner und in einer grossen Anzahl von intelligenten Benutzerstationen in einem SNA-Netzwerk.
DE68919976T2 (de) Verfahren zur Herstellung von aktuellen Terminaladressen für Systemanwender die verteilte Anwendungsprogramme in einer SNA LU 6.2-Netzwerkumbegung verarbeiten.
DE69205690T2 (de) Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek.
DE69332778T2 (de) Verfahren und geraet mit einzigadressenzuweisung, knotenselbstidentifizierung und topologieabbildung fuer einen gerichteten, acyclischen graph
DE68918837T2 (de) Verfahren zur unterbrechungsfreien Rückgewinnungsversorgung in einem Übertragungssystem.
DE3909948C2 (de)
DE68925474T2 (de) Verriegelungsrechnersysteme
DE68927375T2 (de) Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem
DE69334172T2 (de) Verfahren und Vorrichtung zur Arbitrierung auf einen acyclischen gerichteten Graph
DE19580990C2 (de) Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen
DE19605093B4 (de) Verfahren und Vorrichtung zum Einrichten und Verwalten einer Verbindung zwischen einem Client-Computersystem und jedem einer Mehrzahl von Server-Computersystemen
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69627604T2 (de) Verfahren und vorrichtung zum verarbeiten von e/a-anforderungen
DE69534616T2 (de) System und Verfahren zum Verarbeiten von E/A-Anfragen über einen Schnittstellenbus zu einer Speicherplattenanordnung
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE10304856A1 (de) Verfolgen von Drucken in einem Netzwerk
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
DE68927795T2 (de) Übertragungssystem mit einem gemeinsamen Speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition