DE69725778T2 - Druckerkommunikationssystem und -verfahren - Google Patents

Druckerkommunikationssystem und -verfahren Download PDF

Info

Publication number
DE69725778T2
DE69725778T2 DE69725778T DE69725778T DE69725778T2 DE 69725778 T2 DE69725778 T2 DE 69725778T2 DE 69725778 T DE69725778 T DE 69725778T DE 69725778 T DE69725778 T DE 69725778T DE 69725778 T2 DE69725778 T2 DE 69725778T2
Authority
DE
Germany
Prior art keywords
printer
command
font
main computer
configuration
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 - Fee Related
Application number
DE69725778T
Other languages
English (en)
Other versions
DE69725778D1 (de
Inventor
Ricky C. Bardstown Brown
Joseph P. Lexington Kolb
Gail M. Foster City Songer
Jr. Edward William Lexington Yohon
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.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
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 Lexmark International Inc filed Critical Lexmark International Inc
Publication of DE69725778D1 publication Critical patent/DE69725778D1/de
Application granted granted Critical
Publication of DE69725778T2 publication Critical patent/DE69725778T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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
    • 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/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1285Remote printer device, e.g. being remote from client or server
    • 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/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Communication Control (AREA)

Description

  • Diese Erfindung betrifft allgemein die Steuerung von Druckern und spezieller ein Druckerdatenübertragungssystem und -verfahren.
  • Drucker empfangen Druckdaten von einer Quelle, wie z. B. einem Hauptrechner, und erzeugen eine gedruckte Darstellung dieser Druckdaten auf einer Seite. Ein Drucker kann entweder einen einzigen oder mehrere Hauptrechner versorgen. Z. B. kann ein Drucker durch ein Kabel direkt mit dem seriellen oder parallelen Port des Hauptrechners verbunden sein, um nur diesen Hauptrechner zu versorgen. Alternativ kann ein Drucker, der über eine Schnittstelle mit einem Netzwerk verbunden ist, mehreren Hauptrechnern zugewiesen sein, die sich auf diesem Netzwerk befinden.
  • Viele Drucker haben in der Vergangenheit eine Tafel zum Überwachen und zur manuellen Steuerung des Druckers eingeschlossen. Eine manuelle Steuerung könnte mittels Steuervorrichtungen durchgeführt werden, wie z. B. Tastendruckschalter, die manchmal permanent gekennzeichnet sind und dedizierte Funktionen ausführen. Eine Zustandsanzeige und andere Überwachungsfunktionen können mit Hilfe von Leuchtanzeigen auf der Tafel oder durch hörbare Alarme implementiert sein oder indem auf einer Flüssigkristallanzeige eine Mitteilung ausgegeben wird. Solche Einrichtungen lieferten typischerweise Steuervermögen, die von einem elementaren Leistungsschalten, einer Anzeige, ob sich der Drucker in einem Online- oder Bereitschaftszustand befindet, bis zu den verschiedensten mehreren ausgeklügelten Funktionen reichten, wie z. B. Auswählen von Papiergröße, Papierquelle, Font, Punktgröße, Teilung, manuellem oder automatischem Vorschub, Druckorientierung, Duplexmodus, Zeilen pro Seite, Diagnoseprüfung und andere. Überwachungsfunktionen können ein Bereitstellen von jeglicher einer Anzahl von visuellen oder hörbaren Anzeigen einschließen, die einen Benutzer über Zustands- oder Wartungserfordernisse des Druckers informieren. Diese Anzeigen können die Form von Zustandsmitteilungen annehmen, wie z. B. "Bereit" oder "Beschäftigt", die den aktiven Zustand des Druckers anzeigen. Sie können auch die Form von Bedienungsmitteilungen annehmen, wie z. B. "Papierstau", "Lade Papier", "Toner fast leer", oder "Obere Abdeckung offen", was nach dem Eingreifen der Bedienperson verlangt, oder können die Form von Wartungsfehlercodes annehmen, wobei Probleme angezeigt werden, die die Wartung eines Wartungstechnikers erfordern.
  • Die EP 0598501 beschreibt einen LAN-Drucker mit einem nichtflüchtigen Speicher zum Speichern eines Defaultkonfigurationscodes.
  • Die EP 0556994 offenbart ein System, wodurch Druckdaten im Wesentlichen gleichzeitig von verschiedenen Quellen eingegeben werden können.
  • Es sind Anstrengungen unternommen worden, um Netzwerkadministratoren und Benutzer mit einem gewissen Vermögen zu versehen, einen Ferndrucker zu überwachen und zu steuern. Beispielhaft für diese sind Softwaredienstprogramme zum Konfigurieren, Handhaben und Entstören von Druckern auf einem Netzwerk, wie z. B. einem Novell NetWare®-Netzwerk. Ein solches Dienstprogramm ermöglicht, dass ein Netzwerkadministrator eine Anzahl von Tasks ausführt, die in Beziehung mit einem Drucker stehen, der irgendwo auf dem Netzwerk angeordnet ist. Z. B. kann der Administrator Zustandsinformationen sammeln und den Betriebszustand und Verbindungszustand eines gegebenen Druckers auf dem Bildschirm des Hauptrechners unter Verwendung einer Maus oder anderen Zeigervorrichtung anzeigen. Ein Drucker kann auch fernkonfiguriert sein, um entweder in einem Ferndruckermodus oder einem Warteschlangenservermodus zu arbeiten. In dem Warteschlangenservermodus wird kein separater Druckserver erfordert. Druckdaten von einem Hauptrechner werden zu einem Dateiserver übermittelt, wo sie in eine Druckwarteschlange ausgelagert werden. Wenn der ausge wählte Drucker verfügbar ist, transferiert ein Warteschlangenserver den Job zu dem Drucker zum Drucken. In dem Ferndruckermodus werden die in den Dateiserver ausgelagerten Druckdaten durch einen dedizierten Druckserver zu dem ausgewählten Drucker kopiert. Das Dienstprogramm ermöglicht auch einem Netzwerkadministrator, Warteschlangen oder Dateiserver hinzuzufügen oder zu löschen, und Druckertreiber von fern zu installieren, auszuwählen oder zu entfernen.
  • Einige vor Ort mit einem Hauptrechner verbundene Stand-der-Technik-Drucker haben bidirektionale Datenübertragungen verwendet, die mit Nicht-Standard-Protokollen implementiert sind, um zu ermöglichen, dass ein Benutzer des Hauptrechners den Drucker überwacht und steuert. Z. B. umfasst außer einem Leistungsschalter, der irgendwo auf dem Drucker angeordnet ist, die Bedienpersontafel des WinWriter 600, der von Lexmark International, Inc. hergestellt wird, nur Drucktasten, die mit "Pause/Wiederaufnehmen" und "Löschen" gekennzeichnet sind, und vier Leuchtanzeigen, die gekennzeichnet sind, um anzuzeigen, ob der Drucker "Bereit" ist oder mit "Drucken" beschäftigt ist oder "Papier" oder "Wartung" erfordert. Alle anderen Überwachungs- und Steuerfunktionen sind durch eine grafische Benutzerschnittstelle (GUI) verfügbar, die durch ein Dienstprogramm auf Windows-Basis erzeugt wird, das auf dem Hauptrechner läuft. Während Drucker von diesem Typ mit Netzwerkbenutzern gemeinsam genutzt werden konnten, um ihnen zu ermöglichen, Jobs zu drucken, waren die Steuer- und Überwachungsfunktionen, die für den Benutzer des örtlichen Hauptrechners verfügbar waren, für die Netzwerkbenutzer nicht verfügbar.
  • In letzterer Zeit ist es vorgeschlagen worden, dass die Abhängigkeit von den Überwachungs- und Auswahlfunktionen, die durch die Druckertafel verfügbar sind, die Teil des Druckers ist, vermindert werden. Zu diesem Zweck ist es auch vorgeschlagen worden, dass die Tafelanzeige und -funktionen zu einem Monitor repliziert werden. Z. B. weist Lexmark für diesen Zweck ein Produkt MarkVisionTM auf. Während ein Fernzugriff auf die Druckertafel ermöglicht wird, hat dieser Lösungsweg eine Abhängigkeit von der Druckersteuertafel beibehalten.
  • Die Koordination von Fonts und Zeichenvorräten zwischen einem Rechner und einem Drucker ist eine wichtige Task beim erfolgreichen und effizienten Drucken von Schriftstücken. Der "Font" ist einfach eine Menge von Zeichen, die dieselben grundlegenden Merkmale gemeinsam nutzen. Fonts nehmen normalerweise ihre Namen von dem Schriftbild: Courier oder Helvetica zum Beispiel. Jedes Schriftbild wird durch einen Hauptrechner von speziellen Attributen begleitet, wie z. B. Höhe, Teilung (Dickte), Ausschluss, Art, Zeichenvorrat, Strichstärke und Orientierung. Der "Zeichenvorrat" für einen Font umfasst die tatsächlichen Zeichen, die man in ihm drucken kann. Für die alphabetischen Zeichen und Zahlen gibt es wenig Unterschied unter Zeichenvorräten, außer dass die meisten US-Fonts das Dollarzeichen einschließen, wo europäische Fonts wahrscheinlicher das Zeichen für Pfund Sterling einschließen. Die Fonts und Zeichenvorräte, die im Drucker verfügbar sind, müssen dem Benutzer bekannt sein oder sonst dem Hauptrechner mitgeteilt werden, um ein richtiges Drucken zu ermöglichen. Wenn der Zeichenvorrat, der durch den Anzeigemonitor des Rechners verwendet wird, nicht derjenige ist, der durch den Drucker verwendet wird, gibt es Unterschiede oder sonderbare Zeichen auf der gedruckten Seite. Ein Weg, um auf diese Situation einzugehen, besteht darin, die im Drucker residenten Fonts und Zeichenvorräte kennen zu lernen, indem das Handbuch des Druckers verwendet wird und diese in den Speicher des Hauptrechners von Hand eingegeben werden. Dies kann ineffizient sein und ermöglicht keine leichten Änderungen von Fonts und Zeichenvorräten im Drucker. Folglich würde es wünschenswert sein, um Font- und Zeichenvorratsinformation auf eine gewisse automatische Weise zum Hauptrechner bereitstellen.
  • Deshalb ist ein Bedarf für ein Druckerdatenübertragungssystem entstanden, das die Unzulänglichkeiten der Stand-der-Technik-Systeme verringert. Ein weiterer Bedarf existiert für ein Druckerdatenübertragungssystem und -verfahren, das die Ferneinstellung von Druckerkonfigurationsvariablen und das Fernüberwachen des Druckers ermöglicht, das unabhängig von einer Druckersteuertafel ist. Ein weiterer Bedarf existiert für ein Druckerdatenübertragungssystem, das effizient ermöglicht, dass ein Hauptrechner von Font- und Zeichenvorräten, die auf einem Drucker verfügbar sind, Kenntnis hat.
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung, die auf die Nachteile, Probleme und Bedürfnisse, die oben dargelegt sind, eingeht. Ein Aspekt der Erfindung betrifft einen Drucker, umfassend einen Druckerkontroller mit einem Speicher zum Speichern einer Mehrzahl von Druckerkonfigurationseinstellungen und einen Prozessor und einen mit dem Druckerkontroller gekoppelten Port, der Signale von einem Hauptrechner empfängt, wobei der Druckerkontroller Konfigurationsänderungsinformation über den Port empfängt und die Konfigurationsänderungsinformation verarbeitet, um eine Aktualisierung von einer oder mehreren der Mehrzahl von Druckerkonfigurationseinstellungen unter Verwendung der Konfigurationsänderungsinformation zu bewerkstelligen, während der Drucker einen aktiven Druckjob verarbeitet, wenn die Aktualisierung das Verarbeiten des aktiven Druckjobs nicht nachteilig beeinflusst.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein Druckerdatenübertragungssystem bereitgestellt, das den Hauptrechner benachrichtigt, wenn ein Konfigurationsverknüpfter Befehl empfangen wird, der nicht gefahrlos unmittelbar zu verarbeiten ist, während der Drucker mit einem Druckjob beschäftigt ist, und weiter den Hauptrechner informiert, dass er offline gehen sollte, um den Konfigurationsverknüpften Befehl zu verarbeiten.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist ein Druckerkontroller programmiert, um einen Fern-Offline-Befehl zu empfangen und den Drucker sobald wie möglich ferngesteuert offline zu nehmen. Gemäß einer anderen Ausführungsform der vorliegenden Erfindung ist ein Druckerkontroller programmiert, um einen Fern-Online-Befehl zu empfangen und den Drucker ansprechend darauf ferngesteuert offline zu nehmen.
  • Gemäß einer anderen Ausführungsform der vorliegenden Erfindung ist ein Druckerkontroller programmiert, um auf einen "Liste-Zeichenvorräte"-Befehl zu antworten, indem die residenten Zeichenvorräte zu dem Hauptrechner übertragen werden.
  • Ein technischer Vorteil der vorliegenden Erfindung besteht darin, dass sie eine Fernsteuerung und Fernüberwachung eines Druckers ermöglicht, einschließlich Konfigurationsänderungen, unabhängig von jeglicher Steuertafel auf dem Drucker. Ein anderer technischer Vorteil der vorliegenden Erfindung besteht darin, dass die Unabhängigkeit des Druckerdatenübertragungssystems von der Druckersteuertafel die Beseitigung der Steuertafel überhaupt von dem Drucker ermöglicht. Ein anderer technischer Vorteil der vorliegenden Erfindung besteht darin, dass sichere-Druckerkonfigurations-Änderungen sofort durch den Drucker gemacht werden können. Ein anderer technischer Vorteil der vorliegenden Erfindung besteht darin, dass der Hauptrechner nicht zu wissen braucht, welche Befehle sicher sind und welche Befehle nichtsicher sind, bevor ein Konfigurationsverknüpfter Befehl zum Drucker gesandt wird. Ein anderer technischer Vorteil der vorliegenden Erfindung besteht darin, dass das Druckerdatenübertragungssystem den Hauptrechner in Kenntnis setzt, wenn er offline genommen werden sollte, bevor gewisse "nichtsichere" Konfigurationsverknüpfte Befehle akzeptiert werden.
  • Noch ein anderer technischer Vorteil der vorliegenden Erfindung besteht darin, dass Zeichenvorratsinformation vom Dru cker zu einem Hauptrechner geliefert wird. Ein anderer technischer Vorteil besteht darin, dass die Zeichenvorratsinformation und Fontinformation effizient vom Drucker zum Hauptrechner transferiert werden, ohne dass eine Vervielfältigung von Zeichenvorratsinformation erfordert wird.
  • Andere Merkmale und Vorteile der Erfindung können von den Zeichnungen und der ausführlichen Beschreibung der Erfindung, die folgt, bestimmt werden.
  • Für ein vollständigeres Verstehen der vorliegenden Erfindung und ihrer Vorteile wird nun Bezug auf die folgende Beschreibung genommen, die nur anhand eines Beispiels in Verbindung mit den begleitenden Zeichnungen gegeben wird, in der gleiche Bezugszeichen gleiche Merkmale anzeigen.
  • 1 ist eine teilweise schematische teilweise bildhafte Perspektivveranschaulichung eines Hauptrechners und eines Druckers in bidirektionaler Datenübertragung, wobei die vorliegende Erfindung verwirklicht wird;
  • 2 ist ein Blockdiagramm, das funktionale Komponenten des Druckers in 1 veranschaulicht;
  • 3 ist ein funktionales Blockdiagramm der Architektur von Kontroller 34 des Druckers in den 1 und 2;
  • 4 ist ein Flussdiagramm, das die Handhabung eines NPAP-Pakets von Information durch den Drucker 20 unter gewissen Bedingungen veranschaulicht;
  • 5 ist ein Flussdiagramm, das die Handhabung eines NPA-Befehls durch die NPAP-Task 54 und Fernmenüschnittstelle 68 veranschaulicht;
  • 6 ist ein Flussdiagramm, das den Prozess zum Fern-Offline-Nehmen eines Drucker veranschaulicht;
  • 7 ist ein funktionales Blockdiagramm, das die Übertragung von Font- und Zeichenvorratsinformation demonstriert, gemäß einem Aspekt der vorliegenden Erfindung;
  • 8 ist ein Flussdiagramm, das die Übertragung und Überwachung von Fonts und Zeichenvorräten durch den Drucker 20 veranschaulicht; und
  • 9 ist ein. Flussdiagramm, das den Prozess zum Übertragen von Zeichenvorratsinformation zum Hauptrechner 10 veranschaulicht.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung sind in den 19 veranschaulicht, wobei gleiche Bezugszeichen so verwendet werden, dass sie sich auf gleiche oder entsprechende Teile der verschiedenen Zeichnungen beziehen.
  • Mit Bezug auf 1 ist dort ein typischer Hauptrechner 10 mit einer Tastatur 12 und einem Bildschirm oder einer Anzeige 14, die ihm zugeordnet sind, dargestellt. Der Rechner 10 weist eine Zeigervorrichtung 16, wie z. B. eine Maus, einen Berührungsbildschirm, Trackball oder Joystick, die ihm zugeordnet sind, auf. Die Zeigervorrichtung 16 ermöglicht ein "Anklicken" oder sonstiges Anzeigen und Auswählen von Merkmalen, die auf der Anzeige 14 erscheinen. Der Hauptrechner 10 kann ein IBM-kompatibler Typ sein, der einen Intel-80X86-Mikroprozessor verwendet, wie z. B. einen 80486 oder Pentium.
  • Der Hauptrechner 10 umfasst typischerweise Komponenten, wie z. B. eine interne Festplatte oder einen anderen geeigneten Programmspeicher und ein oder mehrere Plattenlaufwerke 18, zum Heraufladen von Programmen und Daten. Der Rechner 10 kann auch andere Vorrichtungen umfassen, wie z. B. CD-ROM-Laufwerke, optische Laufwerke und andere Vorrichtungen, die im Stand der Technik bekannt sind. Der Rechner 10 umfasst eine ausreichende Menge von internem Speicher, wie z. B. Direktzugriffsspeicher (RAM) zur Unterstützung seines Betriebssystems, sowie alle Anwendungsdienstprogrammsoftware, von der man wünscht, dass sie auf dem Hauptrechner 10 läuft.
  • Der Hauptrechner 10 ist auch mit einem oder mehreren Druckern 20 verbunden, die entweder vor Ort, wie z. B. durch ein Kabel 22 zu einem Port auf dem Rechner 10, oder mittels eines lokalen Netzwerks (LAN) 24 durch eine geeignete im Handel erhältliche Netzwerkkarte, die in einem verfügbaren Erweite rungssteckplatz auf dem Hauptrechner 10 installiert ist, mit dem Hauptrechner 10 verbunden sind. Ein auf dem Netzwerk 24 installierter Drucker 20 ist durch Verwendung einer internen Netzwerkadapterkarte (INA) oder eines externen Netzwerkadapters (ENA) mit dem Netzwerk verbunden. Der Drucker 20 kann an einem Standort nahebei oder entfernt vom Rechner 10 körperlich angeordnet sein. Der Drucker 20 kann z. B. ein Optra-E-Laserdrucker sein, der ein Produkt von Lexmark International Inc. ist, aber zusätzliche Merkmale aufweist, wie unten weiter beschrieben wird.
  • Der Drucker 20 kann einen Ein/Aus-Schalter 28, Leuchtanzeigen 30, einen Offline/Online-Wählschalter 32 und andere Merkmale einschließen, wie man es auf einem Drucker erwarten kann. Es versteht sich jedoch, dass, während die vorliegende Erfindung so dargestellt ist, dass sie ein modifizierter Lexmark-Optra-E-Laserdrucker ist, sie mit jeglichem Typ von Drucker verwendet werden kann, einschließlich anderen elektrofotografischen Druckern, Tintenstrahldruckern, Nadeldruckern und anderen Typen.
  • Der Rechner 10 kann Softwareprogramme umfassen, die Aspekte der Erfindung nutzen, die im Drucker 20 einprogrammiert sind, wie unten weiter beschrieben wird. Durch das Programmieren des Rechners 10 ist eine bidirektionale Datenübertragung zwischen dem Hauptrechner 10 und dem Drucker 20 möglich.
  • Mit Bezug nun auf 2 ist ein Blockdiagramm dargestellt, das Aspekte der funktionalen Komponenten des Druckers 20 veranschaulicht. Der Drucker 20 enthält im Innern von sich, was als ein Druckerrechner oder -kontroller 34 mit einem Mikroprozessor 36 und einem Speicher 38 bezeichnet werden kann. Der Prozessor 36 und der Speicher 38 können unter Verwendung von Techniken, die im Stand der Technik bekannt sind, gekoppelt werden, so dass der Prozessor 36 auf programmierte Programmbefehle und Daten im Speicher 38 einwirken kann. Zusätzliche Befehle und Daten können durch den Drucker kontroller 34 durch einen Port 40 empfangen werden. Der Druckerkontroller 34 ist mit einer Druckmechanismus-Druckmaschine 42 gekoppelt. Der Druckmechanismus 42 kann sämtliche Vorrichtungen umfassen, die zum Empfang von Signalen benötigt werden, und durch solche Einrichtungen wie einen Laser genaue Information auf Papier drucken. Wenn der Druckermechanismus 42 eine Laservorrichtung ist, kann der Druckmechanismus 42 Vorrichtungen umfassen, um: Signale von dem Kontroller 34 zu empfangen, den Laserstrahl in Übereinstimmung mit den Signalen zu feuern und zu bewegen, die Bewegung von Papier zu steuern, das Papier zu sensibilisieren, so dass es Toner annimmt, der das Bild bildet, und das Bild auf das Papier aufzuschmelzen. Natürlich kann der Druckmechanismus 42 auch andere Technologien nutzen, wie z. B. einen Druckkopf, der mit einem Rasterdrucker verwendet wird, eine Druckpatrone zur Verwendung mit einem Tintenstrahldrucker, eine Trommel und Film, wie mit einem Farbstoffsublimationsfarbdrucker verwendet werden mag, einen Papierzug mit zweifarbigen Farbbändern, der mit einem Farbthermodrucker verwendet werden kann, oder andere Vorrichtungen, die im Stand der Technik bekannt sind.
  • Der Speicher 38 kann einen nichtflüchtigen Direktzugriffsspeicher (NVRAM) 44, Flash-Speicher 46 und andere Speicherbausteine 48 einschließen. Andere Speicherbausteine 48 können Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), eine programmierbare Kassette, eine Festplatte, Platten, zusätzlichen NVRAM oder eine andere Speichervorrichtung umfassen.
  • Der Kontroller 34 ist programmierbar, um den Drucker 20 mit gewissen Merkmalen zu versehen. Eines der Merkmale beinhaltet, wann und wie Defaultkonfigurationen im Drucker 20 eingestellt werden. Defaultkonfigurationseinstellungen umfassen typischerweise Sätze von Programmbefehlen zum Steuern von gewissen Parametern der Druckarbeitsvorgänge, die durch den Drucker ausgeführt werden, wie z. B. Fonts, Papiergrößen, Seitenbeschreibungssprachen, Beendigungsoptionen und Ablege fächer.
  • Der Druckerkontroller 34 ist so programmiert, dass Konfigurationsänderungen, die durch eine Anwendung angefordert werden, die auf dem Hauptrechner 10 läuft, wenn möglich sofort vorgenommen werden, statt dass die Anforderung für eine Konfigurationsänderung bloß in eine Warteschlange hinter anderen Druckjobs platziert wird. Folglich wird im Hinblick auf Ändern von Konfigurationen nur zugelassen, dass gewisse "sichere" Anforderungen zur Änderung der Konfiguration sofort vorgenommen werden. Der Begriff "sichere" Anforderungen bezieht sich auf diejenigen Anforderungen, die durch den Drucker 20 durchgeführt werden können, während der Drucker 20 einen Druckjob verarbeitet, und dadurch im Wesentlichen sofortige Änderungen in der Konfiguration des Druckers 20 bewerkstelligen, ohne dass das Verarbeiten des aktiven Druckjobs nachteilig beeinflusst wird. Andere Anforderungen, wie z. B. ein Ändern von Datenübertragungsraten erfordern, dass der Drucker 20 ferngesteuert offline genommen wird, bevor sie durchgeführt werden. Weiter sendet der Drucker 20 dem Hauptrechner 10 ein Prompt, wenn der Hauptrechner 10 den Drucker ferngesteuert offline nehmen muss, um eine "nichtsichere" Konfigurationsänderungsanforderung richtig zu verarbeiten.
  • Indem nun auf 3 Bezug genommen wird, ist der Kontroller auf Mikroprozessor-Basis 34 mit funktionalen Blöcken dargestellt. Der Kontroller 34 kann eine Anzahl von Tasks ausführen und eine Anzahl von gespeicherten Softwareprogrammen oder Code aufweisen, die durch unterschiedliche Tasks aufgerufen werden können, um Funktionen zur Unterstützung der Tasks auszuführen. Der Kontroller 34 kann die gewöhnlichen Druckerfunktionen, wie z. B. ein Interpretieren von Druckjobs, beeinflussen, die in einer oder mehreren Druckersteuersprachen mittels des Port 40 empfangen werden, der ein serieller Port, paralleler Port und/oder interner Netzwerkadapter (INA) sein kann, und die interpretierten Daten rasterisieren und serialisieren, um eine Druckmaschine oder Druckmechanismus 42 zu treiben, um eine gedruckte Darstellung der Druckdaten auf einer Seite zu bilden.
  • Der Druckerkontroller 34 kann mittels mindestens eines Datenübertragungskanals unter Verwendung des Netzwerkdruckerallianzprotokolls (im Folgenden "NPAP") bidirektional mit dem Hauptrechner 10 kommunizieren, das ein veröffentlichtes Protokoll vom Spezifikationsniveau 1, Revision N, mit Datum vom 11. Februar 1994 ist. Das NPAP ist in seiner Ganzheit für alle Zwecke ausdrücklich hierin durch Bezug aufgenommen. Dieser Datenübertragungskanal kann Port 40 oder LAN 24 sein (1). Der Port 40 kann einen Puffer aufweisen, der ihm zugeordnet ist. Eine Verbindung des Hauptrechners 10 mit dem Port 40 kann durch jegliche Technik, die im Stand der Technik bekannt ist, erfolgen, wie z. B. durch ein Datenübertragungskabel 22, das eine Standard-Parallelschnittstelle für einen IBM-kompatiblen Personalrechner gemäß IEEE 1284–1994 ist. Die Haupttask zum Handhaben der NPAP-normgerechten Datenübertragungen ist die NPAP-Task 54, die einen Puffer aufweisen kann, der ihr zugeordnet ist.
  • Die NPAP-Task 54 führt die Funktionen einer Handhabung von Befehlen und Daten im NPAP-Format aus. Die NPAP-Task 54 führt Druckerzustandsinformation zu jeglichen vor Ort angebrachten und/oder Netzwerk-angebrachten Hauptrechnern 10 zu und empfängt Anforderungen für eine solche Information von den Hauptrechnern 10. Die NPAP-Task 54 kann durch einen Zeitgeber periodisch aktiviert werden. Wenn sie aktiviert ist, ruft die NPAP-Task 54 einen Port-BIOS 56 vom Port 40 auf, um zu bestimmen, ob Daten am Port 40 empfangen worden sind. Wenn ein NPAP-Befehl oder Befehlserweiterung von dem Typ, der unten weiter beschrieben ist, empfangen ist, antwortet die NPAP-Task 54 entweder direkt durch den Port 40 oder nach Erhalt benötigter Information von einer anderen Funktion im Druckerkontroller 34.
  • Es ist möglich, die NPAP-Task 54 "aus" vorliegen zu haben, so dass durch den Port-BIOS 56 empfangene Druckdaten direkt zu einem Datenstrommanager 58 weitergereicht werden können. Wenn die NPAP-Task 54 "ein" ist, dann werden jedoch nur Daten im NPAP-Format – nach Entfernung von NPAP-Wrappern oder Paketierung – zum Datenstrommanager 58 durchgelassen. Information, die keine NPAP-paketierte Information ist, wird rückgewiesen. Die NPAP-Task 54 kann sich auch im "Auto"-Modus befinden, in dem Nicht-NPAP-Daten oder -Befehle zum Datenstrommanager 58 durchgelassen werden, als wenn das NPAP "aus" wäre, aber NPAP-paketierte Information durch die NPAP-Task 54 gehandhabt wird, wenn sie empfangen wird, als wenn die NPAP-Task 54 im "ein"-Zustand ist. Wie unten weiter beschrieben wird, betreffen viele von den Aspekten der Erfindung die Übertragung von Information mit der NPAP-Task 54, die beim Handhaben von Daten oder Befehlen hilft.
  • Der Druckerkontroller 34 umfasst eine Emulationsmanagertask 60 und Interpretierer 62. Wenn keiner von den Interpretierern oder Emulatoren 62 läuft, um Daten für eine anschließende Rasterisierung und Serialisierung im Drucker 20 bereitzustellen, sucht der Datenstrommanager 58 nach Druckdaten am Port 40, um sie zum geeigneten Interpretierer 62 zu lenken. In der Abwesenheit einer aktiven NPAP-Task 54 ruft der Emulationsmanager 60 Datenstrommanager 58-Funktionen auf, um Druckdaten vom Port-BIOS 56 zu einem Puffer zu übertragen. Wenn die NPAP-Task 54 für einen speziellen Port 40 "ein" ist, greift der Datenstrommanager 58 auf Daten von einem NPAP-Taskpuffer für diesen Port 40 zu. Der Emulationsmanager 60 und der Datenstrommanager 58 wirken zusammen, um jedem Druckjob, der am Port 40 empfangen wird, eine "Jobstruktur" zuzuordnen.
  • Die Jobstruktur ist eine jedem Druckjob zugeordnete Datendatei und wird eine Zeitlang im Speicher gehalten. Die Jobstruktur umfasst eine Identifizierungsnummer für den Druckjob, einen Bereich, um die Anzahl von Seiten zu registrieren, die gedruckt worden sind, und Information über Ruflösung und andere Spezifika. Wenn die Jobstruktur unvollständig ist, kann die Druckerdefaultkonfiguration für fehlende Daten konsultiert werden. Die Jobstrukturdaten können während des Druckprozesses modifiziert werden, um den Zustand des Job zu aktualisieren. Z. B., wenn jede zu bedruckende Seite durch eine Druckmaschinenhardware oder -mechanismus 42 aufbereitet wird, wird die Jobstruktur modifiziert, um deren Vervollständigung widerzuspiegeln.
  • Der Emulationsmanager 60 wirkt auch mit dem Datenstrommanager 58 zusammen, um jedem Druckjob zum geeigneten Interpretierer (z. B. einen PostScript®- oder PCL®-Interpretierer) zu routen. Der Datenstrommanager 58 reicht die Druckjobdaten in der geeigneten Sprache bis zum Ende des Jobs zu einem ausgewählten der Interpretierer 62 weiter, worauf der Datenstrommanager 58 einen Jobendezustand zum Interpretierer 62 abgibt. Wenn der Interpretierer 62 mit dem Druckjob fertig ist, zeigt er seinen Ruhezustand zum Emulationsmanager 60 an. Wenn jede Seite aufbereitet ist, wird die Seite zu einer Grafikmaschinensoftware und Druckmechanismushardware 42 für eine etwaige Rasterisierung der zu bedruckenden Seiten und eine Serialisierung der Bitmapinformation zum Druckmechanismus 42 abgegeben.
  • Ein NVRAM-Manager 64 (im Folgenden "NV-Manager") liefert eine Hochpegel-Schnittstelle durch den NVRAM-BIOS 66 zu einem nichtflüchtigen RAM (NVRAM) 44. Der NV-Manager 64 wird durch den Emulationsmanager 60 und die Interpretierer 62 beim Erzeugen von Jobstrukturinformationen verwendet, wo solche Information aus Werten hergeleitet wird, die im NVRAM 44 gespeichert sind. Die NPAP-Task 54 kann auch mit dem NV-Manager 64 durch den Fernmenümanager oder -schnittstelle (RMI) 68 kommunizieren, um NVRAM 44-Einstellungen zu lesen und zu schreiben. Auf diese Einstellungen kann unter gewissen Bedingungen sofort eingewirkt werden, wie z. B. wenn "sichere" Änderungsanforderungen verarbeitet worden sind.
  • Zustandsmanager 70 ist eine Task, die zuerst von zum Codekontroller 34 externen Ereignissen erfährt, die dem Drucker 20 zustoßen können. Der Zustandsmanager 70 bemerkt z. B., wenn die Druckerabdeckung geöffnet worden ist, und organisiert ein Bereitstellen dieser Information zurück zu Benutzern, wie z. B. NPAP-Task 54. Der Zustandsmanager 70 merkt gewisse Bedingungen aufgrund von Hardwareinterrupts zum Mikroprozessor des Druckers 20, während andere Zustandsinformation durch den Zustandsmanager 70 auf einer Pollingbasis überprüft wird. Druckerkonfigurationsänderungen und Vorrichtungszustandswarnmeldungen werden für eine Datenübertragung zum angebrachten Hauptrechner 10 unter Verwendung des NPAP vom Zustandsmanager 70 zur NPAP-Task 54 weitergereicht. Das NPAP wird unten in größerer Einzelheit beschrieben.
  • Das NPA-Protokoll (NPAP) ist ein Protokoll, das nicht nur spezielle NPAP-Befehle definiert, sondern das auch ermöglicht, dass andere Formen von Befehlen oder Daten paketiert werden, um zu ermöglichen, dass NPAP-Befehle (oder Erweiterungen) in den normalen Datenstrom, der mittels der Ports 52 übertragen wird, dazwischengeschrieben werden. Wenn sie aktiv ist, kann die NPAP-Task 54 NPAP-Befehle oder Befehlserweiterungen vom Datenstrom für ein spezielles Verarbeiten erkennen und einfangen, während ermöglicht wird, dass andere Information auf die normale Weise durch den Datenstrommanager 58 verarbeitet wird. Wie in 3 angezeigt, kann die NPAP-Task 54 mit dem NV-Manager 64 mittels der Fernmenüschnittstelle (RMI) 68 kommunizieren, um Daten von dem NVRAM 44 zu lesen oder zu ihm zu schreiben. Die NPAP-Task 54 kann auch auf gespeicherte Jobstrukturinformationen zugreifen und sie modifizieren.
  • Ein NPAP-Datenübertragungspaket ist ein strukturiertes Feld von digitaler Information. Ein NPAP-Paket umfasst ein Paketbeginn-Byte, ein Zwei-Byte-Längenfeld, ein Kennzeichnungsbyte und ein Befehlsbyte, gefolgt von einem Subbefehl und/oder Datenfeldern und zugehöriger Fehlerprüfung. Um eine Beschreibung hierin zu erleichtern, werden die Fehlerprüfungsbytes, die auf eine herkömmliche Weise an das Ende eines Pakets platziert werden können, weggelassen. Die Paketstruktur ist dann:
  • Figure 00160001
  • Die Einträge für die Felder sind Acht-Bit-Bytes, dargestellt in hexadezimaler (hex) Notation. So ist z. B. das "Paketbeginn"-Byte für ein NPAP-Paket hex A5 (dezimal 165).
  • Das Paketlängenfeld ist ein Zwei-Byte-Wort, das die Anzahl von Bytes im Paket anzeigt, wobei das Längenfeld selbst oder das Paketbeginn-Byte nicht eingeschlossen sind. Der NPAP-Defaultwert für eine maximale Paketgröße beträgt 64 Byte.
  • Hauptrechner 10-zu-Drucker 20-Pakete sind häufig kürzer, gewöhnlich sechs bis acht Bytes lang. Als Beispiel würde eine Paketlänge von sechs Bytes als 00 06 angezeigt werden. Das NPAP-Protokoll identifiziert einen Befehl, der dem Hauptrechner 10 ermöglicht, die maximale Paketlänge zu setzen, die der Hauptrechner 10 akzeptiert. Typischerweise wird, wenn der Hauptrechner 10 über ein Netzwerk, wie z. B. das LAN 24, kommuniziert, die 'Maximal-Empfangs-Paket'-Größe auf die Paketgröße des Datenübertragungsprotokolls gesetzt, das durch das Netzwerk verwendet wird. Wenn eine Antwort vom Drucker 20 länger als diese Paketgröße ist, spaltet die NPAP-Task 34 die Antwort in zwei oder mehr Pakete von akzeptabler Größe auf. Die NPAP-Task 54 zeigt an, dass das nächste Paket eine Fortsetzung des aktiven ist, indem das Bit 5 im Kennzeichnungsbyte des Pakets gesetzt wird.
  • Im Fall von Mitteilungen vom Hauptrechner 10 zum Drucker 20 besteht der Zweck des Kennzeichnungsbyte darin, um ein einzelnes Byte bereitzustellen, das der Drucker 20 prüfen kann, um Steuerinformation zu erhalten. Jedes Bit des Kennzeichnungsbyte kann so definiert sein, dass eine Bedeutung vorhanden ist, wenn das Bit gesetzt (logische Eins) oder gelöscht (logische Null) ist. Für gegenwärtige Zwecke sind die Bits Vier und Sechs von Interesse (wobei Bit Null das niedrigstwertige Bit und Bit Sieben das höchstwertige Bit ist). Bit Sechs zeigt, wenn es gesetzt ist, an, dass das Paket eine Mitteilung enthält, die durch die NPAP-Komponente des Druckerkontrollers 34 zu verarbeiten ist. Wenn Bit Sechs gelöscht ist, enthält das Paket Daten für einen Druckerinterpretierer. Bit Vier verlangt, wenn es gesetzt ist, nach einer Antwort vom Drucker 20. Wenn z. B. beide Bits, Vier und Sechs, gesetzt sind (und keine anderen Bits gesetzt sind), isst das Kennzeichnungsbyte hex 50.
  • Im Fall einer Datenübertragung vom Drucker 20 zu einem Hauptrechner 10 besteht der Zweck des Kennzeichnungsbyte darin, ein einzelnes Byte bereitzustellen, das der Hauptrechner 10 prüfen kann, um Steuerinformation für die Mitteilung und einen schnellen Überblick über den Zustand des Druckers 20 zu erhalten. Wie im Fall von Datenübertragungen von einem Hauptrechner 10 zum Drucker 20 enthält das Kennzeichnungsbyte einzeln definierte Bits. Von gegenwärtigem Interesse ist, dass Bit Sechs, wenn es gesetzt ist, anzeigt, dass die Mitteilung von der NPAP-Task 54 des Druckerkontrollers 34 ist. Bit Vier, wenn es gesetzt ist, bedeutet, dass die Erwiderung durch den Hauptrechner 10 erforderlich war (abgerufen über Kennzeichnungsbit Vier in der Mitteilung vom Hauptrechner). Die Bits Null und Eins werden in den Zustand gesetzt, in dem sich der Drucker 20 zu dem Zeitpunkt befindet, zu dem die Erwiderung vom Drucker 20 gesandt wird. Die Bedeutungen der Zustände von diesen Bits (Bit Eins-Bit Null) sind: 00 – Drucker 20 ist mit keinen Warnmeldungszuständen normal. betreibbar, 01 – Drucker ist betreibbar, aber es gibt einen Zustand, über den die Bedienperson gerne im Bilde sein mag (wie z. B. eine Warnmeldung 'Toner fast leer'), 10 – es. existiert ein Zustand, der ein weiteres Drucken verhindert, der durch die Bedienperson behoben werden kann, und 11 – es existiert ein Zustand, der ein weiteres Drucken verhindert und der nur durch einen Kundendienst/Reparaturbesuch behoben werden kann.
  • Indem man zum Format eines Hauptrechner 10-zu-Drucker 20-NPAP-Paket zurückkehrt, ist das fünfte Byte ein Befehlsbyte, dessen Bedeutung vom Zustand von Bit Sechs im Kennzeichnungsbyte abhängt. Wenn das Kennzeichnungsbit Sechs gesetzt ist, enthält das Befehlsbyte einen Befehl für die NPAP-Task 54 des Druckerkontrollers 34. Wenn das Kennzeichnungsbit Sechs gelöscht ist, enthält das Befehlsbyte eine Logikeinheitbezeichnung für den Druckerkontroller 34.
  • In Fall einer Drucker 20-zu-Hauptrechner 10-Erwiderungs-Mitteilung wird der ursprüngliche Befehl oder Logikeinheitidentifizierung der Hauptrechner 10-zu-Drucker 20-Mitteilung, die die Erwiderung hervorrief, rückgeführt. Wenn die Mitteilung vom Drucker 20 nicht abgerufen ist (Kennzeichnungsbit Vier gelöscht und Kennzeichnungsbit Sechs gesetzt) und das Befehlsbyte hex Fx ist (wobei x ein gültiges hexadezimales Zahlzeichen ist), dann repräsentiert das Paket eine Warnmeldung vom Typ hex Fx. Z. B. wird eine Vorrichtungszustandswarnmeldung (DSA) durch ein Befehlsbyte von hex FF angezeigt.
  • Für Pakete, die von einem Hauptrechner 10 ausgehen, weisen die Datenbytes im Anschluss an das Befehlsbyte eine Bedeutung auf, die vom Kennzeichnungsbit Sechs abhängt. Wenn Kennzeichnungsbit Sechs gesetzt ist, enthält das Datenfeld abhängig vom Befehl entweder Daten oder einen Befehlsmodifizierer für die NPAP-Task 54 des Druckerkontrollers 34. Wenn das Kennzeichnungsbit Sechs gelöscht ist, enthält das Datenfeld Daten für die Eingabewarteschlange einer logischen Einheit im Druckerkontroller 34.
  • Im Fall, dass NPAP-Pakete vom Drucker 20 ausgehen, wenn Kennzeichnungsbit Sechs gesetzt ist, enthält das Datenfeld Warnmeldungsdaten für ein Hex Fx-Befehlsbyte, oder das Paket enthält eine Fehlerinformation, oder das Datenfeld enthält eine Befehlsantwort, wie durch den Befehl verlangt, der in das Befehlsbyte rückgeführt ist (Kennzeichnungsbit Vier gesetzt). Wenn Kennzeichnungsbit Sechs gelöscht ist, enthält das Datenfeld eine Mitteilung von einer logischen Einheit im Kontroller 34 (wie z. B. einem Interpretierer 62), und Byte Fünf identifiziert die logische Einheit, von der die Mitteilung entspringt.
  • Das veröffentlichte NPA-Protokoll definiert eine Anzahl von Befehlen und Subbefehlen. Diese umfassen verschiedene Typen von "Warnmeldungen", die von einem Drucker 20 zu einem Hauptrechner 10 übertragen werden sollen. Diese sind nützlich zum Übermitteln von Standardfehlerzuständen oder Druckerzustandsänderungen. Das NPA-Protokoll sorgt auch für kundenspezifisch angepasste Befehle oder Erweiterungen. Die Verwendung der NPA-Befehle und -Subbefehle wird unten in Bezug zu einer Ausführungsform der vorliegenden Erfindung weiter erörtert.
  • Ein Aspekt der vorliegenden Erfindung umfasst, dass der Drucker 20 arbeiten kann, ohne dass er eine Fronttafel erfordert oder von einer Fronttafel abhängig ist. Dies ermöglicht, dass eine Bedienpersontafel 74, ein Tafek-BIOS 76 und ein Vor-Ort-Menümanager 78 (alle in 3 in gestrichelten Linien dargestellt) vom Druckerkontroller 34 beseitigt sind. Befehle und Funktionen, die durch sie durchgeführt werden, können nun durch Befehle vom Hauptrechner 10 gehandhabt werden, die unabhängig von den Vorrichtungen 74, 76 und 78 entwickelt und interpretiert werden.
  • 4 demonstriert, wie der Kontroller 34 NPAP-paketierte Information handhabt. NPAP-paketierte Daten oder Information werden bei Block 80 empfangen. Als Nächstes wird es bestimmt, ob die bei Block 80 empfangene Information einen NPAP-Befehl bildet, wie bei Fragebox 82 dargestellt. Wenn sie ein NPAP-Befehl ist, wird er sofort verarbeitet, wie bei Block 84 angezeigt. Wie der Befehl sofort verarbeitet wird, wird unten weiter beschrieben.
  • Wenn die Antwort auf Fragebox 82 verneinend ist, ist die NPAP-paketierte Information kein Befehl sondern Daten. Der Hauptrechner 10 kann selektiv eine 'Weise Paket zurück'-Option nutzen, die im Kontroller 34 einprogrammiert ist. Angenommen, dass die 'Weise Paket zurück'-Option ausgewählt ist und dass Fragebox 82 verneinend beantwortet worden ist, wird, wie durch Fragebox 86 widergespiegelt, im Hinblick darauf eine Bestimmung vorgenommen, ob der der NPAP-Task 54 zugeordnete Puffer ausreichend verfügbar ist, um die Daten zu empfangen, wodurch ein sofortiges Verarbeiten von jeglichen möglichen NPA-Befehlen, die im BIOS-Port-Puffer 56 warten, ermöglicht wird. Wenn ein angemessener Raum im Puffer der NPAP-Task 54 existiert, werden die Daten in den Puffer bewegt, wie bei Box 88 widergespiegelt. Wenn nicht, wird das Paket rückgewiesen, wie bei Box 90 dargestellt.
  • Angenommen, dass ein NPAP-Befehl gesandt worden ist, so dass wir zur Box 84 in 4 vorgerückt sind, wird ein akzeptabler Prozessfluss zum Handhaben des Befehls in 5 dargestellt. Beginnend bei Block 92 ist die erste Frage, die erreicht wird, ob der Befehl ein Fernmenüschnittstellen (RMI)-Befehl ist, wie durch Fragebox 94 widergespiegelt. Wenn er kein RMI-Befehl ist, wird der Befehl durch den regulären NPAP-Befehlsprozessor der NPAP-Task 54 gehandhabt, wie durch Box 96 widergespiegelt. Wenn der Befehl ein RMI-Befehl ist, wird bei Block 98 im Hinblick darauf eine Bestimmung vorgenommen, welcher Typ von RMI-Befehl er ist. Es gibt zwei grundlegende Typen von RMI-Befehlen, Befehle vom Lesetyp (auch als Befehle vom Holtyp bezeichnet) und Befehle vom Schreibtyp (auch als Befehle vom Setztyp bezeichnet). Ein Befehl vom Lesetyp beinhaltet nur Lesen von gespeicherter Information im Speicher 38 (typischerweise NVRAM 44), ohne sie zu modifizieren. Andererseits ändert ein RMI-Befehl vom Schreibtyp Konfigurationsdaten im Speicher 38, oder er schreibt neue dort hinein (typischerweise NVRAM 44). Befehle vom Schreibtyp können in zwei Gruppen eingeteilt werden: "sichere" Befehle und "nichtsichere" Befehle. Alle Befehle vom Lesetyp sind "sicher".
  • Ein "sicherer" Befehl ist einer, der durchgeführt werden kann, ohne dass der Drucker 20 offline genommen wird. Ein "nichtsicherer" Befehl ist einer, für den der Drucker 20 offline genommen werden sollte, bevor die betreffende Konfigurationsverknüpfte Variable geändert wird. Als ein Aspekt der vorliegenden Erfindung wird die Änderung einer Defaultkonfiguration im Speicher 38, wenn möglich, bei Empfangen eines geeigneten Befehls unmittelbar zustande gebracht. D. h., die Befehle sitzen nicht in einer Warteschlange, bis sie verarbeitet werden, sondern werden asynchron verarbeitet, wenn in der Lage. Es gibt jedoch Gelegenheiten, wenn dies nicht akzeptabel ist, weil eine Änderung der Defaultkonfiguration zum möglichen Schaden von Druckprojekten sein würde, die schon gehandhabt werden oder die sich in der Warteschlange befinden, um vor dem Projekt, für das die Änderung gewünscht wird, gehandhabt zu werden. Folglich muss im Hinblick darauf Acht gegeben werden, ob der Befehl sofort gehandhabt werden sollte. Z. B., wenn man einen seriellen Port verwendet, hat man eine gewisse Baudrate, die in der Konfigurationsinformation spezifiziert ist, und man wünscht nicht, diese Information zu ändern, während ein serieller Job heruntergesandt wird, weil es den aktiven Job durcheinanderbringen könnte. In dieser Situation ist es wünschenswert zu warten, bis der (die) Druckjob (s) vollständig ist (sind), bevor die Baudrate modifiziert wird. Folglich würde ein Befehl, der eine Änderung der Baudrate anfordert, durch den Kontroller 34 als ein nichtsicherer Befehl erkannt werden. In der bevorzugten Ausführungsform wird eine Mitteilung zurück zum Benutzer am Hauptrechner 10 gesandt, wobei angezeigt wird, dass der Drucker 20 offline genommen werden muss, damit ein solcher Befehl ausgeführt wird. Dieser Lösungsweg erfolgt aus einem Übermaß an Vorsicht und zur Effizienz beim Softwareprogrammieren. Alternativ ist es möglich, den Kontroller 34 so zu programmieren, dass der angeforderte nichtsichere Befehl im Speicher 38 gehalten wird, bis es akzeptabel ist, diesen Teil der Konfiguration zu ändern, nachdem der Druckjob vollständig ist.
  • Mit Bezug wieder auf 5, ist, wenn der Befehl ein RMI-Befehl vom Lesetyp ist, er nach Definition sicher, und deshalb wird er sofort akzeptiert und durchgeführt. Folglich rückt der Fluss zur Box 100 vor, wo der Befehl sofort verarbeitet wird. Das sofortige Verarbeiten, auf das bei Box 100 Bezug genommen wird, kann ein schnelles Lesen einer Variablen von einer Konfigurationsinformation, die im Speicher 38 gespeichert ist, und ihr Senden zu einem Benutzer am Hauptrechner 10 umfassen, wie durch Block 102 dargestellt.
  • Wenn die Antwort auf Fragebox 98 verneinend ist, ist es ein RMI-Befehl vom Schreibtyp, der zum Schaden von anderen Druckprojekten sein kann, wie oben beschrieben, und deshalb muss eine Erwägung in Hinsicht darauf angestellt werden, ob der Befehl eine "sichere" Option beinhaltet, wie durch eine Fragebox 104 nahegelegt. Wenn er eine "sichere" Option ist, rückt der Verarbeitungsfluss entlang einem Pfad 106 zur Box 100 für ein sofortiges Verarbeiten vor. In diesem Fall kann ein sofortiges Verarbeiten ein sofortiges Schreiben eines neuen Werts für eine Konfigurations-verknüpfte Variable in den Speicher 38 beinhalten. Später kann eine Antwort, die anzeigt, dass das Setzen der Variablen erfolgreich war, zum Hauptrechner 10 gesandt werden, wie durch Block 102 nahegelegt.
  • Wenn der RMI-Befehl keine sichere Option ist und der Drucker im Augenblick nicht offline ist, wird eine Mitteilung zum Hauptrechner 10 gesandt, dass der Drucker 20 ferngesteuert offline genommen werden sollte, wie durch Box 108 angezeigt. Der Programmierer der Anwendungssoftware im Rechner 10 kann wählen, dies auf eine Anzahl von unterschiedlichen Weisen zu handhaben. Der angeforderte Befehl, der nichtsicher war, kann im Speicher des Rechners 10 gespeichert werden, und es kann ein Befehl erzeugt und zum Drucker 20 rückgesandt werden, der anfordert, dass der Drucker 20 offline geht. Wie unten weiter beschrieben wird, sendet, sobald der Drucker 20 ansprechend auf einen solchen Befehl offline geht, er eine Notiz dieses Inhalts zurück zum Rechner 10, und das Anwendungsprogramm kann dann den nichtsicheren Befehl nochmals senden, den es im Speicher gehalten hatte.
  • Man beachte, dass. ein Befehl zum Offline-Gehen als Vorbereitung zum Senden von demjenigen gesandt werden kann, was als ein nichtsicherer Befehl bekannt ist, bevor der Prozess, der in 5 dargestellt ist, durchgeführt wird. Dies beseitigt die Notwendigkeit für den Prozess von 5, und der Druckerkontroller 34 verarbeitet sofort jegliche empfangenen RMI-Befehle, ungeachtet, ob die RMI-Befehle sicher oder nichtsicher sind. Der in 5 widergespiegelte Prozess gewährleistet jedoch, dass die Anwendungen auf dem Rechner 10 nicht wissen müssen, wenn ein Befehl sicher oder nichtsicher ist, da der Drucker 20 diese Bestimmung machen kann und eine geeignete Antwort zum Rechner 10 sendet, wenn der Drucker 20 offline gehen muss.
  • Als andere Alternative kann der Kontroller 34 so programmiert sein, dass er den nichtsicheren Befehl selbst behält, zum Verarbeiten, sobald der Drucker 20 offline genommen ist, und eine zum Hauptrechner 10 rückgesandte Antwort (man nehme Bezug auf Block 108) könnte den Benutzer des Hauptrechners 10 bloß informieren, dass es etwas Verzögerung beim Verarbeiten des Befehls geben wird. Weiter kann der Drucker 20 dann eine Warnmeldung zum Hauptrechner 10 senden (sofort nachdem der Drucker erfolgreich offline gegangen ist und den (die) nichtsicheren Befehl e) verarbeitet hat), um den Hauptrechner 10 zu informieren, dass seine Anforderung verarbeitet worden ist.
  • Unter der Annahme, dass die Software im Rechner 10 nun einen Befehl zum Drucker 20 gesandt hat, wobei ersucht wird, dass der Drucker 20 offline genommen wird, beginnt der Prozess bei Block 110 von 6. Vorrückend vom Startblock 110 wird der Fern-Offline-Befehl beim Drucker 20 empfangen, wie durch Block 112 angezeigt. Der Befehl wird durch die NPAP-Task 54 gehandhabt, die den Befehl zur Fernmenüschnittstelle 68 übermittelt (3). Die Fernmenüschnittstelle 68 sendet eine Mitteilung (gehe in Ruhezustand) oder Befehl zum Zustandsmanager 70, der zu der richtigen Zeit das Offline-Nehmen des Druckers 20 handhabt. Dieser Schritt wird bei Block 114 widergespiegelt. Bevor der Zustandsmanager 70 bewirken kann, dass der Drucker 20 in den Ruhezustand geht, muss der Emulationsmanager 60 im Ruhezustand sein.
  • Wie durch Block 116 angezeigt, sendet der Zustandsmanager 70 eine 'Gehe in Ruhezustand'-Anforderung zum Emulationsmanager 60. Bevor diese Anforderung akzeptiert werden kann, darf der Emulationsmanager 60 nicht beschäftigt sein. Der Zustand des Emulationsmanagers 60 wird bei Fragebox 118 erwogen. Wenn der Emulationsmanager 60 beschäftigt ist, informiert der Emulationsmanager 60 den Zustandsmanager 70, dass die 'Gehe in Ruhezustand'-Anforderung verweigert wurde, wie durch Block 120 angezeigt. Als Nächstes wartet der Zustandsmanager 70 darauf, dass der Emulationsmanager 60 eine Ruhezustandsmitteilung sendet, wie durch Block 122 widergespiegelt. Sobald eine solche Mitteilung empfangen ist, schreitet ein Prozess zurück zum Block 116 fort.
  • Wenn gefunden wird, dass der Emulationsmanager 60 nicht beschäftigt ist, schreitet der Prozess vom Frageblock 118 zum Block 124 fort. Bei Block 124 sendet der Emulationsmanager 60 eine Mitteilung zum Zustandsmanager 70, dass der Emulationsmanager 60 im Ruhezustand bleibt. Als Nächstes nimmt der Zustandsmanager 70 den Drucker 20 offline und sendet eine Mitteilung zur Fernmenüschnittstelle 68, dass der Drucker 20 offline ist, wie bei Block 126 widergespiegelt. An diesem Punkt kann die RMI 68 eine Fern-Offline-Warnmeldung zurück zum Hauptrechner 10 senden, wie durch Block 128 widergespiegelt, und folglich den Fern-Offline-Befehlsprozess vervollständigen, wie durch Block 130 widergespiegelt. An diesem Punkt kann der Rechner 10 den (die) nichtsicheren Befehl e) rücksenden. Nach Beendigung der Anforderung (d. h. sobald der Drucker geantwortet hat, dass die Anforderung erfolgreich verarbeitet worden ist) kann dann der Rechner 10 einen Befehl senden, um den Drucker zurück online zu nehmen.
  • Ein anderer Aspekt der vorliegende Erfindung beinhaltet eine effiziente Datenübertragung von Information vom Drucker 20 zum Rechner 10, insbesondere in Bezug zu Font- und Zeichenvorratsinformation. Mit Bezug nun auf 7 ist dargestellt, dass der Drucker 20 eine bidirektionale Datenübertragung mit dem Hauptrechner 10 aufweist, und es sind zusätzliche Einzelheiten des Hauptrechners 10 dargestellt, umfassend einen Mikroprozessor 134, Speicher 136 und Puffer 138. Der Kontroller 34 des Druckers 20 ist so programmiert, dass er Font- und Zeichenvorratsinformation zum Rechner 10 abgibt. Fontinformation ist durch ein erstes Fontinformationspaket 140, ein zweites Fontinformationspaket 142 und ein drittes Fontinformationspaket 144 im Speicher 136 gespeichert symbolisch dargestellt. Jegliche Anzahl von Fonts kann im Speicher 136 gespeichert sein; dies ist durch Font n 145 symbolisch dargestellt.
  • Der Drucker 20 ist auch so programmiert, dass er zu dem Hauptrechner 10 seine Zeichenvorräte übermittelt, die symbolisch so dargestellt sind, dass sie als ein erster Zeichenvorrat 146 und ein zweiter Zeichenvorrat 148 im Speicher 136 platziert worden sind. Jegliche Anzahl von Zeichenvorräten kann im Speicher 136 platziert sein, wie durch Zeichenvorrat m 149 symbolisch dargestellt ist.
  • Der Font 1 weist einen Zeichenvorratsschlüssel 150 auf. Das zweite Fontpaket 142 weist einen Zeichenvorratsschlüssel 152 auf, und ähnlich weist das dritte Fontpaket 144 einen Zeichenvorratsschlüssel 154 auf. Font n 145 weist seinen entsprechenden Zeichenvorratsschlüssel 155 auf. Auf eine organisierte Weise weist der Zeichenvorrat 146 einen Zeichenvorratsschlüssel 156 auf, und der zweite Zeichenvorrat 148 weist einen Zeichenvorratsschlüssel 158 auf. Der Zeichenvorrat m 149 weist seinen entsprechenden Zeichenvorratsschlüssel 159 auf. Indem man den Drucker 20 so programmiert, dass Information auf diese Weise gesandt wird, wird die bidirektionale Datenübertragung, die durch Pfeil 160 widergespiegelt wird, minimiert, weil die Fontinformationspakete 140, 142, 144 und 145 gesandt werden können, ohne dass erfordert wird, dass die entsprechende Zeichenvorratsinformation mit jedem Paket folgt. Vielmehr kann die Zeichenvorratsinformation einmal gesandt werden, wie durch Zeichenvorräte 146, 148 und 149 widergespiegelt. Sobald die Fontpakete 140, 142, 144 und 145 und die Zeichenvorräte 146, 148 und 149 im Speicher 136 sind, kann der Prozessor 134 die Schlüssel 150, 152, 154 und 155 mit den Schlüsseln 156, 158 und 159 vergleichen, um zu bestimmen, welche Zeichenvorräte mit welchen Fonts verwendet werden können. Durch diesen Prozess kann der Hauptrechner 10 eine Fontinformationstabelle oder Index erzeugen, die es ihm ermöglicht, zwecks Nutzung des Druckers 20 die Fontinformation und Zeichenvorratsinformation auf seinem Ende koordiniert aufzuweisen, und er kann dies mit einem minimalen Betrag an Datenübertragung 160 zustande bringen.
  • Mit Bezug nun auf 8 startet ein Prozessfluss bei Block 162, der widerspiegelt, wie der Drucker 20 den Hauptrechner 10 asynchron von Font- und/oder Zeichenvorratsänderungen informiert. Wie bei Block 163 angezeigt, wird der Drucker 20 zuerst auf eine Weise initialisiert, die die Fonts und Zeichenvorräte sammelt, die im Drucker 20 resident sind. Die im Drucker 20 gespeicherten Fonts und Zeichenvorräte werden gesammelt, wenn der Initialisierungsprozess auf jegliche gespeicherten Fonts oder Zeichenvorräte im Speicher 38 hin überprüft. Nachdem der Drucker initialisiert ist, fordert der Hauptrechner typischerweise an einem gewissen Punkt den Drucker auf, die Fonts und Zeichenvorräte, wie bei Block 164 widergespiegelt, zu senden. An diesem Punkt werden die Fonts und Zeichenvorräte vom Drucker 20 zum Hauptrechner 10 gesandt.
  • Wie durch Fragebox 166 und Schleifendurchlaufspfad 168 von 8 widergespiegelt, bestimmt ein Teil der im Speicher 38 des Druckerkontrollers 34 programmierten Software, wenn irgendwelche Änderungen an irgendwelchen von den Font- oder Zeichenvorräten, die im Drucker 20 resident sind, gemacht worden sind. Sobald im Drucker 20 eine Änderung an einem Font- oder Zeichenvorrat gemacht worden ist, wird eine Warnmeldungsmitteilung zum Hauptrechner 10 gesandt, wie durch Block 170 angezeigt. Sobald die Warnmeldung durch den Hauptrechner 10 empfangen ist, kann durch den Rechner 10 eine Anforderung für die zusätzlichen Änderungen zum Drucker 20 gesandt werden, und die entsprechende Information kann gesandt werden.
  • Mit Bezug nun auf 9 sind zusätzliche Einzelheiten dargestellt, wie die Zeichenvorräte vom Drucker 20 zum Hauptrechner 10 übertragen werden, wobei ein Flussdiagramm bei Startblock 174 anfängt. Der erste Schritt beinhaltet ein Initialisieren des ersten Elements in der Zeichenvorratsverbindungsliste, wie durch Box 176 widergespiegelt. Dann werden der Zeichenvorrat ID und das Zeichenkomplement von dem Zeichenvorrat in einen Puffer geladen, wie bei Box 178 widergespiegelt. Dann wird das nächste Element in der Verbindungsliste erwogen, wie durch Box 180 widergespiegelt. Dieser Prozess setzt sich fort, wie durch Box 182 und Pfad 184 widergespiegelt, bis das letzte Element erreicht wird, was den Prozess beendet, wie durch Box 186 widergespiegelt. Sobald sämtliche dieser Zeichenvorratsinformation im Puffer gesammelt ist, kann sie dann vom Drucker 20 zum Hauptrechner 10 unter Verwendung des "Zeichenvorratsliste"-Befehls, der unten beschrieben ist, gesandt werden.
  • Auf einem ausführlicheren Niveau eines Implementierens von Aspekten der Erfindung, die oben erörtert sind, kann die Fernmenüschnittstelle 68 unter Verwendung von Standard-NPA-Befehlen und einigen Nicht-Standard-Befehlen (Erweiterungen) konstruiert sein. Diese Nicht-Standard-Befehle und einige von den Standard-Befehlen werden unten erörtert.
  • Die durch die RMI 68 verarbeiteten Befehle können verwendet werden, um Variablen im Speicher 38 zu setzen, einschließlich denen, die nicht im NVRAM 44 sind. Beispielsweise sind Variablen, die nicht im NVRAM gespeichert sind, z. B. Zeilen-pro-Seite, auch durch Befehle zugänglich, die zuvor nur auf NVRAM-Variablen angewandt wurden. Weiter kann der 'Setze-Variablen-mit-Überprüfung'-Befehl mehr tun, als Werte zu ändern, die im NVRAM 44 gespeichert sind; wenn geeignet, können andere Variablen und Konfigurationen auch geändert werden. Z. B., wenn der Befehl ausgegeben wird, um die x-Auflösung auf 600 zu setzen, dann kann die y-Auflösung im Drucker 20 automatisch auch auf 600 gesetzt werden. Ein anderes Beispiel würde sein, dass ein Befehl zur Änderung des parallelen Protokolls von Standard zu Fastbytes die NVRAM-Variable nicht nur aktualisieren würde, sondern auch die notwendigen BIOS-Aufrufe zur unmittelbaren Änderung des Protokolls machen würde.
  • Um die Variablen im Drucker 20 zu lesen, sind die Erweiterungen zu den NPA-Befehlen, die in Tabelle 1 dargelegt sind, geeignet.
  • Figure 00290001
  • Tabellenbemerkung: Die Größe der Antwon hängt von der speziellen Variablen ab. Variablen variieren an Größe von 1 Byte bis zu33 Bytes. Ferner, da einige Variablen Emulatoren eigentümlich sind (PS, PCL usw.), kann das Datenformat von diesen Variablen unterschiedlich sein.
  • TABELLE 1: 'Lies Variablen'-Hauptrechnerbefehl und -Druckerantwort
  • Um die Befehle zu implementieren, muss eine eindeutige NPA-Identifizierung für jede Variable existieren, wie z. B. diejenigen, die in Tabelle 2 dargestellt sind.
  • Figure 00290002
  • TABELLE 2: NPA-Identifizierungen
  • Um die Variablen zu setzen, wobei andere automatische Konfigurationsänderungen nach Bedarf vorgenommen werden, wie oben beschrieben, erwäge man die folgende Erweiterung und Antwort, die in Tabelle 3 dargestellt sind:
  • Figure 00300001
  • Tabellenbemerkungen: – Der Befehl wird rückgewiesen, wenn die Option ID nicht gefunden wird.
    – Eine Datenüberprüfung wird ausgeführt, die Setze-Operation wird nicht ausgeführt, wenn die Datenüberprüfung fehlschlägt.
    – Wenn das Setzen der Variablen als "verzögert' klassifiziert wurde, dann wird die Variable nicht geändert, bis der Drucker den Fern-Offline-Befehl empfängt und verarbeitet.
  • Tabelle 3: 'Setze Variablen mit Überprüfung'-Hauptrecherbefehl und -Druckerantwort
  • Wie in Tabelle 3 dargestellt, enthält das Format der Druckerantwort für diesen Befehl ein Rückmeldungsbyte, das anzeigt, ob das Schreiben erfolgreich war oder nicht. Wie durch die zweitletzte Zeile in der obigen Tabelle widergespiegelt, zeigt eine Rückmeldung von "0" an, dass ein Fehler auftrat. Ein Rückmeldung von "1" zeigt an, dass das Schreiben erfolgreich war. Eine Rückmeldung von "2" zeigt an, dass das Schreiben nicht auftreten kann, bis der Benutzer den Drucker 20 offline genommen hat, indem er einen "Fern-Online-Offline"-Befehl ausgibt. Im Anschluss an diese Rückmeldung erfolgt eine Feststellung der Option, die gesetzt wird. Wenn das Setzen erfolgreich war, dann sollte dies dem Wert entsprechen, der durch den Benutzer im "Setze"-Befehl gesandt wurde. Sonst ist dieser Wert der alte oder ungeänderte Wert der Option.
  • Wie zuvor angemerkt, muss, um eine nichtsichere Option zu ändern, ein Befehl ausgegeben werden, um den Drucker ferngesteuert offline zu nehmen, und wobei folglich der "Fern-Online-Offline"-Befehl veranlasst wird. Wie zuvor erörtert, kann ein "nichtsicherer" Befehl solche Dinge umfassen, wie Setzen der Verbindungsprotokollsoptionen (Baudrate, Fastbytes ein/aus) oder Befehle, die den BIOS beeinflussen, wie z. B. Druckkontrast. Wenn der Benutzer versucht, eine von diesen "nichtsicheren" Optionen zu ändern, bevor der Drucker ferngesteuert offline genommen wird, umfasst die Antwort des Druckers auf den Setzebefehl eine Rückmeldung von "2", wobei angezeigt wird, dass die Option nicht geändert werden kann, bis der Benutzer den Drucker ferngesteuert offline nimmt. Der NPA-Befehl zum Fern-Offline-Nehmen des Druckers kann wie in Tabelle 4 dargestellt sein:
  • Figure 00320001
  • Tabellenbemerkung: Wenn die Anforderung rückgewiesen wird, dann hat schon ein anderer Hauptrechner angefordert, dass der Drucker offline geht. Wenn ein angefordertes Offline akzeptiert wird, dann geht der Drucker offline, so bald wie der Drucker keinerlei Druckjobs mehr zu verarbeiten hat. Das maximale Warten auf den Hauptrechner ist undefiniert. Sobald der Drucker offline gegangen ist, wird eine Warnmeldung zu registrierten Hauptrechnern gesandt.
  • TABELLE 4: 'Fern-ONLINE-OFFLINE'-Hauptrechnerbefehl und -Druckerantwort
  • Es wird erwartet, dass der Benutzer am Rechner 10 den Drucker ferngesteuert zurück online nimmt, nachdem unter Verwendung des oben beschriebenen "Fern-Online-Offline"-Befehls die gewünschten Optionen gesetzt worden sind. Jedoch, um die Situation zu vermeiden, wo der Drucker 20 durch einen Benutzer zum Hängenbleiben gebracht sein könnte, der den Drucker ferngesteuert offline nimmt und ihn nicht zurück online bringt, ist der Druckerkontroller 34 des Druckers 20 so programmiert, dass er nach einer speziellen Pausenperiode automatisch zurück online geht. Der Benutzer kann die Länge dieser Pausenperiode im Pausenbyte spezifizieren, das Teil des Fern-Offline-Befehls ist. Der gültige Bereich von Werten für die Pausen ist vorzugsweise von einer Minute bis zu 60 Minuten. Die Pause wird gesetzt, sobald der Drucker 20 tatsächlich offline geht. Wenn die Fernmenüschnittstelle 68 verwendet wird, um den Drucker 20 offline zu nehmen, können die Tafelanzeigen 30 (1) die Änderung anzeigen. Eine andere Option, um den Drucker 20 zurück online zu bringen, dient dazu, dass die geeignete Taste, z. B. Taste 32, an diesem Punkt gepresst wird. Ähnlich kann auch eine Fronttafelrücksetzung verwendet werden, um ihn zurück online zu bringen.
  • Ein Fern-Offline-Befehl wird nicht durchgeführt, bis der Drucker 20 in den Ruhezustand geht, und so kann ein Offline-Befehl anhängig sein. Wenn ein Fern-Offline-Befehl zum Drucker 20 gesandt wird, aber eine andere Fern-Offline-Anforderung anhängig ist, wird der zweite Befehl rückgewiesen. Dies stellt sicher, dass nur ein am Drucker 20 angebrachter Hauptrechner 10 zu jedem gegebenen Zeitpunkt Konfigurationsänderungen vornehmen kann. Wenn eine Anforderung eines Hauptrechners, den Drucker ferngesteuert offline zu nehmen, rückgewiesen wird, dann wartet der Hauptrechner, bis der Drucker anzeigt, dass er zurück online ist (über eine "Online-Offline-Warnmeldung"), bevor versucht wird, die Anforderung nochmals zu senden.
  • Wenn der Hauptrechner 10 angefordert hat, dass der Drucker 20 offline geht, muss der Drucker 20 zurück zum Rechner 10 eine Mitteilung machen, wenn er erfolgreich offline gegangen ist, und zu der geeigneten Zeit ist es auch notwendig, eine Mitteilung zu machen, wenn er zurück online gegangen ist. Die Fern-Online-Offline-Warnmeldung wird für diesen Zweck verwendet; ein Beispiel für diese Warnmeldung ist in Tabelle 5 dargestellt.
  • Figure 00340001
  • TABELLE 5: 'Fern-ONLINE-OFFLINE'-Warnmeldung
  • Dies erfordert, dass der Hauptrechner 10 zuerst die Erweiterungswarnmeldungen registriert, wie unten beschrieben wird.
  • Die Befehle, die verwendet werden können, um eine Ausführungsform der vorliegenden Erfindung zu implementieren, die die Übertragung von Zeichenvorräten und Fonts vom Drucker 20 zum Hauptrechner 10 beinhaltet, werden nun erörtert. Ein Befehl, der dies erleichtert, ist der Zeichenvorratslistenbefehl. Dieser Befehl führt eine Liste von allen bekannten Zeichenvorräten zurück, die im Augenblick im Drucker 20 verfügbar sind. Für jeden Zeichenvorrat kann der Drucker eine Antwort liefern, wobei die Zeichenvorratsidentifizierung und ein 8-Byte-Zeichenkomplement angegeben werden. Der Benutzer kann dann dieses Zeichenvorrats-Zeichenkomplement nehmen und es mit dem Zeichenkomplement von jeglichem Font logisch mit UND verknüpfen, d. h. verwenden, was symbolisch als die Schlüssel 150159 in 7 bezeichnet wurde, um eine Fonttabelle oder einen Index von Fonts und Zeichenvorräten im Rechner 10 zu konstruieren. Unter Verwendung von einem speziellen Logik-UND-Lösungsweg, zeigt dies, wenn das UND-Verknüpfungsergebnis "0" ist, dann an, dass der Font den Zeichenvorrat unterstützt. Der NPA-Befehl zum Holen der Zeichenvorräte kann wie in Tabelle 6 dargestellt sein.
  • Figure 00350001
  • TABELLE 6: 'Zeichenvorratsliste'-Hauptrechnerbefehl und -Druckerantwort
  • Zusätzlich zur Zeichenvorratsinformation wird die Fontinformation durch den Rechner 10 benötigt. Der 'Hole aktive Font-Information'-Befehl, der in der Tabelle 7 unten dargestellt ist, führt vier Items von Information zurück, die den aktiven Defaultfont eindeutig identifizieren: Fontquelle, Fontposition, Zeichenvorratsidentifizierung und Punkt oder Teilung. Betreffend diesen letzten Item von Information wird der Punktwert rückgeführt, wenn ein Font eine Proportional-Raster- oder Proportional-Vektorschrift ist, und der Teilungswert wird rückgeführt, wenn der Font eine Fest-Raster- oder Konstant-Vektorschrift ist.
  • Figure 00360001
  • TABELLE 7: 'Hole aktive Fontinformation'-Hauptrechnerbefehl und -Druckerantwort
  • Es ist auch wünschenswert, den aktiven Defaultfont unter Verwendung der Fontquelle, Fontposition, Zeichenvorratsidentifizierung und Punkt oder Teilung setzen zu können, wie oben beschrieben. Der Drucker 20 kann mit einer Rückmeldung antworten. Wenn irgendeiner der vier Parameter zum eindeutigen Identifizieren des Font ungültig ist, wenn er zum Drucker 20 gesandt wird, oder der gegebene Zeichenvorrat durch den gegebenen Font nicht unterstützt wird, dann zeigt die Rückmeldung vom Drucker 20 zum Rechner 10 an, dass ein Problem existiert, und es wird keine Änderung an den Druckeroptionen vorgenommen. Die Antwort zurück zum Rechner 10 kann "ungültige Quelle oder Position", "ungültiges SSID" oder "ungültiger Punkt oder Teilung" einschließen. Eine geeignete NPA-Erweiterung ist in Tabelle 8 dargestellt:
  • Figure 00370001
  • TABELLE 8: 'Setre aktive Fontinformation'-Hauptrechnerbefehl und -Druckerantwort
  • Warnmeldungen können verwendet werden, um den Hauptrechner 10 zu informieren, wenn der Drucker 20 ferngesteuert offline oder online geht und wenn Fonts oder Zeichenvorräte zu dem Speicher 38 hinzugefügt oder aus ihm gelöscht werden. Um diese Warnmeldungen zu verwenden, muss der Hauptrechner 10 zuerst die Erweiterungswarnmeldungen registrieren, wie unten beschrieben. Eine Technik, um dies zustande zu bringen, besteht darin, Bit 6 (Fern-Online-Offline-Warnmeldung) und Bit 1 (Flash/Platten- oder Speicherwarnmeldung) des Bitkodierten Byte dieses Befehlsvorrats zu verwenden. Bit 6 kann dem Drucker 20 bekanntmachen, Warnmeldungen zu senden, die anzeigen, wenn er beim Fern-Offline-Online-Nehmen des Druckers erfolgreich war. Bit 1 kann dem Drucker 20 bekanntmachen, Warnmeldungen immer dann zu senden, wenn sich der Zustand des Flash 46 und/oder Platte 48 ändert. Z. B. kann die Änderung die Löschung oder das Kopieren eines Font- oder Zeichenvorrats umfassen. In dieser Hinsicht erwäge man den folgenden Befehl, der in Tabelle 9 dargelegt ist:
  • Figure 00380001
  • Tabellenbemerkung: Ein Bitwert von 1 aktiviert eine Warnmeldung, ein Wert von 0 deaktiviert eine Warnmeldung
  • TABELLE 9: 'Registriere für Erweiterungswarnmeldungen'-Hauptrechnerbefehl und -Druckerantwort
  • Wenn eine durch den Drucker 20 zum Hauptrechner 10 gesandte Vorrichtungswarnmeldung anzeigt, dass Fonts und/oder Zeichenvorräte vom Speicher 38 gelöscht worden sind oder zu ihm kopiert worden sind, dann antwortet der Hauptrechner 10 durch Aktualisieren der dynamischen Fontinformationstabelle mit der aktiven Drucker-Font/Zeichenvorratsinformation.
  • Eine Anwendung auf Grundlage des Hauptrechners 10 kann einen Echtzeitzugriff auf eine verhältnismäßig große Menge von Information erfordern, die den verfügbaren Fonts und Zeichenvorräten auf dem Drucker 20 zugeordnet sind, um Listen anzuzeigen. Beispielsweise kann für eine gegebene Fontquelle die Hauptrechner-basierte Anwendung wünschen, eine Liste von sämtlichen verfügbaren Fonts namenweise anzuzeigen, und für einen gegebenen Font kann die Anwendung wünschen, eine Liste von sämtlichen rechtmäßigen Zeichenvorräten anzuzeigen. Mit einer verhältnismäßig langsamen Übertragungsrate von Druckerzu-Hauptrechner-Daten (über IEEE-1284-Nibble-Modus-Quittungsaustausch oder dergleichen) könnte die Übertragung eine unakzeptable Menge an Zeit brauchen. Die Fernmenüschnittstelle 68 bietet Befehle an, die effizient kollektive Font- und Zeichenvorratsinformation liefern, die eine Hauptrechner-basierte Anwendung benötigen mag, um solche Listen aufzubauen.
  • Die Übertragung von Fontinformation beinhaltet typischerweise den Standard-NPA-Befehl: "Anforderungen von Interpretierermerkmalen – Fonteinzelheiten". Dieser Befehl führt eine Liste von sämtlichen verfügbaren permanenten Fonts, die dem gegebenen Interpretierer oder Emulator zugeordnet sind, z. B. PCL, und eine gegebene Fontquelle zurück. Die Liste umfasst sämtliche Einzelheiten, die jedem Font zugeordnet sind, mit der Ausnahme der gültigen Zeichenvorräte für jeden Font. Als Nächstes kann der Zeichenvorratslistenbefehl verwendet werden, um sämtliche permanente Zeichenvorräte, die im Augenblick im Drucker aktiv sind, rückzuführen. Die Zeichenvorratsliste enthält eine Zeichenkomplementdarstellung für jeden Zeichenvorrat, d. h., was symbolisch durch die Schlüssel 156, 158 und 159 in 7 dargestellt war. Sobald die Hauptrechner-basierte Anwendung diese zwei Listen aufweist, kann sie bestimmen, welche Zeichenvorräte für welche Fonts gültig sind, indem die Zeichenkomplementdarstellung eines gegebenen Font, d. h. die Schlüssel 150 bis 155 von 7, mit der Zeichenkomplementdarstellung eines gegebenen Zeichenvorrats, d. h. die Schlüssel 156 bis 159 von 7, logisch mit UND verknüpft werden. Z. B., wenn ein logisches mit UND Verknüpfen der zwei Zeichenkomplemente zu Null führt, dann ist der gegebene Zeichenvorrat für diesen Font gültig.
  • Weil Fonts und Zeichenvorräte jederzeit zum Drucker 20 hinzugefügt oder von ihm gelöscht werden können, muss der Drucker 20 den Hauptrechner 10 asynchron informieren können, dass eine solche Änderung stattfindet. Dies ermöglicht, dass die Hauptrechner-basierte Anwendung ihre eigenen dynamischen Fontinformationstabellen auf eine effiziente Weise aufrechterhält, die nur eine minimale Anzahl von Abfragen zum Drucker 20 erfordert, um kollektive Font- und Zeichenvorratsdaten zu erhalten. Die Hauptrechner-basierte Anwendung auf dem Rechner 10 kann die permanente Font- oder Zeichenvorratsaktivität im Speicher 38 des Druckers 20 überwachen. Um diese Information zu überwachen, kann die Hauptrechner-basierte Anwendung zuerst den Befehl zum Registrieren von Erweiterungswarnmeldungen senden. Dieser Befehl ermöglicht, dass der Drucker 20 Vorrichtungswarnmeldungen immer dann sendet, wenn Fonts und/oder Zeichenvorräte zum Flash 46 oder Platten 48 von Speicher 38 hinzugefügt oder von ihnen gelöscht werden. Als Nächstes, wenn der Drucker 20 eine Vorrichtungswarnmeldung sendet, sollte der Hauptrechner 10 bestimmen, wenn die Warnmeldung eine Löschung oder ein Kopieren eines Font- oder Zeichenvorrats bedeutet. Wenn eines von beiden zutrifft, dann ist die Hauptrechner-basierte dynamische Fontinformationstabelle nun überholt, verglichen mit der Information, die im Drucker 20 resident ist. Alternativ kann dies unter Verwendung von existierenden NPA-Befehlen für den RAM zustande gebracht werden, wie unmittelbar unten erörtert wird.
  • Um die permanente Font- oder Zeichenvorratsaktivität im RAM zu überwachen, kann die Hauptrechner-basierte Anwendung einen 'Drucker-Konfigurations-Steuer-Auswahl-Vorrichtungs-Zustands-Warnmeldungen'-Befehl senden, wobei das Konfigurationsänderungsbit gesetzt ist, um den Drucker 20 in den Stand zu setzen, Vorrichtungszustandswarnmeldungen zu jedem Zeitpunkt zu senden, in dem permanente Fonts oder Zeichenvorräte zum Druckerspeicher 38 heruntergeladen oder von ihm entfernt werden. Wenn der Drucker 20 eine Vorrichtungszustandswarnmeldung sendet, sollte der Hauptrechner 10 bestimmen, wenn das Konfigurationsänderungsbit in dem dritten Bit-kodierten Byte der Warnmeldung gesetzt ist. Wenn dieses Bit gesetzt ist, sollte der Rechner 10 dann einen 'Anforderung-Vorrichtungs-Zustands-Konfigurations-Änderungs'-Befehl ausgegeben. Der Drucker 20 kann auf diesen Befehl antworten, indem er die Beschaffenheit der Konfigurationsänderung anzeigt.
  • Wenn eine Antwort durch den Drucker 20 anzeigt, dass ein permanenter Font- oder Zeichenvorrat zum Druckerspeicher 38 heruntergeladen oder von ihm entfernt worden ist, dann spiegelt die Hauptrechner-basierte dynamische Fontinformationstabelle nicht länger die Fontinformation im Drucker 20 wider. Deshalb kann es wünschenswert sein, die geeigneten Tabellen zu aktualisieren, indem der "Fordere Interpretierermerkmale – Fonteinzelheiten an"-Befehl für heruntergeladene Fonts ausgegeben wird, sowie der "Zeichenvorratsliste"-Befehl.
  • Einzelne Fonteinzelheiten können durch den 'Lies Variablen'-Befehl erhalten werden. Dieser Befehl ermöglicht, dass man die Fontvariableninformation, jeweils eine Variable auf einmal, holt. Jedoch ist es, wenn man den aktiven Defaultfont holt, vorzuziehen, sämtliche wesentlichen Einzelheiten zu holen, die den Font zu einem Zeitpunkt eindeutig identifizieren. Der "Hole aktive Fontinformation"-Befehl führt die aktive Fontquelle, Fontposition, Zeichenvorrat und Punkt oder Teilung zurück. Die Hauptrechner-basierte Anwendung kann dann bestimmen, ob der vierte Parameter Teilung oder Punkt ist, indem die Fontinformationstabelle analysiert wird, die sie bewahrt. Wenn die rückgeführte Information keinen Font in der Hauptrechner-basierten Fontinformationstabelle identifiziert, dann muss die Hauptrechner-basierte Anwendung ihre Tabelle aktualisieren.
  • Einzelne Fonteinzelheiten können leicht aktualisiert werden, indem der "Setze Variablen mit Überprüfung"-Befehl verwendet wird. Dieser Befehl ermöglicht, dass die einzelnen Fonteinzelheiten gesetzt werden, jeweils eine Variable auf einmal. Jedoch wird ein Aktualisieren oder Setzen des aktiven Font im Drucker 20 vorzugsweise mit dem Befehl "Setze aktive Fontinformation" zustande gebracht, der die angeforderte Fontquelle, Fontposition, Zeichenvorrat und Teilung oder Punkt in einem Befehl erfordert. Wenn der Drucker 20 diesen Befehl empfängt, überprüft er zuerst, um zu sehen, wenn er eine gültige Kombination der Fonteinzelheiten ist. Wenn er keine gültige Kombination ist, ändert der Drucker 20 den aktiven Font nicht, und führt als Antwort einen Code zurück, der anzeigt, warum diese Kombination nicht gültig ist. Wenn er gültig ist, ändert der Drucker 20 die aktive Fontinformation und antwortet mit einer "OK"-Rückmeldung.
  • Obwohl die vorliegende Erfindung mit Bezug auf bevorzugte Ausführungsformen in Einzelheit beschrieben worden ist, sollte es ersichtlich sein, dass verschiedene Änderungen, Substitutionen und Umänderungen daran vorgenommen werden können, ohne dass man vom Bereich der Erfindung, wie durch die folgenden Ansprüche definiert, abweicht.

Claims (23)

  1. Drucker (20), umfassend: einen Druckerkontroller (34) mit einem Speicher (38) zum Speichern einer Mehrzahl von Druckerkonfigurationseinstellungen und einem Prozessor (36); und einen mit dem Druckerkontroller (34) gekoppelten Port (40), der Signale von einem Hauptrechner (10) empfängt, dadurch gekennzeichnet, dass der Druckerkontroller (34) Konfigurationsänderungsinformation über den Port (40) empfängt und die Konfigurationsänderungsinformation verarbeitet, um eine Aktualisierung von einer oder mehreren der Mehrzahl von Druckerkonfigurationseinstellungen unter Verwendung der Konfigurationsänderungsinformation zu bewerkstelligen, während der Drucker (20) einen aktiven Druckjob verarbeitet, wenn die Aktualisierung das Verarbeiten des aktiven Druckjobs nicht nachteilig beeinflusst.
  2. Drucker nach Anspruch 1, bei dem der Druckerprozessor (36) die Konfigurationsänderungsinformation verarbeitet, um eine im Wesentlichen sofortige Aktualisierung der einen oder mehreren der Mehrzahl von Druckerkonfigurationseinstellungen unter Verwendung der Konfigurationsänderungsinformation zu bewerkstelligen.
  3. Drucker nach Anspruch 2, bei dem der Druckerprozessor (36) weiter den Hauptrechner (10) informiert, wenn die Änderungen vorgenommen worden sind.
  4. Drucker nach Anspruch 1, 2 oder 3, bei dem nach Aktualisieren der Druckerkonfigurationseinstellungen der Prozessor (36) weiter die mit den aktualisierten Einstellungen verbundene Druckerkonfigurationsumgebung aktualisiert, während der Drucker (20) den aktiven Druckjob verarbeitet.
  5. Drucker nach einem vorangehenden Anspruch, bei dem der Druckerkontroller (34) weiter programmiert ist, um den Hauptrechner (10) zu benachrichtigen, wenn ein mit der Konfigurationsänderungsinformation empfangener Befehl nicht gefahrlos unmittelbar zu verarbeiten ist, während der Drucker (20) tätig ist, den aktiven Druckjob zu verarbeiten, wobei er den Hauptrechner (10) informiert, offline zu gehen.
  6. Drucker nach einem vorangehenden Anspruch, bei dem der Druckerkontroller (34) weiter programmiert ist, um den Drucker (20) nach Empfangen eines Fernofflinebefehls von dem Hauptrechner (10) sobald wie möglich offline zu nehmen.
  7. Drucker nach Anspruch 6, bei dem der Druckerkontroller (34) weiter programmiert ist, um den Hauptrechner (10) zu benachrichtigen, wenn der Drucker (20) als Reaktion auf den Fernofflinebefehl offline genommen worden ist.
  8. Drucker nach Anspruch 6 oder 7, bei dem der Druckerkontroller (34) weiter programmiert ist, um auf einen von dem Hauptrechner (10) empfangenen Fernonlinebefehl zu reagieren, indem er zurück online geht.
  9. Drucker nach Anspruch 8, bei dem der Druckerkontroller (34) weiter programmiert ist, um eine Quittungsantwort an den Hauptrechner (10) abzugeben, nachdem er erfolgreich zurück online gegangen ist.
  10. Drucker nach einem vorangehenden Anspruch, bei dem der Druckerkontroller (34) weiter programmiert ist, um: sämtliche residente Font- und Zeichenvorratsinformation zu erfassen; jeden Font durch eine vorbestimmte Anzahl von Variablen zu identifizieren; und die vorbestimmte Anzahl von Variablen für jeden Font und die Zeichenvorratsinformation an den Hauptrechner (10) zu senden.
  11. Drucker nach Anspruch 10, bei dem der Druckerkontroller (34) weiter programmiert ist, um eine Warnmeldung an den Hauptrechner (10) zu erzeugen und zu senden, wenn irgendein Font oder Zeichenvorrat in dem Speicher (38) des Druckers (20) modifiziert ist.
  12. Druckerdatenübertragungssystem, umfassend einen Hauptrechner (10), einen Drucker (20), wie in einem vorangehenden Anspruch beansprucht, und eine Datenübertragungseinrichtung (24) zum Koppeln des Hauptrechners (10) und Druckers (20), um für eine bidirektionale Datenübertragung von Signalen dazwischen zu sorgen, wobei: der Port (40) des Druckers mit der Datenübertragungseinrichtung (24) gekoppelt ist, um Signale von dem Hauptrechner (10) durch die Datenübertragungseinrichtung (24) zu empfangen und Signale zum Hauptrechner (10) zu übertragen; wobei der Drucker weiter umfasst eine Druckmaschine (42), die mit dem Druckerkontroller (34) gekoppelt ist, um Signale von dem Druckerprozessor (36) zu empfangen und Seiten von Information als Reaktion darauf zu drucken; und wobei die kodierten Programmbefehle und der Druckerprozessor (36) ablauffähig bzw. betriebsfähig sind, um: (a) Zeichenvorräte, die im Druckerspeicher (38) resident sind, zum Hauptrechner (10) zu senden, (b) Fontinformation, die im Druckerspeicher (38) resident ist, zum Hauptrechner (10) zu senden, und (c) konfigurationsverknüpte Befehle vom Hauptrechner (10) zu empfangen und sie sofort zu akzeptieren und auszuführen, wenn der konfigurationsverknüpte Befehl nicht mit irgendwelchen aktiven Tätigkeiten des Druckers (20) kollidiert, und den Hauptrechner (10) zu informieren, wenn der konfigurationsverknüpte Befehl mit den aktiven Tätigkeiten des Druckers (20) kollidieren würde.
  13. Druckerdatenübertragungssystem nach Anspruch 12, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um eine Warnmeldung an den Hauptrechner (10) zu senden, immer dann wenn irgendeine Font- oder Zeichenvorratsinformation im Druckerspeicher (38) modifiziert ist.
  14. Druckerdatenübertragungssystem nach Anspruch 12 oder 13, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um einen Fernofflinebefehl zu empfangen, der anfordert, dass der Drucker (20) in einen Offline-Zustand genommen werden soll, und den Drucker (20) bei der nächsten verfügbaren Zeit offline zu nehmen.
  15. Druckerdatenübertragungssystem nach Anspruch 14, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um eine Warnmeldungsmitteilung an den Hauptrechner (10) zu senden, sobald wie der Drucker (20) offline genommen ist.
  16. Druckerdatenübertragungssystem nach Anspruch 14 oder 15, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um einen Onlinebefehl durch den Port (40) zu empfangen und den Drucker (20) online fernrückzunehmen.
  17. Druckerdatenübertragungssystem nach Anspruch 16, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um eine Warnmeldung an den Hauptrechner (10) zu senden, wenn der Drucker (20) zurück online gebracht worden ist.
  18. Druckerdatenübertragungssystem nach Anspruch 16 oder 17, bei dem die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um automatisch zurück online zu gehen, wenn kein Fernonlinebefehl einem Fernofflinebefehl nach einer spezifizierten Pause folgt, während der keine Tätigkeit stattfindet.
  19. Druckerdatenübertragungssystem nach einem der Ansprüche 12 bis 18, bei dem der Hauptrechner (10) einen Prozessor (134) und Speicher (136) umfasst, die betriebsfähig sind, um einen Befehl zu senden, um eine aktive Fonteinstellung im Drucker (20) zu ändern, die vier Variablen enthält, die eindeutig den gewünschten Font beschreiben, und wobei die kodierten Programmbefehle und der Druckerprozessor (36) weiter ablauffähig bzw. betriebsfähig sind, um den Befehl zu empfangen, um den aktiven Font zu ändern und um die Änderung des aktiven Fonts nur zu ermöglichen, wenn die Variablen in dem 'Ändere aktiven Font'-Befehl einen gültigen Font in einem Druckerspeicher (38) identifizieren.
  20. Druckerdatenübertragungssystem nach einem der Ansprüche 12 bis 19, bei dem der Hauptrechner (10) programmiert ist, um aus der Fontinformation und den Zeichenvorräten, die durch den Drucker (20) gesendet sind, eine dynamische Fonttabelle zu konstruieren.
  21. Verfahren zum Aktualisieren von Betriebskonfigurationseinstellungen einer Druckvorrichtung, umfassend die Schritte: Empfangen von Konfigurationsänderungsinformation von einem Hauptrechner (10); und Verarbeiten der Konfigurationsänderungsinformation; gekennzeichnet durch Aktualisieren von einer oder mehreren der Konfigurationseinstellungen unter Verwendung der Konfigurationsänderungsinformation, während die Druckvorrichtung einen aktiven Druckjob verarbeitet, wenn das Aktualisieren das Verarbeiten des aktiven Druckjobs nicht nachteilig beeinflusst.
  22. Verfahren nach Anspruch 21, bei dem der Aktualisierungsschritt weiter umfasst: im Wesentlichen sofortiges Aktualisieren der einen oder mehreren der Konfigurationseinstellungen nach Verarbeiten der Konfigurationsänderungsinformation.
  23. Verfahren nach Anspruch 21 oder 22, weiter umfassend den Schritt: Aktualisieren einer mit den aktualisierten Einstellungen verbundenen Konfigurationsumgebung nach dem Aktualisieren der Konfigurationseinstellungen, während der Drucker (20) den aktiven Druckjob verarbeitet.
