-
Die
vorliegende Erfindung betrifft ein Peripheriegerät, das eine Mehrzahl von Funktionen
ausführen
kann, wobei jede der Funktionen durch eine der jeweiligen Funktionen
zugeordneten Firmware (FW) definiert ist.
-
Weiterhin
betrifft die Erfindung ein Computernetzwerk, das das genannte Peripheriegerät umfasst.
-
Außerdem betrifft
die Erfindung ein Verfahren zum Betreiben des genannten Peripheriegerätes in einem
Computernetzwerk.
-
Ein
Computersystem umfasst typischerweise einen oder mehrere Drucker,
die ein Muster auf ein Druckmedium, wie zum Beispiel Papier, abbilden, und
es Benutzern des Systems ermöglichen,
Druckkopien verschiedener Typen von Dokumenten zu ”drucken”. Mehrmodendrucker
werden zunehmend beliebt bei Personalcomputersystemen, die zusätzlich zum
Drucken von Dokumenten auch andere Funktionalität liefern, wie zum Beispiel
Scannen, Kopieren und Faxen von Dokumenten. Ein typischer Mehrmodendrucker
umfasst eine Steuerung, die Bildverarbeitung von Bildern durchführt, die
durch den Drucker verarbeitet werden, und die auch den Betrieb steuert,
von die Druck-, Scan-, Kopier- und Faxuntersystemen in dem Drucker
enthalten sind. Die Steuerung kommuniziert auch mit einem Hostcomputersystem,
mit dem der Drucker verbunden ist, um Bilddaten zu empfangen, die
gedruckt werden sollen, und auch um Steuereingaben zu empfangen, die
den Betrieb des Mehrmodendruckers in den verschiedenen Funktionsweisen
steuern. Beispielsweise kann ein Benutzer des Hostcomputersystems
die Auflösung
eines Bildes einstellen, das während
einer Scanfunktionsweise gescannt werden soll, oder die Farben des
Kontrasts einer Kopie einstellen, die gemacht wird.
-
Die
Steuerung ist typischerweise aus einer anwendungsspezifischen integrierten
Schaltung (ASIC) gebildet, die einen RISC-Prozessor (RISC = reduced
instruction set computing) und eine anwendungsspezifische Bildverarbeitungsschaltungsanordnung
umfasst, die in Kombination arbeiten, um verschiedene Steuerungs-
und Bilderzeugungsprozesse auszuführen, um den Gesamtbetrieb
des Mehrmodendruckers zu steuern. Typische Bilderzeugungsprozesse
können
die Umwandlung von dem Rot-Grün-Blau
(”RGB”) Farbraum
zu dem Cyan-, Magenta-, Gelb- und Schwarz-(”CYMK”)Farbraum umfassen, zusammen
mit dem Skalieren und der Gammaumwandlung der Eingangsbilddaten,
wie es für
einen Fachmann auf diesem Gebiet klar ist.
-
Typische
Steuerprozesse umfassen die Steuerung der mechanischen Komponenten
des Druckuntersystems, wie zum Beispiel Papierzufuhrvorrichtungen
und einen Druckkopf und die Steuerung eines Abtastkopfs während dem
Abtasten eines Dokuments zusammen mit der Erzeugung einer entsprechenden
Bilddatei. Herkömmliche
Mehrmodendrucker haben einen festen Satz von Funktionalität, der durch
die Firmware definiert ist, die in dem Speicher in dem Drucker gespeichert
ist, und in Treibersoftware, die auf dem Hostcomputersystem läuft. Die Steuerungs-ASIC
führt Softwarebefehle
aus, die der Firmware entsprechen, sodass die Firmware und die Treibersoftware
zusammen die Funktionalität
des Druckers definieren. In einem solchen System ist ein Gesamtsatz
von Funktionen des Druckers festgelegt, wobei spezifische Parameter
dann ausgewählt
und eingestellt werden, um die verschiedenen Funktionen des Druckers
zu steuern. Als Folge muss die Firmware, die durch die Steuerung
in dem Drucker ausgeführt
wird, alle Funktionen in diesem Gesamtsatz unterstutzen, unabhängig davon,
ob eine bestimmte Funktion zu einem bestimmten Zeitpunkt verwendet
wird. Dies führt
zu komplexerer Firmware und Treibersoftware zum Unterstutzen dieses
Gesamtsatzes von Funktionen. Komplexere Software und Firmware kann
auch eine komplexere Steuerungs-ASIC in der Form einer komplexeren
Bildverarbeitungsschaltungsanordnung und einem leistungsfähigeren
RISC-Prozessor erfordern. Ferner erhöht die komplexere Firmware
die erforderliche Kapazität des
Speichers in dem Drucker zum Speichern der Firmware. Eine komplexere
Steuerung und erhöhte Speicheranforderungen
erhöhen
alle die Kosten des Druckers. Darüber hinaus ist bei einem solchen
herkömmlichen
Mehrmodendrucker der Betrieb der Druckersteuerung und somit des
Satzes von Gesamt funktionen, die durch den Drucker unterstützt werden,
auf einen vordefinierten Satz beschränkt. Die Firmware für diesen
Satz von Funktionen muss im Speicher gespeichert werden und für eine Ausführung durch
die Steuerung verfugbar sein, selbst wenn nur ein kleiner Teil der
Firmware, der ausgewählten Funktionen
entspricht, tatsächlich
zu einem bestimmten Zeitpunkt ausgeführt wird. Obwohl sich die obige Beschreibung
auf Mehrmodendrucker bezieht, gelten die Konzepte genauso gut für andere
Peripheriegeräte
in Computersystemen. Beispielsweise muss bei einem Einmodendrucker,
der nur Dokumente druckt, die Firmware für alle verschiedenen Funktionsweisen,
wie zum Beispiel Entwurf, Briefqualität, Farbe, Schwarz-Weiß, usw.
alle in der Steuerung in dem Drucker gespeichert sein.
-
Aus
der
US 2004/0015952
A1 , der
EP
1 387 268 A2 und der nachveröffentlichten
DE 102 50 179 A1 sind Ansätze bekannt,
um Firmware in digitalen Schaltungen zu aktualisieren. Insbesondere
beschreibt die
US
2004/0015952 A1 ein Verfahren zum Downladen von Firmwareupgrades
in einen non-volatilen Speicher einer fernprogrammierbaren Vorrichtung über ein
Kommunikationsnetzwerk. Ferner beschreibt die
DE 102 50 179 A1 ein Verfahren
und eine Einrichtung zum Betreiben eines Datenverarbeitungs-Systems
bei sich ändernder
Firmware, während
die
EP 1 387 268 A2 eine
bilderzeugende Vorrichtung beschreibt, die Anwendungen enthält, die verschiedene
Bildverarbeitungen ermöglicht.
-
Außerdem offenbart
EP 1 376 344 A2 eine Vorrichtung,
insbesondere eine Drucker, bei dem ein Aktualisierung der Firmware
möglich
ist.
-
Schließlich offenbart
US 2002/0144005 A1 ein
Datenkommunikationsprogramm, das eine Kommunikation bezüglich einer
Firmware über
das Internet ermöglicht.
Ein wesentlicher Aspekt ist das Versenden eines Firmware-Updates
in kleineren Paketen, die per Email versendet werden können.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Peripheriegerät und ein
Verfahren zum Betreiben eines Peripheriegeräts in einem Computersystem
derart zu schaffen, dass die Kosten des Peripheriegeräts bei gleichzeitiger
Schaffung einer flexiblen Funktionalität des Peripheriegeräts reduziert
werden.
-
Diese
Aufgabe wird durch ein Gerät
gemäß Anspruch
1 und ein Verfahren gemäß Anspruch
18 gelöst.
-
Die
vorliegende Erfindung schafft ferner ein Computernetzwerk mit dem
Peripheriegerät.
-
Ein
Aspekt der vorliegenden Erfindung ist ein Verfahren zum Betreiben
eines Peripheriegeräts
in einer Mehrzahl von Funktionsweisen. Das Gerät kann Teil eines Computersystems
sein, das einen Hostcomputer umfasst, und das Verfahren umfasst das
Auswählen
einer Funktionsweise des Geräts. Ansprechend
auf die Auswahl der Funktionsweise wird Firmware zu dem Gerät übertragen,
wobei die Firmware der ausgewählten
Funktionsweise entspricht. Die Firmware wird in dem Gerät gespeichert und
in dem Gerät
ausgeführt,
um das Gerät in
der ausgewählten
Funktionsweise zu betreiben. Das Gerät kann ein Drucker oder ein
anderes Peripheriegerät
sein, das eine Mehrzahl von Funktionsweisen aufweist.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
beiliegende Zeichnungen näher
erläutert. Es
zeigen:
-
1 ein
Funktionsblockdiagramm eines Computernetzwerks, das einen Drucker
umfasst, der eine programmierbare Drucksteuerung gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung enthält;
-
2 einen
Prozess, der durch ein Druckerprogramm, das auf einem Hostcomputer 106 in
dem Computernetzwerk von 1 läuft, und die programmierbare
Drucksteuerung in dem Drucker ausgeführt wird, zum Übertragen
ausgewählter
Firmware zu der programmierbaren Drucksteuerung gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung; und
-
3 ein
Flussdiagramm, das eine Aktualisierungsroutine darstellt, die während dem
Prozess von 2 ausgeführt wird, zum Bestimmen, ob
eine aktualisierte Version der Firmware und des Druckerprogramms
verfügbar
sind und zum Herunterladen solcher Firmware und eines solchen Druckerprogramms
zu dem Computer.
-
1 ist
ein Funktionsblockdiagramm eines Computernetzwerks 100,
das einen Drucker 102 umfasst, der eine programmierbare
Drucksteuerung 104 enthält,
die ausgewählte
Firmware ausführt,
um den Betrieb des Druckers gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zu steuern. Das Computernetzwerk 100 umfasst
einen Hostcomputer 106, der ein Druckerprogramm 108 ausführt, das
mit der programmierbaren Drucksteuerung 104 kommuniziert,
um ausgewählte
Firmware und Druckdaten zu dem Drucker zu übertragen, und der auch mit
einem Webserver 110 kommuniziert, um aktualisierte Versionen
ausgewählter
Firmware an das Druckerprogramm zu liefern und um aktualisierte
Versionen des Druckprogramms selbst auf dem Hostcomputer zu installieren,
wie es nachfolgend näher
erklärt
wird. In dem Netzwerk 100 muss der Drucker 102 nur
ausreichend Speicher umfassen, um die Firmware für jede einzelne Funktion zu
speichern, die durch die programmierbare Drucksteuerung 104 ausgeführt werden
soll, wodurch die Gesamtkapazität
des Speichers reduziert wird, die im Vergleich zu einem herkömmlichen
Drucker erforderlich ist, da nicht alle die Firmware für alle Funktionsweisen
des Druckers in dem Drucker gespeichert werden muss. Darüber hinaus
ermöglicht
die programmierbare Drucksteuerung 104 einen dynamischen
Betrieb des Druckers 102, da die Firmware, die zu der Steuerung übertragen wird,
aktualisiert werden kann. Dies ermöglicht es, dass die Qualität des Betriebs
des Druckers 102 verbessert wird und neue Merkmale zu der
Gesamtfunktionalität
des Druckers hinzugefügt
werden.
-
Bei
der folgenden Beschreibung werden bestimmte Einzelheiten in Verbindung
mit den beschriebenen Ausführungsbeispielen
der vorliegenden Erfindung aufgeführt, um ein ausreichendes Verständnis der
Erfindung zu liefern. Ein Fachmann auf diesem Gebiet wird jedoch
erkennen, dass die Erfindung ohne diese bestimmten Einzelheiten
praktiziert werden kann. Ferner wird ein Fachmann auf diesem Gebiet
erkennen, dass die beispielhaften Ausführungsbeispiele, die nachfolgend
beschrieben sind, den Schutzbereich der vorliegenden Erfindung nicht
beschränken
und wird auch erkennen, dass verschiedene Modifikationen, Äquivalente
und Kombinationen der offenbarten Ausführungsbeispiele und Komponenten
solcher Ausführungsbeispiele
innerhalb des Schutzbereichs der vorliegenden Erfindung liegen.
Ausführungsbeispiele,
die weniger als alle die Komponenten von jedem der jeweils beschriebenen Ausführungsbeispiele
umfassen, können
auch innerhalb des Schutzbereichs der vorliegenden Erfindung liegen,
obwohl dies nachfolgend nicht ausdrücklich beschrieben wird. Schließlich wurde
der Betrieb gut bekannter Komponenten und/oder Prozesse nicht gezeigt
oder näher
beschrieben, um das unnötige Undeutlichmachen
der vorliegenden Erfindung zu vermeiden.
-
Die
programmierbare Steuerung 104 umfasst Steuerschaltungsanordnung 112,
die mit dem Druckerprogramm 108 kommuniziert, das auf dem Hostcomputer 106 ausgeführt wird.
Die Steuerschaltungsanordnung 112 führt auch Firmware FW aus, die
in einem Direktzugriffsspeicher (RAM) 114 gespeichert ist
und erzeugt eine Mehrzahl von Steuersignalen zum Steuern des Betriebs
des Druckers 102. Außerdem
ist in dem RAM 114 ein Versionsindikator „FW-Version” gespeichert,
der die Version der Firmware anzeigt, die durch die Schaltungsanordnung 112 ausgeführt wird,
zusammen mit einem Flag „FW
Loaded Flag”,
das anzeigt, ob Firmware aktuell in dem RAM geladen ist. Der RAM 114 speichert auch
eine Bilddaten-ID, die durch die Bildverarbeitungsschaltungsanordnung 116 unter
der Steuerung der Steuerschaltungsanordnung 112 verarbeitet
wird, wie es nachfolgend näher
beschrieben wird.
-
Die
Steuerung 104 umfasst ferner einen nichtflüchtigen
Speicher 118, der eine Mehrzahl von Programmen und Parametern
umfasst, die durch die Schaltungsanordnung 112 beim Steuern
des Betriebs des Druckers 102 ausgeführt und verwendet werden. In
dem nichtflüchtigen
Speicher 118 ist ein Firmwareherunterladeprogramm FW Download
Program gespeichert, das die Schaltungsanordnung 112 ausführt, um
Firmware FW von dem Hostcomputer 106 herunterzuladen und
die Firmware in dem RAM 114 zu speichern. Die Schaltungsanordnung 112 führt auch
ein Integritätsprüfprogramm
FW Integrity Check durch, das in dem nichtflüchtigen Speicher 118 gespeichert
ist, um die Gültigkeit
oder Integrität der
Firmware FW, die in dem RAM 114 gespeichert ist, vor dem
Ausführen
dieser Firmware zu verifizieren. Der nichtflüchtige Speicher 118 speichert
auch eine Daten-PC-Version, die die aktuelle Version der programmierbaren
Steuerung 114 anzeigt.
-
Die
Steuerschaltungsanordnung 112 steuert auch mechanische
Komponenten 122 zum Erzeugen eines Bildes, das der Bilddaten-ID
entspricht. Beispielsweise würden
die mechanischen Komponenten 122 typischerweise einen Druckkopf
zum Übertragen von
Tinte auf Papier und eine Papierzuführungsvorrichtung umfassen,
und die Steuerschaltungsanordnung entwickelt Signale zum Steuern
des Betriebs der mechanischen Komponenten beim Drucken eines Bildes
auf einem Stück
Papier. Der Drucker 102 umfasst ferner eine Benutzerschnittstelle 124,
die es einem Benutzer des Druckers ermöglicht, Auswahleingaben zum
Steuern des Betriebs des Druckers zu liefern. Beispielsweise würde die
Benutzerschnittstelle 124 typischerweise Knöpfe umfassen,
die es einem Benutzer ermöglichen,
den Drucker 102 ein- und auszuschalten, einen Druckauftrag
anzuhalten, usw., und können
auch Knöpfe
umfassen, um es einem Benutzer zu ermöglichen, eine Funktionsweisenanforderung
anzulegen, um eine gewünschten Funktionsweise
des Druckers auszuwählen,
wie zum Beispiel Druck-, Scan-, Kopier- oder Faxmodus, wo die Drucksteuerung 104 und
die mechanischen Komponenten 122 Untersysteme zum Unterstützen dieser
unterschiedlichen Funktionsweisen umfassen.
-
Der
Hostcomputer 106 umfasst das Druckerprogramm 108,
das Daten empfängt,
die von einem Anwendungsprogramm 126 gedruckt werden sollen, das
auf dem Hostcomputer läuft
und diese Daten verarbeitet, um die Daten in druckerbereite Daten
(Printer-Ready-Data) umzuwandeln, die in einem Speicher 128 gespeichert
werden und danach zu der Steuerschaltungsanordnung 112 in
dem Drucker 102 übertragen
werden, für
Speicherung in dem RAM 114. Außerdem greift das Druckerprogramm 108 auch
auf Daten und Programme zu, die in dem Speicher 128 gespeichert
sind, zum Steuern der Übertragung
ausgewählter
Firmware FW zu dem Drucker 102, ansprechend auf die Auswahleingaben.
Die Auswahleingaben können
von der Schaltungsanordnung 112 in dem Drucker 102 empfangen
werden, wo ein Benutzer eine Funktionsweise über die Benutzerschnittstelle 124 auswählt, oder
die Auswahleingaben können durch
einen Benutzer des Hostcomputers 106 an das Druckerprogramm 108 angelegt
werden. Die Daten, die in dem Speicher 128 gespeichert sind,
umfassen eine PP-Version die die aktuelle Version des Druckerprogramms 108 anzeigt,
eine PC-Version,
die die aktuelle Version der programmierbaren Steuerung 104 in
dem Drucker 102 erzeugt, und eine FW-Version, die die aktuelle Version der
Firmware anzeigt, die zu der programmierbaren Steuerung für die Ausführung übertragen
werden kann. Der Betrieb des Druckerprogramms 108 beim Verwenden
dieser verschiedenen Datenfelder, die in dem Speicher 128 gespeichert
sind, wird nachfolgend näher
beschrieben. Die tatsächliche
Firmware FW, die zu der programmierbaren Steuerung 104 für die Ausführung übertragen
werden kann, ist ebenfalls in dem Speicher 128 gespeichert,
und ist angezeigt als gebildet durch eine Mehrzahl einzelner Firmwaresegmente
FW1–FWN.
Abhängig
von der ausgewählten
Funktionsweise des Druckers 102 wird nur die entsprechende
eine oder einzelne dieser Firmwaresegmente FW1–FWN zu der Steuerung 104 in dem
Drucker 102 übertragen,
für Speicherung
in dem RAM 114, wie es ebenfalls nachfolgend näher erklärt wird.
-
In
dem Computernetzwerk 100 kommuniziert der Webserver 110 mit
dem Hostcomputer 106 durch ein geeignetes Kommunikationsnetzwerk 130,
wie zum Beispiel das Internet. Der Server 110 umfasst Websitesoftware 132 zum
Bilden einer Schnittstelle mit dem Hostcomputer 106 und
anderen Computern, die mit der Website kommunizieren, die der Websitesoftware
entspricht. Die Websitesoftware 132 ermöglicht es dem Druckerprogramm 108 entweder automatisch
oder unter der Steuerung eines Benutzers des Hostcomputers 106,
auf den Server 110 zuzugreifen und zu bestimmen, ob Updates
des Druckerprogramms 108 oder der Firmware FW für den Drucker 102 verfügbar sind.
Wenn solche Updates verfügbar
sind, überträgt die Websitesoftware 132 ein
Update beziehungsweise Aktualisierungsprogramm 134 zu dem
Hostcomputer 106. Dieses Aktualisierungsprogramm 134 umfasst
die aktuellsten Versionen der Firmware FW, des Druckerprogramms 108,
das in dem Speicher 134 als PP bezeichnet ist, zusammen
mit den aktuellsten Versionen der Firmware und des Druckerprogramms
und den Versionen der Druckersteuerung 104, mit denen diese
aktuellsten Versionen kompatibel sind.
-
Der
Gesamtbetrieb des Computernetzwerks 100 von 1 wird
nun mit Bezugnahme auf 1 und das Flussdiagramm von 2 näher beschrieben.
-
2 stellt
einen Prozess dar, der durch das Druckerprogramm 108, das
auf dem Hostcomputer 106 läuft, und die programmierbare
Drucksteuerung 104 in dem Drucker 102 ausgeführt wird,
zum Übertragen
ausgewählter
Firmware FW zu der programmierbaren Drucksteuerung gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Bevor der Prozess von 2 beginnt,
wird angenommen, dass das Anwendungsprogramm 126 auf dem
Hostcomputer 106 Daten, die gedruckt werden sollen, an
das Druckerprogramm 108 geliefert hat und/oder eine Funktionsanforderung,
die einer Funktionsweise entspricht, in der der Drucker 102 arbeiten
soll, zu dem Druckerprogramm geliefert wurde. Wo der Drucker 102 beispielsweise
ein Mehrmodendrucker ist und Scan- und Kopierfunktionalität umfasst,
kann die Funktionsanforderung von dem Anwendungsprogramm 126 einer
Anforderung entsprechen, die durch das Druckerprogramm 108 erzeugt
wird, um den Drucker 102 entweder in die Scan- oder die
Kopierfunktionsweise zu platzieren. Bei der folgenden Beschreibung
wird angenommen, dass die Funktionsweise des Druckers 102 ein
Druckmodus ist, in dem Daten, die von dem Anwendungsprogramm 126 geliefert
werden, gedruckt werden sollen.
-
Wenn
dies auftritt, beginnt der Prozess bei Schritt 200 und
fährt bei
Schritt 202 fort, bei dem das Druckerprogramm 108 die
empfangenen Daten in eine druckerbereite Form formatiert, die durch
die programmierbare Drucksteuerung 104 verarbeitet werden
kann. Beispielsweise kann das Druckerprogramm 108 die Daten,
die gedruckt werden sollen, gemäß einer
Seitenbeschreibungssprache (PDL; PDL = page descrip tion language)
formatieren, wie zum Beispiel der Druckersteuerungssprache (PCL; PCL
= printer control language), die von Hewlett-Packard verwendet wird,
oder durch Postscript-Sprache, die von Adobe verwendet wird, wie es
für Fachleute
auf diesem Gebiet klar ist.
-
Der
Prozess geht dann zu Schritt 206 und das Druckerprogramm 108 und
die Schaltungsanordnung 112 kommunizieren, um zu bestimmen,
ob das Firmwaresegment FW1–FWN,
das der ausgewählten Funktionsweise
des Druckers 102 entspricht, bereits in dem RAM 114 in
der programmierbaren Drucksteuerung 104 gespeichert ist.
Um diese Bestimmung durchzuführen,
liest die Schaltungsanordnung 112 das FW Loaded Flag, das
in dem RAM 114 gespeichert ist und bestimmt, ob dieses
Flag gesetzt ist, was anzeigt, dass die Firmware in dem RAM geladen ist
oder ob das Flag zurückgesetzt
ist, was anzeigt, dass die Firmware nicht geladen ist. Falls die
Bestimmung negativ ist, geht der Prozess zu Schritt 208 und das
Firmwaresegment FW1–FWN,
das der ausgewählten
Funktionsweise des Druckers 102 entspricht, wird zu der
Verarbeitungssteuerschaltungsanordnung 112 übertragen,
die wiederum die Firmware in dem RAM 114 speichert und
das FW Loaded Flag setzt. Der Prozess kehrt dann zu Schritt 206 zurück, wo die
Bestimmung, ob das richtige Firmwaresegment FW1–FWN in der Steuerung 104 gespeichert
ist, nun positiv ist und der Prozess schreitet dann zu Schritt 210 fort.
Falls die Bestimmung in Schritt 206 anfangs positiv ist,
schreitet der Prozess unmittelbar zu Schritt 210 fort.
-
Bei
Schritt 210 führt
die Schaltungsanordnung 112 das FW-Integrity-Check-Programm durch, um die
Identität
des Firmwaresegments FW1–FWN zu
verifizieren, das in dem RAM 114 gespeichert ist, vor dem
Ausführen
dieses Firmwaresegments, und liefert eine Anzeige der Ergebnisse
dieser Integritätsprüfung an
das Softwareprogramm 108. Der Prozess geht zu Schritt 212 und
bestimmt, ob die Integritätsprüfung erfolgreich
war. Falls die Integritätsprüfung nicht
erfolgreich war, was einen Fehler in dem Firmwaresegment FW1–FWN an zeigt,
das in dem RAM 114 gespeichert ist, kehrt der Prozess zu
Schritt 208 zurück
und das Firmwaresegment wird erneut zu der Verarbeitungssteuerschaltungsanordnung 112 übertragen.
Falls die Integritätsprüfung erfolgreich
ist, schreitet der Prozess zu Schritt 218 fort.
-
Das
Druckerprogramm 108 überträgt dann die
druckbereiten Daten, die in dem Speicher 128 gespeichert
sind, unter der Steuerung der Steuerschaltungsanordnung 112 zu
dem RAM 114. Diese druckbereiten Daten werden in dem RAM 114 als
die Bilddaten-ID gespeichert, und die Bildverarbeitungsschaltungsanordnung 116 verarbeitet
dann diese Daten zum Drucken. Dieses Verarbeiten würde normalerweise
die Schritte, wie zum Beispiel Farbraumumwandlungen, Bildverbesserungen
und die Ausführung
anderer Algorithmen umfassen, die notwendig sind, um die Daten zum
Drucken vorzubereiten, wie es für
Fachleute auf diesem Gebiet klar ist. Bei einem Ausführungsbeispiel
umfasst die Bildverarbeitungsschaltungsanordnung 116 einen
Digitalsignalprozessor zum Durchführen einer solchen Bildverarbeitung. Die
Verwendung eines Digitalsignalprozessors liefert Flexibilität beim Betrieb
und der Leistungsfähigkeit des
Druckers 102, da die Bildverarbeitungsfirmware FW für eine bestimmte
Funktion (oder eine Kombination von Funktionen) nach Bedarf in die
Steuerung 104 heruntergeladen werden kann. Bei einem weiteren
Ausführungsbeispiel
der Bildverarbeitungsschaltungsanordnung 116 umfasst die
Schaltungsanordnung mehrere Digitalsignalprozessoren, die parallel arbeiten,
um die erforderliche Bildverarbeitung durchzuführen. Paralleles Verarbeiten
der druckbereiten Daten verbessert die Geschwindigkeit des Druckers 102.
-
Sobald
die gewünschten
Daten bei Schritt 220 auf eine oder mehrere Seiten gedruckt
wurden, schreitet der Prozess zu Schritt 222 fort und endet. Bei
einem Ausführungsbeispiel,
wenn der Prozess in Schritt 220 endet, löscht die
Steuerschaltungsanordnung 112 das Firmwaresegment FW1–FWN, das
in dem RAM 114 gespeichert ist, in der Erwartung, dass eine weitere
Funktionsbetriebsweise des Druckers 102 ausgewählt wird.
-
Mit
der programmierbaren Drucksteuerung 104 muss der Drucker 102 nur
ausreichend Speicher enthalten, um das spezifische Firmwaresegment FW1–FWN zu
speichern, das aktuell durch die programmierbare Drucksteuerung 104 ausgeführt wird. Auf
diese Weise ermöglicht
es die programmierbare Drucksteuerung 104, dass nur das
Firmwaresegment FW1–FWN,
das der ausgewählten
Funktionsbetriebsweise entspricht, in dem RAM 114 gespeichert ist,
um den Drucker 102 in dieser Funktionsweise zu betreiben.
Im Gegensatz dazu sind mit einem herkömmlichen Drucker die Firmware
für alle
Funktionsweisen des Druckers im Speicher in dem Drucker gespeichert
und nur Teile dieser Firmware werden zu jedem Zeitpunkt ausgeführt, ansprechend
auf die ausgewählte
Funktionsbetriebsweise. Die programmierbare Drucksteuerung 104 reduziert
die erforderliche Kapazität
des RAM 114 im Vergleich zu einem herkömmlichen Drucker, weil nur
das Firmwaresegment FW1–FWN
für die
ausgewählte
Funktionsweise in dem RAM 114 gespeichert werden muss.
Wie es vorher erwähnt
wurde, ermöglicht
die programmierbare Drucksteuerung 104 auch den dynamischen
Betrieb des Druckers 102, da die Firmwaresegmente FW1–FWN, die
zu der Steuerung 112 übertragen werden,
aktualisiert werden können,
um die Betriebsqualität
des Druckers 102 zu verbessern oder die Gesamtfunktionalität des Druckers
zu verbessern oder derselben Merkmale hinzuzufügen.
-
3 ist
ein Flussdiagramm, das eine Aktualisierungsroutine darstellt, die
durch das Druckerprogramm 108 von 2 ausgeführt wird,
zum Bestimmen, ob aktualisierte Versionen der Firmware FW und des
Druckerprogramms verfügbar
sind, und zum Herunterladen solcher Firmware und eines solchen Druckerprogramms
zu dem Hostcomputer 106. Typischerweise wird diese Aktualisierungsroutine
nur gelegentlich ausgeführt.
Beispielsweise würde
die Aktualisierungsroutine jeden Tag zu einer vorbestimmten Zeit
ausgeführt,
wenn es unwahrscheinlich ist, dass ein Benutzer den Hostcomputer 106 verwendet,
wie zum Beispiel um 3 Uhr, wenn der Benutzer schläft, oder
um 13 Uhr, wenn der Benutzer bei der Arbeit ist. Die Aktualisierungsroutine
könnte selbstverständlich auch
ansprechend auf andere Bedingungen ausgeführt werden. Das Flussdiagramm von 3 wird
nun mit Bezugnahme auf 1–3 erklärt. Die
Aktualisierungsroutine beginnt bei Schritt 300 und geht
zu Schritt 302, um zu bestimmen, ob der Hostcomputer 106 mit
dem Internet 130 verbunden ist. Falls der Computer 106 nicht mit
dem Internet 130 verbunden ist, können keine Aktualisierungen
von dem Webserver 110 heruntergeladen werden und der Prozess
geht zu Schritt 304 und endet dann bei Schritt 306.
Falls der Computer 106 mit dem Internet 130 verbunden
ist, bestimmt die Aktualisierungsroutine dann, ob ein Autoaktualisierungsmerkmal
des Druckerprogramms 108 bei Schritt 303 aktiviert
ist. Der Benutzer des Hostcomputers 106 kann das Autoaktualisierungsmerkmal deaktivieren,
falls automatische Aktualisierungen für das Druckerprogramm 108 und
die Firmware FW nicht gewünscht
sind, in diesem Fall geht der Prozess erneut zu Schritt 304 und 306 und
endet.
-
Wenn
das Autoaktualisierungsmerkmal freigegeben ist, geht der Prozess
zu Schritt 305 und das Druckerprogramm 108 bestimmt,
ob aktualisierte Versionen der Firmware FW und des Druckerprogramms
verfügbar
sind. Beim Durchführen
dieser Bestimmung vergleicht das Druckerprogramm 108 die
PC-Version für die programmierbare
Drucksteuerung 104 in dem Drucker 102 mit den
PC-Versionen, die auf dem Webserver 110 enthalten sind,
für die
Aktualisierungen verfügbar
sind. Falls keine aktualisierten Versionen verfügbar sind, geht der Prozess
erneut zu Schritt 304 und 306 und endet. Wenn
das Druckerprogramm 108 in Schritt 305 bestimmt,
dass aktualisierte Versionen der Firmware FW und des Druckerprogramms
verfügbar
sind, geht die Aktualisierungsroutine zu Schritt 307 und
bestimmt, ob die Firmwareversion FW-Version der aktuellen Firmware kompatibel
ist mit der Version PC-Version
der Drucksteuerung 104 und der Version PP-Version des Softwareprogramms.
Die Versionen FW-Version, PC-Version und PP-Version sind alle in
dem Speicher 128 in dem Hostcomputer 106 gespeichert,
und das Softwareprogramm 108 vergleicht lediglich diese Version
beim Durchführen
dieser Bestimmung. Falls die Bestimmung in Schritt 307 negativ
ist, geht der Prozess zu den Schritten 304 und 306 und
endet. Bei dieser Situation ist die aktualisierte Firmware FW von dem
Webserver 110 aus irgendeinem Grund inkompatibel mit der
Steuerung 104 und anderer Hardware in dem Drucker 102.
-
Wenn
die Bestimmung in Schritt 307 anzeigt, dass die FW-Version kompatibel
ist mit der PP-Version und der PC-Version geht der Prozess zu Schritt 308 und
lädt diese
Programme von dem Webserver 110 herunter. Von Schritt 308 geht
der Prozess zu Schritt 312 und das Erste, was die Aktualisierungsroutine
macht, ist das Durchführen
einer Integritätsprüfung der
neuen Firmware FW, die in dem Speicher 128 auf dem Hostcomputer 106 gespeichert
ist. Falls die Integritätsprüfung in
Schritt 314 fehlschlägt,
was bedeutet, dass in der aktualisierten Firmware FW, die von dem
Webserver 110 heruntergeladen wird, ein Fehler vorliegt,
geht der Prozess erneut zu Schritt 304 und 306 und
endet.
-
Wenn
Schritt 314 bestimmt, dass die Integritätsprüfung der neuen Firmware FW
erfolgreich war, was anzeigt, dass keine Fehler in der aktualisierten Firmware
FW sind, die von dem Webserver 110 heruntergeladen wird,
geht der Prozess zu Schritt 316 und die Aktualisierungsroutine
speichert eine Kopie der aktualisierten Firmware FW in dem Speicher 128 auf
dem Hostcomputer 106. An diesem Punkt installiert die Aktualisierungsroutine
die aktualisierte Version des Druckerprogramms 108 auf
dem Hostcomputer 106 und leitet die Ausführung dieser
neuen Version des Druckerprogramms ein. Die aktualisierte Version
des Druckerprogramms 108 wird nun auf dem Hostcomputer 106 ausgeführt und
der Prozess geht dann zu Schritt 306 und endet.
-
Obwohl
verschiedene Ausführungsbeispiele und
Vorteile der vorliegenden Erfindung in der vorhergehenden Beschreibung
aufgeführt
wurden, ist die obige Offenbarung nur darstellend und bei Einzelheiten
können Änderungen
durchgeführt
werden und dennoch innerhalb den breiten Prinzipien der vorliegenden
Erfindung bleiben. Darüber
hinaus können die
Funktionen, die durch die in 1 dargestellten Blöcke durchgeführt werden,
kombiniert werden, um durch weniger Elemente durchgeführt zu werden,
getrennt werden und durch mehr Elemente durchgeführt werden oder in andere Funktionsblöcke kombiniert
werden, abhängig
von den tatsächlichen
Komponenten, die in dem Drucker 102 und dem Computernetzwerk 100 verwendet
werden, wie es für
Fachleute auf diesem Gebiet klar ist. Daher ist die vorliegende
Erfindung nur durch die angehängten
Ansprüche
begrenzt.