DE60027633T2 - Datenkommunikations-Gerät - Google Patents

Datenkommunikations-Gerät Download PDF

Info

Publication number
DE60027633T2
DE60027633T2 DE60027633T DE60027633T DE60027633T2 DE 60027633 T2 DE60027633 T2 DE 60027633T2 DE 60027633 T DE60027633 T DE 60027633T DE 60027633 T DE60027633 T DE 60027633T DE 60027633 T2 DE60027633 T2 DE 60027633T2
Authority
DE
Germany
Prior art keywords
data
orb
job
read
execution
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
DE60027633T
Other languages
English (en)
Other versions
DE60027633D1 (de
Inventor
Shunsaku Suwa-shi Miyazawa
Hiroshi Suwa-shi Takeuchi
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
Application granted granted Critical
Publication of DE60027633D1 publication Critical patent/DE60027633D1/de
Publication of DE60027633T2 publication Critical patent/DE60027633T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Datenkommunikationsgerät, das Datenkommunikation mit einem Partnergerät über eine Kommunikationsleitung durchführt, und insbesondere ein Datenkommunikationsgerät, das Datenkommunikation mit einem Partnergerät über eine serielle Schnittstelle durchführt, die auf IEEE (The Institute of Electronical and Electronics Engineers, Inc.) 1394 basiert.
  • 2. Stand der Technik
  • Als serielle Schnittstelle, die Hochgeschwindigkeitsdatenübertragung erreicht, wurde IEEE1394 vorgeschlagen. Im Vergleich zu SCSI (Small Computer System Interface), das konventionell als Schnittstelle zwischen einem Computer und seinen Peripheriegeräten eingesetzt wurde, hat IEEE1394 verschiedene Vorteile aufzuweisen. Zum Beispiel unterstützt IEEE1394 die automatische Zuweisung der jeweiligen IDs von angeschlossenen Geräten oder die Trennung eines angeschlossenen Geräts, während es mit der Stromquelle verbunden ist (sogenannter Hot-Swap).
  • In IEEE1394 wird die automatische Zuweisung einer ID an jedes angeschlossene Gerät (Knoten) wie folgt durchgeführt.
  • Das heißt, zuerst erkennt sich jeder Knoten selbst als ein „Zweig", der mit zwei oder mehr Knoten verbunden ist, oder als ein „Blatt", das nur mit einem Knoten verbunden ist. Als nächstes sendet jeder Knoten nach Ablauf einer vorgegebenen Zeit ein parent_notify-Signal, der Reihe nach ausgehend von einem Knoten, der sich selbst als „Blatt" erkannt hat. Andrerseits sendet ein Knoten, der sich selbst als „Zweig" erkannt hat, ein child_notify-Signal an einen Knoten, von dem ein parent_notify-Signal empfangen wurde, bevor der erstere ein parent_notify-Signal sendet. Auf diese Weise wird die Bestimmung der „Eltern-Kind-Beziehungen" zwischen Knoten fortgeführt, um ein Baumstruktur zu erken nen, die einen Stamm aufweist, d.h. einen Knoten, der sich selbst als „Zweig" erkannt hat, mit dem alle Knoten als „Kinder" verbunden sind (Baumidentifikation).
  • Dann, nach der Erkennung der Baumstruktur, sendet jeder Knoten in vorgegebener Reihenfolge ein Self-Packet einschließlich einer von ihm selbst benutzten physical_ID und Verwaltungsinformation, um den anderen Knoten seine eigene Grundinformation zugänglich zu machen. Hier wird in die physical_ID eingetragen, wie oft Self-Packets gesendet werden. Mit anderen Worten, ein Knoten, der an erster Stelle ein Self-Packet sendet, trägt „0" in seine physikalische ID ein, ein Knoten, der an zweiter Stelle ein Self-Packet sendet, trägt „1" in die physikalische ID ein. Durch diese Anordnung werden die von den jeweiligen Knoten benutzten IDs automatisch zugewiesen (Selbsterkennung).
  • Ferner wird der Hot-Swap IEEE1394 entsprechend wie folgt durchgeführt. Das heißt, wenn ein neuer Knoten angeschlossen wird, während die Anschlußtopologie des Busses überwacht wird, dann löscht jeder Knoten die Information über die Topologie, und die Baumidentifikation und die Selbsterkennung werden wiederholt, um die automatische Zuweisung der IDs der jeweiligen Knoten durchzuführen (Bus-Reset).
  • IEEE1394 gemäß wird während des Bus-Resets keine Datenkommunikation zwischen Knoten durchgeführt. Deshalb kann in einem Fall, wo Kontinuität erforderlich ist (hier ist nicht die zeitliche Kontinuität gemeint, sondern die Kontinuität der Daten selbst), der Betrieb eines angeschlossenen Geräts beeinträchtigt werden, wenn während der Datenübertragung ein Bus-Reset auftritt.
  • Zum Beispiel in einem Fall, wo Daten mit einer hohen Echtzeiteigenschaft übertragen wird, wie z.B., wenn ein von einem Fernsehempfänger empfangenes Fernsehrundfunksignal über eine IEEE1394-Schnittstelle zur Anzeige an einen Bildschirm gesendet wird, tritt solch ein Symptom auf, daß während eines Bus-Resets ein Bild auf dem Bildschirm unterbrochen wird. Mit anderen Worten, das Fernsehrundfunk signal, das während des Bus-Resets vom Fernsehempfänger empfangen wird, ist nicht zu sehen. In diesem Fall wird der anschließende Bildschirmbetrieb nicht beeinträchtigt. Nach dem Abschluß des Bus-Resets kann das vom Fernsehempfänger empfangene Fernsehrundfunksignal wie vor dem Bus-Reset in Echtzeit auf dem Bildschirm angezeigt werden.
  • Doch zum Beispiel in einem Fall, wo ein Programm, das von einem Computer erstellt wurde, über eine IEEE1394-Schnittstelle an ein Speichergerät übertragen wird, oder wo Druckdaten, die in einem Computer erstellt wurden, über eine IEEE1394-Schnittstelle an einen Drucker übertragen werden, verlieren die übertragenen Daten ihre Bedeutung, wenn die Datenkontinuität zwischen vor und nach einer Unterbrechung der Datenübertragung wegen eines Bus-Resets nicht gewährleistet ist.
  • Mit anderen Worten, selbst wenn nur ein Teil der Programmdaten verloren geht, ist dieses Programm nicht gültig, und ein Computer kann das Programm nicht ausführen. Ferner umfassen Druckdaten einen Code, der aus einer Datensequenz von mehreren Bytes geformt wird, wobei die Bedeutung der auf den Code folgenden Daten von diesem Code definiert wird. Wenn solch ein Code verloren geht, erscheinen im gedruckten Ergebnis dementsprechend unzulässige Zeichen.
  • Aus diesem Grunde wendet manche Technik die Idee an, daß, wenn ein Bus-Reset auftritt, während Daten über eine serielle IEEE1394-Schnittstelle übertragen werden, und wenn die betreffenden Daten die Datenkontinuität erfordern, wie z.B. Programmdaten oder Druckdaten, die Übertragung der betreffenden Daten dann von Anfang an wiederholt wird.
  • EP 0810185 offenbart einen digitalen multifunktionalen Drucker, umfassend mehr als ein Bildeingabeelement, mehr als eine Druckwarteschlange, um die von diesen Eingabeelementen gesendeten Druckaufträge unabhängig zu verwalten, ein Druckwarteschlangen-Verwaltungssystem, um die Druckaufträge mit der höchsten Priorität aus der Druckwarteschlange zu wählen und zu drucken.
  • US 5038299 offenbart eine elektronische Vorrichtung mit einem Programmspeicher, umfassend ein paralleles Übertragungsprogramm und ein serielles Übertragungsprogramm, einen Anschluß auf der elektronischen Vorrichtung, mit dem eine parallele Übertragungsschnittstelle oder eine serielle Übertragungsschnittstelle trennbar verbunden ist, und eine Beurteilungseinheit, um die Art der Druckerschnittstelle zu beurteilen, die mit dem Anschluß verbunden ist.
  • In „Information Technology – Serial Bus Protocol 2, Working Draft, revision 2g" vom 15. September 1997, Seiten 13, 16, 17, 67, 82 und 83; wird ein Datenkommunikationsgerät offenbart, um über eine Kommunikationsleitung Datenkommunikation mit einem Partnergerät durchzuführen, wobei dieses Datenkommunikationsgerät ein Jobausführungsmittel zum Empfangen von Daten vom Partnergerät umfaßt, um einen Job auszuführen; und Jobverwaltungsmittel zum Verwalten einer Ausführung dieses Jobs.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Doch auch wenn die obige Idee angewandt wird, bleibt das folgende Problem bestehen.
  • Das heißt, einige serielle Drucker wie zum Beispiel ein Tintenstrahldrucker starten mit dem Druck, wenn die Druckdaten für eine Zeile empfangen wurden (eine Abtastung eines Druckkopfs). Wenn die Druckdaten von Anfang an neu übertragen werden, kann es daher vorkommen, daß manche Druckdaten wiederholt gedruckt werden.
  • Die vorliegende Erfindung wurde in Anbetracht der obigen Situation entwickelt. Eine Aufgabe der Erfindung ist die Bereitstellung eines Datenkommunikationsgeräts, das die Datenübertragung fortsetzen kann, ohne die Datenübertragung von Anfang an zu wiederholen, wenn die Datenübertragung aufgrund der Erzeugung eines Ereignisses wie z.B. eines Bus-Resets unterbrochen wird.
  • Um die obige Aufgabe zu erreichen, stellt die vorliegende Erfindung ein Datenkommunikationsgerät bereit, umfassend Jobausführungsmittel zum Empfangen von Daten vom Partnergerät, um einen Job auszuführen; und Jobverwaltungsmittel zum Verwalten eines Ausführungsstatus dieses Jobs. Wenn ein Job, dessen Ausführung durch ein bestimmtes Ereignis unterbrochen wurde, fortgesetzt werden soll, weist das Jobverwaltungsmittel das Jobausführungsmittel an, den Job fortzusetzen, indem es einen Ausführungsstatus des Jobs zu dem Zeitpunkt angibt, an dem die Ausführung des Jobs unterbrochen wurde. Das Jobausführungsmittel bezieht sich auf den Ausführungsstatus des Jobs an dem Zeitpunkt, an dem die Ausführung des Jobs unterbrochen wurde, um nur Daten zu empfangen, die benötigt werden, um einen unverarbeiteten Teil des Jobs auszuführen, wobei der Ausführungsstatus vom Jobverwaltungsmittel in Bezug auf den Job angegeben wird, für welchen die Anweisung zur Fortsetzung gegeben wurde.
  • Der vorliegenden Erfindung gemäß bezieht sich das Jobausführungsmittel bei der Fortsetzung eines Jobs, dessen Ausführung durch ein bestimmtes Ereignis unterbrochen wurde, auf den Ausführungsstatus, der vom Jobverwaltungsmittel in Bezug auf den Zeitpunkt angegeben wurde, an dem die Ausführung dieses Jobs unterbrochen wurde, und empfängt vom Partnergerät nur die Daten, die zur Ausführung des unverarbeiteten Teils des Jobs benötigt wird. Demnach werden dieselben Daten nicht wiederholt empfangen und es können Daten empfangen werden, deren Kontinuität gewährleistet ist.
  • In einem Fall, wo das erfindungsgemäße Datenkommunikationsgerät die Datenkommunikation mit einem Partnergerät über eine serielle Schnittstelle auf der Basis von IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1394 und einem Datenübertragungsprotokoll auf der Basis von SBP-2 (Serial Bus Protocol 2) entsprechend durchführt, entspricht das Bus-Reset, das in IEEE1394 definiert ist, zum Beispiel einem „bestimmten Ereignis", das die Ausführung eines Jobs unterbricht.
  • In diesem Fall wird das Jobausführungsmittel als eines realisiert, das einen ORB (Operation Anforderung Block) be folgt, der vom Partnergerät als Job empfangen wird und Daten (das heißt, Daten, die die erste Adresse und eine Übertragungsdatenmenge angeben) enthält, die einen Speicherbereich von Daten angeben, die vom Partnergerät zum Datenkommunikationsgerät selbst übertragen werden sollen, damit eine Read Block-Anforderung erzeugt und gesendet wird, die dem Partnergerät eine Lesestartadresse und eine bestimmte Lesedatenmenge angibt, und als Antwort darauf eine Read Block-Antwort empfängt, die Lesedaten enthält, wodurch das Jobausführungsmittel die Daten sequentiell um die vorgegebene Datenmenge aus jeder Adresse liest, um die Daten im vom ORB angegebenen Speicherbereich zu empfangen.
  • Ferner kann das Jobverwaltungsmittel den Ausführungsstatus des ORBs verwalten, durch Kenntnis des ORBs, der gerade vom Jobausführungsmittel ausgeführt wird, und durch Kenntnis von mindestens einem von: der Zahl der gesendeten Read Block-Anforderungen, die erzeugt wurden, um dieses ORB auszuführen, der Zahl der Read Block-Antworten, die von Partnergeräten als Antwort auf diese Read Block-Anforderungen empfangen wurden, und der Gesamtbytezahl der Lesedaten, die in diesen Read Block-Antworten enthalten war.
  • Wenn hier zum Beispiel eine Anforderung des von SBP-2 definierten Wiederverbindungsvorgangs vom Partnergerät empfangen wird, das den ORB gesendet hat, dessen Ausführung durch ein Bus-Reset unterbrochen wurde, und zudem dasselbe ORB wie das unterbrochene ORB empfangen wird, dann kann das Jobverwaltungsmittel das Jobausführungsmittel anweisen, die Ausführung des ORBs fortzusetzen, indem es mindestens eines angibt von der Zahl der gesendeten Read Block-Anforderungen, der Zahl der empfangenen Read Block-Antworten, und der Gesamtbytezahl der empfangenen Daten, die in den Read Block-Antworten an dem Zeitpunkt enthalten waren, als die Ausführung des ORBs unterbrochen wurde. Und das Jobausführungsmittel kann die Read Block-Anforderungen erzeugen, die zum Empfang der Daten erforderlich sind, die noch nicht erhalten wurden, ausschließlich jener Daten im Speicherbereich, der im ORB angegeben wird, die bereits erhalten wurden, wobei die Daten, die noch nicht erhalten wurden, durch mindestens eines von der Zahl der gesendeten Read Block-Anforderungen, der Zahl der empfangenen Read Block-Antworten, und der Gesamtbytezahl der empfangenen Daten, die in diesen Read Block-Antworten an dem Zeitpunkt enthalten waren, als die Ausführung des ORBs unterbrochen wurde. Diese Zahlen werden vom Jobverwaltungsmittel angegeben. Das Jobausführungsmittel sendet die generierten Read Block-Anforderungen an das Partnergerät und empfängt Read Block-Antworten als Antwort auf diese Read Block-Anforderungen.
  • Durch diese Anordnung ist es selbst dann, wenn der Empfang von Daten durch ein Bus-Reset unterbrochen wird, möglich, die Daten zu empfangen, deren Kontinuität gewährleistet ist, ohne dieselben Daten wiederholt zu empfangen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Konfiguration, die ein System einschließlich eines Druckers 2 zeigt, auf welches eine Ausführungsform der vorliegenden Erfindung angewandt wird;
  • 2 zeigt eine Druckausführungssequenz, die zwischen einem Computer 1 und dem Drucker 2 ausgeführt wird, die in 1 gezeigt werden;
  • 3 zeigt eine Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die zwischen einem Computer 1 und dem Drucker 2 ausgeführt wird, die in 1 gezeigt werden;
  • 4 ist eine schematische Konfiguration, die den Computer 1 von 1 zeigt;
  • 5 ist eine Draufsicht, die ein Beispiel der Hardwarekonfiguration eines Computerhauptteils 12 zeigt, der in 4 gezeigt wird;
  • 6 ist eine schematische Konfiguration des Druckers 2, der in 1 gezeigt wird;
  • 7 ist eine Draufsicht, die ein Beispiel der Hardwarekonfiguration eines Druckerhauptteils 22 zeigt, der in 6 gezeigt wird;
  • 8 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Computers 1 in der Druckausführungssequenz, die in 2 gezeigt wird;
  • 9 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Computers 1 in der Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die in 3 gezeigt wird;
  • 10 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Druckers 2 in der Druckausführungssequenz, die in 2 gezeigt wird; und
  • 11 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Druckers 2 in der Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die in 3 gezeigt wird.
  • AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Im folgenden wird eine Ausführungsform der vorliegenden Erfindung beschrieben.
  • 1 ist eine schematische Konfiguration, die ein System einschließlich eines Druckers 2 zeigt, auf welches eine Ausführungsform der vorliegenden Erfindung angewandt wird. Hier sind ein Computer 1, ein Drucker 2, ein Scanner 3 und eine digitale Videokamera 4 alle mit einer auf IEEE (The Institute of Electronical and Electronics Engineers, Inc.) 1394 basierenden seriellen Schnittstelle versehen und durch diese Schnittstelle miteinander verbunden. Ferner wird angenommen, daß im vorliegenden System mindestens die Datenkommunikation zwischen dem Computer 1 und dem Drucker einem Datenkommunikationsprotokoll auf der Basis von SBP-2 (Serial Bus Protocol 2) entsprechend durchgeführt wird.
  • Im folgenden wird der Einfachheit halber nur ein Datenübertagungsvorgang zwischen dem Computer 1 und dem Drucker 2 beschrieben.
  • Zuerst wird eine Druckausführungssequenz beschrieben, die zwischen dem Computer 1 und dem Drucker 2 durchgeführt wird.
  • 2 zeigt die Druckausführungssequenz, die zwischen dem Computer 1 und dem Drucker 2 durchgeführt wird.
  • Wie im Diagramm gezeigt, ist die Druckausführungssequenz unterteilt in: 1. einen Anmeldevorgang; 2. einen Druckdatenübertragungsvorgang; und 3. einen Abmeldevorgang.
  • 1. Anmeldevorgang
  • Der Computer 1 informiert den Drucker 2 über die Write Block-Anforderung 1001, in welcher ein Speicherbereich (um spezifisch zu sein, die erste Adresse und die Übertragungsdatenmenge) für einen Login-ORB (Operation Anforderung Block) beschrieben wird, damit der Computer 1 den Drucker 2 anmeldet.
  • Wenn er dies empfangen hat, sendet der Drucker 2 eine Write-Antwort zurück. Danach generiert der Drucker 2 Read Block-Anforderungen, von denen jede eine Lesestartadresse und eine bestimmte Lesedatenmenge angibt, eine nach der anderen, sooft dies notwendig ist, um alle Daten im Speicherbereich zu lesen, der in der Write Block-Anforderung 1001 beschrieben wird. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell die Read Block-Antworten vom Computer 1, um den Login-ORB zu erhalten.
  • Als nächstes, wenn der Drucker 2 das Lesen des Login-ORBs beendet hat, sendet der Drucker 2 eine Read Quadlet-Anforderung, die eine Lesestartadresse und eine bestimmte Lesedatenmenge angibt, um den Inhalt des Konfigurations-ROMs des Computer 1 zu lesen, um erhält die GUID (global ID) oder dergleichen vom Computer 1, um den Computer 1 zu identifizieren, bei dem er sich angemeldet hat.
  • Dann sendet der Drucker 2 die Login-Antwort als Write Block-Anforderung. Die Login-Antwort umfaßt Information wie z.B. eine Adresse (ORB-Pointer) auf seiten des Druckers 2, an der ein Command Block Agent-ORB geschrieben werden soll. Der Command Block Agent-ORB beschreibt eine Druckdatenübertragungsanweisung, einen Speicherbereich für zu übertragende Druckdaten und dergleichen. Danach wird ein Paket, das angibt, daß die Verarbeitung des Login-ORBs beendet ist, als Write Block-Anforderung gesendet.
  • 2. Druckdatenübertragungsvorgang
  • Der Computer 1 sendet die Write Block-Anforderung 1002, in der die Adresse beschrieben wird, an welcher der Command Block Agent-ORB gespeichert ist, damit der obige ORB in den ORB-Pointer geschrieben wird, der in der vom Drucker 2 gesendeten Login-Antwort angegeben ist.
  • Wenn er diese empfangen hat, sendet der Drucker 2 eine Write-Antwort zurück. Als nächstes generiert und sendet der Drucker 2 eine Read Block-Anforderung, um den Command Block Agent-ORB zu lesen, das an der Adresse gespeichert ist, die in der Write Block-Anforderung 1002 beschrieben wird.
  • Wenn er diese empfangen hat, sendet der Computer 1 als Read Block-Antwort ein Paket, in dem der Command Block Agent-ORB gespeichert ist.
  • Als nächstes analysiert der Drucker 2 den Command Block Agent-ORB, der in der vom Computer 1 gesendeten Read Block-Antwort gespeichert ist, und generiert Read Block-Anforderungen, von denen jede eine Lesestartadresse und eine bestimmte Lesedatenmenge (zum Beispiel 2 KByte) beschreibt, die in einer Teiltransaktion übertragen werden können, eine nach der anderen, sooft dies notwendig ist, um alle Druckdaten im Speicherbereich zu lesen, der im Command Block Agent-ORB beschrieben wird, um die Druckdaten in dem von diesem ORB beschriebenen Speicherbereich zu erhalten. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell Read Block-Antworten vom Computer 1, um die Druckdaten zu erhalten.
  • Dann sendet der Drucker 2 als Write Block-Anforderung ein Paket, das angibt, daß die Verarbeitung des Command Block Agent-ORBs (Übertragungsvorgang der Druckdaten) abgeschlossen ist.
  • 3. Abmeldevorgang
  • Der Computer 1 informiert den Drucker 2 über die Write Block-Anforderung 1003, in welcher ein Speicherbereich für den Logout-ORB (Operation Anforderung Block) beschrieben wird, damit der Computer 1 den Drucker 2 abmeldet.
  • Wenn er diese empfangen hat, sendet der Drucker 2 eine Write-Antwort zurück. Danach generiert der Drucker 2 Read Block-Anforderungen, von denen jede eine Lesestartadresse und eine bestimmte Lesedatenmenge angibt, eine nach der anderen, sooft dies notwendig ist, um alle Daten im Speicherbereich zu lesen, der in der Write Block-Anforderung 1003 beschrieben wird. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell die Read Block-Antworten vom Computer 1, um den Logout-ORB zu erhalten.
  • Dann sendet der Drucker 2 als Write Block-Anforderung ein Paket, das angibt, daß die Verarbeitung des Logout-ORBs beendet ist.
  • Als nächstes wird eine Ausführungssequenz für die Fortsetzung der Druckdatenübertragung beschrieben. Diese Sequenz wird zwischen dem Computer 1 und dem Drucker 2 in einem Fall ausgeführt, wo die oben beschriebene Druckausführungssequenz unterbrochen wird, weil während der Ausführung dieser Druckausführungssequenz ein Bus-Reset aufgetreten ist.
  • Wenn zum Beispiel der Scanner 3 neu angeschlossen wird, während Druckdaten zwischen dem Computer 1 und dem Drucker 2 übertragen werden, indem die oben beschriebene Druckausführungssequenz ausgeführt wird, dann wird diese Sequenz unterbrochen, was ein Bus-Reset verursacht.
  • Beim Bus-Reset löscht, wie oben beschrieben, jeder Knoten die Information über die Busanschlußtopologie, und die Baumidentifikation und Selbsterkennung werden erneut durchgeführt, um die automatische Zuweisung von IDs an die jeweiligen Knoten durchzuführen. Aufgrund dessen kann es vorkommen, daß die Knoten-IDs des Computers 1 und des Druckers 2 vor und nach dem Bus-Reset verschieden sind. Wenn in SBP-2 ein Bus-Reset auftritt, während der Computer 1 gerade dabei ist, sich beim Drucker 2 anzumelden, führt der Computer 1 daher innerhalb einer bestimmten Periode einen Wiederverbindungsvorgang durch, damit der Drucker 2 als Login-Empfänger die Knoten-Id des Computer 1 selbst neu bestätigt.
  • 3 zeigt eine Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die zwischen dem Computer 1 und dem Drucker 2 ausgeführt wird.
  • Diese Sequenz wird durchgeführt, nachdem ein Bus-Reset jeden Knoten veranlaßt hat, die Information über die Busanschlußtopologie zu löschen, und nachdem die Baumidentifikation und Selbsterkennung erneut durchgeführt wurden, um die automatische Zuweisung von IDs an die jeweiligen Knoten durchzuführen. Diese Sequenz ist aufgeteilt in: 1. einen Drucker 2-Erkennungsvorgang durch den Computer 1; 2. einen Wiederverbindungsvorgang; 3. einen Vorgang zur Fortsetzung der Druckdatenübertragung; und 4. einen Abmeldevorgang.
  • 1. Drucker 2-Erkennungsvorgang durch den Computer 1
  • Der Computer 1 erhält von jedem Knoten die GUID und andere Information, die zur Knotenerkennung benötigt wird, um die Entsprechung zwischen den neu zugewiesenen Knoten-IDs und den Knoten zu erkennen. Mit anderen Worten, der Computer 1 sendet eine Read Quadlet-Anforderung an jeden Knoten und empfängt als Antwort darauf eine Read Quadlet- Antwort, um den Inhalt des Konfigurations-ROMs zu lesen und Informationen wie die GUID zu erhalten. Durch diesen Vorgang kann der Drucker 2, der vor dem Bus-Reset angemeldet war, erkannt werden.
  • 2. Wiederverbindungsvorgang
  • Der Computer 1 informiert den Drucker 2 über die Write Block-Anforderung 1004, in welcher ein Speicherbereich für den Reconnect-ORB beschrieben wird, damit der Computer 1 wieder mit dem Drucker 2 verbunden wird.
  • Wenn er diese empfängt, sendet der Drucker 2 eine Write-Antwort zurück. Danach generiert der Drucker 2 Read Block-Anforderungen, sooft dies notwendig ist, um alle Daten im Speicherbereich zu lesen, der in der Write Block-Anforderung 1004 beschrieben wird. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell Read Block-Antworten vom Computer 1, um den Reconnect-ORB zu erhalten.
  • Als nächstes, wenn das Lesen der Reconnect-ORB beendet ist, sendet der Drucker 2 eine Read Quadlet-Anforderung, um den Inhalt des Konfigurations-ROMs des Computers 1 zu lesen und Informationen wie die GUID usw. des Computers 1 zu erhalten. Dadurch kann der Drucker 2 den Computer 1 erkennen, an dem er vor dem Bus-Reset angemeldet war.
  • Dann sendet der Drucker 2 als Write Block-Anforderung ein Paket, das angibt, daß die Verarbeitung des Reconnect-ORBs beendet ist.
  • 3. Vorgang zur Fortsetzung der Druckdatenübertragung
  • Der Computer 1 sendet die Write Block-Anforderung 1005, in der die Adresse beschrieben wird, an welcher der Command Block Agent-ORB für die Druckdatenübertragung gespeichert ist, um den genannten ORB in den ORB-Pointer zu schreiben, der in dem Login-Antwortpaket angegeben wurde, das vom Drucker 2 in der Druckausführungssequenz gesendet wurde, die durch ein Bus-Reset unterbrochen wurde.
  • Wenn er diese erhält, sendet der Drucker 2 eine Write-Antwort zurück. Als nächstes generiert und sendet der Drucker 2 eine Read Block-Anforderung, um den Command Block Agent-ORB zu lesen, der an der Adresse gespeichert ist, die in der Write Block-Anforderung 1005 beschrieben wurde. Wenn er diese empfängt, sendet der Computer 1 als Read Block-Antwort ein Paket, in dem der Command Block Agent-ORB gespeichert ist.
  • Als nächstes analysiert der Drucker 2 den Command Block Agent-ORB, der in der Read Block-Antwort vom Computer 1 gespeichert ist. Dann beurteilt der Drucker 2, ob der Druckdatenspeicherbereich, der in diesem ORB beschrieben wird, der gleiche ist wie der Druckdatenspeicherbereich, der im Command Block Agent-ORB beschrieben wird, dessen Ausführung durch das Bus-Reset unterbrochen wurde.
  • Wenn sie gleich sind, dann generiert der Drucker 2 sequentiell Read Block-Anforderungen, von denen jede eine Lesestartadresse und eine vorgegebene Datenmenge (zum Beispiel 2 KByte) beschreibt, die in einer Teiltransaktion übertragbar ist, sooft dies notwendig ist, um alle Daten zu lesen, die noch nicht erhalten wurden, um von den Druckdaten im Speicherbereich, der in diesem ORB beschrieben wird, die Druckdaten zu erhalten, die bei der Verarbeitung der obigen ORB vor dem Bus-Reset noch nicht vom Computer 1 erhalten wurden. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell Read Block-Antworten vom Computer 1, um die Druckdaten zu erhalten, die bei der Verarbeitung des Command Block Agent-ORB, dessen Ausführung durch den Bus-Reset unterbrochen wurde, noch nicht erhalten wurde.
  • Andrerseits, um in einem Fall, wo die obigen Speicherbereiche voneinander verschieden sind, die Druckdaten in dem Speicherbereich zu erhalten, der im analysierten Command Block Agent-ORB beschrieben wird, generiert der Drucker 2 sequentiell Read Block-Anforderungen, von denen jede eine Lesestartadresse und eine vorgegebene Datenmenge (zum Beispiel 2 KByte) beschreibt, die in einer Teiltransaktion übertragbar ist, sooft dies notwendig ist, um alle Druckdaten im Speicherbereich zu lesen, der in diesem ORB beschrieben wird. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und sequentiell so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer gelesen wurden. Dadurch empfängt der Drucker 2 sequentiell Read Block-Antworten vom Computer 1, um die Druckdaten in dem Speicherbereich zu erhalten, der im betreffenden ORB beschrieben wird.
  • Danach sendet der Drucker 2 als Write Block-Anforderung ein Paket, das angibt, daß die Verarbeitung des Command Block Agent-ORBs (Druckdatenübertragungsvorgang) abgeschlossen ist.
  • 4. Abmeldevorgang
  • Der Computer 1 informiert den Drucker 2 über die Write Block-Anforderung 1006, in welcher ein Speicherbereich für den Logout-ORB beschrieben wird, damit der Computer 1 den Drucker 2 abmeldet.
  • Wenn er diese empfangen hat, sendet der Drucker 2 eine Write-Antwort zurück. Danach generiert der Drucker 2 Read Block-Anforderungen zum Lesen von Daten aus dem Computer 1, sooft dies notwendig ist, um alle Daten im Speicherbereich zu lesen, der in der Write Block-Anforderung 1006 beschrieben wird. Hier wird diese Vielzahl von Read Block-Anforderungen generiert und so gesendet, daß, wenn eine Teiltransaktion beendet ist, dann in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten folgen, die in dieser Transaktion aus dem Computer 1 ge lesen wurden. Dadurch empfängt der Drucker 2 sequentiell die Read Block-Antworten vom Computer 1, um den Logout-ORB zu erhalten.
  • Dann sendet der Drucker 2 als Write Block-Anforderung ein Paket, das angibt, daß die Verarbeitung des Logout-ORBs beendet ist.
  • Wenn, wie oben beschrieben, in der vorliegenden Ausführungsform ein Druckdatenübertragungsvorgang, der durch einen Command Block Agent ORB verursacht wurde, durch ein Bus-Reset unterbrochen wird, erhält der Drucker 2 vom Computer 1 nur Druckdaten, die bei der Verarbeitung dieses ORBs vor dem Bus-Reset noch nicht erhalten wurden. Durch diese Anordnung ist es selbst dann, wenn der Empfang von Druckdaten durch ein Bus-Reset unterbrochen wird, möglich, daß der Drucker 2 die Druckdaten empfängt, deren Kontinuität gewährleistet ist, ohne die gleichen Daten wiederholt zu empfangen.
  • Als nächstes werden der Computer 1 und der Drucker 2 beschrieben, die die oben beschriebene Ausführungssequenz zur Fortsetzung der Druckdatenübertragung realisieren.
  • Zuerst wird der Computer 1 beschrieben.
  • Wie in der Zeichnung gezeigt, umfaßt der Computer 1 ein Datenkommunikationsteil 11 und ein Computerhauptteil 12.
  • Wie in 5 gezeigt, weist das Computerhauptteil 12 einen Aufbau eines gewöhnlichen Computers auf, umfassend eine CPU 121, einen Speicher 122, ein externes Speichergerät 123 wie z.B. eine Festplatteneinheit, ein Lesegerät 124, um Daten von einem tragbaren Speichermedium 125 wie z.B. einer CD-ROM oder einer FD zu lesen, eine Eingabeeinheit 126 wie z.B. eine Tastatur oder eine Maus, eine Anzeigeeinheit 127 wie z.B. eine Bildschirm- oder LCD-Anzeige, und eine Schnittstelle 128, die für das Senden und Empfangen von Daten zwischen Elementen einschließlich der oben beschriebenen Geräte und dem Datenkommunikationsteil 11 zuständig ist. Hier wird angenommen, daß im Computerhauptteil 12 ein Druckertreiberprogramm zum Steuern des Druckers 2 und ein Anwendungsprogramm wie z.B. ein Textverarbeitungsprogramm oder ein Graphikprogramm zum Erstellen von Druckdaten, die vom Drucker 2 gedruckt werden sollen, ausgeführt werden.
  • Der Datenkommunikationsteil 11 umfaßt einen PHY-Verarbeitungsabschnitt 111 zum Ausführen eines Prozesses in der physikalischen Schicht von IEEE1394, einen Link-Verarbeitungsabschnitt 112 zum Ausführen eines Prozesses in der Link-Schicht von IEEE1394, einen Paketverarbeitungsabschnitt 113 zum Ausführen eines Prozesses in der Transaktionsschicht von IEEE1394, ein Bus-Reset-Erkennungsabschnitt 114 zum Erkennen eines Bus-Resets, der in IEEE-1394 definiert wird, und einen Jobverarbeitungsabschnitt 115 zum Verarbeiten des Datenübertragungsprotokolls auf der Basis von SBP-2.
  • Hier kann jedes Element, aus dem der Datenkommunikationsteil 11 besteht, als Hardware mit einer integrierten Logikschaltung wie z.B. einem ASIC (anwendungsspezifischer integrierter Schaltkreis), FPLA (anwenderprogrammierbares Logikfeld) und dergleichen implementiert sein, oder kann mit einem DSP (Digitalsignalprozessor) durch Software realisiert werden. Ferner kann der Jobverarbeitungsabschnitt 115 so realisiert werden, daß die CPU 121 des Computerhauptteils 12 ein bestimmtes Programm ausführt. Darüber hinaus kann der Datenkommunikationsteil 11 als ein Einzelgerät vorgesehen werden, das in den Computerhauptteil 12 eingebaut werden kann.
  • Der Jobverarbeitungsabschnitt 115 generiert einen ORB (Operation Anforderung Block) und fordert den Paketverarbeitungsabschnitt 113 auf, ein Paket zu generieren, das zur Übertragung dieses ORBs an den Drucker 2 benötigt wird. Zum Beispiel ein Login-ORB/Logout-ORB, damit der Computer 1 den Drucker 2 anmeldet/abmeldet, ein Command Block Agent-ORB, damit der Drucker 2 Druckdaten aus dem Computer 1 liest, oder dergleichen wird generiert und in einem bestimmten Speicherbereich gespeichert. Dann fordert der Jobverarbeitungsabschnitt 115 den Paketverarbeitungsab schnitt 113 auf, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diese ORBs aus dem Computer 1 liest.
  • Ferner, wenn der Bus-Reset-Erkennungsabschnitt 114 während der Ausführung eines Command Block Agent-ORB, damit der Drucker 2 Druckdaten aus dem Computer 1 liest, ein Bus-Reset erkennt, dann generiert der Jobverarbeitungsabschnitt 115, wenn der Link-Verarbeitungsabschnitt 112 die Verarbeitung der Baumidentifikation und der Selbsterkennung beendet hat, einen Reconnect-ORB, um den Computer 1 wieder mit dem Drucker 2 zu verbinden, und speichert diesen in einem bestimmten Speicherbereich des Computerhauptteils 12. Dann führt der Jobverarbeitungsabschnitt 115 den Wiederverbindungsvorgang durch, indem er den Paketverarbeitungsabschnitt 113 auffordert, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB aus dem Computer 1 liest. Danach fordert der Jobverarbeitungsabschnitt 115 den Paketverarbeitungsabschnitt 113 erneut auf, eine Write Block-Anforderung zu erzeugen, damit der Drucker 2 aus dem Computer 1 den Command Block Agent-ORB liest, dessen Ausführung unterbrochen wurde.
  • Der Paketverarbeitungsabschnitt 113 umfaßt einen paketempfangenden Abschnitt 116 und einen paketerzeugenden Abschnitt 117.
  • Der paketempfangende Abschnitt 116 empfängt durch den PHY-Verarbeitungsabschnitt 111 und den Link-Verarbeitungsabschnitt 112 ein Paket von einem Knoten.
  • Der paketerzeugende Abschnitt 117 generiert IEEE1394 entsprechend verschiedene Pakete. Zum Beispiel generiert der paketerzeugende Abschnitt 117 eine Write Block-Anforderung, damit der Drucker 2 den vom Jobverarbeitungsabschnitt 115 generierten ORB einer Anweisung vom Jobverarbeitungsabschnitt 115 entsprechend liest. Oder der paketerzeugende Abschnitt 117 liest Daten, die von der Read Block-Anforderung angefordert wurde, die vom paketempfangenden Abschnitt 116 empfangen wurde, und erzeugt eine diese Daten enthaltende Read Block-Antwort.
  • Als nächstes wird der Drucker 2 beschrieben.
  • 6 ist eine schematische Konfiguration des Druckers, der in 1 gezeigt wird.
  • Wie in der Zeichnung gezeigt, umfaßt der Drucker 2 ein Datenkommunikationsteil 21 und ein Druckerhauptteil 22.
  • Wie in 7 gezeigt, weist der Druckerhauptteil 22 einen Aufbau eines gewöhnlichen Druckers auf, umfassend einen Speicher 222, eine CPU 221, um verschiedene Teile, aus denen der Druckerhauptteil 22 besteht, durch Ausführung verschiedener Programme zu steuern, die im Speicher 222 gespeichert sind, eine Druckvorrichtung 224, die Mechanismen (zum Beispiel einen Druckkopf zur Tintenabgabe, eine Walze, einen Wagenantriebsmechanismus zum Antreiben eines Wagens, der den Druckkopf trägt, einen Papiervorschubmechanismus, einen Zuführ-/Ablagemechanismus zum Zuführen/Ablegen eines Druckmediums usw.) aufweist, um Daten auf ein Druckmedium zu drucken, und eine Zf-Schaltung 223, die für das Senden/Enpfangen von Daten vom Datenkommunikationsteil 21 zuständig ist.
  • Der Datenkommunikationsteil 21 umfaßt einen PHY-Verarbeitungsabschnitt 211, um einen Prozeß in der physikalischen Schicht von IEEE1394 auszuführen, einen Link-Verarbeitungsabschnitt 212, um einen Prozeß in der Link-Schicht von IEEE1394 auszuführen, einen Paketverarbeitungsabschnitt 213, um einen Prozeß in der Transaktionsschicht von IEEE-1394 auszuführen, ein Bus-Reset-Erkennungsabschnitt 214, um 214 zum Erkennen eines Bus-Resets, der in IEEE1394 definiert definiert wird, und einen Jobverarbeitungsabschnitt 215 zum Verarbeiten des Datenübertragungsprotokolls auf der Basis von SBP-2.
  • Hier kann jedes Element, aus dem der Datenkommunikationsteil 11 besteht, als Hardware mit einer integrierten Logikschaltung wie z.B. einem ASIC (anwendungsspezifischer integrierter Schaltkreis), FPLA (anwenderprogrammierbares Logikfeld) und dergleichen implementiert sein, oder kann mit einem DSP (Digitalsignalprozessor) durch Software realisiert werden. Ferner kann der Jobverarbeitungsabschnitt 215 so realisiert sein, daß die CPU 221 des Druckerhauptteils 22 ein bestimmtes Programm ausführt. Darüber hinaus kann der Datenkommunikationsteil 21 als ein Einzelgerät vorgesehen werden, das in den Druckerhauptteil 12 eingebaut werden kann.
  • Der Paketverarbeitungsabschnitt 213 umfaßt einen paketempfangenden Abschnitt 216 und einen paketerzeugenden Abschnitt 217.
  • Der paketempfangende Abschnitt 216 umfaßt einen Druckdatenpuffer 2163, einen Universalpuffer 2162 und einen Empfangsselektor 2161.
  • Der Druckdatenpuffer 2163 speichert Druckdaten, die in der Read Block-Antwort vom Computer 1 gespeichert sind, und sendet die gespeicherten Druckdaten byteweise, d.h. als parallele Daten, an den Druckerhauptteil 22.
  • Hier ist die Größe des Druckdatenpuffers 2163 so eingestellt, daß sie größer (zum Beispiel 4 KByte) ist die vorgegebene Datenmenge (zum Beispiel 2 KByte), die in einer Teiltransaktion übertragen werden kann und die in der Read Block-Anforderung beschrieben wird, die erzeugt wird, damit der Drucker 2 Druckdaten vom Computer 1 erhält (siehe die oben beschriebene Druckausführungssequenz oder die Ausführungssequenz zur Fortsetzung der Druckdatenübertragung).
  • Als Zeitpunkt, an dem die im Druckdatenpuffer 2163 gespeicherte Druckdaten an den Druckerhauptteil 22 gesendet werden, kann zum Beispiel ein Zeitpunkt benutzt werden, an dem die Daten im Druckdatenpuffer 2163 gespeichert werden.
  • Der Universalpuffer 2162 speichert Daten, die in einem anderen Paket als der Read Block-Antwort enthalten sind, in welcher Druckdaten gespeichert sind.
  • Der Empfangsselektor 2161 wählt einen Puffer als Empfänger eines Pakets, das durch den PHY-Verarbeitungsabschnitt 211 und den Link-Verarbeitungsabschnitt 212 empfangen wurde. Das heißt, wenn das empfangene Paket eine Read Block-Antwort ist, in der Druckdaten gespeichert sind, wählt der Empfangsselektor 2161 den Druckdatenpuffer 2163, und wenn das empfangene Paket ein anderes Paket als eine Read Block-Antwort ist, in der Druckdaten gespeichert sind, wählt der Empfangsselektor 2161 den Universalspeicher 2162. In SBP-2 (Serial Bus Protocol 2) wird ein Paket mit Information versehen, die die Art des Pakets angibt. Durch Prüfung dieser Information kann der Empfangsselektor 2161 beurteilen, ob das empfangene Paket eine Read Block-Antwort ist, in der Druckdaten gespeichert sind.
  • Der paketerzeugende Abschnitt 217 umfaßt einen druckdatenpaketerzeugenden Abschnitt 2173, einen universalpaketerzeugenden Abschnitt 2172 und einen Sendeselektor 2171.
  • Der druckdatenpaketerzeugende Abschnitt 2173 generiert eine Read Block-Anforderung, in der eine Lesestartadresse und eine Menge der zu lesenden Daten beschrieben wird, und die zum Lesen von Druckdaten aus dem Computer 1 verwendet wird. Der druckdatenpaketerzeugenden Abschnitt 2173 überwacht eine freie Speicherkapazität des Druckdatenpuffers 2163 des paketempfangenden Abschnitts 216. Dann, nachdem bestätigt wurde, daß der Druckdatenpuffer 2163 eine freie Speicherkapazität für die in die Lesedatenmenge hat, die in der Read Block-Anforderung beschrieben wird, erzeugt der druckdatenpaketerzeugende Abschnitt 2173 diese Read Block-Anforderung.
  • Der universalpaketerzeugende Abschnitt 2172 erzeugt ein Paket, das ein anderes ist als das Paket für die Read Block-Anforderung zum Lesen von Druckdaten aus dem Computer 1.
  • Der Sendeselektor 2171 wählt eines vom druckdatenpaketerzeugenden Abschnitt 2173 und vom universalpaketerzeugenden Abschnitt 2172 aus und sendet ein Paket, das vom so gewählten paketerzeugenden Abschnitt erzeugt wurde, durch den PHY-Verarbeitungsabschnitt 211 und den Link-Verarbeitungsabschnitt 212 an den Computer 1.
  • Der Jobverarbeitungsabschnitt 215 umfaßt einen Ausführungsstatusüberwachungsabschnitt 2151 und einen Jobausführungsabschnitt 2152.
  • In Bezug auf den Command Block Agent ORB zur Übertragung der Druckdaten, die aus dem Computer 1 gelesen wurden, zählt der Ausführungsstatusüberwachungsabschnitt 2151 die Zahl der Pakete mit Read Block-Anforderungen, die vom druckdatenpaketerzeugenden Abschnitt 2172 diesem ORB entsprechend erzeugt worden sind, und zählt die Zahl der Pakete mit Read Block-Antworten, die auf diese Read Block-Anforderungen hin vom Computer 1 empfangen wurden, bis die Ausführung dieses ORBs abgeschlossen ist.
  • Der Jobausführungsabschnitt 2152 analysiert ein Paket, das im Universalpuffer 2162 gespeichert ist, und führt die Verarbeitung dem Inhalt dieses Pakets entsprechend durch.
  • Zum Beispiel, wenn das im Universalpuffer 2162 gespeicherte Paket eine Write Block-Anforderung ist, in der ein Bestimmungsort zum Speichern des Login-ORBs/Logout-ORBs oder Reconnect-ORBs beschrieben wird, dann informiert der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172 darüber, um den betreffenden ORB vom Computer 1 zu erhalten. Wenn er diesen empfängt, generiert der universalpaketerzeugende Abschnitt 2172 Read Block-Anforderungen, sooft dies notwendig ist, um den ORB zu lesen, dessen Speicherbereich in der obigen Write Block-Anforderung beschrieben wird.
  • Ferner, wenn das im Universalpuffer 2162 gespeicherte Paket eine Read Block-Antwort ist, in der ein Command Block Agent ORB zur Übertragung von Druckdaten gespeichert ist, dann informiert der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173 darüber, um die Druckdaten im Speicherbereich zu erhalten, der durch diesen ORB vom Computer 1 beschrieben wird. Wenn er diesen empfängt, erzeugt der druckdatenpaketerzeugenden Abschnitt 2173 Read Block-Anforderungen, sooft die notwendig ist, um die Druckdaten zu lesen, deren Speicherbereich im obigen ORB beschrieben wird.
  • Hier werden die obigen Read Block-Anforderungen sequentiell erzeugt und so gesendet, daß, wenn eine Teiltransaktion beendet ist, in der nächsten Teiltransaktion die nächsten Daten gelesen werden, die auf die Daten fol gen, die in dieser Transaktion aus dem Computer 1 gelesen wurden.
  • Überdies initialisiert der Jobausführungsabschnitt 2152 den paketerzeugenden Abschnitt 217 und den paketempfangenden Abschnitt 216, wenn ein Bus-Reset vom Bus-Reset-Erkennungsabschnitt 214 erkannt wird.
  • Wenn aber ein Bus-Reset auftritt, während ein Command Block Agent-ORB zur Übertragung der aus dem Computer 1 gelesenen Druckdaten verarbeitet wird, wird die Initialisierung des Druckdatenpuffers 2163 des paketempfangenden Abschnitts 216 verzögert, bis die von SBP-2 vorgeschriebene Wiederverbindungsperiode nach dem Bus-Reset abgelaufen ist.
  • Wenn in dieser Wiederverbindungsperiode eine Wiederverbindung vom Computer 1 auftritt, wird der Druckdatenpuffer 2163 nicht initialisiert, wenn der Speicherbereich der Druckdaten, der vom Command Block Agent-ORB zur Übertragung der aus dem Computer 1 gelesenen Daten beschrieben wird, der gleiche ist wie der Speicherbereich der Druckdaten, der vom Command Block Agent-ORB angegeben wurde, dessen Ausführung durch das Bus-Reset unterbrochen wurde. In Bezug auf diesen ORB spezifiziert der Jobausführungsabschnitt 2152 den Speicherbereich der Druckdaten, die noch nicht erhalten worden sind, ausschließlich der bereits erhaltenen Druckdaten (der Druckdaten, die bereits vor dem Bus-Reset gelesen wurden), auf der Basis des von diesem ORB angegebenen Druckdatenspeicherbereichs und der Paketzahl der Read Block-Anforderungen oder Read Block-Antworten an dem Zeitpunkt, als die Ausführung des betreffenden ORBs durch den Bus-Reset unterbrochen wurde. Dann informiert der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173 darüber, um die Druckdaten, die noch nicht erhalten wurden, vom Computer 1 zu erhalten. Daraufhin generiert der druckdatenpaketerzeugende Abschnitt 2173 Read Block-Anforderungen, sooft dies notwendig ist, um die obigen Druckdaten, die noch nicht erhalten wurden, zu lesen.
  • Andrerseits, wenn in der von SBP-2 vorgeschriebenen Wiederverbindungsperiode keine Wiederverbindung vom Computer 1 auftritt, oder wenn die Wiederverbindung erfolgt und der Druckdatenspeicherbereich, der vom neu gelesenen Command Block Agent-ORB zum Übertragen von Druckdaten angegeben wird, von dem Druckdatenspeicherbereich verschieden ist, der vom Command Block Agent-ORB angegeben wurde, dessen Ausführung durch den Bus-Reset unterbrochen wurde, dann wird der Druckdatenpuffer 2163 initialisiert.
  • Als nächstes werden die Arbeitsweisen des Computers 1 und des Druckers 2 mit dem oben beschriebenen Aufbau beschrieben.
  • Zuerst wird die Arbeitsweise des Computers 1 beschrieben.
  • 8 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Computers 1 in der Druckausführungssequenz, die in 2 gezeigt wird.
  • Wenn der Jobverarbeitungsabschnitt 115 eine Druckanweisung vom Computerhauptteil 12 empfängt, führt er den in 2 gezeigten Anmeldevorgang aus (Schritt S801).
  • Das heißt, der Jobverarbeitungsabschnitt 115 generiert einen Login-ORB, damit der Computer 1 den Drucker 2 anmeldet, und speichert diesen im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, in welcher der Speicherbereich des Login-ORBs beschrieben wird, und sendet sie an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die über den paketempfangenden Abschnitt 116 vom Drucker 2 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Login-ORB.
  • Dann liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Quadlet-Anforderung angefordert wurden, die über den paketempfangenden Abschnitt 116 vom Drucker 2 empfangen wurde, und sendet eine diese Daten enthaltende Quadlet-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Inhalt des Konfigurations-ROMs des Computers 1 und erkennt die GUID (global ID) usw. des Computers 1. Als nächstes erhält der Jobverarbeitungsabschnitt 115 die Login-Antwort, die Informationen wie z.B. eine Adresse (ORB-Pointer) auf seiten des Druckers 2 enthält, an die der Command Block Agent-ORB zum Übertragen der Druckdaten geschrieben werden soll. Diese Login-Antwort ist in der Write Block-Anforderung gespeichert, die über den paketempfangenden Abschnitt 116 vom Drucker 2 empfangen wird.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 2 gezeigten Druckdatenübertragungsvorgang aus (Schritt S802).
  • Das heißt, der Jobverarbeitungsabschnitt 115 generiert den Command Block Agent-ORB zum Übertragen von Druckdaten und speichert diesen im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB liest, und sendet sie an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die über den paketempfangenden Abschnitt 116 vom Drucker 2 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Command Block Agent-ORB.
  • Dann liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die durch den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dieser Vorgang wird wiederholt, bis der paketempfangende Abschnitt 116 eine Write Block-Antwort empfängt, die dem obigen Command Block Agent-ORB entsprechend ein Ende des Vorgangs (Druckdatenübertragungsvorgangs) anzeigt. Dadurch liest der Drucker 2 die Druckdaten.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 2 gezeigten Abmeldevorgang aus (Schritt S803).
  • Das heißt, der Jobverarbeitungsabschnitt 115 generiert einen Logout-ORB zum Abmelden des Druckers 2 und speichert diesen im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB liest, und sendet sie an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die durch den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Logout-ORB.
  • 9 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Computers 1 in der Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die in 3 gezeigt wird.
  • Wenn während der Anmeldung am Drucker 2 ein Bus-Reset auftritt, dann erkennt der Jobverarbeitungsabschnitt 115 dies durch den Bus-Reset-Erkennungsabschnitt 114 (Schritt S901) und initialisiert den Paketverarbeitungsabschnitt 113 (Schritt S902). Aufgrund des Bus-Resets führt der Link-Verarbeitungsabschnitt 112 in Verbindung mit den anderen Knoten die Baumidentifikation und Selbsterkennung durch, um die Knoten-IDs zu erhalten.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 3 gezeigten Drucker 2-Erkennungsvorgang durch (Schritt S903).
  • Das heißt, der Jobverarbeitungsabschnitt 115 veranlaßt den paketerzeugenden Abschnitt 117, eine Read Quadlet-Anforderung zu erzeugen, und sendet sie an einen Knoten mit einer beliebigen Knoten-ID. Dann, indem daraufhin über den paketempfangenden Abschnitt 116 die Read Quadlet-Antwort empfangen wird, wird der Inhalt des Konfigurations-ROMs von diesem Knoten gelesen, und Information wie z.B. die GUID wird erhalten. Dieser Vorgang wird für alle Knoten durchgeführt, um die Entsprechung zwischen den aufgrund des Bus-Resets neu zugewiesenen Knoten-IDs und den Knoten zu er kennen. Dadurch wird der Drucker 2, der vor dem Bus-Reset angemeldet war, identifiziert.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 3 gezeigten Wiederverbindungsvorgang aus (Schritt S904).
  • Das heißt, der Jobverarbeitungsabschnitt 115 erzeugt eine Reconnect-ORB zur Wiederverbindung mit dem Drucker 2 und speichert diesen im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB liest, und sendet ihn an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die über den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Reconnect-ORB.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 3 gezeigten Vorgang zur Fortsetzung der Druckdatenübertragung aus (Schritt S905).
  • Das heißt, der Jobverarbeitungsabschnitt 115 erzeugt ein Command Block Agent-ORB, in welchem eine Druckdatenübertragungsanweisung und der Speicherbereich für die zu übertragenden Druckdaten beschrieben werden, und speichert diesen im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB liest, und sendet ihn an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die über den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Command Block Agent-ORB.
  • Dann liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die durch den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dieser Vorgang wird wiederholt, bis der paketempfangenden Abschnitt 116 eine Write Block-Antwort empfängt, die dem vorgenannten Command Block Agent-ORB entsprechend ein Ende des Vorgangs (Druckdatenübertragungsvorgangs) angeben. Dadurch liest der Drucker 2 die Druckdaten.
  • Wenn während des in 2 gezeigten Druckdatenübertragungsvorgangs ein Bus-Reset auftritt, d.h., wenn zwischen dem Senden der Write Block-Anforderung, damit der Drucker 2 den Command Block Agent-ORB liest, und dem Empfang der Write Block-Antwort, die diesem ORB entsprechend das Ende der Verarbeitung angibt, ein Bus-Reset auftritt, dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, erneut Block Read-Anforderungen zu generieren, damit der Drucker 2 den obigen Command Block Agent-ORB liest, dessen Ausführung unterbrochen wurde, und sendet diesen an den Drucker 2.
  • Als nächstes führt der Jobverarbeitungsabschnitt 115 den in 3 gezeigten Abmeldevorgang aus (Schritt S906). Das heißt, der Jobverarbeitungsabschnitt 115 generiert einen Logout-ORB, um den Drucker 2 abzumelden, und speichert ihn im vorgegebenen Speicherbereich. Dann veranlaßt der Jobverarbeitungsabschnitt 115 den paketerzeugenden Abschnitt 117, eine Write Block-Anforderung zu generieren, damit der Drucker 2 diesen ORB liest, und sendet sie an den Drucker 2. Danach liest der paketerzeugende Abschnitt 117 die Daten, die von der Read Block-Anforderung angefordert wurden, die durch den paketempfangenden Abschnitt 116 empfangen wurde, und sendet eine diese Daten enthaltende Read Block-Antwort an den Drucker 2. Dadurch liest der Drucker 2 den Logout-ORB.
  • Als nächstes wird die Arbeitsweise des Druckers 2 beschrieben.
  • 10 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Druckers 2 in der Druckausführungssequenz, die in 2 gezeigt wird.
  • Zuerst führt der Jobausführungsabschnitt 2152 den in 2 gezeigten Anmeldevorgang aus (Schritt S1001).
  • Das heißt, wenn der Jobausführungsabschnitt 2152 über den Universalpuffer 2162 die Write Block-Anforderung vom Computer 1 empfängt, in der der Speicherbereich des Login-ORBs beschrieben wird, dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write-Antwort zu generieren, und sendet diese an den Drucker 2. Dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, Read Block-Anforderungen zu generieren, sooft dies notwendig ist, um den Login-ORB zu lesen, dessen Speicherbereich in der Write Block-Anforderung beschrieben wurde, und sendet diese an den Computer 1. Als Antwort darauf empfängt der Jobausführungsabschnitt 2152 Read Block-Antworten über den Universalpuffer 2162. Dadurch wird das Login-ORB vom Computer 1 gelesen.
  • Als nächstes, wenn das Lesen des Login-ORBs beendet ist, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Quadlet-Anforderung zu generieren, sendet diese an den Computer 1 und empfängt als Antwort darauf eine Read Quadlet-Antwort über den Universalpuffer 2162. Dadurch wird der Inhalt des Konfigurations-ROMs des Computers 1 gelesen, und die GUID usw. des Computers 1 wird erhalten, um den Computer 1 zu erkennen, der sich angemeldet hat.
  • Dann generiert der Jobausführungsabschnitt 2152 eine Login-Antwort, die Informationen wie z.B. eine Adresse auf seiten des Druckers 2 enthält, an welcher ein Command Block Agent-ORB, das eine Druckdatenübertragungsanweisung und den Speicherbereich für die zu übertragenden Druckdaten beschreibt, gespeichert wird, veranlaßt den universalpaketerzeugenden Abschnitt 2172, eine die Login-Antwort enthaltende Write Block-Anforderung zu generieren, und sendet sie an den Computer 1. Danach veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die Daten ent hält, die angeben, daß die Verarbeitung des Login-ORBs beendet ist, und sendet sie an den Computer 1.
  • Als nächstes führt der Jobausführungsabschnitt 2152 den in 2 gezeigten Druckdatenübertragungsvorgang aus (Schritt S1002).
  • Das heißt, wenn der Jobausführungsabschnitt 2152 vom Computer 1 über den Universalpuffer 2162 die Write Block-Anforderung empfängt, die den Speicherbereich des Command Block Agent-ORBs angibt, in dem die Druckdatenübertragungsanweisung und der Speicherbereich der Druckdaten beschrieben sind, dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write-Antwort zu generieren, und sendet sie an den Computer 1. Dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Block-Anforderung an den Computer 1 zu senden, und empfängt als Antwort darauf ein Read Block-Antwort vom Universalpuffer 2162. Dadurch wird der Command Block Agent-ORB aus dem Computer 1 ausgelesen.
  • Um als nächstes die Druckdaten im Speicherbereich zu erhalten, der vom Command Block Agent-ORB angegeben wird, der aus dem Computer 1 gelesen wurde, veranlaßt der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173, eine Read Block-Anforderung zu erzeugen. Als Antwort auf diese Read Block-Anforderung wird dann die Read Block-Antwort vom Computer 1 empfangen, und sie wird im Druckdatenpuffer 2163 gespeichert. Dadurch werden die Druckdaten in dem Speicherbereich, der vom obigen ORB angegeben wurde, empfangen.
  • Wenn das Lesen der Druckdaten des vom Command Block Agent-ORB angegebenen Speicherbereichs beendet ist, dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die angibt, daß die Verarbeitung des obigen Command Block Agent-ORBs beendet ist, und sendet diese an den Computer 1.
  • Als nächstes führt der Jobausführungsabschnitt 2152 den in 2 gezeigten Abmeldevorgang aus (Schritt S1003).
  • Das heißt, der Jobausführungsabschnitt 2152 empfängt über den Universalpuffer 2162 vom Computer 1 die Write Block-Anforderung, die den Speicherbereich für den Logout-ORB angibt. Dann, um den Logout-ORB aus dem von der Write Block-Anforderung angegebenen Speicherbereich au lesen, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Block-Anforderung zu generieren, sendet sie an den Computer 1, und empfängt als Antwort darauf die Read Block-Antwort über den Universalpuffer 2162. Dadurch wird der Logout-ORB aus dem Computer 1 gelesen.
  • Wenn das Lesen des Logout-ORBs beendet ist, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die angibt, daß die Verarbeitung des Logout-ORBs beendet ist, und sendet diese.
  • 11 ist ein Flußdiagramm zur Erläuterung der Arbeitsweise des Druckers 2 in der Ausführungssequenz zur Fortsetzung der Druckdatenübertragung, die in 3 gezeigt wird.
  • Wenn während der Anmeldung des Computers 1 ein Bus-Reset auftritt, dann erkennt der Ausführungsstatusüberwachungsabschnitt 2151 dies durch den Bus-Reset-Erkennungsabschnitt 214 (Schritt S1101) und initialisiert jeden Abschnitt des Paketverarbeitungsabschnitts 213, mit Ausnahme des Druckdatenpuffers 2163 (Schritt S1102).
  • Aufgrund des Bus-Resets führt der Link-Verarbeitungsabschnitt 212 in Verbindung mit den anderen Knoten die Baumidentifikation und Selbsterkennung durch, um die Knoten-IDs zu erhalten. Ferner, wenn aufgrund des in 3 gezeigten Drucker 2-Erkennungsvorgangs eine Read Quadlet-Anforderung vom Computer 1 gesendet wird, empfängt der Paketverarbeitungsabschnitt 213 diese über den Universalpuffer 2162, und liest die Daten, die von dieser Anforderung angefordert wurden. Dann wird eine diese Daten ent haltende Read Quadlet-Antwort im universalpaketerzeugenden Abschnitt 2172 generiert und an den Computer 1 gesendet. Dadurch wird der Computer über Informationen wie z.B. die GUID informiert, die im Konfigurations-ROM des Druckers 2 beschrieben wird.
  • Als nächstes beurteilt der Ausführungsstatusüberwachungsabschnitt 2151 nach der Erkennung des Bus-Resets, ob innerhalb der von SBP-2 vorgeschriebenen Wiederverbindungsperiode eine Wiederverbindungsanforderung auftritt (Schritte S1103 und S1104).
  • Das heißt, der Jobausführungsabschnitt 2152 prüft das im Universalpuffer 2162 gespeicherte Paket und führt davon abhängig, ob innerhalb der von SBP-2 vorgeschriebenen Wiederverbindungsperiode eine Write Block-Anforderung vom Computer 1 empfangen wird, die den Speicherbereich von Reconnect-ORB angibt, eine Beurteilung durch.
  • Falls innerhalb der der von SBP-2 vorgeschriebenen Wiederverbindungsperiode keine Wiederverbindung angefordert wird, wird der Druckdatenpuffer 2163 initialisiert (Schritt S1105), und die Verarbeitung wird beendet.
  • Andernfalls, wenn der Computer innerhalb der von SBP-2 vorgeschriebenen Wiederverbindungsperiode die Wiederverbindung anfordert, dann führt der Jobausführungsabschnitt 2152 den in 3 gezeigten Wiederverbindungsvorgang aus, um den Computer 1 als den Knoten zu erkennen, der die Wiederverbindung angefordert hat (Schritt S1106).
  • Das heißt, wenn der Jobausführungsabschnitt 2152 vom Computer 1 die Write Block-Anforderung empfängt, die den Speicherbereich des Reconnect-ORBs angibt, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write-Antwort zu generieren, und sendet diese an den Computer 1. Dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Block-Anforderung zu generieren, um den Reconnect-ORB aus dem von der Write Block-Anforderung beschriebenen Speicherbereich zu lesen. Der Jobausführungsabschnitt 2152 sendet die generierte Read Block-Anforderung an den Computer 1 und empfängt als Antwort darauf eine Read Block-Antwort aus dem Universalpuffer 2162. Dadurch wird der Reconnect-ORB aus dem Computer 1 gelesen.
  • Als nächstes, wenn das Lesen des Reconnect-ORBs beendet ist, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, ein Read Quadlet-Anforderung zu generieren, sendet sie an den Computer 1, und empfängt als Antwort darauf die Read Quadlet-Antwort aus dem Universalpuffer 2162. Dadurch wird der Inhalt des Konfigurations-ROMs des Computers 1 gelesen, und die GUID usw. des Computers 1 wird erhalten. Dadurch erkennt der Jobausführungsabschnitt 2152 den Knoten, der die Wiederverbindung anfordert, als den Computer 1, der vor dem Bus-Reset angemeldet war.
  • Danach veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die Daten enthält, die angeben, daß die Verarbeitung von Reconnect-ORB beendet ist, und sendet sie an den Computer 1.
  • Als nächstes führt der Jobausführungsabschnitt 2152 den in 3 gezeigten Vorgang zur Fortsetzung der Druckdatenübertragung aus (Schritte S1107–S1111).
  • Das heißt, wenn der Jobausführungsabschnitt 2152 die Write Block-Anforderung empfängt, die den Speicherbereich des Command Block Agent-ORBs angibt, in welchem die Druckdatenübertragungsanweisung und der Speicherbereich der zu übertragenden Druckdaten beschrieben sind, dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write-Antwort zu erzeugen, und sendet diese an den Computer 1. Dann veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Block-Anforderung zu erzeugen, um den Command Block Agent-ORB aus dem Speicherbereich zu lesen, der in der Write Block-Anforderung beschrieben wird, und sendet sie an den Computer 1, und empfängt als Antwort darauf die Read Block-Antwort aus dem Universalpuffer 2162.
  • Dadurch wird der Command Block Agent-ORB zum Übertragen der Druckdaten aus dem Computer 1 gelesen (Schritt S1107).
  • Dann, wenn der Command Block Agent-ORB zum Übertragen der Druckdaten im Ausführungsstatusüberwachungsabschnitt 2151 behalten wird, erhält der Jobausführungsabschnitt 2152 diesen ORB und vergleicht ihn mit dem Command Block Agent-ORB, der in Schritt S1107 erhalten wurde (Schritt S1108).
  • Wie oben beschrieben, zählt der Ausführungsstatusüberwachungsabschnitt 2151 in Bezug auf den aus dem Computer 1 gelesenen Command Block Agent-ORB zum Übertragen der Druckdaten die Zahl der Pakete der Read Block-Anforderungen, die vom druckdatenpaketerzeugenden Abschnitt 2173 diesem ORB entsprechend erzeugt wurden, und zählt die Zahl der Pakete der Read Block-Antworten, die als Antwort auf diese Read Block-Anforderungen vom Computer 1 empfangen wurden, bis die Ausführung dieses ORBs abgeschlossen ist. Wenn die die Ausführung dieses ORBs durch ein Bus-Reset unterbrochen wird, behält der Ausführungsstatusüberwachungsabschnitt 2151 daher die Zahl der Read Block-Anforderungen, die bis zum Bus-Reset vom druckdatenpaketerzeugenden Abschnitt 2173 diesem ORB entsprechend generiert wurde, und die Zahl der Pakete, die vom Computer 1 in Bezug auf diesen ORB als Antwort auf diese Read Block-Anforderungen empfangen wurden.
  • Falls als Ergebnis des Vergleichs in Schritt S1108 der Druckdatenspeicherbereich, der durch den im Ausführungsstatusüberwachungsabschnitt 2151 behaltenen Command Block Agent-ORB angegeben wird, der gleiche ist wie der Druckdatenspeicherbereich, der durch den in Schritt S1107 erhaltenen Command Block Agent-ORB angegeben wird, führt der Jobausführungsabschnitt 2152 den folgenden Vorgang aus, um die Kontinuität der Druckdaten zwischen vor und nach dem Bus-Reset zu gewährleisten.
  • Das heißt, in Bezug auf den Command Block Agent-ORB, der in Schritt S1107 erhalten wurde, spezifiziert der Jobausführungsabschnitt 2152 den Speicherbereich der Druckdaten, die noch nicht erhalten wurden, ausschließlich der bereits erhaltenen Druckdaten (der Druckdaten, die bereits vor dem Bus-Reset gelesen wurden), auf der Basis des Druckdatenspeicherbereichs (der tatsächlich durch die Startadresse und die Übertragungsdatenmenge spezifiziert wird), der durch diesen ORB und der Zahl der Pakete der Read Block-Anforderungen oder Read Block-Antworten angegeben wird, die im Ausführungsstatusüberwachungsabschnitt 2151 behalten wurden.
  • Um dann die Druckdaten zu erhalten, die noch nicht vom Computer 1 erhalten wurde, veranlaßt der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173, Read Block-Anforderungen zu generieren, sooft dies zum Lesen der Druckdaten notwendig ist, die noch nicht erhalten wurden, und sie an den Computer 1 zu senden. Dann werden als Antwort auf diese Read Block-Anforderungen Read Block-Antworten vom Computer 1 empfangen und im Druckdatenspeicher 2163 gespeichert. Durch diese Arbeitsweise werden nur die Druckdaten empfangen, die noch nicht erhalten wurden (Schritt S1109).
  • Der Ausführungsstatusüberwachungsabschnitt 2151 löscht den Inhalt der Zählung, wenn die Ausführung des Command Block Agent-ORBs zum Übertragen der Druckdaten abgeschlossen ist. Wenn dann ein neuer Command Block Agent-ORB zum Übertragen der Druckdaten ausgeführt wird, startet der Ausführungsstatusüberwachungsabschnitt 2151 die Zählung neu.
  • Andrerseits, falls der Ausführungsstatusüberwachungsabschnitt 2151 den Command Block Agent-ORB zum Übertragen der Druckdaten nicht behält, oder wenn als Ergebnis des Vergleichs in Schritt S1108 der Druckdatenspeicherbereich, der durch den Command Block Agent-ORB angegeben wird, der im Ausführungsstatusüberwachungsabschnitt 2151 behalten wurde, von dem Druckdatenspeicherbereich verschieden ist, der durch den in Schritt S1107 erhaltenen Command Block Agent-ORB angegeben wird, dann veranlaßt der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173, eine Read Block-Anforderung zu generieren, und sendet sie an den Computer 1, um vom Computer 1 die Druckdaten des Speicherbereichs zu erhalten, der durch den in Schritt S1107 erhaltenen Command Block Agent-ORB angegeben wird. Dann wird als Antwort auf diese Read Block-Anforderung eine Read Block-Antwort vom Computer 1 empfangen und im Datenpuffer 2163 gespeichert. Dadurch werden die Druckdaten des Speicherbereichs empfangen, der in der vorgenannten ORB angegeben wird (Schritt S1110).
  • Als nächstes, wenn der Vorgang von Schritt S1109 oder 51110 zum Lesen der Druckdaten beendet ist, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die angibt, daß die Verarbeitung des Command Block Agent-ORBs, der in Schritt S1107 erhalten wurde, beendet ist, und sendet diese an den Computer 1 (Schritt S1111).
  • Als nächstes führt der Jobausführungsabschnitt 2152 den in 3 gezeigten Abmeldevorgang aus (Schritt S1112). Das heißt, der Jobausführungsabschnitt 2152 empfängt vom Computer 1 über den Universalpuffer 2162 eine Write Block-Anforderung, die den Speicherbereich des Logout-ORBs angibt. Dann, um den Logout-ORB aus dem in der Write Block-Anforderung angegebenen Speicherbereich zu lesen, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Read Block-Anforderung zu generieren, sendet diese an den Computer 1 und empfängt als Antwort darauf über den Universalpuffer 2162 eine Read Block-Antwort. Dadurch wird das Logout-ORB aus dem Computer 1 gelesen.
  • Wenn der Vorgang des Lesens des Logout-ORBs beendet ist, veranlaßt der Jobausführungsabschnitt 2152 den universalpaketerzeugenden Abschnitt 2172, eine Write Block-Anforderung zu generieren, die Daten enthält, die angeben, daß die Verarbeitung des Logout-ORBs beendet ist, und sendet diese an den Computer 1.
  • Im obigen wurde eine Ausführungsform der vorliegenden Erfindung beschrieben.
  • Wenn im erfindungsgemäßen Drucker 2 eine Anforderung des in SBP-2 definierten Wiederverbindungsvorgangs vom Computer 1 empfangen wird, der einen Command Block Agent ORB gesendet hat, dessen Ausführung durch ein Bus-Reset unterbrochen wurde, und ferner der gleiche Command Block Agent ORB wie der unterbrochene Command Block Agent ORB empfangen wird, dann spezifiziert der Jobausführungsabschnitt 2152 von den Daten im Speicherbereich, der vom ORB angegeben wird, den Speicherbereich der Daten, die noch nicht erhalten wurden, ausschließlich der Daten, die vor dem Bus-Reset erhalten wurden, entsprechend der Zahl der gesendeten Read Block-Anforderungen oder der empfangenen Read Block-Antworten an dem Zeitpunkt, an dem die Ausführung des ORBs unterbrochen wurde, was vom Ausführungsstatusüberwachungsabschnitt 2151 gezählt wurde. Dann veranlaßt der Jobausführungsabschnitt 2152 den druckdatenpaketerzeugenden Abschnitt 2173, Read Block-Anforderungen zu generieren, sooft die notwendig ist, um diese spezifizierten Daten zu lesen, die noch nicht erhalten wurden, und sendet sie an den Computer 1.
  • Ferner speichert der Empfangsselektor 2161 in Bezug auf die Druckdaten, die in den Read Block-Antworten enthalten sind, die als Antwort auf diese Read Block-Anforderungen vom Computer 1 erhalten werden, diese Daten in den Druckdatenpuffer 2163. Selbst, wenn ein Bus-Reset auftritt, initialisiert der Jobausführungsabschnitt 2152 den Druckdatenpuffer 2163 nicht sofort, sondern initialisiert ihn, wenn nach Abschluß des Bus-Resets innerhalb der in SBP-2 definierten Wiederverbindungsperiode keine Wiederverbindung vom Computer 1 auftritt.
  • Durch solch eine Arbeitsweise kann der Drucker 2 die Kontinuität der im Druckdatenpuffer 2163 gespeicherten Druckdaten gewährleisten, ohne dieselben Daten zu wiederholen, selbst wenn der Empfang durch ein Bus-Reset unterbrochen wird. Daher kommt es zum Beispiel selbst im Falle eines seriellen Druckers wie z.B. ein Tintenstrahldrucker, der den Druck beim Empfang der Druckdaten für eine Zeile (eine Abtastung des Druckkopfs) startet, nicht vor, daß dieselben Druckdaten nach einem Bus-Reset wiederholt gedruckt werden.
  • Ferner ist in der vorliegenden Ausführungsform die Größe des Druckdatenpuffers 2163 auf einen Wert (zum Beispiel 4 KByte) eingestellt, der größer ist als eine vorgegebene Datenmenge (zum Beispiel 2 KByte), die in einer Teiltransaktion übertragen werden kann, welche in der Read Block-Anforderung beschrieben wird, damit der Drucker 2 die Druckdaten vom Computer 1 erhält. Aufgrund dessen werden Druckdaten der Read Block-Antwort, die vom Computer 1 als Antwort auf diese Read Block-Anforderung gesendet wird, auf einmal im Druckdatenpuffer 2163 gespeichert. Demnach kann der Ausführungsstatusüberwachungsabschnitt 2151 den Ausführungsstatus des vom Command Block Agent-ORB verursachten Jobs (Druckdatenübertragungsvorgang/Vorgang zur Fortsetzung der Übertragung) überwachen, indem er die Zahl der gesendeten Read Block-Anforderungen oder die Zahl der empfangenen Read Block-Antworten zählt, was die Überwachung einfach macht.
  • Um den Ausführungsstatus bezüglich des Command Block Agent-ORBs zu überwachen, wird in der vorliegenden Ausführungsform sowohl die Zahl der gesendeten Read Block-Anforderungen, um Druckdaten des Speicherbereichs zu lesen, der im Command Block Agent-ORB beschrieben wird, als auch die Zahl der als Antwort auf diese Read Block-Anforderungen empfangenen Read Block-Antworten gezählt. Doch es kann eine davon gezählt werden. Oder der Ausführungsstatus des Command Block Agent-ORBs kann überwacht werden, indem die Gesamtbytezahl der in den obigen Read Block-Antworten enthaltenen Daten gezählt wird. Dies kann zum Beispiel durch Zählen der Bytezahl der Daten durchgeführt werden, die in den Druckdatenpuffer 2163 eingegeben werden.
  • Ferner wird in der vorliegenden Ausführungsform die Datenkommunikation mit einem Partnergerät über die serielle Schnittstelle auf der Basis von IEEE1394 und dem Datenübertragungsprotokoll auf der Basis von SBP-2 entsprechend durchgeführt. Die vorliegende Erfindung ist aber nicht darauf eingeschränkt. Zum Beispiel kann die vorliegende Erfindung auch auf andere Datenübertragungsprotokolle angewandt werden, wie z.B. DPP (Direct Printer Protocol), in denen die Datenübertragung durch ein bestimmtes Ereignis unterbrochen werden kann.
  • Ferner ist das erfindungsgemäße Datenkommunikationsgerät nicht auf einen Drucker beschränkt. Die vorliegende Erfindung kann auf diverse Geräte angewandt werden, die angeschlossen werden, wie z.B. ein Scanner und eine Digitalvideokamera.
  • Wie oben beschrieben, ist es erfindungsgemäß möglich, Daten zu empfangen, deren Kontinuität gewährleistet wird, ohne dieselben Daten wiederholt zu empfangen.

Claims (7)

  1. Datenkommunikationsgerät, um über eine Kommunikationsleitung Datenkommunikation mit einem Partnergerät durchzuführen, wobei dieses Datenkommunikationsgerät umfasst: Jobausführungsmittel (2152) zum Empfangen von Daten vom Partnergerät, um einen Job auszuführen; und Jobverwaltungsmittel (2151) zum Verwalten eines Ausführungsstatus dieses Jobs; wobei: wenn ein Job, dessen Ausführung durch ein bestimmtes Ereignis unterbrochen wurde, fortgesetzt werden soll, das Jobverwaltungsmittel (2151) das Jobausführungsmittel (2152) anweist, den Job fortzusetzen, indem es einen Ausführungsstatus des Jobs zu dem Zeitpunkt angibt, an dem die Ausführung des Jobs unterbrochen wurde; und das Jobausführungsmittel (2152) sich auf den Ausführungsstatus des Jobs an dem Zeitpunkt bezieht, an dem die Ausführung des Jobs unterbrochen wurde, um nur Daten zu empfangen, die benötigt werden, um einen unverarbeiteten Teil des Jobs auszuführen, wobei dieser Ausführungsstatus vom Jobverwaltungsmittel (2151) in Bezug auf den Job angegeben wird, für den die Anweisung zur Fortsetzung gegeben wurde, dadurch gekennzeichnet, dass: das Datenkommunikationsgerät die Kommunikation mit dem Partnergerät über eine serielle Schnittstelle auf der Basis von IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1394 und einem Datenübertragungsprotokoll auf der Basis von SBP-2 (Serial Bus Protocol 2) entsprechend durchführt; das Jobausführungsmittel (2152) die Information benutzt, die in einem ORB (Operation Request Block) gegeben wird, der vom Partnergerät als Job empfangen wird und Daten enthält, die einen Speicherbereich von Daten angeben, die vom Partnergerät zum Datenkommuni kationsgerät übertragen werden sollen, um (eine) Block Read-Anforderung zu erzeugen und zu senden, die dem Partnergerät eine Lesestartadresse und eine bestimmte Lesedatenmenge angibt, und als Antwort darauf eine Block Read-Antwort empfängt, die Lesedaten enthält, so dass das Jobausführungsmittel (2152) die Daten um die vorgegebene Datenmenge sequentiell von jeder Adresse liest, um die Daten in dem Speicherbereich zu empfangen, der vom ORB angegeben wird; und wenn das Jobverwaltungsmittel (2151) das Jobausführungsmittel (2152) anweist, die Ausführung des ORBs, dessen Ausführung durch ein bestimmtes Ereignis unterbrochen wurde, fortzusetzen, das Jobausführungsmittel (2152) sich dann auf den Ausführungsstatus bezieht, der vom Jobverwaltungsmittel (2151) in Bezug auf den Zeitpunkt angegeben wird, an dem die Ausführung des ORBs unterbrochen wurde, um Block Read-Anforderungen zu erzeugen, die benötigt werden, um von den Daten im Speicherbereich, der vom ORB angegeben wird, die Daten zu empfangen, die noch nicht erhalten wurden, ausschließlich der Daten, die bereits erhalten worden sind, um diese Block Read-Anforderungen an das Partnergerät zu senden und Block Read-Antworten als Antwort auf diese Block Read-Anforderungen zu empfangen.
  2. Datenkommunikationsgerät nach Anspruch 1, wobei: das Datenkommunikationsgerät außerdem Bus-Reset-Erkennungsmittel (214) umfasst, um ein Bus-Reset, das durch IEEE1394 definiert wird, als das bestimmte Ereignis zu erkennen; das Jobverwaltungsmittel (2151) umfasst: Mittel zum Verwalten des Ausführungsstatus des ORBs durch Kennen des ORBs, der gerade vom Jobausführungsmittel (2152) ausgeführt wird, und mindestens einem von: der Zahl der gesendeten Block Read-Anforderungen, die erzeugt wurden, um dieses ORB auszuführen, der Zahl der Block Read-Antworten, die von Partnergeräten als Antworten auf diese Block Read-Anforderungen empfangen wurden, und der Gesamtbytezahl der Lesedaten, die in den Block Read-Antworten enthalten war; und Anweisungsmittel, um dem Jobausführungsmittel (2152) die Anweisung zu geben, die Ausführung des ORBs fortzusetzen, wenn ein wiederverbindungsvorgang, der durch SBP-2 definiert wird, von dem Partnergerät angefordert wird, das den ORB gesendet hat, dessen Ausführung durch ein Bus-Reset unterbrochen wurde, das vom Bus-Reset-Erkennungsmittel (214) erkannt wurde, und danach wird ein gleiches ORB wie dieses unterbrochene ORB erneut gesendet, wobei diese Anweisung gegeben wird, indem mindestens eines angegeben wird von: einer Zahl gesendeter Block Read-Anforderungen, einer Zahl empfangener Block Read-Anforderungen, und einer Gesamtbytezahl der empfangenen Daten, die in den Block Read-Antworten enthalten waren, als die Ausführung des ORBs unterbrochen wurde; und wenn das Jobverwaltungsmittel (2151) die Anweisung gibt, diesen ORB fortzusetzen, das Jobausführungsmittel (2152) Block Read-Anforderungen erzeugt, die benötigt werden, um von den Daten im Speicherbereich, der in dieser ORB angegeben wird, die Daten zu empfangen, die noch nicht erhalten wurden, ausschließlich der bereits erhaltenen Daten, wobei es diese Daten, die noch nicht empfangen wurden, spezifiziert durch mindestens eines von: einer Zahl gesendeter Block Read-Anforderungen, einer Zahl empfangener Block Read-Anforderungen, und einer Gesamtbytezahl der empfangenen Daten, die in den Block Read-Antworten enthalten waren, als die Ausführung des ORBs unterbrochen wurde, wobei diese Zahlen vom Jobverwaltungsmittel (2151) ausgegeben werden; und das Jobausführungsmittel (2152) die erzeugten Block Read-Anforderungen an das Partner gerät sendet, und als Antwort Block Read-Antworten empfängt.
  3. Datenkommunikationsgerät nach Anspruch 2, wobei: das Datenkommunikationsgerät außerdem einen Puffer zum Speichern der Daten umfasst, die in der Block Read-Antwort enthalten sind, die der Block Read-Anforderung zur Ausführung des ORBs entspricht, die vom Jobausführungsmittel empfangen wurde; und Daten, die in diesem Puffer gespeichert sind, auch dann nicht gelöscht werden, wenn ein Bus-Reset vom Bus-Reset-Erkennungsmittel (214) erkannt wird.
  4. Datenkommunikationsgerät nach Anspruch 3, außerdem umfassend: ein Reset-Mittel, das die im Puffer gespeicherten Daten löscht, wenn eine Anforderung nach einem Wiederverbindungsvorgang nicht innerhalb einer bestimmten Zeitperiode von dem Partnergerät empfangen wird, das den ORB gesendet hat, dessen Ausführung durch ein Bus-Reset unterbrochen wurde, nachdem dieses Bus-Reset vom Bus-Reset-Erkennungsmittel (214) erkannt wurde.
  5. Datenkommunikationsgerät nach Anspruch 4, wobei: eine Größe der Daten, die in der Block Read-Antwort enthalten sind, die der Block Read-Anforderung zur Ausführung des ORBs entspricht, das vom Jobausführungsmittel (2152) empfangen wurde, kleiner als die Größe des Puffers ist.
  6. Datenkommunikationsgerät nach Anspruch 4, wobei: das Jobausführungsmittel (2152) dem Partnergerät eine Block Read-Anforderung sendet, die zur Ausführung des ORBs erzeugt wurde, wenn eine freie Speicherkapazität des Puffers größer geworden ist als die Lesedatenmenge, die in der Block Read-Anforderung angegeben ist.
  7. Drucker, der mit dem Datenkommunikationsgerät nach Anspruch 4 versehen ist, wobei: der Puffer die gespeicherten Daten durch das Byte an ein Druckerhauptteil sendet.
DE60027633T 1999-03-19 2000-03-17 Datenkommunikations-Gerät Expired - Lifetime DE60027633T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP7609599 1999-03-19
JP7609599 1999-03-19
JP35046099 1999-12-09
JP35046099A JP3387466B2 (ja) 1999-03-19 1999-12-09 データ通信装置

Publications (2)

Publication Number Publication Date
DE60027633D1 DE60027633D1 (de) 2006-06-08
DE60027633T2 true DE60027633T2 (de) 2006-09-21

Family

ID=26417245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60027633T Expired - Lifetime DE60027633T2 (de) 1999-03-19 2000-03-17 Datenkommunikations-Gerät

Country Status (5)

Country Link
US (1) US6937355B1 (de)
EP (1) EP1039368B1 (de)
JP (1) JP3387466B2 (de)
AT (1) ATE325380T1 (de)
DE (1) DE60027633T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002118558A (ja) * 2000-10-10 2002-04-19 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
US7301657B2 (en) * 2001-06-09 2007-11-27 Hewlett-Packard Development Company, L.P. Printer including video decoder
JP2003063118A (ja) * 2001-08-29 2003-03-05 Canon Inc 記録装置、インタフェース制御装置およびインタフェース制御方法
JP2005115545A (ja) * 2003-10-06 2005-04-28 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP4239930B2 (ja) * 2004-08-19 2009-03-18 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
US8490204B2 (en) * 2004-11-12 2013-07-16 Sandisk Il Ltd. Selective protection of files on portable memory devices
US7593140B2 (en) * 2005-01-07 2009-09-22 Avego Technologies General Ip (Singapore) Pte. Ltd. System and method for generating dynamically modifiable timing control signals
KR100782820B1 (ko) * 2005-09-30 2007-12-06 삼성전자주식회사 방송 수신기를 포함하는 인쇄 장치 및 인쇄 장치 구동 방법
JP2010252035A (ja) * 2009-04-15 2010-11-04 Canon Inc 画像処理装置、画像処理方法、プログラム
US9686460B2 (en) 2012-12-27 2017-06-20 Intel Corporation Enabling a metadata storage subsystem
JP2022143255A (ja) * 2021-03-17 2022-10-03 東芝テック株式会社 プリンタ及び情報処理システム
JP2023045171A (ja) * 2021-09-21 2023-04-03 富士フイルムビジネスイノベーション株式会社 印刷ジョブの管理装置およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113624A (ja) * 1986-10-30 1988-05-18 Tokyo Electric Co Ltd 電子秤のプリンタインタ−フエ−ス
JP3202519B2 (ja) * 1995-01-31 2001-08-27 シャープ株式会社 データ印字出力装置
JPH1032691A (ja) * 1996-07-15 1998-02-03 Matsushita Electric Ind Co Ltd ディジタル複合機
JPH10322372A (ja) 1997-05-16 1998-12-04 Canon Inc データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体
JP4111472B2 (ja) 1998-05-15 2008-07-02 キヤノン株式会社 通信制御方法及び装置及び通信システム

Also Published As

Publication number Publication date
EP1039368B1 (de) 2006-05-03
JP2000339117A (ja) 2000-12-08
EP1039368A2 (de) 2000-09-27
JP3387466B2 (ja) 2003-03-17
US6937355B1 (en) 2005-08-30
EP1039368A3 (de) 2002-11-13
DE60027633D1 (de) 2006-06-08
ATE325380T1 (de) 2006-06-15

Similar Documents

Publication Publication Date Title
DE60020633T2 (de) Geräteverwaltungsnetzwerksystem, Verwaltungsserver, und Rechner
DE69634762T2 (de) Gerät zur Erzeugung und Übertragung einer verwalteten Gerätbeschreibungsdatei
DE69633887T2 (de) Schnittstelle zwischen Agent und verwaltetem Gerät
DE60035882T2 (de) Protokoll einer zerteilten transaktion für ein bussystem
DE69634983T2 (de) Verfahren und vorrichtung für ein hybrides wettbewerbs- und abfrageprotokoll
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE19605093B4 (de) Verfahren und Vorrichtung zum Einrichten und Verwalten einer Verbindung zwischen einem Client-Computersystem und jedem einer Mehrzahl von Server-Computersystemen
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE69634914T2 (de) Hybrides begrenztes konkurrenz- und abfrageprotokoll
DE2953444C2 (de) Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk
DE69921056T2 (de) Verfahren zum Verarbeiten von Blockierungen von Netzwerk-Scannern
DE69827747T2 (de) Druckersystem und Übertragungsvorrichtung um Druckersteuerungsprogramm zu übertragen
DE4143697B4 (de) System zum Überwachen, Steuern und Kommunizieren mit einem oder mehreren Bürogeräten
DE69829136T2 (de) Netzwerkdrucker und entsprechendes computerlesbares Programaufzeichnungsmedium
DE69926476T2 (de) Netzwerküberwachungseinheit
DE60002446T2 (de) Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs
DE60223200T2 (de) Verfahren und Vorrichtung zum Verwalten von Netzwerkgeräten
DE60217718T2 (de) Netzwerksystem und Verfahren bestehend aus einer Vielzahl von Netzwerkvorrichtungen welche funktionsbezogene Webseiten liefern
DE69928603T2 (de) Medienzugriffssteuerung
DE60316048T2 (de) Verfahren und System zur Überwachung eines Netzwerkgerätes
DE19607515B4 (de) Computer mit Prozessverwalter
DE69329743T9 (de) Computerverwaltungssystem und entsprechende Datenbank für Verwaltungsinformationen
DE60035830T2 (de) Netzwerkgeräteverwaltungsvorrichtung und - verfahren
DE69837122T2 (de) Multifunktionales Druckersystem mit Warteschlangenverwaltung
DE60027633T2 (de) Datenkommunikations-Gerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition