-
Diese
Erfindung bezieht sich auf Speicherverwaltungsverfahren, Verfahren
zum Speichern von Druckauftragsdaten sowie entsprechende Maschinenlesbare
Medien und Systeme. Insbesondere ist die Erfindung darauf ausgerichtet,
die Art und Weise zu verwalten, auf die Druckauftragsdaten in dem Speicher
einer Bilderzeugungsvorrichtung wie beispielsweise eines Laserdruckers
gespeichert werden.
-
Es
gibt mehrere Arten und Weisen, Druckauftragsdaten in einer Bilderzeugungsvorrichtung
zu speichern. Viele Bilderzeugungsvorrichtungen verwenden ein Festplattenlaufwerk
in Verbindung mit einem Direktzugriffsspeicher (RAM). Der RAM wird verwendet,
um die Druckauftragsdaten oder Segmente der Druckauftragsdaten zu
speichern, während
die Daten einer Druckmaschine zugeführt werden. Die Festplatte
wird verwendet, um umfangreichere Druckauftragsdaten zu speichern
und zu verhindern, daß der
RAM überlastet
wird.
-
Wenn
eine einzelne Kopie eines Druckauftrags gedruckt werden soll, werden
Daten, die jede Seite oder jedes Segment desselben repräsentieren, vorübergehend
in einem Abschnitt des RAM gespeichert und gedruckt. Nachdem diese
Seite oder dieses Segment gedruckt wurde, wird der Abschnitt des RAM
freigegeben und kann verwendet werden, um eine nachfolgende Seite
oder ein nachfolgendes Segment, die bzw. das gedruckt werden soll,
zu speichern. Oft möchten
Benutzer mehrere gesammelte Kopien eines einzelnen Druckauftrags
drucken. In diesen Fällen
werden Daten für
jede Seite oder jedes Segment in einem Abschnitt des Speichers gespeichert.
Die Speicherabschnitte, die zum Speichern der Druckauftragsdaten
verwendet werden, werden nicht freigegeben, bevor alle Kopien gedruckt
sind.
-
Bei
einer typischen Bilderzeugungsvorrichtung weist eine Festplatte
eine viel größere Speicherkapazität auf als
ein RAM. Eine Festplatte kann beispielsweise in der Lage sein, zwanzig
oder mehr Gigabytes an Daten zu speichern, wo ein RAM oft auf ein-
bis zweihundert Megabytes beschränkt
ist. Wenn also mehrere gesammelte Kopien eines relativ großen Druckauftrags
gedruckt werden, liegt oft nicht genügend RAM vor, um alle Druckauftragsdaten
zu speichern, und es muß eine
Festplatte verwendet werden. Jedoch können Daten viel schneller von
einem RAM als von einer Festplatte wiedergewonnen und verarbeitet
werden. Um jede Kopie auf effizientere Weise zu drucken, sollten
die Druckauftragsdaten so weit wie möglich in einem RAM gespeichert
werden. Nachdem der RAM voll ist, sollten die verbleibenden Daten
dann auf der Festplatte gespeichert werden.
-
Die
DE 695 21 256 T2 beschreibt
ein Verfahren zur Verwaltung der Speicherzuweisung in einem Drucksystem,
das einen elektronischen Vorsammelspeicher bzw. EPC-Speicher sowie
eine Festplatte sowie eine Steuereinheit aufweist, die über einen
Betriebsmittelverwalter verfügt,
der den EPC-Speicher in eine Mehrzahl von Blöcken partioniert, wobei das Drucksystem
Eingabe-Klienten unterstützt,
die versuchen, ein Bild oder mehrere Bilder in Form von Bilddaten
zu speichern. Das Verfahren sieht die Bereitstellung eines Identifizierers
für jeden
Block vor, der den Ort des Blocks in dem EPC-Speicher angibt, sowie
das Platzieren eines ersten Identifizierer-Satzes, der einem ersten
Satz von Blöcken
entspricht, als Reaktion auf eine Anforderung von einem ersten Eingabe-Klienten
hin in eine Datenbank. Der erste Eingabe-Klient greift dann auf
den ersten Identifizierer-Satz
zu und füllt
in einem nächsten
Schritt eines oder mehrere Blöcke
aus dem ersten Satz von Blöcken
mit Bilddaten unter Verwendung des ersten Identifizierer-Satzes,
wobei jedes Mal dann, wenn einer der Blöcke aus dem ersten Satz gefüllt wird,
ein Unterbrechungssignal an die Steuereinheit übertragen wird. Wenn gerade
ein relativ letzter Block aus dem ersten Satz von Blöcken 306
gefüllt
worden ist, wird ein zweiter Identifizierer-Satz, der einem zweiten Satz
von Blöcken
entspricht, in die Datenbank platziert, wodurch es dem Eingabe-Klienten
nach dem Füllen
eines letzten Blocks aus dem ersten Satz von Blöcken ermöglicht wird, auf den zweiten
Satz von Blöcken
zuzugreifen, indem er auf den zweiten Identifizierer-Satz Bezug
nimmt, und den zweiten Satz von Blöcken füllt, wodurch die Speicherzuweisung mit
einem Minimum an Kommunikation zwischen einzelnen Komponenten des
Drucksystems erfolgt.
-
Die
US 5,999,709 A beschreibt
ein Verfahren zur Zuweisung einer Speicherbenutzung in einer Visuelle-Ausgabe-Vorrichtung
mit einer Aufbereitungsmaschine, einem Anzeigenlistenspeicher zum
Speichern von Anzeigelistenobjekten und einem Komprimiertes-Band-Pufferspeicher
zum Speichern komprimierter Bitmap-Daten, die von der Aufbereitungsmaschine
erstellt worden sind. Das Verfahren umfasst das Speichern der Anzeigelistenobjekte
in dem Anzeigelistenspeicher sowie das Erfassen, dass der Anzeigelistenspeicher
voll ist. Als Reaktion auf das Erfassen, dass der Anzeigelistenspeicher
voll ist, und die Bestimmung, dass der Komprimiertes-Band-Pufferspeicher nicht
voll ist, werden die Anzeigelistendaten von dem Anzeigelistenspeicher
in den Komprimiertes-Band-Pufferspeicher
transferiert, wodurch Platz in dem Anzeigelistenspeicher für weitere
Anzeigelistenobjekte geschaffen wird.
-
Die
US 6,405,327 B1 betrifft
ganz allgemein die automatische Überwachung
einer aktuellen Computerauslastung. Insbesondere sorgt ein automatisierter
echtzeitfähiger,
als Hintergrundprozess in einem Computersystem periodisch ablaufender
Prozess für
die Überwachung,
indem derselbe Leistungsfähigkeitsdatensammelstellen
verwendet, die ohnehin bereits in der Hardware des Computersystems,
dem Mikrocode und/oder in der Betriebssystemsoftware zur Verfügung stehen.
Mit einer von dem Benutzer einstellbaren Periodizität werden
dann die Abfragewerte der Schlüsselleistungsfähigkeitfaktoren
den Sammelstellen entnommen, woraufhin die selben analysiert werden,
indem ein Vergleich zwischen den gesammelten Ergebnissen einerseits
und zwei oder mehr Leistungsfähigkeitsschwellwertpegeln
andererseits für
jedes Leistungsfähigkeitskriterium
durchgeführt
wird. Je nach dem Ergebnis der Analyse wird eine Nachricht an den
Computerbenutzer weitergeleitet.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Speicherverwaltungsverfahren,
ein Verfahren zum Speichern von Druckauftragsdaten sowie entsprechende
maschinenlesbare Medien sowie Systeme zu schaffen, die eine Speicherverwaltung verbessern.
-
Diese
Aufgabe wird durch ein Speicherverwaltungsverfahren gemäß Anspruch
1, ein Verfahren zum Speichern von Druckauftragsdaten gemäß Anspruch
10, ein maschinenlesbares Medium gemäß einem der Ansprüche 19 oder
28 sowie durch ein System gemäß Anspruch
37 oder 42 gelöst.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 eine
schematische Darstellung einer Rechenumgebung, bei der Ausführungsbeispiele
der vorliegenden Erfindung verkörpert
sein können;
-
2 ein
gedrucktes Dokument und mehrere gesammelte Kopien dieses Dokuments;
-
3 ein
Blockdiagramm, das Komponenten einer Bilderzeugungsvorrichtung gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
4 ein
Blockdiagramm, das Komponenten eines Garantiemoduls gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
5 ein
Blockdiagramm, das Druckauftragsdaten zeigt, die in einem RAM oder
auf einer Platte gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gespeichert sind;
-
6 ein
Blockdiagramm, das den Inhalt von Metadaten gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung zeigt;
-
7 eine
Seite, die in Streifen aufgeteilt ist;
-
8 ein
Diagramm, das Druckdaten veranschaulicht, die über einen bestimmten Zeitraum
verarbeitet werden;
-
9 ein
Flußdiagramm,
das Schritte veranschaulicht, die unternommen werden, um mehrere gesammelte
Kopien eines Druckauftrags gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zu speichern und zu drucken; und
-
10 ein
Flußdiagramm,
das die Bestimmungs- und Verarbeitungsschritte der 9 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung näher
veranschaulicht.
-
EINLEITUNG:
-
Bilderzeugungsvorrichtungen
wie beispielsweise Drucker und Kopierer werden oft aufgerufen, mehrere
gesammelte Kopien eines Druckauftrags zu drucken. Diese Vorrichtungen
umfassen oft einen flüchtigen
Hochgeschwindigkeitsspeicher wie beispielsweise RAM sowie einen
nichtflüchtigen
Speicher einer geringeren Geschwindigkeit, beispielsweise eine Festplatte.
Beim Verarbeiten eines Druck auftrags wird der gesamte verfügbare Hochgeschwindigkeitsspeicher
verwendet, um die Druckauftragsdaten zu speichern. Nachdem der RAM
voll ist, werden die verbleibenden Druckauftragsdaten auf eine Festplatte
gespeichert. Die vorliegende Erfindung beinhaltet sowohl ein proaktives
als auch reaktives Bestimmen, wann das Speichern von Druckauftragsdaten
in dem RAM beendet und das Speichern von Druckauftragsdaten auf
eine Festplatte begonnen werden soll.
-
Standardmäßig werden
Druckauftragsdaten auf einen RAM gespeichert. Ein reaktiver Lösungsansatz
beinhaltet ein Erfassen, wann der verfügbare RAM aufgebraucht ist,
und ein anschließendes
Reagieren, indem der Druckauftrag auf eine Platte gesichert und
jeglicher benötigte
RAM freigemacht wird. Proaktive Lösungsansätze beinhalten ein Vorhersagen,
wann der verfügbare
RAM aufgebraucht sein wird, und ein anschließendes Versuchen, zu verhindern,
daß der
verfügbare
RAM aufgebraucht wird. Beispiele von proaktiven Lösungsansätzen umfassen
ein Überwachen
des verfügbaren
RAMs sowie ein Festhalten, wo frühere
Daten für
den aktuellen Druckauftrag gespeichert wurden. Falls der verfügbare RAM
geringer ist als ein kritischer Wert oder falls frühere Druckauftragsdaten
auf eine Festplatte gespeichert wurden, so werden die aktuellen
Druckauftragsdaten auf eine Festplatte gespeichert.
-
Die
ebenfalls übertragene,
gleichzeitig anhängige
Patentanmeldung mit der Seriennummer 10/136918, die am 30. April
2002 eingereicht wurde und den Titel „System and Method for Managing
Storage of Data in Printing Devices" trägt,
erörtert
Verfahren zum Speichern von Druckauftragsdaten in einem RAM. Jene
Anmeldung ist durch Bezugnahme in ihrer Gesamtheit in das vorliegende
Dokument aufgenommen.
-
Die
folgende Beschreibung ist in Abschnitte unterteilt. Der erste Abschnitt
beschreibt eine Umgebung, in der Ausführungsbeispiele der vorliegenden Erfindung
implementiert sein können.
Der zweite Abschnitt beschreibt die physischen und logischen Komponenten
einer Bilderzeugungsvorrichtung, die verwendet werden, um Ausführungsbeispiele
der vorliegenden Erfindung zu implementieren. Der dritte Abschnitt
beschreibt Schritte, die unternommen werden, um Ausführungsbeispiele
der vorliegenden Erfindung zu praktizieren.
-
UMGEBUNG:
-
1 veranschaulicht
eine Druckumgebung 10, bei der es vorteilhaft wäre, Ausführungsbeispiele der
vorliegenden Erfindung zu implementieren. Die Umgebung 10 umfaßt Computer 12 und 14 und
eine Bilderzeugungsvorrichtung 16. Die Computer 12 und 14 stellen
allgemein jegliche Rechenvorrichtung, beispielsweise einen Desktop-Computer,
Laptop-Computer
oder PDA (persönlicher
digitaler Assistent, dar, die einen Druckauftrag an die Bilderzeugungsvorrichtung 16 senden
kann. Die Bilderzeugungsvorrichtung 16 stellt allgemein
jegliche Kombination aus Hardware und Programmierung dar, die in
der Lage ist, einen Druckauftrag zu verarbeiten und ein Bild, beispielsweise
Text und Graphiken, auf einem Medienblatt, beispielsweise einem
Papier oder Transparent, zu erzeugen. Beispiele umfassen Drucker,
Kopierer und Faxgeräte
sowie Multifunktionsgeräte,
die alle drei Funktionen liefern. Es sei angemerkt, daß dort, wo
eine Bilderzeugungsvorrichtung als Kopierer dient, diese einen Druckauftrag
erstellen kann, ohne daß die
Computer 12 und 14 notwendig wären.
-
Die
Computer 12 und 14 und die Bilderzeugungsvorrichtung 16 sind
durch eine Verknüpfung 18 miteinander
verbunden. Die Verknüpfung 18 stellt
allgemein eine Kabel-, drahtlose oder Fernverbindung über eine
Telekommunikationsverknüpfung,
eine Infrarotverknüpfung,
eine Hochfrequenzverknüpfung und/oder
jeglichen anderen Verbinder oder jegliches andere System dar, der
bzw. die eine elektronische Kommunikation zwischen den Vorrichtungen 12 bis 16 liefert.
Die Verknüpfung 18 kann
ein Intranet, das Internet oder eine Kombination aus beiden darstellen.
-
Der
Begriff „Druckauftrag" bezieht sich auf eine
Reihe von Anweisungen, die die Bilderzeugungsvorrichtung 16 anweisen,
Bilder auf einem oder mehreren Medienblättern zu erzeugen. Die Anweisungen
können
Anordnungen umfassen, Text, Graphiken oder eine Kombination aus
beiden zu erzeugen. Ein Druckauftrag kann durch den Computer 12 oder 14 oder
direkt von der Bilderzeugungsvorrichtung 16, wenn die Bilderzeugungsvorrichtung
als Kopierer fungiert, erzeugt werden. Die Anweisungen können ferner
Fertigstellungsanordnungen umfassen, beispielsweise eine Anordnung,
mehrere gesammelte Kopien zu drucken. Ein Druckauftrag ist in Segmente
unterteilbar. Ein Segment kann eine Seite oder ein diskreter Abschnitt
oder Streifen einer Seite sein.
-
Unter
Bezugnahme auf 2 verarbeitet die Bilderzeugungsvorrichtung 16,
wenn sie an einem Druckauftrag für
mehrere gesammelte Kopien arbeitet, den Druckauftrag und druckt
gleichzeitig die erste Kopie 20. Die erste Kopie 20 umfaßt Seiten
a bis e. Der verarbeitete Druckauftrag wird als Druckauftragsdaten
bezeichnet. Beim Verarbeiten des Druckauftrags speichert die Bilderzeugungsvorrichtung 16 Druckauftragsdaten,
die den Druckauftrag darstellen, im Speicher. Nachdem Seiten a bis
e der ersten Kopie 20 gedruckt sind, gewinnt die Bilderzeugungsvorrichtung 16 die
Druckauftragsdaten für
die Seiten a bis e nach Bedarf wieder und druckt und sammelt anschließend nachfolgende
Kopien 22.
-
KOMPONENTEN:
-
Die
logischen Komponenten eines Ausführungsbeispiels
der Erfindung werden nun unter Bezugnahme auf die Blockdiagramme
der 3 und 4 beschrieben. 5 bis 8 tragen
dazu bei, die Funktionen der in 3 und 4 veranschaulichten
Komponenten zu veranschaulichen. Beginnend mit 3 umfaßt die Bilderzeugungsvorrichtung 16 neben
anderen, nicht gezeigten, Komponenten eine Druckmaschine 24,
eine Platte 26, einen RAM (Direktzugriffsspeicher) 28,
einen Speicherverwalter 30 und ein Garantiemodul 32.
-
Die
Druckmaschine 24 stellt eine Hardware mit zugehöriger Programmierung
dar, die in der Lage ist, Druckauftragsdaten zu verwenden, um Bilder
auf Medienblätter
zu drucken. Wenn die Bilderzeugungsvorrichtung 16 beispielsweise
ein Laserdrucker ist, umfaßt
die Druckmaschine 24 einen optischen Scanner, eine Photoleittrommel,
einen Toner und einen Fixierer. Unter Verwendung von Druckauftragsdaten moduliert
der optische Scanner einen Laserstrahl über die Trommel. Die gescannten
Abschnitte der Trommel ziehen einen Toner an. Es wird Toner von der
Trommel auf ein Medienblatt transferiert, wobei das gewünschte Bild
erzeugt wird. Der Fixierer sorgt für die Dauerhaftigkeit des Tonertransfers.
-
Die
Platte 26 stellt allgemein jeglichen nicht-flüchtigen
Speicher dar. Der RAM 28 stellt allgemein jeglichen Direktzugriffsspeicher
dar. Der Speicherverwalter 30 stellt jegliche Programmierung
dar, die in der Lage ist, von der Platte 26 und dem RAM 28 zu
lesen und Daten auf dieselben zu schreiben. Der Speicherverwalter 30 ist
ferner dafür
verantwortlich, Eigenschaften der Platte 26 und des RAM 28 zu überwachen.
Beispielsweise ist der Speicherverwalter 30 in der Lage,
den Umfang an verfügbarem
Speicher in dem RAM 28 und auf der Platte 26 zu
identifizieren.
-
Das
Garantiemodul 32 stellt eine Programmierung dar, die in
der Lage ist, einen Druckauftrag zu verarbeiten und einen Speicherverwalter 30 anzuweisen,
Druckauftragsdaten in dem RAM 28 und auf der Platte 26 zu
speichern. Wenn ein Druckauftrag durch die Bilderzeugungsvorrichtung 16 empfangen wird,
liegt er üblicherweise
in einem PDL-Format (PDL = page description language, Seitenbeschreibungssprache)
vor. Das PDL-Format beschreibt das Layout und den Inhalt einer gedruckten
Seite oder gedruckter Seiten. Moderne Versionen des PDL-Formats
sind objektorientiert, was bedeutet, daß sie eine Seite anhand von
geometrischen Objekten wie beispielsweise Linien, Bögen und
Kreisen beschreiben. Das Garantiemodul 32 ist dafür verantwortlich,
einen Druckauftrag in Daten umzuwandeln, die als Druckauftragsdaten
bezeichnet werden und durch die Druckmaschine 24 verwendet
werden können.
Dort, wo die Bilderzeugungsvorrichtunq 16 ein Laserdrucker
ist oder einen solchen umfaßt,
umfaßt
das Verarbeiten in der Regel eine Aufbereitung des Druckauftrags
zu einem binären
Datenstrom, der die Position und Eigenschaften jedes zu druckenden
Pixels definiert.
-
Unter
Bezugnahme auf 4 umfaßt das Garantiemodul 32 einen
Rasterisierer 36, eine Komprimierungseinrichtung 38 und
eine Steuerung 40. Der Rasterisierer 36 stellt
allgemein jegliche Programmierung dar, die in der Lage ist, einen
Druckauftrag in Form eines binären
Stroms von Druckauftragsdaten wiederzugeben, der die Position und
Eigenschaften jedes Pixels, das durch die Druckmaschine 24 gedruckt
werden soll, definiert. Ein binärer Datenstrom,
der die Position und Eigenschaften jedes Pixels definiert, ist relativ
gesehen ziemlich groß und
würde den
RAM 28 rasch aufbrauchen. Die Komprimierungseinrichtung 38 stellt
eine Programmierung dar, die in der Lage ist, den Datenstrom zu
einer besser verwaltbaren Größe zu komprimieren.
Die Steuerung 40 stellt jegliche Programmierung dar, die in
der Lage ist, (1) den verfügbaren
Speicher in dem RAM 28 zu identifizieren, (2) zu bestimmen,
ob Druckauftragsdaten im RAM 28 oder auf der Platte 26 gespeichert
werden sollen; und (3) den Speicherverwalter 30 anzuweisen,
Druckauftragsdaten dementsprechend zu speichern.
-
Beim
Verarbeiten eines Druckauftrags zu Druckauftragsdaten unterteilt
das Garantiemodul 32 die Druckauftragsdaten in kleinere
Segmente und weist den Speicherverwalter 30 an, jedes Segment
in dem RAM 28 und/oder auf der Platte 26 zu sichern. Jedes
Segment kann beispielsweise eine Seite oder ein kleinerer Abschnitt
des Druckauftrags sein.
-
5 veranschaulicht
Druckauftragsdaten, die in dem RAM 28 und auf der Platte 26 gespeichert sind.
Die Druckauftragsdaten sind in Segmente 42 unterteilt.
Jedes Segment 42 stellt bei diesem Beispiel eine zu druckende
Seite dar. Die Segmente 42, die Daten zum Drucken einiger
Seiten enthalten, sind in dem RAM 28 gespeichert, und andere
sind auf der Platte 26 gespeichert. Jedes Segment 42 wird
durch eine Adresse identifiziert, die die Position des Segments
in dem RAM 28 oder auf der Platte 26 spezifiziert.
Abschnitte des RAM 28, die nicht durch Segmente 42 gefüllt sind,
werden als Systemspeicher 46 und verfügbarer Speicher 48 bezeichnet.
Der Systemspeicher 46 wird durch andere Komponenten der Bilderzeugungsvorrichtung 16 verwendet
und steht nicht für
ein Verarbeiten von Druckaufträgen
zur Verfügung.
Der verfügbare
Speicher 48 stellt den Speicher dar, der zur Verfügung steht,
um einen aktuellen Druckauftrag zu verarbeiten. Beim Verarbeiten
des Druckauftrags speichert das Garantiemodul 32 Daten,
die jedes Segment 42 identifizieren, und die Adresse jedes
Segments als Metadaten 44 auf der Platte 26.
-
6 veranschaulicht
ein Beispiel der Metadaten 44. Bei diesem Beispiel sind
die Metadaten 44 eine Tabelle von Einträgen 50. Jeder Eintrag 50 stellt ein
Segment 42 in dem RAM 28 oder auf der Platte 26 dar.
Ein gegebener Eintrag 50 enthält Daten, die das Segment identifizieren,
sowie die Adresse des Segments 42, das sie darstellen.
Die Reihenfolge, in der das Segment 42 gedruckt werden
soll, wird durch die Position des Eintrags 50, der dieses
Segment 42 in den Metadaten 44 darstellt, widergespiegelt.
-
Unter
Bezugnahme auf 7 verarbeitet das Garantiemodul 32 jede
Seite 52 eines Druckauftrags in Streifen 54. Die
Streifen 54 stellen jeweils ein zusammenhängendes
Segment einer Seite dar. Bei dem Beispiel der 7 erzeugt
ein Drucken der Streifen 54 in der angegebenen Reihenfolge
eine Seite 52. Beim Verarbeiten der Seite 52 werden
die Streifen 54 gleichzeitig rasterisiert, komprimiert
und in den RAM 28 geschrieben.
-
8 trägt dazu
bei, das Verarbeiten der Seite 52 über einen gewissen Zeitraum
zu veranschaulichen. Die veran schaulichte Zeitlinie ist in Zeiträume – t1 bis
t8 – unterteilt.
Bei t1 wird Streifen Eins rasterisiert. Bei t2 wird Streifen Zwei
rasterisiert, und Streifen Eins wird komprimiert. Bei t3 wird Streifen Drei
rasterisiert, Streifen Zwei wird komprimiert und Streifen Eins wird
in den RAM 28 geschrieben. Der Prozeß wird fortgesetzt, bis Streifen 6 bei
t8 in den RAM 28 geschrieben wird.
-
Man
beachte, daß 8 davon
ausgeht, daß gleich
viel Zeit erforderlich ist, um einen Streifen zu rasterisieren,
komprimieren und zu schreiben. Dies ist nicht unbedingt der Fall.
Je nach der Komplexität eines
gegebenen Streifens kann es mehr oder weniger Zeit erfordern, zu
komprimieren, als zu rasterisieren. Wenn es länger dauert, zu komprimieren,
kann bzw. können
während
desselben Zeitraums, in dem ein zuvor rasterisierter Streifen komprimiert
wird, mehr als ein Streifen rasterisiert werden. Später in dem
Prozeß kann
es länger
dauern, zu rasterisieren, als zu komprimieren. Dann können mehr
als ein rasterisierter Streifen während desselben Zeitraums, während dessen
ein nachfolgender Streifen rasterisiert wird, komprimiert werden.
-
Nachdem
jeder Streifen 54 einer Seite in den RAM 28 geschrieben
wurde, bestimmt das Garantiemodul 32, ob die Streifen 54 als
Segment 42 in dem RAM 28 behalten werden sollen
oder ob die Streifen 54 transferiert werden sollen, um
ein Segment 42 auf der Platte 26 zu bilden. Nachdem
diese Entscheidung getroffen ist und das neue Segment 42 zu
dem RAM 28 oder der Platte 26 hinzugefügt wurde,
fügt das
Garantiemodul 32 zu den Metadaten 44 einen neuen
Eintrag 50 hinzu, der das neue Segment 42 darstellt.
-
FUNKTIONSWEISE:
-
Die
Funktionsweise eines Ausführungsbeispiels
der vorliegenden Erfindung wird nun unter Bezugnahme auf die Flußdiagramme
der 9 und 10 beschrieben. 9 veranschaulicht
Schritte, die unternommen werden, um einen Druckauftrag, der mehrere
gesammelte Kopien erfordert, zu verarbeiten und zu drucken. 9 ist
in zwei Abschnitte 57 und 58 unterteilt. Der Abschnitt 57 umfaßt die Schritte 59 bis 72 zum
Verarbeiten der Druckauftragsdaten und Drucken der ersten Kopie.
Der Abschnitt 58 umfaßt
Schritte 74 bis 88 zum Drucken der verbleibenden
Kopien.
-
Beginnend
bei dem Abschnitt 57 wird ein Druckauftrag, der mehrere
gesammelte Kopien erfordert, empfangen (Schritt 59), und
ein Zähler
mit einer Variablen N wird auf eins eingestellt (Schritt 60).
Der Wert der Variablen N spiegelt die aktuelle Seite des Druckauftrags
wider. Alternativ dazu könnten
die Druckauftragsdaten in die Streifen 54 unterteilt werden,
und die Variable N könnte
den aktuellen Streifen 54 darstellen. Die Steuerung 40 bestimmt,
ob Druckauftragsdaten für
die Seite N in dem RAM 28 oder auf der Platte 26 gespeichert
werden sollen (Schritt 62), und speichert anschließend die
Seite N (Schritt 64). Die Steuerung 40 aktualisiert
die Metadaten 44, so daß sie eine Bezugnahme für die Seite
N enthalten (Schritt 66). Die Seite N wird gedruckt (Schritt 68). Anschließend wird
bestimmt, ob die Seite N die letzte Seite des Druckauftrags ist
(Schritt 70). Falls dies nicht der Fall ist, wird die Variable
N inkrementiert (Schritt 72), und das Verfahren wird bei
Schritt 62 fortgesetzt.
-
Nun
sei zu Abschnitt 58 weitergegangen, wobei, falls die Seite
N die letzte Seite des Druckauftrags ist, die Variable N auf eins
zurückgesetzt
wird und ein neuer Zähler
mit der Variablen C auf zwei eingestellt wird (Schritt 74).
Die Variable C stellt die Anzahl von Kopien dar, die gedruckt wurden
oder gerade gedruckt werden. Die erste Kopie wurde während der
Schritte 62 bis 72 gedruckt. Die verbleibenden Kopien,
die mit der Kopie zwei beginnen, werden während der folgenden Schritte
gedruckt. Die Steuerung 40 liest die Metadaten 44,
um die Seite N zu identifizieren (Schritt 76). Die Seite
N wird anschließend
von der Platte 26 wiedergewonnen oder in dem RAM 28 lokalisiert
und gedruckt (Schritt 78). Anschließend wird bestimmt, ob die
Seite N die letzte Seite der Kopie C ist (Schritt 80).
Falls dies nicht der Fall ist, wird die Variable N inkrementiert
(Schritt 82), und das Verfahren wird bei Schritt 76 wiederholt.
-
Falls
die Antwort auf die bei Schritt 80 gestellte Frage Ja lautet,
wird anschließend
bestimmt, ob die letzte Kopie des Druckauftrags gedruckt wurde (Schritt 84).
Falls die Antwort Nein lautet, wird die Variable C inkrementiert,
die Variable N wird auf eins zurückgesetzt
(Schritt 86) und das Verfahren wird bei Schritt 76 wiederholt.
Falls die Antwort Ja lautet, ist der Druckauftrag abgeschlossen,
und der Speicher, der verwendet wird, um Druckauftragsdaten zu speichern,
wird gereinigt oder freigegeben (Schritt 88).
-
Unter
Bezugnahme auf 10 sind Schritte 62 und 64 ausführlicher
gezeigt. Zuerst wird ermittelt, ob Druckauftragsdaten für die vorherige
Seite des aktuellen Druckauftrags, Seite N-1, in den RAM 28 geschrieben
wurden (Schritt 62a). Falls die Antwort Nein lautet, wird
das Verfahren bei Schritt 64a fortgesetzt, wie nachfolgend
beschrieben wird. Falls die Antwort Ja lautet, identifiziert die
Steuerung 40 einen kritischen Wert (Schritt 62b).
Der kritische Wert stellt einen Speicherumfang in dem RAM 28 dar,
von dem vorausgesagt wird, daß er
ausreichend ist, um Druckdaten für
die Seite N in dem RAM 28 zu speichern. Da Druckauftragsdaten
für die
Seite N erst noch in dem RAM 28 gesichert werden müssen, ist
nicht bekannt, wieviel Speicher für die Seite N erforderlich sein
wird.
-
Der
kritische Wert kann auf verschiedene Arten berechnet werden. Der
kritische Wert für
eine Bilderzeugungsvorrichtung kann im Werk berechnet oder eingestellt
werden. Herstellertests können durchgeführt werden,
um einen durchschnittlichen Speicherumfang, der zum Speichern einer
Seite von Druckdaten erforderlich ist, zu bestimmen. Der kritische
Wert kann diesem Umfang gleichgesetzt werden. Oder, um einen Puffer
zu erzeugen, kann der Durchschnitt um einen festgelegten Prozentsatz
erhöht
werden, und der kritische Wert kann diesem erhöhten Durchschnitt gleichgesetzt
werden.
-
Der
kritische Wert kann durch den Hersteller auf andere Weise eingestellt
werden. Er kann dem größten Speicherumfang,
der zum Speichern einer Seite von Druckdaten erforderlich ist, gleichgesetzt werden.
Bevor sie komprimiert werden, erfordern rasterisierte Druckauftragsdaten
für eine
gegebene Seite denselben Speicherumfang wie die rasterisierten, jedoch
nicht komprimierten Druckauftragsdaten für jegliche andere Seite. Je
nach der Beschaffenheit einer gegebenen Seite können rasterisierte Daten für diese
Seite um einen gegebenen Prozentsatz komprimiert werden. Beispielsweise
kann ein Segment, das vorwiegend Text enthält, stärker komprimiert werden als
ein Segment, das vorwiegend Graphiken enthält. Rasterisierte Druckauftragsdaten
für ein
gescanntes Photo können
auf ein sehr kleines Maß komprimiert
werden. Um sicherzustellen, daß der Speicher,
der zum Speichern von Druckauftragsdaten erforderlich ist, niemals
den kritischen Wert überschreitet,
kann der kritische Wert dem Speicherumfang gleichgesetzt werden,
der benötigt
wird, um rasterisierte, jedoch nicht komprimierte Druckauftragsdaten
für eine
Seite zu speichern. Da fast immer ein gewisses Maß an Komprimierung
möglich
ist, kann dieser Wert um einen gegebenen Prozentsatz verringert
werden.
-
Statt
durch den Hersteller eingestellt zu werden, kann ein kritischer
Wert auch auf der Basis der historischen Verwendung einer Bilderzeugungsvorrichtung
in der Umgebung des Kunden berechnet werden. Dies ermöglicht,
daß der
kritische Wert auf der Basis der Druckgewohnheiten eines Benutzers oder
einer Gruppe von Benutzern optimiert wird. Ein kritischer Wert kann
der größte Speicherumfang
sein, der bisher erforderlich ist, um eine Seite des aktuellen Druckauftrags
in dem RAM 28 zu speichern. Er kann berechnet werden, indem
der größte Speicherumfang,
der erforderlich ist, um eine Seite einer identifizierten Anzahl
von vorherigen Seiten zu speichern, identifiziert wird. Da der größte Wert
nicht un bedingt ein geeigneter kritischer Wert ist, kann der identifizierte
größte Speicherumfang
anschließend
um einen relativ geringen Prozentsatz verringert werden.
-
Der
kritische Wert kann statt dessen ein durchschnittlicher Speicherumfang
sein, der zum Speichern einer Seite benötigt wird. Dieser Durchschnitt
kann berechnet werden, indem der Speicherumfang, der benötigt wird,
um die vorherigen Seiten des Druckauftrags (in dem RAM 28 und
auf der Platte 26) oder eine festgelegte Anzahl von vorherigen
Seiten, die zwei oder mehrere Druckaufträge umfassen, zu speichern, überwacht
wird. Um einen Puffer zu erzeugen, kann der Durchschnitt künstlich
um einen relativ geringen Prozentsatz erhöht werden, so daß er größer ist
als der tatsächliche
Durchschnitt, jedoch geringer als der größte für eine vorherige Seite benötigte Umfang.
-
Der
verfügbare
Speicher in dem RAM 28 wird überwacht (Schritt 62c),
und es wird bestimmt, ob der verfügbare Speicher den kritischen
Wert überschreitet
(Schritt 62d). Falls die Antwort Nein lautet, fährt das
Verfahren bei Schritt 64a fort, und die Druckauftragsdaten
für diese
Seite werden auf der Platte 26 gespeichert. Falls die Antwort
Nein lautet, fährt
das Verfahren bei Schritt 64c fort, und die Druckauftragsdaten
für diese
Seite werden in dem RAM 28 gespeichert.
-
Die
Seite N wird verarbeitet und auf der Grundlage der Antworten auf
die in den Schritten 62a und 62d gestellten Fragen
entweder auf der Platte 26 oder in dem RAM 28 gespeichert.
Die Schritte 64a und 64b werden erreicht, wenn
entweder Druckauftragsdaten für
eine vorherige Seite des aktuellen Druckauftrags auf einer Platte
gespeichert wurden (siehe Schritt 62a) oder der verfügbare Speicher
in dem RAM 28 einen kritischen Wert nicht überschreitet
(Schritt 62d). Bei den Schritten 64a und 64b wird die
Seite N verarbeitet und auf der Platte 26 gespeichert.
Ein Verarbeiten beinhaltet ein Rasterisieren, Komprimieren und Schreiben
in den RAM 28. Nachdem sie in den RAM 28 geschrieben
wurden, werden die Druckauftragsdaten für die Seite N an die Platte 26 transferiert.
Der Speicher, der die Seite N in dem RAM 28 hält, wird
freigegeben und kann verwendet werden, wenn eine nachfolgende Seite
verarbeitet wird.
-
Die
Schritte 64c bis 64g werden erreicht, wenn Druckauftragsdaten
für eine
vorherige Seite erfolgreich in dem RAM 28 gespeichert wurden
(siehe Schritt 62a) und der verfügbare Speicher in dem RAM 28 einen
kritischen Wert überschreitet
(Schritt 62d). Während
Seite N in dem Schritt 64c verarbeitet wird, wird der RAM 28 bezüglich eines
Speicher-Aus-Zustands überwacht
(Schritt 64d). Ein Speicher-Aus-Zustand tritt auf, wenn der verfügbare Speicher
in dem RAM 28 aufgebraucht ist. Dies liegt vor, wenn der
Speicher, der zum Speichern der aktuellen Druckauftragsdaten für die Seite
N erforderlich ist, den verfügbaren
Speicher in dem RAM 28, der bei Schritt 62c überwacht
wurde, überschreitet.
Solange ausreichend RAM vorliegt, wird die Seite N weiterhin verarbeitet
und wird vollständig
in den RAM 28 geschrieben und in demselben schreibgeschützt (Schritt 64e).
Während
das Schützen
beinhaltet, daß der
Abschnitt des RAM 28, in den die Druckauftragsdaten für eine Seite
geschrieben wurden, verriegelt wird und daß dieser Speicher nicht für andere
Zwecke freigegeben wird, bis alle Kopien dieser Seite gedruckt wurden.
-
Falls
nicht ausreichend RAM vorliegt, fährt das Verfahren bei Schritt 64f fort,
wo Druckauftragsdaten für
die Seite N-1, die in dem RAM 28 gespeicherte vorherige
Seite, an die Platte 26 gesendet werden. Der Speicher in
dem RAM 28, der zum Speichern von Druckauftragsdaten für die Seite
N-1 verwendet wird, wird freigegeben (Schritt 64g). Der
freigegebene Speicher kann dann verwendet werden, um die Seite N
zu verarbeiten, und das Verfahren wiederholt sich bei Schritt 62a.
Da die Seite N-1 nicht mehr erfolgreich in dem RAM 28 gespeichert
wurde, lautet die Antwort auf die bei Schritt 62a gestellte
Frage Nein, und die Seite N wird in dem RAM 28 verarbeitet
(Schritt 64a) und auf die Platte 26 gespeichert (Schritt 64b).
Man beachte, daß immer
noch ein Risiko besteht, daß der
Speicher, der zum Verarbeiten der Seite N benötigt wird, den in dem RAM 28 verfügbaren Speicher überschreitet
und daß ein
weiterer Speicher-Aus-Zustand auftritt. In einem solchen Fall werden
Druckdaten für
vorherige Seiten (N-2, N-3 usw.) zu der Platte 26 bewegt,
bis ausreichend Speicher freigegeben wird, um die Seite N in dem
RAM 28 zu verarbeiten.
-
Ein
Erfassen eines Speicher-Aus-Zustands bei Schritt 64d ist
ein reaktiver Lösungsansatz,
der bewirkt, daß die
vorherige Seite und die aktuelle Seite auf der Platte 26 gespeichert
werden. Im Gegensatz dazu besteht ein proaktiver Lösungsansatz
darin, eine Entscheidung, wo Druckauftragsdaten gespeichert werden
sollen, auf der Basis von bei den Schritten 62a und 62d gestellten
Fragen zu treffen. Wie in 10 gezeigt
ist, wird der proaktive Lösungsansatz
zuerst verwendet. In den meisten Fällen überschreitet der bei Schritt 62b identifizierte
kritische Wert den Speicher, der benötigt wird, um die aktuelle
Seite in dem RAM 28 zu verarbeiten. Dort, wo dies nicht
der Fall ist, wird ein reaktiver Lösungsansatz verwendet, um einen
Speicher-Aus-Zustand
zu identifizieren, so daß Druckauftragsdaten
zu der Platte 26 bewegt werden können, wodurch der notwendige
Speicher in dem RAM 28 freigegeben wird.
-
Manche
der Verfahrensschritte werden so beschrieben, daß sie durch eine bestimmte
Komponente einer Bilderzeugungsvorrichtung durchgeführt werden.
Man beachte, daß die
Verfahrensschritte auch auf andere Weise oder durch andere Komponenten,
ob diese gezeigt sind oder nicht, durchgeführt werden können. Obwohl
die Flußdiagramme der 9 und 10 eine
spezifische Ausführungsreihenfolge
zeigen, kann die Ausführungsreihenfolge von
der dargestellten abweichen. Beispielsweise kann die Ausführungsreihenfolge
von zwei oder mehr Blöcken
in bezug auf die gezeigte Reihenfolge durcheinandergeworfen werden.
Ferner können
zwei oder meh rere Blöcke,
die aufeinanderfolgend gezeigt sind, gleichzeitig oder teilweise
gleichzeitig ausgeführt
werden. Alle derartigen Variationen fallen in den Schutzumfang der
vorliegenden Erfindung.