DE10251553B4 - Verfahren und System zum Drucken von Netzdokumenten - Google Patents

Verfahren und System zum Drucken von Netzdokumenten Download PDF

Info

Publication number
DE10251553B4
DE10251553B4 DE10251553A DE10251553A DE10251553B4 DE 10251553 B4 DE10251553 B4 DE 10251553B4 DE 10251553 A DE10251553 A DE 10251553A DE 10251553 A DE10251553 A DE 10251553A DE 10251553 B4 DE10251553 B4 DE 10251553B4
Authority
DE
Germany
Prior art keywords
print
document
ready
network
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10251553A
Other languages
English (en)
Other versions
DE10251553A1 (de
Inventor
Robert Sesek
Christian Struble
David Slack
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
Publication of DE10251553A1 publication Critical patent/DE10251553A1/de
Application granted granted Critical
Publication of DE10251553B4 publication Critical patent/DE10251553B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Verfahren, das in einer Druckvorrichtung implementiert ist, die einen Cache-Speicher (284, 166) zum Speichern einer Mehrzahl von Netzdokumenten umfasst, wobei das Verfahren folgende Schritte aufweist:
Empfangen (302) einer Anforderung, ein Netzdokument zu drucken;
Prüfen (304), ob das Netzdokument in einem druckbereiten Format in dem Cache-Speicher vorliegt; und
falls das Netzdokument in dem Cache-Speicher in dem druckbereiten Format vorliegt, Erhalten (310) des Netzdokuments von dem Cache-Speicher zum Drucken, und andernfalls Erhalten (306) des Netzdokuments von einer entfernten Quelle und Konvertieren (232) des Netzdokuments in ein druckbereites Format zum Drucken.

Description

  • Diese Erfindung bezieht sich auf ein Verfahren und ein System zum Drucken von Netzdokumenten, insbesondere auf ein druckerbasiertes Vorab-Ripping (RIPPING = Raster Image Processing = Rasterbildverarbeitung) und Cache-Speichern von Netzdokumenten.
  • In dem Maße, wie die Computertechnologie fortschreitet, finden sich Computer immer häufiger in Privathaushalten, Unternehmen und andernorts, und ermöglichen es Benutzern, eine zunehmend breite Vielfalt von Aufgaben zu erfüllen. In dem Maße, wie Computer immer mehr verbreitet sind, sind sie zudem auch stärker miteinander verbunden. Lokale Netze sind mittlerweile in Unternehmen üblich und finden sich immer häufiger in Privathaushalten. Ferner sind diese lokalen Netze immer stärker mit Weitverkehrsnetzen (z. B. dem Internet) verbunden, was eine Kommunikation unter Computern in der ganzen Welt ermöglicht.
  • Eine Aufgabe, die viele Benutzer oft gerne mit ihren Computern erfüllen, besteht darin, Dokumente auszudrucken, die von anderen Quellen über das Netz wiedererlangt werden. Beispielsweise kann es sein, daß Benutzer auf Servercomputer zugreifen, um Dokumente wiederzuerlangen und um diese Dokumente auf einem Drucker ausdrucken zu lassen, der entweder über ein Netz oder direkt auch mit ihrem Computer gekoppelt ist. Angesichts der Rechenleistung vieler moderner Computer können die zu druckenden Dokumente jedoch ziemlich komplex sein und ein beträchtliches Maß an Zeit erfordern, um an den Drucker (über den Computer, der auf die Dokumente zugreift) übertragen zu werden, und sie können auch ein beträchtliches Maß an Zeit erfordern, um die Dokumente an dem Drucker tatsächlich zu verarbeiten, um sie zu drucken. Um also die Zeitdauer, während der ein Benutzer auf zu druckende Dokumente warten muß, zu verringern, wäre es vorteil haft, eine Möglichkeit bereitzustellen, die Druckgeschwindigkeit dieser Dokumente zu verbessern.
  • Merz, T. beschreibt in „Generalüberholung" in iX 6/1997, Seiten 114 bis 119 das sogenannte „Pull-Printing". Ein Web-Ready-Drucker erhält hier nur noch den URL des gewünschten Dokuments, lädt dieses selbst aus dem Netz, formatiert es und stellt es schließlich in die druckerinterne Warteschlange.
  • Die JP 11-134125 A beschreibt eine digitale Kopiervorrichtung, die ohne Zwischenschaltung eines externen Prozessors auf das Internet zugreifen kann, um einen Web-Pull-Druck-Auftrag durchzuführen, der auf einen WWW-Server zugreift, die Daten von demselben herunterlädt und ausdruckt. Ein Anwender gibt eine entsprechende Aufforderung zum Drucken in die Vorrichtung ein, und sobald diese Aufforderung empfangen wird oder ein in der Aufforderung spezifizierter Zeitpunkt eingetreten ist, greift die Vorrichtung auf das Netz zu, um die zu druckenden Daten herunterzuladen.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zu schaffen, die die zum Drucken von Dokumenten, auf die über ein Netz zugegriffen wird, benötigte Zeit verringern und dennoch sicherstellen, das eine aktuelle Version der Dokumente gedruckt wird.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und durch ein System gemäß Anspruch 6 gelöst.
  • Hierin ist ein druckerbasiertes Vorab-Ripping und Cache-Speichern von Netzdokumenten beschrieben.
  • Gemäß einem Aspekt wird eine Anforderung, auf ein Netzdokument zuzugreifen, empfangen. Eine Angabe bzw. Anzeige des Netzdokumentes, für das ein Zugriff angefordert wird, wird anschließend vor einem Empfang einer Anforderung, das Netzdokument zu drucken, an einen oder mehrere Drucker weitergeleitet.
  • Gemäß einem anderen Aspekt wird an einer Druckvorrichtung eine Angabe eines Netzdokumentes empfangen, wobei die Angabe unabhängig von einer Anforderung, das Netzdokument zu drucken, empfangen wird. Das angegebene Netzdokument wird von einer Dokumentenquelle wiedererlangt, in ein druckbereites Format konvertiert und in dem druckbereiten Format gesichert. Auf einen Empfang einer Anforderung, das Netzdokument zu drucken, hin druckt die Druckvorrichtung das Netzdokument unter Verwendung des gesicherten Dokuments in dem druckbereiten Format.
  • Gemäß einem anderen Aspekt wird ein Cache-Speicher von Netzdokumenten durch die Druckvorrichtung unterhalten. Wenn eine Anforderung, ein Netzdokument zu drucken, empfangen wird, wird eine Prüfung durchgeführt, ob das Netzdokument in dem Cache-Speicher vorliegt. Falls die aktuelle Version des Netzdokumentes in dem Cache-Speicher vorliegt, so wird das Dokument von dem Cache-Speicher zum Drucken erhalten; andernfalls wird das Dokument von einer entfernten Quelle zum Drucken erhalten.
  • Gemäß einem weiteren Aspekt wird ein Protokoll, das Netzdokumente identifiziert, auf die durch eine oder mehrere Client-Vorrichtungen zugegriffen wird, durch die Druckvorrichtung unterhalten. Auf Verlangen druckt die Druckvorrichtung das Protokoll, wobei eine Druckkopie von Netzdokumenten, auf die zugegriffen wird, erstellt wird. Das Protokoll und die gedruckte Druckkopie umfassen optional einen Zeitstempel, der einen ungefähren Zeitpunkt in bezug darauf, wann auf das Netzdokument zugegriffen wurde, angibt.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 eine beispielhafte Umgebung, in der ein Dokumenten-Vorab-Ripping und -Cache-Speichern eingesetzt werden kann;
  • 2 ein beispielhaftes System, in dem ein druckerbasiertes Vorab-Ripping und Cache-Speichern von Netzdokumenten durchgeführt werden kann;
  • 3 ein Flußdiagramm, das einen beispielhaften Prozeß zum Vorab-Erstellen von druckbereiten Dokumenten veranschaulicht;
  • 4 ein Flußdiagramm, das einen beispielhaften Prozeß zum Unterhalten und Drucken eines Zugriffsprotokolls veranschaulicht;
  • 5 ein weiteres beispielhaftes System, in dem ein druckerbasiertes Cache-Speichern von Netzdokumenten durchgeführt werden kann;
  • 6 ein Flußdiagramm, das einen beispielhaften Prozeß zum Drucken von Cache-gespeicherten Dokumenten veranschaulicht; und
  • 7 einen beispielhaften Computer in weiteren Einzelheiten.
  • Hierin wird ein druckerbasiertes Vorab-Ripping und Cache-Speichern von Netzdokumenten beschrieben. Netzdokumente (oder Teile derselben) werden durch einen Drucker Cache-gespeichert, was dem Drucker einen schnelleren Zugriff auf die Dokumente ermöglicht, wenn eine Anforderung, eines der Dokumente zu drucken, empfangen wird. Ferner können druckbereite Versionen von Netzdokumenten durch den Drucker vorab erstellt werden, so daß, wenn anschließend eine Druckanforderung, das Dokument zu drucken, empfangen wird, das druckbereite Format für das Dokument dem Drucker bereits zur Verfügung steht. Ferner kann eine Aufzeichnung von Netzdokumenten, auf die zugegriffen wird, durch den Drucker unterhalten werden, was ein problemloses Drucken einer Liste von Netzdokumenten, auf die zugegriffen wird, ermöglicht.
  • 1 veranschaulicht eine beispielhafte Umgebung 100, bei der ein Vorab-Ripping und Cache-Speichern von Dokumenten eingesetzt werden kann. Eine Client-Rechenvorrichtung 102 ist über ein Netz 112 mit mehreren Server-Rechenvorrichtungen 104 und 106 sowie mit mehreren Druckern 108 und 110 gekoppelt. Das Netz 112 soll beliebige einer breiten Palette von herkömmlichen Netztopologien und Typen (einschließlich verdrahteter bzw. drahtloser Netze) darstellen, die beliebige einer breiten Palette von herkömmlichen Netzprotokollen (einschließlich öffentlicher bzw. eigener Protokolle) verwenden.
  • Die Server 104 und 106 umfassen ein oder mehrere Netzdokumente 114 bzw. 116. Die Server 104 und 106 und die auf denselben gespeicherten Netzdokumente 114 und 116 sind für die Client-Rechenvorrichtung 102 über das Netz 112 zugänglich. Die Dokumente, auf die zugegriffen wird, können ferner durch die Client-Vorrichtung 102 an dem Drucker 108 bzw. den Drucker 110 gedruckt werden. Wie veranschaulicht ist, kann ein Drucker direkt mit der Client-Vorrichtung 102 gekoppelt sein (beispielsweise Drucker 108), oder auf ihn kann alternativ über das Netz 112 durch die Vorrichtung 102 zugegriffen werden (z. B. Drucker 110). Die Netzdokumente 114 und 116 umfassen jeweils einen oder mehrere unterschiedliche Typen von Daten oder Inhalt (z. B. Text, Video, statische Bilder usw.). Die Dokumente 114 und 116 können in einem beliebigen einer Vielzahl von verschiedenen Formaten gespeichert sein, und bei einem Ausführungsbeispiel ist jedes Dokument 114 eine einzelne Datei (die wiederum auf eine oder mehrere andere Dateien dem Namen nach Bezug nehmen kann, von denen jede beim Drucken als Teil des Dokumentes enthalten sein soll).
  • Die Umgebung 100 kann verwendet werden, um einen oder mehrere einer breiten Palette von unterschiedlichen Typen von Netzdokumenten zu unterstützen. Bei einem Ausführungsbeispiel unterstützt die Umgebung 100 das World Wide Web (oder einfach das Web), das eine verteilte Sammlung von miteinander verknüpften, für Benutzer betrachtbaren Dokumenten (üblicherweise als Web-Dokumente oder Webseiten bezeichnet) ist, die über das Internet zugänglich sind. Man sollte jedoch beachten, daß eine einzige Webseite, obwohl sie als eine „Seite" bezeichnet wird, beim Ausdrucken mehrere Blätter Papier (oder eines anderen Druckmediums) füllt. Das Web bezieht sich auch auf die Client- und Server-Komponenten, die unter Verwendung von standardisierten Internet-Protokollen dem Benutzer einen Zugriff auf solche Dokumente liefern. Aktuell ist das wichtigste Standardprotokoll, um es Anwendungen zu ermöglichen, Web-Dokumente zu lokalisieren und wiederzuerlangen, das HyperText Transport Protocol (HTTP), und die Webseiten werden unter Verwendung einer standardmäßigen Markup-Sprache wie beispielsweise HyperText Markup Language (HTML) oder extensible Markup Language (XML – erweiterbare Markup-Sprache) codiert. Alternativ können auch andere Protokolle oder Sprachen verwendet werden. Bei einer beispielhaften Implementierung ist jedes der Dokumente 114 und 116 eine Webseite, ist jeder der Server 104 und 106 ein Web-Server und kommuniziert die Client-Vorrichtung 102 unter Verwendung von HTTP über das Netz 112 mit den Servern 104 und 106.
  • Während eines Betriebs kann der Client 102 auf eines oder mehrere Dokumente 114 und 116 zugreifen (z. B. über einen Web-Browser, der an dem Client 102 ausgeführt wird), und anschließend anfordern, daß das Dokument, auf das zugegriffen wurde, an dem Drucker 108 (oder 110) gedruckt wird. Bei einer Implementierung hat der Drucker 108 (oder 110) eine Cache-gespeicherte Kopie des Dokuments, auf das zugegriffen wurde, so daß das Dokument nicht ansprechend auf die Druckanforderung an den Drucker 108 (oder 110) gesendet werden muß. Statt dessen kann der Drucker 108 (oder 110) das Dokument, auf das zugegriffen wird, unter Verwendung der Cache-gespeicherten Kopie drucken. Alternativ werden vielleicht lediglich ausgewählte Teile des Dokuments, auf das zugegriffen wird (z. B. statische Teile, wie nachfolgend ausführlicher erörtert wird) an dem Drucker 108 (oder 110) Cache-gespeichert werden. Bei einer anderen Implementierung wurde das Dokument, auf das zugegriffen wurde (oder ausgewählte Teile desselben) bereits in ein druckbereites Format konvertiert und durch den Drucker 108 (oder 110) gespeichert. Anschließend, wenn die Druckanforderung für das Dokument, auf das zugegriffen wurde, empfangen wird, weist der Drucker 108 bereits eine druckbereite Version des Dokuments, auf das zugegriffen wurde, auf und kann schnell beginnen, das Dokument zu drucken.
  • Die Drucker 108 und 110 und das Wort „Drucker", wie es hierin verwendet wird, stellen beliebige einer breiten Palette von Druckvorrichtungen dar, die in der Lage sind, eine Druckkopie von Daten zu erstellen. Beispiele solcher Druckvorrichtungen umfassen Laserdrucker, Tintenstrahldruc ker, Punktmatrixdrucker, Thermodrucker, Faxgeräte, Multifunktionsgeräte (Vorrichtungen, die die Funktionalität von zweien oder mehreren eines Druckers, eines Photokopierers, eines Faxgeräts und eines Scanners kombinieren) usw.
  • 2 veranschaulicht ein beispielhaftes System 130, in dem ein druckerbasiertes Vorab-Ripping und Cache-Speichern von Netzdokumenten durchgeführt werden kann. Das System 130 umfaßt einen Drucker 132 (der beispielsweise der Drucker 108 oder 110 der 1 sein kann), eine Client-Vorrichtung 134 (die beispielsweise der Client 102 der 1 sein kann) und eine Server-Vorrichtung 136 (die beispielsweise der Server 106 der 1 sein kann). 2 wird unter Bezugnahme auf das Web und auf Webseiten erörtert. 2 kann jedoch unter Verwendung anderer Typen von Netzen, anderer Typen von Netzdokumenten und anderer Typen von Protokollen analog arbeiten.
  • Während des Betriebs ermöglicht ein Web-Browser 138, der an der Client-Vorrichtung 134 ausgeführt wird, einem Benutzer der Vorrichtung 134, auf die Server-Vorrichtung 136 zuzugreifen. Die Server-Vorrichtung 136 umfaßt ein Webserver-Modul 140 und eine oder mehrere Webseiten 142. Der Benutzer der Client-Vorrichtung 134 gibt einen Identifizierer einer von Webseiten 142 in den Web-Browser 138 ein, woraufhin der Browser 138 ansprechend darauf auf das Webserver-Modul 140 zugreift, um die identifizierte Webseite 142 wiederzuerlangen und die identifizierte Webseite 142 an der Client-Vorrichtung 134 anzuzeigen (oder auf andere Weise zu präsentieren, je nach dem Inhalt der Webseite). Eine bestimmte Webseite 142 kann auf viele verschiedene Weisen identifiziert werden, beispielsweise eine Verwendung einer bestimmten Internet-Adresse, die der Webseite zugewiesen ist, Verwendung eines Einheitsressourcenlokators (URL – uniform resource locator), der der Webseite entspricht, usw. Eine bestimmte Webseite 142 kann durch einen Benutzer explizit definiert werden (z. B. der Benutzer kann den URL oder die Internet-Adresse der Webseite manuell eintippen), oder sie kann alternativ dazu durch einen Benutzer auf implizite Weise identifiziert werden (z. B. Auswahl eines Hyperlink, der einen Link mit der bestimmten Webseite 142 definiert).
  • Der Web-Browser 138 umfaßt ferner ein Benachrichtigungsmodul 144. Wenn eine Webseite 142 gegenüber dem Browser 138 identifiziert wird, leitet das Benachrichtigungsmodul 144 eine Angabe der Webseitenidentifizierung an den Drucker 132 weiter. Statt ein Teil des Web-Browsers 138 zu sein, kann sich das Benachrichtigungsmodul 144 alternativ dazu außerhalb des Web-Browsers 138 befinden. Falls es sich außerhalb des Browsers 138 befindet, kann das Benachrichtigungsmodul 144 durch den Browser 138 über die identifizierte Webseite 142 informiert werden (z. B. eine von dem Browser 138 an das Modul 144 gesandte Nachricht), oder alternativ dazu kann das Benachrichtigungsmodul 144 eine Aktivität in der Client-Vorrichtung 134 überwachen, um die Identität der Webseite zu erfassen (z. B. Kommunikationen, die von dem Browser 138 gesandt werden, überwachen). Bei einer Implementierung ist das Benachrichtigungsmodul 144 als ein eingebettetes virtuelles Gerät implementiert.
  • Zusätzlich dazu, daß ein Benutzer die Angabe der Webseite eingibt, können auch andere Komponenten oder Module der Client-Vorrichtung 134 eine Angabe einer Webseite 142, auf die zugegriffen werden soll, eingeben. Beispielsweise kann eine bestimmte Anwendung, die an der Client-Vorrichtung 134 ausgeführt wird, entweder über den Web-Browser 138 oder direkt auf eine Webseite 142 zugreifen. Das Benachrichtigungsmodul 144 kann die Identität solcher Webseiten, auf die zugegriffen wird, erfassen und den Drucker 132 von derselben benachrichtigen.
  • Nachdem sich das Benachrichtigungsmodul 144 einer identifizierten Seite bewußt ist, sendet es eine Angabe der identifizierten Seite an den Drucker 132. Diese Angabe wird unabhängig von einer etwaigen Anforderung, die Seite zu drucken, gesandt, die anschließend durch einen Benutzer der Client-Vorrichtung 134 unterbreitet und anschließend an den Drucker 132 gesandt werden kann. Diese Benachrichtigung kann die Webseite auf dieselbe Weise identifizieren, wie sie durch den Benutzer (z. B. durch URL) identifiziert wird, oder kann sie alternativ dazu in einem unterschiedlichen Format identifizieren. Beispielsweise kann das Modul 144 die Identifizierung der Webseite in ein durch den Drucker 132 bevorzugtes anderes Format konvertieren.
  • In Situationen, bei denen die Client-Rechenvorrichtung 134 mit mehreren Druckern gekoppelt ist (z. B. Drucker 108 und 110 der 1), kann das Benachrichtigungsmodul 144 die Angabe der identifizierten Seite an einen bestimmten der mehreren Drucker senden (z. B. je nachdem, welcher Drucker an der Client-Vorrichtung 134 als ein vorgegebener oder bevorzugter Drucker eingestellt ist). Alternativ dazu kann die Angabe an mehrere Drucker gesandt werden (z. B. an jeden Drucker, der gegenüber einem Betriebssystem an der Client-Vorrichtung 134 identifiziert ist). Bei manchen Betriebssystemen (z. B. bei vielen der von Microsoft Corp., Redmond, WA, USA, erhältlichen Windows®-Betriebssystemen) ist ein Benutzer beispielsweise in der Lage, einen Satz von einem oder mehreren Druckern, auf dem bzw. denen von dem Computer aus gedruckt werden kann, zu installieren. In dieser Situation kann jedem beliebigen dieser mehreren Drucker die Angabe der identifizierten Seite von dem Benachrichtigungsmodul 144 gesandt werden.
  • Man sollte beachten, daß das Benachrichtigungsmodul 144 die Angaben an den Drucker 132 sendet, wenn auf eine Webseite 142 zugegriffen wird, auch wenn keine Anforderung, die Webseite, auf die zugegriffen wird, zu drucken, eingegeben wurde (durch den Benutzer oder eine andere Komponente oder ein anderes Modul). Somit kann der Drucker 132 mehrere Angaben von Webseiten empfangen, für die niemals Druckanforderungen empfangen werden oder erst nach einem längeren Zeitraum empfangen werden.
  • Der Drucker 132 umfaßt einen Prozessor 146, eine Eingabe-/Ausgabe-Schnittstelle (I-/O-Schnittstelle) 148, einen Speicher 150 und eine optionale Massenspeichervorrichtung 152, die über einen Bus 159 miteinander gekoppelt sind. Die I-/O-Schnittstelle 148 ist eine Schnittstelle, die es dem Drucker 132 ermöglicht, über ein Netz mit dem Client 134 und dem Server 136 zu kommunizieren. Der Prozessor 146 führt Anweisungen aus, die in dem Speicher 150 und optional in der Massenspeichervorrichtung 152 gespeichert sind. Der Speicher 150 stellt beliebige einer breiten Palette von flüchtigen bzw. nicht-flüchtigen Speichern, beispielsweise RAM bzw. ROM, dar.
  • Der durch einen typischen Drucker beim Drucken eines Dokuments durchgeführte Prozeß beinhaltet ein Empfangen einer Druckanforderung und eines zu druckenden Dokuments von dem Anforderer. Das Dokument wird in einem Prozeß, der als „Aufbereiten" bezeichnet wird, in eine bestimmte Seitenbeschreibungssprache (PDL – Page description language) konvertiert, die durch den Drucker unterstützt wird (z. B. eine bestimmte PCL-Ebene (PCL = printer control language = Druckersteuersprache), Postscript usw.). Dieses Aufbereiten wird üblicherweise an der Rechenvorrichtung durchgeführt, die den angeforderten Druck unterbreitet. Das aufbereitete Dokument wird anschließend in einem Prozeß, der als „Ripping" bezeichnet wird, in einen Satz von Hardware-bereiten Bits umgewandelt. Dieses Ripping wird üblicherweise an dem Drucker durchgeführt. Diese Hardware-bereiten Bits werden direkt an die Druckmaschine geliefert, die die Aufbringung einer Drucksubstanz (z. B. Toner oder Tinte) auf ein Druckmedium (z. B. Papier, Tuch, Transparent, usw.) auf direkte oder indirekte Weise (z. B. über ein Übertragungsband) steuert, so daß die Drucksubstanz gemäß den gerippten Daten aufgebracht wird. Dieser Druckvorgang ist Fachleuten hinreichend bekannt.
  • Der Speicher 150 speichert eine Vorab-Drucksteuerung 156, ein Browsing-Modul 158, eine Vorab-Aufbereitungsmaschine 160, eine Vorab-Rippmaschine 162, eine Liste von vorabgerippten Dokumenten 164, eine Druckmaschine 168, eine Drucksteuerung 170 und ein optionales Zugriffsprotokoll 172. Diese Systemkomponenten 156 bis 172 sind jeweils eine Reihe einer oder mehrerer durch den Prozessor 146 ausführbarer Anweisungen. Angaben von Webseiten, auf die zugegriffen wird, werden von dem Client 134 durch die Vorab-Drucksteuerung 156 empfangen. Die Vorab-Drucksteuerung 156 verwaltet die Erstellung und Speicherung von Dokumenten in einem druckbereiten Format. Der Begriff druckbereites Format, wie er hierin verwendet wird, bezieht sich auf ein Format, in dem das Dokument als Hardware-bereite Bits gesichert ist, die direkt an eine Druckmaschine geliefert und durch die Druckmaschine verwendet werden können, um die Aufbringung einer Drucksubstanz auf das Druckmedium zu steuern.
  • Die Vorab-Drucksteuerung 156 unterhält eine Aufzeichnung von druckbereiten Dokumenten in einer Liste von druckbereiten Dokumenten 164. Die druckbereiten Dokumente sind diejenigen, die zuvor durch den Drucker 132 empfangen und in eine druckbereite Form konvertiert wurden. Die druckbereiten Dokumente selbst sind in einem Druckbereite-Datei-Cache-Speicher 166 in der Massenspeichervorrichtung 152 gespeichert. Alternativ dazu kann der Cache-Speicher 166 in einem Speicher (z. B. Speicher 150) oder in einer separaten Vorrichtung (z. B. einem Netzlaufwerk), der bzw. die von dem Drucker 132 (nicht gezeigt) entfernt ist, gespeichert sein.
  • Wenn die Vorab-Drucksteuerung 156 eine Angabe darüber erhält, daß von dem Client 134 auf eine Webseite zugegriffen wird, kommuniziert sie die Angabe an das Browsing-Modul 158, das die Webseite wiedererlangt. Dies kann auch ein Wiedererlangen von Dateien von anderen Quellen (z. B. Bilddateien, auf die auf der Webseite verwiesen wird) beinhalten. Wenn also durch eine Client-Vorrichtung 134 auf eine Webseite zugegriffen wird, greift auch der Drucker 132 auf diese Webseite zu. Bei einer Implementierung ist das Browsing-Modul 158 ein eingebetteter Webserver.
  • Die Webseitendaten werden durch das Browsing-Modul 158 empfangen und in dem Speicher 150 gespeichert. Manche der Daten, die als Teil einer Webseite empfangen werden, können einen Zeitstempel umfassen, der angibt, wann die Webseite zum letzten Mal modifiziert wurde (der Zeitstempel kann ein Teil der Seite sein, der beim Anzeigen der Seite durch einen Browser angezeigt werden kann, oder er kann alternativ in Steuerinformationen enthalten sein, die nicht angezeigt werden). Die Steuerung 156 vergleicht die Webseite mit der Liste von druckbereiten Dokumenten 164, um zu bestimmen, ob in dem Cache-Speicher 166 bereits eine druckbereite Version dieser Webseite gespeichert ist. Dieser Vergleich kann auf verschiedene Weisen durchgeführt werden, und bei einer Implementierung umfaßt die Liste 164 für jede Datei in dem Cache-Speicher 166 den URL der Webseite, die der Datei entspricht. Der von dem Client 134 empfangene URL kann anschließend mit den URLs in der Liste 164 verglichen werden, und falls der empfangene URL in der Liste 164 existiert, so befindet sich eine druckbereite Version des Dokuments bereits in dem Cache-Speicher 166. Alternativ dazu kann die Bestimmung, ob eine druckbereite Version einer Webseite bereits in dem Cache-Speicher 166 gespeichert ist, durchgeführt werden, nachdem die Angabe der Webseite von dem Client 134 erhalten wurde, jedoch vor einer Wiedererlangung der Webseite von dem Server 136 durch das Browsing-Modul 158. Auch wenn die Webseite bereits in dem Cache-Speicher 166 existiert, wird jedoch zumindest ein Teil der Webseite immer noch von dem Server 136 wiedererlangt, so daß die Zeitstempel verglichen werden können, wie unten erläutert wird.
  • Falls der von dem Client 134 empfangene URL in der Liste 164 existiert, so wird eine Prüfung durchgeführt, ob die von dem Server 136 empfangene Webseite modifiziert wurde, seit die druckbereite Version der Webseite in dem Cache- Speicher 166 gesichert wurde. Diese Prüfung kann auf viele verschiedene Weisen durchgeführt werden, und bei einer Implementierung umfaßt die Liste 164 für jede Datei in dem Cache-Speicher 166 einen Zeitstempel des Zeitpunkts, zu dem die Datei zuletzt modifiziert wurde (oder, alternativ dazu, einen Zeitstempel des Zeitpunktes, zu dem die Datei in dem Cache-Speicher 166 gesichert wurde). Der Zeitstempel auf der von dem Server 136 empfangenen Webseite kann somit mit dem Zeitstempel in der Liste 164 verglichen werden, und es kann eine Bestimmung durchgeführt werden, daß die Webseite modifiziert wurde, seit die druckbereite Version in dem Cache-Speicher 166 gesichert wurde, falls der von dem Server 136 empfangene Zeitstempel neuer ist als der Zeitstempel in der Liste 164.
  • Falls die Webseite modifiziert wurde, seit die druckbereite Version in dem Cache-Speicher 166 gesichert wurde (so daß die druckbereite Version in dem Cache-Speicher 166 überholt ist), oder falls keine druckbereite Version der Webseite in dem Cache-Speicher 166 gesichert ist, so geht die Vorab-Drucksteuerung 156 dazu über, eine druckbereite Datei zu erstellen, die der von dem Server 136 empfangenen Webseite entspricht. Falls die durch die Steuerung 156 erstellte druckbereite Datei eine neuere Version einer bereits in dem Cache-Speicher 166 gespeicherten druckbereiten Datei ist, so wird die vorherige druckbereite Datei aus dem Cache-Speicher 166 entfernt, und die neue druckbereite Datei wird zu dem Cache-Speicher 166 hinzugefügt.
  • Falls eine neue druckbereite Datei erstellt werden soll, so stellt die Vorab-Drucksteuerung 156 die Webseitendaten der Vorab-Aufbereitungsmaschine 160 zur Verfügung. Die Vorab-Aufbereitungsmaschine 160 konvertiert die Webseitendaten in eine durch den Drucker 132 verwendete Sprache (z. B. PCL, PostScript, usw.). Die Webseite, die in dieser vorabaufbereiteten Sprache dargestellt ist, wird anschließend der Vorab-Rippmaschine 162 zur Verfügung gestellt. Die Vorab-Rippmaschine 162 konvertiert die vorabaufbereiteten Sprachdaten in Hardware-bereite Bits, die wiederum der Steuerung 156 zur Speicherung in dem Cache-Speicher 166 zur Verfügung gestellt werden. Alternativ dazu ist bei manchen Implementierungen die Vorab-Rippmaschine 162 in der Lage, Webseiten direkt in druckbereite Bits zu verarbeiten, und bei derartigen Implementierungen muß der Drucker 132 nicht die Vorab-Aufbereitungsmaschine 160 umfassen.
  • Die Vorab-Drucksteuerung 156 empfängt die durch die Vorab-Rippmaschine 162 erstellten Hardware-bereiten Bits und speichert die Hardware-bereiten Bits als Datei in dem Druckbereite-Dateien-Cache-Speicher 166. Die Steuerung 156 speichert ferner eine Angabe der Datei in der Liste von druckbereiten Dokumenten (z. B. eine Angabe dessen, wo sich die Datei in dem Cache-Speicher 166 befindet, bzw. einen Namen/eindeutigen Identifizierer für die Datei) sowie einen Zeitstempel für die Datei (z. B. wann die der Datei entsprechende Webseite 142 zuletzt modifiziert wurde oder wann die Datei in dem Cache-Speicher 166 gespeichert wurde) und eine Identifizierung der Webseite 142 (z. B. den URL der Webseite).
  • Durch Erstellen einer druckbereiten Datei für eine Webseite 142 kann der Drucker 132 ein Dokument schneller drucken, wenn eine Druckanforderung, die Webseite zu drucken, empfangen wird, da die Aufbereitungs- und Rippprozesse bereits durchgeführt wurden. Eine bei dem Drucker 132 von der Client-Vorrichtung 134 empfangene Anforderung, eine Webseite zu drucken, umfaßt einen Zeitstempel (ursprünglich durch den Client 134 von der Webseitenquelle empfangen), der der Webseite 142 entspricht, für die ein Drucken angefordert wird (und der angibt, wann die Webseite zuletzt modifiziert wurde). Die Drucksteuerung 170 prüft die Liste von druckbereiten Dokumenten 164, um zu bestimmen, ob in dem Cache-Speicher 166 eine der Webseite entsprechende druckbereite Datei existiert, und, falls dem so ist, ob der als Teil der Druckanforderung empfangene Zeitstempel neuer ist als der in der Liste 164 für das druckbereite Dokument gespeicherte Zeitstempel. Falls in dem Cache-Speicher 166 eine druckbereite Datei existiert und der als Teil der Druckanforderung empfangene Zeitstempel nicht neuer ist als der in der Liste 164 für die druckbereite Datei gespeicherte Zeitstempel, so erlangt die Drucksteuerung 170 die druckbereite Datei von dem Cache-Speicher 166 wieder und stellt die Datei der Druckmaschine 168 zum Drucken zur Verfügung. Falls keine druckbereite Datei existiert oder falls der als Teil der Druckanforderung empfangene Zeitstempel neuer ist als der Zeitstempel in der Liste 164 (was angibt, daß die druckbereite Version der Webseite überholt ist – das heißt, daß sie modifiziert wurde, seit die druckbereite Datei für die Webseite erstellt wurde), so verwaltet die Drucksteuerung 170 das Aufbereiten und Ripping der als Teil der Druckanforderungen empfangenen Daten, statt die druckbereite Datei in dem Cache-Speicher 166 zu verwenden.
  • In Situationen, in denen keine Angabe für eine Webseite in bezug darauf, wann die Webseite zuletzt modifiziert wurde, vorliegt (die Webseite weist z. B. keinen Zeitstempel auf), so wird die Webseite nicht vorab-gerippt und in dem Cache-Speicher 166 gespeichert. Alternativ dazu kann die Webseite trotzdem vorab-gerippt und in dem Cache-Speicher 166 gespeichert werden, und es können andere Mechanismen verwendet werden, um zu bestimmen, ob die Cache-gespeicherte Version die neueste Version ist. Beispielsweise kann der Cache-Speicher 166 eine nicht-gerippte Version der Webseite sowie eine vorab-gerippte Version speichern. Wenn eine Anforderung, die Webseite zu drucken, empfangen wird, werden die als Teil der Druckanforderung empfangenen Daten anschließend verglichen (z. B. Byte um Byte), um zu bestimmen, ob sie dieselben sind wie (z. B. identisch sind mit der) Cache-gespeicherten nicht-gerippten Version. Falls die beiden gleich sind, so kann die Cache-gespeicherte gerippte Version zum Drucken verwendet werden. Falls die beiden nicht gleich sind, verwaltet die Drucksteuerung 170 das Aufbereiten und Ripping der als Teil der Druckanforderung empfangenen Daten, statt die druckbereite Datei in dem Cache-Speicher 166 zu verwenden.
  • Die Vorab-Aufbereitungs- und Vorab-Rippmodule 160 und 162, die für den Vorab-Aufbereitungsprozeß verwendet werden, können andere Module sein als die für ein normales Drucken (z. B. beim Drucken ohne Verwendung einer druckbereiten Datei von dem Cache-Speicher 166) verwendeten Aufbereitungs- und Rippmodule oder können alternativ dazu dieselben Module sein.
  • Das Zugriffsprotokoll 172 wird ebenfalls optional in dem Speicher 150 unterhalten. Auf ein Empfangen einer Angabe, daß auf eine Webseite zugegriffen wird, hin fügt die Steuerung 156 die Angabe (z. B. URL) zu dem Zugriffsprotokoll 172 hinzu und fügt optional einen Zeitstempel (z. B. Datum und Uhrzeit) dessen, wann die Benachrichtigung durch den Drucker 132 empfangen wurde, hinzu. In dem Zugriffsprotokoll 172 können auch verschiedene andere Informationen bezüglich der Webseiten, auf die zugegriffen wird, gespeichert sein, beispielsweise welche Webseiten gedruckt wurden, welches Format die Seiten aufweisen (z. B. HTML oder ein anderes Format) und so weiter. Anschließend kann durch einen Benutzer des Client 134 (z. B. über den Browser 138) eine Anforderung „drucke Protokoll" eingegeben werden, die an den Drucker 132 kommuniziert wird. Ansprechend darauf druckt der Drucker 132 den Inhalt des Zugriffsprotokolls 172. Somit kann der Benutzer der Client-Vorrichtung 134 ohne weiteres eine Druckkopieaufzeichnung der Webseiten, auf die er von der Vorrichtung 134 zugriff, sowie eine Liste derjenigen, auf die zugegriffen wurde und die gedruckt wurden, erstellen.
  • Die Steuerung 156 zeichnet optional eine Identität der Client-Vorrichtung auf, von der die Benachrichtigung empfangen wird. Von der Client-Vorrichtung 134 an den Drucker 132 gesendete Benachrichtigungen umfassen in der Regel eine Identifizierung der Vorrichtung 134 als Quelle der Benach richtigung (z. B. die Netzadresse der Client-Vorrichtung). Die Steuerung 156 kann anschließend separate Teile des Protokolls 172 für verschiedene Client-Vorrichtungen 134 unterhalten (womit sie ermöglicht, daß verschiedene Aufzeichnungen als Antwort auf eine Drucke-Protokoll-Anforderung auf der Basis der Identifizierung der Client-Vorrichtung, die die Drucke-Protokoll-Anforderung liefert, gedruckt werden). Alternativ dazu können von der Client-Vorrichtung 134 an den Drucker 132 gesendete Benachrichtigungen auch eine Angabe des Benutzers umfassen, der derzeit bei der Client-Vorrichtung 134 angemeldet ist, und die Steuerung 156 kann getrennte Teile des Protokolls 172 für verschiedene Benutzer unterhalten. Ein Benutzer verfügt somit über eine Aufzeichnung der Webseiten, auf die er zugegriffen hat, die durch den Drucker 132 ausgedruckt wurden, unabhängig davon, welche Client-Vorrichtung(en) ein Benutzer gerade benutzt.
  • Die Vorab-Drucksteuerung 156 kann konfiguriert sein, um zu verschiedenen Zeiten zu arbeiten. Bei einer Implementierung ist die Steuerung 156 konfiguriert, um zu Zeiten zu laufen (und somit druckbereite Dateien erstellen zu lassen), in denen der Drucker 132 nicht in Betrieb ist (z. B. zu den Zeiten, zu denen der Drucker 132 nicht im Begriff ist, ein Dokument zu drucken). Somit sollte die Geschwindigkeit, mit der Webseiten, für die es keine druckbereite Datei gibt, gedruckt werden, nicht nachteilig beeinträchtigt werden, um für einen Benutzer spürbar zu sein, jedoch sollte eine für einen Benutzer spürbare Verbesserung der Geschwindigkeit erfolgen, mit der Webseiten gedruckt werden, für die es eine druckbereite Datei gibt. Alternativ dazu können sowohl der Prozeß der Erstellung einer druckbereiten Datei als auch der Prozeß des Druckens eines Dokuments gleichzeitig (z. B. durch Multi-Tasking) durchgeführt werden.
  • Bei Implementierungen, bei denen die Steuerung 156 während der Zeit läuft, in der der Drucker 132 nicht in Betrieb ist, könnte das Zugriffsprotokoll 172 als eine Warteschlange 172 von Webseiten bzw. Webseitenangaben, die erstellt werden, benutzt werden. Eine Angabe einer Webseitenzugriffsanforderung, die durch den Drucker 132 empfangen wird, während der Drucker 132 ein anderes Dokument druckt, wird in der Warteschlange 172 gesichert. Anschließend, wenn der Drucker 132 nicht in Betrieb ist, nimmt die Vorab-Drucksteuerung 156 eine Webseitenangabe aus der Warteschlange 172 und stellt dem Browsing-Modul 158 die Angabe zur Verfügung, um die identifizierte Webseite wiederzuerlangen. Falls durch den Drucker 132 eine Druckanforderung empfangen wird, während eine druckbereite Datei für den Cache-Speicher 166 erstellt wird, wird die Erstellung der druckbereiten Datei vorübergehend angehalten, bis der Druckvorgang abgeschlossen ist. Die Steuerung 156 kann Webseitenangaben in einer Vielzahl verschiedener Reihenfolgen aus der Warteschlange 172 nehmen, beispielsweise Zuerst-Hinein-Zuerst-Hinaus (FIFO), Zuletzt-Hinein-Zuerst-Hinaus (LIFO), willkürlich usw. Die Steuerung 156 kann ferner die durch den Drucker 132 empfangenen Druckanforderungen überwachen, und falls eine Anforderung empfangen wird, eine Webseite zu drucken, die derzeit in der Warteschlange 172 wartet, kann die Steuerung 156 diese Webseite zum Zweck einer unmittelbaren Verarbeitung und eines unmittelbaren Druckens aus der Warteschlange 172 herausnehmen (oder sie alternativ dazu in der Warteschlange neu positionieren).
  • Der Cache-Speicher 166 kann einen begrenzten Raum aufweisen, und deshalb können Situationen entstehen, in denen zusätzliche druckbereite Dokumente in dem Cache-Speicher 166 gespeichert werden sollen, jedoch in dem Cache-Speicher 166 nicht genügend Raum vorhanden ist, um sowohl die zuvor in dem Cache-Speicher gespeicherten Seiten als auch die neuen in dem Cache-Speicher zu speichernden Seiten unterzubringen. In dem Cache-Speicher 166 kann Raum geschaffen werden, indem ein oder mehrere druckbereite Dokumente aus dem Ca che-Speicher 166 entfernt werden. Beim Bestimmen, welche(s) Dokument(e) aus dem Cache-Speicher 166 entfernt werden sollen, können beliebige einer Vielzahl von Kriterien angewendet werden, beispielsweise das Alter des Dokuments (z. B. entferne Dokumente, die sich am längsten in dem Cache-Speicher befinden), wann das Dokument zuletzt gedruckt wurde (z. B. entferne Dokumente, die in letzter Zeit nicht gedruckt wurden), Größe (z. B. entferne sehr große oder sehr kleine Dokumente zuerst) usw.
  • Webseiten können statisch oder dynamisch sein. Statische Webseiten sind Webseiten, die feststehende Daten aufweisen, die sich weder auf der Basis dessen, daß der Benutzer oder die Vorrichtung die Webseite betrachtet, noch auf der Basis der Eingaben in die Webseite ändern. Dynamische Webseiten dagegen sind Webseiten, die sich auf der Basis dessen, daß der Benutzer oder die Vorrichtung die Webseite betrachtet, oder auf der Basis der Eingaben des Benutzers in die Webseite ändern können (z. B. auf der Basis eines Eintrags des Benutzers von Daten auf Formularen, auf der Basis von Position des Cursors des Benutzers auf der Webseite, von Links zu Daten, die kontinuierlich aktualisiert werden (z. B. Börsenkurse, Wettervorhersagen usw.) usw.). Dynamische Webseiten können auf viele verschiedene Weisen erstellt werden, beispielsweise unter Verwendung von Java Server Pages oder Active Server Pages. Zusätzliche Informationen bezüglich Java Server Pages sind von Sun Microsystems Inc., Palo Alto, Kalifornien, erhältlich, und weitere Informationen bezüglich der Active Server Pages sind von Microsoft Corporation, Redmond, Washington, erhältlich. Obwohl sie als dynamische Webseiten bezeichnet werden, können dynamische Webseiten einen oder mehrere statische Teile (z. B. bestimmte Blöcke von Text oder Bildern, Rahmen oder Hintergründe, die sich nicht verändern, jedoch andere Bereiche (beispielsweise Formularfelder für Dateneinträge), die sich ändern).
  • Besonders vorsichtig sein sollte man beim Vorab-Erstellen von druckbereiten Versionen von dynamischen Webseiten, da sich der Inhalt der Webseite, so wie er durch den Benutzer der Client-Vorrichtung betrachtet wird, aufgrund der Beschaffenheit von dynamischen Webseiten geändert haben kann, seit die Angabe der Webseite dem Drucker kommuniziert wurde. Bei einer Implementierung werden dynamische Webseiten gefiltert, und es werden keine druckbereiten Versionen von dynamischen Webseiten erstellt. Dieses Filtern kann an der Client-Rechenvorrichtung durchgeführt werden, so daß die Angabe der Webseite nicht dem Drucker kommuniziert wird, oder kann alternativ an dem Drucker durchgeführt werden, so daß jegliche Angabe einer dynamischen Webseite, die an dem Drucker empfangen wird, durch den Drucker einfach ignoriert wird. Dynamische Webseiten können auf verschiedene Weisen identifiziert werden, beispielsweise durch das Format des URL (z. B. gibt ein URL, der „.jsp" umfaßt, eine Java Server Page an, und ein URL, der „.asp" umfaßt, gibt eine Active Server Page an).
  • Alternativ dazu kann das Vorab-Drucken auch lediglich auf die statischen Teile einer Webseite angewandt werden, so daß die druckbereite Datei lediglich den statischen Teil umfaßt. Wenn eine Druckanforderung von der Client-Rechenvorrichtung empfangen wird, werden die dynamischen Teile anschließend aufbereitet und gerippt und dann mit der druckbereiten Version der statischen Teile zum Zweck des Druckens kombiniert. Auf der Basis der Art und Weise, auf die die dynamische Seite geschrieben ist, können die dynamischen und statischen Teile der Seite ohne weiteres identifiziert werden (z. B. auf der Basis von Markierungen in dem Dokument, die beschreiben, wie das Dokument angezeigt werden soll). Beispielsweise kann eine dynamische Webseite ein Formular mit mehreren Feldern sein, die durch den Benutzer ausgefüllt werden müssen. Das Blankoformular kann vorab-aufbereitet und vorab-gerippt und als eine druckbereite Datei gesichert werden. Wenn die Druckanforderung empfangen wird, werden die durch den Benutzer eingegebenen Daten aus dem Formular anschließend aufbereitet und gerippt und dann vor einem Drucken mit den druckbereiten Daten kombiniert. Diese vorab-gerippten statischen Daten und die neu gerippten, durch den Benutzer eingegebenen Daten können auf viele verschiedene Weisen kombiniert werden. Beim Schwarz/Weiß-Drucken (Monochrom-Drucken) können die gerippten, durch einen Benutzer eingegebenen Daten beispielsweise den Bits auf den statischen vorab-gerippten Daten überlagert werden, und es kann eine bitweise logische UND-Operation durchgeführt werden, um den Wert jedes Bits zu bestimmen. Anhand eines weiteren Beispiels können beim Drucken in Farbe oder Schwarz/Weiß mit Schattierung (monochrom mit Grauskalierung) die gerippten, durch den Benutzer eingegebenen Daten den Bits der statischen vorab-gerippten Daten überlagert werden, wobei die Werte aus den gerippten, durch den Benutzer eingegebenen Daten jegliche Werte aus den statischen vorab-gerippten Daten ersetzen.
  • 2 veranschaulicht den Vorab-Druckvorgang, der durch Module in dem Drucker 132 durchgeführt wird. Alternativ dazu kann der Drucker 132 in Verbindung mit einem Druckserver, beispielsweise einer zweckgebundenen Druckservervorrichtung oder einer Druckserveranwendung, die auf einem Servercomputer läuft, arbeiten. Falls ein Druckserver verwendet wird, kann der hierin beschriebene Vorab-Druckvorgang an dem Druckserver statt an dem Drucker selbst durchgeführt werden (z. B. können die Steuerung 170 und die Maschinen 160 und 162 an dem Druckserver implementiert sein, der sich außerhalb des Druckers 132 befindet).
  • 3 ist ein Flußdiagramm, das einen beispielhaften Prozeß zum Vorab-Erstellen von druckbereiten Dokumenten veranschaulicht. Der Prozeß der 3 wird durch eine Client-Rechenvorrichtung und eine Druckvorrichtung, beispielsweise den Client 134 und den Drucker 132 der 2, durchgeführt. Der Einfachheit der Erklärung halber sind Handlungen, die durch die Client-Rechenvorrichtung durchgeführt werden, auf der linken Seite der 3 veranschaulicht, während Handlungen, die durch die Druckvorrichtung durchgeführt werden, auf der rechten Seite der 3 veranschaulicht sind.
  • Anfänglich wird an der Client-Rechenvorrichtung eine Anforderung, zu einem Dokument zu browsen, empfangen (Handlung 202). Die Client-Rechenvorrichtung greift auf eine Quelle zu, um das Dokument wiederzuerlangen (Handlung 204). Die Quelle des Dokuments kann der Server, der das Dokument beherbergt, oder alternativ dazu ein Vermittler sein (z. B. ein Daten-Cache-Speicher zwischen dem Client und dem Server). Zusätzlich zu einem Wiedererlangen des Dokuments wird eine Angabe des Dokuments an den Drucker gesandt (Handlung 206).
  • Der Drucker empfängt die Angabe des Dokuments, auf das durch die Rechenvorrichtung zugegriffen wird (Handlung 208) und erlangt das Dokument ferner von einer Quelle wieder (Handlung 210). Die Quelle, von der der Drucker das Dokument wiedererlangt, kann dieselbe sein wie die Quelle, von der die Client-Rechenvorrichtung das Dokument wiedererlangt, oder kann alternativ dazu eine andere Quelle sein (z. B. kann eine das Dokument von einem Cache-Speicher wiedererlangen, während die andere das Dokument von einem Server, der das Dokument beherbergt, wiedererlangt, oder eine kann zu einem anderen Server, der dasselbe Dokument beherbergt, geroutet werden (z. B. um eine Überlastung des ersten Servers zu vermeiden)). Bei manchen Ausführungsbeispielen (beispielsweise bei einer direkten Verbindung mit dem Drucker) kann der Drucker das Dokument direkt von der Rechenvorrichtung empfangen.
  • Nach der Wiedererlangung prüft der Drucker, ob eine aktuelle druckbereite Version des Dokuments existiert (Handlung 212). Falls eine aktuelle druckbereite Version existiert, endet der Prozeß (Handlung 214), da kein neues druckbereites Dokument erstellt werden muß. Falls jedoch keine aktuelle druckbereite Version existiert (z. B. es gibt keine druckbereite Version, oder die druckbereite Version, die existiert, ist überholt), so wird das wiedererlangte Dokument in ein druckbereites Format konvertiert (Handlung 216). Das Dokument in dem druckbereiten Format wird anschließend gesichert (Handlung 218).
  • Anschließend und ohne Zusammenhang mit dem Senden der Angabe des Dokuments an den Drucker bei Handlung 206 wird an der Client-Rechenvorrichtung eine Anforderung, das Dokument zu drucken, empfangen (Handlung 220). Diese Druckanforderung kann unmittelbar nachdem das Dokument in die Rechenvorrichtung geladen wird (z. B. unmittelbar nachdem eine Webseite einem Benutzer der Client-Rechenvorrichtung angezeigt wird) empfangen werden, oder, alternativ dazu, einige Zeit später (z. B. Stunden, Tage, Wochen usw. nachdem das Dokument zu der Client-Rechenvorrichtung wiedererlangt wurde). Bevor die Druckanforderung bei Handlung 220 empfangen wird, kann auf eine beliebige Anzahl (null oder mehr) zusätzlicher Dokumente durch die Client-Rechenvorrichtung zugegriffen worden sein.
  • Nachdem sie empfangen wurde, wird die Druckanforderung an den Drucker gesandt (Handlung 222). Die Druckanforderung kann das zu druckende Dokument umfassen oder kann alternativ dazu lediglich eine Angabe (z. B. URL) des zu druckenden Dokuments umfassen. Die Druckanforderung wird an dem Drucker empfangen (Handlung 224), der prüft, ob eine aktuelle druckbereite Version des Dokuments existiert (Handlung 226). Falls eine aktuelle druckbereite Version existiert, erlangt der Drucker das Dokument in einem druckbereiten Format wieder (Handlung 228) und druckt das Dokument (Handlung 230). Falls jedoch keine aktuelle druckbereite Version existiert (z. B. es gibt keine druckbereite Version oder die druckbereite Version, die existiert, ist überholt), so wird das zu druckende Dokument aufbereitet und gerippt (Handlung 232) und gedruckt (Handlung 230). Alternativ dazu kann das Aufbereiten durch die Client-Rechenvorrichtung statt durch den Drucker durchgeführt werden. Ferner kann die gerippte Version des Dokuments durch den Drucker als eine druckbereite Version des Dokuments gesichert werden, die verwendet werden soll, falls nachfolgende Anforderungen, das Dokument zu drucken, empfangen werden.
  • Alternativ dazu können die Handlungen 220 und 222 durch eine andere Client-Rechenvorrichtung als die Vorrichtung, die die Handlungen 202, 204 und 206 durchführte, durchgeführt werden. Somit kann das Dokument in einer druckbereiten Form durch den Drucker zum Drucken verwendet werden, unabhängig davon, welche Vorrichtung die Angabe ursprünglich an den Drucker sandte, die bewirkte, daß der Drucker die druckbereite Form erstellte. Man beachte ferner, daß die Handlungen 220 und 222 durch eine Client-Rechenvorrichtung durchgeführt werden können, die kein Benachrichtigungsmodul 144 der 2 umfaßt.
  • 4 ist ein Flußdiagramm, das einen beispielhaften Prozeß zum Unterhalten und Drucken eines Zugriffsprotokolls veranschaulicht. Der Prozeß der 4 wird durch eine Client-Rechenvorrichtung und eine Druckvorrichtung, beispielsweise den Client 134 und den Drucker 132 der 2, durchgeführt. Der Einfachheit der Erklärung halber sind Handlungen, die durch die Client-Rechenvorrichtung durchgeführt werden, auf der linken Seite der 4 veranschaulicht, während Handlungen, die durch die Druckvorrichtung durchgeführt werden, auf der rechten Seite der 4 veranschaulicht sind.
  • Anfänglich wird an der Client-Rechenvorrichtung eine Anforderung, zu einem Dokument zu browsen, empfangen (Handlung 240). Die Client-Rechenvorrichtung greift auf eine Quelle zu, um das Dokument wiederzuerlangen (Handlung 242). Die Quelle des Dokuments kann der Server, der das Dokument beherbergt, oder alternativ dazu ein Vermittler sein (z. B. ein Daten-Cache-Speicher zwischen dem Client und dem Server). Zusätzlich zu einem Wiedererlangen des Dokuments wird eine Angabe des Dokuments (z.B. seines URL) an den Drucker gesandt (Handlung 244).
  • Der Drucker empfängt die Angabe des Dokuments, auf das durch die Rechenvorrichtung zugegriffen wird (Handlung 246) und sichert die Angabe in einem Protokoll (Handlung 248). Bei Handlung 248 kann der Drucker optional auch einen der Dokumentangabe zugeordneten Zeitstempel sichern. Bei Handlung 248 kann der Drucker ferner Angaben basierend auf der Client-Vorrichtung (z. B. verschiedene Protokolle für verschiedene Client-Vorrichtungen) oder basierend auf dem Benutzer (z. B. verschiedene Protokolle für verschiedene Benutzer, unabhängig davon, welche Client-Vorrichtung er gegenwärtig benutzt) sichern.
  • Schließlich wird eine Anforderung, das Protokoll zu drucken, an der Client-Vorrichtung empfangen (Handlung 250), und einen Drucke-Protokoll-Anforderung wird an den Drucker gesandt (Handlung 252). Der Drucker empfängt die Drucke-Protokoll-Anforderung (Handlung 254) und druckt als Reaktion auf die Drucke-Protokoll-Anforderung die Netzdokumentangaben in dem Protokoll aus (Handlung 256). Dieses Drucken kann ein Drucken aller Angaben in dem Protokoll, lediglich der Angaben in dem Protokoll, die durch den Drucker von derselben Client-Vorrichtung, die die Drucke-Protokoll-Anforderung gesandt hat, empfangen wurden, oder lediglich der Angaben in dem Protokoll, die durch den Drucker von demselben Benutzer wie dem der Client-Vorrichtung zu dem Zeitpunkt, zu dem die Drucke-Protokoll-Anforderung gesandt wurde, empfangen wurden, umfassen.
  • Ferner können verschiedene Filter oder Suchparameter in Zusammenhang mit dem Protokoll, das durch den Drucker unterhalten wird, verwendet werden. Als Teil der Drucke-Protokoll-Anforderung kann der Benutzer beispielsweise anfordern, daß lediglich Angaben in dem Protokoll, die Zeitstempel in einem gewissen Bereich aufweisen, gedruckt werden (z. B. lediglich die Protokolleinträge mit Zeitstempeln in der letzten Stunde), oder er kann anfordern, daß lediglich Angaben in dem Protokoll, die bestimmte Schriftzeichen umfassen, gedruckt werden (z. B. lediglich URLs, die die Schriftzeichen „hp" umfassen) usw. Der Benutzer druckt eventuell lediglich diejenigen Angaben, die tatsächlich gedruckt wurden, oder diejenigen, die tatsächlich durch einen bestimmten Benutzer oder eine Gruppe von Benutzern für einen gegebenen Zeitrahmen, in einem spezifischen Dokumentformat oder bezüglich etwaiger anderer Kriterien, die durch den Anforderer auferlegt wurden, gedruckt wurden.
  • 5 veranschaulicht ein weiteres beispielhaftes System 260, bei dem ein druckerbasiertes Cache-Speichern von Netzdokumenten durchgeführt werden kann. Das System 260 ist ähnlich dem System 130 der 2, jedoch ist das Vorab-Drucken in dem System 260 nicht veranschaulicht. Bei dem System 260 sind die Webseiten vielmehr durch den Drucker im Cache-Speicher gespeichert, so daß sie nicht zum Zweck des Druckens an den Drucker transferiert werden müssen.
  • Das System 260 umfaßt eine Client-Rechenvorrichtung 262, eine Server-Vorrichtung 264 und einen Drucker 266. Der Client 262 umfaßt einen Browser 268, analog zu dem Client 134 und dem Browser 138 der 2 (jedoch ohne das Benachrichtigungsmodul 144). Der Server 264 umfaßt ein Webserver-Modul 270 und eine oder mehrere Webseiten 272, analog zu dem Server 136, dem Modul 140 und den Webseiten 142 der 2. Der Drucker 266 umfaßt einen Prozessor 274, eine I-/O-Schnittstelle 276, eine optionale Massenspeichervorrichtung 278 und einen Speicher 280, die über einen Bus 282 miteinander gekoppelt sind, analog zu dem Prozessor 146, der I-/O-Schnittstelle 148, der Massenspeichervorrichtung 152, dem Speicher 150 und dem Bus 154 der 2.
  • Die Massenspeichervorrichtung 278 umfaßt einen Datei-Cache-Speicher 284 von Webseiten. Der Cache-Speicher 284 umfaßt Kopien von ausgewählten der Webseiten 272, die zum Drucken durch den Drucker 266 verwendet werden können, wodurch das Erfordernis, darauf zu warten, daß die Daten für die Druckseite, die gedruckt werden muß, von der Client-Vorrichtung 262 an den Drucker 266 kommuniziert werden, abgemildert wird. Welche Webseiten ausgewählt dazu auserwählt werden, Kopien in dem Cache-Speicher 284 speichern zu lassen, kann auf viele verschiedene Weisen bestimmt werden. Bei einer Implementierung bestimmt ein Administrator (der z. B. für den Client 262 bzw. Drucker 266 verantwortlich ist), welche Webseiten Kopien in dem Cache-Speicher 284 speichern lassen sollen (z. B. auf der Basis der Annahme des Administrators, auf welche Seiten am wahrscheinlichsten zugegriffen wird, welche Seiten zum Herunterladen von dem Client 262 zu dem Drucker 266 die längste Zeit benötigen, usw.). Alternativ dazu kann ein Modul des Speichers 280 (z. B. ein Drucksteuerungsmodul) überwachen, welche Webseiten durch den Drucker 266 am häufigsten gedruckt werden, und Kopien dieser Webseiten in dem Cache-Speicher 284 aufbewahren.
  • Der Speicher 280 umfaßt eine Drucksteuerung 286, eine Liste von im Cache-Speicher gespeicherten Dateien 288, eine Aufbereitungsmaschine 290, eine Rippmaschine 292 und eine Druckmaschine 294. Während eines Betriebs wird eine Druckanforderung durch die Drucksteuerung 286 empfangen. Es wird eine Prüfung durchgeführt, ob die Seite, für die ein Drucken angefordert wird, in dem Cache-Speicher 284 gespeichert ist, indem auf die Liste von im Cache-Speicher gespeicherten Dateien 288 zugegriffen wird. Die Liste von im Cache-Speicher gespeicherten Dateien 288 ist eine Aufzeichnung der in dem Cache-Speicher 284 gespeicherten Webseiten (z. B. des URL für die Webseite, des Dateinamens für die Webseite, des Dateinamens bzw. Pfadnamens für ein Netzdokument usw.). Falls eine Kopie der für ein Drucken angeforderten Seite in dem Cache-Speicher 284 existiert, verwendet die Drucksteuerung 286 die Kopie von dem Cache-Speicher 284 zum Drucken. Falls jedoch keine derartige Kopie in dem Speicher 284 existiert, so werden die von dem Client 262 empfangenen Daten zum Drucken verwendet.
  • Unabhängig davon, ob die Daten aus dem Cache-Speicher 284 oder aus dem Client 262 empfangen werden, verwaltet die Drucksteuerung 286 die Aufbereitungsmaschine 290, die Rippmaschine 292 und die Druckmaschine 294, um eine Druckkopie der Webseiten zu drucken. Alternativ dazu kann der Cache-Speicher 284 druckbereite Versionen der Webseiten (z. B. vorab-aufbereitet und vorab-gerippt) speichern, analog zu der obigen Erörterung unter Bezugnahme auf 2 und 3.
  • Ferner können Situationen entstehen, in denen eine Kopie einer in dem Datei-Cache-Speicher 284 gespeicherten Webseite sowohl statische als auch dynamische Teile umfaßt. In solchen Situationen werden nur die statischen Teile in dem Cache-Speicher 284 gesichert, und die dynamischen Teile werden von dem Client 262 empfangen.
  • Bei einem Ausführungsbeispiel ist sich der Client 262 des Datei-Cache-Speichers 284 bewußt und kommuniziert somit Webseiten, die sich bereits in dem Cache-Speicher 284 befinden, eventuell nicht an den Drucker 266. Beispielsweise kann der Browser 268 eine Druckanforderung an den Drucker 266 senden und anschließend auf eine Angabe von der Drucksteuerung 286 warten, ob die Daten für die Webseite an den Drucker 266 gesendet werden müssen (auf der Basis dessen, ob die Webseite in der Liste 288 identifiziert ist). Im Fall dynamischer Daten kann der Browser 268 die dynamischen Daten zusammen mit der Druckanforderung senden oder alternativ dazu auf die Angabe von der Drucksteuerung 286 warten, ob lediglich die dynamischen Daten gesendet werden müssen oder ob sowohl die dynamischen als auch die statischen Daten gesendet werden sollen.
  • Bei einem anderen Ausführungsbeispiel ist sich der Client 262 des Datei-Cache-Speichers 284 eventuell nicht bewußt und kommuniziert somit eventuell Webseiten an den Drucker 266, ohne sich darum zu kümmern, ob diese Seiten in dem Cache-Speicher 284 enthalten sind. Obwohl der Client 262 Daten für die Webseiten an den Drucker 266 übermitteln kann, kann die Drucksteuerung 286 bei diesem Ausführungsbeispiel auf ein Identifizieren hin, daß eine Kopie der Webseite in dem Cache-Speicher 284 enthalten ist, die Daten, die von dem Client 262 empfangen werden, einfach ignorieren (oder alternativ dazu lediglich die statischen Daten ignorieren) und damit beginnen, die Webseite auf der Basis der Kopie in dem Cache-Speicher 284 zu drucken, obwohl noch nicht alle Daten von dem Client 262 empfangen wurden. Dies kann Situationen entstehen lassen, in denen beispielsweise ein Drucker 266 ein Drucken einer Webseite beendet hat, bevor der Client 262 alle Webseitendaten an den Drucker 266 transferiert hat.
  • 6 ist ein Flußdiagramm, das einen beispielhaften Prozeß zum Drucken von in einem Cache-Speicher gespeicherten Dokumenten veranschaulicht. Der Prozeß der 6 wird durch eine Druckvorrichtung, beispielsweise einen Drucker 266 der 5, durchgeführt.
  • Anfänglich wird eine Druckanforderung empfangen (Handlung 302), und es wird der Cache-Speicher geprüft, um zu bestimmen, ob das Dokument, für das ein Drucken angefordert wird, in dem Cache-Speicher vorliegt (Handlung 304). Falls sich das Dokument nicht in dem Cache-Speicher befindet, wird das Dokument von einer entfernten Quelle (z. B. dem Client, der ein Drucken des Dokuments anfordert) zum Zweck des Druckens erhalten (Handlung 306) und gedruckt (Handlung 314). Falls sich das Dokument jedoch in dem Cache-Speicher befindet, wird eine Prüfung durchgeführt, ob das Dokument dynamische Teile aufweist (Handlung 308). Diese Prüfung kann auf viele verschiedene Weisen durchgeführt werden, beispielsweise auf der Basis dessen, ob der URL eine in Java Server Page oder Active Server Page geschriebene Webseite angibt. Falls das Dokument keine dynamischen Teile aufweist, wird das Dokument zum Drucken von dem Cache-Speicher erhalten (Handlung 310) und gedruckt (Handlung 314). Falls das Dokument jedoch dynamische Teile aufweist, so wird bzw. werden der bzw. die statische(n) Teil(e) des Dokuments von dem Cache-Speicher erhalten, und der bzw. die dynamische(n) Teil(e) wird bzw. werden zum Drucken von einer entfernten Quelle erhalten (Handlung 312) und gedruckt (Handlung 314).
  • 7 veranschaulicht einen beispielhaften Computer 350 in zusätzlichem Detail. Der Computer 350 kann beispielsweise ein Client 102 oder ein Server 104 oder 106 der 1 sein. Der Computer 350 stellt eine breite Palette von Rechenvorrichtungen, beispielsweise Desktop-Computer, tragbare Computer, zweckgebundene Servercomputer, Multiprozessor-Rechenvorrichtungen, persönliche digitale Assistenten (PDAs – personal digital assistants), in der Hand zu tragende oder stiftbasierte Computer, mikrosteuerungsbasierte elektronische Vorrichtungen usw. dar.
  • Der Computer 350 umfaßt einen Prozessor 352, einen Speicher 354, eine Massenspeichervorrichtung 356 und eine Eingabe-/Ausgabe-Schnittstelle (I-/O-Schnittstelle) 358, die alle über einen Bus 360 gekoppelt sind. Der Bus 360 stellt einen oder mehrere Busse in dem Computersystem 350 dar, beispielsweise einen Systembus, einen Prozessorbus, eine schnelle Graphikschnittstelle (AGP – accelerated graphics port), einen PCI-Bus (PCI = peripheral component interconnect), einen Universalserienbus (USB – universal serial bus) und so weiter. Die Busarchitektur kann je nach Rechenvorrichtung sowie je nach Hersteller variieren. Die I-/O-Schnittstelle 358 ist eine oder mehrere herkömmliche Schnittstellen, die es Komponenten des Computers 350 (z. B. dem Prozessor 352) ermöglichen, über ein Netz mit anderen Rechenvorrichtungen zu kommunizieren, Eingaben von einem Benutzer zu empfangen und einem Benutzer Ausgaben zu präsentieren. Die I-/O-Schnittstelle 358 kann beispielsweise ein oder mehrere der folgenden umfassen: ein Modem, eine Netzschnittstellenkarte (NIC – network interface card), eine Tastatur, eine Cursorsteuervorrichtung (z. B. eine Maus, ein Tastfeld, eine Rollkugel usw.), eine Anzeigevorrichtung, Lautsprecher, ein Mikrophon und so weiter.
  • Der Speicher 354 stellt einen flüchtigen bzw. nichtflüchtigen Speicher dar, der verwendet wird, um Anweisungen und Daten zur Verwendung durch den Prozessor 352 zu speichern. Üblicherweise werden Anweisungen in einer Massenspeichervorrichtung 356 (oder einem nicht-flüchtigen Speicher) gespeichert und zur Ausführung durch den Prozessor 352 in einen flüchtigen Speicher 354 geladen. Es können auch zusätzliche Speicherkomponenten beteiligt sein, beispielsweise Cache-Speicher, die sich in dem oder außerhalb des Prozessors 352 befinden. Verschiedene Ausführungsbeispiele der Erfindung können zu unterschiedlichen Zeiten, bei beliebigen einer Vielzahl von computerlesbaren Medien, die einen Teil des Computers 350 bilden oder durch denselben lesbar sind, implementiert sein. Beispielsweise können solche computerlesbaren Medien die Massenspeichervorrichtung 356, der Speicher 354 oder ein Cache-Speicher, eine entfernbare Platte (nicht gezeigt), auf die durch den Prozessor 352 oder eine andere Steuerung des Computers 350 zugegriffen werden kann (beispielsweise eine Magnetplatte oder eine optische Platte) und so weiter sein.
  • Der Computer 350 ist lediglich exemplarisch. Man sollte sich darüber im klaren sein, daß in dem Computer 350 zusätzliche Komponenten (nicht gezeigt) enthalten sein können und daß manche Komponenten, die in dem Computer 350 veranschaulicht sind, nicht enthalten sein müssen. Beispielsweise können in dem Computer 350 zusätzliche Prozessoren oder Speichervorrichtungen, zusätzliche I-/O-Schnittstellen und so weiter enthalten sein, oder die Massenspeichervorrichtung 356 ist eventuell nicht enthalten.
  • Die hierin gegebenen Erläuterungen beziehen sich vorwiegend auf Softwarekomponenten und Module, die durch eine Rechenvorrichtung ausgeführt werden können. Man sollte sich jedoch darüber im klaren sein, daß die hierin beschriebenen Komponenten und Prozesse in Software, Firmware, Hardware oder einer Kombination aus denselben implementiert sein können. Beispielsweise könnte ein programmierbares logi sches Bauelement (PLD – programmable logic device) oder eine anwendungsspezifische integrierte Schaltung (ASIC – application specific integrated ciruit) konfiguriert oder ausgeführt sein, um verschiedene hierin erörterte Komponenten bzw. Prozesse zu implementieren.
  • Die hierin gegebenen Erläuterungen beziehen sich auf Druckvorgänge, bei denen eine Drucksubstanz (beispielsweise Tinte oder Toner) auf ein Druckmedium (beispielsweise Papier) aufgebracht wird. Alternativ können auch andere Druckvorgänge verwendet werden, die Daten auf eine andere Weise drucken als die, bei der eine Drucksubstanz auf ein Druckmedium aufgebracht wird, beispielsweise durch die Beaufschlagung eines wärmeempfindlichen Druckmediums mit Wärme (z. B. bei einem Thermodrucker), die Beaufschlagung von lichtempfindlichen Medien mit Licht, die Änderung einer elektrischen Ladung (z. B. E-Papier) usw.
  • Die obigen Erörterungen beziehen sich auch auf Module eines Druckers, die Daten einem anderen Modul zur Verfügung stellen. Daten können auf vielerlei Weisen zur Verfügung gestellt werden, beispielsweise durch ein Senden einer Datenstruktur, die die Daten umfaßt, an ein anderes Modul (z. B. Weiterleiten des Moduls als Parameter beim Aufrufen eines Prozesses oder einer Prozedur des Moduls), Senden einer Angabe, wo die Webseitendaten angeordnet sind, an ein anderes Modul (z. B. einen Zeiger auf die Daten in dem Speicher des Druckers), Senden einer Angabe, daß die Webseite an einer vorbestimmten Stelle zur Verfügung steht (beispielsweise an einer bestimmten Adresse in dem Speicher des Druckers) und so weiter.

Claims (6)

  1. Verfahren, das in einer Druckvorrichtung implementiert ist, die einen Cache-Speicher (284, 166) zum Speichern einer Mehrzahl von Netzdokumenten umfasst, wobei das Verfahren folgende Schritte aufweist: Empfangen (302) einer Anforderung, ein Netzdokument zu drucken; Prüfen (304), ob das Netzdokument in einem druckbereiten Format in dem Cache-Speicher vorliegt; und falls das Netzdokument in dem Cache-Speicher in dem druckbereiten Format vorliegt, Erhalten (310) des Netzdokuments von dem Cache-Speicher zum Drucken, und andernfalls Erhalten (306) des Netzdokuments von einer entfernten Quelle und Konvertieren (232) des Netzdokuments in ein druckbereites Format zum Drucken.
  2. Verfahren gemäß Anspruch 1, mit folgenden Schritten vor dem Empfangen einer Anforderung: Empfangen (208), von einer Rechenvorrichtung, einer Adresse eines Netzdokuments, die unabhängig von einer Anforderung, das Netzdokument zu drucken, empfangen wird; Wiedererlangen (210) des Netzdokuments von einer Dokumentenquelle; Konvertieren (216) des Netzdokuments in ein druckbereites Format; und Sichern (218) des konvertierten Netzdokuments in dem Cache-Speicher, so daß der Cache-Speicher Netzdokumente in einem druckbereiten Format enthält.
  3. Verfahren gemäß Anspruch 2, das ferner folgende Schritte aufweist: auf einen Empfang der Adresse des Netzdokuments hin, Prüfen (212) des Cache-Speichers, um zu bestimmen, ob sich ein druckbereites Dokument, das dem Netzdokument entspricht, bereits in dem Cache-Speicher befindet; falls sich ein dem Netzdokument entsprechendes druckbereites Dokument bereits in dem Cache-Speicher befindet, Prüfen (212), ob das druckbereite Dokument überholt ist; und Umgehen (212, 214) des Wiedererlangens, Konvertierens und Sicherns, falls sich ein dem Netzdokument entsprechendes druckbereites Dokument bereits in dem Cache-Speicher befindet und das dem Netzdokument entsprechende druckbereite Dokument nicht überholt ist.
  4. Verfahren gemäß Anspruch 2 oder 3, das ferner folgende Schritte aufweist: Unterhalten (248) einer Aufzeichnung jeder empfangenen Adresse; Empfangen (254) einer Anforderung, einen Satz von Netzdokumenten, auf die durch die Rechenvorrichtung zugegriffen wird, zu drucken; und Drucken (256) der Aufzeichnung ansprechend auf die Anforderung, den Satz von Netzdokumenten, auf die durch die Rechenvorrichtung zugegriffen wird, zu drucken.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem das Netzdokument sowohl einen statischen Teil als auch einen dynamischen Teil umfaßt, und das ferner ein Erhalten (312) des statischen Teils von dem Cache-Speicher zum Drucken und ein Erhalten (312) des dyna mischen Teils von der entfernten Quelle zum Drucken umfaßt.
  6. System, das folgende Merkmale aufweist: eine Schnittstelle (148), die konfiguriert ist, um Daten über ein Netz zu senden und zu empfangen; ein Browsing-Modul (158), das konfiguriert ist, um über die Schnittstelle von einer entfernten Rechenvorrichtung eine Adresse einer Webseite, auf die durch die entfernte Rechenvorrichtung zugegriffen wird, zu empfangen, und das ferner konfiguriert ist, um die Webseite von einer entfernten Quelle wiederzuerlangen; ein oder mehrere zusätzliche Module (160, 162), die konfiguriert sind, um die wiedererlangte Webseite von dem Browsing-Modul (158) zu empfangen, die Webseite in ein druckbereites Dokument zu konvertieren und das druckbereite Dokument zu speichern; und eine Druckmaschine (168), die konfiguriert ist, um über die Schnittstelle (148) von der entfernten Rechenvorrichtung eine Anforderung, die Webseite zu drucken, zu empfangen, um zu prüfen (304), ob das Dokument in einem druckbereiten Format gespeichert ist, um das Dokument zu drucken, falls das Dokument in dem druckbereiten Format gespeichert ist, und um andernfalls das Netzdokuments von einer entfernten Quelle zu erhalten, in ein druckbereites Format zu konvertieren und zu drucken, wobei die Anforderung, die Webseite zu drucken, unabhängig von der Adresse der Webseite, auf die zugegriffen wird, ist.
DE10251553A 2001-11-05 2002-11-05 Verfahren und System zum Drucken von Netzdokumenten Expired - Fee Related DE10251553B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/008,073 2001-11-05
US10/008,073 US7535583B2 (en) 2001-11-05 2001-11-05 Printer-based pre-ripping and caching of network documents

Publications (2)

Publication Number Publication Date
DE10251553A1 DE10251553A1 (de) 2003-05-22
DE10251553B4 true DE10251553B4 (de) 2005-03-03

Family

ID=21729666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10251553A Expired - Fee Related DE10251553B4 (de) 2001-11-05 2002-11-05 Verfahren und System zum Drucken von Netzdokumenten

Country Status (2)

Country Link
US (1) US7535583B2 (de)
DE (1) DE10251553B4 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3907187B2 (ja) * 2002-07-31 2007-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Saxパーサー、saxパーサー用方法、及びプログラム
JP4208528B2 (ja) * 2002-09-13 2009-01-14 キヤノン株式会社 情報処理装置、機能拡張プログラム、それをコンピュータ読み取り可能に記憶した記憶媒体、情報処理方法
US7391529B2 (en) * 2003-01-15 2008-06-24 Xerox Corporation Apparatus and method for managing and using reusable document components during the process of dynamic document construction
JP2004336487A (ja) * 2003-05-08 2004-11-25 Ricoh Co Ltd ファクシミリ装置、プログラム及び記憶媒体
CA2525398C (en) * 2003-05-13 2014-03-11 Corestreet, Ltd. Efficient and secure data currentness systems
JP2005004629A (ja) * 2003-06-13 2005-01-06 Hitachi Ltd ページ生成方法及びその装置
US9098475B2 (en) 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US7652798B2 (en) * 2003-09-30 2010-01-26 Toshiba Corporation System and method for storing of print job data
US8368950B2 (en) * 2003-10-06 2013-02-05 Marvell International Technology Ltd. Method of pre-processing data on a host machine for a host-based print system
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
GB2423613A (en) * 2005-02-25 2006-08-30 Canon Europa Nv Document print management
JP2006323456A (ja) * 2005-05-17 2006-11-30 Canon Inc 画像処理装置および画像処理システムおよびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US7698321B2 (en) * 2005-09-30 2010-04-13 At&T Intellectual Property I, L.P. Methods, systems, and products for updating web content
JP4277861B2 (ja) * 2006-02-23 2009-06-10 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、その制御プログラム、および、その制御方法
US8526032B2 (en) 2006-03-31 2013-09-03 Ricoh Production Print Solutions LLC Concurrent IPDS and non-IPDS print processing
JP2008040991A (ja) * 2006-08-09 2008-02-21 Nec Corp 印刷システム,印刷方法並びに印刷用プログラム
US20080144076A1 (en) * 2006-10-27 2008-06-19 Martin Boliek Systems and methods for serving documents from a multifunction peripheral
US8395794B2 (en) * 2007-02-15 2013-03-12 Xerox Corporation System for maintaining a cache of printer-readable prioritized content
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US9369604B2 (en) 2007-03-28 2016-06-14 Ricoh Co., Ltd. Mechanism for speculative printing
US20080309962A1 (en) * 2007-06-12 2008-12-18 Xerox Corporation System and method for content-based alternate imaging
KR20090020980A (ko) * 2007-08-24 2009-02-27 삼성전자주식회사 단말장치, 화상형성장치 및 이들을 포함하는 인쇄 시스템과인쇄 방법
WO2009073195A1 (en) * 2007-12-04 2009-06-11 Dnp Photo Imaging America Corp. Predictive packager for digital image processing
JP2011035724A (ja) * 2009-08-03 2011-02-17 Canon Inc 情報処理装置、データ処理方法およびプログラム
US9047030B2 (en) * 2010-04-29 2015-06-02 Hewlett-Packard Development Company, L.P. Caching network service resources
US20130083351A1 (en) * 2011-09-30 2013-04-04 Konica Minolta Laboratory U.S.A., Inc. Method and system for managing print on demand jobs by maintaining customer order records with content identification of printed articles
US9052854B2 (en) * 2012-03-30 2015-06-09 Xerox Corporation Parallel printing system
CN103853505B (zh) * 2012-12-03 2017-07-28 北大方正集团有限公司 一种打印文件的方法、装置及打印设备
US9577889B1 (en) 2013-01-29 2017-02-21 Amazon Technologies, Inc. Managing page-level usage data
US9438694B1 (en) 2013-01-29 2016-09-06 Amazon Technologies, Inc. Managing page-level usage data
US9398071B1 (en) 2013-01-29 2016-07-19 Amazon Technologies, Inc. Managing page-level usage data
WO2016105334A1 (en) * 2014-12-22 2016-06-30 Hewlett-Packard Development Company, L.P. Providing a print-ready document
JP6786408B2 (ja) * 2017-01-24 2020-11-18 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
EP3616045A4 (de) 2017-04-25 2020-12-09 Hewlett-Packard Development Company, L.P. Druckzwischenspeicherung
JP7091115B2 (ja) * 2018-04-04 2022-06-27 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
US20230185860A1 (en) * 2021-12-13 2023-06-15 Relativity Oda Llc Queue Optimization in Cloud Computing

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615315A (en) * 1989-03-07 1997-03-25 Canon Kabushiki Kaisha Output apparatus
US6209048B1 (en) * 1996-02-09 2001-03-27 Ricoh Company, Ltd. Peripheral with integrated HTTP server for remote access using URL's
JPH11134125A (ja) 1997-10-27 1999-05-21 Canon Inc 画像形成装置、画像形成方法および記憶媒体
JP3772504B2 (ja) * 1998-01-08 2006-05-10 セイコーエプソン株式会社 ネットワークプリンタ及びネットワーク印刷方法
US6519048B1 (en) * 1998-04-28 2003-02-11 Canon Kabushiki Kaisha Image forming apparatus, image forming method, and storage medium storing computer readable program therein
US6157930A (en) * 1998-09-24 2000-12-05 Acceleration Software International Corporation Accelerating access to wide area network information in mode for showing document then verifying validity
GB2342197A (en) * 1998-09-30 2000-04-05 Xerox Corp Alerting users of mobile computing devices to document changes
US6975421B1 (en) * 1999-08-31 2005-12-13 Brother Kogyo Kabushiki Kaisha Print system capable of reprint print data stored in memory of print control device
US7003667B1 (en) * 1999-10-04 2006-02-21 Canon Kabushiki Kaisha Targeted secure printing
US7171373B2 (en) * 1999-10-21 2007-01-30 International Business Machines Corporation Database driven workflow management system for generating output material based on customer input
US6938202B1 (en) * 1999-12-17 2005-08-30 Canon Kabushiki Kaisha System for retrieving and printing network documents
US6816944B2 (en) * 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
EP1143695A3 (de) * 2000-03-29 2004-01-21 Canon Kabushiki Kaisha Regelverfahren für Bildverarbeitungsgerät mit Verbindung zu Computernetzwerk
JP3444269B2 (ja) * 2000-05-19 2003-09-08 セイコーエプソン株式会社 ネットワーク上のコンテンツを編集して印刷するネットワークプリンタ及びネットワーク上のコンテンツ印刷方法
JP3744313B2 (ja) * 2000-06-06 2006-02-08 ノーリツ鋼機株式会社 画像プリント装置および方法、画像をプリントするためのプログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに、画像管理システム
US6738768B1 (en) * 2000-06-27 2004-05-18 Johnson William J System and method for efficient information capture
US20020054324A1 (en) * 2000-06-29 2002-05-09 Yuji Okada Web print system and accouting method thereof
US6973456B1 (en) * 2000-08-10 2005-12-06 Ross Elgart Database system and method for organizing and sharing information
JP2002200827A (ja) * 2000-11-06 2002-07-16 Ricoh Co Ltd 画像形成装置、画像形成方法およびその方法をコンピュータに実行させるプログラム
US7253919B2 (en) * 2000-11-30 2007-08-07 Ricoh Co., Ltd. Printer with embedded retrieval and publishing interface
JP2002182866A (ja) * 2000-12-13 2002-06-28 Fujitsu Ltd ネットワーク環境における印刷制御方法、プリントサーバ、クライアント、および記録媒体
US6907118B2 (en) * 2001-02-13 2005-06-14 At&T Corp. Method and system for facilitating call-related activities
US6945717B2 (en) * 2001-05-15 2005-09-20 Fuji Xerox Co., Ltd. Printer, printer system, printer control method, and program therefor
US6985249B2 (en) * 2001-06-25 2006-01-10 Xerox Corporation Variable data printing with optimized cache
US7142318B2 (en) * 2001-07-27 2006-11-28 Hewlett-Packard Development Company, L.P. Printing web page images via a marked proof sheet
US6772943B2 (en) * 2002-02-22 2004-08-10 Softmed Systems, Inc. System and method for document storage management
US7014374B2 (en) * 2002-09-25 2006-03-21 Seiko Epson Corporation Printing apparatus and printing method for performing pre-communication with an external device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP 11134125 A, Abstract gemäß PAJ (CDROM) und elektronische Übersetzung *
MERZ, Thomas: Gereralüberholung. In: iX 6/1997, S.114-119 *

Also Published As

Publication number Publication date
US20030086098A1 (en) 2003-05-08
DE10251553A1 (de) 2003-05-22
US7535583B2 (en) 2009-05-19

Similar Documents

Publication Publication Date Title
DE10251553B4 (de) Verfahren und System zum Drucken von Netzdokumenten
DE69835658T2 (de) Netzwerkdrucker und Verfahren
DE10235439B4 (de) Verfahren, System und computerlesbares Medium zum privaten Drucken eines Dokuments auf einem Drucker
DE69834074T2 (de) Drucker, der einen Netzwerkrechner beinhaltet und Rechnernetzwerk-System, das diesen verwendet
DE10236188B4 (de) Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst
DE69934468T2 (de) Druckersystem und Drucker die Druckdaten wiederverwenden
DE10236190B4 (de) Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments
DE60123327T2 (de) Bilddruckvorrichtung und -Verfahren, computerlesbares Speichermedium, das ein Programm zum Ausdrucken von Bildern speichert, Bildverwaltungssystem, und Datenverwaltungsgerät
DE60125913T2 (de) Datenübertragungsverfahren und vorrichtung
DE69833923T2 (de) Datenübertragung mit Datenvorschau
DE60203571T2 (de) Druckvorrichtung und dessen Verfahren zum Aktualisieren der Betriebsdaten
DE10309241A1 (de) Drucken mit variablen Daten unter Verwendung einer dynamischen Ausschießvorlage
DE10236189B4 (de) Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist
DE10027222A1 (de) Druckauftragsverarbeiten in einem Druckernetz unter Verwendung von ausgewählten Druckerattributen
DE10310337A1 (de) Bilderzeugungs-Vorrichtung und Bilderzeugungs-Steuerverfahren
DE10212634B4 (de) Verfahren zum Betreiben eines Druckers und computerlesbares Medium mit Anweisungen zur Ausführung des Verfahrens
DE60033164T2 (de) Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System
DE10236182B4 (de) Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments gemäß einer vorbestimmten Druckspezifikation
EP1760647B1 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE10224791B4 (de) Netzwerkadressierbare Vorrichtung, Computercode und Verfahren zum Fernzugreifen und Drucken von Dokumenten
DE102021102043A1 (de) Informationsverarbeitungsgerät, Steuerungsverfahren und Programm dafür, und Serversystem, das fähig ist, mit dem Informationsverarbeitungsgerät zu kommunizieren
DE10197251T5 (de) Verfahren und Dienst zur vermittelten Aufbereitung
DE102019127989A1 (de) Verfahren und systeme zur handhabung des drucks grossformatiger objekte
DE10335124B4 (de) Drucksystem, Druckdatenerzeugungsvorrichtung des Drucksystems, Druckverfahren, Programm zum Betreiben der Druckdatenerzeugungsvorrichtung
DE102004047326B4 (de) Verfahren und System zum Übermitteln von Dokumentenbearbeitungsaufträgen von einem Client zu einem Gerätes zum Bearbeiten eines Dokumentenbearbeitungsauftrages über ein Netzwerk

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8327 Change in the person/name/address of the patent owner

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

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee