-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf ein Druckersystem
und im Besonderen auf eine Technik, die die Interpretation eines
in einer Seitenbeschreibungssprache geschriebenen Druckauftrags
durch Bestimmung der Seitenbeschreibungssprache, in welcher der
Druckauftrag geschrieben ist, ermöglicht.
-
Personalcomputer
sind auf den Schreibtischen der meisten Büroarbeiter alltäglich geworden. Typischerweise
ist es beabsichtigt, viele der Arbeitsergebnisse solcher Computer
mittels eines Druckers unter Verwendung digitaler abbildender Technologie in
einen Ausdruck umzusetzen.
-
Das
Unternehmen Xerox® Corp. vertreibt gegenwärtig einen
Server für
eine Druckervorrichtung, wobei dieser Server als der DocuTech® Netzwerkserver
bezeichnet wird ("DocuTech
Network Server" ist ein
Markenzeichen der Xerox Corp.). Dieser Server ist dafür eingerichtet,
einen in einer ersten Seitenbeschreibungssprache ("PDL") geschriebenen Auftrag, wie
z. B. Postscript® ("PS")
oder die Hewlett Packard Druckersteuerungssprache ("HP-PCL"), in eine zweite
PDL zu übersetzen,
wie z. B. Interprees, um den Auftrag auf einem Xerox-kompatiblen
Druckergerät auszudrucken.
Im Herzen des Servers sind zwei Interpreter, wobei einer von diesen
zum Übersetzen von
PS eingerichtet ist und der andere von diesen zum Übersetzen
von HP-PCL eingerichtet ist. Jeder Interpreter beinhaltet Software,
welche entweder von Adobe® Systems Inc. oder Peerless® Corp.
geschrieben ist, um den Übersetzungsprozess
zu ermöglichen.
-
Eine
PDL ist eine Methode zum Beschreiben von Druckseiten in einem druckerunabhängigen Format.
Eine PDL errichtet eine Schnittstelle zwischen einem Druckertreiber
oder Client und einem Druckerserver oder Drucker. Die folgenden
Verweise sind in dem Gebiet der Seitenbeschreibungssprachen einschlägig bekannt:
- PostScript® Language
Reference Manual
- Second Edition
- Addision-Wesley Publishing Co.
- 1990
- PCL 5 Printer Language
- Technical Reference Manual
- Hewlett Pacard Co.
- 1990
-
Wie
in dem oben zitierten Stand der Technik angemerkt, kann die Steuerung
und Software für Drucker
in einem System oder in einer Netzwerkumgebung in dem Drucker selber
sein. Üblicherweise kann
jedoch ein großer
Teil der Bedienung der Druckersystemintegrationssoftware in dem
mit dem System verbundenen Druckerserver (typischerweise ein alleinstehender,
aber zweckbestimmter Kleinrechner oder PC) vorhanden sein. Der Server
wirkt typischerweise als ein Druckerpuffer („Spooler") zum Puffern der ihm zugesendeten Aufträge sowie
als ein Seitenbeschreibungssprache-Zerleger („Decomposer") zum Konvertieren
der PDL-Dateien (z. B. "InterpressTM" oder "PostScript®") zu bitweisen Dateien
für die
Anwendung auf einen Drucker.
-
Der
elektronische Druckerstandard beinhaltet einen speziellen Befehlssatz
für das
Drucken in einem Standard zur digitalen Dokumentendarstellung. Der
InterpressTM-Standard zum Darstellen von Druckseiten
wird von einer großen
Auswahl von anderen Produkten der Xerox Corp. unterstützt. Der Druckerservice
versteht und verarbeitet die von einem Arbeitsplatzrechner empfangenen
InterpressTM-Befehle und wandelt sie in
ein von dem Drucker verstandenes Format um. Jede Seite einer "InterpressTM"-Vorlage
kann unabhängig
von anderen interpretiert werden. Dies erlaubt es einem Benutzer, leicht
neue Vorlagen aus bestehenden zu erstellen und es erlaubt dem Drucker,
von jeder Vorlage, die er erhält,
selektiv Seiten zu drucken.
-
Obwohl
ein "formatierender
Druckerservice" vielleicht
keinen Drucker direkt angeschlossen hat, kann er so ziemlich das
Gleiche ausführen
wie ein Druckerservice, der einen Drucker angeschlossen hat. Der
typische hauptsächliche
Unterschied ist das Übertragen
einer InterpressTM-Vorlage in ein vom Drucker
verstandenes internes Format. Der formatierende Druckerservice erstellt
eine zweite InterpressTM-Vorlage, welche genau das gleiche Bild darstellt,
allerdings in einer Untermenge von InterpressTM, welche direkt von
dem bestimmten Drucker oder Zieldrucker verarbeitet werden kann.
Diese zweite Interpress-Vorlage wird daraufhin zu dem Zieldrucker
des formatierenden Druckerservices zum Verarbeiten und Drucken übertragen.
-
Arbeitsplatzrechner
im Netzwerk mit Konvertierungssoftware können mit dem Druckerservice
zusammenwirken. Diese Software läuft
automatisch ab, wenn Benutzer verlangen, dass ein Dokument gedruckt
wird. Es konvertiert das von dem Arbeitsplatzrechner verwendete
Dokumentenformat in eine InterpressTM-Vorlage,
welche zu dem Druckerservice übertragen
wird. Dieser Transfer wird von einem Netzwerk-Warteschlangen-Untersystem umgesetzt, welches
das Druckprotokoll und Schnittstellen mit einer internen Druckennrarteschleife
für das
Verfolgen der Interpress-Vorlagen ausführt. Der Benutzer kann den
Status eines Druckauftrags und seinen Platz in der Warteschleife
sehen, indem er eine Anfrage über das
Druckerserverendgerät
oder an dem Arbeitsplatzrechner stellt. Sobald das Dokument ausgedruckt
wurde, kann der Druckerservice die InterpressTM-Vorlage löschen.
-
In
US-A-5,226,112 wird ein Druckauftrag von einem Client-Arbeitsplatzrechner
zu einem Druckerserver übertragen,
in dem ein Zentralprozessor mit einem Coprozessor verbunden ist,
wobei der Coprozessor einen Interpreter für das Übersetzen der eingehenden PDL
in eine PDL aufweist, welche mit einem oder mehreren verfügbaren Druckern
kompatibel ist. Wenn der Interpreter in dem Coprozessor unfähig ist,
die eingehende PDL zu übersetzen,
dann veranlasst der Zentralprozessor, dass der Interpreter mit einem
gespeicherten Interpreter getauscht wird, wobei der gespeicherte
Interpreter geeignet ist, die eingehende PDL zu übersetzen.
-
EP-A-0558804
(zitiert unter Artikel 54(3) und (4) EPÜ) bezieht sich auf ein Druckersystem,
welches auf eine Vielzahl von Eingabesprachen anspricht, und in
welchem die Sprache eines eingehenden Datenblocks sowohl durch die
Analyse der Syntax als auch des Kontexts erkannt wird. Der Spracherkennungsvorgang
beinhaltet eine Vielzahl von Wählmodulen,
wobei jedes von diesen speziell der Analyse einer erwarteten Druckersprache
zugewiesen ist. Ein Entscheidemodul empfängt von jedem dieser Wählmodule
Ausgabesignale und entscheidet, basierend auf den Eingabesignalen
dieser Wählmodule,
die wahrscheinlichste Identität
der empfangenen Sprache. Der Entscheider weist dann eine Verarbeitungseinheit
an, auf eine syntaktische Decodiersoftware zuzugreifen, welche es
ihr erlaubt, die entschiedene Sprache zu interpretieren und auszuführen.
-
WO-A-9204672
beschreibt ein Verfahren und System zum Anpassen der Softwarebefehlssprache
eines Computers an eine Druckersprache, wobei die Natur, Beschaffenheit
und Häufigkeit
eines von Computersoftware erzeugten Datenstroms abgetastet wird,
um die bestimmte Sprache, in der der Computer arbeitet, zu bestimmen.
Zum Abtasten ist eine Vielzahl von Zeichenzählern beinhaltet, und auf deren
Ausgabe basierend entscheidet ein Vergleicher, ob genügend Daten
abgetastet wurden, um eine Sprachbestimmung durch eine nachfolgende Sprachbestimmungsstufe
zu ermöglichen
oder nicht.
-
EP-A-0332779
bezieht sich auf ein Druckersystem, in welchem eine Steuercodebeurteilungseinheit,
abhängig
von in einem Eingangsdatenpuffer gehaltenen Daten, aus einer Vielzahl
von Codegruppen eine entsprechende auswählt. Die Auswahl wird durch
einen Vergleich zwischen den Daten in dem Datenpuffer und den Gruppen
von Zeichensteuercodes in einer wägenden Weise durchgeführt, wobei numerische
Werte erhalten werden, die die Wahrscheinlichkeit ausdrücken, dass
die gegebenen Daten in eine der speziellen Codegruppen fällt. Schließlich wird
die Gruppe ausgewählt,
von der der maximale numerische Wert erhalten wird.
-
EP-A-0469974
verweist auf einen Drucker, der einen Mikroprozessor mit einem residenten
Algorithmus und eine Vielzahl von durch statistische Techniken erhaltene
Datensätzen
umfasst, welche darin zum Analysieren eines abgegriffenen Teils
von einem Eingabedatenstroms gespeichert ist, um die Druckersteuerungssprache,
in der der Datenstrom geschrieben ist, zu identifizieren. Die kennzeichnenden
Datensätze
umfassen statistische Daten, welche die Wahrscheinlichkeit des Auftretens
kurzer Abfolgen von Zeichen, einzeln oder in Kombination, in Druckaufträgen widerspiegelt,
die in einer gegebenen Druckerkontrollsprache codiert sind.
-
Es
ist Aufgabe der vorliegenden Erfindung, ein verbessertes System
und Verfahren zum Bestimmen der Seitenbeschreibungssprache, in der
ein Druckauftrag geschrieben ist, zur Verfügung zu stellen.
-
Diese
Aufgabe wird gelöst
durch den Gegenstand der unabhängigen
Hauptansprüche.
-
Bevorzugte
Ausführungsformen
der vorliegenden Erfindung sind Gegenstand der Unteransprüche.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird ein Druckersystem zum Erstellen von
Druckkopien von einem Druckauftrag, welcher in einer aus einer Vielzahl
von Seitenbeschreibungssprachen geschrieben ist, wobei der Druckauftrag
die Form eines Druckauftragsdatenstroms annimmt, zur Verfügung gestellt,
wobei das System umfasst: eine Vielzahl von Analyseeinheiten zur
Analyse der Seitenbeschreibungssprache und zum Abtasten des Druckauftragsdatenstroms,
wobei jede Analyseeinheit ein Informationssignal ausgibt, welches
Information bezüglich
des Druckauftragsdatenstroms liefert; und einen Filter, der jedes
der Informationssignale empfängt,
zum Verarbeiten der Informationssignale und zum Ausgeben eines gefilterten Signals,
welches die Seitenbeschreibungssprache anzeigt, in der der Druckauftrag
geschrieben ist.
-
Ein
Druckersystem gemäß einer
bevorzugten Ausführungsform
der Erfindung kann weiterhin einen Druckerserver zum Interpretieren
der Seitenbeschreibungssprache des Druckauftrags umfassen, um den
Druckauftrag für
das Drucken aufzubereiten. Besagte Vielzahl von Analyseeinheiten
zur Analyse der Seitenbeschreibungssprache und besagter Filter können wirkend
mit besagtem Druckserver verbunden sein. Der Filter kann programmierbar
sein und kann Kriterien für
die Verarbeitung der Informationssignale beinhalten, wobei eines
der Kriterien von besagtem Server programmiert wird.
-
Ein
Druckersystem gemäß einer
bevorzugten Ausführungsform
der Erfindung kann weiterhin eine Eingabequelle zum Erzeugen des
Druckauftrags und zum Übertragen
des Druckauftragsdatenstroms zu der besagten Vielzahl von Seitenbeschreibungssprache-Einheiten umfassen.
Der Filter kann programmierbar sein und kann Kriterien für die Verarbeitung
der Informationssignale umfassen, wobei besagte Eingabequelle Mittel
zum Aufheben eines der Kriterien enthält.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung wird ein Druckersystem zur Verfügung gestellt, in welchem der
Druckauftragsdatenstrom eine Vielzahl von Operatoren enthält, die
kennzeichnend sind für
die Seitenbeschreibungssprache, in welcher der Druckauftrag geschrieben
ist, und Gruppen von gewählten
Operatoren einer Verteilung folgen, worin ein Bestimmtheitsfaktor,
variierend als eine Funktion der Verteilung, von einer der besagten Analyseeinheiten
ausgegeben wird. Eine Ausführungsform
der Erfindung umfasst ein System, in welchem die Seitenbeschreibungssprache
des Druckauftrags eine aus einer Vielzahl von Versionen sein kann,
wobei der Bestimmtheitsfaktor als eine Funktion von der Version
der Seitenbeschreibungssprache, die der Druckauftrag annimmt, variiert.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird ein Verfahren zur Bestimmung der Seitenbeschreibungssprache,
in welcher ein Druckauftrag geschrieben ist, zur Verfügung gestellt,
wobei der Druckauftrag in einer aus einer Vielzahl von Seitenbeschreibungssprachen
geschrieben ist und die Form eines Druckauftragsdatenstroms annimmt,
wobei das Verfahren die Schritte umfasst: Kommunizieren des Druckauftragsdatenstroms
zu einer Vielzahl von Analyseeinheiten zur Analyse der Seitenbeschreibungssprache;
Erzeugen einer Vielzahl von Informationssignalen aus der Vielzahl
von Analyseeinheiten, wobei jedes der Informationssignale Information
bezüglich
des Druckauftragsdatenstroms liefert; Übertragen der Informationssignale
zu einem Filter; und Verarbeiten der Informationssignale durch das
Filter zur Erzeugung eines gefilterten Signals, das die Seitenbeschreibungssprache
anzeigt, in welcher der Druckauftrag geschrieben ist. Ein Verfahren
gemäß der Erfindung kann
weiterhin den Schritt des Übertragens
des gefilterten Signals zu einer Druckauftrags-Übersetzungseinheit umfassen,
welche die Seitenbeschreibungssprache des Druckauftrags in eine
andere Seitenbeschreibungssprache übersetzt.
-
Nur
als ein Beispiel wird eine Ausführungsform
der Erfindung mit Bezug auf die beiliegenden Figuren beschrieben,
in welchen:
-
1 eine schematische Darstellung
eines Druckersystems ist, welche eine Vielzahl von Client-Arbeitsplatzrechnern
enthält,
die mit einem Drucker durch einen Druckserver verbunden sind;
-
2 eine schematische Darstellung
eines Druckauftrags und dessen Inhalts ist;
-
3 eine Darstellung eines
Formats einer elektronischen Auftragskarte ist;
-
4 ein schematisches Blockdiagramm des
Druckers und des Druckerservers ist;
-
5 eine schematische Darstellung
einer Speicherkarte zum Interpretieren einer Seitenbeschreibungssprache
ist;
-
6 ein Blockdiagramm darstellt,
welches eine Anordnung zum Analysieren eines Druckauftragsdatenstroms
und zum Bestimmen der Seitenbeschreibungssprache, in welcher der
entsprechende Druckauftrag geschrieben ist, zeigt;
-
7 ein Flussdiagramm darstellt,
welches eine Ausführung
für den
Gebrauch mit der Analyseanordnung von 6 veranschaulicht;
und
-
8 eine grafische Darstellung
einer von einer Analyseeinheit von 6 ausgegebenen
Abtastverteilung darstellt.
-
1 zeigt eine Druckanordnung,
welche allgemein mit der Ziffer 10 bezeichnet wird. Die Druckanordnung 10 beinhaltet
eine Vielzahl von fernen Eingabequellen wie z. B. PCs, Arbeitsplatzrechner,
etc. (auf die hier als Arbeitsplatzrechner 14 Bezug genommen
wird), gekoppelt mit einem Server 25 mittels einem oder
mehreren Netzwerken 20. Die Arbeitsplatzrechner 14 beinhalten
einen Anzeigebildschirm 15 vom CRT-Typ, zusammen mit einer
Tastatur und einer Maus zum Eingeben von Programmierbefehlen, Bilddaten,
etc. Bildschirm 15, welcher ein Berührungsbildschirm sein kann,
zeigt verschiedene Auswahlprogramme für Aufträge, Operatoranweisungen, Nachrichten,
etc. an. Der Server 25 ist wiederum durch eines oder mehrere
Netzwerke 28 an ein oder mehrere Druckersysteme 35 gekoppelt.
Obwohl verschiedene Netzwerke 20, 28 gezeigt werden,
kann stattdessen ein einzelnes Netzwerk verwendet werden.
-
Bezugnehmend
auf 2 werden elektronische
Auftragskarten 60 oder Teile davon an den individuellen
Arbeitsplatzrechnern 14 erzeugt, wobei jede Auftragskarte
aus einer Auftragsspezifikation 62 und einer in einer PDL
ausgedrückten
Druckdatendatei 63 besteht. Die Auftragsspezifikation 62 hat
die Form einer Client-Server-Auftragskarte 64, welche Anweisungen
zum Leiten, Handhaben und Verarbeiten des Auftrags 62 aufweist.
Wie aus der unten stehenden Diskussion deutlich werden wird, ist
in der bevor zugten Ausführungsform
der vorliegenden Erfindung die PDL der Druckdatendatei 63 entweder
in PostScript® ("PS") oder Hewlett Packard's Druckersteuerungssprache
("HP-PCL") geschrieben. Die Aufträge in der
Druckdatendatei 63 liegen in elektronischer Form vor, bestehend
aus Bildsignalen oder Bildpunkten, die z. B. durch Einscannen von
gedruckten Dokumenten und Konvertieren der Dokumentenbilder zu Bildsignalen
oder Bildpunkten oder direkt von einer Tastatur erzeugt sind, aus
einem Speicher genommen sind, oder die aus Seitenformat und/oder grafischen
Ausgabebefehlen bestehen, wobei alles in einer der bevorzugten PDL-Codierungen
codiert ist. Der Inhalt der Auftragsdateien wird normalerweise komprimiert,
um die Bandbreite zu erhöhen
und die Menge des benötigten
Speicherplatzes zu reduzieren. Die Bildsignale, Bildpunkte oder
PDL-Anweisungen
in der Druckdatendatei 63 sind als elektronische Dokumente
oder Seiten zum Drucken auf einem Druckmedium wie z. B. Stapelpapier
oder Einzelblätter
angeordnet.
-
Die
Programmieranweisungen in der Client-Server-Auftragskarte 64,
welche die Auftragsdatei 60 begleitet, können die
Auswahl des Druckers in dem Fall, dass viele Drucker zum Auswählen in
dem Druckersystem 35 für
den Client oder Benutzer zur Verfügung stehen, beinhalten. Sobald
ein Druckersystem 35 Drucker mit verschiedenen Merkmalen, Funktionen,
Geschwindigkeiten, etc. beinhaltet, kann es notwendig sein, dass
der Client den zu benutzenden Drucker anfänglich so auswählt, dass
eine Client-Server-Auftragskarte 64 mit
den für
diesen Drucker zur Verfügung
stehenden Auswahlprogrammen auf dem Arbeitsplatzrechner 14 des
Client angezeigt werden kann, wie es in EP-A-0,529,818 ausführlicher beschrieben
ist. Während
des Druckvorgangs überträgt der Server 25 die
Druckinstruktionen von der Client-Server-Auftragskarte 64 zu
dem ausgewählten Druckersystem.
-
Unter
Bezug auf 3 kann die
Client-Server-Auftragskarte 64 ein ASCII-Format annehmen. Zusätzlich können bei
Anwendung von geeigneter Client UI-Schnittstellendialogsoftware Auswahloptionen
des Druckauftrags auf dem Anzeigebildschirm 15 angezeigt
werden, so dass der Benutzer über
die Druckauswahloptionen, die für
das Programmieren eines Druckauftrags zur Verfügung stehen, in Kenntnis gesetzt
werden kann. Beispiele von Anzeigen von Client-Server-Auftragskarten
sind in US-Patent
Nr. 5,226,112 gezeigt. Der Client füllt die Client-Server-Auftragskarte
an dem Arbeitsplatzrechner interaktiv aus, indem er die Auswahloptionen
unter Verwendung der Arbeitsplatzrechnermaus, der Tastatur, etc.
elektronisch trifft. Es sollte anerkannt werden, dass die Anweisungen
der Client-Server-Auftragskarte nicht nur die Druckprogrammieranweisungen für den Druckauftrag
selber umfassen, sondern auch Leit- und Handhabungsanweisungen für den Server 25.
Die vervollständigte
Client-Server-Auftragskarte 64 ist
zusammen mit dem Auftrag in der Druckdatendatei 63 in der
Auftragsdatei 60 vereinigt.
-
Die
Client-Server-Auftragskarte beinhaltet Information bezüglich einer
Druckdateispezifikation für
den Druckauftrag 60. In der veranschaulichten Ausführungsform
von 3 ist die Spezifikation
der Druckdatei mit folgenden Parametern bezeichnet: "%XRXsourceFile" und "%XRXdestination". Die Bedeutung der
Druckdateispezifikation für
die vorliegende Beschreibung wird nachstehend detaillierter erläutert.
-
Der
Server 25 umfasst eine beliebige für das Empfangen von Auftragsdateien 60 von
den Arbeitsplatzrechnern über
das Netzwerk 20 geeignete Schnittstelle mit der Möglichkeit,
auf die Anweisungen der begleitenden Client-Server-Auftragskarte
für die
Verarbeitung des Auftrags zuzugreifen und diese zu decodieren. Der
Server 25 beinhaltet vorzugsweise einen Leiterplattenspeicher
mit einer Kapazität, die
für das
temporäre
Speichern der Auftragsdateien, deren Verarbeitung durch das Druckersystem 35 anhängig ist,
geeignet ist. Der Leiterplattenspeicher des Printmanagers kann groß genug
sein, um die Langzeitspeicherung der Auftragsdateien oder von Teilen der
Auftragsdateien zu unterstützen.
Alternativ können
ein oder mehrere ferne Speicher 42 (1) für diesen
Zweck zur Verfügung
gestellt werden.
-
Das
Druckersystem 35 kann einen oder mehrere elektronische
Hochgeschwindigkeitsdrucker 50 zur Verarbeitung von Aufträgen gemäß der Anweisungen,
die durch die jede Auftragsdatei begleitende Client-Server-Auftragskarte
eingegeben werden, umfassen. Obwohl ein einzelner Drucker 50 gezeigt
ist, können
viele Drucker entweder an einem einzelnen zentralen Ort oder an
verschiedenen entfernten Orten vorgesehen sein. Drucker 50 kann
z. B. ein xerografisch basierter Drucker des Typs sein, der in US-Patent
Nr. 5,170,340 gezeigt und beschrieben ist. In anderen betrachteten
Implementationen der bevorzugten Ausführungsform kann der Drucker 50 andere
bekannte Druckertypen wie z. B. Tintenstrahl, Ionograph, LED usw.
umfassen.
-
Mit
Bezug auf 4 wird die
Struktur des Servers 25 und des Druckersystems 35 detaillierter erläutert. In
der bevorzugten Ausführungsform
der Erfindung wird eine Austauschtechnik („swapping") durch eine mit der Ziffer 70 bezeichneten
Anordnung erreicht. Die Software, die zum Betreiben der Anordnung 70 verwendet
wird, wird nachstehend als die "Druckservice-Anwendung" bezeichnet. Die
Anordnung beinhaltet einen Zentralprozessor („host processor") 72, eine
Beschleunigungs-Coprozessorkarte (ACP) 74 und eine Plattenspeichereinrichtung 76. In
einem Beispiel ist der Zentralprozessor ein IBM PC-AT-System, welches
einen ISA (Industry Standard Architecture)-Bus oder einen EISA (Extended Industry
Standard Architecture)-Bus für
das Annehmen der ACP-Karte aufweist. Der Zentralprozessor 72 kann
für den
Betrieb in einer Netzwerkumgebung konfiguriert sein. Wenn der Zentralprozessor 72 für den Netzwerkbetrieb
konfiguriert ist, ist es vorzugsweise Novell® zertifiziert
für Netware
386TM.
-
In
der bevorzugten Ausführungsform
umfasst die ACP-Karte 74 die folgenden Hauptblöcke:
- – 80960CA
Mikroprozessor
- – Zentralsystem
ISA-Schnittstelle
- – Erweiterte
Bus-Schnittstelle
- – Speicher
(16 Megabyte)
- – Programmierbarer
Nur-Lese-Speicher
- – Taktgeber/Zähler
- – 256
Byte EEPROM Leiterplattenidentifikation
-
Der
Zentralprozessor 72 ist fähig, Daten zu und von dem ACP-Speicher
durch ein 128 KB gleitendes gemeinsames Speichertenster („sliding shared
memory window")
zu übertragen.
Der ACP 74 kann ebenso einen kleinen Teil des IO-Adressraums des
Zentralprozessors verwenden. Beim Schreiben auf einen IO-Datenanschluss
des ACP 74 ist der Zentralprozessor 72 in der
Lage, Befehle zu dem ACP 74 zu senden. Umgekehrt ist der
Zentralprozessor 72 beim Lesen des 10-Datenanschlusses
in der Lage, Bestätigungsnachrichten
von dem ACP 74 zu empfangen. Diese Nachrichten sind typischerweise
1 Byte lang und werden zum Synchronisieren der gegenwärtigen Datenübertragungen
in dem gemeinsamen Speicher verwendet. In der bevorzugten Ausführungsform
werden zwei 8 Bit Datenanschlüsse verwendet,
um die Synchronisierung von Tauschan fragen und Bestätigungen
zwischen dem ACP 74 und dem Zentralprozessor 72 vor
der eigentlichen Übertragung
des PDL-Zerlegercodes und der Schrift-Pufferdaten zu kommunizieren.
Diese zwei Anschlüsse werden
bezeichnet als: Zentrale-zu-Prozessor-Datenregister und Prozessor-zu-Zentrale-Datenregister ("HPDR" und "PHDR").
-
Unter
weiterer Bezugnahme auf 4 ist
die ACP-Karte 74 mit einer Speicherkarte 78-1 ,
wobei die Speicherkarte 78-1 die gesamte für das Interpretieren
einer Seitenbeschreibungssprache notwendige Software beinhaltet,
und mit dem 80960CA-Mikroprozessor
gezeigt, wobei der Mikroprozessor mit der Ziffer 80 bezeichnet
ist. In 5 ist die Speicherkarte 78-1,
welche einen Benutzerabschnitt 82 und einen Systemabschnitt 84 beinhaltet,
in größeren Einzelheiten
gezeigt. Die Speicherkarte 78-1 beinhaltet weiterhin einen
Abschnitt 86, der Register aufweist, über welche das HPDR und das
PHDR kommunizieren können
und ein Statusmerker gesetzt werden kann.
-
In
der veranschaulichten Ausführungsform von 5 umfasst der Benutzerabschnitt 82 einen Abschnitt
zum Aufbewahren eines PDL-Interpretationscodes, wobei der PDL-Interpretationscode
angepasst ist, um die Interpretation einer in einer ersten PDL wie
z. B. PS oder HP-PCL ausgedrückten
Auftragsdatei zu ermöglichen.
In der bevorzugten Ausführungsform
ist der PDL-Interpretationscode entweder von Adobe® Systems
Inc. oder Peerless® Corp. geschrieben, in
Verbindung mit Xerox® Corp., für den Gebrauch
von der Xerox® Corp.
in deren "Xerox
Production Print Services" System
("Xerox Production Print
Services" ist ein
Markenzeichen der Xerox Corp.), wobei das "Xerox Production Print Services" System vorzugsweise
einen Medienserver und einen Netzwerkserver beinhaltet. Es sollte
verstanden werden, dass der PDL-Interpretationscode die Übersetzung
der Auftragsdatei 60 von einer ersten PDL, wie z. B. PS
oder HP-PCL, in eine zweite PDL-Datei, wie z. B. Interpress, ermöglicht.
Der Fachmann wird anerkennen, dass eine solche Übersetzung, in einem Beispiel,
unter Verwendung eines konfigurierbaren PDL-Interpreters, wie z.
B. von Adobe® Systems
Inc. oder Peerless® Corp. hergestellt, zur
Reduzierung von Text und Grafik der Auftragsdatei 60 in
ein bitweises Bild und anschließendes
Ausdrücken
des bitweisen Bildes in der Form einer zweiten PDL, wie z. B. Interpress,
erreicht werden kann.
-
Es
sollte anerkannt werden, dass nur ausgewählte Teile des Systemabschnitts 84 gezeigt
sind. Vom Fachmann wird anerkannt werden, dass in der Praxis verschiedene Softwarewerkzeuge
wie Tabellen, z. B. Fehler, Systemablauf- und Steuerungstabellen,
Zeitgeber und deren Steuerung, Steuerimplementationen, Speicherorte
und Stapel typischerweise in der Implementation des Systemabschnitts 84 verwendet
werden.
-
Bezugnehmend
auf 4 und 5 beinhaltet der Mikroprozessor 80 einen
Abschnitt 90, der Information bezüglich des internen Zustands
des Mikroprozessors 80 enthält, wobei eine solche Information 1K
Daten, Register und Zustände
enthält.
Diese Information kann selektiv in einer Schicht 92 des
Systemabschnitts 84 gespeichert werden.
-
Mit
speziellem Bezug auf 4 ist
der Zentralprozessor 72 mit dem Plattenspeicherlaufwerk 76 in
einer Weise gekoppelt, dass, wie untenstehend näher erläutert, Teile der Speicherkarte 78-1 in
der Form einer Kontextdatei dorthin übertragen werden können. Vorzugsweise
sind in einem beliebigen Moment ein oder mehrere PDL-Kontextdateien,
die mit der Ziffer 94 bezeichnet sind, in dem Plattenspeicherlaufwerk 76 gespeichert.
Bei der Verarbeitung einer Auftragsdatei 60 kann die interpretierte
PDL-Datei zu einer aus einer Vielzahl von Ausgabe- oder Druckgeräten übermittelt
werden. In der bevorzugten Ausführungsform
wird die interpretierte PDL-Datei in Interpress ausgedrückt und
zu dem Drucker 50 übertragen,
welcher einen Zerleger 96 und ein Bildausgabeendgerät (IOT) 98 enthält. Beispielsweise
ist der Zerleger 96 von einem Typ, der in einem Xerox®4045-Drucker ("Xerox 4045" ist ein von
Xerox verwendetes Markenzeichen) verwendet wird und verwendet Software
von einer wie in "Interpress:
The Source Book" beschriebenen
Art. Zusätzlich
kann das IOT jedwede geeignete Druckmaschine sein, wie z. B. die
oben erwähnte
DocuTechTM Druckmaschine. Beim Betreiben
des Druckes wird die vom Zentralprozessor 72 interpretierte
Ausgabe zu dem Zerleger 96 übertragen, wo sie für das Drucken
durch das IOT 98 in Grafik und Text zerlegt wird. Weitere
Details bezüglich
der in der Anordnung 70 implementierten Tauschtechnik sind
in US-A-5,226,112 erläutert.
-
Bezugnehmend
auf 4 und 6 ist eine Anordnung zum
Bestimmen der PDL eines Druckauftrags, welcher von einem der Arbeitsplatzrechner 14 zu
der Anordnung 70 übermittelt
ist, mit der Ziffer 200 bezeichnet. In der dargestellten
Ausführungsform
der 6 wird der Inhalt
von einem der Netzwerkbusse 20, d. h. der Inhalt eines
PDL-Datenstroms,
von verschiedenen PDL-Analyseeinheiten 202-1, 202-2, 202-3,..... 202-N (nachfolgend
zusammengenommen als "PDL-Analyseeinheiten 202" bezeichnet)
abgetastet. Wie bekannt, nimmt jeder Druckauftrag die Form eines
Datenstroms, welcher in einer PDL ausgedrückt ist, an, wobei die PDL
Bilddaten und Anweisungen für
den Druckauftrag darstellt. In der bevorzugten Ausführungsform
ist jede PDL-Analyseeinheit fähig,
einen oder mehrere PDL-Typen zu analysieren. Die PDL-Typen können, neben
anderen, PCL, PS, Interpress und TIFF umfassen. Vorzugsweise ist eine
der PDL-Analyseeinheiten 202 ein
Binärfilter, welcher,
wie untenstehend näher
erläutert,
in Verbindung mit einem Filter verwendet wird. Wie vom Fachmann
anerkannt werden wird, umfassen die PDL-Analyseeinheiten ein modulares
System und Einheiten können
gemäß der Anforderungen
des Druckersystems 10 hinzugefügt oder entfernt werden.
-
Zur
Einfachheit der Erläuterung
ist die PDL-Bestimmungsanordnung mit nur einem der Netzwerkbusse 20 gezeigt,
aber in der Praxis würde die
Anordnung 200 mit mehreren Bussen verwendet werden. Zusätzlich ist
die Anordnung 200 als ein Multitasking-Modell gezeigt,
in welchem der Datenstrom parallel abgetastet wird, aber in anderen
Ausführungsformen
kann der Datenstrom mit einem Pipeline-Modell, d. h. in Reihe abgetastet
werden, ohne dass das Konzept, auf dem die offenbarte Ausführungsform
basiert, beeinträchtigt
wird. Schließlich kann
die Anordnung 200 ein von der Anordnung 70 getrennter
Service sein, obwohl die Anordnung 200 als Teil der Anordnung 70 gezeigt
ist.
-
In
einer bevorzugten Ausführungsform
stellt jede der PDL-Analyseeinheiten einen Prozessor dar, auf welchem
eine für
die Analyse des Druckauftragsdatenstroms geeignete Software implementiert
ist. In einer anderen Ausführungsform
könnten
die PDL-Analyseeinheiten
in einem Multitasking-System implementiert sein. Wenn der Druckauftragsdatenstrom
von den Einheiten 202 analysiert wird, übertragen letztere Informationssignale
I0, I1, I2,.... IN jeweils an
einen Filter („Arbiter") 204.
-
Beispielsweise
ist der Filter (oder "Filter
mit bester Schätzung", „best guess
arbiter") ein logisches
Bauelement oder Redundanzfilter, welches für das Auflösen von Zweideutigkeiten und
dem Setzen von Präzedenzen
eingerichtet ist. Der Filter 204 ist vorzugsweise in einer
Kombination aus Hardware und Software implementiert und programmierbar.
In der bevorzugten Ausführungsform
kommuniziert der Filter mit verschiedenen von den Informationssignalen
abweichenden Eingangssignalen. Diese anderen Eingangssignale, deren
Bedeutung nachfolgend näher
beschrieben ist, beinhalten ein "Client"-Signal, ein "Client-Regeln"-Signal, ein "Client-Aufhebesignal", ein "Server-Regeln"-Signal und ein "Server-Aufhebesignal". Der primäre Zweck
des Filters ist es, die Informationssignale zu verarbeiten, um ein
die PDL des Druckauftragsdatenstroms anzeigendes Signal auszugeben.
Wie in 6 gezeigt, wird
dieses Ausgangssignal von dem Filter 204 zu dem Zentralprozessor 72 übertragen.
-
Mit
Bezug auf 7 wird nun
die Implementation der PDL-Bestimmungsanordnung 200 erörtert. In
Schritt 208 wird der Druckauftragsdatenstroms den PDL-Analyseeinheiten 202 übermittelt.
Einige PDLs werden durch ihre "Signaturen" erkannt, während andere
PDLs durch die Häufigkeit
des Auftretens von bestimmten "Operatoren" erkannt werden. Interpress
ist ein Beispiel für
eine durch eine Signatur gekennzeichnete PDL, während PS eine durch das häufige Auftreten
von bestimmten Operatoren gekennzeichnete PDL ist. Ein Beispiel
für eine
Interpress-Signatur ist ein „Header" genannter Kopfstück-Anteil,
wie in dem oben erwähnten "Interpress: The Source
Book" erläutert. In
Schritt 210 prüft
jede Einheit den Datenstrom, um die Präsenz einer Signatur zu bestimmen.
Wenn eine Signatur präsent
ist, dann wird die PDL-Signatur in ein Informationssignal übersetzt
und zu dem Filter 204 im Schritt 220 übertragen.
Für jedwede
Einheiten ohne Signatur wird eine negative Anzeige von jeder PDL-Analyseeinheit, die
die PDLs nur auf der Basis einer Signatur identifiziert, zu dem
Filter 204 gesendet.
-
Wenn
das Verfahren zu Schritt 214 fortschreitet, tasten die
nicht-signaturbasierten PDL-Analyseeinheiten
den Druckauftragsdatenstrom nach entweder einem einzelnen Operator
oder nach Operatorgruppen ab. Nach dem Abtasten eines Druckauftragsdatenstroms
mit Operatoren in einem ausgewählten
Intervall kann von mindestens einer der PDL-Analyseeinheiten, welche eine PDL basierend
auf Operatorinhalt erkennt, eine Verteilung entwickelt werden, die
die Häufigkeit
des Auftretens von einem Operator oder ausgewählten Operatorgruppen anzeigt.
In 8 ist eine Abtastwert-Verteilung für eine der
operatorbasierten Einheiten gezeigt. In dieser Abtastwert-Verteilung
korrespondiert eine Operatorgruppe mit dem Maximum der Verteilungskurve.
Vorzugsweise wird ein Bestimmtheitsfaktor, welcher mit einem speziellen
PDL-Typ oder einem speziellen PDL-Versionstyp korrespondiert, in Anbetracht
der in dem Maximum der Verteilungskurve abgebildeten Operatorgruppe
zugewiesen. Es folgt ein Beispiel zur Darstellung der Weise, in
welcher diese Zuweisungstechnik funktioniert.
-
Beispielsweise
kann die PDL eine von drei ähnlichen
Typen sein, nämlich
PS Level 1, PS Level 2 oder Binärer
PS Level 2. Unter der Annahme, dass nur eine PDL- Analyseeinheit zur Erkennung der drei ähnlichen
Typen bereitgestellt ist, wird dann einer von vier ausgeprägten Bestimmtheitsfaktoren
für die eine
Einheit zugewiesen. Das heißt,
dass ein Nullfaktor zugewiesen wird, wenn keine der drei ähnlichen Typen
zu dieser einen PDL-Analyseeinheit übermittelt wird, und dass einer
von drei Bestimmtheitsfaktoren zugewiesen wird, wenn eine von den
drei ähnlichen
Typen zu dieser einen PDL-Analyseeinheit übermittelt wird.
-
In
einer anderen Ausführungsform
würde für jeden
denkbaren von der PDL-Bestimmungsanordnung 200 zu
analysierenden PDL-Typ oder jede denkbare PDL-Version eine PDL-Analyseeinheit zur Verfügung gestellt.
In dieser Ausführungsform
wäre kein
Bedarf für
die Zuweisung von Bestimmtheitsfaktoren. Stattdessen würde jede
PDL-Analyseeinheit einfach anzeigen, ob durch sie eine bestimmte
PDL durchgegangen ist oder nicht.
-
Für die Ausführungsform,
in welcher Bestimmtheitsfaktoren entsprechend zugewiesen werden,
werden korrespondierende Informationssignale in Schritt 218 erzeugt.
In Schritt 220 wird jedes der von den PDL-Analyseeinheiten 202 erzeugten
Informationssignale von den PDL-Analyseeinheiten 202 ausgegeben,
und in Schritt 224 werden die Informationssignale zu dem
Filter 204 übermittelt.
Die Signale werden dann in dem Filter 204 konjunktiv gefiltert (Schritt 224),
wobei der Filter in der bevorzugten Ausführungsform einen Satz von Regeln
enthält.
Beispielsweise können
die Regeln fest programmiert sein und in einem anderen Beispiel
können
die Regeln durch die Verwendung einer Konfigurationsdatei dynamisch
programmiert werden. Vorzugsweise nimmt die Konfigurationsdatei
eine hierarchische Form des in EP-A-0,588,513 gezeigten Typs an.
-
Da
die Konfigurationsdatei programmierbar ist, kann der Filter in Übereinstimmung
mit den Bedürfnissen
von verschiedenen Clients leicht geändert werden. Beispielsweise
werden die Regeln durch die Verwendung der Server-Regeln-Leitung
oder der Client-Regeln-Leitungen
dynamisch rekonfiguriert. Das heißt, dass durch die Verwendung
der Regeln-Leitungen ein Clientbenutzer oder ein Serververwalter die
gegenwärtigen
Regeln an einer geeigneten Anzeige anzeigen kann und dass ausgewählte Regeln gelöscht und
durch andere erwünschte
Regeln ersetzt werden können.
Durch die Benutzung der Regeln-Eingaben kann der Clientbenutzer
oder Serververwalter Druckprioritäten und/oder Druckpräzedenzen
festlegen. Zum Beispiel kann der Zerleger 96 (4) fähig sein, Interpress IMG (das
ist eine für das
Xerox®4000-Druckerformat
geschriebene PDL), aber nicht Interpress RES (das ist eine mit der
Software von Xerox®6085, nämlich Viewpoint,
kompatible PDL) zu verarbeiten. In Kenntnis dieser Beschaffenheit
könnte
der Serververwalter eine Regel hinzufügen, die es ermöglicht,
dass eine Fehlernachricht zu jedem bestimmten Client übermittelt
wird, der einen in Interpress RES geschriebenen Druckauftrag zu der
Anordnung 70 senden möchte.
-
Durch
die Verwendung von Aufhebesignalen können der Clientbenutzer oder
der Serververwalter den Filterbetrieb darauf ausrichten, mit verschiedenen
bestehenden Gegebenheiten des Druckersystems zu korrespondieren.
Beispielsweise kann der Client wünschen,
einen bestimmten PS-Auftrag als nicht interpretierten Text auszudrucken,
so dass er an diesem bestimmten Druckauftrag eine Diagnose durchführen kann.
Unter gewissen Umständen
würde das
Druckersystem den bestimmten PS-Auftrag interpretieren und Druckkopien
davon erzeugen. Durch Verwendung des Client-Aufhebesignals kann der
Client den Server anleiten, die Interpretation des bestimmten PS-Auftrags
zu umgehen, so dass der Auftrag als nicht interpretierter Text anstelle
von PS ausgedruckt wird.
-
Wie
oben erwähnt,
kann eine der PDL-Analyseeinheiten ein Binärfilter enthalten, wobei das
Binärfilter
für das
Sammeln von statistischen Daten bezüglich des Auftretens von Binärzeichen
in dem Druckauftragsdatenstrom verwendet wird. Dies verhindert,
dass ein Datenstrom die Anordnung 200 dazu verleitet, einen
Druckauftrag als in PS geschrieben anzuzeigen, wenn es z. B. vorkommt,
dass er ein ausführbares
Bild enthält,
welches lediglich gültige PS-Operatoren
oder Schlüsselwörter beinhaltet.
Das Filter 204 nutzt die Kenntnis des Binärfilters über den Druckauftragsdatenstrom,
um zu verhindern, dass es PS anzeigt, wenn der Druckauftragsdatenstrom
weniger als einen ausgewählten
Prozentsatz an Binärzeichen
enthält.
Beispielsweise beträgt
der ausgewählte
Prozentsatz 50 %.
-
Nachdem
die Informationssignale in dem Filter 204 gefiltert wurden,
wird das resultierende gefilterte Signal, welches die PDL des Druckauftragsdatenstroms
anzeigt, zu dem Zentralprozessor 72 übertragen. Wie oben erläutert, nutzt
der Zentralprozessor diese Information, um sicherzustellen, dass
sich der geeignete PDL-Interpreter in dem Beschleunigungs-Coprozessor
befindet (4).
-
Zahlreiche
Eigenschaften der vorliegenden offenbarten Ausführungsform werden vom Fachmann
anerkannt werden.
-
Ein
Merkmal der offenbarten Ausführungsform
ist die effiziente PDL-Analyse eines Druckauftragsdatenstroms. Das
heißt,
dass ein Druckauftragsdatenstrom gleichzeitig von einer Vielzahl
von PDL-Analyseeinheiten abgetastet wird, und jede dieser Einheiten
fähig ist,
Information über
den in dem Datenstrom enthaltenen PDL-Typ gleichzeitig zur Verfügung zu
stellen. Außerdem
können
die PDL-Analyseeinheiten Information bezüglich der Präsenz eines
PDL-Versionstyps in dem Druckauftragsdatenstrom liefern.
-
Ein
anderes Merkmal der offenbarten Ausführungsform ist Flexibilität und Erweiterbarkeit.
Das heißt,
dass je nach Wunsch PDL-Analyseeinheiten in modularer Weise hinzugefügt und entfernt
werden können.
Zum Anpassen an solche Hinzufügungen oder
Entfernungen kann ein Filter, welcher zum Filtern der Ausgabewerte
der PDL-Analyseeinheiten verwendet
wird, mit einer programmierbaren Konfigurationsdatei ausgestattet
werden.
-
Noch
ein weiteres Merkmal der offenbarten Ausführungsform ist die Abstimmbarkeit
des Filters. Der Filter kommuniziert mit verschiedenen Eingängen, welche
zur dynamischen Programmierung des Filters genutzt werden können. Außerdem ermöglichen
es die Eingänge,
dass der Filter Aufhebesignale von einem Clientbenutzer oder einem
Serververwalter erhält.