DE69725778T 1996-05-23 1997-05-23 Druckerkommunikationssystem und -verfahren Expired - Fee Related DE69725778T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US652858 1996-05-23
US08/652,858 US6246485B1 (en) 1996-05-23 1996-05-23 Printer communication system and method

Publications (2)

Publication Number Publication Date
DE69725778D1 DE69725778D1 (de) 2003-12-04
DE69725778T2 true DE69725778T2 (de) 2004-07-29

Family

ID=24618471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69725778T Expired - Fee Related DE69725778T2 (de) 1996-05-23 1997-05-23 Druckerkommunikationssystem und -verfahren

Country Status (8)

Country Link
US (1) US6246485B1 (de)
EP (1) EP0809176B1 (de)
JP (1) JPH10129083A (de)
KR (1) KR100472799B1 (de)
AU (1) AU719748B2 (de)
CA (1) CA2203445A1 (de)
DE (1) DE69725778T2 (de)
MX (1) MX9703805A (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428575B1 (en) * 1998-11-17 2008-09-23 Ricoh Company, Ltd. Method and system for communicating with a device attached to a computer using electronic mail messages
US6473811B1 (en) * 1998-03-13 2002-10-29 Canon Kabushiki Kaisha Method and apparatus for displaying a connection status of a device based on connection information
JP3711433B2 (ja) * 1998-05-06 2005-11-02 セイコーエプソン株式会社 印刷制御方法及びシステム、記録媒体
DE69939238D1 (de) * 1998-06-25 2008-09-18 Canon Europa Nv Verfahren und Gerät zum Steuern der Verarbeitung eines elektronischen Dokuments
US6556875B1 (en) * 1998-06-30 2003-04-29 Seiko Epson Corporation Device control system
JP4086372B2 (ja) * 1998-08-28 2008-05-14 キヤノン株式会社 通信システム、情報処理装置、出力装置、制御方法、及び、記憶媒体
US6683696B1 (en) * 1998-10-27 2004-01-27 Hewlett-Packard Development Company, L.P. Filter based data imaging method for an image forming device
US6424424B1 (en) * 1999-01-19 2002-07-23 Hewlett-Packard Company Method and apparatus for automatic installation of shared printers over a network
US6618162B1 (en) 1999-01-26 2003-09-09 Intermec Ip Corp. Apparatus and method to configure a device, such as a printer, over a network
US6857013B2 (en) 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
JP2000305731A (ja) * 1999-02-17 2000-11-02 Canon Europa Nv 自動コンフィギュレーション方法及び装置
US7054015B1 (en) 1999-07-02 2006-05-30 Electronics For Imaging, Inc. Printer description file format generator
US7143150B1 (en) * 1999-12-09 2006-11-28 Ricoh Company, Ltd. Method of configuring a computer to include the available options of a printer
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
CN1272695C (zh) * 2000-03-17 2006-08-30 精工爱普生株式会社 通信终端设备、通信数据处理方法
WO2001077844A1 (fr) * 2000-04-10 2001-10-18 Fujitsu Limited Systeme de traitement d'informations et serveur associe
US6741262B1 (en) 2000-05-12 2004-05-25 Electronics For Imaging, Inc. Expert color management settings method and interface
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US6814510B1 (en) * 2000-08-02 2004-11-09 Xerox Corporation Method and apparatus for automatic update of a printer driver configuration and status
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
JP3977059B2 (ja) * 2000-12-22 2007-09-19 キヤノン株式会社 情報処理装置、方法、及び制御プログラム
JP2002290351A (ja) * 2001-03-22 2002-10-04 Dainippon Printing Co Ltd デジタルデータ放送システムの機能拡張方法
US7428066B2 (en) * 2001-04-09 2008-09-23 Canon Kabushiki Kaisha Printing apparatus and method for verifying a printer controller
JP4596696B2 (ja) * 2001-07-16 2010-12-08 キヤノン株式会社 情報処理装置および印刷装置
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
JP4027102B2 (ja) * 2002-01-31 2007-12-26 キヤノン株式会社 情報処理装置、情報処理方法、及び制御プログラム
US20030184782A1 (en) * 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20030200353A1 (en) * 2002-04-19 2003-10-23 Vikas Dogra Browser-implemented upload/download of a driver
US7283268B2 (en) * 2002-07-11 2007-10-16 Paxar Corporation Printer with interpreter
US7327482B2 (en) 2002-10-15 2008-02-05 Sharp Laboratories Of America, Inc. Integrated printer monitoring
EP1422920B1 (de) 2002-11-19 2013-01-23 Canon Denshi Kabushiki Kaisha Netzwerk-Scanning-System
US20040145768A1 (en) * 2003-01-28 2004-07-29 Stringham Gary Glen Print job clues
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040165011A1 (en) * 2003-02-26 2004-08-26 David Quijano Systems and methods for controlling user-controlled devices using data stored on a portable storage medium
US9106526B2 (en) * 2003-03-21 2015-08-11 Hewlett-Packard Development Company, L.P. Traversing firewalls
JP4402370B2 (ja) 2003-05-14 2010-01-20 キヤノン株式会社 サービス提供装置および情報処理方法
JP4120482B2 (ja) * 2003-06-06 2008-07-16 コニカミノルタビジネステクノロジーズ株式会社 印刷装置、印刷ジョブ送信装置および印刷方法
US7275213B2 (en) * 2003-08-11 2007-09-25 Ricoh Company, Ltd. Configuring a graphical user interface on a multifunction peripheral
US20050094172A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Linking font resources in a printing system
US7631198B2 (en) * 2005-05-10 2009-12-08 Seagate Technology Protocol scripting language for safe execution in embedded system
KR100941540B1 (ko) * 2005-06-02 2010-02-10 엘지전자 주식회사 장치관리 시스템 및 그 시스템에서의 설정-값 세팅 방법
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US8944332B2 (en) 2006-08-04 2015-02-03 Intermec Ip Corp. Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
JP5116539B2 (ja) * 2008-04-08 2013-01-09 キヤノン株式会社 ジョブ処理装置、ジョブ処理装置の制御方法、記憶媒体及びプログラム
JP4513038B2 (ja) * 2008-04-28 2010-07-28 ブラザー工業株式会社 画像形成システム、画像形成装置及び制限変更プログラム
JP4663774B2 (ja) * 2008-11-10 2011-04-06 キヤノン株式会社 印刷システム、情報処理装置、印刷ジョブ処理方法、情報処理方法、印刷装置、印刷制御方法、およびプログラム
US8312378B2 (en) * 2009-12-23 2012-11-13 Xerox Corporation Universally accessible printer configuration page
US8312324B2 (en) * 2010-01-28 2012-11-13 Xerox Corporation Remote diagnostic system and method based on device data classification
JP5704904B2 (ja) * 2010-11-29 2015-04-22 キヤノン株式会社 データ処理装置、データ処理装置の制御方法及びプログラム
CN103358727B (zh) * 2012-03-26 2017-09-19 精工爱普生株式会社 记录装置及记录装置的控制方法
JP5743333B2 (ja) * 2012-08-02 2015-07-01 京セラドキュメントソリューションズ株式会社 画像形成システム及び画像形成システム用プログラム
JP2018107768A (ja) * 2016-12-28 2018-07-05 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220674A (en) 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
JPH01229664A (ja) * 1988-03-11 1989-09-13 Hitachi Ltd プリンタの文字パターンデータ転送方式
US5297246A (en) 1988-03-11 1994-03-22 Hitachi, Ltd. Printer system and operating method therefor
JPH01269565A (ja) * 1988-04-22 1989-10-27 Canon Inc 印刷装置
JPH02150377A (ja) * 1988-12-02 1990-06-08 Ricoh Co Ltd プリンタ
US5220566A (en) 1989-02-10 1993-06-15 Minolta Camera Kabushiki Kaisha Multiplexer for use in data processing system
US5050098A (en) * 1989-08-25 1991-09-17 Lexmark International, Inc. Printer initialization system
US5084875A (en) 1989-12-13 1992-01-28 Joseph Weinberger System for automatically monitoring copiers from a remote location
US5214772A (en) 1989-12-13 1993-05-25 Joseph Weinberger System for automatically monitoring copiers from a remote location
US5333286A (en) 1989-12-13 1994-07-26 Joseph Weinberger Two way copier monitoring system
US5075875A (en) 1990-04-20 1991-12-24 Acuprint, Inc. Printer control system
US5303336A (en) 1990-05-14 1994-04-12 Hitachi, Ltd. Printing system including print server
US5268993A (en) * 1990-06-04 1993-12-07 Minolta Camera Kabushiki Kaisha Printer
US5164842A (en) 1990-06-29 1992-11-17 Xerox Corporation Job/page proofing for electronic printers
JPH0486838A (ja) * 1990-07-31 1992-03-19 Toshiba Corp 画像形成装置
US5271065A (en) 1990-09-28 1993-12-14 Xerox Corporation Electronic printing system for printing signatures
US5247623A (en) 1991-08-15 1993-09-21 Primax Electronics Ltd. Automatic multiple personal computer/computer printer connecting system
US5353388A (en) 1991-10-17 1994-10-04 Ricoh Company, Ltd. System and method for document processing
EP0556994B1 (de) 1992-02-10 2001-08-29 Canon Kabushiki Kaisha Ausgabeverfahren und -einheit
US5226112A (en) 1992-06-12 1993-07-06 Xerox Corporation Method for translating a plurality of printer page description languages
JP3017605B2 (ja) 1992-06-19 2000-03-13 キヤノン株式会社 プリンタ制御方法およびその制御システム
EP0599488B1 (de) 1992-11-18 1999-10-06 Canon Information Systems, Inc. Verfahren und Vorrichtung zur Prüfung einer Schnittstellenkarte
US5613160A (en) 1992-11-18 1997-03-18 Canon Kabushiki Kaisha In an interactive network board, method and apparatus for placing a network peripheral in a default configuration
US5323393A (en) 1992-11-18 1994-06-21 Canon Information Systems, Inc. Method and apparatus for obtaining and for controlling the status of a networked peripheral
EP0674787B1 (de) 1992-12-18 2001-03-07 Hitachi Koki Imaging Solutions, Inc. Virtueller drucker
JP3222668B2 (ja) * 1993-12-17 2001-10-29 キヤノン株式会社 印刷制御装置および方法
JP3199544B2 (ja) * 1993-12-17 2001-08-20 キヤノン株式会社 印刷装置および印刷制御方法
JP3271862B2 (ja) * 1994-03-10 2002-04-08 株式会社リコー ページプリンタ
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
US5559933A (en) * 1994-04-22 1996-09-24 Unisys Corporation Distributed enterprise print controller
DE69532780D1 (de) * 1994-05-20 2004-05-06 Canon Kk Drucker, Druckersystem und Verfahren, um die Zeichenbetriebsmittel des Druckerssystems zu erfahren
JP3604726B2 (ja) * 1994-05-20 2004-12-22 キヤノン株式会社 外部装置および印字処理方法
US5699494A (en) * 1995-02-24 1997-12-16 Lexmark International, Inc. Remote replication of printer operator panel

Also Published As

Publication number Publication date
KR970076287A (ko) 1997-12-12
DE69725778D1 (de) 2003-12-04
KR100472799B1 (ko) 2005-08-01
AU719748B2 (en) 2000-05-18
US6246485B1 (en) 2001-06-12
MX9703805A (es) 1998-04-30
JPH10129083A (ja) 1998-05-19
CA2203445A1 (en) 1997-11-23
EP0809176A3 (de) 1999-07-28
EP0809176A2 (de) 1997-11-26
AU2357497A (en) 1997-11-27
EP0809176B1 (de) 2003-10-29

Similar Documents

Publication Publication Date Title
DE69725778T2 (de) Druckerkommunikationssystem und -verfahren
DE69228675T2 (de) Jobverteiler für Barcode-Drucker
DE69823078T2 (de) System und Verfahren zur Verwaltung von Arbeitsgruppendruckern
DE69317698T2 (de) Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen
DE69327746T2 (de) Vorrichtung und Methode für das Aufgliedern einer Arbeitanweisung in einem Duckersystem
DE69434717T2 (de) Datenverarbeitungsgerät das als Host arbeitet und Verfahren um das Datenverarbeitungsgerät zu steuern
DE69332649T2 (de) Datenverarbeitungs- und Ausgabegerät
DE69226736T2 (de) Druckersystem, in dem ein von Druckertreibern die Druckerdaten gesendet werden, ein Datenprozessor zu einem Drucker ausgewählt wird basierend auf Interpretierern, welche in dem Drucker vorhanden sind
DE69725451T2 (de) Drucken in offenen systemen
DE69230547T2 (de) Dialogfilterung
DE69709970T2 (de) Verfahren und Gerät, um einen Auftrag für einem Drucker zu speichern
DE69930207T2 (de) Drucken mit mehreren Druckern
DE69828538T2 (de) Vorrichtung zur Fernüberwachung
DE69633580T2 (de) Drucksystem
DE69830272T2 (de) Druckdaten-Erzeugungssystem und entsprechendes Verfahren zur Verwendung in einem Druckersystem
DE60202054T2 (de) Steuerung eines drucksystems unter verwendung der druckwarteschlange
DE10024715B4 (de) Verfahren und Vorrichtung zum Einrichten einer Zwei-Wege-Übertragung zwischen einem Host-System und einer Vorrichtung
DE69835936T2 (de) Bilddrucksystem sowie hierin enthaltenes aufgeteiltes Druckverfahren
DE69133428T2 (de) Informationsverarbeitungsgerät mit umschaltbarem Programm
DE69330655T2 (de) Ausgabeverfahren und -einheit
DE69908462T2 (de) Benutzer-Schnittstelle für Informationsverarbeitungssystem
DE4422619B4 (de) Drucksystem
DE60129066T2 (de) Methode zum Photodruck und aus mehreren Druckern bestehendes System hierzu
DE69223735T2 (de) Drucker
DE10212890A1 (de) Dokumenten-Bearbeitungsauftragssteuerungssystem, Verfahren zum Steuern von Dokumenten-Bearbeitungsaufträgen und Softwareprodukt zum Ausführen eines solchen Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee