DE69631720T2 - Verfahren und Vorrichtung zum Drucken von Mehrfachkopien - Google Patents

Verfahren und Vorrichtung zum Drucken von Mehrfachkopien Download PDF

Info

Publication number
DE69631720T2
DE69631720T2 DE69631720T DE69631720T DE69631720T2 DE 69631720 T2 DE69631720 T2 DE 69631720T2 DE 69631720 T DE69631720 T DE 69631720T DE 69631720 T DE69631720 T DE 69631720T DE 69631720 T2 DE69631720 T2 DE 69631720T2
Authority
DE
Germany
Prior art keywords
data
printing
document
storage device
copies
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69631720T
Other languages
English (en)
Other versions
DE69631720D1 (de
Inventor
Jeffrey E. Boise Fall
Kevin C. Boise Hess
Richard G. Lea
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69631720D1 publication Critical patent/DE69631720D1/de
Publication of DE69631720T2 publication Critical patent/DE69631720T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function
    • G06K2215/0088Collated printing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Facsimiles In General (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet
  • Diese Erfindung bezieht sich allgemein auf Bilderzeugungsvorrichtungen für Dokumenterstellungsvorrichtungen, und insbesondere bezieht sich diese Erfindung auf eine Mehrere-Originalkopien-Bilderzeugungsvorrichtung, die entweder direkt, durch ein Netzwerk oder auf entfernte Weise mit einer Auftragsquellenerstellungsvorrichtung, z. B. einem Computer, gekoppelt ist und in der Lage ist, aus einer einzigen Übertragung einer Kopie mehrere Kopien zu erstellen.
  • Stand der Technik
  • Es gibt viele elektronische Vorrichtungen, die in der Lage sind, Daten zu erzeugen, die in einer Dokumentform gedruckt werden müssen. Diese allgemeine Klasse von Dokumenterstellungsvorrichtungen umfaßt Vorrichtungen wie z. B. Computer, Faxgeräte, Digitalkameras und Kopierer, medizinische Bilderzeugungsvorrichtungen, optische Scanner, Satellitenbilderzeugungsvorrichtungen, wissenschaftliche Datensammelvorrichtungen usw. Bei diesen Vorrichtungsarten ist es üblich, einen einzigen Prozessor zu verwenden, um die verschiedenen Datensammel-, Organisations- und Druckanforderungsfunktionen auszuführen. Ungünstigerweise steht der Prozessor, wenn er gerade damit beschäftigt ist, eine Druckanforderung zu verarbeiten, für andere Aufgaben nicht zur Verfügung.
  • Ein Beispiel, das dieses Problem deutlich veranschaulicht, ist ein Fall, bei dem der Benutzer eines Personal-Computers mehrere Kopien eines einzelnen Dokuments anfordert und dann warten muß, bis der Computer mehrere Druckanforderungen ab schließt, bevor der Benutzer den Computer erneut benutzen kann. Um diesem Problem abzuhelfen, entwickelten Computeranwendungsentwerfer ein Hintergrunddrucken, bei dem versucht wird, die Computer verfügbarer zu machen, indem Druckanforderungen lediglich während Ruhezeiten für den Prozessor verarbeitet werden. In diesem Fall würde ein mehrseitiges, sortiertes Dokument, das "n" Male gedruckt wird, eine Vordergrundverarbeitung des Dokuments des Benutzers beträchtlich verlangsamen. Diese Implementierung ist eine Folge der Art und Weise, wie der Befehl "Kopien=" ursprünglich auf LaserJetTM-Druckern, speziell in der Drukkerbefehlssprache (PCL – printer command language), die mittlerweile zu einem Industriestandard wurde, implementiert war. Die meisten Benutzer erleben eine beträchtliche Abnahme des Ansprechverhaltens des Computers. Ferner kann, wenn der Druckauftrag wiederholt über ein Computernetzwerk an den Drucker gesendet wird, die Ansprechzeit des Kommunikationsnetzwerks deutlich beeinflußt werden.
  • Ein Drucken mehrerer Kopien eines mehrseitigen, sortierten Dokuments unter Verwendung einer Softwareanwendung wie z. B. eines Textverarbeitungssystems beinhaltet mehrere Übertragungen von der Anwendung an den Drucker. Bei DOS-Umgebungen kann der Benutzer aufgrund der Zeit, die die Anwendung benötigt, um mehrere Aufträge zu formatieren und zu drucken, einen beträchtlichen Produktivitätsverlust erleiden. Da der Druckerbefehl "Kopien=" seitenbasiert und nicht druckauftragbasiert ist, waren Treiber nicht in der Lage, sortierte Mehrkopien bereitzustellen. Ein intelligentes Codieren ermöglichte es Anwendungen, so viele Schleifen zu durchlaufen wie es Kopien gab. Wenn der Auftrag aus Rückseite an Rückseite wiederholten, sortierten Seiten bestand, empfingen Kunden trotz der Einschränkungen bezüglich "Kopien=" einen sortierten Auftrag. Obwohl das Codieren intelligent sein kann, bedeutet es trotzdem eine Verschwendung von Netzwerkbandbreite und bewirkt in manchen Fällen, daß der Druckauftrag bei einer Rate verarbeitet wird, die beträchtlich niedriger ist als die theoretische Geschwindigkeit der Druckmaschine.
  • Derzeit wird das Problem eines Anforderns mehrerer Kopien eines gedruckten Auftrags auf eine von zwei Arten gelöst. Die erste Lösung besteht darin, sofort mehrere Kopien anzufordern, was bedeutet, den Computer und das Netzwerk zu verwenden, das den Computer so lange mit dem Drucker verbindet, wie es nötig ist, um die angeforderten Kopien zu erzeugen. Dies kann Minuten, Stunden oder sogar Tage dauern. Das Ergebnis ist, daß der Benutzer warten muß, während der Computer, das Netzwerk und der Drucker besetzt sind. Folglich werden derartige Aufträge, wenn sie erledigt werden, oft nach den üblichen Arbeitszeiten oder an Wochenenden begonnen, um eine Auswirkung auf andere und eine Verschwendung der eigenen Zeit zu minimieren. Die zweite Lösung besteht darin, ein Originaldokument zu drucken und Kopien auf einem Kopierer zu machen. Dies erfordert den Kauf, den Betrieb und die Wartung eines Kopierers, was zusätzlich zum Besitz eines Druckers weitere Ausgaben bedeutet. Beim Transportieren des Originaldokuments zu und von dem Kopierer wird wertvolle Zeit verschwendet, und eine zusätzliche Schulung ist erforderlich, um den Kopierer korrekt zu bedienen. Diese Aufgaben werden ferner oft bei Nacht oder an Wochenenden durchgeführt oder an Untergebene delegiert, um die zeitliche Beanspruchung des Autors des Dokuments zu minimieren. Ferner nimmt die Qualität des Drucks oft ab, wenn Kopien gemacht werden, und Teile des Originaldokuments können durch Dokumentzufuhrvorrichtungen usw. zerstört oder beschädigt werden.
  • Bei Netzwerkumgebungen ist ein einzelner Computer oder Server oft für die Aufgabe des Druckens reserviert. Dieser Computer ist mit einer Druckerspoolersoftware ausgestattet, die Druckaufträge auf dem Festplattenlaufwerk des Computers in einer Warteschlange anordnet. Die einzelnen Druckaufträge werden an den Drucker gesandt, wenn der Drucker verfügbar wird. Falls mehrere Originalkopien (Mopien) angefordert werden, speichert der Spooler die angeforderte Anzahl von Kopien, wobei jede Kopie im wesentlichen ein separater Druckauftrag ist. Ob in großen Netzwerken, kleinen Netzwerken oder an alleinstehenden Computern – der Speicherbedarf zum Drucken mehrerer Originale ist direkt proportional zu der Anzahl der Kopien und der Größe des angeforderten Auftrags. Obwohl dies einen Teil der Last der Dokumenterstellungscomputers lindert, da er nicht erst darauf warten muß, daß eine Mopie gedruckt wird, bis die nächste gesandt wird, muß er trotzdem jede Mopie als separate Druckanforderung senden.
  • In der WO 88/10477, gegen die sich die Patentansprüche abgrenzen, ist ein elektronischer Drucker beschrieben, der mehrseitige Dokumente als Schriftzeichencodesignale empfängt, die an eine Mustererstellungsvorrichtung zur Rasterisierung angelegt werden. Die rasterisierten Signale werden elektronisch gespeichert, so daß eine Mehrzahl von elektronisch sortierten, mehrseitigen Sätzen ohne eine erneute Rasterisierung gedruckt werden kann. Der Prozeß umfaßt die Schritte des Anlegens der Schriftzeichencodesignale an eine Mustererstellungsvorrichtung zum Zweck einer Umwandlung zu einem rasterisierten Videodatenstrom zum Drucken, zum elektronischen Speichern der Bilddaten in rasterisierter Form und zum elektronischen Sortieren der gespeicherten Bilddaten, indem sie zum Drucken in einer ordnungsgemäßen Sequenz präsentiert werden, wie dies oft erforderlich ist, um die gewünschte Anzahl von sortierten Dokumentsätzen zu erzeugen. Die Mehrzahl von elektronisch sortierten, mehrseitigen Sätzen kann ohne eine erneute Rasterisierung gedruckt werden.
  • In der US-A-5,179,637 ist ein System zum Verteilen von Druckaufträgen, die von einer Druckbilddatenquelle empfangen werden, unter einem Satz von Druckmaschinen und zugeordneten Bildprozessoren offenbart. Ein Zeitplaner ist mit einem Eingangsdatenbus gekoppelt, um codierte Daten von einer Druckbilddatenquelle zu empfangen, und die codierten Daten werden an einen Bildprozessor transferiert, der derzeit keine Daten verarbeitet. Der Bildprozessor entwickelt einen Satz von Druck- und Betriebsdatendateien, die Druckbilder und Seiten darstellen, die einen vollständigen Druckauftrag umfassen, zusammen mit Daten, die die Anzahl von Kopien jedes derartigen zu druckenden Bildes oder jeder derartigen zu druckenden Seite angeben. Die Druckmaschinenbetriebsdatendateien werden anschließend an Druckmaschinen, die für ein Drucken frei sind, verteilt, bis alle Bilder des Druckbefehls gedruckt sind.
  • In der US-A-4,912,670 ist ein Drucker beschrieben, der mit einem Neudruckbefehl versehen ist, der von einer externen Vorrichtung oder von einem Neudruckschalter des Druckers einzugeben ist.
  • Die EP 0 478 965 A1 bezieht sich auf eine Druckvorrichtung, die die Verarbeitung von Druckdaten ermöglicht, während eine große Menge anderer Druckdaten verarbeitet wird.
  • Die JP-A-04 216983 beschreibt eine Druckvorrichtung. Diese Vorrichtung sieht nicht die Speicherung von Druckauftragsdaten in einer Datenspeichervorrichtung vor.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte Vorrichtung und ein verbessertes Verfahren zum Drucken mehrerer Kopien zu schaffen, die die Verwendung von Netzwerkressourcen, Rechenzeit, Speicherraum und Druckzeit zum Erhalten der gewünschten Anzahl von Kopien verringern.
  • Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und durch ein Verfahren gemäß Anspruch 3 gelöst.
  • Zur Erläuterungszwecken kann die Erfindung so charakterisiert werden, daß sie drei Facetten aufweist. Die erste besteht darin, die Bilderzeugungsvorrichtung mit einer lokalen Datenspeicherungsspeichervorrichtung, vorzugsweise nicht-flüchtig, z. B. einer Festplatte, zu versehen. Die zweite Facette ist die Integration von Firmware oder einer anderen Steuerungselektronik in die Bilderzeugungsvorrichtung, wobei die Firmware oder andere Steuerungselektronik konfiguriert ist, um einen Mopiedruckauftrag zu identifizieren, den Mopiedruckauftrag zu der lokalen Datenspeicherungsvorrichtung zu kopieren, wenn der Auftrag an die Druckmaschine gesandt wird, und "n–1"-Aufträge an die Druckmaschine zu senden, wenn sie verfügbar ist, wobei "n" gleich der Gesamtanzahl von angeforderten Mopien ist. Die dritte Facette erfordert die Modifizierung der Anwendungssoftware und des Druckertreibers oder einer anderen Quelldokumenterstellungsvorrichtung, um lediglich eine einzige Kopiedruckanforderung zu senden, die durch einen Befehl eingeleitet wird, der die gewünschte Anzahl von Mopien identifiziert. Jedoch ermöglicht die Erfindung, daß eine Druckanforderung, die nicht durch den Befehl eingeleitet wird, auf eine normale Weise vonstatten geht. Bei einer UNIXTM-, DOS- oder WindowsTM-Umgebung muß die Anwendung und/oder der Treiber eine Unterstützung für den Befehl @PJL_JOB_QTY = x, eine Bestätigung, daß PCL_Kopien = 1, eine Unterstützung für eine Sortierung, die bei manchen Umgebungen impliziert sein kann, und eine Unterstützung für den Befehl "Sortieren=" in PostScriptTM" bereitstellen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines Systems zum Drucken mehrerer Originalkopien eines Dokuments;
  • 2 ist eine schematische Darstellung eines Druckers zum Drucken mehrerer Originalkopien eines Dokuments;
  • 3 ist eine graphische Darstellung einer Puffernutzung für eine Verarbeitung durch die Firmware;
  • 4 ist eine graphische Darstellung der IOP-Aufgabe der Firmware, in der die Erfindung implementiert ist;
  • 5 ist eine graphische Darstellung einer Pufferinitialisierung gemäß der Erfindung;
  • 6 ist eine graphische Darstellung einer Platten-I/O-Teilsysteminitialisierung gemäß der Erfindung;
  • 7A, 7B und 7C sind ein Flußdiagramm des Mopieschreibfreigabecodes gemäß der Erfindung;
  • 8 ist ein Flußdiagramm des Mopielesecodes gemäß der Erfindung; und
  • 9 ist ein Flußdiagramm der Zustandsmaschine gemäß der Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Unter Bezugnahme auf die Figuren ist die Erfindung an einem Laserjet4VTM-Laserdrucker von Hewlett Packard implementiert gezeigt, der allgemein mit 100 bezeichnet und in schematischer Form gezeigt ist. Diese bestimmte Implementierung eignet sich allgemein für Druckerprodukte, die von der Abstammung der Familie der i80960-Firmware abgeleitet sind. Dieser bestimmte Drucker wurde ausgewählt, weil er bereits ein Plattenlaufwerk besaß, das für eine lokale Schrittartspeicherung installiert war. Man muß jedoch deutlich verstehen, daß die Erfindung nicht auf Laserdrucker beschränkt ist, da sie gleichermaßen auf andere Bilderzeugungsvorrichtungen wie z. B. LED-Drucker, Tintenstrahldrucker, Blasendrucker bzw. Bubble-Drucker, mechanische Drucker, Thermodrucker usw. anwendbar ist. In den Figuren wird die Erfindung manchmal als TOPAZ bezeichnet, was ein Akronym für Transmit Once, Print a Zillion (einmal übertragen, x-mal drucken) ist.
  • Bei diesem bestimmten Ausführungsbeispiel der Erfindung ist ein Personal-Computer 10 durch ein Netzwerk 20 mit einem Drucker 100 verbunden. Die Verbindung mit dem Drucker 100 könnte ebensogut eine Direktverbindung unter Verwendung eines Parallel- oder eines Seriell-Kabels oder sogar eine Fernverbindung über eine Telekommunikationsverknüpfung, eine Infrarotverknüpfung oder eine Funkfrequenzverknüpfung sein. Der Computer 10 weist in seinem Speicher eine Dokumenterstellungssoftwareanwendung 11 und einen zugeordneten Druckertreiber 12 auf. Kollektiv definieren diese eine der möglichen Quelldokumenterstellungsvorrichtungen, auf die zuvor Bezug genommen wurde. Wie später besser verständlich wird, besteht das Hauptkriterium der Quelldokumenterstellungsvorrichtung darin, daß sie konfiguriert ist, um eine einzelne Übertragung einer Kopie des Dokuments zu senden, die mit einem Befehl eingeleitet wird, der die gewünschte Anzahl von Mopien angibt, hier den Befehl "@PJL_JOB_QTY = x". Die Softwareanwendung 11 und der Druckertreiber 12 sind so modifiziert, daß, wenn ein Benutzer mehrere Originalkopien eines Dokuments anfordert, die Übertragung von Daten an den Drucker 100 eine einzige sortierte elektronische Kopie des Dokuments enthält, die durch den Befehl @PJL_JOB_QTY = x eingeleitet wird, wobei x gleich der gewünschten Anzahl von Originalkopien ist. Die Anwendung 11 und der Druckertreiber 12 müssen ferner die Variable PCL_Kopien auf Eins einstellen und in einer PostScriptTM-Umgebung die Sortiervariable auf wahr einstellen.
  • Einfacher und allgemein ausgedrückt weist der Drucker 100 eine mit einer Steuerung oder einem Formatierer 102 verbundene Druckmaschine 101 auf, die zu druckende Daten von dem Parallele-Eingangs-/Ausgangs-Tor oder -Kanal (PIO-Tor oder -Kanal) 103, dem Serielle-Eingangs-/Ausgangs-Tor oder – Kanal (SIO-Tor oder -Kanal) 104 und den Modulare-Eingangs-/Ausgangs-Toren oder -Kanälen (MIO-Toren oder -Kanälen) 105 empfängt. Andere Arten von Eingängen, einschließlich Infrarot- und Hochfrequenzkopplungen, sind ebenfalls mit der Erfindung vereinbar.
  • Der Formatierer 102 umfaßt eine Datenspeicherungsvorrichtung, hier ein Plattenlaufwerk 108, eine zugeordnete Elektronik, die den Formatierer mit den Eingängen verbindet, eine Verarbeitungselektronik, einen Direktzugriffsspeicher (RAM) 106, einen Nur-Lese-Speicher (ROM) 107 und eine zugeordnete Elektronik, die den Formatierer mit der Druckmaschine 101 verbindet. Die Steuerungssoftware oder -firmware für den Formatierer 102 befindet sich in dem ROM 107, auch als Firmware 107 bezeichnet. Ein spezifischer Abschnitt dieser Firmware 107 wird als die Persönlichkeit 109 bezeichnet, die steuert, wie der Druckauftrag zu einem rasterisierten Datenstrom wiedergegeben wird. Die Persönlichkeit 109 kann mehrere Persönlichkeiten enthalten, um verschiedene Arten von Druckaufträgen wiederzugeben, und oft enthält sie diese wirklich. Beispielsweise gibt es oft eine separate Persönlichkeit für PostScriptTM-Druckaufträge und eine separate Persönlichkeit für PCL-Druckaufträge. Die Erfindung kann ohne weiteres bei Bilderzeugungsvorrichtungen, die bereits eine Datenspeicherungsvorrichtung aufweisen, implementiert werden, indem der existierende ROM durch einen modifizierten Rom 107 ersetzt wird.
  • Der RAM 106 wird für mehrere Funktionen verwendet, die allgemein folgendermaßen kategorisiert werden können: Puffern von ankommenden Daten, Mopie-Lese-/Schreib-Pufferung, Umwandeln der Daten zu einem rasterisierten Ausgangsstrom und Puffern der rasterisierten Daten für eine Ausgabe an die Druckmaschine 101. Wenn Daten von dem Eingang empfangen werden, werden die Daten geparst bzw. syntaktisch analysiert, um Druckersteuerbefehle wie z. B. PCL-, PJL- und PostScriptTM-Befehle herauszuziehen. Diese Befehle werden durch den Formatierer 102 verwendet, um einen Mopiedruckauftrag auf seinem Weg zu der Persönlichkeit 109 zu der Platte 108 zu kopieren, und werden durch die Persönlichkeit 109 verwendet, um die rasterisierten Daten für die Druckmaschine 101 wiederzugeben, und sie werden durch den Formatierer 102 verwendet, um die Druckmaschine 101 zu steuern.
  • Die Software- oder Firmware-Aspekte der Erfindung sind in der IOP-Aufgabe (IOP =input output processing, Eingabe-/Ausgabe-Verarbeitung) der Drucker-Firmware 107 implementiert. Dies ist ein Abschnitt der Firmware, der Sichtbarkeit und Kenntnis der Eingangskanäle aufweist. Alle Eingangskanäle, einschließlich Netzwerkkarten auf dem MIO-Bus, den Seriell- und Parallel-Kanälen verarbeiten durch die IOP-Aufgabe.
  • Der Codeaspekt der Erfindung besteht aus Initialisierungsroutinen, Parsingroutinen und einer Zustandsmaschine, die die Verwaltung und Zeitplanung von Puffern, die Daten enthalten, koordiniert, und aus einer Steuerung des Platten-I/O-Teilsystems. Das Platten-I/O-Teilsystem wurde ursprünglich implementiert, um PostScriptTM-Schriftart-Erfordernisse zu handhaben. Die Erfindung nutzt Platten-I/O-Teilsystem-Schnittstellenanrufe.
  • Die Zustandsmaschine ist innerhalb der Einschränkungen des nachrichtenbasierten Betriebssystems implementiert. Der gewünschte Dateisystembetrieb wird unter Verwendung von vordefinierten Dateisystembetriebscodes eingerichtet. In einer vordefinierten Dateisystemstruktur sind spezifische Felder eingerichtet, einschließlich der Adresse, wo Daten zu lesen oder zu schreiben sind, und der Länge der Daten, die gelesen oder geschrieben werden sollen.
  • Die Erfindung arbeitet innerhalb der Einschränkungen von bestehenden Datenstrukturen, die bei den IOP-, PIO- und MIO-Aufgaben üblich sind. Warteschlangen von Puffern sind üblich. Eingabevorrichtungen wie z. B. Seriell-, Parallel- und Mio-Vorrichtungen erhalten jeweils eine Anzahl von Warteschlangen aufrecht. Ein typischer I/O-Puffer beginnt sein Leben als 1024- oder 2048-Byte-Brocken eines Speichers, der bei einer Aufgabeinitialisierung zugewiesen wird. 1024-Byte-Puffer werden üblicherweise von Netzwerk-Mio-Karten verwendet. 2048-Byte-Puffer werden durch den Paralleladapter und die zugeordnete Aufgabe verwendet.
  • Die Funktion Sende_Puffer_an_PS (send_Buffer_to_PS) in der IOP-Aufgabe wird gerufen, wenn ein Kanal aktiv wird und beginnt, Daten zu empfangen. Jeder Puffer wird geparst, in dem nach spezifischen PJL-Befehlen gesucht wird, die durch eine konforme Anwendung und einen konformen Treiber eingefügt wird. Falls eine geeignete Zeichenkette gefunden wird, wird die Zustandsmaschine 110 aktiviert. Die Zustandsmaschine 110 schreibt den Inhalt aller Puffer, die anschließend an die Funktion Sende_Puffer_an_PS gesendet werden, auf eine Platte. Jeder Puffer wird bezüglich der UEL-Zeichenfolge (UEL = Universal End of Language, universelles Sprachende) durchsucht, und wenn sie gefunden wird, läßt die Zustandsmaschine den Dateizeiger in der Auftragsdatei zurücklaufen und schaltet zu dem Lesemodus. Die Zustandsmaschine 110 entfernt dann einen 2048-Byte-Puffer aus einer Warteschlange von leeren Mopiepuffern. Der leere Mopiepuffer wird zu einer Dateisystemleseanforderung weitergegeben, die versucht, 2048 Byte zu lesen. Wenn der Lesevorgang abschließt, wird der gefüllte Puffer zum Verarbeiten an die Persönlichkeit 109 gesandt. Große mehrseitige, sortierte Druckaufträge erfordern, daß mehrere Puffer aus einer Warteschlange genommen und an die Persönlichkeit 109 gesandt werden. Wenn die Persönlichkeit 109 das Verarbeiten eines Puffers abgeschlossen hat, wird der Puffer zu der IOP-Ausgabe zurückgegeben und wieder in der Leere-Mopiepuffer-Warteschlange plaziert. Dieser Vorgang wird "n–1" Mal wiederholt, bis die Anzahl von durch den Benutzer spezifizierten mehrseitigen sortierten Kopien gedruckt ist. Es ist wichtig, die zwei Arten von verwendeten Puffern zu verstehen. Beide Arten von Puffern weisen genau dasselbe Format und genau denselben Aufbau auf und müssen gleich aussehen, um durch die Persönlichkeit 109 verwendbar zu sein. Der Unterschied der Puffer ermöglicht, daß die leeren Puffer zu ihren jeweiligen "Heimat"-Warteschlangen zurückgegeben werden, was gewährleistet, daß eine Warteschlange immer mit leeren Puffern aufgefüllt wird. Wie aus 4 ersichtlich sind, werden Puffer, die von dem bzw. den Mio-Kanal bzw. Mio-Kanälen 105, dem Parallel-I/O-Kanal 103 und dem Seriell-Kanal 104 an der IOP-Aufgabe ankommen, allesamt von Aufgaben geliefert, die sich außerhalb der IOP-Aufgabe befinden. Traditionell werden diese Puffer einfach durch die IOP-Aufgabe zu der Persönlichkeit 109 geroutet. Die Erfindung unterbricht dieses Routen nicht, sondern kopiert einfach den Inhalt der Puffer, während sie zu der Persönlichkeit 109 geroutet werden. Dies erzeugt die erste Mopie ohne eine Leseplattenaktivität. Um die nächsten "n–1" Mopien zu erzeugen, müssen Puffer von innerhalb der IOP-Aufgabe verwendet werden. Dies ist der Zweck der Funktion Leere_Kopie_Puffer_Warteschlange (empty_mopy_Buffer_queue). Diese Puffer werden aus einer Warteschlange entnommen, mit Auftragsdaten von der Spooldatei auf einer Platte gefüllt und an die Persönlichkeit 109 weitergegeben.
  • Die Firmware 107 führt eine Zuweisung und Initialisierung von 2048-Byte-Puffern durch, indem sie die Funktion Weise_Mopie_Puffer()_zu (allocate_mopy_buffer()) in der Funktion Intialisiere_Aufgabe() (init_task()) der IOP-Aufgabe aufruft. Die Intialisiere_Aufgabe()-Prozedur wird aufgerufen, wenn das Betriebssystem die IOP-Aufgabe initialisiert. Die Funktion Weise_Mopie_Puffer()_zu erstellt Anforderungspuffer zur Verwendung durch die Zustandmaschine 110. Alle Anforderungspuffer bestehen zwei Teilen, die durch zwei separate Anrufe an ZUWEIS8-MARKIERT (ALLOC8-TAGGED) gebildet sind. ALLOC8 ist eine spezialisierte Form der generischen alloc()-Speicherpoolanforderungsfunktion. Der erste Teil, der Abschnitt des umlaufenden Systempuffers (rsb – recirculating system Buffer) ist eine Anzahl von Feldern, die durch das nachrichtenbasierte Betriebssystem verwendet werden. Dieser Puffer weist die Form eines vordefinierten Anfangsblocks auf, der in der gesamten Firmware für verschiedene generische I/O-Anwendungen verwendet wird. Der zweite Puffer ist ein 2048-Byte-Speicherabschnitt, der zum Puffer ist ein 2048-Byte-Speicherabschnitt, der zum Halten tatsächlicher Druckauftragsdaten verwendet wird. Die Adresse des 2048-Byte-Puffers und seine Länge werden in die korrekten Felder des rsb-Puffers plaziert.
  • Die Firmware 107 initialisiert während der Druckerselbsttestprozedur Platten-I/O-Teilsystem-Operationen. Die IOP-Aufgabe tritt in diese Phase ein, wenn sie von dem Betriebssystem eine Nachricht opOS_SELF_TEST (BETRIEBSSYSTEM_SELBST_TEST) empfängt. Zum Initialisieren wird die Funktion init_mopy() aufgerufen. Die Funktion init_mopy() stellt globale Variablen ein, baut einen Spooldateinamen auf und öffnet die Datei auf der Platte zum Schreiben. Diese Routinen bilden innerhalb des IOP-Prozesses zwei getrennte Abschnitte. Diese bestehen aus Schreib- und Leseabschnitten. Der Schreibabschnitt, der in der Routine "Schreibe_Puffer" ("write_buffer") implementiert ist, geht immer davon aus, daß sich der Drucker in einem "normalen", Nicht-Mopie-Zustand befindet, was bedeutet, daß nur reguläre Aufträge an die ausgewählte Persönlichkeit gesandt und verarbeitet werden. Dies wird validiert, indem die globale Variable Mopiequantität (MopyQTY) geprüft wird. Wenn diese Variable Null ist, parst der Schreibabschnitt das ankommende Paket bezüglich des Befehls @PJL_JOB_QTY = x. Ein Parsen wird bewerkstelligt, in dem Suche_nach_MS_QTY() (look_for_MS_QTY()) aufgerufen wird. MopyQTY wird dann zu x – 1, falls Suche_nach_MS_QTY() einen Befehl @PJL_JOB_QTY = x gefunden hat. Falls MopyQTY nun größer als oder gleich 2 ist, beginnt der Schreibabschnitt, eine Prüfung bezüglich UEL (Universal End of Language) durchzuführen, falls es nicht bereits gefunden wurde. UEL wird gesucht, indem der Puffer geparst wird, indem die Funktion Suche_nach_MS_UEL() (look_for_MS_UEL()) aufgerufen wird.
  • Der Schreibabschnitt geht von drei allgemeinen Zuständen aus:
    • (1) MopyQTY = = 0: Puffer sind nicht vom Mopie-Typ. Parse jeden Puffer bezüglich eines Befehls @PJL_JOB_QTY = x;
    • (2) MopyQTY = = 1: Auftrag geschrieben, dann gelöscht. Dies ist eine suboptimale anfängliche Auswahl und wird nicht empfohlen; und
    • (3) MopyQTY > = 2: Puffer sind vom Mopietyp. Rufe Zustandsmaschine auf, um jeden Puffer zu Datei auf Platte zu kopieren. Suche nach UEL.
  • Falls ein Puffer zuvor auf eine Platte kopiert wurde und zurückkehrt, um "erneut gekocht" zu werden, d. h. daß er bereits teilweise verarbeitet wurde, darf er einfach durchlaufen, ohne daß eine Kopiehandlung unternommen wird. Dies ist ein Ergebnis dessen, daß der Puffer als reine PCL-Entität zurückkehrt, nachdem PJL-Befehle herausgezogen wurden.
  • Der Leseabschnitt prüft zunächst den Warteschlangenkopf SB_lies_Puffer_Warteschlange[2] (SG_read_buffer_queues[2]), um zu testen, ob ein Puffer vorliegt. Falls ein Puffer vorliegt, wird eine LIES_BESTÄTIGUNGS_NACHRICHT (READ_ACK_MESSAGE) an die Persönlichkeit 109 gesandt. Falls kein Puffer vorliegt und das System Mopien verarbeitet, z. B. MopyQTY > 1, und der Dateisystemzustand OK_ZU_LESEN (OK_TO_READ) ist, dann beginnt die Mopieleseverarbeitung. Ein Mopiepuffer wird aus der G_leere_Mopie_Puffer_Warteschlange (G_empty_mopy_buffer_queue) entnommen und mit einer Anfangszustandsanforderung FS_DATEI_LESEN (FS_FILE_READ) an die Dateisystemzustandsmaschine transferiert. Dies setzt die Zustandsmaschine 110 in Gang, die sich ständig selbst aufruft, um zusätzliche Zustände abzuschließen, bis die gesamte Mopiedatei auf der Platte "n–1" Male gedruckt wird.
  • Der verbleibende Code ist in der Zustandsmaschine 110 enthalten. Eine Zustandsmaschine wurde aufgrund der Beschaffenheit des Dateisystembetriebs verwendet. Das Betriebssystem unterstützt auch einen asynchronen Zustandsbetrieb aufgrund seiner Nachrichtenweiterleitungsbeschaffenheit. Üblicherweise empfängt die IOP-Aufgabe viele Nachrichten. In dem IOP.C-Code befindet sich eine Funktion, die als iop_Aufgabe (iop_task()) bezeichnet wird. Sie enthält eine Liste von Nachrichten, für die die Funktionen in der IOP-Aufgabe verantwortlich sind. Die Erfindung modifiziert diese Liste von Nachrichten, um "opFS_ACTION" zu umfassen. Diese Nachricht ermöglicht es dem Dateisystem, die IOP-Aufgabe zu benachrichtigen, daß es Fehler- oder Statusinformationen von dem Dateisystem zu berichten gibt. Jedesmal, wenn das Dateisystem aufgerufen wird, kehrt es schließlich mit der Nachricht "opFS_ACTION" zu der IOP-Aufgabe zurück. Dies wird über eine große Fallaussage implementiert. Der Abschnitt "opFS_ACTION" ruft den Zustandsmaschineneintrittspunkt Platten_io_Anforderung() (Disk_io_request()), was ähnlich ist, da auch er eine Liste von Fällen für plattenbezogene Operationen aufweist. Jeder Fall wird auf einen Dateisystemrückkehrstatuscode abgebildet. Jeder Statuscode kann einen optionalen Fehlercode aufweisen, der auftreten kann, aber nicht muß. Die Zustandsmaschine folgt der Zustandsübergangsvariable Mopie Zustand (mopy_state). Alle Zustände sind durch das Dateisystem definierte Dateisystemoperationen. 9 ist ein grundlegendes Flußdiagramm für die Zustandsmaschine 110.
  • Weitere Ausführungsbeispiele und Modifikationen umfassen eine Verwendung von schnelleren Plattenlaufwerken, Flash-RAM, SRAM oder ähnlichen Vorrichtungen, um zu ermöglichen, daß Mopieaufträge gespeichert werden, bevor sie wiedergegeben wurden, so daß sie anschließend direkt der Druckmaschine zugeführt werden können.
  • Obwohl das bevorzugte Ausführungsbeispiel der Erfindung unter Bezugnahme auf einen Laserdrucker als spezifische Bild erzeugungsvorrichtung und auf einen Personal-Computer als eine spezifische Dokumenterstellungsvorrichtung beschrieben wurde, sollte man deutlich verstehen, daß die Erfindung nicht hierauf beschränkt sein soll, da die Erfindung gleichermaßen auf andere Bilderzeugungsvorrichtungen und Dokumenterstellungsvorrichtungen mit oder ohne Modifizierung anwendbar ist. Man wird deshalb verstehen, daß Modifikationen und Variationen möglich sind, ohne von dem Schutzumfang der Erfindung, wie er in den folgenden Patentansprüchen Ausdruck findet, abzuweichen.

Claims (4)

  1. Eine Druckvorrichtung (100) zum Drucken einer gewünschten Anzahl von Kopien eines Dokuments von einer elektronischen Übertragung einer einzigen Kopie des Dokuments durch eine Quelldokumenterstellungsvorrichtung (10), wobei die Übertragung einen Befehl umfaßt, der die gewünschte Anzahl von Kopien angibt, wobei die Druckvorrichtung folgende Merkmale aufweist: einen Eingang (103, 104, 105) zum Empfangen der elektronischen Übertragung von Daten, die ein zu druckendes Dokument und die gewünschte Anzahl von Malen, die es gedruckt werden soll, darstellen; eine Steuerung (102, 107), die mit dem Eingang (103, 104, 105) elektrisch verbunden ist, wobei die Steuerung (102, 107) eine Datenspeichervorrichtung (108) umfaßt; und eine mit der Steuerung (102, 107) verbundene Druckmaschine (101) zum Drucken eines wiedergegebenen Bildes; wobei die Steuerung (102, 107) folgende Merkmale aufweist: eine erste Einrichtung zum Wiedergeben der von dem Eingang (103, 104, 105) empfangenen Daten zu einem rasterisierten Bild, eine zweite Einrichtung zum Kopieren der von dem Eingang (103, 104, 105) empfangenen Daten zu der Datenspeichervorrichtung (108), und eine dritte Einrichtung zum Lesen jeglicher zu der Datenspeichervorrichtung (108) kopierten Daten und zum Wiedergeben der von der Datenspeichervorrichtung (108) gelesenen Daten zu einem rasterisierten Bild, und zwar eine gewünschte Anzahl von Malen minus eins, wenn ein Mehrkopie-Druckauftrag empfangen wird, dadurch gekennzeichnet, daß die zweite Einrichtung eine Einrichtung zum Kopieren der von dem Eingang (103, 104, 105) empfangenen Daten zu der Datenspeichervorrichtung (108), während die Daten an andere Abschnitte der Steuerung zum Wiedergeben der Daten zu einem rasterisierten Bild gesendet werden, wenn ein Mehrkopie-Druckauftrag empfangen wird, aufweist.
  2. Die Druckvorrichtung (100) gemäß Anspruch 1, bei der die Datenspeichervorrichtung ein nicht-flüchtiger Speicher ist.
  3. Ein Verfahren zum Drucken mehrerer Kopien eines Dokuments in einer Druckvorrichtung, das folgende Schritte aufweist: (a) Erzeugen, unter Verwendung einer Dokumenterstellungsvorrichtung (10), elektronischer Daten, die das zu druckende Dokument darstellen, und Einleiten der Daten mit einem elektronischen Datenbefehl, der eine gewünschte Anzahl von zu druckenden Kopien darstellt; (b) Empfangen der Daten in der Druckvorrichtung (100) und Analysieren derselben, um zwischen einem ersten Fall, bei dem die Daten einen Mehrkopie-Druckauftrag darstellen, und einem zweiten Fall, bei dem die Daten einen Einfachkopie-Druckauftrag darstellen, zu unterscheiden; (c) in ersten Fall, Kopieren der von der Dokumenterstellungsvorrichtung (10) empfangenen Daten zu einer Datenspeichervorrichtung (108), die in der Druckvorrichtung (100) angeordnet ist; (d) im ersten Fall und in dem zweiten Fall, Wiedergeben der von der Dokumenterstellungsvorrichtung (10) empfangenen Daten zu einem rasterisierten Bild und Drucken des Bildes unter Verwendung einer Druckmaschine (101) in der Druckvorrichtung (100); und (e) im ersten Fall, Lesen jeglicher zu der Speichervorrichtung (108) kopierter Daten, Wiedergeben der von der Datenspeichervorrichtung (108) gelesenen Daten zu einem rasterisierten Bild und Drucken des Bildes unter Verwendung der Druckmaschine (101); dadurch gekennzeichnet, daß bei Schritt (c) die Daten kopiert werden, während die Daten zum Wiedergeben der Daten zu einem rasterisierten Bild an andere Abschnitte der Druckvorrichtung (100) gesendet werden; und Schritt (e) eine Anzahl von Malen ausgeführt wird, die gleich der gewünschten Anzahl von Kopien minus eins ist.
  4. Das Verfahren gemäß Anspruch 3, bei dem die Datenspeichervorrichtung ein nicht-flüchtiger Speicher ist.
DE69631720T 1995-07-19 1996-04-30 Verfahren und Vorrichtung zum Drucken von Mehrfachkopien Expired - Lifetime DE69631720T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/504,376 US5764863A (en) 1995-07-19 1995-07-19 Multiple original copy data printer
US504376 1995-07-19

Publications (2)

Publication Number Publication Date
DE69631720D1 DE69631720D1 (de) 2004-04-08
DE69631720T2 true DE69631720T2 (de) 2005-01-05

Family

ID=24006008

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69631720T Expired - Lifetime DE69631720T2 (de) 1995-07-19 1996-04-30 Verfahren und Vorrichtung zum Drucken von Mehrfachkopien

Country Status (4)

Country Link
US (1) US5764863A (de)
EP (1) EP0755021B1 (de)
JP (1) JPH0934670A (de)
DE (1) DE69631720T2 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3639685B2 (ja) * 1997-01-31 2005-04-20 キヤノン株式会社 印刷装置及び印刷制御方法
KR19980078801A (ko) * 1997-04-30 1998-11-25 윤종용 정렬 복사 방법
US6023343A (en) * 1997-08-29 2000-02-08 Lexmark International, Inc. Method and apparatus for temporary storage on disk of collated print data
JPH11105381A (ja) * 1997-10-03 1999-04-20 Brother Ind Ltd プリントシステム及びプリンタ
JP3278394B2 (ja) * 1998-02-25 2002-04-30 キヤノン株式会社 情報処理装置、情報処理方法、及び、記憶媒体
US6671066B1 (en) 1998-07-28 2003-12-30 Minolta Co., Ltd. Computer program product intended for processing print data, and apparatus and method for processing print data
US6426801B1 (en) 1998-10-01 2002-07-30 Lexmark International, Inc. Printer apparatuses and methods for using the same
US6160629A (en) * 1998-10-26 2000-12-12 Hewlett-Packard Company Multiple copy printer with print job retention
JP2000203104A (ja) 1999-01-14 2000-07-25 Minolta Co Ltd プリンタ及びプリンタ制御装置
US6608693B1 (en) * 1999-04-30 2003-08-19 Hewlett-Packard Development Company, L.P. Apparatus and method for generating a print job from a command stream describing multiple copies of a document
JP3907362B2 (ja) * 1999-12-01 2007-04-18 キヤノン株式会社 印刷制御方法及び装置および印刷システム
US7034951B1 (en) 2000-05-10 2006-04-25 Hewlett-Packard Development Company, L.P. Printer collator facility and method
US7426049B2 (en) * 2001-07-16 2008-09-16 Hewlett-Packard Development Company, L.P. Printing retained print jobs
US7333245B2 (en) 2001-07-16 2008-02-19 Hewlett-Packard Development Company, L.P. System and method for printing retained print jobs
US20030011813A1 (en) * 2001-07-16 2003-01-16 Peter Gary M. Computing system with print job retention
SE520932C2 (sv) * 2002-03-18 2003-09-16 Optillion Ab Kommunikationsmodul
US7317550B2 (en) * 2002-05-03 2008-01-08 Hewlett-Packard Development Company, L.P. Printing utilizing external storage
US6623190B1 (en) 2002-05-03 2003-09-23 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing a print job among a processor, an image producing device, and an external storage device
JP3619217B2 (ja) 2002-07-19 2005-02-09 キヤノン株式会社 検品装置及び画像形成装置
JP2005322054A (ja) * 2004-05-10 2005-11-17 Seiko Epson Corp 分散印刷制御装置及び印刷ジョブ分散方法
US7983420B2 (en) * 2004-05-24 2011-07-19 Sharp Laboratories Of America, Inc. Imaging job authorization
US7847967B2 (en) * 2004-10-30 2010-12-07 Sharp Laboratories Of America, Inc. Adaptive de-spooling system for partial brute force collation
US20230040193A1 (en) * 2021-08-05 2023-02-09 Hewlett-Packard Development Company, L.P. Multi-copy jobs with network storage

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62208977A (ja) * 1986-03-10 1987-09-14 Brother Ind Ltd プリンタ
US5047955A (en) * 1987-06-19 1991-09-10 Eastman Kodak Company Electronic collation
US4970554A (en) * 1988-10-24 1990-11-13 Xerox Corporation Job processing system for high speed electronic copying/printing machines
JP2774369B2 (ja) * 1990-09-03 1998-07-09 キヤノン株式会社 画像記録装置
JPH04216983A (ja) * 1990-12-19 1992-08-07 Nec Data Terminal Ltd 印刷装置
US5179637A (en) * 1991-12-02 1993-01-12 Eastman Kodak Company Method and apparatus for distributing print jobs among a network of image processors and print engines
US5559933A (en) * 1994-04-22 1996-09-24 Unisys Corporation Distributed enterprise print controller

Also Published As

Publication number Publication date
EP0755021B1 (de) 2004-03-03
EP0755021A3 (de) 1998-04-08
EP0755021A2 (de) 1997-01-22
DE69631720D1 (de) 2004-04-08
JPH0934670A (ja) 1997-02-07
US5764863A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
DE69631720T2 (de) Verfahren und Vorrichtung zum Drucken von Mehrfachkopien
DE69524381T2 (de) Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache
DE68927396T2 (de) Schriftzeichendaten-Steuerung
DE69422076T2 (de) Druckersystem mit Datenanalyse-Bestimmungsfähigkeit
DE69837237T2 (de) Druckersteuerungssystem und -verfahren zur Vorbereitung eines Seitenlayouts
DE69219287T2 (de) Verfahren und Vorrichtung zur Verteilung von Druckaufgaben zwischen einem Netzwerk von Bildverarbeitungsgeräten und Druckern
DE69528210T2 (de) Drucker-Steuerungssystem, das Dokumente des Kopierertyps behandelt
DE69623077T2 (de) Gerät und Verfahren zur Programmierung eines Druckauftrags mit einem Auftragsticket aus einem entfernten Speicherbereich
DE69317698T2 (de) Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen
DE69834074T2 (de) Drucker, der einen Netzwerkrechner beinhaltet und Rechnernetzwerk-System, das diesen verwendet
EP0056948B1 (de) Bürokommunikationssystem
DE10027222B4 (de) Verfahren und zentrales Drucksystem zum Verarbeiten eines Druckauftrags in einem Netzwerk unter Verwendung von ausgewählten Druckerattributen
DE69428929T2 (de) Gerät und Verfahren zur Verarbeitung einer Folge von Bilddaten in einem Drucksystem
DE69727906T2 (de) Geschalteter Druckertreiber in Windows-Betriebssystem
DE69526794T2 (de) Virtueller drucker
DE69329224T2 (de) Gerät und Verfahren zur Bestimmung der Druckerverfügbarkeitsoption und Darstellung der Konfliktlösung in einer Kombination der Druckerjobauswahl
DE69328650T2 (de) Betriebsverfahren und betriebsmittelorientiertes Druckersystem
DE69230547T2 (de) Dialogfilterung
DE69734562T2 (de) Informationsverarbeitungvorrichtung und Steuerungsverfahren dafür
DE69228675T2 (de) Jobverteiler für Barcode-Drucker
DE69835936T2 (de) Bilddrucksystem sowie hierin enthaltenes aufgeteiltes Druckverfahren
DE2550268B2 (de) Schnelldrucker für Datenverarbeitungssysteme
DE10212634B4 (de) Verfahren zum Betreiben eines Druckers und computerlesbares Medium mit Anweisungen zur Ausführung des Verfahrens
DE10249430B4 (de) Vorrichtung und Verfahren zur Fern-Firmware-Aktualisierung über I/O-Verbindung
US6331896B1 (en) Printing system and method for avoiding unnecessarily repetitive operations while preparing print data

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE